From 11320c9ccd50d84a29beb8ab0784914d6875d70f Mon Sep 17 00:00:00 2001 From: blondfrogs Date: Mon, 13 Jan 2020 11:37:39 -0700 Subject: [PATCH 1/5] Allow for scanning for message channels to fail --- src/init.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index d1361e7ec0..59b6ccbd42 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -1937,9 +1937,11 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler) if (!pmessagechanneldb->ReadFlag("init", found)) { uiInterface.InitMessage(_("Init Message Channels - Scanning Asset Transactions")); std::string strLoadError; - if (!ScanForMessageChannels(strLoadError)) - return InitError(strLoadError); - pmessagechanneldb->WriteFlag("init", true); + if (!ScanForMessageChannels(strLoadError)) { + LogPrintf("%s : Failed to scan for message channels, %s\n", __func__, strLoadError); + } else { + pmessagechanneldb->WriteFlag("init", true); + } } } #endif From 9a4751976b6e2ac1c30e063bb0aa5040155b3295 Mon Sep 17 00:00:00 2001 From: hans-schmidt Date: Sat, 27 Jul 2019 23:22:17 +0000 Subject: [PATCH 2/5] Add Doxygen docs generation --- Makefile.am | 17 ++++++++++++++++- configure.ac | 8 +++++++- doc/developer-notes.md | 14 +++++++++++++- src/net_processing.h | 2 +- src/netbase.cpp | 26 +++++++++++++------------- src/policy/fees.h | 6 +++--- src/primitives/transaction.h | 2 +- src/txmempool.h | 14 +++++++------- 8 files changed, 61 insertions(+), 28 deletions(-) diff --git a/Makefile.am b/Makefile.am index 243fd59520..cfc8d02e6f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -292,6 +292,21 @@ CLEANFILES = $(OSX_DMG) $(RAVEN_WIN_INSTALLER) DISTCHECK_CONFIGURE_FLAGS = --enable-man -clean-local: +doc/doxygen/.stamp: doc/Doxyfile FORCE + $(MKDIR_P) $(@D) + $(DOXYGEN) $^ + $(AM_V_at) touch $@ + +if HAVE_DOXYGEN +docs: doc/doxygen/.stamp +else +docs: + @echo "error: doxygen not found" +endif + +clean-docs: + rm -rf doc/doxygen + +clean-local: clean-docs rm -rf coverage_percent.txt test_raven.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP) rm -rf test/functional/__pycache__ diff --git a/configure.ac b/configure.ac index 9d2f1a0be7..fe18a47e95 100644 --- a/configure.ac +++ b/configure.ac @@ -94,6 +94,12 @@ AC_PATH_TOOL(READELF, readelf) AC_PATH_TOOL(CPPFILT, c++filt) AC_PATH_TOOL(OBJCOPY, objcopy) +AC_PATH_PROG(DOXYGEN, doxygen) +if test -z "$DOXYGEN"; then + AC_MSG_WARN([Doxygen not found]) +fi +AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"]) + AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files) # Enable wallet @@ -1242,7 +1248,7 @@ AC_SUBST(PROTOBUF_LIBS) AC_SUBST(QR_LIBS) AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist test/config.ini]) AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh]) -AC_CONFIG_FILES([doc/Doxyfile]) +AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([doc/Doxyfile])]) AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py]) AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py]) AC_CONFIG_LINKS([test/util/raven-util-test.py:test/util/raven-util-test.py]) diff --git a/doc/developer-notes.md b/doc/developer-notes.md index 4c2ab989e0..7c660b854a 100644 --- a/doc/developer-notes.md +++ b/doc/developer-notes.md @@ -129,9 +129,21 @@ Not OK (used plenty in the current source, but not picked up): // ``` -A full list of comment syntaxes picked up by doxygen can be found at http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html, +A full list of comment syntaxes picked up by doxygen can be found at +http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html, but if possible use one of the above styles. +The Ravencoin Doxygen documentation can be generated by running `make docs` from the top-level +directory of the repository. +That creates the documentation in the directory "doc/doxygen" and the it can be accessed by a browser at: + doc/doxygen/html/index.html +The documentation can by deleted by running `make clean-docs`. + +Before running `make docs`, you will need to install dependencies `doxygen` and `dot` (a component +of `graphviz`). For example, + on MacOS via Homebrew: `brew install doxygen --with-graphviz` + on Debian/Ubuntu: `sudo install doxygen graphviz` + Development tips and tricks --------------------------- diff --git a/src/net_processing.h b/src/net_processing.h index 9539bfab69..baf3687795 100644 --- a/src/net_processing.h +++ b/src/net_processing.h @@ -67,7 +67,7 @@ class PeerLogicValidation final: public CValidationInterface, public NetEventsIn void EvictExtraOutboundPeers(int64_t time_in_seconds); private: - int64_t m_stale_tip_check_time; //! Next time to check for stale tip + int64_t m_stale_tip_check_time; //!< Next time to check for stale tip }; struct CNodeStateStats { diff --git a/src/netbase.cpp b/src/netbase.cpp index 2f22a0a41b..a74aa3b946 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -193,10 +193,10 @@ enum SOCKSVersion: uint8_t { /** Values defined for METHOD in RFC1928 */ enum SOCKS5Method: uint8_t { - NOAUTH = 0x00, //! No authentication required - GSSAPI = 0x01, //! GSSAPI - USER_PASS = 0x02, //! Username/password - NO_ACCEPTABLE = 0xff, //! No acceptable methods + NOAUTH = 0x00, //!< No authentication required + GSSAPI = 0x01, //!< GSSAPI + USER_PASS = 0x02, //!< Username/password + NO_ACCEPTABLE = 0xff, //!< No acceptable methods }; /** Values defined for CMD in RFC1928 */ @@ -208,15 +208,15 @@ enum SOCKS5Command: uint8_t { /** Values defined for REP in RFC1928 */ enum SOCKS5Reply: uint8_t { - SUCCEEDED = 0x00, //! Succeeded - GENFAILURE = 0x01, //! General failure - NOTALLOWED = 0x02, //! Connection not allowed by ruleset - NETUNREACHABLE = 0x03, //! Network unreachable - HOSTUNREACHABLE = 0x04, //! Network unreachable - CONNREFUSED = 0x05, //! Connection refused - TTLEXPIRED = 0x06, //! TTL expired - CMDUNSUPPORTED = 0x07, //! Command not supported - ATYPEUNSUPPORTED = 0x08, //! Address type not supported + SUCCEEDED = 0x00, //!< Succeeded + GENFAILURE = 0x01, //!< General failure + NOTALLOWED = 0x02, //!< Connection not allowed by ruleset + NETUNREACHABLE = 0x03, //!< Network unreachable + HOSTUNREACHABLE = 0x04, //!< Network unreachable + CONNREFUSED = 0x05, //!< Connection refused + TTLEXPIRED = 0x06, //!< TTL expired + CMDUNSUPPORTED = 0x07, //!< Command not supported + ATYPEUNSUPPORTED = 0x08, //!< Address type not supported }; /** Values defined for ATYPE in RFC1928 */ diff --git a/src/policy/fees.h b/src/policy/fees.h index f6b3b9dca0..e9f16e2d70 100644 --- a/src/policy/fees.h +++ b/src/policy/fees.h @@ -96,9 +96,9 @@ std::string StringForFeeReason(FeeReason reason); /* Used to determine type of fee estimation requested */ enum class FeeEstimateMode { - UNSET, //! Use default settings based on other criteria - ECONOMICAL, //! Force estimateSmartFee to use non-conservative estimates - CONSERVATIVE, //! Force estimateSmartFee to use conservative estimates + UNSET, //!< Use default settings based on other criteria + ECONOMICAL, //!< Force estimateSmartFee to use non-conservative estimates + CONSERVATIVE, //!< Force estimateSmartFee to use conservative estimates }; bool FeeModeFromString(const std::string& mode_string, FeeEstimateMode& fee_estimate_mode); diff --git a/src/primitives/transaction.h b/src/primitives/transaction.h index 1fcf86bc6c..d855cf538c 100644 --- a/src/primitives/transaction.h +++ b/src/primitives/transaction.h @@ -70,7 +70,7 @@ class CTxIn COutPoint prevout; CScript scriptSig; uint32_t nSequence; - CScriptWitness scriptWitness; //! Only serialized through CTransaction + CScriptWitness scriptWitness; //!< Only serialized through CTransaction /* Setting nSequence to this value for every input in a transaction * disables nLockTime. */ diff --git a/src/txmempool.h b/src/txmempool.h index f1f71e1c0c..668d7030d7 100644 --- a/src/txmempool.h +++ b/src/txmempool.h @@ -318,13 +318,13 @@ struct TxMempoolInfo * this is passed to the notification signal. */ enum class MemPoolRemovalReason { - UNKNOWN = 0, //! Manually removed or unknown reason - EXPIRY, //! Expired from mempool - SIZELIMIT, //! Removed in size limiting - REORG, //! Removed for reorganization - BLOCK, //! Removed for block - CONFLICT, //! Removed for conflict with in-block transaction - REPLACED //! Removed for replacement + UNKNOWN = 0, //!< Manually removed or unknown reason + EXPIRY, //!< Expired from mempool + SIZELIMIT, //!< Removed in size limiting + REORG, //!< Removed for reorganization + BLOCK, //!< Removed for block + CONFLICT, //!< Removed for conflict with in-block transaction + REPLACED, //!< Removed for replacement }; class SaltedTxidHasher From 1f61f43d4a9ae37600ead2e193ffef2bd87d03d5 Mon Sep 17 00:00:00 2001 From: volbil Date: Thu, 29 Aug 2019 14:45:40 +0900 Subject: [PATCH 3/5] Fix for Boost utf8_codecvt_facet warnings on macOS --- src/fs.h | 3 +++ src/qt/guiutil.cpp | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/fs.h b/src/fs.h index 96efe52016..f785900ad6 100644 --- a/src/fs.h +++ b/src/fs.h @@ -11,7 +11,10 @@ #include #include + +#ifdef WIN32 #include +#endif /** Filesystem operations and types */ namespace fs = boost::filesystem; diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index a58503aca0..1d33809856 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -69,7 +69,9 @@ #define QTversionPreFiveEleven #endif +#ifdef WIN32 static fs::detail::utf8_codecvt_facet utf8; +#endif #if defined(Q_OS_MAC) extern double NSAppKitVersionNumber; @@ -974,12 +976,20 @@ void setClipboard(const QString& str) fs::path qstringToBoostPath(const QString &path) { +#ifdef WIN32 return fs::path(path.toStdString(), utf8); +#else + return fs::path(path.toStdString()); +#endif } QString boostPathToQString(const fs::path &path) { +#ifdef WIN32 return QString::fromStdString(path.string(utf8)); +#else + return QString::fromStdString(path.string()); +#endif } QString formatDurationStr(int secs) @@ -1125,7 +1135,7 @@ void concatenate(QPainter* painter, QString& catString, int static_width, int le static_width += dots_width; // Start concatenation loop, end loop if name is at three characters - while (catString.size() > 3) + while (catString.size() > 3) { // Get the text width of the current name #ifndef QTversionPreFiveEleven From b63a0b5bfabde0707a55a59acbfd5433ad8798ef Mon Sep 17 00:00:00 2001 From: Jon <45501389+JonPizza@users.noreply.github.com> Date: Sun, 1 Dec 2019 07:31:53 -0500 Subject: [PATCH 4/5] Add vanity address generator to tools --- assets/tools/vanity_address_gen.py | 80 ++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 assets/tools/vanity_address_gen.py diff --git a/assets/tools/vanity_address_gen.py b/assets/tools/vanity_address_gen.py new file mode 100644 index 0000000000..ba4b0fb61c --- /dev/null +++ b/assets/tools/vanity_address_gen.py @@ -0,0 +1,80 @@ +from ravenrpc import Ravencoin # pip install ravenrpc +import sys +import os +import time + +def valid_base58(s): + for c in ('0', 'O', 'l', '1'): + if c in s: + print(f'Cannot use charachter "{c}" in prefix!!') + exit() + +def success_odds(prefix, ignore_case): + odds = 1 + for letter in prefix[1:]: + if letter in ('o', 'l') or not ignore_case: + odds *= 58 + else: + odds *= 29 + return odds + +def create_rvn_inst(): + try: + rvn = Ravencoin(sys.argv[1], sys.argv[2]) + except IndexError: + print('You must provide a valid rpc username and rpc password!') + exit() + return rvn + +def get_args(): + try: + prefix = sys.argv[3] + except IndexError: + print('Missing options!\n' + 'Usage: `python gen.py `') + exit() + ignore_case = sys.argv[4] if len(sys.argv) > 4 else True + if prefix[0] != 'R': + print('Please start your prefix with an "R"\n' + 'Usage: `python gen.py `') + exit() + return prefix, ignore_case, create_rvn_inst() + +def validate_rvn(rvn): + if rvn.getinfo() == '': + print('Run ravend') + exit() + +def display_stats(count, start, addr, prefix, odds): + addr_sec = count/(time.time() - start) + os.system('cls' if os.name == 'nt' else 'clear') + print(f'Tried {count} addresses\n' + f'Seconds Spent: {time.time() - start}\n' + f'Ave. Addresses/sec: {addr_sec}\n' + f'Lastest Address: {addr}\n' + f'Prefix: {prefix}\n' + f'You have a 1 in {odds} chance per address!\n' + f'At this rate, you will find your address in ~{odds/addr_sec/60} minutes!\n' + 'To stop, press Ctrl-C', flush=True, end='') + + +def main(): + prefix, ignore_case, rvn = get_args() + validate_rvn(rvn) + valid_base58(prefix) + start = time.time() + odds = success_odds(prefix, ignore_case) + count = 0 + address = rvn.getnewaddress()['result'] + try: + while not address.lower().startswith(prefix.lower()) if ignore_case else address.startswith(prefix): + address = rvn.getnewaddress()['result'] + count += 1 + if count % 100 == 1: + display_stats(count, start, address, prefix, odds) + except KeyboardInterrupt: + exit() + print(f'\nFound an address that starts with {prefix}!\n It is saved to your wallet. Use it freely!\n{address}') + +if __name__ == '__main__': + main() From c5f2d31c372c0e6f673188a78c85aed6f6b2cc55 Mon Sep 17 00:00:00 2001 From: blondfrogs Date: Mon, 13 Jan 2020 14:34:16 -0700 Subject: [PATCH 5/5] Add user instructions at top of file --- assets/tools/vanity_address_gen.py | 9 + crash | Bin 0 -> 31 bytes venv/bin/activate | 76 + venv/bin/activate.csh | 37 + venv/bin/activate.fish | 74 + venv/bin/easy_install | 12 + venv/bin/easy_install-3.5 | 12 + venv/bin/pip | 12 + venv/bin/pip3 | 12 + venv/bin/pip3.5 | 12 + venv/bin/python | Bin 0 -> 4460272 bytes venv/bin/python3 | Bin 0 -> 4460272 bytes venv/bin/python3.5 | Bin 0 -> 4460272 bytes .../python3.5/site-packages/easy-install.pth | 2 + .../pip-19.0.3-py3.5.egg/EGG-INFO/PKG-INFO | 73 + .../pip-19.0.3-py3.5.egg/EGG-INFO/SOURCES.txt | 391 + .../EGG-INFO/dependency_links.txt | 1 + .../EGG-INFO/entry_points.txt | 5 + .../EGG-INFO/not-zip-safe | 1 + .../EGG-INFO/top_level.txt | 1 + .../pip-19.0.3-py3.5.egg/pip/__init__.py | 1 + .../pip-19.0.3-py3.5.egg/pip/__main__.py | 19 + .../pip/_internal/__init__.py | 78 + .../pip/_internal/build_env.py | 215 + .../pip/_internal/cache.py | 224 + .../pip/_internal/cli/__init__.py | 4 + .../pip/_internal/cli/autocompletion.py | 152 + .../pip/_internal/cli/base_command.py | 341 + .../pip/_internal/cli/cmdoptions.py | 809 ++ .../pip/_internal/cli/main_parser.py | 104 + .../pip/_internal/cli/parser.py | 261 + .../pip/_internal/cli/status_codes.py | 8 + .../pip/_internal/commands/__init__.py | 79 + .../pip/_internal/commands/check.py | 41 + .../pip/_internal/commands/completion.py | 94 + .../pip/_internal/commands/configuration.py | 227 + .../pip/_internal/commands/download.py | 176 + .../pip/_internal/commands/freeze.py | 96 + .../pip/_internal/commands/hash.py | 57 + .../pip/_internal/commands/help.py | 37 + .../pip/_internal/commands/install.py | 566 ++ .../pip/_internal/commands/list.py | 301 + .../pip/_internal/commands/search.py | 135 + .../pip/_internal/commands/show.py | 168 + .../pip/_internal/commands/uninstall.py | 78 + .../pip/_internal/commands/wheel.py | 186 + .../pip/_internal/configuration.py | 387 + .../pip/_internal/download.py | 971 ++ .../pip/_internal/exceptions.py | 274 + .../pip/_internal/index.py | 990 ++ .../pip/_internal/locations.py | 211 + .../pip/_internal/models/__init__.py | 2 + .../pip/_internal/models/candidate.py | 31 + .../pip/_internal/models/format_control.py | 73 + .../pip/_internal/models/index.py | 31 + .../pip/_internal/models/link.py | 163 + .../pip/_internal/operations/__init__.py | 0 .../pip/_internal/operations/check.py | 155 + .../pip/_internal/operations/freeze.py | 247 + .../pip/_internal/operations/prepare.py | 413 + .../pip/_internal/pep425tags.py | 381 + .../pip/_internal/pyproject.py | 171 + .../pip/_internal/req/__init__.py | 77 + .../pip/_internal/req/constructors.py | 339 + .../pip/_internal/req/req_file.py | 382 + .../pip/_internal/req/req_install.py | 1021 ++ .../pip/_internal/req/req_set.py | 197 + .../pip/_internal/req/req_tracker.py | 88 + .../pip/_internal/req/req_uninstall.py | 596 ++ .../pip/_internal/resolve.py | 393 + .../pip/_internal/utils/__init__.py | 0 .../pip/_internal/utils/appdirs.py | 270 + .../pip/_internal/utils/compat.py | 264 + .../pip/_internal/utils/deprecation.py | 90 + .../pip/_internal/utils/encoding.py | 39 + .../pip/_internal/utils/filesystem.py | 30 + .../pip/_internal/utils/glibc.py | 93 + .../pip/_internal/utils/hashes.py | 115 + .../pip/_internal/utils/logging.py | 318 + .../pip/_internal/utils/misc.py | 1040 +++ .../pip/_internal/utils/models.py | 40 + .../pip/_internal/utils/outdated.py | 164 + .../pip/_internal/utils/packaging.py | 85 + .../pip/_internal/utils/setuptools_build.py | 8 + .../pip/_internal/utils/temp_dir.py | 155 + .../pip/_internal/utils/typing.py | 29 + .../pip/_internal/utils/ui.py | 441 + .../pip/_internal/vcs/__init__.py | 534 ++ .../pip/_internal/vcs/bazaar.py | 114 + .../pip/_internal/vcs/git.py | 369 + .../pip/_internal/vcs/mercurial.py | 103 + .../pip/_internal/vcs/subversion.py | 200 + .../pip/_internal/wheel.py | 1095 +++ .../pip/_vendor/__init__.py | 111 + .../pip/_vendor/appdirs.py | 604 ++ .../pip/_vendor/cachecontrol/__init__.py | 11 + .../pip/_vendor/cachecontrol/_cmd.py | 57 + .../pip/_vendor/cachecontrol/adapter.py | 133 + .../pip/_vendor/cachecontrol/cache.py | 39 + .../_vendor/cachecontrol/caches/__init__.py | 2 + .../_vendor/cachecontrol/caches/file_cache.py | 146 + .../cachecontrol/caches/redis_cache.py | 33 + .../pip/_vendor/cachecontrol/compat.py | 29 + .../pip/_vendor/cachecontrol/controller.py | 367 + .../pip/_vendor/cachecontrol/filewrapper.py | 80 + .../pip/_vendor/cachecontrol/heuristics.py | 135 + .../pip/_vendor/cachecontrol/serialize.py | 186 + .../pip/_vendor/cachecontrol/wrapper.py | 29 + .../pip/_vendor/certifi/__init__.py | 3 + .../pip/_vendor/certifi/__main__.py | 2 + .../pip/_vendor/certifi/cacert.pem | 4512 +++++++++ .../pip/_vendor/certifi/core.py | 20 + .../pip/_vendor/chardet/__init__.py | 39 + .../pip/_vendor/chardet/big5freq.py | 386 + .../pip/_vendor/chardet/big5prober.py | 47 + .../pip/_vendor/chardet/chardistribution.py | 233 + .../pip/_vendor/chardet/charsetgroupprober.py | 106 + .../pip/_vendor/chardet/charsetprober.py | 145 + .../pip/_vendor/chardet/cli/__init__.py | 1 + .../pip/_vendor/chardet/cli/chardetect.py | 85 + .../pip/_vendor/chardet/codingstatemachine.py | 88 + .../pip/_vendor/chardet/compat.py | 34 + .../pip/_vendor/chardet/cp949prober.py | 49 + .../pip/_vendor/chardet/enums.py | 76 + .../pip/_vendor/chardet/escprober.py | 101 + .../pip/_vendor/chardet/escsm.py | 246 + .../pip/_vendor/chardet/eucjpprober.py | 92 + .../pip/_vendor/chardet/euckrfreq.py | 195 + .../pip/_vendor/chardet/euckrprober.py | 47 + .../pip/_vendor/chardet/euctwfreq.py | 387 + .../pip/_vendor/chardet/euctwprober.py | 46 + .../pip/_vendor/chardet/gb2312freq.py | 283 + .../pip/_vendor/chardet/gb2312prober.py | 46 + .../pip/_vendor/chardet/hebrewprober.py | 292 + .../pip/_vendor/chardet/jisfreq.py | 325 + .../pip/_vendor/chardet/jpcntx.py | 233 + .../pip/_vendor/chardet/langbulgarianmodel.py | 228 + .../pip/_vendor/chardet/langcyrillicmodel.py | 333 + .../pip/_vendor/chardet/langgreekmodel.py | 225 + .../pip/_vendor/chardet/langhebrewmodel.py | 200 + .../pip/_vendor/chardet/langhungarianmodel.py | 225 + .../pip/_vendor/chardet/langthaimodel.py | 199 + .../pip/_vendor/chardet/langturkishmodel.py | 193 + .../pip/_vendor/chardet/latin1prober.py | 145 + .../pip/_vendor/chardet/mbcharsetprober.py | 91 + .../pip/_vendor/chardet/mbcsgroupprober.py | 54 + .../pip/_vendor/chardet/mbcssm.py | 572 ++ .../pip/_vendor/chardet/sbcharsetprober.py | 132 + .../pip/_vendor/chardet/sbcsgroupprober.py | 73 + .../pip/_vendor/chardet/sjisprober.py | 92 + .../pip/_vendor/chardet/universaldetector.py | 286 + .../pip/_vendor/chardet/utf8prober.py | 82 + .../pip/_vendor/chardet/version.py | 9 + .../pip/_vendor/colorama/__init__.py | 6 + .../pip/_vendor/colorama/ansi.py | 102 + .../pip/_vendor/colorama/ansitowin32.py | 257 + .../pip/_vendor/colorama/initialise.py | 80 + .../pip/_vendor/colorama/win32.py | 152 + .../pip/_vendor/colorama/winterm.py | 169 + .../pip/_vendor/distlib/__init__.py | 23 + .../pip/_vendor/distlib/_backport/__init__.py | 6 + .../pip/_vendor/distlib/_backport/misc.py | 41 + .../pip/_vendor/distlib/_backport/shutil.py | 761 ++ .../_vendor/distlib/_backport/sysconfig.cfg | 84 + .../_vendor/distlib/_backport/sysconfig.py | 788 ++ .../pip/_vendor/distlib/_backport/tarfile.py | 2607 ++++++ .../pip/_vendor/distlib/compat.py | 1120 +++ .../pip/_vendor/distlib/database.py | 1339 +++ .../pip/_vendor/distlib/index.py | 516 ++ .../pip/_vendor/distlib/locators.py | 1295 +++ .../pip/_vendor/distlib/manifest.py | 393 + .../pip/_vendor/distlib/markers.py | 131 + .../pip/_vendor/distlib/metadata.py | 1094 +++ .../pip/_vendor/distlib/resources.py | 355 + .../pip/_vendor/distlib/scripts.py | 417 + .../pip/_vendor/distlib/util.py | 1756 ++++ .../pip/_vendor/distlib/version.py | 736 ++ .../pip/_vendor/distlib/wheel.py | 988 ++ .../pip/_vendor/distro.py | 1197 +++ .../pip/_vendor/html5lib/__init__.py | 35 + .../pip/_vendor/html5lib/_ihatexml.py | 288 + .../pip/_vendor/html5lib/_inputstream.py | 923 ++ .../pip/_vendor/html5lib/_tokenizer.py | 1721 ++++ .../pip/_vendor/html5lib/_trie/__init__.py | 14 + .../pip/_vendor/html5lib/_trie/_base.py | 37 + .../pip/_vendor/html5lib/_trie/datrie.py | 44 + .../pip/_vendor/html5lib/_trie/py.py | 67 + .../pip/_vendor/html5lib/_utils.py | 124 + .../pip/_vendor/html5lib/constants.py | 2947 ++++++ .../pip/_vendor/html5lib/filters/__init__.py | 0 .../filters/alphabeticalattributes.py | 29 + .../pip/_vendor/html5lib/filters/base.py | 12 + .../html5lib/filters/inject_meta_charset.py | 73 + .../pip/_vendor/html5lib/filters/lint.py | 93 + .../_vendor/html5lib/filters/optionaltags.py | 207 + .../pip/_vendor/html5lib/filters/sanitizer.py | 896 ++ .../_vendor/html5lib/filters/whitespace.py | 38 + .../pip/_vendor/html5lib/html5parser.py | 2791 ++++++ .../pip/_vendor/html5lib/serializer.py | 409 + .../_vendor/html5lib/treeadapters/__init__.py | 30 + .../_vendor/html5lib/treeadapters/genshi.py | 54 + .../pip/_vendor/html5lib/treeadapters/sax.py | 50 + .../_vendor/html5lib/treebuilders/__init__.py | 88 + .../pip/_vendor/html5lib/treebuilders/base.py | 417 + .../pip/_vendor/html5lib/treebuilders/dom.py | 236 + .../_vendor/html5lib/treebuilders/etree.py | 340 + .../html5lib/treebuilders/etree_lxml.py | 366 + .../_vendor/html5lib/treewalkers/__init__.py | 154 + .../pip/_vendor/html5lib/treewalkers/base.py | 252 + .../pip/_vendor/html5lib/treewalkers/dom.py | 43 + .../pip/_vendor/html5lib/treewalkers/etree.py | 130 + .../html5lib/treewalkers/etree_lxml.py | 213 + .../_vendor/html5lib/treewalkers/genshi.py | 69 + .../pip/_vendor/idna/__init__.py | 2 + .../pip/_vendor/idna/codec.py | 118 + .../pip/_vendor/idna/compat.py | 12 + .../pip/_vendor/idna/core.py | 396 + .../pip/_vendor/idna/idnadata.py | 1979 ++++ .../pip/_vendor/idna/intranges.py | 53 + .../pip/_vendor/idna/package_data.py | 2 + .../pip/_vendor/idna/uts46data.py | 8205 +++++++++++++++++ .../pip/_vendor/ipaddress.py | 2419 +++++ .../pip/_vendor/lockfile/__init__.py | 347 + .../pip/_vendor/lockfile/linklockfile.py | 73 + .../pip/_vendor/lockfile/mkdirlockfile.py | 84 + .../pip/_vendor/lockfile/pidlockfile.py | 190 + .../pip/_vendor/lockfile/sqlitelockfile.py | 156 + .../pip/_vendor/lockfile/symlinklockfile.py | 70 + .../pip/_vendor/msgpack/__init__.py | 66 + .../pip/_vendor/msgpack/_version.py | 1 + .../pip/_vendor/msgpack/exceptions.py | 41 + .../pip/_vendor/msgpack/fallback.py | 977 ++ .../pip/_vendor/packaging/__about__.py | 27 + .../pip/_vendor/packaging/__init__.py | 26 + .../pip/_vendor/packaging/_compat.py | 31 + .../pip/_vendor/packaging/_structures.py | 68 + .../pip/_vendor/packaging/markers.py | 296 + .../pip/_vendor/packaging/requirements.py | 138 + .../pip/_vendor/packaging/specifiers.py | 749 ++ .../pip/_vendor/packaging/utils.py | 57 + .../pip/_vendor/packaging/version.py | 420 + .../pip/_vendor/pep517/__init__.py | 4 + .../pip/_vendor/pep517/_in_process.py | 207 + .../pip/_vendor/pep517/build.py | 108 + .../pip/_vendor/pep517/check.py | 202 + .../pip/_vendor/pep517/colorlog.py | 115 + .../pip/_vendor/pep517/compat.py | 23 + .../pip/_vendor/pep517/envbuild.py | 158 + .../pip/_vendor/pep517/wrappers.py | 163 + .../pip/_vendor/pkg_resources/__init__.py | 3171 +++++++ .../pip/_vendor/pkg_resources/py31compat.py | 23 + .../pip/_vendor/progress/__init__.py | 127 + .../pip/_vendor/progress/bar.py | 94 + .../pip/_vendor/progress/counter.py | 48 + .../pip/_vendor/progress/helpers.py | 91 + .../pip/_vendor/progress/spinner.py | 44 + .../pip/_vendor/pyparsing.py | 6452 +++++++++++++ .../pip/_vendor/pytoml/__init__.py | 4 + .../pip/_vendor/pytoml/core.py | 13 + .../pip/_vendor/pytoml/parser.py | 341 + .../pip/_vendor/pytoml/test.py | 30 + .../pip/_vendor/pytoml/utils.py | 67 + .../pip/_vendor/pytoml/writer.py | 106 + .../pip/_vendor/requests/__init__.py | 133 + .../pip/_vendor/requests/__version__.py | 14 + .../pip/_vendor/requests/_internal_utils.py | 42 + .../pip/_vendor/requests/adapters.py | 533 ++ .../pip/_vendor/requests/api.py | 158 + .../pip/_vendor/requests/auth.py | 305 + .../pip/_vendor/requests/certs.py | 18 + .../pip/_vendor/requests/compat.py | 74 + .../pip/_vendor/requests/cookies.py | 549 ++ .../pip/_vendor/requests/exceptions.py | 126 + .../pip/_vendor/requests/help.py | 119 + .../pip/_vendor/requests/hooks.py | 34 + .../pip/_vendor/requests/models.py | 953 ++ .../pip/_vendor/requests/packages.py | 16 + .../pip/_vendor/requests/sessions.py | 770 ++ .../pip/_vendor/requests/status_codes.py | 120 + .../pip/_vendor/requests/structures.py | 103 + .../pip/_vendor/requests/utils.py | 977 ++ .../pip/_vendor/retrying.py | 267 + .../pip-19.0.3-py3.5.egg/pip/_vendor/six.py | 952 ++ .../pip/_vendor/urllib3/__init__.py | 92 + .../pip/_vendor/urllib3/_collections.py | 329 + .../pip/_vendor/urllib3/connection.py | 391 + .../pip/_vendor/urllib3/connectionpool.py | 896 ++ .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../urllib3/contrib/_appengine_environ.py | 30 + .../contrib/_securetransport/__init__.py | 0 .../contrib/_securetransport/bindings.py | 593 ++ .../contrib/_securetransport/low_level.py | 346 + .../pip/_vendor/urllib3/contrib/appengine.py | 289 + .../pip/_vendor/urllib3/contrib/ntlmpool.py | 111 + .../pip/_vendor/urllib3/contrib/pyopenssl.py | 466 + .../urllib3/contrib/securetransport.py | 804 ++ .../pip/_vendor/urllib3/contrib/socks.py | 192 + .../pip/_vendor/urllib3/exceptions.py | 246 + .../pip/_vendor/urllib3/fields.py | 178 + .../pip/_vendor/urllib3/filepost.py | 98 + .../pip/_vendor/urllib3/packages/__init__.py | 5 + .../urllib3/packages/backports/__init__.py | 0 .../urllib3/packages/backports/makefile.py | 53 + .../pip/_vendor/urllib3/packages/six.py | 868 ++ .../packages/ssl_match_hostname/__init__.py | 19 + .../ssl_match_hostname/_implementation.py | 156 + .../pip/_vendor/urllib3/poolmanager.py | 450 + .../pip/_vendor/urllib3/request.py | 150 + .../pip/_vendor/urllib3/response.py | 705 ++ .../pip/_vendor/urllib3/util/__init__.py | 54 + .../pip/_vendor/urllib3/util/connection.py | 134 + .../pip/_vendor/urllib3/util/queue.py | 21 + .../pip/_vendor/urllib3/util/request.py | 118 + .../pip/_vendor/urllib3/util/response.py | 87 + .../pip/_vendor/urllib3/util/retry.py | 411 + .../pip/_vendor/urllib3/util/ssl_.py | 381 + .../pip/_vendor/urllib3/util/timeout.py | 242 + .../pip/_vendor/urllib3/util/url.py | 230 + .../pip/_vendor/urllib3/util/wait.py | 150 + .../pip/_vendor/webencodings/__init__.py | 342 + .../pip/_vendor/webencodings/labels.py | 231 + .../pip/_vendor/webencodings/mklabels.py | 59 + .../pip/_vendor/webencodings/tests.py | 153 + .../_vendor/webencodings/x_user_defined.py | 325 + .../site-packages/setuptools-40.8.0-py3.5.egg | Bin 0 -> 571891 bytes .../python3.5/site-packages/setuptools.pth | 1 + venv/lib64 | 1 + venv/pyvenv.cfg | 3 + 328 files changed, 106466 insertions(+) create mode 100644 crash create mode 100644 venv/bin/activate create mode 100644 venv/bin/activate.csh create mode 100644 venv/bin/activate.fish create mode 100755 venv/bin/easy_install create mode 100755 venv/bin/easy_install-3.5 create mode 100755 venv/bin/pip create mode 100755 venv/bin/pip3 create mode 100755 venv/bin/pip3.5 create mode 100755 venv/bin/python create mode 100755 venv/bin/python3 create mode 100755 venv/bin/python3.5 create mode 100644 venv/lib/python3.5/site-packages/easy-install.pth create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/PKG-INFO create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/SOURCES.txt create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/dependency_links.txt create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/entry_points.txt create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/not-zip-safe create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/top_level.txt create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/__main__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/build_env.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cache.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/autocompletion.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/base_command.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/cmdoptions.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/main_parser.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/parser.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/status_codes.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/check.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/completion.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/configuration.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/download.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/freeze.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/hash.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/help.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/install.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/list.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/search.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/show.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/uninstall.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/wheel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/configuration.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/download.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/exceptions.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/index.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/locations.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/candidate.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/format_control.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/index.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/link.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/check.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/freeze.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/prepare.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/pep425tags.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/pyproject.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/constructors.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_file.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_install.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_set.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_tracker.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_uninstall.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/resolve.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/appdirs.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/deprecation.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/encoding.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/filesystem.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/glibc.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/hashes.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/logging.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/misc.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/models.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/outdated.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/packaging.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/setuptools_build.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/temp_dir.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/typing.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/ui.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/bazaar.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/git.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/mercurial.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/subversion.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/wheel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/appdirs.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/_cmd.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/adapter.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/cache.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/file_cache.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/redis_cache.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/controller.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/filewrapper.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/heuristics.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/serialize.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/wrapper.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/__main__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/cacert.pem create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/core.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/big5freq.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/big5prober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/chardistribution.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/charsetgroupprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/charsetprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cli/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cli/chardetect.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/codingstatemachine.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cp949prober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/enums.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/escprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/escsm.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/eucjpprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euckrfreq.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euckrprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euctwfreq.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euctwprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/gb2312freq.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/gb2312prober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/hebrewprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/jisfreq.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/jpcntx.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langbulgarianmodel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langcyrillicmodel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langgreekmodel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langhebrewmodel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langhungarianmodel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langthaimodel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langturkishmodel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/latin1prober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcharsetprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcsgroupprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcssm.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sbcharsetprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sbcsgroupprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sjisprober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/universaldetector.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/utf8prober.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/version.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/ansi.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/ansitowin32.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/initialise.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/win32.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/winterm.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/misc.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/shutil.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/sysconfig.cfg create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/sysconfig.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/tarfile.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/database.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/index.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/locators.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/manifest.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/markers.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/metadata.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/resources.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/scripts.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/util.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/version.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/wheel.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distro.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_ihatexml.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_inputstream.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_tokenizer.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/_base.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/datrie.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/py.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_utils.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/constants.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/base.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/lint.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/optionaltags.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/sanitizer.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/whitespace.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/html5parser.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/serializer.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/genshi.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/sax.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/base.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/dom.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/etree.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/base.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/dom.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/etree.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/genshi.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/codec.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/core.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/idnadata.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/intranges.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/package_data.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/uts46data.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/ipaddress.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/linklockfile.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/mkdirlockfile.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/pidlockfile.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/sqlitelockfile.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/symlinklockfile.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/_version.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/exceptions.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/fallback.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/__about__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/_compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/_structures.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/markers.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/requirements.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/specifiers.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/utils.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/version.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/_in_process.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/build.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/check.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/colorlog.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/envbuild.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/wrappers.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pkg_resources/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pkg_resources/py31compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/bar.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/counter.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/helpers.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/spinner.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pyparsing.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/core.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/parser.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/test.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/utils.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/writer.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/__version__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/_internal_utils.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/adapters.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/api.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/auth.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/certs.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/compat.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/cookies.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/exceptions.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/help.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/hooks.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/models.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/packages.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/sessions.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/status_codes.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/structures.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/utils.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/retrying.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/six.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/_collections.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/connection.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/connectionpool.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/appengine.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/ntlmpool.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/pyopenssl.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/securetransport.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/socks.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/exceptions.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/fields.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/filepost.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/backports/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/backports/makefile.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/six.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/poolmanager.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/request.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/response.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/connection.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/queue.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/request.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/response.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/retry.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/ssl_.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/timeout.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/url.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/wait.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/__init__.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/labels.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/mklabels.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/tests.py create mode 100644 venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/x_user_defined.py create mode 100644 venv/lib/python3.5/site-packages/setuptools-40.8.0-py3.5.egg create mode 100644 venv/lib/python3.5/site-packages/setuptools.pth create mode 120000 venv/lib64 create mode 100644 venv/pyvenv.cfg diff --git a/assets/tools/vanity_address_gen.py b/assets/tools/vanity_address_gen.py index ba4b0fb61c..de1689f6bb 100644 --- a/assets/tools/vanity_address_gen.py +++ b/assets/tools/vanity_address_gen.py @@ -3,6 +3,15 @@ import os import time +# Requires ravenrpc==0.2.4 +# +# usage: +# ``` +# python vanity_address_gen.py ( rpcuser ) ( rpcpass ) ( prefix ) ( ignore_case=True ) +# ``` + + + def valid_base58(s): for c in ('0', 'O', 'l', '1'): if c in s: diff --git a/crash b/crash new file mode 100644 index 0000000000000000000000000000000000000000..fb9467be7c1d53e2d0bcbd337d06b41a22f64233 GIT binary patch literal 31 acmcc3&j11cA>a>~$9TZ;0E1#tSsnntDGV6^ literal 0 HcmV?d00001 diff --git a/venv/bin/activate b/venv/bin/activate new file mode 100644 index 0000000000..37dc941031 --- /dev/null +++ b/venv/bin/activate @@ -0,0 +1,76 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "$_OLD_VIRTUAL_PATH" ] ; then + PATH="$_OLD_VIRTUAL_PATH" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "$_OLD_VIRTUAL_PYTHONHOME" ] ; then + PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then + hash -r + fi + + if [ -n "$_OLD_VIRTUAL_PS1" ] ; then + PS1="$_OLD_VIRTUAL_PS1" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + if [ ! "$1" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelavent variables +deactivate nondestructive + +VIRTUAL_ENV="/home/anderson/Ravencoin/venv" +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/bin:$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "$PYTHONHOME" ] ; then + _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" + unset PYTHONHOME +fi + +if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then + _OLD_VIRTUAL_PS1="$PS1" + if [ "x(venv) " != x ] ; then + PS1="(venv) $PS1" + else + if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" + else + PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" + fi + fi + export PS1 +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then + hash -r +fi diff --git a/venv/bin/activate.csh b/venv/bin/activate.csh new file mode 100644 index 0000000000..5403440721 --- /dev/null +++ b/venv/bin/activate.csh @@ -0,0 +1,37 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi . +# Ported to Python 3.3 venv by Andrew Svetlov + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelavent variables. +deactivate nondestructive + +setenv VIRTUAL_ENV "/home/anderson/Ravencoin/venv" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/bin:$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + if ("venv" != "") then + set env_name = "venv" + else + if (`basename "VIRTUAL_ENV"` == "__") then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` + else + set env_name = `basename "$VIRTUAL_ENV"` + endif + endif + set prompt = "[$env_name] $prompt" + unset env_name +endif + +alias pydoc python -m pydoc + +rehash diff --git a/venv/bin/activate.fish b/venv/bin/activate.fish new file mode 100644 index 0000000000..47eaa62782 --- /dev/null +++ b/venv/bin/activate.fish @@ -0,0 +1,74 @@ +# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org) +# you cannot run it directly + +function deactivate -d "Exit virtualenv and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + functions -e fish_prompt + set -e _OLD_FISH_PROMPT_OVERRIDE + . ( begin + printf "function fish_prompt\n\t#" + functions _old_fish_prompt + end | psub ) + functions -e _old_fish_prompt + end + + set -e VIRTUAL_ENV + if test "$argv[1]" != "nondestructive" + # Self destruct! + functions -e deactivate + end +end + +# unset irrelavent variables +deactivate nondestructive + +set -gx VIRTUAL_ENV "/home/anderson/Ravencoin/venv" + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/bin" $PATH + +# unset PYTHONHOME if set +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # save the current fish_prompt function as the function _old_fish_prompt + . ( begin + printf "function _old_fish_prompt\n\t#" + functions fish_prompt + end | psub ) + + # with the original prompt function renamed, we can override with our own. + function fish_prompt + # Prompt override? + if test -n "$(venv) " + printf "%s%s%s" "$(venv) " (set_color normal) (_old_fish_prompt) + return + end + # ...Otherwise, prepend env + set -l _checkbase (basename "$VIRTUAL_ENV") + if test $_checkbase = "__" + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + printf "%s[%s]%s %s" (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) (_old_fish_prompt) + else + printf "%s(%s)%s%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) (_old_fish_prompt) + end + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" +end diff --git a/venv/bin/easy_install b/venv/bin/easy_install new file mode 100755 index 0000000000..14bcf3efbf --- /dev/null +++ b/venv/bin/easy_install @@ -0,0 +1,12 @@ +#!/home/anderson/Ravencoin/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install' +__requires__ = 'setuptools==40.8.0' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install')() + ) diff --git a/venv/bin/easy_install-3.5 b/venv/bin/easy_install-3.5 new file mode 100755 index 0000000000..853d25cdc5 --- /dev/null +++ b/venv/bin/easy_install-3.5 @@ -0,0 +1,12 @@ +#!/home/anderson/Ravencoin/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==40.8.0','console_scripts','easy_install-3.5' +__requires__ = 'setuptools==40.8.0' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('setuptools==40.8.0', 'console_scripts', 'easy_install-3.5')() + ) diff --git a/venv/bin/pip b/venv/bin/pip new file mode 100755 index 0000000000..2dcdef5982 --- /dev/null +++ b/venv/bin/pip @@ -0,0 +1,12 @@ +#!/home/anderson/Ravencoin/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip' +__requires__ = 'pip==19.0.3' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('pip==19.0.3', 'console_scripts', 'pip')() + ) diff --git a/venv/bin/pip3 b/venv/bin/pip3 new file mode 100755 index 0000000000..84c44bbe37 --- /dev/null +++ b/venv/bin/pip3 @@ -0,0 +1,12 @@ +#!/home/anderson/Ravencoin/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3' +__requires__ = 'pip==19.0.3' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('pip==19.0.3', 'console_scripts', 'pip3')() + ) diff --git a/venv/bin/pip3.5 b/venv/bin/pip3.5 new file mode 100755 index 0000000000..a51c4aed2d --- /dev/null +++ b/venv/bin/pip3.5 @@ -0,0 +1,12 @@ +#!/home/anderson/Ravencoin/venv/bin/python +# EASY-INSTALL-ENTRY-SCRIPT: 'pip==19.0.3','console_scripts','pip3.5' +__requires__ = 'pip==19.0.3' +import re +import sys +from pkg_resources import load_entry_point + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit( + load_entry_point('pip==19.0.3', 'console_scripts', 'pip3.5')() + ) diff --git a/venv/bin/python b/venv/bin/python new file mode 100755 index 0000000000000000000000000000000000000000..6c9ca95e59be37e7cee2b24958cc323f6732385a GIT binary patch literal 4460272 zcma&P2UHW^^FF)@0RvJ(5kXW!k!qnRq92veK@_n8iX{{g3y3K85{gJs#9qN5pxCiu z2Ne|+6%|pjVL`=;V!{5OyK{5ipMJCFymQWzyZdCAJ9lR8-6h%GEc71W!{_lBh47hv z4B3kh7|l`=`bK;!FS^Ar62_HLhu4lw2SyE8Re*%PE1_G8wuPEjv_h(<0<8ex%16SL zFJU(nZF{5{MXT_Tw4}fPPb72`+hOy1v-^scVZ`h{`8(okaVEZBoVkJJ6|HQpI=k|oOb!aN zWKj~|95xu;AfbmyCNfZ$@bdW*b0bj(bABk_JxS17uzfHiTAH3@rXpK!r>nMVFfT}h z5o+*cjEFHIWhKmEk|fM8L47&TK*aDw8cZ9HRK`QX%Vu18p`l`#r^rt%6fvnLLYYj= z@QwI-VwqTM=^+#Ic>-pss*R8lvni3tcxsX$2`{~piD!)5HDDm>65^eP9$zNZ)P?#I zd=QEFvXQ*x>nbThjD&>6oJlv3Fl~fMOlKh@G_cFhu~;-QDJQesfX4@oaz-o{pB9M3 zjJr@!;^()D;V%&diDl|SfnK^e25jm|L^8&~%D`hbBNi{#6$&AId_7sRn8}feg^a{N zBod2cUNV8YWfHS!mZdC7RO_I}c*&wS3HahPF~fL-@@4J#O{oY;X}O`2zZQ`;lq+4F871C*1m?O|+ct+xiO6Z#}XM$9{Gnrxs zHCvvbh$kR}0C6WTjKEVQXJi6RnF?!@*Gd?}@RLA8q%Mz=c`&YCh7vugAYH_$h#8>@ z%m*HfN+4l;G&3cTai|Sgc8$EubcIf7@IIeml7#v2nkr%}rRI8!b;lu$$^gHoa`pXU zp^)vG&yzB|bb%;G$mAGWnXTBWClg3=7!R2xBNp-*u>qs00X?J&`5S^njDfce-~@8euyx=(kO|79%2Qf2UR{Ja~JwC(;27}#wb~q zl)OyU#*a}uxC5hG#H@#CsH`eCFi=fr?x(t{R#*lwx-cI#Adc1^s{9j- zUQqUO8KZg5Od=ETlLTVE++E<;Ihk1|F>@5>=rVE%OnjlfDx>D%&S){L=W?MK3PC8~ zGn&F=2(+;S!&}1)fptmdscz1Mi}<<`t(hURbwYGs_Yo$Wd&qg47+9=$GHH}R)@CNlaFC;sf%Htf_zB2r@K*ejJk^Dx{*7COu8^aT`Uv8gkx;{M11JqAe|8jE|uG4 z`tUC9t@?snukbWCzJ87iR2P>o`4a{G-MfKMj!>dF|CD5RE0qvjGjQ`lVc7Q zXw=&sRw;?0irhmFR7Hc!RV9A)JfS+@Ks*ALn~Sh2GGd8bO;eI$+fG9ab5o`w;T@4l zWd;ICJ2C(X&rc+g!Ge6r6P#mGVIhU0N!DElMawuaq5SU2JQ)O%Cl&@VHaA2X)$y`+ zr`2tFOs^fFAG3%tm+=|C9Z%?`&X|Ka#)HvF-g?H;D96i23`?}!334Rk1u?Kt@S*5a zc??tmE0%n#WHrc{MY>S+Y-V-3$fJoTfjMn1Oocx&WNbuUMm!l$V9p4=7y*;xUjeHi z(^)3c<;(OsFgwbDWGrA_>!pi?D(PNkj5rO-V6adwg!v_twAa<}gN{UxxA0Q6JBwv9 z7{5di&!~w>_YfHsM#R`KJQrB#-w0C)E7pba%gE7N#`nqT&4^?xAHy$sGO z<%Z@Sd?6HSdA`>KJy@-Iyfa%w$?kFFT%ZO}3%CQg3%Cck4|o8040r-~3U~%+0K5P+ z0*JhZ_6^`2-~;8Fq5TZ_3iuBA2_W(d+COxgfqW2wl4eu@0)RR|13;uTw3+}dfC!)q z&AVM9%%Q{?GoA&ejjY_r~3z?Jq|bl zI0YyNoCQ<>&I2w0E&?tCt^lqAssTi9LR$l<1>6SQ1=Il)@&L9U0qOyd0nY%>0gZrH zfVY4qzy|=4X4-y&_6wi|@E!02@C)z%Mi022X|0datMz*Im2U^*ZXFat0XFb6On zAOj==QUHqp>3|GCCSVDGNDj0s0ILA2DYq8d^?+PJ9zYH#01zpLb~|7%-6z~Z*ggy> z1snk!1sn&Q0F(oWoPqW%-986xCEz09GN1}@74WZA19u&86Hp7d1Gonu@&MX;z!ShT zz;nP$z$?I80FfqWn*pByUnxiU7TEp<_zw69_zfWPhqin;q^JM{03xc;s?qIM&6543&&f4biv+CaKJ2-+clp@89lU_dBf6oANRXvYGifCxY&fc%p_ z4iEz%G6~vPKpbESAOSEPkO-IwATpP>^Prtiw`I_#08;5b(MyNz3_up;mO#4?^aHp9JOM;mio>;;qn_5t<-4gyL6#{oo6LR$tn z4LAd+01!C`?Rmf@Ko#H`Kp{8ib`7+(bo(~6cK~&O`;=4YKZ5;Vpd9sn0WFFRu0Gq6acmYwgHL(I{~`@y8(Lv z2LXox3Mqx{qk!Xp6M$2Ia=;lt1>hXu65ukR3UCE*6+q-Vv^N2_0CxfR01pB603uIl z`wZIWfR}(*fH#15fF{5Pz(+tc;1l38;47d7@D1=C@Do5jydj@@2mnM>p=||Fr~BH_ ziU4{513+5JFkJx{A zg{}K1<4FcattQRu*|6!DY1!zi6`gklJS~6w-b+0Fm{D6(?q_NB$eCvRV)gLSZS#%o{Zv}6R~}p3_FF)-`})If#l0Ww2%n_x zS-T;=Cg`>1(pv+bK5DNevoM{^pB1uu)9IwLZO#|2?vMPXvm?Fr)HCay_l0-46_FCV zbc?Ojsec|X{J!f>#|fM3 zrmQl|=55~UP`$3W_WIW`>1SG^S8VC}CVIb0z2D7`srx%+4;@it8q&^6v}JhPL0vt4 zUblFk@A|r}?|-|m+eo8+8L6cC6}FB%)$zaPi}AaA zP21*n(nifKLGo4>Rhe4;Bv7z#joKaYI_pbGJqBJkuc|+yfBTKe@c1d6ySx7k8J?-p z`S1+&9c$aJ>wRZxX#2)W$=jE{C3*e}qxB{_IiCA5_NU3outJYAyO>&?7CvvE%qA?n z)0_#;bM`w|NP5k=HF6gJph?w$LXp>wTcz3Ir6F&5hB>b{1n<|f4e<+TxOmTKbmOvL zHuqNf{AuTZ;jG39s zj+}jE?3r`lV-v1*o9#U9>e`Au9abFdcWqOHTC;D1$lKmf6jjkP@Q~X1zAZB@c#qF4 zezjt`t!s3`54Q-fd%udtjyjd`{7T)fOI6i9lC?VT{^K?&e^}mnk5daKYQ*jxoIju- zd2{oj`O7z*U$L#aHgMnm88^F_81{?~xu8~8l^OM6!}rCiw=U%-B=4-VkL|7R6nrcy zWNPO74Lbu8r-j_FdeLg&C9T6tbUVk5Zu`D)Ph7*zj#qZxa2r&=`jMLHXr@G%B3$>~xDS3YTy>{L_$EOz` z*WX;qzh2t$ivCppX-_tL`aT)n?0cZ%Kx%EhZ&j&Lt*^D-w%Bi1_c!|eI-DCCbnf>0 zMZ1M{lV`3ADDD^hN^6aQM#Zd8t+O;nE)5UK>(elNR{PBPzXwK_e(3uAZe+j2N$dZV zjngW-pw^?_>W%vH6U*{EL*HiCd~oV^$a3`XgP#}dSk#iRqSoxid~4U3Eo;BL+PO~t zJmBt^A0e|`)ijUJd$VC;#2J3r*ylI;SDpKF?|XH5Rk}mQn@7J=VmDo_9u;%x)4YO1 zefp-4zu#?C;*YpS?<~`@&l{S~uGX#JDy$5j;UO*Or$6B>(T_S4;l?j0o?udw7ys~c zRJzq6_p6?_5A;1B{6<6U@=o^kYuYr&qw-lj@AwZ8T(rrHxpaI@tR#CUKvJtF8H)%?bYE{x1~KA{r3LK zX#AF6y{@nC>dI2)b9#}>u*N^Wj`v1<@jdZwjN_>7TG{io$4(jWtJwL2FMhA*+w&bQz9i%Rd;?5nQg@?}<7Cl~d? zJzC%EY7_oj-z{`xY{8O^@9nn#&%=mn*+QTQEuXPJMRT`W)|=cYi^8qU3h%UK>5#tDM9|uR&%~I zWEXhXtn2ao;EiWxsaFIG7U^U;2G6?X6{2l_B8}I3>6(M}9k!{(*1eoKdDVz_Yn}*W zuTDD}HFe3QQ3vb(i@DM;k!PGXX>n+gR_&4_eOK>^S@3IFuWMZ<+}~XH`2A^he+}Nk z;dW1Irdpk`Ha%j|snh8*rq>6q7*w5kbGv)|!Ou^x*R-iK=y61CmBB^*d#hKD55Ils z&}Em{{Uh7*C+8WxO*OTdl=;1v<_7!qQoEoZe%8M;JuI|Ly1ja?sbT8;MpX4*RaD}D z-05@dJ0{FB99tC>zvuU4ZMTl*lKh*s*GiTIs+t+L?&+~>|N4~XppuGXO?y^7d2`as z;+}3?!!n*0ptXeda=ew#uD!lW%qglot ztpIy((*%ub!+5**HGjT$4LX>I1#wIU;Ed+U+hk^ ztvD4lZ1vbVs)Lh?tu`f@TXai_tUI6Vulo6EXyb!h=?$;Fnu|6?%`ZD>sb6X{?o-Il zFZvGAix-*AySQ;lNTtundyTrPM_z?Zss0}3dHG&&e*fI3KSF-C9}}EA?ppnyDK`7E zyKJ2)ZxFLAMD4_@05wb5JBL%M$I{ru!Itr>NRyBC*5J*>QSHFNv(0Szxr z$FFS}l2$g`X4~+(bsA9{_jeI!-d$??^NiQ_lfFxjS1l{a?ptu^WT51g<+byAhvO!i z2bA?sxn6Ri+;92(=q&N^58X~Lm8g1b*%o~!Wztj?N$8RNw~wzi|9)=v*-RT>A38Pg>KOd1?m^W-s0}cA4?ypV~hhn#@k#&XtTZ9LKw2UBO>)e@DCb z`B#^gJ-GK-;%G9iq@~TyeF+B-+`Q0pyLaXf!MS%%v1`5RtY`1vc>YJ9g*)4gnb7&t z!{7gHEGyDo`jsC%IYU?FjcHoh{34^kyh4kgztx0o{{$NZChe~67=P{7erCnlB$3Oy z`h6;{Hv5YveDO4Fxmy_QdRlTQt?Q`~i_bWy(tnNF+)$i`RX4u{$E$O?3)&^Hq`z($7y{Mh(+%ASm zr@k&rl7?D;T=6Q(xu)oN!jq2=hMe);v@-9tT7_3wk$39ZjMDF7{W}kCn5ZYbEfyZ= zxyNtH#$q9CHy#a7-x-mYwc$wA>$!SmFHUZbJbh(dw+>xH7B(%A?;1Vm=(IG^nO~cE zb9XMf9_^73`S^F)!Kn+=hP6xaujy}jY4sTCPVe6DwAMt*u3Bl`c)2ai?~QTrr{Z-{ z9nT)EPDwGT{qLdO`}oU~>O^0cobJ1&&&iDU1NM)*^|r0y?vuT)H!pbk)ko*j=W5-& z3ESd%t@`n<-;SLYpWgaFj}KKv9ip#4+hidU1pnv%IXh&#mBW*m!;p&?0Uf>`S-#?- z?fMzF{oBoL4EwlLV}niQ{D}wCtY6!uHouWOw%_e4$qI|1a+f_ECEwAWvBJa~4{gF{#hnA=EOR|T@HNJEidDf@rgv^F7 zZ-d*Vz5El^^ZO{D5ihJB9+`M+%!Gvw!@@Q{couu(rk!cgiShMg{&Nu-1|JG<^>eMm zlIqX$%R1+n`ng{u1!wO~opE66kSAdcP7(Ls4mB!OQ*D^}v{L}DM{t|YQCm-|saV^` zPdxu~NbXjf%)s#}pR4b*I=31kba- zc}E$gPj@vPM#BkpBaT~hMwBGI6Htl(M;dzrOU&lY4s#E-K8n5xWYWsDL7e~&@ zI==T}bfv|soA0$>=}-B(aks0HRwwV1r$%IklvxeC(WJYpUV6wRd*AMJ*9#U)-X=)) zq(+`v-56C>{yDM7+}#GbS%shMiu*MLE!wGeTbgS9^NNLa%uSP{74=Nk)MMLssTAG6 zzjo)oK4;e5ZSVE;%iB@&0{fin=W{abi)wc3&X@Z=>TuxC$1VH*v~JzK{N%8o^@kS! zsjja~o*HW7Qqs29Hr;{gja$BWUebTs$-q4Gs*~p;HREBf!8;Frk!|eJUUkc=?3Hg4 z18;jo$B#KQ^S}e2${%*IEz$2{)+c?M6MFumm%mSHZP?>qmIE&w8}rNUXs3s&|2b~< ziz^7cy6w~6ZSrxaog$9&0E>dNC9tMUe2G5F|hdhq!){xj=>0SB)| z?7Owjj(5AoYEIg`8rNWc%J*&dBgam7y`rKq>h+%;(@uqFRyuTPeZ_sz_sO|xKiZcV z-hclxF!s%9pFcxoNr9&t)}E>=xwvf6fBp9@7bYHi%(P9-AGF!*RK3CAO#NKf8`~-;={N2_e`D&Zl@=?HT~CzCUB7ts zai8%rZ_kC$Hh0vHyEs2j%HPv!MbC8CirBoE+X+D#nlnR2tX^OjP;q6( zO?%wNXL+%KxB7ivA~j`ER(I#fnghS$g4Y=5rH$>F0e+?)cnH+Vmo4X6$T%X%*t*gDZu`VY3SE;vXsPW+I)gAf!Tf*`RE|r(* zEiD}KQ9n*=X#4!jMZG+#4q7HBpPRWOvfCh`Bwhix2<+eI#l2+@rHthEOJJ&)@_UNon+?yTnD>2&s;Dei! zZ&pm6H`%UY$soh{(eU2e*(L@LUuPKW+!aIanKlE!IsN8PkDY* zQnhy)Ouy%7Zm>-C^lEdv`qZHYdY%4AqkK)~Hujq2*L~vL(K|Ps$r&?g;f8s~dbP8? zw^x7UiA~Mf1FP<(ykYK$-ikxJ4svyT{#)bQiL1-XWD7cmHn>SwX*U&2>XZ|lW5o<# zTy=eWg^zq!UYn%nJ+GgAzs`F|K=y~^Cm-5OQ(JW6T+5G;(zzwkwU*uqwWGUS+ji1O z&$aq|vHI48J1u+MEhhLkM(vnw^T;mQG$*Sr>DruM!AtGiXSJDJ9*}-=h{l?3x_McF zN7ptjSRVa*;j_9S4&^WPr+yXLigxN`yRZG|qu*)HlPGDB&T8JS^Ol{AmUQ>srQPGb zTUG63v1^*T(dffnPP{8ETX-&g}gL67uxe~TOXR*s? z=4bj$CNj}vdHyE-kM|op?hjd>qkrq|#-dN5f1dSqwD4N%Futg5et2!xvJ*2l`#zj; zc>K|xE#KF-)$cL(rTP1XEe&cB#@jojw00iYVAA)4+S};?8%Mo95Wh)$yr}Q)URoWs zPcQ3O{zfHljNiJFp=-ZGhn#&9+l(-|Rg$-Z}0>y7c_A z#=Sq5jqLL2$)#-dVV7Ec>ofPtrl4cbi`LweWIU|O>|VV4qq+Ktyi%iGqYZ7Zd@`(m zSm*Xg+qSODwM891WH*1!)hSOID4+DFhr>CO1hZLFeR4J>{w^`$GG-65stN5`z`+rzqz8hS5)NZ^woS-accLkX$ITHUWfXd^q5g&7HJi%T^v%~ z>{hwd-}akP?vG;^HKW2jMy-C^Ie5XN>9aiI61)G_+2cP>e7`n2|HYVK>B%4c#SN=1 z9+!GCpK8Y*DGD4I>hrDS>oyaSZ%n}6os|ajLyUT)>$$!(thsw7aOmtOvZlE^s~Gzw zC;#kzn%3dXeS?o3Ugc%|j&0esdB(YhZ0jlAmN{(Al2mokmxo`P^fZG%TI9i(b> z;&a+itsm>s-M$yz?iw#TwIF#|n{EMDYWC?rm}b_}?d{4dDgs=6be zV!r<|h?L3>weuZ4^TRmp8CM@4`x;|=&UMC&t{Gob`d-}CDQe`n)puUcy&)QPqoroa zYyOy%#**t@{XUM^>~JyinymS>nEhuJ_?wNo#+pre^Q8t^0mH-Sgp# zx|DM*pD|(w^*M1I`H}h^(vJ=RU6GeO%oMJ0~Z?n&do~PG~J-p z@T4I&-=~H&Hq2aXbT3)2m*A$0eJ`DduSyc$-SarV{eH!uZB@LEUHis#9DT~VjmsFm zP3fb@W@Dr)|D28AmJlNPv044Yy*K_~WY5xefn$7n&oV)OL z`tw)4A6wNVzaHpD;yYb;@dtw| z-KNx(7Kf-d56cQ(c%aho_xH0QJzf+?XC2UJdwQB^`$tK_EYK5X!!fnx*6=W)_SQ^U z6*H&6IQM%>$0b?Xy@x)ybbX5E+WZW%7^{ zw@+vOZ0B@BY^-0qP{{AO%VWsXgeM+#OA>}o-Q`^rRNv)=ruVHGvhn^ed=i3Yt-99H zsQlTXUZ)DXHI93=Kg?!h(nPg~|9#&i`x$Vx*S6fYDOqo~Y+dqhZDyJ2)YFb}D+iZk zTi^CsaMpQ|_S}Sx-R7J25}n-7%YWK=c)0z{p9Tv?)~ptG$`Ne+(|UMCKgnXdN#oL( zkX5a8D~fFFbxdsEnELny%;;)-{lNVVYPPlat~|}VEDc%OzWmIdB}-JVjndygb%}gu z;)8hyKE9pwpZeHuyIyV1%3hw7;`FlKKKC(`6;$v+ZB*ro@1FI};_n-xE(~7K$s$p& z;!8!&^y8yDM5Wjb>=8NO*7L&X#BDF9iGsU!@;lr&t*mG4g$FUeXFcr&e-m2rCE;7j zG~-L>`kB}}j}*Rf+3lPwnBV@?pm+Di7QOU*cV$k-!jy$;az4lJSbnLOaZco{mZW_% z;+_mGov5;A&Zfwq>U`Co8JV}1X0+U1P&%MAJk8Bd=kR;uNfVZ>SAExVFDvNL&KgJa z6LFdTSN3gQu`AxkV#%EKtE!@=&fNWa-E^S`B}CJd{QJG{5!f$b$&?e1-dSVZx%0J7dzv~ zx~J#wc39wDdBFB|XoL5cqfckmx4UN7`q;qmua~3KThD8)ed(w3_s+Xu&FQ;N61hub z){_Sj?@#qxKKY|g7q#ZN!OvclP2E^3nPa6Y_c8XDOfXyj;ZH*wx&LB!@wC80(o<@; zl3caM?a%z!(W28}&y_|;J5TrTcVkuf&!p9M9(%u>KKQD%=|XR7Ud)4x9!7APvBkO! zy%6nJUPs4oj5+SJO8dO(?I)s!e8OtqJ9sZ)e`8GoTCHZSB#ByXeFLj z<(o6oxc2no(Ro3uGnNb+Y2C<~quGYq$tpnf_7}<@`o<%Ixpr@MnH&<@$LXd2h5-u3rtcqpaWm;7%Q7`~$cqL>aHfkr!4AHd-!xn@n7eH(q{d>Ka`mvZQ9 zfpKN_4LSTt=U69KaO815M;&(M=r^CEPINfx>HvrR>aoh>zb;ETPp-F6 zmaiWi^{>U@=V%}0b{aYIYt0ddhaAU|2#)do)>7VYHpe_7*Fq~B?`jVFGdS#!YsQq> z>BzB8!ksco^`~+0ojKxP$x-Ld9C;-7Z7B0|H%DD%bL5L$g@;|0hRgR z!Vx!eEv+*BR1W*(J`!d6gE{I-n zoUP_4w^PTFFLFPRvVQY9;`4?ho)#Q=*~}3KLymb-&9N>`;P7)A$2@w>;Xk?mQ`vZb za@e^zU%CEfj`^~Lqu-kl2ebeAZw;@1SLP47*Hsx$?iolw#;##AIEqTIL1q^ zvsM=WJ{*2lbJYJaj^o8cj(XU`VZS}cabX^Z|5rKeko&TgjjNEu&S;3gSjoJ|;aIQ8 z{h`Y2+jHdIkR#3!-IUv@fjlbvKbPE-uB>19oKq=J?%h_Vf01L|aPn8KPwp>OX6Fz` zJ)Gc}7fBpExyMdgWPYS z%ufM421^Lj|2ayt@^_*~_%PwuZ(=8qaje8_!a%Jc_v@M#=& z$a5-`*>UF358zmT$h}m`?7ZZ#KZAo`!%=T(U|gB~5gc)T&cR>eSRZOQ?E7)7Go~EJ z>xCTSBKHU@^M3)yys+a~ha))nK#qQwbIix19Q+uL_>lW^mHB^%qn<4};(wk)KaRtn zFC6pTp2N;7j^iD9c7-zk2XXXUz)^?fer{!UE^zo6#*yCv9P=fVqhAw_`AF_lRp!r1 zj`%#_$P0N!hB7;yIrKMj_*uiD?;5Y%{uYjY$$i(#{L$vfml4PMyqKe&D>#nV9vpGj z;^4`1WR&?ijKlv%j{0=x@V^&FoebfKGkGqDGJl*n?2~7tDAOOxVV^voLYaOijyjLv zh|dj<`O=vq&WAbj_?RP}3pnb3KgaRQo5Q|6$GDDh#K)V1FXfmobf8e>BIusN%4{nq$7avQ!?2jvVX5 zYYsb0IQ%r`IM1))7%zF=l(M|sfck+_`5&?3n2$9a*AJZF@Y9qd@0&R6*Kx$>F^8Sg z9RFW@h7lmGT&o3i+jXP_zLlQ`@Q=J01BM}93h*0&EF{Z8iScN<6CT65_8bL8a%N1WGjtcQ*q zetw>$JZ=>nb&|!gjt%Ch!L?%a=RHxX7~^mFZh?jCVFiJb!V_uTC8EaX!bm z^f>0%F|ea-T^h&nxt5fpU;bd_2^1(^<$fqJiwb1N#ck(c-AvY#0uSgXBEg zfpoC465JrXyaf&rAUmo3Q_GO#Lu>8QbY{Oh~Li_dg zSQehuHwAh5S}DuG^2JKkOyniQhqC)#lz%gv*cZV=jj$e|j9E!aLH*3ZzU=->%73>) zp4l>rWsE5wl8wBq0^>=J6GZC3J{!+Kv~PkmlfkYt+Dx@0#yObs2GmYKWPg@fO5=aM z6WXaS2xNJ1gOwgI91?$VI>tYT>aUDP{ifTf4-a@}<$@vQpM^`ILWzep*xh zPCK;EZ2#N7$OHAu9Z(;ZaaKMgAYY?CfZaEu{DA3H-wNZCM)}c@2oj(8PeWM7hw`Uk zS`nUkjP)f;CWS0w|7L_D1*&b2o&j8)D!(zynD)#^lQS%8wy!PMV-&-iTn}Wzxj*f z&`$jxtc1a8Xy0rR`tM-B@h>|*PynRg&Xt}lk6DK2o%td!zJqZvLojtTxmt+36KXESdQm4Q9R9esVhor1!3u=E&XSAQ&+K**cQ9djNd3g}7tBN?^ zVEZ*;*3oz>;*$*v5%IHHjO)y8YNthty#F9rkU?6pukd^?@RR5>o>+&flwSjdM|g*D zDa$xfzLO2LPwND&!85`jfFg*4WcLQDiOpx~Pmmwlhv~!0Gg?18#b}|0^0OeYq~H1W z$ScMrqVu;T6Eo#P^<^|ZIdt8|>_F_3ssAsLSx*hENkTr!)0?%RsB^_esMwEiQ^fS&2#k@|Y^IawnWAziz43lJn`a#tgXDQ`JL4L_RIzj71K>7F7&bGxE z2X)FHfCDj!f0HxXzfJwA%SPVe6t1@lJKODveGxoxG@i8}*n);k+^C(J2$q0p%gQrI zAF*FOLCWq&ANBDcPdWw2>mLMK>Ymah4x{2WaVfq#&Z{4mlSd6vjFvP6kt4InzPb8 z1No&_2eA9yC_ijG@**QC%ZR9-1u$(%zd=vKS>B!MyCorCHV^G9##;gIvH9XhvYNrP z-WDe#AO9Q*8^nd$AGjFDE8mvK@`^ft3gt@dI9@|PsX9|d{p@fCD-fmwD<{D|iCgj3 zzt1a9b)@lJ{dYXSPel9tN<7n3tOItSPx`G77{l7_N9~WaK;G^au6R&kthiD;@qe%m zVY;z$Ivw?c9tN}f@mk2g?Sj0R9yc+1@H|QwFY#Ye_qU(Jplpagl4d9vklr*9pP>MV zev?5y%PZ#lE?B0Be)Zi5mM71`C(;w*#@5xLzwPg*{@8U!PZafY59*58iEoSR_9@!$ z6Kk}?-2U5+A3fg?MM&BH;LlkxrFN=)Fb=kKVqd0lYq}N5>h+-d`(Vh14=O38^@)v$mMW|LD7&A$?@LviE=I(FN8S z(yv%!Bde*X&unUEPaqx_&>CDXmx*?Gc^FSc9G;mWUp*A-Y60z+M~^$QeYn1Tr*WQS zgZe=QLs?BYJzzxx!btoSZN?dWfa+fqQ=T3-J5ql26dJcL9AnShb+)l~74fu6 zr2TG2fAFjroyyG+o?M?qT~QN%wH<^>s-bgPu*FR-uhtXDJSgTCVN-GlO;HppM59UYfL8Ri{V zX?WhV1ocHv!2u9*T_X{77(VG&ri%8-Z;B8RxFTP@3oEUcD)PgpBG33@Jt+L|myEo` z59iTVRA-!En8bd0IUZjuX}>KCk#~4KmenNpl@T#sioEOr&ZFN{-(&{znU)xT%o;p% zcRtpSjQ-!DSO>Zqp?*#=#zApBwYNsT`a1F-X<;?f`Y%_(@z$a{Of9Wv8TpYdkbbnz zn-z8faUHgx`X{Kq=p)VxIpwdoP(OtmSw`XK4;Uti52GK!@-nLL8ijmG1IFzz<$J^N zh0WJgDa+_k-UI%e@N>H2`qql_YBZkZTX4M+Q$AFR{uEC^e-w4Tf#$tj3*!K8vl2(+ zY10blm*O}(8UjoDZ7M>2C=XU*A+7AV{6g7%N6L?7zddCtdQXo`#tDqWZ#9~ zSBOD=?s4>omOnEb)?soUD_=gH)l?iW3R6+PNgo^r@nBzJ-J|ogS|^faj;Y}rhVcI~ z=~vFjIw8NSKxFMq%uA)NoZVOCWydVS!~b#r92XY*qMe{a!K^-cJ~fd@NH?)B>x1*u z3u)#_Jn|(e*ssF>gD`E0e$aBvV<)QL1pjUj-j(Lvf$|@tk(cbnx>Dq&ejc?W#Cb8E z&X*Nk(SM_V{68y0ea05^tElJ5Y~<_xaHgm6vE%-<4oB0^J^E3920*~scn*MpfPA3* z8!_@F`Z%s4YDYX6<1F7%z-lVyVWVPPfO8SSgCg~Wll()BG9(ntKSuEO>32>UKPqrVOEI(j}V)1B(ayCW}2 z#s3F~Q@&9VheJ|UUor3Iz_Ll~$InFl0;-=7hP?DL_G?W0T^NqMxExt+o z+R3N&90t>b*gxJ6k2s3?(%lyMdKX*=+Ee>MeK7vTbMsh6QRmK{sGsSK=WmcER!%KO zKBpPunN0cFP>^igK7zv_mnc6M+$QITlaJ=I3{4mFa2)D)&-Z3|d#b-mjQkioJig%U zfM>;n8nG`wgZ0^-#=!^DL3r^q>{pN4iCBibv=yD#l<#Fn`L7sfNE0i0S;z-1ld}7Y zyf;`P@2!h@SBz`0EAsLIm>2T>5Ro&qeu5ez*nP!u{~Lsz_$jMJegpO29}+?0(_Tx? z>MP=70s$fVj0DGJ&AtoIn3p0Se-{b{Z9I#L0<1v0Lw@z?+sxmd6)ikyzntW{V9FX&PjzGGvr5nMLUY| z&V%DM@l#GekNQsaV`m^g@*_-ekX*{EEiy zO7k)Piu%-m<&^j@*^cY2;&@lo74>uMvCb98@d;_jR}aJE6qF4sz7Q5-zrFzN!?MOo zg#>w#GuF>X$|uaG{BW!jg+GlnKGHe3!XKvkS~Oo``u$4?<-?57|N7;BkGF~Dt1Ueb zRHORW-LT&#`g!jp%KIfFpHqtKRW+^u(NMr-TqU2vSxr3Khu**9tkxaK5*}3lJQO_fU-k~; zfW5%yawCy<$;J9#PW5$Qo)Y~M??Ei%NaN78H|>|M8~9i7dn?goye7=7f9Caz9;k0l z|6jAB_M@Qii2d^7Q7og#?**uT!b^XkpBQcU{TbM0^_wtX+0@Ru2;?1%aYT5Q4!_|8 z8)O}j>*lkXiu0}ubX-yzAH{r8(I#Tk5|i+L2MdnC88DH?A}B)P7Gh)R!)W0fO)-uWE?=eZRl!u!{+`ABc8R zsQp+_BY6q>=lj7LZKD6b@)pX5#I4#mpM6siw|odMiT`+emJT9ikJLwmk*I0G% z+d&4Xe|Zt=EAm?k{u6%={_}l7uUOO<(LAl?m*5y9wj)Pd)3*LVam0&N~<; zD_a&LUve1jzomQ^T5n7R&i6m+_(l$_ljQ&F`lZuZVlLHx=ZJRX^m7b_{cp6+MfAJ{ z&kEo-vS|EEBC!4ybvOc+3o@=I`Z<-N&bQf6|F{1=?;eFC|EUhwTTo+VCyjr32G*e# z<<((0#D2*OjDs1C=ZmGtm;dv5)E%}C;q&vL0@i{eFLEdwVkbTn>&K9f9c+O3v;KF& z6;*Nm95N2`TYNs3RaDgH;{@c(i~hEM+yd=XUj_$2G}%}9eJ(hl6Z^8^IA0Q}|1NMi zBYb%t@^IS2%0b$%Ja!|yuQ;A+x2O6!7@ylzzi}e+^@owiqa=JS2zep%OE&v&KhMGe zi1aI`#}QR(r;noE3^8A+ly^!;eQC--mdR4VH&p0&dEIfmJ*ob6FVq*)^Lbm!FUv%} z`X<&-I*tFwPRN(c!uTJi@e#lTA$~Fzp{xZ({Fgv{2=DdJ_gT08L%!)GuIDQaH7eT#|bv6B;^{NN>!=4XE zqP}9@<@Tff((51kQ~NQA$cub2o@SJvF#-9eI?Q7gbIxoMUrBiSsqmXSbNl$&d1~LVXA+q z1M(#ym@g;FUoxlqH_?up0N?1LSeNEt+-$CoMydTCBvje|*C`0`rOTF2@ z-@(4ZZ|l+g207sQfEneBX@1KeVEo@wM?b`(9fy&4ybh!K)3V99L`->n6f!hE-nOV8 zG*8O%it7i?f_o%xvJ9D|4Qd9)IV_!77!47s$vB5o%AbSf#(Csl%ECZ zV2>9M{?70Ic(k*9Bd&xCsD6zd@^0tR{uRpS(|QP+jq!1$3&%%4)USSud2fPo5}68r zPR6D00EGwAmwkobkEO@`obs_Oqga1*CQ>^#7-vJO?*#`S;=i!l=D+mE()@~UVEiZ1 zIJ;z`9T|i5DWM&#hB_g3%IEzZhc7XNH({#(`5tp01d#a8bi?`?N9~7NBA>k8ll8}j z`dLDcBPZx}DUc3UUP2iVJ2~BOJ-MWTyh=3sBOmp*KTGDI{s8)Ys2R00jn<)jDITx+ zYWT)`IKd<15?TBmpS!f)9G0U0upF`S3fw0C9Q%OvFQ>ddoQ4rz5*yAkP{yo~%Ml6x z_%qf+1m&HkAYV_9wFaFUHW#&KiYufl~DaZ?T}|Q2eAx+f@)G(z9YzVh@1S;mdqZGB6#WL#de)`a8}QH!^BB5g?LWXs(sE#; zX};p8N?A>q{;UiQ#QH4x=lJ-F<|STV%Id-JS$QHw`<_`i-qw_FPv?s@z5ZDd&%Ifw z?{EwKAKjMxgyMQauCpgnmxjEUe*TQ_!f&EyA|J1Z_3we|jEfZcCVGC`tcq{+n@RN>aGmK* z^{>&m-J{=|;86*FU)2TmrSHKY$PM-tez$urwPP`iW&G%PpGj!HbiKmp!Efy*BJXkz z>p?NzRlSfGRbrjnsbB{U5H}J}`4{vAS5f$_Tw3Sp|6E5=LFZBZG4yAYHrm;cf_CCJ z;(Ui?iWRF2oJS0QBfGCSe=CA?kbax!^%w>;{w1_uhp~7(9j%3SH2a`_`y{L@#kg+6 z;e++RC(a{99I|F0@2P_G6yJsUG6DI-)5t6Q^q_Spw!`&58oOmOI--8{8O$S}`Z<^S z)6^U5%9ZMq%fE>~IlXbktD}xOLBWvvl>AelN5Ku&e;T*3G{38?sU1}*Yxw}RpA7{` z^n<>jKWix8OygNXucI49{dAyls4l>KnN$5abiU`fVudHrdKd};B=#A4U4bIbwSmZs ztT8@e)P6Dqis;YMg+zcXr}i1>jvZGX6gVj){f<1AQPjzl zSgKF|&%)jzk5iB@w?zhff#2(%j(mKRl(i$F@oa5`yxb7i)vvVQk8a3|==o}A$`|@k z{&P6Xe4>2+@yI*S&#M*lHv z;v=P>lPHdBNxhJ-u7N)Uab#cNx5vFOZelGt%Lphx0VXo3w}bzz+a3vM=Rf*+!fL92 z4W=#WH)sW(C&1yDl`ix+qW2976-05o&^1NC*&noSXbmX)rnk&G?C-! zoqw*Y_gzHwE1~c}_R#@MH$h%}1No=yyYTzp{g7`?f&_u&Q{K`8dC@H?%UqzmF16D% z2FKNh*6r@Ls6T-IpRUNG3T&`(_>A+bnc8{S26>qb?L<&JRZuWQzbPC0#aYiV+admh zm+>(U5H41(#3L_>#ELyk`O6)VcgPyWGUWbGB8TbxQ~=EKf6)h z-kI7l9>g;5DDMDaB>t4xV7=*3{$n=g#qXd0$8}s#zsK$VtR|RcrOp6($wippAPWCC z(s37lq%on7Il}sob!q+#U|BBBuC)0WNU=8Z8rTW^FQQvb9t}}{! zSwXmno!`|1SWU$`d@~Vw@meTs5XE&DN9lNF`{XPyWMAQa)dbXkL$6oqKzZ^pBm4hU z_H>q6O8F34hxHH9e?>gkLwJclV){9lVqS#zM&45&=aCML&k0($4kNH06!R|79Q7B| z<1bZb!rYP1v5#auQP{Vj>s!!W%oN`2gyuUjXWhS3%){KzLb+fi#i$Pe_yFGc$t{Wxzb-b-qDDLBiQrhH<0oWVHk4C57@SuuJ-t7z|_?g+Ct_ zAs_66>xm*hSLysMq1W5IQrMY~`t_}Fro%GAN`DLF<)v6ZLK=saut1Uesn(UVdWv~H zEEDycgt$J$q8a8nonL$B;z(5~|8)+ve-6hrfsb#9=zO`;3H`62`tC4H(rL8Ca{yDdyFhCUXRHO4R*NFOvWWm#JpJ0f;bHWA-sbS>k!;v zWgAQ=!Uxg&lISwVbfN2Q(|w$G?Nv}e3c4fuqL+9)>P-Xpg63C#H-c3(Lv`j6^sg*# zrAyI{_&3JCAJyLig+bPtUH_c#b!?CN@$^1BSE_GohrHAcXQ(0NM?u}Pbrt@1Jr|46 zANg%}s)^0ED6}(&ex8g`g8P#ot?YOYOIgJ%`d6c@krxldI4I_knG^EmlQI7I$}oO$ z$ZOE+DAcK)H4~9v-unNs_a@+xl~vyOrMsa41p+NQVwxSqCf%&EXhM1m^b$Miron-# zN>wE(I;kqED&3uCF~}+k#zA(0Kr^_HamR7gATH?4U@L>;@{LAEkiWP@WX2u;zu!5( z_tvdS^UX6p<1^p)Jl};*)jjvU=RNP)-?iMXciY7uY!m-mHUA#k`+1lZ`LnXA|8<7^ z)ne_3LNo0;RrI8}U=P>9d)h}dA^6NC?*Bh4`EHfnjeXJOev{<89d6V3`QqJ%AjGxQ zsKa+}%Db|!^>*!OS`W4W?vDH%`=i(E-VgJ}{SKdg)b-(GPG+=4e4F_^6b~27->$jG zd%b7;*6ER1L_=^CM(2+nv~mHyMD(0^rhDw*e?D=Rmyeq0KkO!_r(64Nf2n%6$=>IP z&xZU4V5T0+J=mA;Dy3_Nt%FkROJSRFo10P;{u+#bYX%85Nz_(Xk z=;hmf1A=i~Zhz4)0AXy`_yLXOZ#%}zw|@ulm3Rw@o*{nALakkZ*u*4oA4YeKRoq^^9-^`@UIAe+Zxxy zR>6NR_?YG|KD3)ZcouA=ywd;X{!Q$R-g2b#VQgr-6%2N1l;gf9wqT}c}y`-+|(u$T3A zH`RNu{B!yb?gu`r@;Uk8pKf!xK&*Bhd4#v?eP8Xg`xSy8kFZ6)UDQPXZb%piFDpM^ zH`iad9`2Oz8O42|wJW#H;qTY@`DudxI}$3EpM2Q$&83X-!(oRPS2#V#sr)BOD&Mq! z`Tkcp-yUzh$4c(5@|UCersv;$umS$SsN-pW%JnUb_ueb}8XHC6z;&1XjiQ08RPS>R z|CZ!F-tO@6mW-8rPViNz*Z6b3+wTd&^B(94;Vn0~9|-a8sT&-A+is0=`O+;8Pv7kN z7UIZHhQ5+({>-^weosz@8Fg989cQ2)eMiRx-4! zUHU&=bc+jgz8beIKcRkE;Lon8j_@|kPX#=ODz3GhvDWaPx0e&twbIK^OD<49yH19^ z?5FR^kN%*y7rEX-ZS4A{{KNDq4wu`Ga@Pp|vu+p9NG@-L!jsN+oj-83@SF#AHNUr; z+iCE(dmQNHqtiVfJ4ofb6&Kp)qz&?wIsV{N$2gwWgC-0R_;zi(1$J$I z;K&CW%D)K}k?q9iI3gv$&J^z^czi7T)C&>S_MOnWWd_&ps{Po{0H;7wh6n#;4 zdPq}0_c{58mT~9LJmI+!an|T;lJC*r1K|fXt-tzIMfAVm^q(p`yS#)Q{WBap@k~vp zt>l!-Z_YWq?Gg9?ub%4qw^z0M; z=$FnnfuldI^zu7qJYO2qgL2;C&)%`jAYT*w+Xa=^`2SIYFRD5G;pbNw1Zjp{4?`cU zy?=s2;@V+&Ft%HF4!dwUlO&pu~5 z{&CF@o+$VymO7rv!yD=R>DgYs?N5DH@_CgnWE?)mg)z7m?cxtUD!E^NGy*g(6tn9M z!(P7q^HoO+IWf;A_%bgZU4e#EUNcSW$KH3e!%x(HK(NKG zJmkgl-BqvmHG=;W%%AXy&pH3E7W|QJhqso}25D2f_BzJlJDT>b{0w+V|KzJ5u<}8^ z9|T(BpVBzhiE6;*;=}Zvjvtz5*IS|9ET5j|cIw=VqWASXysy2>%7y&!aU{Ad-}+kD zka6+zVkjix-A((X_Um!@_yKN5=c?Yf-RSTgXSk&96a4$HcX*5Tm7FFxkD(y`@oirI z89C@ZRPW5SF0X)p?%`g(?KN=7xL&P*)V;y^*47jUUw)A4z1H!E_;rEw_KjLkdxYqD z$1A-2#FJ@*;MT4e&T@FG{2Sb_UGD^8wCnae+>RnS^lz%(FG_#1bG-axh<9x7#QkVE zuKy7HIWUBBf8^wQ3?AgZ><}+MuKizPPt;a)c=ttVD#Ptw6BY<^zxC$y}zpR9pDe^{o;+C z27y`GRfB&Zyyf_d?f(6OXG46^{yX>HQS|fyUcPnoLMxdO-);qe%--MHNY5}F5%HH- zX01HT#I9ARIDC43+V20s!O^dzKhqy<#Pju><3Ia*cUwt`H`)$)5r5l?iwutD*!8bR zI()Uxd4Ra>TC>REJG34WZo#g%D89_Uewp0|{hTj<0Yu6BJ5eujC`dz$uT+z9!SZ>?9jg$}CxH3vJMV;93A;5t+Amm!U3dw;&#{YH@E zsO&NQ6PMJ@D!*)@m!Ep;8x8WH827Tv9X^wFx$L3xx5z)VX+IR2Z`bE9QTfNxc0atA zeME=jmh_D2oRB^TM-Rg=*{=5SMmgR+?&YVy;q|tu{E3je;gSD8Uhn~^CE=0IdkJ~S zyRUZm+5Gb{A&Z=BD`+bsZe9$pIGX7OOWHM_jmYI9~?fe zkH`^Rcbvn^mx3XlyIJjaXwtr{msdTbYmLCELn&o}b<>1AH;*qs}#9Ms;f3#32KKZ*jlg4}nJJ-$x; zdbe(@Hw*33c=aRpRusJx=>gl-{Y=InfzGPrIKI^7yPx=TWWmd~Hl4e58N@+6Q|e#u zDg5iueDddQP5dc#dHHh5?foR-KTYzQ_?^p3Q6T!=VP3xFA(zVv`Kud_arkRK1P0=2 z7oK-Z-^$8Y1D|=mDd~Jl>#~BMe+3E<9w{yaKELKFr+-THAEb8u^DDjl!~(~>T5uj0 z!}d-#`G;o?5q_Q9<<~lV*+SRzAjj{$+2O5PPZH|ATJi3e!sFVG zb8-5;{E=Em7xeRZh}+tweXKXA-a*h$_>V4eeRgkv{gSfNg@WC>}Blw z?RFpft>4(}<~w}}63I%iL0Mjr$L#M6Gh(;4ubxJ~Vnf0#ed5q%Gi zg7mB@xPI;_{5!62_}|{-ltUbL-2nYz`PM2F4_DZi^cl%3t@Y>o*wZL_vCYeOZ*~7r z6a4!KG{kfGdaw5m!3S0EjPlQU5)6-huzH*F$*)LW-QRP)U8(ZNLv2{TyW92W7`69; zqQlqeycD=QyMFX`ho{ecgWbP4$KkDu96t4=+vzdFf0z6~o5pER7d&;Km!F=y))4S_ zrg`lzKisZ!>_6tG;c!I6WWKOWB(p-u-V55Bl(k z^s`(0@`4;c4ZEg48EcwPe6Q?1dIAms*VV%Rg<~E6mvnwC*k#v8_Hp{Bp6n3BKOO@c zsfSb3u7|C9db0R=z0MDD>xiPGuTi_SP7iL}u7%KN%5kmEZwdPOxcD>nOxnuL_u|nD zTfF@ADH{v|GqLNdRfo^qnYR0^gQHVqN0n8s=L-aXgXrnr)k}U{@ISOV-=ZeI{bt15 zJALVPD;eU&p$Dj4C%L_pCC5L?|3^2#QQ-R5x%LsweZ7}&`?Qz8-oeqo9_R3>=e%9F zi4kuR{-0>SfAG(9~b0dNKX@VX&~r{C)OGph3YBkr*L_n_#x2e@f?RA2`P!{LP6Dzd`3&=c*dLdwcQVS5l`Ds-9HC?`yA-B zJg3RN_Bq1wMEg!yn}goYpuNQNoch0ko)0f{`1sW*fa_54zjTbl+ZUt_ezg6KqU%I| z>*dbpj|zUe_%{BW(|Nz({Y!+02NvNvSbTo;Ooz9;_F{wojXEUHzuDoF+P@t1XIy@J zvS}XqO|5J%&bwF&!f=h*U#w41dvDf$Lyr#7=Nlb=+v#q1m(2ASeu;`q4?pGYax25W z5!vH6G>;bI#qkGv`Bsg41UvmOUMHT3rvCn-%N_nY^%DdC-wQ{?^5Z{q{7*cL0Top?+eeLZgR?>QTerR@$#+uy^OVj@4wCAW1GCa?-xV=m-J`D z`A%n9<==Xcmv7OyrN4!9mJmls&&}b2z~+!rKmVel8UJikloBeckQlTl4(EIZ#2CZ*AIlxl0S-v#(oG z9m~(#+x4v~{W&r3@b>q6e7`~PZ;m?{!VPN_e*Qc=>jXn<1Rp^@md&ewN1JgT8(EREJNVW{$FyD^X(6U|MO8^e#hSK54*+Z9@$0oM#r;U z?fM=VLj03wxg7=nFtW|zE!xK&_;XyV!`rkz_PwJ27piycNyp>X8b!;-M9&iE^MuOZ z(I$U5w%s7XzP6vNdcOz7!}ZT<*OO_7pSvFn2iKGK7yIClKQNv?yZ5^d67+4i6{53g z-_SqHPFqF4&`0YEPS4myjr4rrK*tkZmofbJ@2ZLqarju%KBFgw9Dcd-&miBk-{kO* z>vy|4h32kX9G=!WZy`^3mGDnCjSDRVLdt8r*XenmE%Bn{L57DjtAXC`rjy8JMQHp&HEz^*|q;U4jKThzY<(JA@*9W%SwJqc=I>&4=_{-}^$*WD}gTGn>10nv2)y}s! zd-3SBl@6aCat`b&h5NPiWK#Q}5pL|dZL91e->8R$!-eN!_e&6yUEhQFSa0-fpWWXg z1Gq%;o&JpbhrpkIdA0EW;sGlk?4=0C(vCJZ<)yF6IsB2Pak(oc-;=)U`U5kuYjT^@ zGr8IIA;|H^uX6ZDuK`1F1-X1(bf&fMIK=mkYt*j$Jgx=b_@OHtKGW;%4dVu#;zQd; z*B{SzqG+}3{p&i%LvA?w)CrEK{r&E*o}Fi8MX!KB$~l?RC4&(3$71gU-@URcKCr>59YPwoRuRS-d=XS z`jPPeKz?#q>&cH2{F3Xv{Iu5Z1^ql*`t$s+o&E<^{`qUY{KUUy43ZYSwN>>#n>EN> zHSD`@b@zEAI{OZ%9|Y=O+nCv?|8pU{I|RKgFh@1 z{uf+-f}TGLF|qvQ0DKQY;nuF@ z@c)D#x0mauw;KDX6vt<7bUk_W5HJ5q6kz#3>O8|eg=YwMZT-qxW4#;Au3MtC_Px56 z!k<7t*$--M^_K1r{pQs&=J?A^`!Scpa9HnD#wlE3rLli~sn=UR?g4`YKD2gu`Ms5& z?4j~kNbc>QOB-aH`2Y0lynMUX101aK+eRHergdD-jVQY9NU!(Vt@l~UQ1A7K@1!$* zklX2}gy*s29X>AoL@~P#RrxWkix8WmA0mAvp2?>9uPuumzL(-`;KMHGIz78Lou5;_ z!OM?*)b;IJwfCnmTN@{AIuEnIC_GL3We$0z<2ga+zJ@&TJ?##k9#2_&Tsm;eHPx%% z*EqwQ8~yNThd+H76ad%rg7ar8}^13nggT@|NZW!hZ&vj5U z>t9#58zk6!+fiQcgnp+o_~D~r=4|hdvs@oe5uV#j9}bDOu5vsf|ZN6|LLyXlnUe~s|8=biq8n(Y1HcE__|S*Mi@a(_7I@QIro&n5}xuVL?OZ~D`2 z7Yl{|?I$^Wht_|Fe%9Z^08M{>0)@f#l*(_GowhA<_|<|BqnRw&vpD$A5B}iR{I-8w;bm1vi98{AovUTLVC(SPaEVq z!RHJ(yyZ(!3|xB&{zLKq9m+Sr7P~Sxdin7OFSPq5a~=N9a~$4%u}knl>CfgB4sX*r z|L^qT(HGG!(sSIqTwZ?^{GIC@p4Pgxg9N`_dKjI0u|fVx@OK^T<#+uQD#8Udv+M5T z9NtoJdSF&|O&#s<_UqiEZV~*4r#XCw`Y-K*UjZ{DofBVo{drF9y$bQ2@EM&04EJc) zGdH;1P0#%syO&#y#sFveHXbaA>o>dDM>H<@rkvCNRR>33fPY~5=?l^Z3Fi%d{S=3% zf8z4mq4KYNwZkWx*5R}&ADcRVqm{f|<#$`{<=d49s#(!QufwOB_Jh0|Y$QGH{|k;6 z*V~2Xz`W~c%Lxw{B>2y6(G%?lf#Uj;+FO-vd?$ETe?!CzIEIi2ZuZzuXF#EY8?j%Q5g%7(n?%Im%S z#N2xt%GWON@-vURz29z6F+V=$@U~Vc46ZKwi}QX~I(&i$Tj5$D_-_!$$h4`@i^TZ$&1J_fEcWXzTKdr^adjBxyc*gZR0-@e#Z*urm8dpEdutm{x z^25uU`jw;OUjD1cdV4>p@^6G*F|M^V^;`E@=;fbQ-Z)?7k9f1g+b(v$fns)@4*8M~ z6Iw4JcNMLIo)BKX_d+XougcGbqab|xA6;HQlwp5Caew81IGu1Kc0G8Em!H&mgHRj0 zc$_}*jD5@X;Xc719%j36?x@cH1X{a314Ux_2U3mx;fJ!*^kS#y)6)O%fNYjeE6$!L zJU=@@^>(@+NK1~tU*hoJD!&T$`$Em(Q(VxC3ub87laM>{w`9_GFEfq4Dm@vKKZIG? zwHkqs`9?ar$L?dhyTau-(Im%(XgJGH+}o&E-@MV`tq(QAkC5Ec=eVEQta>+eI-R%Z ze7V;M{(Xpv^iNEX1F85%iCOkUa9g|UGDI9oqOimf@PLh zIlNW-0o|KL(YFOpi=IWI=hw1}mL-mVx!{Ejj;BTY8Qsg__u9^IzO^>-ZFRes-=RGJ zWZ^j&2uXkIAHBWjN$#5@-^u6GR`L*)|LpZ%KK+qCg9JMN?UfFn(f-yWRsKDPyIk6T zeYZh^eEGWZS?7(ztn7M3{QRFW!&gY|i(e-?6(6N0(N>U6 zzx24)#|AqZy3))4LFW~(68@DCM=SI2rr!r|gP_T`FKu;AfEw6!X{*Cuyxsjk@Naz! zy@UXWGG2a4=Ntz7og)sPyx;o-I;!guJL>eE{M!2xJE;nCCH-p@&n|KF>HU-M$YejncG{G3_%fFTHS zyx=%5Kc?Reyi#}`Uh44lmpmUhL;-ug=>z7w-v&d&1@i3r2nZ%Uzsk8q>=2%dP%q&d zCHJDrpLeRmPtIO#k~u2Kl7Qe@^-~rgOrBK2MAObUJJ0m#O>$@w07j*SB-_ z@CshM!SN4vxLmGKy(f%2yjAOA5a#Uq*y*B2^8#XX^ywal@3<8TfXl5Qihfsi_$xJ! z9Q?)}Z%}#7qaAH;VH_I{obCOB+>8 zoe%d3e$mxlzIzcA510SN?_!A0Q;)g4{$Axj-NAaXzAp8UK|*`Kqc}3L&CA1`+I0*B zL3$=TdhPy5!CNHXbkqLj>u&M#t=jK{=GgU*KubL1?@QbLo(_&?u5|d+HID!Df^Uc6 zuzaf5ALDR{!>(^b+@!x-`-83*oXe*PFW>HZb@Lp5aAB*% zTR-LSkZ10I!Lod$-|-B5dkhL`_@7A|f@2&_v=L@V_?YHXmI!{(xWoVDmQI5#68!X0 zhwsq&4D$tl;1GvTY8})byZD3GpXl%j26S9c&UJXpdX>KdUvPcP!O@?@|2JwL=On=w zz0%9KK9)AfR|Nn3Q4W7&(>j43@oidqc+YNn;TA8yL+iay5csFZIebR_Xt*!CE`^xL zpGl1i9V+;KZ+Cl~eE5EY1iSdI^!%JV!Eju++Fz`zy2{IMY#L{N^FqgeNz=N}Pom+h z_k_C~PlxdAB|fyAnKsDF1%Dax6WZw+P5I9=Lyl*RffyIulwG&N4Vpf*;R~+cOI}yN ztmtQ^&);tF(5?uHG|SJd_40j^g2(74bl(O(Mf>TPWA#qvvkcL@?9T<#^XUrGAYsyI~< z{@-qO{4)R8F^nnwJ0 zLSEFX@xOoAN(O!Slfluy`|yOp4-%f^uNIzN?=eV_`z|+lyRs(|be!~my#EpdeAdCy?|U83VQ+K}hxoE5 z{4MQbQoo1QqVhf0diinXQI`q6kMzI%Xxbpb@7*-!a(Sf5-hcmE$5VdKQY-%**#&=I zjeILB56|0EoJ;vehqr1S)JcLLc%akS-Q)-MKiv`d@g ziDq1{<_Z5o=rhazxWg?d;8_TE5kCH0+De9XLHrp_!qay-+@mngp97=F&xvn2{-AF= z)_VDg1ztYr|7{sBKi#zdn9uQz3Fvcep=%j+Z9M&0XIVYElvB!_slwc ztmzzpZEtt@xb{J0qz}g(=I|@D9#!Is?iZgY4g~{o<&|$N>hkiRXjyJ>ptb9Vs~tYG z+{-^A_;F>2Pip^cz<({|Mf#_k_IF<|eHi~N6cX3H!ZXnCkm%f z5C2Y;|KJ%8e_PXf+P{LDvEK0&Zoi@5^pUE=XI_M1;_40fYYyL`-=A`?6-Djx1JQ@m zR{qoW7wfL2|7nfq+%EXBuowEzhnm*aoP3hwpH^HRQ2C$8Z+Bng^n5|^C*I`c%bB!6 z?iYNq{N9ZAUkAN90Rm!s*J*#~o+`iSNQZyA>D-1xPjvXxySqJpSaQE`k;BhxI;ZGN z;h(w3={a5aKYfMk^TaLN4HE1z1@W2OS7r@9s`A~haQH+eZIDfJ5L|x1@>80xIa_-B zj<*WFpZm8DOR?U&*x}I$coEkZME`r_4`=?c!QeMYzCXC!%cq;xf!`?kzE|rg-eGT{ zAAhZv@BVh5K~@OPpJ5`Mr%iMk1ZrU<}$IeJ2NRM9@fpjT%=jxF$G$L;ozF!;v?`Kvj~=XclB7Y}tknclM9 zAVE(~SG|$;PdT^oJLXHBp3FbFB|acL-;w=R^gFWwfBq&fKdp89?^5|MR2&{XCYs8&=%K>^y*LYZ|yoC^{-Vvb%VDzy{@sn z4x)vofKwFc>zye6;o@>BXf0_F`I`qEKBl}E>6Tq{&U5%5S9IF_ zaf1I&{(M^F32-}h-E*e%ZR~dwb|31UBR$!%*!}rgUOc*Wq2r(X3)hpNpU-S__(aqA z=X%AjNu8GtcWu|P-Cplh(|J3$LO_hyWB1)_<<3y~U%;V}4{bkmyZ*4`wfG#>tM#9| zs{Gz)zLkGX)*vec|2V`=c+0M7g9QD5p~vB^UvLi})-_FnV3yzY?aoiH9lvv{c1<*m zkImccK{FL^OxOU+jPJAJr>7U|7 zTx*W;7oL>pc-A((NU$M#YcWXS#xfexmdz-_@KMzC0rD~(6+8o}#!TsuH@$I97Zg=HFy+xtD zPs2b+|BiIp@C1H7C%@Nnr^C^FyS`HJ^3xAGKTi<+{UD5ZTGAPVgx{;WR{S4d+>2ee4>_Kfe;JB|>y!33iq3*L5dYwVt`7$aK6<3X_g~<6vZDXy zQ=HFJZ`p1oLtMUJ^6EYj49E3-`-|T}c%9>!{(JXJt`+!wA=%gYI$tQ%dxZ41Wv{eh z*iU$(p+aA|Hdx7La*L{^MQyy#4e{#|ejTY5>}D}<@>|Q98Xwu+w)opHznvDPx_Vcq za`{Srpir&lE4`~bhf2kKZ>Dc3AEnOQoLZ*`okN*wHDC4eJ1vd6vcj3-_f)l(snk-# znL;rd&JS1fwJ1ecc2g=lxGB}2DGU*wEsp}8uT+Yq)KDp#sTE3Aez>$bANAKNBSpaS zr=1cFRrC2x_)Mj;wb61uRVxjZw&W{(DFGWPmz!XHR$?GuD{mPorSQt7IN~wYwKj#9ve8Jqv8kxre>FiKGQ?X~jTaEhjrT(bDe`usS z81V$eLl~M(j*{!vIcvGz~oJSLjx#8-7eb!3$5moZp&4lr@zk;7p z;}?=pMZ-$vT9nCV^X1wp`i!d8Y^K;B6^i*ZOCL-Db-4SqY#(1xtgzRuHOxosx^BuM6E7H`EqG!D3wJEYx%_y zZ=ynfs!+`3x1w&Mz%4&(B?E@r_y*j_^SJ<|zgR1koql}FSfh=GGNn&VuRyhpfn)}> zE>nQu^0k;YwoGiQ4vs*g_&Ei%v6#<7Cyn4OnF91QQy?;z3s{@U<)EAWCD!O9;XCPz zAEZ)lZ&o=A_&NYxJo`vmf zAgcUbwkBta*?_D8;;0HmXm3NI21uq>tH1;kWefs_nb)cow&mlu?MZWMK_fIP zTj(!ju!L!ranr&3$N6ULcT%Jsmkf?qL3gbx~u zKclXMhqclsI+T7W2@6$-3ZB6}&Eyzkt?+PPh1$tdwGvd7h6LJ6^!6|dj}?qE1i>^% ztN7y8Fd{KH(nrOWn++r8AcDI>+4odx1P`{*0nqC4f#kwI2P&nJa+MI^MMy)d^SRV$ zAwQIhvPesY%}EReE{vE51Li_;6QVIc(0-#i2PX?O<+3B@#}I?SR&qb;PkgQ9*?fl& zHQb=hDqjDFBx;bnM6iS;HuqOe7+Z%o6-zney?>2{H}x0#OMv(n@TEUcO-(u_;@^{v zM7G@<3W8H`2PGs0qp9Jz{f*$v)~GVf=7FeC*zo8@)X1my7xfQi2N_WMlOF)Xplg}x zXfcb1@Go?tR023Vh*UryES4Q4vOvA*9)k195tYF1Kn0wvwZXnIw}KrNwj#63Z7x)q zvW5F0`b)>5+J{wDsW5`Ts-bwB;UHrfB?%xtmNo)LESD-4 zvWP=9Pf7YwK)MxwD>K7F;{g!s@NKA+$z?VVMCC#`zr_BUib#J^j)YNZ@PXpI!-r9g zs9~wzC~}gcf9kUqgd*s(DoTOL6UhSWN4 zeWt&kj*i)ST!d*y@;+M{LG1U(;Bov)zvXiI2tAYGe36ps*VpK>s^?2+Nuh!~&^?^u zekwKC+%*`CbD`nkOd0JO9x38W#FWu`0-LMFWN4+rqEss7Us6kqC2|>TkbDow)iq?C#yi+)A7zGMdIL$sNF1~}h zT%iapM|UBY0}=d|2sMQPlRfi2JmB{@p3puBG)1k9Alt_4(34?c2F?1G8Ok7e!IRB> zBmL+&z|o^iLw6JRZ&FZ|Av!qo=&97eaH+_i8hUT3C^rPMRY73>Vjo zm_PGkYLZlfC?n#fo+n$;ML7{A>h3DSK8+#BG($C8lN7JZ_a`gDJ3XGe z8Pk;>6od8z^h0@=7kF6bF{obyZLXFx*;)L@Gt@)1 zZk7z5tb?zq6xa0hRtjb0PN9nRMMS(U#brfg)2O+rs-^k<%*aqP0iA>J+zjKSz3B}| zEi+sf;OxfigftV!OSa1NAR%}#ZF#AZN3y%LcWG!wpuc{fdr5>~2GnEOY~Dg(QmIww z$2Ka|#^IrzP~KfBF;bzGT}7DU$V)2QPHF=gJ(~&`-pDz-ni%Q8<~rRdXqus=Yf4n- zVlKmRo+OT>{iIf}4&~Pu%QP%i+KeAWotuFdl+MTB0q-mg&r(KonZ26uf+=w)+(iH^ zM;Cphl3zt%E3Ix+Dw-R5NqlCgLMgP%#*UgPtPAPf(OSNXU4Hc1`-hN^biw;CNrgL* zytH5f$y7$8487FJOQKxfiiXd|S31#23$I7pFz6MWS+H3eQmG|SM-K!*i|x`sKpky?&! zY7cBWpIeU6xia$V?$MsnD&2QSWneSzmTk>qQsX_^8L_btwb!MQDmBsR{L4=(e2R$)LzyV2s$jd>zj7fHn zuI;-NVS>%=V&c{K{s2-(_+Y3|_vmU^&R}K;tjOe6WvVrQ(OSm75nc?f?W%S&AltBO z_vrEw+JLd3qo>#3GIZ$H6bDkQwTgRkpV5lZX2npcFEd0aO$XF&A$m#$4;@2S4o`VY zS%ZxTRe?Jk*zm|_7)q#wREjzjqd?`nAg4_uWfy8w6Y*ZMaj8DjqUx4RIZG#j+PkVH zT3&AXP-X!4JwwQusZWI@GsrHoZ#kGmdg)zp8+g@Gy`YfGGpGP4Sx9Y3CfW@C1p0dN zmyP6$sHAf+kFi#?1SvfPg3;D0RL(%D^=rC1*DhVgE-X9JkhyChlUpjsz-A>Wu?o2+ zp|RWYMPxhZ1;kQveM8dZ(o6{1f=+&Y?{cg|=^mxC2|A=O4&jmY9aVntUq>;w7Ij;% zSwdiE7!f2kt0Z55`ivNr(NW$)p-Y9kirqs<1D4ZyEG=vX6Uh&BcfezCP8uOLL&++s zUSw@#fzb*BtoCqJCeY6B=IUS*qkra zJqkU7gh?-GX%3OQ4%tvYUkFNYZUOxlSJ}*vg>F7Y)6jG1#vB7O{utki&eUq}9XJn# zqqmYNR;i6aR|0OZV>L2$_ktajN(RJxyU~VJCkN^i*q7$}Mh3_zgjEdF*GXKLw=pcx zVNx}NLhlW2qG$@4A@L8>3Q)WhyKS<6*QiuSj?NA#WEGyDYRT$l+2Tt912LEcAvvin zh1wuy6^2;@nt=FQh5?cHQc2GhSrkfQV8|GqQv4DXoP0;b~{mz0h78Tn@;% z0QJ2Ay+m>!;~GprBun0Xy`U3A?PTTJmnyVXg#GSOcw!h8#)^zjLG2-PGhq<7B4136_Sb7^RCTfe z0_QXZc+i8MF$71vt2qadi>=;VWhX3$JY!~Fr`j_E_#31-3OUGVK~ueqk_VDpuP`B~ zddb<;F(qUt>Vff8MplpZ9=P~|`w0vQp*sdfq6*n~TjJj!~l#D5-Uu8R}nDHm$~PM`fWv9JjLk6c!M={HHIT#30X`` zRO?N)*SprbZ3TTb8x1#JHWlZ3!R9-v7Afo2fItN@YUs;>ZiTc})xknPxxr+T`NA^# z?WE^&UkYGdap;L-mYI@6)W`)A`BO*LXvAwG&%FKx`OGFLBz=l^W8CG$B)XQ==wXI6 z92LBYi)DQggKL-!%%MUcQ6oC4J>+i6>@k(848Tbg8$yZYyv45JVWi)#Jt?YaoxG*_ zA?j*O2?8E^0*&dJw}g$4i!IGpvlU8mwGT+)1xseoy<|*#Ysvdu7qw3zMJ!!@WJ38hRx&~>+A))-1~rNvC)DND`WpKoASJq_pu>lFa&|A zXqSFZfu6TstLJ&9FYeI!s;fIIz*|AJ%QS>U2gY;=hF~dq$b#5DrIKCbY<%Y?BbMAIQh=qU5w5L>U8yI9=G`n0)4&P}^p-Z|i_i;%IrfES^%xKm-HW@Y z>={M>Ve18%O3_{QYz+-T-1xh#PzJ+n>=lmbTnw9S>c-?Z`J(g#jlsa17)rJmF;_*+ zM99x?p?`3ls9-XTT{hDTCIg9#1$u?JwV{yTVvUg10a+@GS+^~yY&k-CJ~)#&QCeY% zl9~WQg7*hLAVOa5F>XyhpR0ny%qYCo#IO!?x_Ov`^4Gd^z+0|MVO0xB4hn94@A%f6 z7K;TQv5G;;_%Rfk<8t79ab!4nGAg=yADjdPZaI&xY6qr&+0Vrr#{I2Z5k_jvuAL<2 zdX**W=yYbvRrDyRP0FnTjZ}oV^8@^B4Q;E+1Q8hzu(__gyMdRHn{Y1E%|UGLc1RyA z$(E*gHi@^D0Vr-trCBS!7HMe|Bl0TjZ{FSr!9_PMiG^9$b)_G(0-T7@*WKdAzeh&xG70@aCC)*6Xu z+RTo|AV&WZ97G~i7QAbYE|e-;Yq?Q9VPLZ?SBP2VJW{(MUXEqgy-3J%Fw8St#<+|3 zz&Y#>v&Bk{!ZsVm3ksGPnW-8d=mC&1#~nIg#xQE^jiFv(PbXGX1*;Sx%wt`<0YGno zLA=o!1Rn$5(WYvMpe)3Odyl2w?^tJZ#~qkYdQqVqVrQH{I}PkG zCAuZSyII__o1M$Rcn$QZZp1O;#taY4b$`=Iy#cL>oDg>}A^6o?_>~A?Xs?aK0483o z$`=P}gDX86NZFxpR^fmAhD3f}_NCEdg*rdkM|8B6cBc^i| zWI7<$Qd+z~33#}*QBe~h72laabujf`orhJ@Ekf_u0ZN2wjE$NhA{-G}k)303BB{qd zmf$Yg@=8WD8}W`gV;liuG*Vqxw5!u59Fe!!tQN-7sHKI0k;x^*V0T@4?ADMIERu1Og3 zK6NpzB6O{2j~3(6oFK|hYZpXuEWKw-ht$@Xa7D(I`*O)^G))6~XwST$D0zSZBzW+_IA`f&0tZXc_QR@qIAF)415o zga{Vw3`a%m-~cf>z1Bvy%d5IpoyS15~4S0##u%_hw2HeIy)cQzrP@&ixm=_?onTuEo#@dMp)roEs1_a0v zlR9bUCVb91SOFd)MFAtRzT8-23%>Y`0f!pS5aiNkR%BLH*8^zoDqeedVfzedwA*Rr>w!olHX~NG~3oZQmut`k2v&!-T%AUiBYyyX38i#9pER#fqrh@FIDE3;UX^tM9@GV^f9R9Vf5-|xDe=&Wa`6-{_g1j;FjJd9= zJ2}e0GdJ~Q651EUKxGyZxxh^JvJnggb3X%?@F>579M3J-V397dmVVh@%9Z+cT6bfmD2(g4_xWZ zIIE4{3nX-4S|}dmwfJ2hxme!4EOlugRx5!X+BSxMGC7~%Bq)THo-Ku1cF_E)_c{aa z?m^Op2wk9PecWv&*QVkgsdkd7e2cRV&j|X(Hh%I40 z1YU%hqtVClAo?VZiy6SDyw}>irsTG+kR7CV!n``ER%4nRv6eUO3=_?tbOz`UOQKodaz}?J22{DF(K3# zr{GP~PT@Ht0O_=)Ta;0F;7wS?0dvL;c_;D}-aosEW7zUs~?7Ej_^ zwnaOJ_!yvZP>~Z*cTO;CTiLe~%OLQO7Tr;_extc|C0=-++RSV+wj?4&KXU*Bo|X-R z8JfRw9S*7wIF-vMh=H`ObB)Uuf*s^?X6GPA4Q6;WRj<#shUGAIT+0hvN6Mj}NWt{k zM9**rTa`F5P6RS$SRY0NfIl8((R726=Ce}1_?`d>2SFjoAS0L44169o%Lt$6`2 z9Mebk!kv1$6EnJ!Ddy^1Z=oXzZRjlhkR%u&Uh0E9wD?1!K;ujbC@(mvWwX}hyk=3O5hY}FN z0dUD{NDbRe9m>%K`Q(=eP!_cXOtA-xyNL~fih5)-+M;Y}9(``Cf5IePkX*eL2#i=V z%9x}P1=Iz?!uS(CSk61n-ZhHHXFWQ29EGA`u?cY0y`((=gto-~w`gGya3*;tw@Odp zYqNq$byPhL<)r4Z+?gyiX7=QWOkho>h@DN)vUrj@)(=N#wVK9RL+sTG2NrWiJT?rv zuTjs=Mx>;7>XziOeGd&vCbiZzgU_(#Zb}q(lGI~0BR1FJfb!@sOp z#Tr4W1@$cFlW^_@eKL?Cn&Mg(~?Z&eXp!P0)-Q|Unh-4h;#|BG_u5!j8Nd1-|0H846#}&}{PL|o!d4R)W zT&?0KrY13Cf^9>l#uby;8WJcHvl%o{XF}6#U|1p# z6V$THI$2nk;hl@Rve}RwyAxIza6~`XUNn~3+z>Y43K40FBS%O?@QSTZ#GYjel4F1b zaZto5Uth%Xa~q1IUymbmB4GCNt6X@R2V%QuAU!W_H9RAZ~eTeIZB5B|6$Vm_cj#04qZnd*v3p{v2RMjkH!Z)8D?r0Y zfCljEt|&L)WzC-+<03Zc;ZYYfZG9I9ND=Zs9yg__X2#(X;!TwJw85#a z5%I{FGLe{X{4xtmyc`KnT)H}2B24O^UVC8S)$-wAV%(ToZXK$~4Gq zAFIs2$+I;2v-7tkhE+lq(lwkJ=m>p%pp4neSwLfo3xCB?Y2mS z!GzY4ZEP@5c{pW6Bwp`@CdSk`!-)q;=Z2e-48~64k}D5T zhG{EZx6G$J3Zt;yPHHi|HDw*=11K3B98v2#p!Ix<+^(yuH5E}t`!3wK%u4?P&Q55? z0FrM@d5DGiW*GdSjewwy^(2q!G{{FV@D(vehqmJ+7SPlM#YCBG7??e>1TX_s!;rJO zvZ&M&D4_S=T4LF&CmJ@$6~<;lSyOD=Kw~@8X7_4=k1a56@H-KpE{(ui9+K)9fyHW+ z-a>(ki}4RjNM~&WiNyf(@+?JuWERW0s2r8j1}x#Ex?o2pcY|`w-a1t1GcmNeY{L$2XufMo-8dkGVbTU0tT&U0 zk|JI+gNA@hHlN%srbPIwZs0sADi?PDa6Mg>-)svAs0y5b>&ALC zoN_Kg*OxiH%KDS(myO|=>$L46wvaNxhh7}4H_Tygz$hyOomfaPDmZ@`6`m`3SZhKy zA0p)BlcmIprxtLlzMGJ0%uF9kX>GbRjsvW1ZI4$5n%yVa!VZsPs1R{vQ@$HhahQCg zJYDa>vO)B}v{u`b4bgIJIN^o`tY785>E`OpXkUIk zdcd6I12Ck+&<}kLE6=4(c;Me`jE3S(uos;0u;^Ba7Qj^iXrf`3LucbFq-|9wo0r9` z9GwMIsDw+vP+{3SUMS>N+vGl#`yiEP;-hVIC>(ez)uO7$Y95}&8J98U+yXlHAVGnN ziW0hSg!U*?V9o&5(aME-&)L0ZymAQjc}mTdxgi)c7$z3>QjY9CARCKi=#q&Yo5)ur zHXjmn(gOv`!)gphR}-4%npvOlwUh%S);E|~o8g9;5bdN=lDq_ue3;G~XI3!cD=6v3 z@z@PxFrO)3Mm+V+Dj3FK4c0pXFIJb(`7Pm9TQtn>jS?0q1v4mHvmd7g$yJxcgo%{_ zF21sESQ{y`rHr2Hp$0&F3?eam7Pc`5mYK3c8DZ#_eI~bHTRJCd_yM&Iuh&t-Pa3ye(S}ntg~>FBPZB<2keQDkqyPq`&duZyFKsc6 zojO{@ro3Wmgd@wbQP_fN@}3mI-Eowbj~QrrW=D3D>5Em=?Q1Zky7ob3EeaJ$R)iJ07&X-%iXa3m0moqmh_JRrHzqOeQ8)F*V>bePCK+wEQ1$GFqHeiXOt+(( z>Wv}+!Gb(%Z!{k~4hFvrs@YL3WQy3SQyYx4+tii;93E@?@!cm=QCtkDQZKu+Fy>oI zppXNxhJ_%Z7QS6qy#Vd10z(07=$7JKDDx-q#!Cx0!NcZLJtL`wBX)kZVI2+ zLSUox)W>+L1JWMBfMD!JF}@w|9SE!?-E@d(6uoMFysv}j;)b1n;1>gFjz_2ByZ8^! z60bDm06)}Wq-^op)&l^gOC#m$pqB8}c;Ikn+<@}dHz=wS=>}d^T5EHg>UnYn7dOSl zF_L<^bNPTcEil9h5w<5H%#;LaXp#r7t7@uua~I1}h_%bz;9}i#GU~eLZUn9wOHx2N zg9xavuey*wZJJs`Nn>NJg2Vgjtw6Wc6)h)9jgRrtk1<w>6~34|Z7UyWPFxUMtx$ zCD{vd4=1=T2_p*%K{uc9elbHB+ErTVKUicj0hKe2&_V#!(6~m;^ixlg{9048nKQIk zDG3Si<4%&R*D!>JB5niu9OjbX@q=3l-Lr743aE)^BQ2_tye<=kL^~_1jCB>YhkU|r)h?uS8K!egcS?btRTuu)+jL?>TtCKiOn zgWF;w$K^0Qml?*iqOC7re!%%*ycD!L9tKp)fhMdYf`8C{cyu#$dWxobf>LR{f`y+r zpH%H6zIo;Zj8;9!e0<-IWjZyeB#6?)0GPosOYk7OX&KIZ^KoS#1WKllK!pIAOwW*c zVzsjwKrX+T$I;}&`ag&m7F@x6lzB#HTF_6$52_Y)JNDx?Et%P3t*7zXfeMZNaVa`B zS>RL|i>zuO3Dp}uu_GsB3I}gW3*;YqSLi-ClW<@|wqIX|5#o>~@ zAsYmRs)tzSbC$75{SX3r$+B5G)0In%i(1toA|s??j}BjQs-0A>x+KhfM5@$xDXM2M z5`l?SgvBs?Y>Qy39NxgD8b4nkG>vAMspRP`l4%~^vpmm7yPMA0kS67|vpArl696T0 z2@r^#)zyphqJS+F!VyWy;cz@5JUrOL?Z|;^Sa`%25NWmkUiGk}6U@_{@huRa&G2NM+hnpje2bSd^ z(DX2>$HrZhuar2o({T1v%75=b=bzOZ46nwsSrXQ3+gK6-93zS}2w!DNhLbB|3BDFf zlw}~vm5ohA+{Z+7#)cE&>##b{``Om7PRvRGQ`0P~`wwy)mD%(lyRsAqZ5id8*7M^D z(m@>7$&<;}U>=(X*m*vKb(CnCr!>jFr}oAqCV%1xBUz|Fg7F8cs|{~x0is-K6%&!{ z(11o70$p@`+`;kzJWOa+Vs^o#ujRRpH6L;-mjT~1RcbJ9H>z6L3CPuWHCm$f!vqED zEkS|nSv|Oruqq(-v_78fp(-33w5kHtIblIgCcJC8m<(W4fxGR%8>c zv#EnPysKGvO`wCJprL)C0h(^paX}{VWK=fpF;iheo5wI{3TYo)Z|nt<*_{oUN+Hpn z<>dA;PHlN0>fUs z_{+=>0!kzVobFWqi8C1s4n$^-MPF+i;QiWx7|uouoC#H;?L zGRUU2GAj`7{FEM>z_*0tRPTgw5#83aAvjHHF1m~TNGd~@(dhKDe)NRWjM?&2ZxQWe zcZ3Rxq3wDf*31$QO<){Qr2CdzS_dCdz~VzjXdkQgvy-%#gi}m`%ali$>8vjj3e8sx zU_&G$j0EGbaJ-)Elkg`VRCT@m0V4n6)DV+U+-`r3*5geyI-;sM^I zv$q3dIE2P28Rw)iI*VXl$q)JhCLopG+6N|hNv$ffOrvBpeKCh&DK{j#KBACQcYNON^QlSPLKeA~abpZei@41hy0}?TeN(HCvhZx134A);9 zj)W|mb2!~6=4l&pJ(CQSLJ0$^jajEy=(A3Ez}h*jRw)b&(!6<(O<6VM&JBw-5mQS; zSc+wRQOd`{HthhDjbwv(XVPuxIpS;(9)xL26;VzcNe(|lx~RF{9|j4bgG9_R?Zyq9 zmw?qDWz$+?fAHV2o)#$4ngs@+4VbK<`0W%e&9~Eti#Q=FPSDXs;6|bzBnI((J}UtG zane`G>f&sGt(n7`{;JI;*IVQZ2t4+qMR0^P3ihSFkA+#KJkD~&3rK`;${(|M6sTv? zxG}-G=<5T*cHk*Yr~^MoRspVX#EL~0co564I5@mPyMBSl))R!(gP&T5=mFaeIvEz- zJ>$i?6hfD6Cjz4c*bt|2XWjLn_q`=sr>YSQPVJ#}YBadX3KqNc~V_mnzW7A?AGF zNqtHce20S+#i}l*-?Cg9C4vo^mlOheJ)V^%)XBAmX2sHh8Vv~rYl0g4nq;XlN&;jj z&j!r~hJJTSw~0NJaNHJstYx9^(i~}CO;({J^DF8^3!`Q zHVu%Jm^lcp3I-6d2d&~hj_ErM%q?ng0v1@} z%$zPU9&!tA%XVt|;66-@rke%Dd<|kZpMvi;hrzH#>Uy?doI0PgWgjx-D5;vL*>E@P<+w~?g6r3X{L;qFWJ(PB7~1vOrTRL_U^&zy9_VRv7qPZL zgW~{`z~ch*kLjAVxBHCTPfT zeQJwIwDSVmU&W4X>S-A0q1W>Y=nmsvuZhyvNY+J0F_O(}6(=i39b4)u4=?T3KX7 zxkRYxwLl<7c(==$KmzO8F~=z|ikr&W`RFKaJ{F3ljG*aoZWNHpGzKidH5aF&&s_kb zvR*L|*HM7qTBu^eVs91F49gTjr<*L~VAF6ii`lz5Fd)KSCb?&$InX8Ac+-z3#OY2L zt74_B-?oki1+lQg(Ks_BNOEAYb(&&l!|)Epki($`!UWK!AQ0D42*iG%B6v?U73Pj& z?iVmtLrten|`4`C8YJM68JdwlrvUU0t>!F-RFB@;`3HY$v`{eM{wmtzXkn%e0 z6Apy+#L<>vAn+`tkx9Mek%2yfibz>0^>bu1?%L5*_z#dU?qerbu?B8h(yMkT2fGz` zx#F<~#Ktqg>u@NB**|EDf0vNW5yzmAv_FOyKmw5sZd8#pG=y&7Q_8?+3k1l`aH0XJ zf{@L<`JjnUuUmA$;U5^eWD(?4jbp#Qn7}qlBv11M*ORkF;nkNI>C|J>#QK8!#9Unc ze4CJ>xL%r1tIyqLnz!IC2WHrAve)Mkm%ToV^X3m~i1=i!^;Wl z$ebYj?%LuIn~un$o&(vLJnJK*H$E_jrg$aXZ;DZHV93(4KyHp{~j_A3Gsj=CX`CpwV9o=E5eK#m8zcXM&!OCA+9Q5X9>JkQz&j zjT`l~!jz^vR=naNf-l5``Ut63;DqH}8VNK>$Ksn6j!A=dEkebT`BdrB=j?pKOY?sX;N1@p=%B2Cl+5OYAquHsWj4dP3Cz%z!s;c;qv5TR;b+3f{GK zoLYb)(ffuvQ`BsVzbl6rXuPebOre?DD3%QE%1%Ljs(uzEdK9Zxqm8>6O3BEChApek9CB26p+00S0BkKCJdReW)~cb+2{nW5nw%{i zN?{|6%~ugu-P*nOVC_8mEz2Juu)dwA^C*Gr2FVPE0yx$a(kf|;7&Lo?g9(Etj9vX4 zWtaDny?Mm|GDG8HY4|iAmt;plgi}5O^F1?(!xLh&{j>(A)cfqn>OA^e_<0#+Rw3{3 z{4%Zx{L+!vs4`@kU^uG90;F14D^YD&heTd8>yK54T=#_vf#b1b;}`xzQ_!ajr++|T ztV}~Yb%iq5QbAYE5}D9a6y+|rX0Mnyqf|B*`e8~oQH#0_0h4ccgJOc=z}J}aCiIp3 z*M2agyMBIh?E4cFH8crT3HGu|TX_@*#n3Myn=po8E1p6sYRVlp?6O0PJdDqLh=DXp znCjw$=*gcEwoz`52&^e3h6rRyXrUkfq_%r#GWmoldem)l>OewH_Rj7%(UkCj?v0}1 zpb&1^BT0;!DK9X?$Kpc{Npj4bHf1girRnL&Ie^#)ZuF-0)LGUOOOvByNq>W(8vb$} z*<>LG3eFwfjr!wu5ypDa#vpv|V8N`FCN3I(_K~%?&bt%Ewk%{9uC_S!JN&L>&mfjw zvY}#(rN7BJYWq1i;6n0&P@BUFQJimr&`eZyQWPKA9N(Q{fdT#+lLl4fJWNv?!&@A0 zE%fxkK=_kDC}tccu~=fnGl!$x6<96^OkU}qZi zHEzL)0~Z!jMTdawBLRpM{`&W7U!@W z1N12wmP{dU%usK%+bppqj20gpe{8#U3~0CgUSh0(Zkq0cAZZVVK%Ll+hJ8+qsG-?0 z^SHb+W}b1NKU=KPiIbD`n6cQD6j1s|AnDcNm6o8Sn~34DA#FCx8Ery@I5d`}K4vU- zH42A@)wpMys5s&oJRb2Rc}EvVSYj_6me7U)SB;gjkoDa7>$AjUz661fKb;VVI-F#c zJoO()W2LlyKWQ;;;2fB=nh*!AG3YiYS+Dl-41?@9i7RB__t&!AUo1vxNK8DmIpUvF^#I55VjulCXahjybnoPYI%;s zTF4RO@#@4JCFDS_>#c}gqj#M=OPAHbJawLBO2>PZY={`_bp=aiS>AT+MdY$Lf2?Cg zxPZXMmYByNb+%)RMKNZr))ygVU+`o4K58Xv5t4KgS|wTUdkxrVkDKBa|EU{P zC(Xe?SmH;3-D(e*==`t2aH6|1_=?My9Mv}Dn# z(M9;4T8yu4Q2?L3Xi5D2^!VH2Q{t~DFRFiEd}<8Fubc-IuZ_Pgu46bY2G(CcIl?t3 znrnaO;M*JmqIuD-_%<)v&Hm2AH{SX4`H64g4gaj)5eMIxi@yI6FM7G)j?w?lH<;HQ z-sc@JKI6Z6_Sf-w+x(eB=0|%Oj=ik~d?RpNsi%hDa4S@!Kn|HiO4YBMeEW|)*^Z5ci32!-lUX~o#9Z$UtEHM}N zei!QJoy&fK;n)j*LwmerxFi2aqu0c8bE3UtY)L9u(zPZ~NP5_U`n^+_gfGQ_Y01Zl}Y`?~3}8@}+dgD_!+c#HFTpRX6S+8ebVDVD>#k9-=9*23G zSmQj%VXoRpPCAdGXqTP*H)kiXot67b!RG%D*Z-Gl*Z;|Q|Ig<6&h&I=u)j2i{}Ofn zC2;gi)K2+G<35Svi>X?-_j^@3T%XKQB@K<wm0! z$G3NkuV(o7ik{c=+pPS{qZf5QZuc*X_IQWaf3V@-BYK7I@37~)M~CbF0DHb$biD3g zVfVX6C+mKJ-Or8A(Y?24PTZdM`|f5l(3AEN2fM+a8=u~8U&$MeFNJGmqC6NCU)>4# zMs}TbZA`$w%2|hfMfbUBo=$cBv*C+5io`4^mpmRq8 zz9>P@w-WHlfE=IG3HVWo^3NvV3legiNx;9Dz%%j8cDtjVB;mhFl;4qPZ*+fM-=0d~ z**yXOZUWwtfKMmj2PNRIOYp5V0snEL{Ba5RToS9REdf6$0Y4)Fe z67UZu;EyNZPyPRVy?H=XW&8g>pd_g{q@rYDXjm>$py2~33a*2K;=YyQl9^_aL77^T zKsioRWSf~4*=9a1q-ADhj~ ze@N+>O3zXHETtb&db!d|RJmd+%)G=VRI)2x>8hK!IxAgu2Un8P^|Y6&bTtjQGL^2n zkISQUHN0GTN^h#lHD2k>l%B8jKUII8rS#@1e1X!ju?ha0uXH{e3H&Qox;r4^=TfCd zE4^Il7bty&(s|Dw_*bEHKGO*NTch;W0TDkdl^&z?jY@B$^eUydRr*e)U#RqIrC+4< zy-MePHSn)S>2U!OKP{!VS9+b&FH!m_rN=AX^-QSWUaIs+r6(voTIrpX9;@`rlpe42 z%az_)>7A9Hr1UOIPgQzXrDrPr3Z;9Lo~ZOZrC+J^@k+l+>G?`eR{AWZcUO9W(&h20 zW1Fw^t5x`7rKc!;snUBYyyJPCEqrB^Av zkJ5K4y|2=%m7b~ey-LqgdX3WiDcw?ff2G$ceSp$WDSe>QU8_U=e~{86l|ESM(Mr!& zdaTkvRTFo-(ub(BE)oQF@-z^OQb9>Eo3?QtA0hAEoqJ zN*|;20;P{t`h2C2Q+lz|$18oQ(kCdrTDMZ~Qt6YGzESB@ zlwPIusY>6e^l3`3R{9L3?^XJBO0QA+Or={&zh3EeN}r|lQ%b)<>8@u({eQO7Bb7c! z>CsBRQR%TtpR4qErQf9V&Pu;o=}Ag2PeSy-KDt)2S%ay)J=_{0er_w8wewWhMD1EWgE0tcX z^o>ftTj^CwU!wG#N-t4*wbDzKzE|mGO0QA+JxaHfey`H&l)hByr->39=rTdlMS?TvHJxS>gC_Po_Ug)^OXLm(#I?P zF{S4#eTC9zDgAM!7bxA-tTE14`V%UAvC>y5eW}u)RC>A6pHlh?r9Z9o3Z+*leT~we zQF^7)S1Wy^(w|j&mC~P6`c9=kuk>oAzo7KJN`F!5HA-KjbW7Hk%_ z>-kXse_82~N`FP^(Mo?+>9IxZ&12N>2E1L zPw5+#K3?f>D?MN7o0L9F>F+4LK;=>06avsq}41->CEtm0qRv9ZKJ+^qoqtR{Acb?^XJ4rPnBZkJ2rrf28y}rGKpS zQ%e6t>8=+-{r^*?M=HHq>CsC6OzE*o|6J+uO8-LXot6Hj(vy__wbE0S{*BTzmA+T$ z9;JV)^gN~SQ~G$Nf2Z_(rGKyVSxWyw=>3fx4r}P@7|DkkC>Bp2_ zr}X1WKc)0PmF{{m)c;Q?JyPi>l^(71zmy)U^ixWYSNdtCcUJltr6(!6Uy{U4=g zD*dd|JxV{P^gN~4D}B7u!@@#_e5HpgeU{Q2E4@JJ5lWx0^z)Qntn?;IU#j#-rI#!H ze5J2YdQ+uWD7~4|*C@TY(kqqTLg^cozTmu2{ZuL4t-|kAdbHB3m41QJ_bR=m(rc97 zO6iu;TPwXz=`l(_rSvvRcdZHa|F%kxRQiQVk5+m+rN=7$BBjSG{bHqeR(hP$la$_G z>8VP;MCqAIk5{@!=^d1wr}U0WAFuRFm7cHk1f|bXdMBk9DE%^}&sX~8N-tJ=XQeMy zdKaaaE4{1IS17%k(kqmHh0@n3JyGeEO21O+8Q(yNr7r1YIiPgZ)h(z`2tuhM%c zy+-L*E8S9hiqh+p-c#wPl>Q&3yIuY zQhHydrz$;D>6uE;Qo2X!{gj@k^!`d8uk-;*&sX|DrO#6OAf*>5eX!E!E8U~?Vx?y* zeW}uiD7{?iLzTWl={ZWTP6M(kqodT0^~{DSe#M>y$oT>8F%FQR%L=q5eNf>5)pmM(NQ?zgFq7N}rE%klN$D$;UZC^}rO#9P8l~T=^h%`{Dt)8Ui zmA+T$cPPC^=?j%^DSeUB>y&<{(oZSnb{cfelDt(F4E%jas`LkyUas`zN?)P$hm~HT^hcGxM(Hb*Ua9oQmA+BwPbj@g>8q5!Q|V7C zy;|u{DSfZfpH_N}(kqm1Dg7Cx*C~Cq(oZSDE)1vS15gx($^^c9i>+){avMRRQh{LuTuJE zrSDYw`%14?dX>`mD*Xec*C>69(k-QLReGJ$w<-OU(zh$!^-8G!f2j0GrSDLBw9BriVT84{oy+AZ*%s+s zYS*WXtRC;G?=%|!yD!PaZ{%6Lz_4rT@vqYmGCkVW!u`nM ziX1I`fZT%Y65dC4lk3hw==3=`np`8in|uMeT6hb&CAms?6S)<+Qg|J?HMv4~Ejfl< zF1(uDhFmPXlH8VDAiSI$OU@TwM!t}oC%lA=Mnw6A7mzO^Ckf9ZUrde{o=uJ;M+;9Q zw$bL{20}3m+g~Np=bE zBVR?X`$yWJoJ6h>-c3#>R|{_;cPCc~ZzA^~R|>BqUrnwMUQ13PmkX~Z_aqk!uO$D6 zTp+xhoJ!6YUPewM=Ls(%r;{^<7m$0AlZ5Aydz0gZXOlC?(ZbWneaJ51iR8ZIy1%9U z$(iID;UVNKauXWxGQ-exm>s-c@Vi+xE*;gxj?uj*+b43 zZc5H3=Lv_ChmbRc&wLCXN=_0!M$RF}3m+oqlB0zWkcW|7!u!a>$#rL>{mFUc8sXjK z5#(y&E##5pD&bA!QRGVDb>z|H3gNZnG30XL)#S0{V&RqKapVHw<>c|?eBou}3FJKC zCFF_ZOyLFON#rEqdE{%z@xrso*OH@!r;#UMfb4wXrsNyQdBWl3+2l;& zGarHHkduUuk#8i&3m+oSB}WS%Am2oG3GXA{Os+d6?N2Ts*9h+>-$Jey-a?*7t`gov zzLi`lypCK*t`J^JE+Ur;uO{C{E*4%%zMWhkyqr9roG-kLdY&j(jhrP7hlgr69!n?^2lB85ME1u zgj_DXn*1oaSa>D*F>-{^T?~n@xrsoPm-gB zr;(o`yM!l_pC;FxkoG56kZXj8ke?w}3-=?hCRYiklbJqv_H9$TqC@j{5rW>cnf(Qxk`8wc|EyOcpdo-a)t0(@|)yx;nm~~yoFpPoKD_Kt`zQ0-bStv?n>THE*I`d{*YWO+>X41Tp-+% zypx;91TC)bc`goluS zB3BFdBOf4F38#~PCRYk~C;vjO5bjF;m0T{|k^CFEShyYeAh|%eCD|h93pXX(98RthPA4}a zR|a@`SWe{wXrMtC>*0&=zR7II5+mGCBVD{`gqI&y1r zh45N3U$wByg;$f?kc)*^lG~CCgqM?J$@#*|$QP3HgqM){YK5ICynuWWIZ1dP`C@Xs z@N9A%Ia+ucxjoq>Jdu0}x$dyEKRKRUBRquMfm|)zkKB=5C7e#alw2v?ot!|f5bjFu zL@pQZNWP3*EZmNKIk`Z%CAl*>U$`l`3pr0XoZOY1DSYNba5r+2@GS%z-=+P@N#q*g-Q;9)weS{lcXE~RCUOsQrSLlP)#M7{wPe16V3!N8 zCif&43$G;qhg=}MoSaI|7hXnABj*V(A@kJ&J5zW8xfeM}cpkYoIbL`+IfEQ6JdNCk z>=K?x?n|z#mG&oRl52#Akh93u!u`no$W_AW{ z8sQ=2spM+me&lK7D&chUbaJI|ck&E!g>YB$b>wp4j^vr-V&Qh=>&XSeEy=uaw)2IX zl5ZgA35SzslQV_SYy;0BCkY=T-$;%ZK17~Njut*ZzKQG--bcQfTxUu9lMBc-!n?`0 zkgJ8akmr%Bgg23IC07csBNvh@gx8Xb$mPPT$+wYEPjeHl`B|MS5m|S;I+MirZt`QzWzMEVv+>gA3 zTqT@NE+JP6cPE#UD}=j}%gE)z9m)5Qi-p^f?Z_@tca&nFEZt{cVYT+&9<>V^iP2`8j zmBQ=D50fi|*ODJ0mkX~ZKT0kZUP*q8Tp+xhyn>uByo~%fIZt>Ac_lehcmeqda+2^o z@+xw?@NDvvpP|Y>*qv=13#xZJlpv>@Bi_0fuk>Xey(hO6?Cg!O8NU6pTrq;{qZ&Even43|VE^ABMX7J&D&N-l2Z^7t0U zS_RW3mEQr8CeHm5r*I#XXrnB0yi~b2pbQdoQlxz+RAelAVDc^$z+D#Ju9?d|AO9g| zOC+Bu?=XYDbj#PF9gE+BQT-87#yB>L##HMjWBlVHxbsJNjBz$%qB^V*#`qYy}8Gq znEDhRcKSx2U>sF(F>yc8~35?UB-wMQePK1v_O zld@2)rXp3g#8&r)t#*Vs%4lpH%|$xwE7uuE7OF7EH(;x2j%?rjNbBzyiCo$rF3}zA zDF|Yk<|oHel8?4c!hc5I?Z`J$P6^8E9eE7pbo}S>Ejo@zy^A9~W%WfZ=(-EkjqE#H zji+LXQuK@60frpkC^Yx}+_KNzWh?08Y5ZrxjW@2#`a(fdzl9&@uN|+I2J0au>}8c) zB2~4LMqiKQU7oU&?y}Ax`zi?^bL<)k|3x#?Z$_E$vtcx;9BVBVQTEQ1i(IuUa{Qe> zkO)z4G)4q}%)-9O>>uwpG7Z-|!Aic|?XvHePMPtDaX!eY?vw4?x$IkE8kl_2&OwWq zBpz^*IC>$v^JvGM2s1jyDC6NvWRKnA4SGnXbF}QzTMk;ivI zcG?$r_8R6}^lhLI_O<4lv`hOTcDCs-g)KIRbCS7MOocM%$BPYMTtlJp$3kjOIZvrbK>Z}R+u<^RrWr~J|9m23LB5aO7 z>QxDw(&T(rTAJm)7?pOPxQTd(Chs3e?H;pqJOUS(gOjVQNO(ZU8F?+oZOm-rV-9?9 z{@!zu^s2cqBFs#N@kQJdGYv0=xWcyPA!l9_VY!q0G;8Cf^fz%U0(J@n#P4=%6Up8p z(`Cf20I!oNF)GXWnHuy{Ab#wJOz_o#;3Z(IOI%at=R5qqIhsB3*3VjSEPA|K3J)Y# zz1sRbwnN#w25W$5gEKpfRq25jhQyW5dTZH(}ls2kF*a6Xt7^^wDvWubqzfJY#&@ z7(X}0{f@DRG5%_je$yC#bBt|_@d8ORVudlt%F?JMVRC8lIEXFizt}&*W$$ew=8Yj6_>bubM-Zy%zgio{Ljk9Zvv(?5p)N$4*;B1-En>qcvHr6b6ufr)uh!fjPZVxp%;zO)Jv)rX^df}d6pUDrB2M+ zwo*>hb}@5}@k%kKTb~$Xxrv!)jA>5H*NyR3W9(s!103VS#<C+ z)1##lCWZ zaU$LBM2a~#N{arplhPFG=-3gz8U0fy{9xnEGI`%+jGsHkuEx0EOf&J=j{M8dDU7K}H*0o!aMwUrq@;_!wtd5a7++a$aV2pP<87MQxTaYp~Hd*7c z#xetAMrDmGYKQsckbM7GC!7W>$QOesLN z_nU0*Cj-6P2YNrUrtd*1ydUClRCcnk!;bULmj&UbNRPM9<;t3zH3emhxy~fl)5*|>t)*<8n0=g6j4{h8+e^k6DaNR7GhT$m+KU z6iVKW(t(;82Vtfn9y1P>Y6tHG9eju0X3F|Gek<8oKM6Ym>^;3d){jWCkK^#^@r@E3 znPl%ImUIg%Y-*zXF6LXsJT}Q_d#U*&I+#@ZIg@7BR_&Z*Ho|Vr*^i@_Kce&m%Eldv z$44hOCODovz5xl5_ER&Mcz@CIlI(0E5-)1T(>5}gRiBsSDVggED{O+QFMv76mkYzu zEMy(ZWJd7EU4lgHpOGr0cW=1}d#>9tRO;);CfRc`xFO3Z%9AQS*P^5A9iFVRan`$| zC3a;6mvb*YSb`%51rj`Q5Q1m>MsnM^5W9MAjj_X<)ebwnBbUhzFTptU!|FIpvpUn^ zC2;7u`&7-*XI<`6KCZ{E_^;uTdVEXnbNX5?gv<3Fv{%9vQpnnjV=p?~grRM4@+h1O z=}Jes4H7m}+1?%QQeO{-E=)+u@gDMccUZe|3c!h`Y&5)Nmt2KP%k@oRIkM_UC2=rf zJRQsN+TJ79@NulTs}sc4dG69oxJuq{7fMlLCYaoWCGdDrg1g`ZC0K`OsNcTBq<$Ct)d92Q z8FTCNPAnQL3-%oEfoxw6``zdSRL?>599%M>^S#{*Y2N)0TdJ@p`p5{!OEfp_eXWVn zrj`CokXm@>*i=+Tr#J8;`Eyid#HFCqZ7HH^C?493AY>FEMyU z!{FCR7fZYi!Lxm%*q?o9X4Vk;^NO~pq8Ld(akO#xq+IL3b`6|~XL}d|pa4BWE@F|Y zxs(}84_{o$wn38(^%ic6%r2=4%jtz~;x3!p5ofYz@n5d*debpSCnVVu#9zkGIZ`3- zhI(CJ>tG9%;0L(N_6?Ux#Qbz^XVy>L8z%Uj=E6sEW^H8f*BSR9po3D+(@-NPv_t5WtyoGSNv`zkRHeG4OD!1c+K^Jd6tU zpfqa(9lRp;nB~U4ziF^c>DHsP`(e*D70PMT9)mpNwr!dTKMDS@>Ns7Zj0twQs$nI3 zbA?1mHWAWsY;`ID{p4z<&`nYpXWAHx$RRk$@u#>L!8eY*t_U@4igYPcc&UQ~_;H9- z%F<9X^s#>~ zELXQemUH1j_uSc6OO6(q6u09VDA?1Bnd0pYQ#>fEOGK^-J~I%UhpZ6{?h*IF^~Ihp z;S=Lb`13;H(I?^=p{+!aVJyAwS5t)FJyHYL1|}|kWzgx@Y<0n|h>P3kmalZo+n zXr)cHHZ#JTh=5+Ul6Kz+HlthWgahZjmZ*|+36OXP0yvZ3Amr0o%%5P04*yQmEwz?7 z$fQ}1D-fsFP^@ewnu!={IyQ@PMjI3U=|FhS-t8Ft0t83HogB<8NFINd{e%=dmRWcN z=g6#gxhJtbGC4)M+u+!xCzgFm~_x*7?$stt3eNc z`(8Io^s#=j&G-<~4o7nL4=v9L-H>D7_{ftbd^a=PT^fhC?Q?v2*r^}M@qUxTRn$6n zJ_7NQXREvPOP-RsSo5az{(R)gZi@fZ@ccyf5h;HRl5!0Rm8*|+A`*H1UDmWtpBek= zP(x#i{E`9oAb=VjcEc$@Pc{KD%T4rWF}9@II7dIq*nWvEgNZ9bwX8pJ(@k)mlbu@b zWnItUlMy`E48<&t#T*Hr(!+%R1-0yi?_>Rk;je5M9@Sd6-qiHcEVCJU67Oq6{??J7 zfgIQjZNT!BgWAptR`)Ol_GPlVu|e{9v65O3L`rpMd$+kuuj9$01l8?w-#-{f1G^_~ zv@zQ~G*D`{6jKi;x>Ze(wO;U*<4>G#OsDZg%*i@>^Fjug2WPl29cKdMopbh2yd_=e zM&~?*1hU?3#LoF&sfNTW7}WIS^FxDa7z6J?VD$B-##y%pQ$iF|YmC%XGmgQmjT6GY z0g`barfH|$Qmr4(L-4QQPYt!_5Io1%JRy4r2aC&Ih>ZbvTxPRnM_dVS*q$bd@h@2s zf}4mTW~AI~lFGwLIaCqznAQzQ3#;@n6X1bR0Cd3-4B%;)nYI!>vAqf3H#Fa)W;-x^ zECT3W^b4xb8IO{*%!$X*bZVU3i(KLcV^@Evkd|=DL+j@eaCb8wTlf=SHKw+K^kf=& zodMQJFNjGo0oqG1K>w$yx0o{K8Ph|dUeMRNjrO_5_ej{CX>y!%Vn$&KqtLQvaMZ}b zRyUik`=aVyGQNXV{}Ngv2g_2@Fz@I+*Z_VIX0ONoTn;5oLoLWXVrR}2@wr}mptsIz zW8Yy-AIh^yZ*w+j;x2s-lLdD6d-;R}r=8BuY3IA<=AghQF#*ScA&s&1l zj_-*=zQ>WTgd7-h{kbLf|!hwxZ?1^SUjnKkAvBwn{`%7no_Fh&Y?Q_JQm?sIyDplqrfF3Z9DI7J=K&~_% zUJRrl{V$m=I>Ut;+a6iFQ_f{dj+z9*b7>A|@YC?8dj59VFvfjqg0ImT{30B|cT4h7 zuNnLN&^A2HT2K30*fG&PVC+c&yDW#x8NkZ`-Wdsz+1x(y6o{F90Nx`;z5etIJASx* z5fMExd4KkfCeqJGNwN{C#;q5}%is*vn_hc_yaopYUvAd>uuX2s+N!=%6W>@Ju-o3^ z>_OT#Mb$our_!~Xam4w|1R05B@FIbvWPKHeWImF|=D{nPF}zyj6-^&=9rFq~bfI$( z&^o+JZeQ*)E}uq)a3^;!yqP$6NSub(I@dMyGZJ@8*7M>grl;}qfcQzb`Ud?Bbuvxz5v;);M3v2ONm8!FI4_$jI@}=dc7bF& z?h2Fb@3Fe^ZI6^-wl|ACqq(sk7JFYSCTM>Oc5CcTS&$EApzP*gbPdYy^oH{z-I&_0 z3|_rWzK%Cpx1oT4;U>#uY6vu}nJ>_RKjo;Tl4`wHf1%T^UBw=EkFoca%I#%65VSWH zpJT-*MnF35&zOYA+dIJ|q5%r;obCu&U%{qJ@9R7$` zFR)0zWQ;>#%tmgl*Utq?e+3-o`i7Y-26h1g=uWbICbJjlL#8=i7cJ1g?N$wf*p<>4QKx%J1vC}UX;yeJySFm9 zKki#&pD6ZT)`7Eu;*1h|#M{Qc+-dABL3zzy}p2)C>Dea{ZwWus2* z=5+0kX=Z{ZNNLio*1_EVE~QBs^`cp+=kzoyH9rx8uH4&^OCig$x!qklg&oLO5P9+* zXQk$+;c|QhSgC(QpRwkjZ5mvuuRz!w|A2(}fywpGO8wWJ={deJv9iEok{Igiea5;D zO~U)ev+PQ~YZBszd9V2!Tb3PRwV!0;UY-B!gX|T&b#|BX^E#X3@gJ59YsETwAmc9O zr^t4=`1*p!J3cZSOFYYOTB}()JKIp~X1i8(>vN1ZFS2|n9p)~0ZUx=}&T>9 zFYW*yMHE!{IOK_2jHk~8>eSDT1$S6*VS1{)0Fo-`L7p4@5u=TV?Kr`6rMx!iVJL!Q zkX~)o*Te~UFoYB^|E!jtH%#U`%oB$& z-<`I8#leH~-8Bf4<1>|lQ<|Cb>_Sek{>1Sq9M!V?b#mUC#X7y9zJ<$9kle@hWC(vs zUs$}gSa{J_(~=7EL8Lm?|?Hh+1hhVxBubl;F+_(GoN5V zcQNI)yms=(yo(S>`C1v->DKm>ft1(do(cnJm9c*%2VTT|E*N0B1V~wE0+@S|K2~Ya zK93h&{)|b+KEv6t%?R2@!frjknYrlHlYz|r{u9m}Bhngw4*6^%`AlqW+`JOFgu6KC zrz!lX;bjjSAXDkjJ%W{PNu_ftJ&zvW#MK?gg(}u6M>SyEsr>Y{nsuS z$QeRL7?=1CKs>c85&v>pv@mIL3hiaRa2Ec@z&~1jn(^OA)*-a_>|g@pkpQN=EE8bu z*$&d^LxT2H*wxyw4SfKIua+iwD+HHwSG!>NNC_X@bY@8Slmp$ReCu)7!a2M4&p`RU z#hqBLFI2u_X~?K`3~$sqHl0Tr8ZCYHS8_O0T)^RvxiFeiF=wJ%wBV}(|vkbTTUa18<7Mix4TRd zH^ays$GyQ6isVW@adOB(w{zx72~}H64_(DW%77JSX?(YX_rjmRwfHJ5zFf|5{e;;b!mt2;%(j zWuyKXkr%kzn?U6D^-Fl@vIhietiQThM2|uM-Orr zYlR02fM*{~8R35}?!yB)3G{U5)vlw~$QPVb#AkSu0v|F+h?c%*Uh=|uf-iUt@aA8g zI1Xy4(8hvV8c z4B=0CPga3+>$;&q1iEn8@<2A#>DomllDUv(H&X{I*TIZi^ zDv4Ghpa*xpopXHmNy@q2oKGV?yhiV5n(?h}Yy@e>H*h=XG~>4?&|6W&qw}5fjUWn61z(Pxg8%ajUY8Mnjy~N3mLFsiZ)5!04sON7Y0*of)w?R z#^TcvUvR}5E^kC7e%3{5U}B&KzO4<^zz%tqF5%^o+Do@uHKn`}Pj_0zGO=n4ONOSQxHjT4poF`)2m2zSh#?C`)(5MfD9ZnJJPU zfa=Q$W+q)S6WYowls5t5TA2vn)tka!jPQ0XzNi7c=~QPa*dKuz!WHy&M4r%h`UU}< zwepJ4By;*0va`mxc+1Q>ww;L^oZ(Dk&pp*?iLmWbs(^o+}XL{|TZ2orlU z7FAv+v_N+4@A0(_`tkiUvJH*dce&Kg-?DE`w|=$}bRB|X?s!%ndCFa$w0ojF)eH{S zQn{K)eB3ygCfyDb@H6mW?pq$f8WCCx?X$Q$Ky%z+!iP)KBK$4E@KX>T{mPt-F&oU6 z2q~#1!ZR|I`&e1Q@K+%``bsSArZc@Kok<3KI^N{7f5BHZAjy-LNf|#4BzevXWRcJQ z_0YHz^{2UwJa-+0Yc0&-yeP(+j=3_{{!{{ny5TG=Hn_*R4=Fjr_!imq@GAGUI%H+C z$;up)l~sXb%B{hyOqKTpf?cOQPO->(FNQa_Q7aI~**;%OkImr`!~R0!F>p@m7<3pd z4uiw|aX3`RrZVh9F%tK8lB#JeqrR{8%fUd+d@fJRgW0K<9b3xFCiwHtwD)E(__GL( z^YVSLJL~ng2*d2ATdy5OZYSVdBXET`$2j<19Hd%>K?l>|0Hql!4&=D7_l%htdRaHo zK^z=lV8uo5g8o-lt?t+!`$>v`Jz2s$h z&_{)BSWB=vmYMLc;z2%F$NPif7nz6s*GYI;3VF#{M>#7h_~meJ4)?OKydKHEi~o zJYJ)ZibRcFV6uPsqYkbizR|x#bL8;v~nJ;tVr#cSjxqIZ&L(dA){r9I^s0Ih65>=J0OG z+zy-`q}?|;?Ve_p*P_|YBZib;%1t64U2GDWW)k_>k$;68NaSisM4$IsA#jdwRy3*! zxAWHCpPg+vURyfJn_NDw#nbh)@7)h{LQtvLh4QgMKG{us+!;0d5!O6j!RK8f?d>@C zDX&YE*NTQ-@8{QL;kANTv|^6;B%WpNwSJB^=cFRJxE+nj$vgTx?1i?5)qbR3&?!P| z;^9M1y!643W#FV)V-8?79?Gcx#AIVS08?noF!~VcuB!ydh&BO|8G!fujO#XWPh7%! zm(Al^XI8~{Ys<*r@oLr|@dZMl&u)X2H-X>%gvg)6gdKxZ9IUGQt=3L)Uf{*7%(dPD zra1OY_xLhKe>WBH#V4P%dfd{AJ;dYP?k-ygTk>K1l3op6emww;_u<-0 ziTCX?%TymL(nc2L0nhFn-*tSFm3%m>p6`r*FNp*{Cvv(E(+oU{wOkc3(!r0-eP}DP7=geaZN+Gb;p}qVM_8${+XNE%?mI`b^ry zRTe*O@`1z+C4C7h&wTLZN19j5^R8e+k^N2_8<|Ll0Z%VQs*}<&Fn;*=os^6j<7pZ2)ceiY-*F6U9%criL)AX$Dqv+P@mSo0v0Bf9rJ7@|%KPwDekx zPkh%0Ucp+xlace@*KIOtQ(jyaEX{YZPJPHCg8Fcmefb~OaVS^Yz!(W@1Ictz$(+QX zGs(14$(YF@#U<4)l~xo;<{0N)CR3WsnG!kVr}^8A#54I@rpN*$FW-L5X~3WIRH)i} z1Uys*Jd|~lj0H!}#U`I;_Bz#Z_uNo*3=8IS4v%$CbzE;!i4CRlaa*T4h6GY6eO~5X zh!}+_FSdG?7itk>1nd|dP>7C@(kEmS|h4FT~kv_?UTlK3J+-PNK~B4wp}5v zLetQ0Fy_|b^ytfo`o?L@H|B&I^KSSto$jgRP-Cu?$3H21LY>a#WcqHC{6FlWq0w|$ zFgUaP091Ll_hWj*J!10CaWdy&4PR-JZuR_`8y_CnBJE|EE7faikBZx1r>v48 z9vafaq?5{Yz#-ijsB2?9WBcPSdk?dNUu>bduD9ecG?RSYn{h+-i~nVR2@60;ZCDZB zxs1E+3o{wo&6pp5r<7PJ*3hjimKhym#N)Mc{Db*bMLFI^ z?y_-6NcCk{?Exn3;eoVYxFL{s;XHm14*dU&_Oh;2>E2_~tql$Cx>ly&Px0VWfBrl? zLbp6+pL@Km++{xxV&OQ0;{gg*L_BabpXA(4gFoVtcUXU}Fnbdid)@UCo^9cTAM1o) zNduP^EN+2THf#SbkMCN9KZ>;$4(2hOL^d;R{TRo=1RDGi2~L9l`}3vKSszSAFJ6*N zVH-F%)fMc6N8nPu5`zGjGQL0J{Y|D+TOoZURs26nwEq8@R?*IeUcKTXm~0Q?|0?23 z9vDI|F^(1-CDo2MyP6UIciDKfybkqw-GF;86sM?RfFEVk zCW*;T;#1*CtQ*;+z5lOG-8}4CRbDG#Ry8{UFFUEdRG46}qBqJmEr>JzmDChZ!>OqS z81?Ggh3;e0faiQ{e6LYXW zD`8ek;)sS*@p7>S1DE{E*R8^#YM9wLnb%B_k7ahKb2t&Qxqqt(V7yX8yLu!3}o@lfEh7 zfUmq72l9rO@6LEQh^K=&%E8xW^BsF<&_QCr!BYVTWiQLFIMhW}fw4|K`>9hi3#JEZ z1|P3xEYuDXyEO}YvU8(DxxK+8)@?yBv8pJiqRi`vtf&ik)q;wGgLzmutx>U?T})vg`_1dko$BZqNTIYB z1G3+o=!ZGe*;Vt;9HD-;gj((PKun9fX6bSK!g9o9zv+TahE+H!)Dl0My>)V^u2HWE!v!P$PFxbbhYATm^ zOTVPW*DJ?ce*iNWtheWg|EsPJGMYc- zhDuiGd13e_9Q#Z0l(BiIGrt|aHn4Gbm-1xKrC^81wn2Dt?qo5HRTtEfC zjirM)47|LJhKz+P@k-#qj=ibw;$pDv$T;`mgZ4DR0@m zXzR)UlKI~i_z#~Hpb@X^({DS(ua{kq3NXrpP)d45Ww{^QYJcpgg`G-zHO+EAyv;t_ zAC=gpj-N@)_dM?T>uk0+%!BU`vL8UUX9hxjgHZHVclOBszya>J8VyMM(7og% z_{1+oEj`}7_C#F$!qR%YeFws1r+tf$SghliJ0}SiCaq+N4xHd!WX}KJS98g?V@QWfjyTpX{c_q8*G4pfX zh~Tg9g{FJrt0t5Fh~XwXt(hIvZskrV%XTy>!}_Bfy~H2Ym4W07z|s)TH02A`@*wVc zHore+=|@tk2~ySR)(voj31_JoGioEm*gTlu*(UA{G~q1552MW7&%qvn_iW^EM~qDw;c&EN<;8WT%KT)<=;!M!t(y+`KG~onRlhEEbtS z5+#dMVZ=D_<;52^_B0wdA79*QZ-p7|ziTYjaUI-em3)LTW*GYm$R8a;vwUxxnpB)>OO?|NtpRfbUOwoVY7^u``hDR zoNA43eX-f-Y%d(d4{3Y+w|4gU7vhb~1J;`6QFwuF{anK1MDPuC z6<#jiS;cKDpm}l?zcX(uI%+K*4F*0Thhb}}U_~{d4%@AQU91wbER4EzML-&@1tB|f;}KL67vCrc#nE~-L0=HP?7l3 zIeybaSt86<>-VH;3-3oinL?q}{qndl$N0Sfsq=B+E8C?*WgrB);#J1D@h8(2%Z)J} zM)Ub8yday4z`5Pvbj4oezs(r z&tYL2*gCqm77Gy)OJ8E^|k)kCV9V_M(<~y zE+1s4eeAw}9X7r8i}=sF;9aQ#cWDMC-q<74-*9uq+2eTVtN^)+vZ?tcCY9qTip)Jy z^Uvcu6%p)yR0XEQCML*7hZv-nHOpk=7FP4Bcbr7u03pUT5+mxXFsYx(HH?vF^)xa1 zGRA`YIPJu&Hz9gU2z>rgLdXDq+=(lxrCMjU$^Z^5DNzfIxsl^~Kg{Tx0|QG+%tT|q zM53o#?-+Y04B|ZOIEwHE>Je>UK<*-C+1CC)|Mkqt|yCg#)|pbB_+O5Vx?OH7^|I$6|uwE^2C;Eb#`K9E?e9> zv+C%1B?rUo8KWB>7NXsBLQDJ}vnEBp?)ecDZtqJH?tT;QKG^I7;~6faka512 z-=k(r;F!54>O>QDJboaFQHVMQJHWFetexEP;xp!rlMmO<#Ibl59>Gb~ zbF#CSF`hr;F{^{iy1hjs`1sMfAo~K$+lbt7$5aI+xclXUZJ5=T>0vPs$L1J&rh5ej z18_W@%dp-bC)L+j8$58mPYwp5`PIIN!($S@6OZ%ZmKl6cpb8N@zGQ1mnG7?&El}E( zLoE2k95^g|%fal=_-Pv|&AhX6&ktr+>1%zrle-6gMz`#kjQJuI{HPo$?Ejj0UC!kr zddj-*P}%73%c^9WxnGPC&5iN1-)Ky=<{INIFy`RBBy5J7v!FNzHMfsLWDoe;)vy!(q$Q$R!Bk#*#zqw=~)@$q^Gv*rmZ%*DnG4|o8z~dh@sKC~xW_|d;7>y(MSm3dA&f=9o^#@+us1%W@BW{t}9Ko-q$~B3>Vg`1{{d_97=@?!O{_ zY|Jg4h*yRpt~Zw6PQ=##iukZGe=8fYH0uPGcPFb0jHQtiaX&1zzp%CnuRvQ|W3100 z9(R}TF z+}iURsD^iI!6$kUK7~+Hb8+v+g?)NQZmzF)xi;0;N4wkukJ-htYq%>cYe(a^nqr{I z@{?73F08N<{tqu~o8zAxmgVjJmaJx*5!GeqAWpXTxZMVGQ`XW&;q~?cWRJm%VrTZ> z(RfNzY+<&B* z$K!FAes3teFl9#=zxLTa00FPWdL)Qo?QQMPp*Gl zQdV(IX0ChS?i}x@wfnI__SoAHCdWS_EX(~?V~<^7%C|J?wyBck<7?szv9TVCzBXsT zn#^qPo?Q2U?~%u6aSng@L%XLu1nTdx$ICC1(9E@sYk$NhYRf6&wP*jqT2_{3J`=VEHHAy8SUUWtN_Fm)-|0v-n)o zqUKq}ixR?J?$QNNxc@U*uizGu^CCBaC0km^g@Xx_(VIcc;&aE|z~VE-2{RUMtjpg$ zUm|1!Li=I4x5Cu)%U@DE<75|_W<_keFti89epw!K<3wRMLu|e?d9}YiRttCO7It8H z7w)HAybA}DEb6siY~rGWFNd=Z$s>_b`P@5TdlAKp);F`ghwVku_pzZ!S^N%WPMn+( z+vDqL&A+RO@rfu!)w$Rvi`%@U+N~e<9}@Oq|Dj>-%|nM``Dw91wu8U6zY?<(zC6=P zT;{CP{qx*qYmtCGnAh~){`uUWxi<_QV&4a~;f~^NT=C%3XT0~ai}-tk4aHco%Eg&I z1i$CtyWHg2Z4$xX>Bnx^tnEgRvEuLM*(BrjlliD%d55yiH*5;NB>ZKSX|6pO-hAFy zA+yk}(YalAC!fsme(w3;K=@F9@B6KbO89U9J)}J+0{PN&T<74rCJw97xf9Y#Td}?1 zoHu17XJz|6RJ8{mCB)_r-_Cxrn4fCIJ06~ryP_K{?uIdmlXcuh$Q7#kjjtIMM?So! zAvZ@>I&ual^Wh}<grGPMv^6yhuqr_f<)<=Wqnv7L_ZyNlj4al>MHq>a~N_(QY zFu<4W=X!r-ZN#QYeil5{vfjh1M>A#IadbcPmKoi0 zchJ*XxuA(j2Va=tE*mc6Ao!I&c3FzLQ8C8_3e*J!vfjKCqZ;3y z&J8d&)3W~!%ecrDx@Y?0m=yS$&rHo-%^dd#-ZQ;vtXE2bQmr<$;(l*&Jo5Ya^W)Lo zC!iD87n@yA$m^XZ-g%DKAKqx-b&9d>6>F+hMQgz8r9rPR{U5KFn|PJgCa+5ydOhD* zmpEQ$Yp<{1t4>T_NBtkKpZy^ZXzY>SdwRTU3??bu1P{Y#PnioY{Tvdm2S@YyfXJdtJ@t`A7&<#JS7WdZGAVzCy(mZAaHf2{ z2XFTC>+_;LX88d#&%NJtGEOcAF zQMXtviyoSa?%_Oyz@NY}3AiPn>DIx@VBf#dSbh~ts`W7}>fjcWYs|~B4`4E{h9dSb zmUllg&HeDdBDOZ>2~NbKP{cEbrLZMV#7PoSzC6rRvKuE@bbNb0nh(u?4}Mt7=JP@$ z_=;CzYF zvvl#sLFt0m zNW%dP$KKLLhbxNA!5^^W2Ta(Ni%<*LEzJL2THrqH7UUzh+%o*R!R+rwN=4nXv_V0x zW=&$X;zPd9_#JH&YaMuAra9z4wrI8eA>{!W$mU5QRr@7I^X{X9>nSODSGKP;E{(E298>@y$x4~$ z%-LV@y%#)FSI^Q@`m&}yW)ec0oxrH$`JuLGjA_J!zQi1zN*8Np$oegm!1nxOV@(ZN zUlps#{Ay!O3Rz2_1UKxrNzk^z_Vo`jv!L5u_Bpc6*7<k-Q7*{)4w;+#}+6qj7?LkRy$+UE+^AqM-T(ySwxW9+Yxp=8`%{%Bog z-ZtY#wsZ%h;QL)CeGr2YQ3UsLPoC`^<0_28aP>x@g6(GziVw9=7My{2bK5w9e-13A z@m(0FaGA3wN;W@bKcKJK^CTY`O-w$DcbI%&{bN3IWm-sC@bV0o9NSRU**HC~#Fx1u zy`@(nZqWs3-U++WykDZ9*ca2CZ1J(Fk+$J#jMUFt$!(##DNA0~S_PEbpk*Q}j?7Xm8hiS`R2^0ErPZRb1 z?JN-IrAKI7#8#1BI#AlnIcKL5{3#O|$9%a+6S_nd^0?8*x&vwE_!1JF&hQ^3!BZPL z=|K+Z%bA;!F6bt4Ox$+^dJ=jOK5!QWw&vWzrp{>7z9ard3x|n6;}kZs_Os^qSPQ57 z$IS1|`Mb~j{txr{K1xJ>;88 zSyz3mJ{bI5D#8)kn))>MCOPod9p22?fIkM|&6 z{jnw&U4j5~sTzA@%0RokKt&XQV-wUuArUSAmH!JAH4*iHZ9j!{2ez>6n%!Z7+~_L^ZrJa;=bN8I=Hfl4ciul73ApxC#9JJ*cU#SUW*gol)-v0^cUxL6`cW~iI+=YB4f+cV(vS8I%Ie6)vjQXj6L z$kmE0ukWaEs>wdWF47bDL}fQ2kp~|Y*^A^bv-7P{?!{1qhSZSQL(C>|kqnZLIkxy< z%voTxXsG&*l$$&A%*;Snf)%*e+Rp$i)oH6_{#3uCfh{Tb1c7DuvYd6_y= zwYos)t}|D5XF_m4VR8ndzg8b5nTwmgrisISKTF>m%RY9%?#kZM^mV7QHGCIB?qU%S zih!71I@`T(FqS%PLf!lzEyXEorPh1k9(n|D-^jr}+l{f|hR>S&99nk&DyfaSL@hsp zRW~_#vZhwGqz2U7bCz(uHw#AkO#7f<-UHfNrKKc!kdHt8M8nc=fAUnl!V*vv43g}# zzm5AdVCGA3%2dC*U$Lp0%H5T^ov08&+rMKPf2F}})Q{7PfHy~Ped-8mzYcKJ$PA>C zVBq;^$1j=jl29z<8wH*d+0Ey?+m0jp1RY(@36hFz&Mj7|adPUnyaR9_2k^OYeY^h! zuT=S;IrkS_e0S@t`X7Q<5%Pn3S8M*9UujO(A<9(ON7vY{yq8{BPorG@>fp{}fm=C( zg*T>=_pv>F*e>!9i@Y~hHhKVI|G1xp`URz@4d1V+)e|!%@6cJ*RHwaN$r~~y#nRiT zlHPqzT`UeBR#F*B!52#`jOF6s_sV^O z`ygngad7XxFFm+lSzLpb4|%Z{Te)=!%)7nU9#BV`2Q-P(^VT-PBs$)Zw7 zKmvu(2etDxn%jO2knHDi8ek@9K=icUVbAw5=eSs}5sc5yHdN7zc^ z0(0vP_gWMEBO<2MfUO_eZf$_?h>TCaUEMO**u-{yRo)q7?*QoliF9?UD}RyA()EX= zC7<)2Rr%sze^>rw5~*ewk4$ie#z-hyIAh6fih4*`-1_Wz&4!rYEm0gv2dlD?jvDvp zBgnMnoSA#Erxus+ID1EG^Q$IKwhk0l-OJQa|7`HtUqH}r3mk%?{%Wu0HDC#zx!xhD z`dNO}r^I(ZaQzoAfF4grtjSbkrolmxr;ZYe92WjYHysvEx(AZVgx88HW7W+3EU%`o zz$q@nk;8g+RLv~nV>f;D2eYD=aZ2=0`ju)m$F+QxZMn$GGo~X+(bS~}78GtWKQf09 z>+yLBG@G&<=;cFnEG$3HGF1>qFwKjFR?a#q+G~9bWk(^>0C<*ab^w3#Oa|cFiNMH^ z?8BTkUy_gaJ$PpY+O)xuftzc~wyQ@PZD^Jpj-`b~?hSm^u$1rAJ2 zFNk=9M;6HMGB}t+G;H7;#m-Zn{9xJKEiebM7YU*+(UxSY>-X=lk zbNBO(vip`+t5+Si{70M)il;^tnD=ySD0RqRT@52F=RyjxC$C?+nR=|8w~wmuw?$LO z9UbZQBSA+7LgT`P0E!EsTXozh)%(nac1o^$QY6iUpHCIQ`6j8(r%T&=nT@?R+SqHs zMaSvAJ@j$7=dkA~n`+fp5ZT)Vq|Baqx1%5_3v!#C-4&zx4?4M>>USQEi6`&x+WL?9 zPqHGP(+~x`GE;`+>lwVyP+4>QJ^I?*v?EO+b3#I1JGoe`e65+D+{8g93An zozdl|L#w^tn;=-Oe_F7Ff<=F0DLdY7ydgNV71;ILS!aR5viwNsqeLV^v}G4ylWn)O zF8B)dvr-*LMUoKv2j|^ox7`r?XIXpRUP1o(J8!%7be3H?tiew1UvELUVmbK38pFrD$`(TkaPlQw5ckxs4qoC=J(Sg2RAEMw&PeIOihic6>+7XVVf5Of;5pm5qOprpw*D7Z^0*O6ieI6MMlHCFr|8CKzgAqomrY~GgIPwvVp|I>d#Jf|1^ z_bGH1g-#ng&TK_SbbZqvNM_rhAP8SYi&s!-Fym~kU`mA@rS}f{F45kB`Y$^;>t&-t zmSsI*5)^D^#iP$>3%*7IFh|>;7E1urkz@MiB1x-wM5$k?exKIx>5QE|J*-breZp^? zcXAzLmnHT;5Je;n_0ck))TCy1GqFpF+0Zs9BO)|ous11rrKoRhO+C#ke-`(5dL z`#o~~SZJD%A^F*j1V069m1q)5X|eS{V8%Y$Y{DrE^dcViNLElm$$gP zvf4%wI!&kF1)5P0`!?l#QrK<6&hs+A z;WeF`>ix5=R~+X!>U6zRSgLsPB1&P6rPN|upZa~dO=-F|_7Yp4`aRXA{Kb_~0H~u0 zP!QygxBWQjZOd3*ehkI}^#77HfDUT8s_9Bb7)EcGXX(G33b1IWJoao*s-HRcEbgye zmbMF?Dr#%2=3S0tI5hrS2RNEp*)LPRRHxWYmWnz(B_R3-y=kDnmX+)Aw=8hiGu!N< z)p4hm=jgx(CeDpPY#+=05m*zx%$t`!h@mODSEGHuL*hUgH=kk-n@M*31}uMqb@`lL zd=Lr90OHGXEAt0~SHBjh%%y;nYIk?8^??qm9kFf<7M&%d$~f7iqN$P2f&)=9ZLPHu z4PW-4Gh_ajCSt{k2^cvTexd#+^t@)?q$Ue#sH||)+?l6kg}v)m&*j)DB+QI0L%cb` zie3E{O#wUTsP8_J#_m;4%zB*4o0%2NEb4Ys_%mzVM+FhhF=H>+>R4B`L`xl$vlgkpFSZMOjM8x?XD&0r?G~KuwgI--QeF3Ur55~CrHX@# zT&aE4W~$QI(2@`IvNJA$ZMJp8U(WuCPeGhWeF*oA-nG8vjLc|1KT zZPj6nap{vW%$r}<+P=?z#Lb)0*Fx4G2HmhuLya}-X-ik0r_akop}+DM?1lhnyXm!j za6Yn6H1wudeYR=_`3^-m?(%BRviKcvwQHk|#qXftN5mFW0lJ#mh#1)Ei!oaH|Iwgk zb!CRjybk&9LbG1=aheOM-d8BQ^>7wn`wV#?E7&rca)SFYkZ2CEt+(pnTK@%3CFM1t z*02`Bpw@Bamu#g@KKD`={dZ{RUp~oagP&Hfa zng)xPg>8jhPM^i$&B})9`TL-oN`KEp%b*GDZRR7D^j9DX48Im6rP_Ue&RH~HYrUz1 zw?=7q=tYx_VglNKe$B!%>mfIvMhTW%+`{>uOL}HmcLA?u^H`RWoA zbhh*4f;16~;u6j8%t<5%ud`vu>fO~YS#|~t&?wr)P?O6Xsy`iEv-e+f4y)-`YHz=b zAaL+rfIA_5(t>A8=QNhy#`u_kKQZgK=WechMs02&Oh@zWi`PUBm>*)t5* z=)B6RJ_C+;)edAkL}tJd_WUautzT(B7;e30%a4xNd{=&``cvHx3=)~snM)7mM^rat z$Rfmw-N7cBAB5YFRNiytyXe}=es`V?OZo1R3~9r_>;-D(4uGKnulha8Su|pK;1#^0 zk3PU#P=^^AI>_uWJ*te_Ge}#aZdabWY@P%b&{+laH#0rEjI`ZOd`!p9W^qmSHpFm5 zhW6k_t_kzGd346#?2sdwBj9OuS~A>j?tpBsW}U`G&>kuv+)niYyvnDvf&HxJF?Jtf zRQ3HszPl;+S~GOjFSjd?T^rbDol3=S$$trcu0xWmD`zC8npI*etBdN|42GC>#Fjn)5XRsWrOKMKTL@R zZnSG}mTAGK=HWTsv>0qQ8?M#||08-4+_5h^uc8cDTF^OG>VCbv^0v)aY#R>cS%vA@XZx==}v0Oq}pBJ62G*G z+<#7@_H(;FyC{A9C3#Gce^Q3@6CB6N+!M$ZU^g&3=T;VERkjlZpN_W>a9yYtWUpGo zXI@n^bu~N77fQ)&D45&rkH!r%Gnd~WbFm7hdjI<+3;d{i5v1AZ!nSZYAesuB+Ua4J zdKl0vwSUk~iKp4b0qw71IdHeOELDbD^}g+5*=6A&H>ZcCaDzQub%@GTz1m<-z}q!pImm)LET~&PG4&%H}0>7XD~)U2x<<>Y+Z@Rb{^UmGH+wyH8(21 z{|nd;H@s=yg(J;AmJxrw!m6SJzL0p@u3tA?6RWmmN4&DvsC62(I$UH?l`J{tbA>2M z4VX(x@YFgCQvNT-#tdc7AAt=h-0+5zES{%@VC%_}s`iZ3trXmiXL|SaY8pt+Y)hIS z`604svk!LtW0aCQWcDK4u_2j`8Ffs19faYYb`2eSP7UPu)ok^uZ{deUahe}tCJ3%L z(eb1Av9Owc*4V~sH5Y5+Kv{i@)GV=TKUvm@U>&W4v&swAcFM><=-PfK&AcahB>1?L{YCz!~sv0f7~ z@ti*arGAW=CD#KZpNakW(-eo=TuDOk#7T^}b&khue^MlQ(bVARZtW3USCw~T$QC_f z2XG2%RoaRk3Qh(*TpY`hFBZ(F14*ny-ywp&7zArM@mBL4k`SXgrF`$_1zd3Sf$g*W zRrPxpzWIE~@gDcZ9H8G~dh4I`vKn4Z99mZWMWQ?7o@)`IW0JSxfhB3^A4j_9gYUF( zR~%$Kyy1gzWI9+G3w`6IuB9ObfNqJCIc*mOsZ%A67l^DX*;#Y$a{kPc@>3)J%n3tN z#~nru!9$0%$uhHT#IRF(lt}2X75E>=;mW-}3+@q5W1At-nZG*{S4Fd5jP_a;)IPGm z=)&*8VFfYd<7^FsM?^w(vu~F`p16rtM$|73{)`K*d0S_r$_@+!-DHr$n7*o%Wl7f|bZ%@xRcAjFTQ=|$7de%R5R zB2Gnl6h)jA>vcX9!P$}I^fBf;T9AqOU7j)j-R1=jbp^bIhcKgJy*NeG+6Hs8b{+E) zXLVS3X7nH;Ds~gRXit%?gbNOX-m{nvjq;i9NJP2FT`lK@KEVWBsx^;p*Jm#0D3Bcm z+Xz+28KRJ~(W>pYd)1H77mXTQ?gaM$1m^cJ3@$S<%K&_;uNUd{a`1m===)5*4+eGT zS4MixjPQR6Wya7#R;1S!Mk!W&L5~u49wy8h7HK({3Lp)P+n`v4b>S%bmwo;O{%71b z26r6{CD;JWwiEu2CJ;p^i!KG@GGqtm*pAMe5NRo(pc-3o&{g%(wUSu&L@J$FV!Dt! z*6YVu%jrc76T}&u#ucfeCa?N=`YDQHZPHuI!D9ea|3`vz9)5tSp%z+xI z)FF|TmJ(7AT1v3Y>hGMVHLs>Q+%eWvkJ^Uv0yB!srS0uFE65`Pzc)YmdMFRkmpx^; zX@#w^m>Qk`kk03tj$~U@}l4s4!W8@=?t5{ zsX2*O9qMShMC6&F>G~Q?oosRkpU3F%Ycnl(E@xM@-8Bm>mp$Mg+O@TZzOav9p`Dja zX01IVcgV)&77dlRHz78r<{!1^*V4YZ>-hooU);S-R{hFYulHju$GVaID43&5TE!z0~gguIUSt1^; z0=j)DCJr#~AdM(8SoPEPtlsny(W)I#*@OHt7tlj7c-&(~jdad2inP)1elX1@?Udbn z$3*=voOet)H{ifsLfYY*Q>@`aXRNK|Ebo43>eQoy`RI8;7eSQFmc2lqd*8+qp367s zfC)a^X?-fI(uhdaZw-k!oTwzy>lc=b*U^eDO zvS*eAM}D@SRk3?gmrHdA3z)z4Ekutqr!Y@f@7G@7whu1MZ%>mwz|Y{R;d-ytF@Z$;rb-6Po?_N%?vu0LLlGX?i9K%b8`lo5QO99O1|LEfhpH^KqHP8E>B z%^g_9)BZ~m>SJ5Qpkvm5sjc;2iuv+idYlbhOhQxK7Bdbq&AYNr_YWc8+>HJXite*c zz)jAqC&~|)-aW(hiSYNDJzchCXp44Y_h1cJ{Jfo7@7?1#Oi}O?i-B287AjoHgN?MQ zF3;ARU7q6Lb>*2#V$ez8Y4?DGY)=j6o$)qTxY9Zc3Z?HTZw;!vE3;^wYpFedATRpv z)kN(4>HR$#tJ{D6nj+HVCh5F|nBbqakN2Df@y~!LhHRw*AUyKuOF+V zUN))IGcKtVpk=e_qNKg$f1Mg|yGwe4QdUSA6zq^3@V(Hp2^NyICLgrEXg=mca11~S zq*{JBa<^uY(RT5h0cn0AE6d|b1=SRlolO2N%oIJt=nP z#X4%{dDTye_%`yxN?*)AnL`Rhl8FP5b4CDRv}zmN=@?cBa~OYuLXMUS1Ks)2Ozp1! zyE;7n7uVr+KnXPFaT*521D>^Gc9a#0fN@apx7nchdZni4DNiT%rQ?K|mExDFt}R^A z{m|rW_lkoFDmqq0Y4ATky9SR1rS&Pn<7}^HszQv&Q!M3wz8RrctT5+=OJ? z5%C^bjly6?(@L{-y50iS`yf}@U+zx#4^?%JYP-bN_8sbnOde8?WLmRFaGg?hn9E>n z*x{!A$Zo2(k$%|ZyC@eUQHFY!0|TN-E7$0|P>-z@j%wwTR#se+G5DV#3e%Ilv+>?c zmCEK57e9@A-Q_6iUWyF}_HewL=ZEuP$cH{{k#r+XIQio~Ni_#55g)o>ud5Us%Db-C zjH9%j+y^m(JGxS*K`2hbnXXa+S%RlBB7a*lPpY=%BtracmB609ZI6T(mFa$NWkVaU z`VgvX_H*Bzf9|>S&n>jkEVJ3^XU!dCHt*;g7EyPBn)x^1V*acWvq9jcS~WaryL|TF z=`!YuqTo#ACG$F?AWf5P>J8=vwaL~C3TNR43~c6MK4AA?g(`wP`Ho8;zHwWEu*l1-Q1(|ie^spUIX=%D>z zX$3HAo!l;Up!-Onva|gC5^F?SrIkF@>M)o1==Dl03KqJ=du`%?%V)C+I5*gCNGHzp zP;;3x!`Q9)1MQe+EZa2S&W?J^cq#(v5^!v<^7on@b0ovJRBhe&0Ik)1%Pdy^gA}RO z+ql+WA`6Sm6)v$8plOl$?qUn~gG$8c`i7aSsN#MD)|2syCoWdaRI_f5rRWuTG9XOK z3Vz+U4RrRM@kCuUZ_b{Ek@(z6V`!n%x;G2KLA%%6rL8QfetEah7%?H_&oL;tY2Myo z9-YfsgMLN($fG&97CMCYq>`WU@noLul1;Yk(CXUF3YLy73d5PD}HcJ|_ zAUR?ma1+r1{Fdl)QWj)31}HeZu-N4}4xfo5}73yHqhi`PW zID+58){mC#+vP5`19a7$;*5xlp3%DdMNc8rP8jhanu|*L1?Ho4+~pOCwqPZnxMx;ms)=NQicWBeuV3q^=pL7-=A?@vLu2d?{#A|#3X(`#^W-yN69D0&q7A zusg5_&tbn3drE;RB@J8*-~mX}&bGFx`fD6Wf1?^z(9LB!14C!9ZlLAxd9J~8p%)QL zQE=sK>&{g~9zgx!G26ErHE%^ug7-p~V_%!2)$1!X|f>LKnm;G&oj>A)Yrk9>RTT#5Czx2LHH1~+$@Tpu)uD! zQN*ix%TZLGC~8MBRcZI&KiURksN5R;v+WEamxgG6o|@fe#O+jU)+;SF;0?$$Xg8__ zBe2rE=)Qgbs72}%h@UDjC>TB+!n{X`jpJAU5LMQ>j8~9R0QV$Ydgd1G<<$%juPHqb z%%ytI8YQI3<+qokwbRt@b*HG^Ri=~u)~V7}H$d&ej{67erqQleCw^Mp)vI1aRxJWo zd_&Sawa|jTv*%g9Ay|K|ZL58zt@@Yg;OEcv&I*on4b?vd(EGSn)>-*Zt^6OY)ZfNZ zx#bbt@8?L-VsIMYnbtW%@Gbor(k<+gs-?oQKGI2;{ zopmm7<1_n9)O^1R&-*niD?4k(>{tq#%F22!3*{&}Z%acr9^Q~3lKmmPd-k6cfH^l> zd~Tk%=nxfiH!L2yBA?~9vW-nOZAqZokvtH=&vU)`+)5biV_g1!z}yH2p$V-pLH>hn zeIG`af7i19D%-xfj*W((wd<}|GX%JTnN!qd>>T^?%g&WZ@szw-gb7gBh(~nOa>3#) zyctq;bEz$?H!|-x_0L;y8=qsTl=>Kc+I4cPIvMwdyb<@`9hy3$pHMn`P)w%rXz|#* z*&Xc$aZ9`LBSFqqm%?Bfz^o`Jev zJE=vM>1ON940A?SgAgt|IZX(^X(h}IfLD{Cl}6>88b1=96WCO_98OmUC)8S;`imQj z!p`593Y`l&nNf&^uQZM1-^do6j0c5nhK-oC*k~31s^9i1zb$xtGRR1^`tGDOP*ZGk z=u5?1NG1v3r4w1^IkPi!7~pJZSZk*7!VEsfq2U8W9g^*iXOU!=ktA!Kjq`kt!R0*V z(V8Z$y_#S7B>zB$L(5yQM{yTshyA4(L$w0haM|x9JN^&E(%CZYtgO1MPSj!V_&)cq z%u99#XXeph@Hg%#FgH>vIO%$860ey@Jwf%-ysW2}(k_am=ET>mAth4e{04t;UQlzZ zmxa8Ela+ru0~D?rn8U#Y)v}kZCGouJPc>5O7ggQ<*=Kv*rB;45{=k|@adNaPh!7LbjG*FYNR-OmdPuo11 zE041ile8a^x;8%x_^lY7IDsA%zNtRkq5;mHWD9#Wb1i;*hiMphT_oUh#M6*yQ1PEF zNB$j828(1f6&Ra25Wv0h^(^0mrjXG9ev|`#58Jgt!I={Hx>LF_o<9K`BNOYYw#=D< zk7B1qoXqu>=Ct5KtpDl1Cq)=5XB=21<#vQ9tYI&&`v2@pYp=RfT%^CUs^I{R)Y^{) zUiDT!RyFJ|54JU?`*7sa4@@53tr?Feb06Q*v~M2eeWd^Eyk8q=XvSW_Z%1hoWF@;S zQMmJwk<^S5HZ%#eo);|4V!KLPNK7S#@h_qT!b(#Ze+89cA~sMZk1g);gL{1A9-q6% z2k!BXd%Wfzb?#B?9#6T)zue;i_qf|VZgG$6-Q!C4Sja;W`AUn=xUz@0V9d!DifJzK zeD^rVJ;u4mX!jWI9ufBlyGMWbIL1AWbdN*a<3RV=&pq@bG=DEiu?lIjxE^v=Y z?s2Ajoa!E;Dr$-H2&Yci5l`h*#X_sR`HL9cFsCcH5xCci$ntG1BB3{;{%bR)MN?yP z@QGl*GPzyK+U3xjR+2q!4Hal6T^=)c@NsA=@z3qBAsk7!$@PW0+V%*>rn9f-8A*2G z92X1p&{UVCxsWeF@`8Ij=^p=dkNe%@E*=@uy{fn5D!Uk)O}y*Y2JL1-p6!BGi&)<> z`cco1#G8d5q#3zoTDt}$@kX!!-@zea;DF+_js^2}9D=wmd6sCca zf08pt1d~z9RPTM%F>IWo? z`hRLa^GFFUz5B9liI^Yr?^;83G5>+JJj_U2c))|MaBo|9Q1Aq0-Ql!!>%o%qTH{7b z4W8`NF4$N2k3zbOA*2q5>p3PFJ#bWb7#np7NlEeN)D270qoq`1F5(cWWmFcMJQ?1%X&yoVlOyc^KNzaBDRc;)&8n`=TZc2LzKR8bI3W7DXyp-Q2R3Nm=|5|wzOPf z?I16M4?8>!`e^syrDV=bd7=2_ar(+*$nerlmvx;;A5$O!;x0T}|X z9;44oyfxV`sv6qQ*q2Gr5%ZbfFfuanqsYXLPe!uWHhjW@B#Y6@aTzp%$A;wDWwI61 zUy>4^ZnvKjhgd0Z?8>TN=gf$O{S8RW^D!kIKNpvfu_fN(x)N_`o$`M&OjVSx<+Y!C zUB&DBL-iGZklLzW#}jjSd0Fe_5an{)M2g0hxOfGhR!Bap`jz0xw6E6Y1Nh8uF?UaV zWmC?=J^5a^iAqX1p3?n$o5foo_aT&#Q^*#ZxN`8OoOw6~>I4-Tz3MP8V5hhJJ;z&6 zXmfWul-xuvzG>|8pk>wf*;Supt37W)OPkzvPbF{4`5Q+%vRnnXs<7q9e|u2lEOnukEn=9Oy1tGSL$ z!S(^t9<%(9I4G=$&Qm9+K@{$;TVC3I&DfQh0;5#m6XJ z`rBHsrDGYKUYEvc0XVHg9q`{Di=>~YaqDSEh>=N;%2>0B;UmFw2{qrcr^n9;Q44;J z{G<7q%}+IT-SV1R$Y3>Ouv*};%wSK-ix!vVm-jZ09Im-B3wMy!*+c7cune&HP0>ex zZS;*T+Te=&WhJJRPv#2#=)7-oG?dTTmoH+yUXLtqK(^cFU0Kaln>BC7{dksFQ^Y&V zd4X!fIX^#)$3M}!7qcO^6#|YY$3^hQFNyhMd&d01eW;Tx7w1+9&+KQAVbTpPL+8BK0d$SCZR?CX;RaF(t87 zm&;@Rr!jvFtJX?$7(R8_9ywkqRuTvc9KFns^{S05-_jx)TJBvrgqD+|+tOb|yVb;O z-56}oc;X#O8gZ~_m_o>?I;zQ1PSg;8a6xJE^qg3#a{52AXT%@b$91=C0xX5@(yJ{);{Ld-it~k-p{blh z<=K_)s`}WP+QP|@KeZ&9YWtM!xgWua?^Cl6r22eBSQqC7)ZlV-R|Poc-CNj>#v@f* zac(Lb<5e$%K}CjuHaQcwVT8p3EwtmmRhyE3S_-JUQcg0HrGC2`^ed*1Y6jYiVTvQe!7*x%T{ED;9 z7Ei_}Sk(0TG+MQFNX2Px2?2X=pKfjNxMnrW`C zBo8xRf6n5MXe>0dz+2Rt8EJ;|1#2pI2ttL4HkyB2qJhvIh2GNO9YLNn>ABInR39)k zVzd|C`L9G{HR}}T!KH|>+@*U zuT07^Cgl};)X<1pnTeUviTQRy?n$bMb6vekI07ss`uh@Fx$tQb91()11Z`u*_&mYs?RP?x5BZ&U+-9A%?htSO)qLLxoRJxDG{FFe5e1xC(AAl_{s{QiN;LQ}`DO-|MA0Goz%ZdRJ=(8& z^S4nl8TzlI?bWO$({4xnF9$b`xTEtM*s*S8d6xlIW)2f)PGl{X$Fkf|2F2vYL$7dI zgLlPMV1$3>m67 zvvGKYrY`y&oEzD%ZiI7NGdL4>SzdEXwD@?A)m#LqjDQwREgCjj%~-o`%pPc|<%qH= zC#HIQC>|IOz344is+VMZOuS{B;VU0uuV{mP(9hsk*i}4x(iF>2G`7(ra3-m0*wdT; zsV%0PlhpZfWH}*kn4hyhjj|ZWC)hzvot+D7p2A966nAVn>R0AfR5T}vG0}Ao2NC6@5!#45gv0@upkzCr(#H0li$XSSe+Y`xypLe8&{bvU7FO4%LD4R zbKz6@W_vdPULepf)1O)TQ>j1G`Lpv_bij+Pk+$cF5*o#hW8h164j#^n6l-D$jdMIN zEf=x6NHo$4Bk?G`?o^ci_h|>0Z9eVx#78qySIbZ~n4bWg0sEH6&R|}E3tS_ZzqD-v zGjW5Rf>)O&&&*+H;@KPG#p5Ed#l6J-%14}-Ed3~VXtLu+Xt7eVVxbk@4Yeh?b+}%U z1;d9|eIGBS*qT^4{~eV)_F=?-i)cw+)eL3fIJt(VPgx;+xwJ=7H1xVRpA7?ep}zM_ z4}7wi#Db=kuRtcxo`jQD9aSq?0n6M9h!{;R^|!JfSpFJ%wc^NV)pD$@1a=7@*hpp& zS4Gz_cgQC8fjN^rHqRVHvUx~chpe9iuZ^d=JVopI=9aGV z8Rk6f^_EbGSXEw;mWVo2D@k^Odo}x0n`WGd-fqroCReR)tCcGlAvoOb&cX-UDPuE{ zNhao3X@+Uk69i$*g0T5hz^XSYg4R-EDsX#5qF0oi+4CZs*CAVPjr#E^hLEak^8*$0 z6vUru>z>|+u~#45=9L-=_d10k)%z z>8F<6M)FOT>lL>L{N~N)m>H|y$lTJ-7V1Dg99ma81p>aC=qxp0ok^<5%=R3Zz znDDCSplAu1qVz=<>c?i?`qDC*J!*=Xh=Yoh9J){vO+HZzST-UHxc4XaL0BsC7AaOY zW(dno~T>L-Vuk6hF+X8;*Zv_W4kw7!^{;F2dt{uIeSS^^A?;ABM>Xb4)D~x z?pY^J?6Dx4y*=E3#GymJ4%^c?%hTA?4lGrf6(*6=>QcV|QkEZgw75K<*yPH<-CGNK z^1@c1G`Y(R5=m*{Cu9mT^`bcff--k>woL759_Bj!BrWsF!w`wVm$iRab+wG{3t|s$vfsL}h9!?aZe!$keE5tP?Ql9<=-`bjgm;9%6@~qt_ z=aCG-R9&)N7RMLO{nCQ1b>wN@l+vFK>xX$ao%8Lgk{|cqj`n&xn*B3J6kE<{Z8M}? zW=+iMdCL6le#+cPkg?F3M7bhvgjQ7awi6E<;hclv3#--@W|d*(JAPBnf<0xg6u}FW z($-(GU$xrNSFhwgRomvw;bM(eizz_D%M@6+CzigI5T%y=($*hiSKAy8ecwnv-%9N| z8%TDZ8i{ie5h{*s1VgnBq*h4o*G)N3?gRx?4s>4-Yyv9JK!Fu?ZwJMS!7`&ZgCgAe zSE^a5Y5G^S{>8rFp?Fj-jEkQR(;#%5($r*N)DeGs37G4fc0M0FBU1Ya}ag?2=y zbqa^JH+HSPDp)`Tzn={q3LRx9np0q+>;<@DR{b-(nF^ovaRqjn3iF$$0#~;%{%UPt z(@b#eu~R=s&`g4+xmSKon5l63?xv+zGo8wqQbE0)flYV}9n z5?(zf7nuOr!#TuLXv?KCfaS7_^bA$ zowcC95YZyN7FJHPA{?TdvnrIK`GpZvbN1jn@1rI-EpW2c0)YrE(3)o>{v~-8$4NTL z*eTLl;2t8Vj23uWqZXJp3Y`57d}xUo35+{SB5xhj2$Q$)a%(`LYT0-thx{$gEr0C* zm)5TAK2#9#>*M~vWBzZY2v+&#W2NcS+l`<8?LNt7LL7RTk6hLsd^eBi&;9!Icm7CQ zV^reVFU5=F$of0mB+GELplfcUbbc_4GvZp2PHE?}p`Nx&QWRvPF;zoV7(gMeLT<%Y5Bln#D+M z3dH@j@gvG|qt>9l*1IA~0Vl=InxLD{qP^H3AV^=vmbBR-Ro48mjW%67#(u60NtjX) zwX^CPFsr^gNq-Tm9 zktya?D+Zv7nhkofR^Po(Om$ggm8K~)PG$L22D?Zcke(6&pY=PO{=Ht=6fib97|tQ( zXDrIk`FT0XA=t44?AU_~7!*{XaV4=(t+(hRI%)2t6xMl!C+RtpoSvgn6fMX$M=}Id z3TqmUa+|6JUBOu!*bF|;mK#RGDf>Pe^-sc;?!qa|l`qOKbgWCJ=dpZcFBN`-0n{9; zBK{|4I8SU_-lE%olx4P~wP!^)zol6>Jk{ep%@?TTtDp!`RGOG(L%x|tZqU%4(&-+5 zH)b+D1P;;wOtSg4>j4sIKI)&0GB-{vp=UfbYzr+xe z_Gb2B*k2JiMym|{{tKxi}SFQECYMWQyC!Tt|hc=GzKFN)Q>bdf+V zAq$3iOuy8?ZM?{;G00ZvzMh%CVwbTILdQ}t^*-ZQ%wtQ24Uu%LWhMras%YHX_uf1qv7>r^k*i0cc z7+=*aF~{}eeGSouB1`Ij{3F2fb_bZZa7nt0fG{S}nk|^a%!fqIFzfmAM^&vlVmH{T z#Jc4$mFQ}*l!G-F;Lb##QsqS1#5Wy1-_&D_B%w?RX^UXUN?qUC9mwKI`Q_ux8?I{w zB*c;zPN6g+Qz+IekmbLkOd}G{{swCsNyAFw{z1{Y<8vk6#{F-(N13@)1|Nf6aYdXz zlqt6Yv((A?<{fYq_dhn@BGLR&|GqqYH~sS#{uygSV;?WGeY_a({-~DQc3;ag0I6C4 z5SqG|Um(4}bkmVxou~dCZJxTjdK^V@I0uTN{6VIS$SQvXNvGY`!0ua`COcW0oT;(d zp{OZK%ze^(&*KB{xA4y6dLGfu@38+3kY!WM<2ubfkB?#JT>UqqIdC{I78=PGYad1T z0n79G_(xF9>9t!df6$B|y=v`CTcRwrVSz^WjQhVbynP5K9MR!jt(`60D)`*e0#%H2FT)ci=3<~s!tT4I(+p`D36j`u5gZDgtjr(<$lb9-G5DJ~D3g$3Kybn_aI#*>)Qr|^GKPILZHpD`2Rvh6iJATLHDjduS z{nYNEHHBH;vMrl(o|1aGito}%R+P1V2mSIl4ArtM_41bOGa1ErhJ00K+7dr*%6W88 zJWcql0;|HUUqyj^r!=%qO0pb~%x1c!0g|X=4_#WL(RY#1Yl-uzwc<~u-m;T-aHl&J zqoTJuh>FX+W#6E2-z(*~PD#?vR=3`PCjK9(^)FBFnSrGnM-eyH3Hq0D4Z0j)Y6Xm% zZ@tA^T3cEem_!ePrHu7|G~#n}s}oYbLrr9MXz_Hi!dOx;X8SE-5>$?$m_m-! z40f5A@$$K|;qT#=x|VcQNd(0#lHMmrz+eq62xD+1)&dTnp>Wu zhAqWY=OIvwrwuEL^}=G_z`ja2ucAcLIhJN>G5??l98LNfTv5ArHrTFzdI=1Ujf*II z%Q63we3RqoYct!Le?;z`b_**WsoGsE)BHN9enEN~zkL*5kZwl5#4FT#3pJ-TikSbN z$i3GakvFz7-rkk+Sa7kuy_!1!HREOEq~oKGuR8AG?8G=a9-%Qt19Lt*NJgRPG*miF z9D2o@{|-ebSA{T&$Y6=%KNk?NOR~1N9pdsqRL86u%Mhb?SN(@gf@9!8EGIzN!xW8Rey@rO{AAMj`oSbBNjGbZ-*bD2lF?*>qBp>z?qu*SzEu7KBc zub(e=qA3x2%bTxFMs`yAi);$4WnEO%GvjPDR?bFwn9bb>Xa@;hs;66N$(b15XqRbW zZee8?m#~~=WyO)+vb^HaIf*XTE>l$tUy)}JJ^%@2Tw-boY$H1Rke_VjllsC}2HJ#a+UW(R^h00I2+|WWkEU*5(W_`QR&S}=^e5_PW@<^%wQPB4- z8LS-70#6_d0VUD58J@~}y8eEdetyWa(RMW^{c%nDS(|=7nSMT+e%{Mdat!^Z(`?Ko zSq>0myafY!K_svnb3fBNt@qW)f{+@#Z4~=c2#RaHYN@2!5BQ6>Z0L?ns~XBjs#7S& zY{a{{(Zo%x!GVOlpcQ_Vjs|F6K^pjjEtY~{Q}e&f*GANruN@a@@ThRr2x_1vP*XC0-h^g^oPa0YAwNOmNJ_< z1WC?+fn;1)2Z>z-cA8TJ#)ScU%R<48U0fbE$9Khq-FEVp4GIpid488H9rv zHPCKr{fxfwhdp~O-4sarU0sTWu7W}9|B@*?lWFk*e}rPM<^yY5f+8;2VM)TA0!)N` zGf#XkaN|w%`G!|5TLgm6|3~_q~NAzutEPKc8~pT+w&i1jAe;u8c)j)hkj`!^QRE1RNXz4`Xe&GYTrL1uEa=tYOMaD zKcs|H(q(r;3DtKs(Kz?;SQ;;|VBn^+%WQ+LgNyeU7?w@^j;P8hucaq=+|DVRu2U|M zpH<_i&Z`+=iK-|lY0A?)xsYV*I#Rf4a@8QK5t%ps+x!jwc>dP(ux&x*2mhB$4e8p0 zhx7lK%5}Mh<$D<_@5cwNQRxNh()QeT6-}M;91;$u^T`Mq5NV@(&wAAnKpmgHhI#n z`By3OOeX&^%72vp=&iIrKId~~yz7ebuC)04oM~>ZEVJ!<{5B!p{s**nZY}K_9CA@f8V!w@1*x>KFDn*(w`lijW@Xx%Xx2eg5~$sn zNqRsB$c&e5TH_cj%WZ4{)h9E67O~X6Pp-vx`GIt7e4;}WsynI^p8i}!JLWw8*uE?1 z+s{w9zUL&`m~T;Y%zpYaMEQ>A52v-b&1VYR!{%j~>Neu`+3ed=zWJ|2mVe$VlKqou zffW)x(-rvH+(@GP74?5MNfq}oBt`v?;{MlW}_ad&KW(al26k`6O!d5^n!{xU&ad9+MS8)-Rv*EDPH_NJDs>H`d;WopeH(6Ti%+{0C)i>*(YS!QTAd~RiL6}B74!{Zv+84W)uS6?% zNcq52H)i^VD$INQfvbHE%ctk`e%2Us_3ueM0OB z8v}$5RRyDvr`8aviKzy@kW{CWc*mDQ;`#Ci6Lut2`&&y}ud&W%`h#de zSB#YToUOna0p+*M|Bb*vYPpgAI@?Mb>9-9(!EbJ)cozDPd_jV$r)GTl!ic#rI2;Qp@zoXx3tex zTTl)KEgclp=QVw)wO{;ZUmk|Ipe2dDE9&nNrQJ!M43NVcYhzU!Yegf{f+dX=@R^u0 zNKE=%*!;76YE<ZQiQdMmm)FC@PUMzz%$32_3sVuH7Hpr|81qw$aA zcxD}^i`?&U2s=8diC&G`Yqq%(RZ^`nE4H4v(@eNz=g~T!pG^&q;}`p>iHtY%h1m1M z#lu;3`OB*NG8M+=Di$!QL3+^I@Vnql-{*ZV6w6Nij36M#p1@AAZ#lpev_ zky~+;w^TNa^7f)yP5$fIy0XWK(nbwT;%TGC4A$^wY~eyO2C1H{iO}xmz;<&wpQ6bV z^OK#;)@D0K!H=G#waUIx`7CwjDEkSoPFcv6g0J zqiK6+tSVYZQ$yOCZ)n$yciS{~S;M!Wf`2XowE%P_-*_x^k9jtSW2yvv9Ah4_E1AVM z)<5$tg-rYAc)omZi|2^LP1%$LhdhMqSy_nQ2j`nH5KKID0$XTp**;s?NG&%1a6|Y6)zGtt zd1MGRnw$-xj)743XCs9ZGW4Wr?e%~s>KAH#rSB8sy?(IALMJlDSVX^1TSP~e#QlP3 z=6D=C88L-#AmT@vKZ2y62};DRptGond9!E_(9`mR%n2@kl#JT+C|EmO)2m!D!BXS`$^xIAKz*P>`p~ zCkj1^9VVO~MDqUIrhs3~=2m-tX26gvRbWk*!ToIov}7^pjj!Iq)ljOy^Qv{MR#YPU zvF&oI3n3%%*;?<`=3E9XKN@;DQ63MitGEC@JEWm-Q*~`6Az0hp@t}2it;M=E&u+jS zCsx~fo452w7VYUFR?_`gD$1(gtd#UQjqFtLa@s+*HaypE1uC2XIk%P;?g;yv&BCbq z#FZ0;o9drR&rNeIVzC1euENMz!tUpYZ?JCn zFbWAFNFt5=fxMPINCGJkSLkW^!?f16_+(o<3e!x+JDOUi&W7>T0*Q0*tou4Qp1m%* zd}FH0;MHPwkc2m19w>GxqWSU27VM#vE(8m~PuscM!ii=Svs)`NUM$PGSmzV0d%l04@2!1Jr|b$H&(>e$ZtoILXKDzut;vSeC5?TY_8b z%~fA#Lpq^#RxTL?$cPgUWN7FoZ5JSIvT2v*S4f-(bM&`q$_VUBTWhx1_1*Jl2w_W1 zZyDC*FJePKwJBBTr?N40T+b=#=LGkxwZWf$#4j^mYvJkqsoK(_yp<`- zqR=EGus5Bxg5C7KK8 zYYr=i7+k<$d3o*q88x~~{kp_8_wYb)fsY~04^L!nqDIR7oMSnJf@K;<%qJ%!LR{C0 z05jUC*nScL=&sX_L^SkL#St-oy`&vRIKduZD(A9fP9No~899m$9L%3|))^)^DN{!U zs+ZA$1*%|gkxck)RTXtW!8t{xXd+$8TW~mE>R*(3ttjaFIHSC;%2mDC!fd5n6zxSI z3tW5IVZ_u^I!5H|B2x_D4kzPnG=I9djZRZ_wrMX#j~78u^VVou9Y?*mQ>!}lJ{=4? z*K`Be7(0XZM(U4Z6ic=H)7S|-`Yjx#=tZHRsB7n}U}8rwRP}6+xuQ$XpR1IV&@XmUA?r9do zD@H1oTPT=z0G%40rdV?;h$8EikRS1T2D+>-kTt^bogvD4gy^s8#cZ=Dc?dVZVvMcs zfm2o8px|KgXu#^ZSXTp9B4v+%<|kE|CcXJzTSubzMc>RJPK(A;IX4iT#oAeG#-9ez zefX2kPyd!uz!L3YO1qa|u76*RP+uh$Fz^e$CK z|F|qrj5K(ty`AUfF{ny3djF$Lxw^kV8$XG45Voc6QV@gk>*|U6ubR+!%@FrnB;SkQ zk%{Yrvs_(?$E|T(wO#okX3x*4jpX`|agbpnmcBo3K~k=%k>t%5R#P@xy?&*k{z>J1 ztSOVEUoys$SGbIe%Qexy$N+#(gt_-j%GRw!K4~zA^9NyQ)~R-I{(Q0quqc?{nE`yO z%1%*~U^8nfC8##fE>2osbA!)XWLBo!$`N=1F*B~PfF_R2KxrXCYCi&}!oN003;rX* zOg8~y<@M%WyPvFd%KDINO~_#KH?wgZgE$KWXFg^I(_DQ4)nkEhd2RK-m|C)1qnY~} zr^Sc(B(xcA{^0f9)-PHL(STbOpX zswSHG8v*NHi1?yuzdYff3wbrlBzhyjF*#EqmZrtkVcc@z872j{xF7msM}7)ZHuV zZ?}^9ChUR#lsyp9e1}B&($*`GbGMa-wqX9kMb4ZtM*!D9vkQjTjFs(UAf}JmWXSYK zQ}1C?cAlI!H|9N=ye7mSQEjCrl=>72ZB9&&hIUk(2ZSd!U<$*?iRWRbV*rv*%P|07 zCLrs=*2-C1D(}5DU}1V+^@+QX)GJoQ7Oq!2Hsw5@HgekCRpd<@zN~PKNinDC&M$>8 z)xWUIl>NoxItEI^Y!(6t#FB5&Z=09i)639m9i0i=(`~V0 z*EO$7&fAo<#-((@?OS&)m^jLs*uu!x4(GuvA$PV6O9jB&9J?a`a+m75?%27y@_#Br zF!{G#KHp?NH*DYKbCpbH+81A8E`d?OiKg=)?@pb4a+lh?nhu#&a8DG%o_V_WH7q_>TIn$F#Nt4V9JVTTf56_)T#C3!3uhZ&OMZr zqRhchFu#;K6PZIZ>_qEbxcCG%r84|PIu=4IxlvC_q@!3P*$LEHO`TEXZ1Xwf8e;|1 z8f9|%Q9LpSJ!~X-?q_n_W~>_Lud~#U=4EOOEv{KpC~>yEv=VorID>Y*-abnW%t4&v zCY6r-*mZ_;+a_&8-`@N?c!9>P($;loN?|SxdP%Hcpr%bTQtodn>%-S~QMlTUwg^MxGSsnSe3}1BlTp0@ zqk3tGJp<~M3-56=#p4?4|IwUE@0TD2s+r=8(^DKb8!3>{&}wh~lHYeqBbdu2E$UQ} z21uR4=BoaxKlH5akjWMxOE$~>*TSuT2m?%+|GJK@zH2S~%{w)T%CPWL&qo;dJD%P| z1r9mlcUbtrO|7-?Z!uFZaeaAY7tXK&ne9o2H_PnF!iY$g#luZ>bEfV8POHy@WCtZ? zFiA1CXXV(JS+31P=i0;!w&K|KFSYr15+Baxlh)^Aie_k0hcE4FA7QmvBWP}%L@uUB zCpC~7&}Fz4FlvT63HcCYA9FV_?7YD5P1P7P6CD7tITV|aC7aK&$#htx#{5DiOi!{V z+h%47|NR_;BAxL<#9w50@MPRP!5TMDXluSi&@th$fL^nqyf1rGkIx>9fZJ|T9Jo`R zW=9pI*ZO8Cyz!uG6wlXNxPh?|GD}DBO!ez?qWapY(3a`9zb&J?hDPKQYyA=ON+p^8 zd0Hj8fDckh%=MIJkz$$JF4y!-K0=AdEBCrDllsqQw??FHg?Tr$XZ(yf#GK15;MWv;v|9g^vJGd35=$66}H z>g=psYB~DOf_&%AZPF$tE6DF?NF0&LAETTrkB~_$sG}_=RtjgN*_Xh%e^^7gNv+bS*VX|*g3NSZxw+06*#{n9uB z-ojhKp3~|aM4pYK$=<<{W<1iBYHO|yzWsBvvR5>gb=^)}Ou55N{&^0WEq+jWhaR0C zu#jbXZc;29O{!d!d8Mlrc3Jhll-Y=JStgG}o{#Wsq7|p%n`zi6%w6d*Ns)uqaqGL* z`115R8Tz;g2`319)s${_BKb~zPYu}gE!@E8dhn_}v&}5~t>0(%8?g-07R^Zet=((( z8%tkRcDCtdzjb=rej8a3scMmJzNR_U>wnm9gYzSV2{+H#Z|!~@LL1ms_HU(I&J#Uo zc6=WjZa)ilh-)xLk^}d#q2N!Y=HU1@cc=rycn9}6!P$jW%|;5rp9Ah6qm=?ze8UOi zVTw2ZaeFSwQZMV+F2DlyF~PH`B3FRwbDO5mzq3>YEpP)ZtUZ0~xRt?Xvu#ea_mANdpTGOO4E>(_E{rqy$4)jX&+&~mwF;KHoz#9_Jxsk$P;sL`-jbAjF* zOp)Z!KC}`(BRsBwSd3-XQZ}Mb{i{Ga;tOgaEOpF3N7pHQj0H`iTdp~l1RJB?-xNM& z)JX2^2(I~3Kz@uHLvSUprT%7aTn+xMuc-m!BzO3$OMO#VTk3xnl)uJ5&J=K$|4W=IfzYe$2b{JEv)S{^p!JK3OQbM=?}wubELDLrsB=U%KAd+ru!1M@1W5F%R~-zNgsx|Ku}Wkx9a|`+ z?*ueaA3Zzi<1S#K@>-WZ_}u+egzI(^^W2xPtfyS0p(yK{gXw$hM{aMSJXBqJch$(9 zHs{`w9vd6`(qDn|q>X}=(<3-=yP~qUIeEUZN*jxA!%AL!zXi5fXuUaaf`?`>lO@Ke$$^m|F zWBL@;4B(I6oCZ8a5=dzV_@rO=h3|Li5hdilyRRCLMOjUvj^n7;eFOJ> z7exhyK!AW7n`|Px$~g?1pn#y{`&adunFP4+dygNPb53=2b@f(VU0vO6)isRY=!uo| zuFZz=3t~8HZ;3PRjzL%KsLFVP!}xxTzJ~HggbU+GUT_%yNvzG)7=QnmFy4q$UeET1 zucgG7dxK2<=}s_yr6)X9F23*vJG)C-0Fu&tOvuaT9;=s-59iDk?anlj)(+!iVmM8! zFy1c)ZCs6UPc2j8?PB4Fw;RTkDIy*K`;!h~fNkbDZ%@V$jIes*E>t7(X)> z{vF}Mc*7{;2gH*`PSuMszU+uJm0EO8mKS=$`0}D)lDp)aW~?cPn#Y>G+g!#O!|#;^I=l=y=&oc2{1zbgi9TaEFX6HJL;7YlFTFh1y6r^K%$C@NAA zxRkg%#(0}pPi*fl+1OMVZxUOvhM>|Ce}zvm%Bw zZFs!IzluR85i{OY-g6nopNoYL6v~wNE6+HL>v_V}q)NZT(Go{>P&w`mwsDvIb&fO@ z@-=ZC1v&i@ssn_=XLJ@y0Qnr8mVHcg3J(#Edh3uu^Wy za6h;WcOFCeWuXk?*3%B-OT^))8sjtnIxXWIX+w#-z2QkQacG@w80U({$^~-FrBz@U z?;2;kxx@I4F`SetjCYSg>r`Vr*J1pkSokhfHDUa+DC5ZlRcHLyKh4PL3nh5Nz2I`S zCs>~W2rf@zJkeo%8HSq$$-?-9LOz^xYi_K>N3J&|{(21O`v1gB{E-;62QlL%KK+C# z@jGJStsTb4KjoBoAA+hgehG{_Bd0H1K)Yak=h&8O&XT5br7zsW^jA9Pd4Qxs-9lc@ zVX{_;-Wtx?QxIePgLQ`S2#a3^=Y?T$#@EK6PZ2ZDc*Vbl@y}!70o8~rtZ$xl7=NCi z>WtrYNEkn5J3-aO;a3Nvay%+Rd_hD=X%lHGb)44YmCku1AYpu_kar8? zHwt;Q;QUyLcXSw^6vJs*h4JAr==s$c?~9@*l)J{lYdVZy`-D^CSp-#Q+;w`!-)O7@ zP^|T!9db#IlK&MG)q+%E{Pm5>_#5qFjNkW@DRJ5VYH-F5iI@1hG3af?jFc@$P>}Q%Pn3%8kiBI_E;JxMaw$%J_4Dg#0B!zP>OX*`SPH z*Ez=c@->F>Ix(Cts3@b0yG#DS7-M37Ld-bhJ5lt6@~T+)e}yuPZ~U*r_#A??jkDRs z4Ec{7h%$~oevgrTx$ct9jijkm8#zA%B;@ZB@(qOXwubS~u8J|9>M-6ThI8VEIOFYO z(4*_CGJdhcczP^+1L4AWMwIb?#cEScj<4MxWt=FF6ygENMFZ?qE7$M;amLf$3hDSek!woVzhFOQY@tW}2bU$Dp+oQDU;OMGbz zdOtDaP321zJ)!(&EPSL;ro=yd)L}eCkTw#OEL1IYmErrO#A~6Cv#D+zCC`J02y87LO??P5h0I+aalctd^jhm zQ>?@8zAR~)-M=E zV7za3tinjV$fHK8E5<_6g{E5C>DO7P^QGceb{0AErO~uJ}q)u z#@}X4XXJERPm$zhIv^oGT*#xhxUBOH<6pOlF`nQs-Z_S|zki(ZmNBS}VKC14IS%7> zW8upQ7sl&H8Q-_pX(}-}zI3-?+#?NIC(AnIFGGtuiSd^K3FGfVV*#3?%eqa-hjT88 zGw%7pl=%HIoOV?h9~*h(RY1GhX8F zpy&zZXJX;~g)$}n(nAj8lL@Lmb-UhI2Y@UBb8;guKx?C$_^}xMawWwI0M_s>AqF&iY+|slsL5FXY2Hi{jeh z&EJ|5e>H}4-SzPje>ev95i?%mQ&IG!#K*+KFLfCAKj@TrZ-T1J@s`TCj+~BNg_B6# zC4HI3pTu}8Kteu6$YUIGSwC=428=h2GydLk!?)#e`3%U)fn%Cq9>FKV&Mr6WrWG^|Xw?i*b;VGuC=&n z9=pHGvbm3g5)Z|-!-}Pb@x&O;=e^>L@Bcj-^CM!$8Q+egCzMyj!XFjNFuuOTVf-_K zl=0XA^zhCqLw+9_fIKoYHaC`48}h%wCNAX13VGIKTvi*y_^)kaO{Jd0xG#qDPtQ2x z?PAcw-&SQj%VE56EPNf|!uYvS#*cG8cXc_wW=C|$$A~gSraL<1C&J}PBj+!yLI~qu zKx4rL!uSLsAI`Zd&UoJ?ro^9!;dHIS_>>qluNvcbqUZ_b8)MF(Q?1_ zw8GLV3`b{b0=ukKI3jk6`BVbd7!$j$0}}$)00XP(z;uzQn}JoLg|P%USJz+K7}zlf zrb`=54eW>m(^Z2c1N#FQZW{RHADO4wIN%`RY~`|c8d$`EDI+Tk>~{yIjLZY(3tf;o zr9Y3HR+Ht?YNS3=dg>$ZS$(7}=fNuIAbsRqtH5Tz+$+Gu6ry`VY4!AxvI3wll(o0LOEVguf!lqwRF zd6R$eIgVFK;vr=|XSP0CJ*?TxD^=!G?husV1wHkV(@P(%dg~)^5D)8vhG}NuwbKr1 z!#VF>=E#cu*1@k*T=oTki`c-#3|n`quqTNlJ?gL;R>U3YILC1UCL36E?@zLwzwB%m zm|S+AB)gZu{FbF7#dP9>2(+FoO0oF`Ts#H@VzZti+hL;V7-%b?oT#pNCT0>4aN<{D zOXMOJE{bro(8%0BZIaFeDn|+$l3WoksJCLQ*Z5so^WW-V766n}iXBXo_WhW+i*OBy z5;f_ICH)lCS1}0dg??l`xI%X>k<=uhnpAg^s&tZ?k0I3?8f&P^z2(Bx(*TP?L!I>H z{%nE%jQvsL7Z87i6aQ0yayz}ls$uE~hB(FS0_J)LQ@rC&t+|Fky`k$&{Pj-ZN3d+2 zT1l5FbdZA@<*GK&Q*w2!n31a0(}h4zDg4oxO^92id0Y+Tl;R9wX^>5GphoL*1fWx! z$2-i*PpzWqKu_Ut3A0sCXq?cbikxzv3Gfum9n1l}92QA{FIeG}&|HA0*3b!NLmIzo z4Xp!sN)4R@ut=_a6r!;fa*#R1sa4cYp(o>}06m4*>(IlCLfj$ZkTngbCD2m}^$zq` z(5jTZ7sx49^oXc@)oSuqAg4Bt572yyLS0PC>!a0F0`wFnm!ma!am7(4#Y0FM_bUKT z!Tg=E_>@YT5Af8guK`r!=hNgXoF@M>qvol#bgn`@CjAPPRWR_^&eK#=2Y^MPlTqs{ z>Ph0Ep9;okGl};3RzOe5)?M4BJ!|)l_97pkQ_B9o+nmT%o71fTPi-R~Y?b(4r{YEY zlBH6Br=l+3BB&?z_*Vd)!sqXs1@rD`MH$&NAKM>OMBd@a66XRC)UfumTUjtj?xV2fsa2^gG(U2eb zwjRJ!$}Sfi6N^S_4ciJ?1giV*AoS0zjejvM(9|9&fejZImdE< z@&B^x6*dv1hAj<}+aMLH53Kdcf)kYmgAFFit-ZaQA~$o8cig5Fdw4m!Aj=iVBXRc} zC-EYa_zziz?iU92T0{3gLf7#?6S_gAn|Sc^VXnwRxLM}JnxV1Wr4Qg%C~RLb#Nm2? zVWil>8|dH-6+Cg1wBCA?6b8mQzlaD0u$k!!u>PGmij=gB-XsR!6D8$+(~l(udc2+C z?^YD1io!Q~-p0psRgt^fcbqbwVDH4mQ#`)%eZ%*1f~v(tI8cYk9Tz*q25Ry*dhE}2 zD{GM_QUSHQz2QI`Z+HsSJi$La?rtl(g%a$iK_REZ&_|_mp1D5O@R`G-uqN=PuE1HqheqKu zm7l~r`Hrk3V5GeK#y)PV(`V{(UowW>vp5L)4dZJrG>mTdxSHxZVB5geTFs`Zg z%e?97;{}Hwc#q=YTIQd4h%$XmZQSg{5pJpbk!OH;hxcvck&|7AqA_~%@K2jIEyr6t zCClY+R8TzS3YWWdlc0sBWLd3ioehm6*3&$dMq!rUTNn(qvArbd3y%@k%ak@vTj0Mh zgy!B%Om!B|E~6rgf2g!B`C8^`DczchrnyfXPT$!|Z>>vw>&fj&E^zFB%J^8lPWcRs z!)L!S*i`&S=d_S;b=$vNVyyv@O%Xj!@YrZ@d#kU6eoiPep==2a^-71pxnOW%-wzBM z9j)HGP+0#f6lh|ft=4)BropzbFbTLR%Dzga)wPKOgoVd1K;gyT5ghBl782=2FvXN1 ziv6P>)^g1!#~`+PjZQO9W*}a7;U7{ZDME3tox#JD?mS43v`LRYsbsNBXS zdo}#rBbzwq6XL%o@xzG^$@@#@eU`jG!Fy5es(>Jd1#q7U{ExhkH}3&qz#(v}ybA%l zK6~vw!F82urE|UyM4E3oTLzDCQ>cLoUc~aDBFIQ;kJ8=wT<{?x`DQ-sDfF1g-!h8Y zy^s)*eUUwp-30^m%5Ayn#`K7SAq7J#w?$UP=*}W;WRWK{FOa8#~~WB9@RI z6_49WzksxkG+#<%it&iViEkelrXoWmkD0 zfJbq+rYbEI(F5#GH+N*xlr#4Qp@u zuYQ=bL!zWh?gVJs`v~6b0sLf_sU>HmyLI<;_w!}$!bMJpDOUncN1Y=PDGx52mIryb z@8a69JT2AUcq8uNa@!?O`zO5GX;x+5U@Pi8$1<@a296o$C|<0S?B+ngx_#lk_r5e6Z2LR=+&4hku+s!j0WafJ`?z4i_$@WWGrBkCgTO9t}&dCG3h*|lsZ@eD9NE#mrAJIf!#%3 zLRTjpo-XQ6hQBRoa1;<*V_Fk(QYu-1s;81J(ZgxAO)5j3RNPJ~#~6w=mE>xv)Y4Qk zG?k;EoRrEzK-E*(A#}oNFE`REYU!l%4vLQCWwD0l-Dg5OYG`LG`c)W`fOhz(7x zMp&(Qwbz+gJ`>Bd!_HP;C)QCA^&dA=AMwKa2y-08wHpcOOlIS0!!FMJx zE3=0=!Bqy1!GNOY71=$U@G66nSHm5V(n-Rdaj340L-ufuQDrc(qr@UxDepf1lz5e< zGOC92Ml{r-J2wMG@H@1)&erI)w8V>$0_{DOwX-*Qf)m*IONUmc3{SAF9J$m*@-Ie* z;08MFX$dDA!hbc75pEDA%s^lWv)AYUL|7X9k_O7(VaUk2B|rWo-C027ZHlv)#&Hhrp-h!|ZjVVgQr^;1T$SJ|dgJ4sp;P^|lqh z0S^JJO+OYzTYq=KmY(h?f{FILTUn_ICocXR9vLg0zzi9$6YW_h@U3W|Fmo={GuVUA z&Oefq0t#Xib~biJ*lDhNpk#<;^k3_o#+9Y%>SV0pM#2e6GBPzl zGht$sH?@^aKkTFL%W_8Ec=NSezCsRiIB%qZ{si=(JGFc2$2EBLWb%?XfDrp@!B#F~ z1);TSPh6`Tug38p`+E-~cxh!tKcq8r_NQC^<;+!Hlt5HsBUxuFYTDUH1hs>8o}#)- zCIF7C@P(WG?bd33wV7;`?r7CmZN$`HgmYI|v4n>D=Of0s(edyGrk2;jsf5^FcrmR@ z8MYC`x&@7s^BL{c1FPttv-QJ~_0RGVJN!@Q zTR#ZI8E6)o&|#Wa4SiKZ%@pHl6Ix~JGeJXjk;op+yEBT&G5wb%#PxR_Q}%O?7`pcn zXS*V^V7Bva*7=#+Xu?-;oPvE3+wAREIZJ@$&w|P|_N}t*URg;87@IeqDHsawD+nPo z5_U1oF_Q!Qm&BKYeehj5b$&KuZMWS*Jbf^zo&ab9aS2LGl9#HU=)TOaCrFz}nR?$Hg zo+%w9Wk=IiJaRg!=|zOZ#uQh9RyB#BDX?NoQp)-OpLKgOa{cn#H2f zrPA}(Vh9>xXg*?SzI3(`Je=ZC0#TW^^+o7n#N>uM*!$nSU0~>3ZRo6b=yb61AcHiR zBNZIZ8QO^@&$;cSyxgT1{dBf#qtPAU z6KdxPaf|5_I8JTT~r$O zsfP1j#li`99`VfzMS<@a;N=EL_L<^_(-uS7e#yj+!d?K=4k?TQg=-Gg9v_;@=!qbe z-IIBrYf0F@i!YKO#M1l;2<=x|8T~(l!z!bfwiO!kv}LrlUP*`V)A|aelglsaYAzph za#@CA5*bUj-`dyTWnGs@>oWVrZ}6bqeGT1GR22kd&Njugly-s8=73tT%pdTEG z!B%>bH(1G>wRjJC>Moj6S+Cbf=ZZ`}^+*{78_BY^^}xT4IQP@#ztH{2K{1+!uE5N6dit(RlY~FD`wY{kBL+ix-->VS*XUxi@wJ9MT&y0&BKLYumX#r zHGQFOWh?Ecp#9d%_fiaExn0bB2bc^1?+;fPvcp~SE*(WiHSWteY>V^M=}Z*xRIz zP)UIXqJelrvBfmennE3&&5FL@nSq9)HpP@F*6_d(BcYcfrx%pKDSQOr!#ZOa=~Fj% zi`_EF25L~P-`?V^O*z2@pwxVtb1Z^}iY6~-G$f(!qtfKqRXo45YR{Q|!;qB603z#59)_W_HGXv|qp)oRW?-I~*X&3PZf!V=cyh=nx zblbHj*f7BEd@aD3XqVEmUj&b$`d!c+eOM8)H<5jN1>jKHo6EI>U76X!^;H|n)b8?;9_Im7yQ5hpOPS7Z-5AO2YN)Il6mPB?Ghc}|aFx=8EqlRnt)^(ulI zDQ#al>s-*cT95Wjb=g;~fgz(2*i#9xCIQ9Z!~uXZ`t6W&JV(l~87e}zNt>OhEdJA2 zDusRWBJS3&Ks~CBjHR2VdPCz_gUJhlCkTyEqJPm% zrqWH=gU*7?20+zK0Ly?dC_Yt7OJ$oBI%cCcmm1yrT|zO8Jf=vAWoJ8CYfO4GLG3+% zxg_}KB4tn_e zHQz9m1yfo7gQ?~YQ{!uD@f=Ar#q+=tEuP5N)!F#~c3wQIN*PTe&EE4Ll0;W7jFnNA zuroy1880Do2$3>+)Ubor-8}>N>B=a|&aN8DPIqWXZ5>_wKiNsC%Fb@A6usw}0@B;&16y*j}V~HwoTZal8S7_f1v2=M_)%V(X8xSoYEd@2RSIcPU;E!CM~3lOB-w z0ztj33+mSp@%y%Zq??aRBN;9$nRhzeTNDka^&HS%Y&0r*s%U#vw5qw#ucGm-X2w{N zAmx;Dpn+<9+Z!3}tfRH-yA;=;>@uvmJ{2x~Q63A8zL&4M-fc-=Dz(z6uD22mc9Nm? zs-f0LsmZ$Cb5M(XY^Kbz8U|BPp?O~u)ge$8S*2~(-VpeYA+Wlkkw6`-0T8gqh@Cl{ zm$RE}r=?OJp~5!ydn-gXM_qnB!86rVQE#P4ywiy2zXZJ^zrFBo57D@0ec_Dx;@oKO z|4}-7V*58J7O_Qy6I;nE?g#YUC}thOTw*ZmMKNQcvVv&8WkL_U9;5S{yb7K9ig3R{ zSm8kJGi5S@#lR+W?cG|ZM|IA^u;UoUE)VQBW2)p!G$k2RW!zZ-qGNP_iPmhr`vpS= z<8yy8xraTLnB7r^j-n=bR>_sRCuE5+Z;wS<-`CTI)!jAB#gX-%;%^z0dmZ(K>iB~B zECRaC5ZvnkXLk75j~To+DN=)W5jFDfZ%TR{{_oP8Ea}}~(pz6S^#3hA`0XU|n@W7S zOE)~MlBCr*q%S$A5CE9?y^ccBCKfm9^>r6a3cW@Vb-R!MW5XNE0 zkkEOIOk$Fts9N^W-}WC3S=)~5KQx<7*_GD0<8>CTigU3bhjTXl+8@~^?gmG!1ydb`8NFIu9Yp0BJT~1W zY93m&_#CNM5hgt9-amnyJ^acrvNRsE9oucUdxE?51QuU#p~qeL9a?4bqYa48*685U zz%^AWHIkRTmwZH$^dO^|=IF4RU2mO4W)ImGF=$O;S> z2XvOrIZH*fOEoMNTigx6DFcNrcS$=bCbU6!Ni*J}j#KLXL?#MZ;jL#q_qnO$lBU!M z?X0ELnPEZ?#s6CCu-V!FXd^k~j!Nl*rK)Wm`$5|HR%;O_yl~i(T`ct)&Kd5Ms|4LL z#VOYc|5Pc{I(Jg0Xn#^Dl<5STXC-Y1=Pq-QsnkWy{_(ny5n7x-AoWYWF6g;SQbZoh zMpvv|=y-HIYg=c|Jd}QeiOO5tGQrOsJaTx~739d+#p7h^`W;B;ZtLIcrg_ve%snzg1>A53Z!6ijuU#4u^E#f9AnQUki6#H`V67=V> zkg=~Oo^=0DH6O-tnv9TevOP;+;k?1ewED*2zecf%=8XMwu`$2itI@;`kn_)0(;e(X z_owTU+$Gyl{dMl&-s(xumgNa+e2MJesI+=)J4?mRg(9(Xk8)3U$A}|2vJ9=}vFJUJWlq7HN-|Q`xb6~|_*Pa)<$xu<0C&=Q6 z?Yfx>N$^L>6f=D|mwRVu%E_5lyWdQnk~8Jb8JdFT3p{tpawyn)h$=)&Kb5a7d|3?* zi-88zRTC+5adzr#{UV)HEj$ZX{I9mt6NZoLZ^4 zI-TAF4Vi2`21J(3#9G9pa1qBV7Mbp+J$)R(CNT^mv8zLLHuLqZA+~v{;t@DM7r!-E#`3<;r;2J%4Hf_=n8aZZYtuJE)}`F3j8aqOA5cPP2>Zs z_s6CLI7%XK>cUH1*2^3nCBspDk?XY2s9cZGTz&>=oJ?1OOJ!<`+-UFwvu8av55*71 zI4i-S*8oj9k(^@ekad-BXN&MO9VGQ#+m?(AP09_&wrQ>>JG5Qf^$PL(#14C zL18)7dT5U6l-+4|TvjI})FGryDn~D!;rcoQ?cK&|GdIZZGvluhG76ufoa(_3ghuj> z9l%~JPuBaMa}xZF@42cJuYxt*;bd3vM!OojIjS1$w_YEwm5b(pFC9bJpAR|xQuTs3 z$7<*d!y&GFU-7UyQXL#$D9Vt4v2f%&BJR zAibe>6Ei%;`x01-_6FOzOB;bvg!h709UZxr#2{P}G8iosBUX)eeZHq&;aKX$JB~^@ z-T?dVJRgQy+~-6|{SAOjyTooUICj0eutt{I$0;KoKS9GMO6OMVg6ByvbaxwX)Gtbs zy*u6Cz!w~XTp!$qlZtyK*w1K;!C8?#zTClC?ve-M6m~u*6t2yJf)P-%W%Aloe-mGD zAj898oH2xg6p2-baZ!jyc3FGg*LvUtPLV-OBR0wK&-~>=)%O zbC>=kvaOsS4<^C%`0`%vzy2RI0%Pm~k>)H-eZ|WE$n`6>7>__MVne zKm^D4KTBiVCxYX@ABo_QE}D#DLEAx{WL3@+<^X3AAeeN-v3StCB0q38Mc>+QHJxVU zM}`zKw2_a8h0Fui>5;qB;rEu-6B!C3j_c;>eIjgP173)(e?F?69963(^ zhLIh$&B3Sw)vjW2Wr1!9IN)23URlKJDg=A&OT%+2YhHHOBnS`%ak$Kj& zrP8$~eyU;O$h*~Ab_Fh&6qRUNd~Up44kVuVnDJhzB-1EfH+wEmR&M=?)|ZoLWW|d! z2AA9amT3PBNRexcM)8Tww5(}w8*Vnswv%Kp-eJtQY>$o(d3RAR>a!_xe&kMDkxVLg zE{aimJuV+;;cnp8B@WFX_0UtMRJnI2xl0oWiaZKVqV$3$Fv!(_VpNl+#YiRBn%tb!Ppa6h z6QUJMV?21DGs3@QGA;52@TMsEh?H13@w@2vF1|&q50%1s3QF>^Lj?DOd{Am5L`|Q} zdoQAmk*tMtmL!lPhLtpAtIUi%m;!9iF16Pr$wgRP{;6vn;iB|j-7sQupHt=CZ7T21 z;$|4u4{yVMHN#DzEN)|OpbK(w0HzaZZcFU$GV=&w#+WL1E7jmy1eQz^u#$16_ub&q z+22}=E$D&c39|6>3|A=mLc{azt9U^WX?HE&#AeJeeP-5mbkk2zsy+1O_Pvn-BiGQ@iQp;dRhd&iUp^8WG&eOi%zCy`d}J24VZ`IE zTN#UUxA-p>zMTdB05`_x{T!jOhjZq+q{KQ~J3r8#_aKc+=Iq>xy3v1$%(Dy3if}E7 zl=6m&^r1$|wLUbF`VdK)eX5K{bbwxn#i1T2o|iSEKoJX%{_{M!8v+;NiZj$uIdFz_ zhFoiup^_q0ayPh3o)sY$ZkB7XZqu|nT3rm*E(y%t;72gzr*ezB|B?vCp5^|Lg%nn( z|0r_y_HNDDKq3mPvvtwu7>qw8qTqnr!JE5mO3pPQe;J1C9!cIAf9Ds!=JKCQ1{V|8 zYoxN*iJxoj`V5QpIB#WHWT})VZN*wl;}a!Pk9F3oTfDhH%S8th^SzZdeB87v2GVf! z1PA6EMjvuU9i)XQ5R~!;e;scnf-676NLQ+=4i1Z+;8+Th>aHp%AN6a0${$>g;j)Wx zAPb9CoJweRud^rnG~l|@_$%^LDFhNbV%@yPvAp4|v67K7!vqY^@&!k?u{TL`K9zRo zYDD&1&Hon>J54Z8C2+?{1h%aHA6(eoPETOwNd#v8PXc#?S!Ld2FXcuzPfb>&y~TSI zCf-2h?^O@1b6PtZ%~F5P&~leHu7PBmvG^$P_>`}_xFVq-_wR1*o-6F06+*Jr^52x??nH+qTH}S# zjJ(UPwGT|#zT+7>PDgjTUHCBq?4hFJKNl1)O6U?SdGRq4=~B_{#eAMFd)!hXe8E@~ zc@mLzlb!CwH#eE`eA9mk!!>HT)k${=Q!|YeV6HTNPqE z{caH+mWg2({lK8S4vOvrY;U!Ei%I*t8rtjw6WSvh+R-{wLLVlyAXGXX2D^o8)xjQJ zkg%|zWo7P`LbvZ|VeX1)gSm=va?`@#h{*-P8z#elm%R`MIDOw9NNK_%gN*2kWd zqJ(`#!=IKsdqaVIRw6u};7U)+1D=IPYx;6mPRnuIeK5$)n}bd2D7>jSqj^E?e94e@lG;*t?$ z47S=KAVux>JFK=drJXW)z#)&9N%$Zh@z=9PD+ND}TpDz1zL5?g&OMzfeiNQxuKz-l zXgx_Z)F@L1wxojMA5m{*y1M)YGCpst^c&qyF5<~V*bGqKlI+>MW$%scjas3f#%B7x z#x#4@>;)QNf26QLM!}J*Go~jb(YQX944yQTP9TC5svTEp6;akzGjWw$mB6aYb`#dl)GgCpXA*t8Os2UdX^;R`%w5*f=c;}sIVr08$3&!d0{eF*L75wnYPwZhKdTmMlC=mLb}MOe;j|vx zrQfHmVBHz@Fym+jMSvwYoKwUr1{~RgYZbr(YJWHCT83u?2$8EAOwZxlTYPCIL3K2U z77DjIBpxP~Df6B3=4>2YFYP9rx4t53So~d@!Ki+epsoP<8_0=xTwd}Uok8Wlzp0bL z-9$C6#o1Aow~<^$qR8g5Djm)l!YkG<)+7&Dx4o*_ zx}9+q3HZI>=H8eTXi>U6fGcI*6U%6=;he9JNI`VAIvMQFf-TE)Kky(rT8xhKE;DFA-gJ&kz~nkx?EC6M5YXAFP;QD`7JBAX<^V*HHbPhwxyR3uo*- z$ibUESbD_J!ZRZDh`uWtU2hX%cOuy+}Ds5!Dp# z2#+2<=L@?1XV^nw!5$=h(3NyINMh8ADWHH$^E?6MkcH0}d! zXkq;}8$0a~BpCwuW{1bG7=`7QV&ze{d01@V6We&OLTXo&u)ey>lwgw7Gj7nn@YO8O zmif50r?jbZ*fYvu^tz`+z*dW=rBAE4*v%%qA}1mB+ukU<@}!yicyZKlTDI+%POeLL zFY{J)O7NI8Yz;A&Tbnh>aX=9Scl@GFX8&<{w8}q3)#uXjXm?}eT_wR^*05RHk|LUh z2)IH`Bfe;mBh)BwT^_2d9VlhqCheS0D(OTU1;dv+R45>3ot+%f@pT0g3R4wJmQE}uwsHg>q%*5)d$$W zHa7uQWq>tH8L>Vb(*?}HOOu~Ral{AM4%YA&qeH5sF+x+6;a0xhq8Q_&sSdDzu9pO3 z1MD06S$%;04>as@mHDPImQdocjq}=6a|L27;dU#1*P^ro@*d9Hu!woomsWzy*$0l@ z;L;M(Wur@Fnb;Voh@ulnjkL9XB{7+lMX)Njwl2I(zb3Mc{M$-T?wZLdo`jX2+;We* zhwPDI@g|i)V%ro{9o?8x&V=bZ#v6MnKi1pBF>{0yb2nioAkGte8#q5aW;pCJ%&2?S_dpkyqa(`>ACs-ARXW(US zKO)H*`O=S9xtLP~nRH$lAFH9VXv5-6tV=rh7fPV$xUuDXbk zq4Iu4w5zXv!v z)YudK;LLx40mJK znq@Z?8sR*D8Ex$P-!YkrW?8wClp;?m?Pp{)n?WdhuNW+Z9{SPy_pMo7Q2L=F^>*OuwQYHQI^$xJ%n%+6r5C(C15c=WhSf7LiCS4ZP` zX8dbX`B-R+cH%C5N?whXM23X>`84|IPI-%)Sd^XMAG*w*NRaAa|I8yY{s;@m^^o5Z zC~Dos=!~F!7(p5Cyur=(%bMR-oz`h57^lhx;<3}S^a3eqxzctrPjT_`D{f+&TJ$Ge z=>xSrxmPFAKf{T)-vbEORn}Hf#e1Y;_zbYkXFL;|Y3cT(YZ|${Eth%be{uV!Ir85t zb659AON);sPUr-iJy5@ct9`?hpYbKEsNBV<>c1?~jz=IXav6_l7e|`&m~?ieg*=)@ z>I*PA(y+HxzM(l%9t(Up@#t-wwj^gst>8ttp*_DLg~%S-`IJMyUlUBdg;NUGl3m%U zL%r>jAx4%YN4=zuZFdpHdUzlg^vY&9th9K~iy*I-Z@re9CQdwWrqQ1J$6Pm*OjV&MIH{Fxnc3s#e=Zo&Pi*6i((po58 zXeh0R62)(=87f>NOi{NR3aj_Q6H*0(Hp;qHb}3y<#6-D2i@wOBv(AhyYp4o1@vKM_ z*O{ujv!EC0tfQqm?BsDP5Gd+M7LVg2>gpS1BvD)E*1$zWZnVb%AF{(U!t3j4`i_AR_g zH}wyt^(7lJR5$y&W!qvwI*txf<+^9FYL&BVG4G?*TICydYL%b0$LQLftrah7!<;XT zO&R@+w<>-hr1YwW^HnsM;MS zNU3aPqi-8|6B}q9gu?mq5#M;d*KVKyX>sw)Hui;XODg!$jOo>1cI;BCB8NOc!;-LVnUg zcYWFua|T|L^^8%r36-KLj!(-(JYw#7J_YOQVgCx9cj>sk*oP;fc=|zOEHre<@fLXr zbtuq2>cLovD&`4xaF;IlN&=#1hS(qTY4sf>VpA69RPP%CEH;toE%@P_2DeZE;p3(N z`YWv2oE4hy{cN(3sqTXR%8W_(NHdhj59NiejS_)bc^kuzJ%JL$loK!nu7-fD^i72T z$nOg>5;7}V4~3}*-8U4aYyH@L3Dr`{B8LUjJ6;l~FNN6!S?&#YO|ahwECBltsTI&X|N)4&* zWHB|x1LN-g%j7%Ndhc~MnlnnKeX5opnM@z`yETlTp6T{OAb2Y4lw1E5BG$c%4=V>h z?Jw2#Bm0n}RslhjC9J!gMao69bX>20~gGs}?7|U5e@&;>V3hH_R%Y?)Zp^96- z_7@#KXY+}nu3)1~D@P+^3+CQ87!xgrQINgXqS6LsF2&|gG;W>HMAxbDl79vUq>ec4 zs#|83`=Q&Q?Jl_zs6CWd%v68!ZhWyq6WQ@wSvDD^u;c~9_z)-gIY)(elJ{pTu6?hD zOS+g=(}lw|)TE-ggQ7jF$CusELBpiQR8-L3kE3}dkXD>(?~y{hPSbFgwu3Km-|8iC z+FSQ(1b0xu3=-|_(U=s-)82y~_r?3k*lzbjWsN#*NeLcJwg#vA+%PJ(|P;FY5@~f z(}_IYEp%ofhRmxgYMw_9XrI3Cv=yGqkS1p3+r!!l2fzePy2;1dq+kBsH0fRhMz%Xm zITMtE;=fz?*YkTGE|+{qKBOVe{Z=V{f&i6i;yDuOeJQ;*c7o*1Sg(3Auym(?`#9hf z{ynxR>oTACNRzxzV|TPRKTJ;ur~Ur0^r8xxX|Ys6JzI_XYI{x*4yp!k&cEGVVey zT_AH@Hts(%+-2nrJW(kfQ)XqrPJF1`9#MJR*}6=*&1rAArMBR9nqoRFJIVS7IShf| z9onWv?8zz*s^NQv)R#&s*ZLKKCeus;t*q-cuPrbsS(E>gj0SLxkgkc@?mdTKHzml3 zC#yV?S6lqNtv!8YppkTzY2V4a)}(W*!}4U(K`xYrw15rEvlKJu6D%`UvZm)Q-J;dw zqKY+zg!6vEp4N-RVhxwT%T4o z@gCAf!Z}w+;*b7mMBGAU$Vq(e7p4RkX__S7R9lr~u|f3hG;E9_%-V9DveDhJF~wnH zqG4mkLsiP4!m#nd->{M7u+c$b4jY#{Y;@E#VdE)%5jI5N$_@bGPM zM$}j*LP@CozuG2I;}^nY{SA_KlG895d$(TW~87oQ2|#3sz}9NlTW zl$qF-M-I~`e{VNTz0)cm%VIKw4G90gx)oisq=ja$4z84=_Yz;}`2UNwQ^U14XjpT(G{MQ2#GqfNoJ*+tXoU8 z(>$zrRULcg^rD^2SS%!kJ>T$6-qFXiyfvp~SeHnWCqzLGj!w0=V*f5;3)1aP+b)dleXzYve#5y=`6m0zJXst7H$U&%E(ov9VFgp7A+WcxD#@P1i4c?5hBCQ$Zqbe6}Ha=Gj@M` za?EUk7`Rqx({T4+&ie-9C$683yeKW3+Q*Z7bXpHj=}~_sK^A{I4!Q>};%_^D5&phI zZ{2gyJzyDOOZYp)-!V@@89|5mJI3D{KwCgr4eHj&+vV>5zf!gXJ|X4SzYw;^{lX%5 z;i?jj83Xc@`vs2lTv);+WEd4izOWjCwJQG$Vf6qgYvDBC{lZdr;gS53!~T3g3k!(W z&0SbgSb~KHz{YzT1Q?xLGcpltq5J;k5VJn=o~R^p1*?y$EiAN?0E6%?>D-Xnp0}mE zjmbnsCSA0F`V1si`(awF&;o#$pLGk(m2$#YQ30a2t0IEx00}9Ja_cqP2{nc~(MBFD z8_45k_$hR^UdH>tZTFm6=>AT_JbO-{n3Fk~4ik~nFx zp({r?fF8y&d6+l@HykW<57;@fz@5cmGLthsGHB&n8>Q_ys*=q526D(bzrIXQBpFt} zmm2@=6KcG8@qltZQa03VA%(J0@`0?`Bl#NxJ7Yac2$5?_P-dCnEGy?{8-Ef0q;c5% zE#{9>9k`QPUqbDFUv91Pov5_F=SQl4qxp$gz{#1oR}a)A$y+ykb9%^psawK|>63d@ zq9=bUrjZ-?5rN#s!tDl}BzqmQ07%NY>}|fCpT7(ZiWENNS6s?*{jBgUe;g0}O5~9Ned? z@XT*aAV=%-c}uVQ?l}qF42B-$5FVz0se3pAj(a^M7!ShId(CO5xUdyM0i{^Z`)5S0Bvp5n4Bk>Z}=YdoWm zA;npjvTkPe$*zeW{$)cU_QiB8xCyJ7wd2MxEed@F=$A53*w65maJT@UBV1VsFANV% zz=6iTYpR1=Zt(5|54G(B9y*nRjYMlhV}@sE8&3h7Qa#1xS@s_@L``euZzLK~ULh4b zHrvA$<3s~s$cd^qpgKLN}Wz(fIr@-BkdT#>ZK1`%?D z)KOwR9iw%F&=TY8-w(?W#{7G={i3|Gc2t1rs)vHNR<5(pbKX|lU+^aO!S<}qxG*T= z5UbcLi_o-t73KaNINujaJFg5?Jd}5Q!B9>=KNvs-+;5%eN@^I-14@g;R&nxWa36_s zW;Qe`SK3)&DTiy@7lm45@yGd=jf~)7NGuBOtL)Ruz7qt+U1bl^*Qx37e3rg8wqN9F zfAa`GU-IJ(HMSoDQk1(ZkO7l;B3JSIi8|Tb?y@(5WOncrRIVpSyX{Fr!_QAtv$D_T zBf6LM3Vk<=aY?*OLM@;n$6c9ouKtoWx#PX@D@V7h?33Ze!7@}6(;P=kFY~oH>Iq%C z$QQn13AMvmw%1+q5ih=uQ&RnPy}>=6(Cr-SPSJ?BN}nv@$XD}j?BKt$vf=XA_6CzP zBQ?FjdY(!-hzlH4F!oE99-dg|5cAfh5fp$U#lI(bR_*uHJ)xjO?g3@KP)#Zf9IyN0 zWs$~3!G#5!=6Zl}(Ij;BylA5ri|iK!o~n^#5w{9iBW?lO&k$@ScW04or56=*_hV+;*$q5Bp>uS3?9Im^ zvz#BPoV5kLJi+g*-TxId3*;1o@`*6;7cZ?!UkRRzD z_eY#xRy-}AY4Mnq1MuSy9>;Ru@shjG$E?m=mRqnm@qp8qFke*m$uA0JW_lBrM0R^B zmqa!U!k})768ArRZ$l)B8e!iqQy7-Du`ggwWV4lB38dgl)J|?v;FWkXUru5S>7*)L zAeTWdHCip@azRKNG^4=f;s^k<;?2ZqFm%1Hlnw!GkD$3bDg|bUBQ8XEHKo{^#2y4pqtzFTQwjM`3CD(In{1^rzN?xyiXV2}aOItn6 z($?cc8B179Vn#DQHMmBEjP4e-Zk^Z2*`zY@yyD|E0=3z#Qah5uZ(T(8wY{9hsGE2p zzDz~(t`=JCFy`lu*er7%_O8T@6OqJditXr z;22zE6>vjhKWa z6B6n^mWlGP0=W={!Q~htdQ_<>+jQvV{&U1L*4b8r8)Z0e__hq8d2>5X#S7<^^3^T4 z5I`RR$O;VJOIXANwK>ajgyd=nuCU>}`#~3T2GH{bT0Ct4-$;UxCqs^B?B9#!7Jn^I z&1;~u!hUIEW6rlssCs-`0@<|xL;^+KO7}{>)n@;L7Kxd9nK}?l{#y#w*|q%w@0^}E ztqnDDyyAgpF(NZRa7oIYWn@dV_Rdt*A_Hj5m4r?a-7{R#HOYji`I!lSV?MlXt44>=eV_yk}v(`SY-g(D>EGQFVKtW5h!>sPlqivriu;E;rc6 zo&r0Y07T$s4QOrx?xMNcZ$ls1Q$SJ&c(uC;_DZtHP~Km1EWU#)?M9?#fA$PSs$7ZT zE_Kh8PS7(cD)+G1aUIJJ)Rj+25P>r^Rr)cuyTnd&)cQEeu|Ce6i1m?EDr?el2AB7q zKF#BrCK4pgpv`(x>bHY69yCPa#nY#GT_Rx;|N30X%$+6S?X7+${0u_oT{}#~6!#i@ zqPtnyM;6YhBgqx-Nxj)qWzQ$)MvBLCEo<3tDbZbe_328rf?cy9beEY-tF^MK?V&@y z%t#RO<`gHT|CU(m{wMuWr={QEf6)KAbCf=<`Y9A-bHsnDzoqq33q3j#gQ~mqHbRU@ z+fYrU4HtMgN#c2cQXm)ii zk$X;=Jr^K~W^jwFx(Bx`*bg0EO;R%nw7z?e&A*>k#gTMRhkgg>U6yvsaka9S(&6Tb zsIf1jgL&AbV!tbbfETo(1W)c-_oLSk!t(alz>9*P3r{A-zW}U2p6D8fIj41S7qyr_ zS?)iFmHXd5)xv*~Su1LWc*u6P&YF_K#}TUqoZ1VBjZ?=r25)E_4_})DlMUk0XF+^g z5p!yTVLvrXBIO)os$&Pu`#yP}V%~Si`#AHyPTohD_iyEWpm~4qW!{T;m*M&?nN(a# zMNyZ<%V~i74}R!5vI-Gz?IG=WEzm0D7=Q{Z(EdbaMe&mqf~-;42c)ioTR92I8Z5N7 z$#*#MCE0u=XKTsJlQx+8tCd$~I>;imr*C@hbrPTYgBsz3q^dBS5p_WWT>t z*^F@fz8vc*Lth;%u57a@=X9-pM~eW|^A_*pV4&NW-(UQiP|Irq0jp-2`26_)Me!9o z5M}(t<#Gg&Xty5pKv|Su{0=N!^{!OGeyhIq#OKh_D;Xul?@V;AX@sZ?V&Ki{e%CJ&V5N3o z-*u&RYZj^_6QFG@bN>&Yy7NG14Wi6Wl9x)Wokm$=KO!sR;k-H~BUxlbmSskb!>6q+ zWrcld&xe}F%^M_-+r?k#=yUrR~6?yM8UwuaSksm&I`y#pj|}vHTO$w z&3^GOo0x8sIGmusFZO%1IvDxjBGt+9gzO63T_OjZO7$1kaYiB(=IIKfGyQ7S>(|VX zDfee{i?o|KzEDak4|Wpw#Z+{*pb(fnk3F7Zd-H`7tYJ1Kzdo1ev{yOuvcYy!S!^T zg*%4IJX89&j1ud1(t@;mKRJd2K9V`AUgkt1+)-5WzL4OyNDJK5?gqgQNjAedqgVHL zS@*xw$jN7*DT8gr2SY)V5%!1M^x%}6tUo!GBXX|HCZh+0bBapN23{g%%gruJ5MP`b65S`J$9(IVZ0d|@rmW0HT6subeZhO0 z)bF&$%b6hIoCT};Yi+H6JIb!R^jX#h75O}a+{N+=GNxHcKAd(w9GPN-uO7nJVcO-A zi)Ex`a-lO1y`;qSfD*_NK7~j1`uRWxPEPxKL#rR9DvK)ROG%Ek$kb*G^TEjKOMZ@CMa*^lw3L zxeCI|UQ}5IkT%J2L2`Vb^>n&+6Fj>+$md1fWY^%N9g)t)obXVp;xCtD{_)z6eEU=!f?`&#RO*ovlU@NPo-`@0pb-rmbs<*Z0D~5$|-YxI_Kb|+* zhe(%gr=Ej{#5Qy~&2lH6d6)|dX%UHFqG|-Uk($dD+f$Sm zdn%a#>)cxqs`ndm%vsarP0nSJmMuP#-P8SeU0&n(M;18OC3ua4WZ$=?Xi~<1rCyhH zzLW-(y-7S|M&E^lhBCIgd*LX`?Lui$D z7OHs0IQ6D|Ks2&&;%kB_h8oIz=V!9ve0jhs&>p3$4faBS?m3+i@kbA~afLd~E#6hb zzWo^E{_tb=2ziDRheV0E=UhpBtx&`-1hE?k1~@kgOt3F=VqaupXGCLrhUXo9yT8kJ z3tTRjP{DsA)5DujI|1*$E+*o;(FtlcWBhuV694xU6 z-C9{Dy(po=n*9nR(D0+y3xAX5$r9lHHrmut%7^E55Y7UEWvpn?Q%=oz_By2`3V74c zA*WO2KjLbL1k@yeh{&ZhB=!)`+SQu=#5LOl(6`AP22qVfD2V@k%0iU_a3TXt^&~uu(Dlqv< zYAygG?3vYKm())?tfUs%J$Np4o#CEyZvw}`CFGZ|sk#tY{`5-xr|#s9Wz4}feBrJ& z3QO3vax;)Zd<7fx^o9o{6b8R5n0`FP@9Xy9+3q=aGsj#6k;8tr4)$S_{~=#+O=Qc` z8fO%`=Xf-b-S+O1opdt}G&m#hHShs7ASBcSpL22QHw1xSmDXAL(@&fc_|RdbkD|V1 zk4K){&l_xl3LNU#BLAe>7fe42|1a`J5bS$vu$eq84$oG)QbWhu};{vJQ0_%R&z zc4(~TUJ|8o3>p*UO^A5I7&cXBRIfOnZ3&O)>4;hK_LJ4C6}?6VDEV9>YXAICwb`Pq z`!T3;pN32u*ibXuNn-zQFkdL>$9dNUeQBrLda(M3FAvde-S$-{MWIMh~V2L;z#D_X1O zn*mdjrEv^*$zV&)UZ2TUpV0g-sWv*PH+a9k(YuqKQN|4Lu3FewD?7NUiKm5j(pKO%iia)OcFX34ZR9SyVIZ{O}?LPJfq2@Mo*_ z+v;0aI!8iDbec`~D5EKfeP&$rAm$2x3Y#j>CGmPY0Hz+!!>+m5wJ#F28&S!$eJQc! z`wAfy;A8r+1>-%_k8Lf`#q9}~7lbDy6b-MCgGy=_6fc}km+m~_q5_uU1D0p_K5xQ4 z+G*nw_S9z(+rCUm>>pn^{n(N5?P;8kzdY2{E%X|@A|*pte3yYN42dWc>r#h8bo~Tt z&TZHQVd5hTCWPezT{ejn7wDEjd!ndy!F|_;J6+^!`MXu;|D){8SXnXSXT3HOW?Ge54vivfp>Y%YcVFk4Yt zbkRDBK@I(*QFf?hy>ejE_N-6DrQx2m6hQdE5leTLo*U@Fz=Kc>{8}C(kYQWPk$&{Ao+HfZ`8m6OGL&> zRc+UndLPY^1BIOBJ|=$Kze)F6uP!Gz-Rf9cwWHwqXf)XoZl=Q0C~N-PP4W1*bp^Nn zmss59{>SP&%3bQMNe#8P&4*S-G7-u_;W#tD7AbAxs z9+eZj1hkJ9#(xhQ@a<>{^vfecvavyB9ns|NDiqH+R<AC3a;`QyDDwqnGr?vw#zd zXrI;$N9i&3+F1L}g2SiT5QlKqQi6h8I1HzldU+)37Iuf$XdHI>B{;!;<TwRtGBx*m>iB;^wV-fgcUVkUhvfBvEr2&YAqKCDrz#T693i6MPgKh=lbAwgTd( ze#=O(WMc=iFyx@u~`k{ps;Jy=aOgGS=nT^ zH5dBg@i1{7Jju4Eb`jqQu3X++CU=~bYoX2+{-rWkd=N-26PDj6##uh-8h93x^XeC_+hqIk4tSe~4}Vl$npAz0_dCb?-t>VC(K$N&o! zPw>hZbD?N-J7u(uQpkvIs%qvtq2cHNH|p;KFN-CDl^7SbBC4mT5DkWm%ke``6^H8g zKLJm{X|$GoaMzRT6r)F$xe?(jgxQK-IOGT#Jl;GtHNPeEGBBIZZHGPz8QZL-lphN> zjOWEBI#na;uWYb5JowsJmkvxcaqEJHL_zyn8dMvbTBaY1XUYo@mlG;0l!OIk$e56x z7bzub>jc)yoo=(AAOUvIkPq2X_@>#5G+_Y`kY-Q4WSL-P5%Cju|5u}S(A%dFh*Gb`a6PL_4p>a8v4lG6QApaX`vy0I9r$5>x*Swze4~r~`Moao zh!lI~b8HM51&8@4Iqdc%C{~a3F=Y;#y1GQJ;QsV;Y;^mK-~9MqFr7b|UB8y$8kK7H zTc|62+N!jpRQlU8ope))+o8t1<#a^e|A{7?MvpFL+Glkg(caz6W_)5;1+G~%PJHoH z3(wkMA(-E?t!lIygF*tc;iy>LqRbWf`HZ?_KlTtZIjHjG>T%X&x5H(;$~R%HFSX48 z$3YTJJU?~=ThNw}ano74d5I}rw3aadk&7s0AyKIDKW8kz<&18DZ?(bpKpR94*~WVV z32;xqJmDe)k&&p9MUZN?(Ex_*QJE_k#s`--cCbWUMc2s|L8!v7BtWt zL6&+QV+-*-!)<+;go>*%O*q~zc`(E6N1>eKD%^vLFE6U^UN!IgfZx7ZU9#bQ24CU2 z^5jO21fz4STiz5d$P)-s`R7wvG19&t?E=+d^~_D0tMDL15Q^T+Qyrveg3`}-5w|4Yl%& z&n;f6(e6b1gd=xDFa={}Gw?-S(#|0egd?j-?FdGiKhv$M)LoGMy;bPlEtuO31 zq-R!(Gx@QB>G0t3a8J-sPl8Ytvc)3W=17m}HkPxl!UaO`u`casnrYZAW6SsH#Fkhj z2n!B5s_jL>r}wA^R3?wxh|b7eIZxDwg?Y%iUHTGo?vTAhdXi`4yUqUp;zSOohyPfMxyw zTGYTDnXX#eQTI}#kd!45sF79!vL#66S+wFdzhf)Ni!QR}J05OKfAv;S7tUXm&Q@>| z(M0S?5mjhwLsc_oCzccl`i-B@!qFT@)s?s>Hjt`vvXy*oZ6$HpO1`eXl{BPm6DJJq z_8dVhdP%->Pbg`$knL2Yk}}rSROoJ$+noLp_%L=3@*B`AHU83+8WV1=tNP{9Sf~%!~NY8$l=a&0(9mmbnVM z!mx$iGdHsD%)=;-J`4LvSGA~2JG3*euENvjP}#4V$~wdJcv)Z0!35nPL%)2uV&b!Hhwp5R76# z4yv5~YM~&ph))_nDD#XMEaTkkY%$nn`SEuH16@bRxLCvq5r|*3sBoJaz$xS`D%{Dy zhN2h9we>cO5ZPelQa;p@=qLlT)AL)d6H9 zcnl&kTl+>WBJ0hpiXuPCfFj8S-TkZ{4-2|=^PS&^k{Cuv5wctcS&jnS+im(lFyGkb zH&7VH)hKc^;hH!nB6u+ZdB#S7Di27d;9Q|P>1s!%o1^Co`y!|+->>I;m0%ohnGl#? z)1;RWq#?b>NJtdAghCbq=KZk9#7Y1xtWOt`Ncr#xEq#NXUJRQc^D3~gK3}On`%E4A z8%H4CD_u-CZ`b2rDKu+|`2w~B>6pCnvFB4(;AIPlY2|Rs{>5%8TSS&xIYCR~veD_y zR&TW7w!zpO$*5(A{4CQ+Rh6>y*ZRDWkY`ib$}0J~wWHa4l3q?z=E?0r+$;rwgv{xJ zM~UPu;&8KSzv0v$*Dp zVxLE|HG@Zh8^EesAxj;j)lkb-n#JoymS?QWt61MBHu`*fUA<2e)z=l>3g5_*VojiF zIqTFp@;u@1aTTP9=#xb1$a5aab5>NXrKxUNPv+lHL%xK}txy+{JF$?~>t)ed)sz}6 zDMKo(7+1+$_4(#LdP5PBSoH6kb?*|Jq^nS#8n8D?a{&veY6E3OiMAoJqSk$)>05@y z90YmEsbT8+s$Cp^UInf?seTCN_DMB6RJkBvCs}5p zmPj~yykU)nxgW&nmC(HIRg`qd{(dak0&}Ls&3v|LU#U+Pu20sj$-3>GZeGX5__+%j z**M*7$C1Xoiyms1IkWp0vV8uAHXY$BIj+fJ=zMa1fz zL`v6;gX>0%sh)-_B$hi~EmJxC)?&3Er2Ib`GY8QEu8#`=S}KC}_f`)41)_S=QdzdEJ*qK*iNPvYRHa_0l7Kvmac%`eFj>e8Enb~|LQR~)wDr?OR#b#C3iazHf zrXexBEqEO8tl<@PkXZsTB?#|&ks=t;yLMV5+VEiIh#sUhZrP4;9F(mhK@muC<`i3R zv1v^eiH?M9HGh7EnYIxi?kcpT`z8C8^eD-0=p*=FbZQrU7~qyrI%y80MOch9bs+@7 zu56$DT|)jSFaU`9f{^fnbKVn)WA%Qh-dEZ!-qx)7x|Q=RRfoGWV<{Ou`ywZ9M9y#( zZD6v@o9PRhV2+DYsYLla_&7J=gxrL!Y*V}V0bRMjgaf0MxSJonIXl%ir%F{AHom~E zMm${}qLI~`&`GK;ck3BK267c{eqQRZxHpWqBn{8W<)p!J)qIzJ!=^;C@bcgy)FLHY zZN)`IZj)R^J?*RpSp}upH|v%kAsL&9H@J&oT!aT%Du@diELe6IOJEbWwf0x^?y;0+ z_%_QWdVSrKK$iI+dq(0`-JDYG2kek*&F3j*w&R8_k%#NuX7g1?K!{YNAJ$^Z0S+z_p1|NWpHL4$V4oiL0nRvWo~-x(LAV3exKo>@6=Q zC4?*rtbD!<;GD9^ zib(7#dW7kclKL#LRdC^luv%zojnpo(qVHIZ8m^+aKr1$v1-bx+=wq7EnWRRi=lG22 z7%4#liSnYo> zUuu&_n9>rri+!o6ov)wxuo}oJ>$n=-3|rHvpIhru*0!!yrX{gR9G&4a`(#<#b8QZg zZJLmU_HQv8yL>aNt+OyP5;b*n_<&t<@;t3;4Kd(wWQ{;9Lk>i|jcODQlqV?QNvl z1kOTl6};36-9Dy;Tuw>8V@c5M8p&1hOC{Ytt?71QwX)`R=_gl(`DlPJ=*~Av#i09? zuRp})Gk(Z3eo`;y*o3t_?9Vq&__>xacIF!gaG@2((?v^6a$!_yu79ne@}l`sT@!1rx|!p{iJJNaN4Z3YI*abjJ`v~dj8@uN5MAa(ro6=$ zFecvlx|Rz&xkpv6-UNf?{Y?_e2SrYFnCTVYb5a_aU-CZj z3Kx?`O7vCi%{MmG2E{3I0X>tZo;fV{uHH4`U}a>kc$qAp=`53fBl$~`)f?9DANU=l zCiSHCdl99dlVY*lK8uABZwtm#9+Cph&lB5#$uE(ip)`$sLuH1VQiGEWCC8gq_j~J1 ze>}zNp^vm#L7m{JsX4>Um9IA-5o6m?Gjq&u_#q@~*$dRQ@((#H|MQ9bP@C`);ktaL z^5Iag;6@71N|UYOTS(RSG?8RKayqp`fYshF6c5Tf)ZEQ+Uh!{Jq}zZver=5W#G zG(K_SL`znkZ>>+!91!>Rr4jEt(}!SYAaAP=9?!9dm#EoKUTs(phZb$eBt}gO10#t) zw_dCc8b8fdpRK?$J;24U_3Dy4i+!drQ8Fmx(2C0|A zQz$h+J+_!FJn9`SHBn@?^)sKJy5XR6sY=ytdizN$H(T&Fk{!?wtF1<#rX?o8TXr2b zc@o^g{JlXv#{hY+_8b{SrZ(YRT*(C{4$rg}D!NWr;RZ-4;(dA=LxS)wLP@fAqpsCrz!|?N9%10 z)W9HHy+sbog$d&-(OqZCJ1N?=uR1+hbOTr-++Oj&cpMSxa%$4)>b`({qZu-!s8RYC zmHdNno)^v-k>_C}-f>eIB%Bo*&ucu=5f%(ztS@*M^#Jd5uu}W5vx<5P_zj+CzNaU) zGd6o$b`XPdslRGNE$BeiRRJz^;CbR(SGgq#f@1ib%;H#q@dAUkP}nGp^MgD#9*hlF%;yu`N8(cbE^T!SVyCI8SOsKpU>68X)&t1MP=x}i(mgs{Tkui?fn4TI&ZuDb9Eaxm?SB=C>R2g~+TgEu;XefG5s_Jt< zyU~S5>9{1azV4dG>O^rF4@d{;7s>_QhE4 z+HNE52N7yo2`+M4Z#W!1)07u@H_GVbK2A2qZWSN#%w6)MEM*EG^6!SF{mN2yO&+4% zZqW_1zB}Z5)cU?x>VeSH)hbzCWhp<~HAcNF`KIPA!In7c z{oKw*oEWhO(&Ah+*zSh-j_a59RSl%QSjsyW>B+hQFN)0Ya4p)r`5MpRea8i7Cv{N= z4iqmv%8@cwufZhor0b|Iozm1{&LK@5?1-iHcRZw|Go<8N#n1o9F5W?H!S0vXI^sYd z^LBkQAzJ+8(4vKQTXV_8UP2Zq8o8W62ZIJ+)`CzJ+1uePaX1HI>f|HZ#&=Fr<}2Ff zlSxCcC?v!JzhV>OM&ma~pyM}QL!U;K26QSiLQu#pv^nIU6`jvf@cOuCETFfy&}(cNnBQWJvfRj^d(aPE~_W(;Z_s zW`w8y7TU<1-&Ly1{XtikIZf(s^D zHR^ooEnR87kEvACm)sVCfZ8hQ1Wv3$WokA*%2HmOI7Ien2iBBWLt@TQc~~_RZ1JTt zr-k`-VAq`0f$iZrhFx>--%kKAc9&7q;rOZ!e^^3dS@}z{+$m+C4C&-3XcmfHAJ3b8 z>YexAt1~GBgTLkk_fKQjBot!Y{8%cBd7pd5?NI9;;JM7U(i%@*Y=48MqPoug>fQSK zL>9hvvDM0c^{ls{%#EDh`-)uo#ju9x0J+A4Fv8ac<$=Qgptqx{GrHl+EzcA9sy?KN zyC)ZmR-9#ApQZW!()=r}<@hP_927KKzP8%^MESdL1NY6dN9vMETod1GW=7 zg8-Qyk+$x8{~QBiiH?D)kF8inTg`i23s`NeeXdtL=oL&SHiL+6A3s7!Vdu*TfA5k= zL6*?(UBo-7`~sDZDh0wn3}G~F2+_nL-|9OGleXt?J!x6QOB$DY?7{bGkZs;0igL>u z=~BKz^xL|OgicF^KzR?Z7ikc@2xZ}0LcFGyZ(NsVp0Zrcc8RNy&@;upq?opY)=XVr za^HoDwZyL@Ff|V*wHZSW(C*x3kYqL54Ccf2;3!(ver)DYX7H*3oxhc2}tiR~Qc-X7@YP@OYN zoyA0%Dq^|yQ$!d$-jUWLkhxrG;F;+FZLJ(wZCAxe~FPYR4&%A=a=5g}KWiG_oJ{uD{ zBL5?0EH~>&X0*>NI${^&`PtukLU21>)+{#47jrXzs)>PSU09`%;8&6!YkYd}5aAJj zz2Ig#JFB3Tj`o_8*BIk1A~M#@_(&2;8>`4BbmaZX*MGT+pBbDxn9 zV`2-mUZ$8m)AkjiRDyj>){-~k#L#W%IF zgqez3c(OkwCzPpYDrCP{CS4k~G@4R&)ktv<2thfxEI>IM2qTs9A*q_@_T7_)8|N<0 zOQ`mZCD0BVQPG4X5j(}agI^=SN~ozUWfG<2pB)@8IBHw}Jmc5k?OTdTRDT?z;iSeB z$>fjbL^?azcA`&y2`D-tgIVUfPTd6;iA>FM5P&Tif!1UWM0&sUC>|mw2z0bg-p`W^sHY46u_aIcd3fI#Vd&PfeW1eX&XVPvz^a)AE zT7u5ZA<^G4+v6&FL6Vk6+q^{~ngn~v|Q_2VDZgpe|SE3y@>gYgbUrihLJ8Ao(-9(ONY3D*nRI z#<0-`i~?!Cnkl?F{{W4~mjvtYzgPJtS1U{(>jLQ!!Ma|HnSyKP)q>6J zy{|GrXYqsQNMO>@28pke&;qQ4W4?Sz9JKplIT0I;@_nFalDXZ-z*GH~*hWRg!$*Y2 z5@0j4DMApRh^YLncj7(yCE=?jrnHWuOsu|=@dQmt`TTZ0_)A`w(dnQzUaq}H#72zh z60J9JRWlRklH5L4wzr>=Vd|i@31Az_lybbTcq^kG)&oJ$ z8Q<4kND3M&JnQo+4*R}J=c+^=cf{%y>4V)(0}cs)EeVlSahSWUJY#K`h$opxpC-J@ zU{2~g2!e8UB`H+KQJyD!ghS~QUE#4D=(fEBn zw3I?|!fo80?vIWZC5d;HE}tv#kkRG?K8(f>@)vRMAwH;K4j-!Xx3KP*_W{fg*>V@n z=a`AR{!LV12>9=>g|mBerJz>S#9eG!&G{++1R?uLXau4I`Eq}d>Ff*bmZh|{^RQ;O zJ>}N4|4K_8(Luu2C8tqgoYa@Hg_zki8YMQ3mGE6QjaNxdup9im%^EB<^&v2}*O#vo ztM|_8o;&nn+7pGgB)af@>`$00UhOK%k|c{KY1N6vl4_7@saxw!KvN`Ecd^VXUIjap zDY#yVhE<#h6Kkm2qGNS=pp#92w8mcbzh9pa{GwwV^NB_0UP0bi?&D9o9jZOG>LV8(`CH7*@E8e>EGF0@aq=u-DM@sGI)^Lf zw}n+STZY2GMOS6CLnjJ8t@odfOVrhE>d@ZPoNK~8d98li7`TBYS*l@|;RCmU8(nJI z)>b1>Ds>uvQp@TqtXg*ebsAR+{3dRfo#ambz~fG!CIQ`P8iS7N0jX$iC=qu`i(ZMi zQ{@`j+|rk+IOc6n2`YE~*2rNBtF3y_)0}GcY7rUD7Saq}(_7SSG_M-AWC^YnA{tAd zz}917`#E_fn1*TwvgXHRz!5Ixa@~`Ur9s4C^~a@bFbqOtYBJ}sWvZkmq{K3JwH)P$ zbYjDwMj|J4-X$E{&S4JLUCcZnc;q1T>1Xx4-?q`Uz9qHl@%gANO}e$nnECLnqKoOI z?k9ARIE`N3;s4=ZGUZ=(q!^1NmMA0J(`cZ;Uqg5`JXp4 z^3#Fn@etb%5UYU=fjL$x!(ouDW;^S9Eg6GszOx$BtBl4G5z@^$==t!l!GORWZcY=6 zQFbtdmr;D7+_mV78Beje#7ElHqxA~)B4lWH=eTUX`^?siwUCX}Z&Qt~ydjnApi?9I zfx#fH7%5YC9&cnh(A-XfZdqy#RMmPwG#{Jzqk;MvGI})pztl0D2FY!eVuW+lZ>C-p z4I$@Mqj+c;;~;bay+n+$9CT7Hu)6fjOR^<)P%jBcEKKxXf7-tL=|=6apnt@p6xI4g zPY9oJ6^>;0(AtQ2tyweOjwx*sZs7AgTaKKy9D8F}_Hb8?3ySSQSocNBA;b;lVtY ze}z(>rBD;(#2rqz`iEv3J_6ar+RJI1;QUiM>K{-=Y}CFZx5{=Mw3)<3G{K# zWh@}{)zHK5%~=O%hdWojWmtZNB>Y1=Z|$3jVCxcdYPZ_(Ag@DlNJV*XfvsIkNbMY5 zP3LmWX!RAqQnj8H1;afb+9^xA0{qQQvU=I>53}t9Id1>lW&Jeysg56QBr|9@C`A@G zA9*O?w1V0;QphvX2u)tDAsk5|BiVvq z3BjxApTgXD1T5<9+mg|WhC*79YW_#Q{OHyB z#%aPHIvmX ztV4f4RuS!Rp!y zpRaE*qdk*DEfoi~ypq$`gglBLL3vx@ku4gj%rlp0E?+5!mpG#^PT0)(Ew+D>`o^y!PGM^W8CPT*@I8BtNe(0TSpK?nN5f4Ikq9t zQgeU+qTXJzY+|{&w5Kk1!+^eqy~z`hR*3YWKI7=& z_kAVDQ+y?-iDAa2k1w*LsjuWD38(5Bhj^hGoq$#lfk)pGi`0;{-+{IUdZZ2-3r)rI!2^~fS6 zB7T0fHJY}&L|M2G0^OHywC3qq;R*?{)_TpdEh^pos3t!MP9J7B$Xbj}3Yu<)ST)## zVy4*K0THM=e6PIzvXsr2$N?GE^XT9?;h5oio#$#XvV*KyZH6ztjae!Kkxq_B%fn5u zw-R7MV`g%C3q6wo&ahC@y_fP7C@*)V$ku>|$fJof*3vM~S%@+i7W$sS)W-3CUtax| zOtgv1e38>h#2|=yU!*?0hLP&1w`_B|Olf%rpvUC6tW!U=Qgv7tPSz6GZ$HX0?e#v9 zVb?c!sM*vUZv)0ApJFHpv`C(Zf{=k$^S>{nY=ui2oe&xWo-+0C`g z9GmP`_xysfB=Q&hKNPzT5prcnB4uL6ty>q}TzOpt(gks3C!*w^&AqV=MA?4-ADV$@ zS!W3mmv7UY;$CnWE$UbhhL*O!4ju#Vk~7aEEC2&!YCA=fr5SGS1Q9Hqaoa!>cW1? z51>5r#x#6#44s`Gmhj~)->v{)`5Y$HTNkq}q9dw|l{wuJ?kYmU6|&%Y=~t#&hYQuw zUWF3GUBn?{t2GqIGy|}WI?Tb8lDikdN=s0EW#36HC#EI-LHq5EVu>!psF-6Reo>A* zDy^~iHJpf$}N4Zz*4BrU+PmZ&T zm$2qIGz1$WV&{+}a=b=?U)Cx0TxQj?h_SL?* zi|^(({*?b$RO%Mv7$yhjf4S$Ea{>4Ja$T7?swRv`)SnNr&##A=^htpE)JF01V0n?_ zj&OsSxWN-Ws&{!?_)54dXou^TBYQU<|Mv(-IYK3f#v0$s50Q+T*y!<`OU!$SgXLl| zDpUO%AO@{3uc>V(h(TKYa7y@PR$cN=z3MohLR7F+eF%rB(#!@zG%@c~DuV(N%VgjN zO(3qqKNtedyYeWQWl?J(6eFQX{jIh{SaR|{Hm3ILh` zX-6|bP4VOOPfhVU=*wIg?_ng)I+2P^__1PlxK$`Nq&4ELAG>gb+jaRa|942W?_S}0 zdZ~FNQJs0W{x&HXiuL)se48#gAQYQ~L)mpbr6hsG5un$NiFCO`m;6fSPZ%wmy=a&t z`8e6Awr=NOy1Cq5U?-R(t9MiM26ZpJ8+4|80g(ZiMjj*>+)h^A2A$12zUfHDG52wa zVA(T^P5phD;uWF+3G;USbvWIw3}2gP9LR6EA}?}$|D>+S-#K}a;`F?ZD<<;9RsOIQf1W9f+{ba#ZuaqLl!#dV&c8T zki@G#kMZ|K2O58Sif5mU$J2R`wl_&;Gf8(X7+5=QHsI^5nJC+9GHW^IwYZaa@}#C~ z!F6tAPp+Zst^af=KZi7TEtu4#WJh|*_SD)Xwbzl-)U{w{V>9XH#-h48937mh!&F|S zoWDY1;wN0OHdvyr(RP}LqkT9N4aS+gPev%(Gt17}K&VkHN6yMxSyP$F_-EHd**xQT zFggP^bvTNK{qTEs)xPLt4qCn0gTxZ$Ds=&EzD%rB?oMvmE@PBYbQ_)v$p zk}b-SV?rwCD{2{v1X?tw0*iR>n?2MKcNN_%8Cy{{(&17aP=BqFIRuay1mN#j;VOLP z2`;Bbl`&;bJd%6NNv>tCe~f#}r>R}Ey@2l&D!2eavh)Dz~PuE5iHx0 zY+fQT1k5yF#g8zo@&0UwZ}#u;nS#hBe>C|a7`g;HUE?=!T{!8Ni+Tba&~a7D8V52c zP_z$OA~oDG_CJT?V0`wORdCOV=OY8?{+TN{UZ~B`vCu!3c2=*W8K3&eV!j77_ORp3 zf%xnb#3yr1T4;)VOO0v1g@T8%uEb38ted?=|+x*vBpb!WIHT$ea0_6 zqRCH+d>|8Vp{ubK-mEUPkZlRFqB~9t-w=q&3m69(5({CEpLiA)#tp!Uxl45t0pYlB z_JO2X7?;N#{Pnqd95;ZN(`bX!PmM%>dPEz2K@1gh3q%}~5qb z!{7M-c(;P@{X7cb|Id(&=#Vr&ay~~+Kit3{9g!iuO!hTfFHk=*k9)@Eww*lhj-P#= zpM`9D#pYi!_=_@SY=Dp{J32cf;9TX4&2?-U=g!uiX}*#rwPN!x`fK%~673o2bFL3G z``P~=>i2927(WJ_6~2$bhDkC!Kd-3!{YIhm35qE&)7FteO%#>`kJl6x5ei< zWcW*Y;ZwVuDCcV)MxRo&#q*h?)J|9qoCS_faV13u3Rzp>8eEat>l zvcd&6&IA5tC4LTrvH3ZV^qBIN-?PrS8ARIAqTg8(h|RsI`FW4s*=&X9fZw@7hPi!7 zaV_VHp0TIuKY8DCr&(W~)y+!%o>EZqGY~jKvJ|?|y0erP!TG#qsq^z_*(eD(4_G}* zme#GdJtcnUi9qa|nzyuQ!k`sPyYxMa#yu;V9RM}I^EmLUx_#EI*jQasoFd@X&J~_g ze>2*qr%Xo8em4xi)JN&k+VrH}du0nun)e*=HCtgE1gC)WxWx3$@RbzTmv%iR%}PMU zd63+-Zc4ub7kpYyqn-Z@$ne*&8#h+#<_|!7HD>RAZ4-^#?b4KPS}IMa(L`gqsRLB% zT5;;fJv2>wk|+Bgjqd(oM>DHYf9#vwjkT^`dQPL#&9tf(D|`A-y$wgKo=Oh)SuM*z z)!&zKL%?boJe(=!@9!oWr#qDz!4Q{|w8faGG^HkU^WmqlwVuiK3cRU&QL9otJz3-HiCi|SL zV}~5dTAa0VA(>%2cTfTkZ^Ijd>0~d zu7EU?OIFnOJBz!==6d{pE}rKzj)9Ah|D3CVrn5+CuN3IJYqs{Ly2_Jp=>e2qWsN_(?cw z8l80>s0~;6rdG#SpZwc%kZ!+y$y4te%YDutDmM5^me=$-mj`O^^?8>04Haa@c=m!EC^&Ktbz0j?J1^{D728YORe?(@EEURvHf^haGS}rvYka~qbB+N%whSm4NZrxqtF6F;{t$Yi# z{Ao%ZQ5())CO@6a%|_&_3Xv&?Y;J%MfK!7@wNHoDe3YFU+DR zXblg)Ic#ZJ4di26!n>4Fip0}Vxx`YA1w|o}dkh_zDC4)))@C2cI!6=hb(~1NX~BkQ zO;ILHpK+V06Z%JvCl$0St5K)2${!hpvKkqcznALYX_db}lTnIg&aqlM@xHXi`wv!Y z&*;plm6;#pH=5kb%W8;n*^)}f>pY@~HgD5ktGY9U-{r5%$&uM^ca~t8!*vfj6ttYU zR`nHYnuZw7$aQP`!SwoKdM#En9ejPoDxi!0uBL9$H0h2UuUU{UlYvCYsfm5Ak%(1U zq-2l)39stto zLOK?OlT3y~^&4tkOtwdmmupfqm|Q163rGk(@roa>tkrwe!fhP5iMPRXwa`|a(fJ;G zRX&K2RWryfx(-l#ie+8a-7K2i5ZlCRN9Go^M|t(o@=9*0>`(43q%i&JqogwT1P$tl#eaz zmgT%8a9dfoM#lR;>@Vx)KJ)8W&y{t{o;dKz^s;U_RD^j;H=!_xs&|HK5LT6TRQaq* z=UV=@RE)+R(hyBDD-Mgp{}L77YU@_o3PLJl;e2T=q)rT7nb{v!>zN%V%4&j6$0pg! zG_q`#n5T@yF!b=7aszsnfv7)wGI~be&qfIZwRc+?W)z3LqXH-_r4D5M+DC$9IZunX&D>@kjZMFYYLr%4#EJiskXHQ{i zwl4O6B&*dw(EXVA?I(v?9;@c`)wl_dnwee{pPXWjysZJz%ws94yC(G$Z@a0egUU;> zNj;X^(+>p0v%x*_XK4z7t7+62IbNrrojo%9RVzUswXQ={__2ByNRe3Xz;~pwj_U7Z zh~*DKk#|FSXwW@H0_vo82xt``){D3h+%4(^mtsyy+Xkr!opVA?vc zZqfQYBV9ja@-bE``O%Tw(r}NA>KTfDNsL;kH&s1R#K!WCzMK9yp8)*&Zn|H)^4F~^ z`e!7<7KwZ0y0CnXZL%^M-AF!{SNa;Pe>-z5zcqEJB+xYd{8Yn!=1L(?Q|J8bP4q@x zy)s?YNjSoNVyCnTB(mm_7 z^`Ygm^wFhaxaOL3kWn(5X{aY|c^p1zgEk6ikzj2XWcT2GP8<5AK$id&18g^wkHQce zQ52s77;SYn)k>EDzH=nG2g$vo)BesfyI_20b;BkIx5HJ4(L9eV@JF^T&9=>PVx))B zV>w=ZC&kiDZrLCPS7A-L#d9q!0 zQnx!~p_t8)x=`ztdo?g;wg5Y;kOfQ;pzOikA!Xs|H*Tj=|&6?2C!4kP1M=ld+P zpT?90lpiHX855F+jLss=H)^?x+K@M&iypm}Sa4<|60AG;n)0p6Zlr=aSFe+ z{81Ib$Z}`-^K^7yR{2MH9k;q3O=kh-jVcXxT;a)K&aeW98lV@OROdJGW|Cnk=mlu_GX!3zCppib=K7IECyj>6x9`Rgc+*< z$RlM(v&_1D!!ElmL?Z^-U9W-3+$CwzhLz#1o4Shn>ZE&RPv#-(L2^6V&g@L0dMQZ@ zc}75fG(D#P=?Zs;&C1Zp;9i6ufCWC(iym;J+? zm7A1b^$Cczv0RldSN{_s*YevR(ng-}+oIon8`VYkcs*^(<{zR#c9GhI;z(E5jQE$W z>;C1|7J`RlLfnnzzD02@r9px) zc|rKo)`I0e{p|N5YhL=KHz2Uo`4F}JLKR6TbN^q2Ckx0Q}K0TyBD;;Dy=Lf`?jG_8cX5hOx0XYZtLv9h-zmp=Du87)3dQ{F!f zE46_1?bu4%t1ms4P`BIE^Mb~?0#JMK<#f%fE1=YkHdJ#-iKPtdpvUlCX$Yjh;R!f$ zG?5$*av*4XC(pITS@qFU#96tAd7_p>R!$M6>>wp&kc0YbRhsOdMH4LWJpvYkEB||NRx6e*s!J+>`H;TZP*MOmSn-)0_$eOZn0r|YHC#L z3v8AR>uJNjvtXyE0xPy*t!&uG7R&@DJLxuco(*`$0&J2(HR*xCj;^#ie!m6#USJ{^ z2yC+r8*ahA6j)+V7TK`w7HpotWEYTfui3CmE!blMOAJ_%4Xb0prU@*?E_b^P`-=qT zXsp1aZ?0ti*!t5m;h8-8Sq^3${UE30#tGm|?+|3M_$(Dz*BKD~RCoslXEF z`tNO6KMVGXz!*;5zfWvft_6z;4A3kY&!=qIg%)gvz-kPz%1yRmr$LWy4kSh7ObnlQfyeZ4SUyuwGvn(810;^@iM%u7HAOyx` zp1_z-7c^TY}kQiR^JOO*kFNW*sz~$ z*iZ}BLty9GurF9_e8}_LMTPv{UHZ0wSJ#E1j3CwN7jx3eF7fh$EPbIyXo&Kwp zekKO#!Pw+l!N{KD!AMzpuw&VTHYk}U zw$nnwelhJt$@J_Y5faXkG1Ao9uaN78-PFKQzDpGO)pR_YivAskGb1W-xWd9=zu-_C z9CX`wHrG3Og>L&r+Lksus*Weq{;l=?()w>VR<^FST>qlpQsyR+T{#(JJ{Aw>h+eBy zWNfDI0tBKZ(pMy*^;e4cR?hXv9<_U;rHvG2R;4y_$3k1sU8+iz7D~0!C4an#nJGOi zwA1vEbx@-ZB0=x4HE%x^GL8~_l(>~&rdM~3X8w1;*XIt<#>VM zjcp@QmGq;Q_Q}Fq+nOXpD(5V9=zu<1h~=HS6wRZ^>Y@{?#J`z^KO&(-Te9@s&hWK@ zqgwtm1>^*ZGmG2!CD`%D@MTDX_q5e>(VZrsHCi!0IG*NEWqYjdZxjM_eJ79M&L2Ys zv3i4~K(sG1cWw(^hzT?&Q>Hv>S`@#aMn7vF! zfFo|=$lXa0i0tKlp_u7`VRt!c72-_@%vjmC0MJ|U=gREPFSZ}+IL zZq>czE(0EC?1|>6cSzyLH+#O|UZz@V#6sCvZB=QilLf2Dva!`rnm=2klyeqJIMwRe zI@_38wWvaI!fa+H9>;DD<#oN*mun=a+eqevB*b)`%E+}&<_zs}naadL`&Z8Awie;M z##LH`#@5XKM^J)S)wHVNSl?OQ5Rq{{NAaHfx$cexC;ZpIYpw-cv;E!|YgMPGxIb2{ zHNHBZ3F(J1YZ6#*pXGK8=3e)@WUUP4TQ7E;ZR*SlU9DTb?|eYot*#G1Yr9CsSiAXR zWXBfnD*W_5F|(}5L(_x>X!kkc_UY#GdpX!Yp{D}|SnZmbksw^;ar3H)9O=0yQ~6&| zUo;8hQ1Nfl%QVSV)DWLGYM+=DNvxz_Ia%rYY3lN%uuBWB| z#(%6865-L(nKv(HtYd8!v=TbTe|CB6rs5P~en?IbX{VM!9~z^t`2srTlLEoEl;x2l z#Ly0CYc-usiMW!~IDi_tUo>7KU-`U5PM-6Wd}S%^1`lPt(RuXNCCb0ol@F(K6XF45 zQOishy~PWY!B~aaWTJy|g0oL<-~R@~y6q|Ue4|vWv01e#UyGa567v_G4CAkgL8tct z^Ctj$t@Trz(`BJ7{!qntGeK8-p%^Au;mOiY;{vGJ!wC zmA<(d@Rsn!x<89CUvU*j6%1*cnJ23LT=nO15QBq3f zZdo+o-bk(aNJeuTG@PcAK%5+D=26UeRRL{cKkqhA%C8~Pklc*1-?@tVP@$R6A9du< zTBI-4{sCFgnYoBRo@4Q~B$nfi@7?2avs>p9@pM$L^yqb2!Lm}(+hRo8i2CA7qS&)= z5B&)9=L#Hvs;AFOcXV?t5O3d-J*flu`WK6ThikzvwNHx#!|MXZR(Wj#OttZD{5y4` z1%9xx%$;Kf)692~;+l))Fg-|Y4Y;z(SoJ)%^F;tF&iMLCB82TdhIYnp>v@BXqSbW2+GVtExLvE0US5Oy2V{F#E zN~W~zcJZqyV6>$$!_9qemu%&xm;}-}{y$+V;-hdmqaS~!8-!4+{kixB9INe8BHW_Hq zFcy(0pVMU~PrnBnN%a|N+2(KjmVCkm%#r*6HNkZxEJBFmf0L;GIVqIWOB`~f7cG~# zj7cQP)gW&~c`rQ*$;NWmqh?Wub`z$Cb}}tEg!`B@*1>1c^&-ATIwTh~SHtRCxQbV- z_W2eZM13P=H8Sbd2u{%uqQ7J}SU-12P;5K~``vq~s+ zlfF>$NSytS>s&F1d=Vi8-mks`2rU#^HT{>GgaZEfBT>^SLEutB;O2VL^Mbr!WNHp~ zOtY!Q+`yl~@dq*vN?$_GEDdK zIUvZZ#c;xolhbG5x2WIS_$gNqND^L}1XI!Hw5EhVS1*1j`%&gk&2`WFqtlVQ`dsjZ zq)t;CAB!d9cruE{`BQ$x`o?ioK@~EIdqSgBHE5$rQAQv=yc)uRI+9^^ZXx(QW4n4& zcvkV`_Jj(v3^@E6AF`V_Qy&BNoi$)jJ!}ow{9PIWzW~{axLLO1xat#!pwUVfOKD`` zU5cJV1d-_!i>!*9BLu3i_^Ss3)2ADCAu#J&e{v=}143C!*XzV|C*|W(1|d#GTwzof z#wLBh7|DrJ-OV=?@fp(hujG$8ilFvtFv*Nlm>9KsCgRc&Dq<+_Z84OhJ zM6zThR$h(-C0b~zM8?O?$12!Zcc!EI#46WB%Ej6|EI^S3o@d=NjgQI?7TW^`i>=7Y zdYES?tf(ca;@2tnC?? zW+R<)6FhJWk6e@mqzGkj-Xw&9j(98ntz7x`wVFJSfdXT>^&Jd1HGc&mUf>CuZwY3I z9*=#l*>r8!f*x-39y{^Q7#o1?srr^Q5X*fU1&F@fR%eQEPL*qHkw zH*qeTkWUL`bgjUuCl!pOUo)hhWT_{5C%aVR!4~+7hpfRK#7%8yHN{NBQ&K37KHnAR zMn!m6AXUv8-%tygFWaz@?OD|}EX;QiKpy}Wi61S%4>L1M#x>f>%)#_xfN@IAf~hmZ z&rW1560v71+h?1v?ZfQSFs_i^`uiyXzc{vqnu#^RIXQ6?B}ezF`^D>}4r2MC?yV-h z5g?BQ#z%Oe?7lg&jB@n6%fgZ`e5Tr;VjwBM#cyH${#av}zfw>P4zlthld)a_ z!<6AxcOQjAaf?fb1K?Z*t^hjj%g%vQ9yFZ7fTWReaKr;e9R~r26na$Kb5; z%OuJ+N z1PJR$Ra+Pd`4OG3i3K*^K4HH1$yr5*a^NVYy^pfQ1UDknXKzfN5hqZNM%n;|A1q6)iz_ zu~@5h$`$@<$w%)1i4IQYsnG6__J8hc<8XbEPeZw_CGK|2>tI}{vx(q6O=^jy+;Wj# zCGU>6mfX@`^(q+w&>AULoTpfil~|FFep~3H;B~&2&(j^4kE+&eNA{wX1)q?TtX?O@ zIvctQv!qL33}R}$6~085URfYrLP2yb`4Fn;(ta&BitKH53HEIDXd?jE7Zas|CHpQH z$0A~MeSI}roqu)q_cug%p9gZFFNZTy7n&rr-xgr5i=_H z>Y~d4mp?3!)NoVvGy*D-yNqS#O2)}b^@L*gy3M#Ae{bt7J^pXb)-r;y?JIwQB|bte zo_&JW~J0E1*?*+?ySu)htfD!zwcuZ zGt?6|$f-bwV{sL}gJ=rNZXb%x&wiD{o?{DV@xc_SU*xno`xL0o98*@Pq38zT;VEky z=rLF~%c4QgX1X+jis+IEG(_0jroK6?1Hlm8q@bQk-XiDyZZLq zwNX3IYJ>>uJ~CuX%N{3N6d~3^#s}Gg4y@v{64os6$#R4biUG+>I$Cd#url3PJAHk; z5|*O|6-wuB7&?XZ6gT%u$K&d;lNb@&hK2Ixb};gdF6)|fm-x-K_jjBoZ5{Kwdh*4m zcOKGF8k|&Nf(rQABOU_{*+V&~Xvv_jtO7S0iP&ACU_%QGQ8xN#=|fJ9ySvLVMe1eG#e&)AGu){Zc|?s!15<)X zY4*4`k@k?!7XHk*?*K34#5b)e8G`|szD^fm@xq}Jh|EY6Zo$6<#`E^48tuxE^LhtGAW(lDU<4Tw?hjlAE@l7$F%fAZ3wAr4`dvjI z>%b*EE_=e|dhm7m5h>yF=P7HVlAh8X4@Pzz$KxHf6VRZUnMH1~K{Q$`F=arhA#USFYD0jO9Dr`6h%9NQdb8KW@Q z9)-CY8M(L&Ihl+hjKVtC13HFc^lIO?pa*@Ha)vC-0Y)?WNx-B<;oLh zP`^x2<7F+a2&=F{?`W5#YW`O|1`#wQ+K6xoqoNvXfKiB$%ovEcilm&o?M`R`PU03k z__Rdgcz3M?)n~=KX~!akSnk!+-41ojyB518gwnQ9bYyzoY;05GGiO{1#Wu;%oZ=et z!5iTZj3K0pu=e*)5U)s_60Y)*m-)h)50>mnRu7!8IY(*1`D)e1T6Rg|JBY=3-kpE< zRU;BvmWO|Xa`WZ6%qm})8e(`YN0=_Zl&65|Z*r@*%T~6nlE)`f)!lwAk8?H1FJj~o z#Xdb4^#r3+&>)ob%`+w)$TMah&+GVW!CN8Y_j0-}xO=wX5e8FVwAZrDZAbBJdAU^B z1sp`RB`n7c@QI=2=>B)*6OW5~!H(O)7ZR>tp1#P7m#KBV(IG|oPDAB8;oqw1aq*z3 zP!0J^5On}nV1;mkM&al7eW(>{ss2mMc|=~Ls0%fqP5WZUcfBReHtJn+|U z7uyuT?i(%-MvC2{{d6-bWra_Rl`TG8B!QOr<>kCRvP7-K0O zb}Y}dvu=+Wh7Og(faK1tO|2L8Fm&TYShb7danndN{HJ(^-Di9s;#y<&-c9r`Ix{1$ zOghR8-gVBs;W>E0&U0U zl>2o&-WP3L;%O+^0Kc1V?L?CofOuN8H+%XSQQ}s{XAU^RFUqj6B|Mca?N@e=p0#;F zFKR)%+8ooZSiSyZ(Louf#Wx0bve|p*kOv(6W8Kw{z}i)bnbl`ond&UEkq`ZU<-|kg zo5UM0qp$d!h1foKHlI?N=qE< zetu4ms*IR@UurLzCQ|NS9?g+i<`gfLGlXu+=~be~GBLPnhqr3Afa9?#a<>1Vo*tmU z6e?!5)RW#?9E=6y%Boy2?yyRX038^|qOlf=YQ>3@QJ9kK*;k$$?95svf}D(#o|MG> z+45K9{%pBC0x5@mR3;a=Me8@^r*Z~KlKvlK?*SiWl|6nZB!K|I2|^?)C2G_tARt5& zAdo=78JIxmy(o525oRdTO(Gd*M`V{>>sr>;Rk7~cuqL#C3Q{a6t00QphmoQvAPRZE z=iFx|LHGB0|9*DKGq>M!&pr3t(=ISOOZ7>mG$-M(SRmIP!)~^y6lvuR6LYaYk>A(^ zjU?RkV4^@Fpki=Bd@Km0@JC;_QRiQ(ck(IWL4^ha($Ez=ru8&qIBi<@lVGQnYRd9;THO_uWm>7HPpb?o zdZv{g_q!Zg2HxATrJ8kzWNa&9#w;zB654J2{$F%#(m7)*JD!f@HIg!|iDFnPW0UI~ zw0$T(RZg{F7{Y}jHwM+vxKg$}kA$OzE4A-kH`Q?DAH`CP_js0Ch>To;PXs@t#OQp)?uEy_)89 z&b`gV_nGr1@HafTHS%+0PnNg`c!e?9WSOk&9ZRV_6$2Q8KfDN1JgT!(zz<*9 z$!VT@5|p$RRM~O=JUKq@r#3R~Byth?-`q%N6-J__>(awiO71c7nAp7BYD4$)LnVV> z0(TV*{sKKO4&O#>g_DS_BnYABo})6@vXh7hU$tMz2g~`ozNSGtU@<@lXX=jje5&uJ ztnj8Q+!YSy6QZh>9q2s_R00Ag$T)7JYi(Ey-FRd;3#C1VGmF2tiY3`nci2+mH0IP$YBagAi6@)q^+xKc>_e&yPa-k6lkY^5 zy8yYq&jt8H8`#}7M28aaN(FEhMUV7|;7vA!ki;TuLzx`x%O)O|BAZw(AMZ!RTDOVs z_=pX)5$7Y(57|}P1itGI>0x@xU{`9cTq^-X>r&t#R11lPgmt)^)>PynM75iFtDB1v zW5;;PXHZdgJ)s;R5Jb?6AAv<>ClcBJZ4-(s2PP510i^pthK#PkQ~s>|0{uSWi~3o( zVrGYirG}=)w~h;*bb64dFom;aJFb$8Ec4IekNnM+zvBI9(INTBN>9b3B*D22NEU!_ zf5g8Yp`8LmSh$-v1CLeWkSB1I`j)WVMv|~gLRjJvPsfrdvZbtI8DVi~9<*#~sxyjH zRAW4e+)GWcibFHW>YEyxndan^%f{W9q+4S5xcJ8XXdS@rC0#>!cqRpMIkIRJ0~|9U z3tA7<1<>dV1<*sgx_}nNe|f6ba>Zz{^Es}E!y$8Xh;tYF9zmM@?{*C(B&;vbmhcVu zAKoiMbWi1lV2iMuu>VIr<=Y_!q6scc^(=dwZ(Ts*0E*3^XX#C(up&fsmg6@vkAQBL z%(22**B4d4pISMr2`k$iufS&I-u0n@spc>zQE}zerh>4tPO>h#!_8AYk>vCf zCt?u@2b#Ja*w4_UzD;t5=K+~Zlg zR8}w&6EM!siUVdy<^KtohRf7E0qPD;Ih~ohjOd@zW~88tUAHe{q^!4TwU%|ei(D~@ zvb$Q$6F!ir*Hjd>h;xHhZu66jI+DA9%EH-wxuz9=5{R2n+cB7H<^W-*`Tm;W)nUJrmpXc?N)zk%KYe>ftVxRX;*yqoKjhQcW^j>yTZfSFG&U2o6=l2Q5qeBWrBDU6u!30P9_l@%=RQ_ zeD-v9^&BbeW$>MWqM7+ORz~&wfh~SQl=_yiYY}%r`8#&9(9Tn6)0Cb?XRdC=3K6&L zTOk~By6bS|q!D9K()2p%G=~Nvl=O$Ja5`StbB`lcI0^K>M!x)Gvzr5K6_$1N#2C9>+ zfkyHA8PeHrdDLm4&%0_uU~9it69S38{0|mpn99{UXS)Jy)@Ld2oBHc$5##2V3_D3A zcB-ciHX%ke7{LD!-hC&qI^fU$a=|PD(WaI}`ltFLgOcm!j^zf|@ty}&%qZbSa=)A= zbLZ-3n{Vi1V<+h}yb$p@!l+vDU-2y6E5tQ2xRG|OQt`5Cgux$q?)sh_XFdNgXq9)* zVKd0izTsP45})`K*lmh({?a)JDTXdiz#&nJXw0ngGVl9>3JzlS@W zrN0Q27@jx8Zm?G#UQY2{a>AFt&9ii;CEYyr-b6m`|qkM6~%n!`R3qqPr2Io2?WUJ)Fi$O2cvqNispLg;9k_aE=`H_n>p~ zLx*%bt}8VKG!r#4Ml>P6ntP-Pex#dn=^2&mxkOXpsl=foMAF#$STWUw)&Enr(Chk_ zUqXg}SmwG4E}1-EKSFRJ*Yn#%p+7LYGO1tQ=5#z4qUKNh#aFg|w08-b+}cI6z@pp_ zhJ!_$e1ymT(HHv2nS)A!%ci~vV3A>&Vjh!bW~|`u!*ey?Oj>Rn?+VwDB?SCb7Qz$ zHmjKo-df=`M3-%%Ce0a_{j;_fWX$3mRvl4#X>BmaMejo<`34t(pOmK0qG`d4&gQvu z&SJ)E@a1FVuVf3XSpIJH1~QVgl1)YaZHC09WO)ZZhBBP z`d<-}y-lG(5{iV=+f!~OfsGP{UXQvULwpnvAO>a^s2S{7Rxb_zg#7g$|6!n>X8JOL zqE!G1iO1Kz?O&HPPFwF=axwvKAaJ`s)Ps-=sp5oEgV`njad@WlDXf4$|CV&mvWfKW zoZugzaHSn$sYtT{#{H|X#S{LK7eV9|4%jr_;1EvQQ_)u%AU+F7B*F!m$4^&DBW->> zs`Kosjr1_XXe7D{SX?F$3^$FxtI#6Ii^78bann3&7}C%}f66Z1jcG$IxYB5bM$!k+ zM`&u6`2o*$ekaK9NSjZkPgvORKzb3H2yagA9-rhkd(4jLvO&^RzNvmgn_5Sv+EmK) z^rbZk+;5+oX~}al!=aWo*iK1^S6yC;8MtD4Leop*wKw^~w*Z_&z$RKBe;q+9Wycgj5p8`&du9yx$5BFXUucc$@^)Qtel+(AXHaj^c8gNkN1Sb~Zt zX22;-F$Wg1)~l?#0Y%t3NHAXqfk!?t3D~$Cu@|$a=o9XXbA+%1QHSY!BGIivy@B@) zS2jgfjM@!Smws52b7(L*umffUh+)M3rn+Eoa z+|U( zE7ruipq{~hwoV&j(i{MMMbYsT|0D<%W@a ze|-Se_M>m8c)f$ypgcUhKvrTcPIRIjUL$Xyd8hpBb5AmnXfNE-5-`m1Kv$em>{o1M z?vM*33yyE_QRg!GA*R9DA&=-xLK_m~We{&DIoo9=*dN{W20qD69o8AnvUMK?NOHC( zR8FqbmPm!B3L%Qvk zi8SkX^}c5$UgGphx|+VxehcO$_WClXb~>kiGN=DJDTzVF-P%qoDvdF%CJfpPoX;V6 z*G?r4Uh~ecXTZ`_!5aGIk%RqsjPV9F*CsfD#B!kuwd|sF^XfOv63Tici`XnZklGK{ z$dMDZm$nmlgS~i|t9QN8b&5UwjAtIan>^YoAh*x()dTs*A|u3uv6AW#l-ajUE3D2oKK_UB?(5=zSsMoQfJa?I1feyj^i z!ko}FsRoy~;SaXrTOs5@EMTKU$_kpiGYLu!Rqw!6;nufQcy^aCCm5yF zrc5Bg%vqe4P?Pf2+mpltn2a3~D>(NbeZ=Rdpof$g`CfDA=G=FpE7dWou>h;=GAvbn z;aLFX82Dl>TGQ%-)g`O7YQrm%1o{+7F_$;f;6u#!60o9nBNvF@@_p? zQtUiQkEC4iXQm=g?ue1__n??I$MK<_EwpHr0}wu|HUw+8ebdX zmE?_B*i5r?rrJ!)4ubUx*Z|QrCi}6r5*_+-DU@z5;;3S3K}2CGH_Ir90N7s#V46M; zJ;%$i#w-`h7MNb^*Aqw6|G~&yEb~!DM(&R1$`o6YL|191{l_W`lkpHmzS(cvw6}@U zn|d6>hQIL&JhJex&FcV1JKLd~{P|GGZ=5T2o{*nX_}e;ejZ#mMEZioqCX5({v;doI zSd`O5)j1>xDr|#s)jJyA;s=hLA=;2MBrKtIM2_cbf6j~;bANazfW^grCsf8+qoiiL z-00JVQ57lTYyDW6DyW1>Iak*J5wtAlk`r<*6yKp{en(HsWt5Z~$MY-oP+l&LamA#O z@!46cq_niM2#(c^Wk`%ft{b5*L}z3w!60rgV&5`>Az|M#Cr@g_^6oNIj}W1z*p&Z+ zUBR%#m#K10Y*@FR6LWU=RHSo=M8zyT|3x+vCwI~Ja;!&Fy;Dw_jArc6@Sm~;MsY3` z7PVw1E4yT^z|!SX)nGMr%F1PMO2x2E>(mp-%poBL=+?|M0YI1ksDN%A`bq(PjA>mB ziZCsFoR)q8^mckeUqH_tc}P&?C0X9kCrswHVmle8k7ec_^U&D>X-~NbU$ABtHCC3$ z%Q^>uyI#k|#A^DY%Mel5`|Vlw0u|IZ2{oF$%6aCTleO!MJ4{b-%IMLTf6`Na2OpuY zVC#rV$^feZ*Z}dQl~`ukrWQ4mErr?pA>s)f`KO3lR-OlIwbN7Cl)7qNoxz6=K@3nf z{cu)-BU$E~$7F$W*YuU?FcGMS`6$!QFc7W&n#v}*YV5;>G?-(A! z7?B!GuN{%O7*)V~tPXJxigERBvo3E8u;{tdr1gS4Lqb#QW}jmA-KO-Drz(VgMtgEg z|Cl6*KH}jEIiCB|wl{xRYA`eOQSC5oJvpJ@Hns8R8D>w$eP_%DXZ~Pq9{SF4b$ySgEtqY1In>#7Z_#s2%bUy zmA0L)_=kSpmVPeMI$C(0ExaOL_!SbI$E39?XCZ%7CJ;KNYR04@T`3~v#L0(vjZ}%X zs~SG5%1ty(s*mF@iw;mB!fB;a3_3iNp^ZEb4wXdSEJ2cBu57`RpGU<&)>Hlq2Oog(+zE5c4-Z2DIH>nVVNwp6 zf4do-%?_Ip>|6a!8}zl)vd^#nwVfGy;EaUGOf)o@PbkgY#|B<7HFh`+`vlr?U@iuw z1vfq;+qSov{v8|bsKgq{eRZj2n7}k|9Mim^!;thlZc$_#9i!*NN3d&P$upW~38R|( zKyO`>{}CbFpe0{o_gwgcCH?voJc+qYuMxJg^%^Pl2N9te%cb3 z_xCc&Z8FLXkB+jz>HERHm-_KE9i@F{UU(nf+8MXBJE#7kZpB6bJ&qobS{FT-%8p)4 z1&k0}5%kEi=#j|;EVUXlF>n?j0xvkWMPRQi%h~8R^mGPtR#Fbw`q}~INEAAEFuU9S zkHH9PN?$6-5}m_j8ANP|=Hc{M-*B&|_1f#0^jcp^M6a7zZ{e(jE_~dBo%S{fX8e;X zlr7+<6(0ZeZ_d{U1tbO;k?Zg3g#?AdlSPmc8HAlm>&`_yM&l`$NQr!5o-U>H?NnQ>zt{!iMPqOO*}0n!#yj-*uf>BImID* z%RTp*3n;U1QS~9-G`+Cd+Vkbb(+<6=_wrEQp{qQvcbH!?<)p7HnuzkcVL#7nf&9dN zrA9+x|?^(8P1pI^_J74FM3{U**W@5xI?8tBQ&it zIdCywK&Syln0%#kinB%sbiNL#Ij*7|D*IKo?^ijq*7=%DN$^Gw&~jJ)KeaZxhwcL2 z1_DN}^NN%RcSZ@Oh8yw_Y$Fy%V>lx-@T&IN*^Zzp+<}>X>n`Hbu2M)!a#)*Z)@3G` zo1V}mA0W#L{YniLzg=1s`q-8%kal+Va4$+LWvLwd5Dc>>Da>l-#L3Uy?Anx#zAB>Gs#G=ANbV_|@O@`ZV!3p4(t>q;=z>soOGm z=Pl#WgMf4DdaPio5}p&D?YD&&OT9J?o@zd;&Gk#>FGyI^e0EDf;pZQqB$LtWcSMS6|;@mDMnE$0GQUE}l z6?7+!J8fhe`~Uh|m!qOs6&#sBmeY}cIJ7A6Gh;DpZeZh2dAyMdGCUPef>}Q6q-zx= zk4kY}i}8H*W{8OYHtmP_6?)u6fA_uA~Xnmt2?LW~K7&HGG45j7H@WP(jp>7=9|RQcW-ryuDu zI#0!MfY)WC7I0hbuB`^U#2eG6Luf2r8jIw%a3^yOlvH$BtyvXkEzRgKqOp%X((nN> zw}LsmG;|nhlQ8+b1o*=0@dYGOzR-qMBF^$1+u|bivx9d( z32Qrs`M|?i zK7>hhx#Hk(VQSkeuzj>AZVaC-JtN_I&t)lBootujxqBF?fiE1tbhhbQ&c8^rhF>VQ zy>g|+wtRCP<8qo%0whl2kLR`028&PB24242bExV^&!wxQFOsu_9Oks)bFF#y;K(L;1M?of0e>@#$)aEPW0qM)+6Ky8xvq&W^;#YZg;cP&HY5SZ6u?rTI((u zAmiu#6F2vDt=sG$Hg^iS;!QHp&3%Aeq>lsX-YlIWTm&)`RDOL`i9=2o!SqPMf8Nu^ zKYz46jrTTbR422gj=I@*I}~yQ&$VqIdQdZu*^cMhnvYUbI^HIkRnE^^Gvhg1v$@vn zZeF#SJ8Yka>~vr9$%J~F`^k*1HD6yNYn`#pX8uJpyPJ7r3LO6iJn@}Lww+$;b~?e$ zokOman$BM)_0_vNsboq?2UohKhLX!#Ot(FBp$EC2p6%v#)4D1Duyr>)B6ai3uMg<7 zK9gyMo0dd|ScO;%jm>M_EhOxM%Kn+YJdtEt$xK9|?-gOMK9Lm3cdt^_@$lJBVHMj#8V?TE)b518fm^zB>9noQ}5{fvUQBT%_vGox0uJSmYtch+_p7T z+sZTDCG$U`&_LSM`U_v;r`SJ~gwgW#@P&H$LzpT3>Zy2+gWK69ihxM7!=LI%M=(-Z z*kA6afim_{rS0{Fzgx(BO}bi2vq5jMS%1;2e6wD%tWUKBh&V$+*di+hu`Xf){Ani& zin0#biNPQ1OW?^#A%`(cvt!trX~z(xK{5>kWcsyl>+~oBgi(_O_mj#&O+8OPNxGJ7@*zR{%L`1(e#xP(%kzZ zfFyE_ZEl6z+{gF1&8?K|x|U`j45g)6A`?xZ3BHG;5HLSYk`C4Pgu7xSCHW4yuqCYV z*7Pk^b`5(FPeoXC2i6PFStQ>zeMi^jeoKm99w!yG(`Po@TbDgfE2{&hGnj8Ta0O3$ zPL^nLNY{A#D^2v=qKzXw=eZc})o$m&jym_z41yo|<*B%vA5u(Iae>Bea&WdJ6`q!K ztt4sqk9esel7wA)y^6gg33ugsN$n*m>$D_!9!cHaDTh(PLDW2QW3AmS{|cCHtefcu zov8*oaNf3XD6GpZQT5&^(b_mg`fW=}z>zrk5+tL>nqXLef$cODQ@}dwZL9U5TdCPr zC2pe?p0;wTFtXmSPN}V2Z{@m3io32C+T6)?18%6fcEA#!vu@##_@1_K0>xmnXv_G* ziD*GrEvSG$9i$3)PO#qt{`BQhz!!F@l5&3pyhv|+p_3wQ`?;tTm3z7mhK57&Y*9Tk znugx+xb)}&6yvp@fJ#3^JD}y(ah}6RmTfn44EgA@tPG-dcdYc6vG~?%AmdC05ccb8 zzA$eXD}Soi99s>rQs01GN(fwyeM%NMonE9&Ah8wS?UGPPP6LEhzbxp@tt>6IXz?%e z0-gAGLEyZ8ysmjxQJHfoKfBEC@Ao{hc}90znUDgB(T(;y%JaP2q6g@0jdp|+;Ucdi z+gZYC;T+a-nR73{Y^Gc1U9KK22Rm~}7vHx5;hy^ijLqEn1)FhqBFGlj9Br71lf^$! zEHf$xTl~lQp+d|d1fs|>!z5227inXH(1x;or+8A=^|V(6CO1oxLKAohP;xZ{t)h)h z&SKAq+DTgd6(i!?(!I5tP_bmrX(t=1`a9$vJujC5?vu)UViq3J9jLp~S*g%xY>8B0 znc%JdI$4a9r8y;ASkz0!GfT}Q%6O*ql|j}f@WLwgZT4G07ArN!mTFV4RP$IVVmdf` z&QD>Ee1y;A!`&KxRv6fgAh_UKia5pkJqi1WzMaPv)$T^HHH^XMc&knC;2HQv2O5_U zirt^Tc|L;Zj4iL}agl#_`vihBO30OqcmXYnnR@ciGC5ypbx9JQRanf1n*<0m(ZClv zGkU477JWSd-NU1DyphqV-X1ej7i9RuW3dij&!Lr+S`tbI`a7au5|M&SP-G!GH6&m8 z66?grQSy-}k0DzKZ&O zjH{ceQZKir2GW$Ed(nqEoj$pAd_t*N^dsC5n!KyDOI9qBoBX%-3FhME!qdo76+EW} zN4f>u))kEYm4c`4Rpx8#8X13-OElo%ghbn&4ZRe!qKTVm!nAZ-_;0n$4rQSr2!7g? z?di!I9-3*k-7j$=#|bvF&O^-MEEbxjx=?QnNDocnRr+WnkdfD>E6is#(i^bxi;3;<2D03i`hOirga30N#3#-c1@A#DK92fA-LiwHnC1B_@L`7BOUNn-xq6=@%f~&MKQqtC&*M%o&zrQcpZH`au20U6bg7M`os=%+_}PB2 zurg3UrJ6*70Hp@MEn0OZS?@IFALoKx8vkioBji;d);jNUi3ViveW37Jd{=u-7U=yq z(kj7ulx%ap4AGuev+3FWT*s$*j&@{99}1HZ`W%z^>R*z)WxqBq^!&ZXo46UV^r9qR z;$gyx1;+bU0SNieQAXl!D-DDmeQH3Yn{6!hd2Ng;!4Ft;JJwre ztgPs{vdhgX6^YNwG_7A2jUW$lwBTdSfN)D9peJj!we(zDp zd6R$q*5*+RsGKwe7bVyxO4KoIaWI~i0C#*leqjH^&u=zj z3mI(1(V$=MX&ZH}JML`{I_|+_j@#z*e{oGAw%4~ms&aN}e|kUBap|sOe9kkH5h>_r z+d8XU+QKlA=H%i#k>;W=`orvoM-ls&3nDD;CSHFv?i+rwNs`^B0u_- z8=?2&LYkI<@NY3_=NtaPe&sbP(O)ooyfkFmd@s|jF?-(VMZ$Tt6O6Iu3~dNZoXpH#Npl~X;&s=zlyW@oWAGtB^h8=9V)F6@rk zB%D>KUnWP4FeqhrWXkisk(71QEcXF>VtU!;`U#VO%=6|K5T9Ra(}eE^uzAjsK01vT zF0j)W8MV`BTQ`k!Wg4eKOyhCN8YgTaw?Zqn$$e>L?1|44<&;@KvL9!GiYEb@Q^P+l z5Z6fMMng}+c8r9x#`r3dd%R4DvZ-Efv3eoq=k?<)zKrR&Tk_Tl1~HdG2=y2#_Uwdl zaPzLQt;};<$s^bHS@f2I_A{)+<6#?hYwT03(P+7ZGb=lRfA)E(2%zGb;&$%3n=d9h z0-Uu!JUgqTUL*-mxrlBt(acff#-gKliUmfNr@WkG`=DX^XzbXl<`jqwmp!!0)Q-}G z4*If!BpkE}s8eyNaD}$J%#9s^J{QfCCL{u`2lg5zz;p=c=NX|}l!jyMA zEn|7iyGw1SV&U(mw~CPdl$%~gI!*<7&Mn1F3HlvsgaZr`XY=V`K^R4rUl&t;mRo*U zT{{=Zq$axQJv4o23^m@nQxRga6C@NpQDz0cCi@a&Lo)&2A<~DidkG!^PDU3Btg^FWoHpM zjdIUBaPcnL9_mjWOr=ZFsZ%KG`@(O~n{qd^Na(#{UZ*h@ku z>B)ISJ!LR3u=A;PA|#lMK_cG4XocH@3Le@>%i&ph&J%-~t~mR|!aMm@8lo7P+m@vv zhB92790!Xqr>`{+M$+Im*#F(6;j5Q6;sE(Jm}RG-88?)&^_4j;TBTb*GE}DdRcu5_ z0!cX-w>mfZe^;~SFJD3E-kAp&K}~cKAx)YtQPYNgOosa zDLNgqECb1J`@CBW9btJ4-8v$ zlCkU&@*@(y@vMs(Vk>(pb}(^HTc+@x`F_57)Bq4qMWU2yA1n25N&(H1&^{+aa2oq; ztQ=HY;JgNH5cH1?Vc{Zo2uK7{&4#|M zrcKMz$!=OwyLYL;A6@ukj{(}Wh4!<>`TBPHL z|B}|d(t0AT!{2AZ?+5|BTe`@VE<}DV^T`9d5?CJ2kP`Rs63K&eSU?gSZesLnZm`YC$lmTq^T#f z6YA5H-ICFqHbkhhb)N40iSf-SD7J_bQEqkO=a;1{x~yorj87S6@v5geGM!B{r%^wh z?Z8?G=*od2%nWyLXA*zKXeLu=2%}%d8tbm|hVP(4XPTuzEIk!xk**ibxv`InZlv=_L9?^RTbM|$ zd2zRlsK(5GDb8)L1q5c4@AJkd58Aoj3UeTvd z%yfSf;p;(=NSLVgLJ0eTi3HEUmwe7(33?^6u@Da-zF%U!$z?}I-|^=E?5TKf9H_mQ zf9#Fd^7VJ#D)Szk=M;}++dQ|}y+==nL#*E%{unWzPQ_+V#Zjn1Y)io)QGD?SzbbLl)$7g4wGZ&D@;6f`M&vUYyDjltLT;HkKpVkKfk2+U+qs&Ls%DQVUlYZhwk?V{^+U#$H> zoGWhoQ@Y06UqMZ=K;Dv|_ijvgpkY%L!uqkJBBXY+J`8^%5$3_@I1 z#(LL$ey-*onc|{N&h>m$pK5Sbq}wd#;+wQ&vXuP0TkFEdZJmk?E$n-5u*eABD~;&V5p;Fh&=hnrcO4;Q-Y+m>IFETI>U zI@iJTfFc~nGw*CK4c@>XeeoH9`*;vcq6v@{mJ*>YUqvhPwW#(+axrxBy`ZX{b2vfZm{RoiN3O5 z5c22~ z*iQ5r_KOxcGM)nU&W3AsRXe`&xGv2ChSa4>3hJ3KtBhs2l@eOD>2O9QFj2MuSPN|K z=AWw*%x~?;gB)A}5ADq7+%{u*C5Dt>E12!C-p~nu1IM7u_9+f~ZE`3j1zw&C3F3ft zk-$u(FB|x&ayggv{E0ybdoBo2RQ)USZ#~W_qqe0EmdUIFO{D+dpfWh*zfr$6(Lx4C)U9+$ zYp=FIW<7Z)-;mRsl`UB9ltd;E4hpB(5Ml#J&XCqDEDN3J@#F#xx1lYXg^Q!K4%I@%C)#~oQT$i zdP@C0;$yDO-$H#|hdbHL7CEd)B3qDt$;rodz`|9$H-LG(3O5YV&T~?=<g-6kNH0 zoXP{0Ir1D7Toy|#GI`6=$!!uDUZ7OU)g83|Xl)0TFARYf2?%g8 z5jRnIt=INnX8mj>Bj9Glp2Nxm#0s-cd{Fo&md;7KR-jXd+|C9FzJlv6z-30vb(i}Y zerbpi*1u4fUeI37C2s%yhorF; z);V{wk-YhvJQWwoVwLg_XVjQ646PR^5CMS4hxW+2cEOeqPs&UW3AeW8{}ds1jsr98sMSxJu&TIT@m>l(Z- zyGy8a55!5n&WW1KI=|NT@?k!zu9(g%Bdp)))c zZ5KrYEtj8LV1?v%@)p@Hrt=))A#>r`z!QwA zyhZwY-}J4U zT^CTK3lUeS%lWbDWgY7^bSG!X>X|P2XAjUCG5B9~N362ZnVELPq4rR28Nt&+9P50x zzahE)`TsJ%%?meMkd{y3S9GJ&rU0(YVr2DJolCYfH-_e{V8?Rg0cl<>u84+WSy==p zgp3MSMHj0K@;!J&gIp@Xxdj?jPYlWwn^L=k+nB5r`%12Fx=bUbPEHR@lQ#sc-l#2% zEE?WLq9!^a3VUyObQVhW@Zc=W&pz;$y}3hJvp`dC_}_*P5(!=M=DqTXx~X}WDlv_f zSMoMs3+qqBh~Ui)f6UzIJGRx&^CaOnxBM~lec!Qd{>1HQ*woYoZPk-oGkEXwCWT%A zqmFSrTOA&pqvPY{C>i2eScVr8H3v=GkW3ly?NAZMR@ca6X{3GqM!b>R@|^C1Z9+L{aqFZz`ElCSek=*~R>--7 zuGBj1pkxS<+B&Ui!s4E1H1Ski#h3Fj|CsEVVm?mhEBq4cj-Mk+>@9 zqk^BJ1aG$GV)(GK?>nF7J(dFkiOWyi7bOyc`kV6?ARG@3|MbPTVTVL2v;mkbBfU7!c@T zrd%nWW!lL7$K~{$^MN$jdX_f$p4&joxB{`#&>^aFi@u6~QfF((RWuRrD6v~?55bGa z!)`0o?|?HI{!lfMKR`dt1Jj{1*Q%NSuG%fmE|^bKK^h#4bFHES=E^8q;v+ubyhRz? z{C7fdU9E!ixokh}b+snj2N9fC`BBr?E4t^JzJ5V~B2`4!^i^;>mD))aotV+ru^(ag zyHH+~(ed*3hb=!^FtEOmUBZz$|KJ~!bA{;J(er-lv|@~G`H?I2DA+Z_z329_J z!Tagd;C3J!^OogkChxrsK+GU4oH$ksdP~Tp(5EOuBN?y%1@7kmc*1$H)y{oXm#_zPAS@V+n{% zJVIQs&EK!7!*>ZX4qugrJhi5m zm^bfrr7$S=OoLkm1*@VMKGv)%q>R>!6g-&(fC#5yrv14E1-2;-SQqFGB+{iR+5f5h zeXo#z%ni0lQB?av`_YB`{sAoW;4LCNSj|S37lnqU2f7euDbPX8QrL8@X6U9Pe!zcZ z(%#5h0tViG=Q3xSbkZ%|UUnpgX1YNnq8ifH(>FC?f&yJlxU2YRy(Msvrqfnvs*?&P! zbTwa-M>Tw92UDHi6t6cx$1l}&r*2{6#}BtP{3xp3=5(MjmPX;}oJCm^pl5=-I$LB{ ziO_tD6QZzr{c?B1ec~LGxK(928ro$#%)FRyo1WBj43&ftD#d%sa!9bw#8k3TJIY=|*zLX4$re#@ovDR7iAx8QdATQW$x)l!DFOf|tY#W_ebu_Pn9?lic_W#71vFkA`d`I6gcl zt-Q}1oPQzHgfy+8peqiUe4{NW%zU|&`-jZ+!AUwzPes1moLRK|zoG=t$j_c~`(7Kj zQg>oCWp4^?NLtj*{P{7~R*W!ridinx1~bfqJLICQkr(^XcpbtxS4dy)wiHNdgDdx-P@7a82;Vx{C}!@ggZnGSNtG(JhP}IOUmVZ-6y2KmiUEX|-_3y!Rs< zD8m?lzVGW~2zJvfRAp+I-PX)$POzLvPwY;sf-TIm6PYiDaf~9+G)i!-U0APS!aL5X zTAu+R$ElIu`GS1N>RC&!RB-UkB|$F=yX!*M2?`!3oEk%!lxa$(WzNCYkR@+IAcNEQ zMi>b+Eg9GOCMAq>B=Xw0H5@D{Z9W01Be^f!zySvlrK>zM#GD&@hh0o^E~kn$2!=)D zV59gY0O2%dEvrkFFl(u+ z;cmop&TYb8uGPI-9>WxU&C56}jPz_x&`xZ5AP*f~dYV;oF$FPy7dL8;xW z0;JgADM5v_obp+xL56K5aM1Uu)6G#(nuST`WGZEGa@dpCg42<4Im)2YD|o+LhDfP1 zqdVl?&0Qw_7CA=deiPlG@kZe7YRvet8N%DW#sV$BN*Cx403Fj&0h%Re08efN73>+$D~ZKXG5wdK)C8U4b)vS%X&2X1aJi(m$07pO&0U;Rz% z=WZrTN|ry`f+BJ$a}9}OTY>8Tp^Rx^>q?pQ0H(49HP5ue#lWl_h|Wlrq25r+6*DF! zaL8k=9m&0yeA5xa3W(2IvLN+EI-J$4Y(ZKBOgYLHq$kQt+!@8M>URJ6S|N_z%{x=X z(%MnGfk?BZj|*E^aGXqNN4SgmYJ@}p#RR36^xQ5wb_@V^nZI^rX2d^}bBITm**CJ! ziGN0dnPW450HkCt)>@LeTVOoSX0B+bnT@B$YL<~;dP$~rq|wLOBhAui5PZ~U>ag7t zn*KjfQ7%q4pn=)>k)mQFW~E_k8Q{Mzegh26r5pC{` zEXV=8^KVw1{5<-e7?Z2HEF{XC|GC#Q=yUU~=FWKnyYC!7k1Y>~B!41J`0~H-M+%R# zw{jL@fd&|UcQnDm)u8HpMJi?g^c75Sa+GMhB>d3 z-~#e=`^pXqlPvYafO-V3^M!8VS3m5SekO|K;yDd&@Kn5}UrETOpW}=27~xTZqI^&Z zb00)!WXauzZ;c)(m3$Uffy8@fb!wuo!O?F^L~Ktdh1kiO;rk`|)bwBE)h-PUD`8;}7h)%UTZ;MpqUAvU|=S=}1ax zA0?nMUKuwJ5&g@px~1Zor((Yl#M9Yn%K$Ia)pH+=x>I3a@XJmJ%=bTgs3D6a@$!iH z_Z$r8jj{)9#XFUAz5#?p+2sWIMgHWv{1KY(`UHAy_UO9oOElZs<2kKuc4=L<#LA4L z`(b|APCwUV*VpYs`4Q>(!NZCvA5Ml8i)3~?%mWK5MpMtwU@9+8$Ww>T0O>^e4sP=k zlpn!fE7Gy6tzUkfT@6}z`Fcf(H)ugC2t7^tz7QCTIpE_Y`?*;R4rd>9Hp|fBtwld$ zg|SweQYspU@~+yWh#~B3X9FyJI(4>@-1c-Rnt>_p)&0L*L-<5;+qlVoO%D2K@kUy_ zkrsm;gagKrq0Pl&WgN-ad{k95FEdSF_zrAYhD~?gWkjakMM70z9yZ5-7+s5|s3g=a zJ8+|&(+ChT?;!=<%Nzs#&o>jo!tg2D2Q z;m_oR02XYyy?^K+hK9m9L<;hY+esv=PldR9`W-Rf<+5w^Yz|xmt)2{V_hPzcZWUP! z_fi7+X|z$<8mMDB*X~hfLI?-JD?>-j-eI=idA8pG8%@N%0C&xu?Gk=`L4Joe^Mr&q zGOO0q{K%%T-3{Oj5YwL>NEzu7T~+sv+Em~iZR%{9F~J42M};_s;hd8 zVEMuWJJ)_4`{lyol)_>Yu=v><+HQId)q!{_HbcrvBG>1r_Hdv17>SiG39Q$Dgv!xL zMgmdj=zKp0Wd&TF~W4a&4@ZwFs4OoTt2Uc_%bf~3=lTTZowjszw1 zta4SWdY+0zQy%)861@g`UgVj7j@IMi5JF)w0{;ttSxJmH`(zFZxBhHUsPz_nJh}8J;U6a zFFS=naS+A%3;5XQ+bJKL&db`waf@UW(4P=ld*5C)@&E2{n06Sr262XE;j^>lrqeIS z+hcU<0z?rw#PTvbF_wbdX-iq0_qtw>eybFadGovRx*!-t;Wy=$ydFPqac z!FlE?aMu>l#Is2RX1|L6l1bwSRG8*fE+pZRLJVI*($ z)~=3XPO)Je9Rj%UKnkhX_cm`?qr?HBo?8WNox9l}utsSh3}d)fejV`kn3}%eTy~y7 z`H&vdF^2$gOp9_Hq5wfNsZ6Nypw0)>gjr5U0F%4!4K5+!k}TMX^)Ge;tD7|*ubfob z*QbVH5!Y-lKk)z*1LCS6Wy|)S8c`%KiDOGsu$xSC-enx(=x&^Gv}@hXg%K^L~d z0Z@C@!@VTTNXyo0l)$3eJ-#p(K%ytH^m41lxPYQc4C7P@il{Sl*Q7)@v@AmXXSL51 z_D!qALBUF8`NOSBB4c4NcKSo@;Bi#EU}fIcJ5Zh=8Ej9OroqSU+F6jYfVSWNG9r<> zr9lx66aI-B}gVN&G9m$ZH6@ms17j$N4wf`LhzLf+J_5+Tjsz zb3%A76Y6OI(*nr%&%=dm*+qOGe0QPh*uLGQT!a7G`uPcA;H zQNBj{WA=J76o~|`Ub~(Ou~&)_SeaPYy5j#oLy!Tg9wvtUy2Z_+;nt8~KXXx{)@(x~ zC2INxdI!4jVP2^n$QC4O!jj_BVDATK#bDUX#U$YJ)7f*=-dU-U5t|G1a0pz%Uj$-exc&oDQ_SjHNndtLlpkYw5>koP{HF-z^v=-mJk}BJ zQUvx~OJkQOy6}{*rvfdT2LFzGzLc*ZjRwwZ)kzwVv-y>~TSz?hA|Ig{&?||90~;5H zub`byPt7h5ns;*aqJ+8)elU{z^!|3S24-pl!Sh{NgJO$i>pj8#;`_y>>P(~2_HGyI zdI-^k|~;4GzoIZTE%{?LBG?M#rB6gUNb?cjaYoF z!GAgjlmeV3ZX%1WdEt&dNCDopBeJ?|bRRmYF@7%L&ZlyYRXM!{cOoeRyFjr!Y17I~ zi@bz;My7Ly;?_K_ljkcZJji9e5fO611sGrM=|DTS7d7?{X8}8J9M}%77lZ z;o0pHhLuEu>E@Y`^5){MQf}^1IlH`ST6ii%I6$LvVX@J@he=p?Xyu}Xz1<~`i#v=!1ZBw}{Q9X`A;vZ;r&L7tEXOZg58I@cSJQX#p!ElU__R&uw3VT-I3-1V(~ zQuX}q&eY9|Eg^Q1f*f0Dr4+Jfa&J={FPSbpK+Y??xn5vpDb4BF~EI ze&rj3Z#es84B`IXsI&M)YM?C@x>LBbKhj?-{NnQzZz#*x3eio{oIf&==0=js6Qq7m z@wV%W%DUV9=e;7OQ`{KqG>!zJF&D!X z%>~x-wwT-uHEN7|CrV+5%EPa@%iFt1V${;k%Gc(?0R17Hl&~;DwX=Alh0L!{*?3cl z?$t~gOF^zIiRG8$4SneiQC4G8HIisdV|cw4DzM9ZRjN1I6pT8eErbj*ix?9_T+=S{ zvJyAVVf?=&wIu%oxpiSf6CQvNpryp_84zmuxsR*nrzIhYH$q1mLu?Jyc=Cf!AZgly z>QFVLxRT1JT;E^^v()rY7(cyg|pZUa3cyuH=(| z*YX;sJWEBl<3C}vJ}h{W5V)*PL=ux&BJq<4=0xFq@D7mAx^59Ti&ZfPYKRM5$MNM5 zY|w=X=63eUsVw}2`DBm{MeqpXJzG9iE(^=#XPq^&B#8jfe0qjRlj3}6^a+Obai(*v zo;j_vy_fv#O}r`98=1;(IN%F)$o7=K#S9eOG9!ODOYWoOq6lYkB%EPA?gE08A#%p> zkW?Q=RSY1j03}jxR(U zlSKGdR@p8$m>#{!a9T=W^l&4gu<( zHRdI`=p-?Q=)>wni0I)?J)Rf!mxUIWXVs}0zg_H?=gGX*v+@0x95j3UviBLgt_8U4 zH-N#~gYXM0dazOD zxM5F%6QRSNip$C5iAx~%t>x-{N#r}}B%5>k+e_vd(trS1XB;{~%z#wC=S6{7lFTN5 z+l*emOXlJ~s5U`^S9zewa@e7C%$7}a?B9}8cE9VltLBxaCu^Or_yT`E zlRvd)$aM&}KCs{Y7-~<2Ssi+`R z$gmhCHufdWNOh)?;#{wFcA44lpON772XrAY;o9}e zK^8T?e`@edSPyf>6&BQIy4mw`ObeeLwb_DT7-gUr{XvF^EC|;)`Jz)Utj=#=HPR1DM@q(cl;h&E{5`IAn! zEJJ56mSvg#5N6EsPo`^GrccClHrL)O+}FfO`owG}IVK^la0vxF=}KIl)5WqX)AW42 zDXUOpl5fXHR9*?IG5Ng(vcVL8{x^ZkxT&XeCpZ(rR0`7G^3&)9Bp4X#{!kJ!NQ~ZY z+A4vVtn0=&?}Pl<==#bQ=AcouNASoTe~&vjBc2tC43|R-^G=S&q_*`h-u#)VffQeD z4JM}q`9wVEiro*QUlXQfp$~eQNjwg4CVw|w1l!6k;3B9>KDApr3R$@MK`u6-b=cDt2NHZ`4HJElg<0l$@o}&WXkRa)CNZWAT*M)h z?(}AUPOVImD~N0#9hK`P)?OOHP6(A9ZEATBMWuT1?h@;ztU==5CAAK}94%DSPfd+6 zbxkY8Uicv`vcQ7b449jT!kHw{2z}#RtL`aKaJ8#;E+E;3S3}zK+dZu!&hA<=W&)z4*({f5 zs46~!YWSdc0q_HJjWkM2pLOQ6N;HSjKAZ`Bf`IU{V&y49<5&vLv=^vj9{dbWK<4w9 z^cQI}YfFa&=L}gZtA`7vWt&-ewXi3kLQ2UNO0Eb>VPVzq!2ETVh=NB@e}-iugWN4f zQA{Sp0x1rFgoL>&(p1qG3>WUB8}BZQ`UDl8DC?XgX**KjpFEO3xz`rUA>7+M3A@68 zA0v}L4@eoSWo3_KIn(5K*}OvN#7|lsnLWDk$rDMIU4n?>zgh*oZ6tToVA@o%W~Vf! z9uCrxD~KAws2|jluH(6^QcStCgbZ#PjJd|uqhum5ti|3V;|^&O8<0bz86F+gbczwne&Wd(r-*1sw4Y!hR^m1YtYl zA~4FGEp_o>I(xXNhdiOTXgK*pCc+u5b)KS-+wZsXY3rlw`+d`Ultn=3H3g_bJP~@i z^`6suIz5*75A{TTUq}%!o?F0GDos`zm+D+5w*zG9&Amd^An&)*Hm3d~aNfjUQjL`{ z_fYY$ngj@!La})4Np}R7>IihB`ojoOeh0CyOHlAi_kM|6?DqXAb&M~Oz@{4Z`)B;` zP9n!HcG~h2} z_oY-f%Xx zt8#!7h~T1OdeAepuKg}mW6)!}|Dzsg(9j#24JD}xX!W{kt?E^SchAfev`QEwq0-ar zH$pmObnv$SA8Bs_9c7XIe&z!I}A;_xw4BbUjtK zwp-h+yH#Rd;ch(6!iQ_Y|MSTYonzu`3= zgX7ba#9no)S2?uTe z&`A+{LpZQ_TJSUfizZRT0Ia2cb8hLa*c}7YvCEgBPyKT}9>8K9Na%kFEkx%#I-`r} zU@T%D)aC3$V^g1x*2R=EMo#ET8ErRB7wBjW7-FXm$BGMqzkIp-lXSa!S3Qr~U`aw% z>>`hB;)<0ldCGs?%~$oj{G8c>_?M64zKs4np0uC^KnxkN8{ z3Gh_8d$L=HoNYtfbHgo|NXjM+Ye zu{WkT0}KNXkv9ojN8txh4b(i`)zO*bv|f{KbA93-bVQnVXZpkgEN9933oYkemUECR^NGzYXXiSf z_y~#Rc+BtS6E|A@b_WdZB#cDzJ`cFi0Qdw<){T#I(pW8i?I?7>?i`E4&Br*SE`kQ_X+0Y$)18~)~OiR?9! zoul2BXr#x&Q@2E>*xCn4>G&i;O+N&r? zZ=q2gKlN02SSu=2nZt^rXGgkycXnB1^9p^>DVlKhut+zQtWWuI%dp5P%eGWRdQ=pR zwx`s}A`@QonFeo(Ojy39G%{h489KduETu*EnwHxm;RTtHTahQWz(U-t zO8ks;^190rpb8mNsbYn1;X;C|R8d%4p~A3X>HZ@AucY$DvF>!E^ZBQ0h31W+{>D`U z2HoD2MxC1Po>@T~{=oIph)wsS+MugbUTZ3!cWtyT@7LL<;<~p5P*&-6RbZ z>tC!Tp|o)oRu~o7fzsM_&G|)`<*Rm~P`Iw@P+@hI{;U@kaRf!U+s6u@RWw-GUA+aA zeo1JrsrkWs+(Tg`>hjC6Ga8Dck7fW%;5KVO$+D9fZOQ*pa@P)&4RVPG`Ev+zQU-+g z&rY;S(jS^fxsM5x+$+z(xb3EX?%NytXBN3g)w4JTgS|Ol`fjU#hsadGa&0q4)+n=S z42s|~{}MVlMmM^h2iipZ_z#R?vS3qx>WBy4lFPjHKlY?NAyswO{TD8pa>3njO%7s2 znyc;|KM2PKE1PPMJ=WdLX2GsO&1+r75;o)I?gJoP-|qm6uZ4ymmgwfDA}wLq=kz&^ zhemr9$p%VW#GDJeu;*;5I(xU;e%C|3v6kk>hQneE?3}loE<`}ki>`9vO1wc zkNW{tbUQ-4PRJ55AYddznuwvrzG~c!kwm*w-seSmsNLa$@vNtn25xsZ&mDQp(&pyp zRPmCci6-tekg<%=X0g|&^h<#3j}R^eMq^R+iNaI1?z^5aFZmJ~ksI|&NA$*mF^w{C z-42FWn=(uUDV?RuEFFf=?jB_0Q1vNKRT*{nU*_UUh11h z3=EVMlO@+kfVIZ`odQyCY6ZNOReb6*2LC1+=mu?JTJ|`=PPs_UIQ2qEf}vpA5#e+= zD~ylSPPAT`oI@B5Mkpn7O$=J=6Mt%Vvyd>kN9EWhf82-gvY?P8YCVFMyB7+>3O^J) z6~@{yp0D%ap8TFA;w9*QUOW?mRDBvUcy%>mO#VQ8$m_9|+#tBjjXJ2aY?=XFW7BiU z`gS{lObsl>(}A&J@v;5gL28w_PLSKUen{pGY0aepE~k{C)5;>L)j_2{pC_RNY!^33 znbCyHkv|4&ecE89J*03r<-~u_cD?9ATi_Rqr!FC*bA(PHfDIcwy`q-0bED zcUg&T$MuqGgLDJ?9a+ZEE)*4aVjt-{GhUB1Os>=);eM$^%RQ0Y?&FnOezBV14mxYm zLlwQmqEWFW)&$W^o6TrYn7}I8?*lrHV+F>{p>3X^=aRO-_X76+@U~WnCCey*4I6(ccAFSJu&v zBJ0T?iAi%B0OJY?*bp)XH(M=XOdn#%Xe5;vCv_nv!~Z*qk47SHt1q_DefTP~UTt|& zrQtSt48ZG$lkC?tXULkLL;zu1m@|p zenlhI>*HLn1AMRVE2GyZm^v?f75P#4cF$Lw;^%>e$gfty~I2^)>MWjYpp_R4uATRI?ncd-(JYOYT^^5s} zuTAPBnYXw(yU6K;WghYD_9^I_DS@TD2dOng(5Q(p4uX`3kgacOnd|uU>{44)+AF=2 zywzx&7=JJ12>y#a!J+)|$uDF{`YG{l68IUU3ca3v(1vv!T&X|bX+_7sEv+h~>N z8s1P#J??eS(WYrI8oa|8$T#E9QnO45NL7d04zrjl*?NoTYCp66V2VN+HgzDOahPYA zrI;%Xojd(9S)|I+peG&d&u2)v$gOj>TrD?~XFFthInz$M)hrXIPfzW9N)QQ>c#z%_ z`VC7%5h*P)V>Q8@wYQg^A`Lu!ja{(Ng|)S-`ub-@y^2LYzO(Xm`wIRvqIJW^t$bj} zo;=OA;g|aKgk$uDbX<;et$J{d#8c7aZAEvHFPeO&=w|zUsYp^g_fZG-(qzA@Z<2wA zj?RVdxlOFsLZ(^g;PIQ}5^lbUG&LAD;2g^7ecY7PW<=Q*JR;6j z(7QDX zqf&6IPt9u2cT!Y;f>cczMw%%BCf^B~6XgzaKMOO@_*_TPwhE6)b^e1x!Q`cY;i}lr zS)K$tGpnRvF&m!V5rPo(6FQfEXHjV5^qK7Z%Oq>^A>w}}20*e-QkyzbQtVJv68q;w zYATr#=>{^i(+bAnu^oVDd`Ivnl>(759vJB9&fa9d&&9!l7CMhQspSO{jkgjP6x%%hitNqFqYeYktf)^r zM0~qbm$=Ic{CcQ)6j<^;Wd#>(J{4^8#z^7_7h}S1Lc4WrAQsQT9gcK|GW zmdqpr9FFU9_txh&v8uWYOd^xEjfAZ1e?QP?e>yffwM$N_mmm3~*J&`wB95AjD-)3n z`@91tLY^jUyaw1P(9{1$HOdhYw`Q-9C->5R*KBJxQK8$F96m<7xg(&rSzdVpO6I-w zlP#`^OD3{AdC6&Tc?n)ctMb|Ka7q=P2WsVJH~0y3*b?~}8`h3hpEQUwdEJ+mBLp5K z55eW}S6iZGULLRKekyxL%CFG7T+#SZMea@tvIWo9c@*!v5nr{uR1ZsDrFJ3Kxx0M( zFVW(ab2>-2e}syAk7)7h(MaW%;8@b#>VZgd#uKXOj=s$Y!NI;W-AinnuP)Mb>hG?G z=8&4;F4>WR8@nomZl^a8=N+YPM`nstr5kxz(7T&k*bH*rc(epkUzg&S!pY&enXbzY z#7QQUk9}cEhtUOoi>~h)P0q@V7JnFxGm|cB<$`^Y5wA(bqKh^*ao5rT>;JOY2GjB} zHPbpbXdQ!zIY7%xkB%lM|j@da$sBl6Hq0N`B*2u3=@l{2IfH zyvj|mC4lmEo9!8lI9o-1w?SoW+h(zFrkL9@wA|?0t)b$nJKP$1f{??LjV?!R)Xn=f(1n6Qol7L1>~0r5a}UH$8V% zKBQD{eog&lRPv|+<&js8bCbOv3NFGi1fGj4FfgU=6P9vPb&)HGmtC8ZqF^-wP|%0Clvhro4Ip&wkIRw#d32s`ka^38x($k94$!W z^Vy1NP`NsW1Yad8R}H6jitD8Rg7gViL7aG?KWAI$rEY6P8_Z5aMQZ&$EsIPzhe>QD z@Uk1hM)^is1iLFEW~{&k*!^ZdZ4s=O*|6{usqLbIvYNK1Wo~GAFr)!?i*8`(%&K7B z*1oWBjxT+q(Dw;zHY`@ghgteF!N2tFYkY!WqxRlw5m{CKkiIWRYUf!w4Vas5-wjnJ z8$iccQbX&8>DyOXY)Kv?B9Xe=cSEVSV}2Ea?rBLL)1sb!HJ$&4?}r5{l0$u_sCOE& zz6)sfm+0e|q#hSol8X}%mAq}x@IZ|?P$=Ib<~aQ5!Nds0xN5iM>gxk3er zs0c@e2N@cTa7_a!9$iRk=nNKRjYjQufo7#Ixu-eO<5Hw_y}xX&m@^L&_56im zI{TOj#PDgZLtQJ2E2%W7uhBx{!o2Jo%Xt@qPnNZER)4`QZVl7Tz3{Q!-9Ho!kJmqh z@?8FAw!~eBSWqRME<`wiy}6Z8va|!&n1w-=z66vkY3|dfHpHAn&A^;!F}^_21hCx_ z#}|^Ll=R?8Qd8^F75emHKE0dL+mWuj2E3WVw1I2yA4Hd8`70KEvZNhw7(*IPtJ7*qFxSKo+KO80@PPxe4$#XcHlF%C%%1> zB?nx9m^cAQNL)QjE@+ki=plbhQ5*Npl}1sOiTft$UcMUz#RiqM7o&JL8GIwi)vWwh^Cpzc=(8af^e!K(;&2;$#=m&ITeRxSI2!`=xLB z)m6;c|468sXtV+hrZ3%Y*4)fx0n1LPRcHmTc`uzmyoig^Y7;8|8PV5w8<%&uO2`Yp zpOP~;a{F?wOz{~EF;+hy^{Djq<>e2<(^I+^-&KH+WWOH^X`1d{;@MP0=(~38V2jpD z68MHrT)5Bw(Fx4q*0~qvWSW1GZ+-&(<9d#E=#!z{8n-;Wpj=_vZvvRnXE&m`LWRIL#!OMKR_A1MB?Q8?Tz<^9HCjLfn z0NozW!G^Y>*6Xx%FzBRDKXcP@e(qjEf?N3> zLycb$U+#lknl*0ID3t4-33fw|AjJJ7?;qkdfL(k0s-7I+;RIRHIx-F;qg&tBKTvTfF%`vIBh{@H zz~C)+jceM6*|Ea&lLv#S`rzj9!AMSI%~=h1b*yx8N;l%r&c8;cjNaLq@+{8UMyLn+9L0`_f3< zQ8)#T*+g!ny{Wsxt^K^tl!Gx=qbpedz6*8VKn|<(=5*eDVJ946yPD0xzN_57aYBG; zUO#)JBD{!y=H{SbhZOBEUE*T7Ojagw?fop^pq4-G3`NE3Xd?Qnk>$;b29-X4DVMdN0K^493wxs| zp!&<)>YsAU_FaKm^}5pPMX_N#z}zZ$oAmhV>UAxvcjWH7f~4w2Ge~G2T%?4Lsy`oG zy)$>;Rn=dtt6n_gx-msfgIp38T&xQ21&0f!Ds+oNdIl!ARv|fc2<9qum_joMxdl1C z*@XP+E*l?RJ`EBR?^4br&j>5L1~MNLk} ztWL*_Ovh|X#}uby+TY+Cpb>WmQC)lq6?VMp%bf3U0aSn0PdTUOm0A=~DiP!M(?~?$})R6w1iKf{U#HjIpc$6B<|ndBod$ zNSN|&cFAGjQ0HZ7yiPhp8T%q%rfSQ6p`@H|`s1q_o5Pc-QW>%5k7b1tsolji%#zBa z`1HMEcc54Kog=k9z~3w10g2;W(#%t5D&P2y-Hp|}vSz*}?E!#P=e zF^-PoeepzxdAfKyjZ{&{={^YlK7+ST;fWX%*1Z#~s2-*+CflM9+11pRaF-ER0F5f`s$l~u>D~eeLzFK*0W-|c zF|_T37rdV~`IebX~%)On>Dd0cM8me|7%1 z3?`Gs)$U}*FhLF^hjt3TA)l&H=-2fG!tSEif37zsggvn1PVl*^UJq`i6-aY$9Av!@ z+6y(sZgZ~nzN-~8p8AZT@F}TOvo{?x7ENPz;>7g0hP+0UJTfd5zjb`tU=}5JL#&o~ zGmJvi4<_vXvE5o4sd?Bpzmot! zm051E*$FGfDIqO#<3mWIgFgJx`O8k&#N!mx*EB@6Al{QuJ1m0iSoHhsXDjgvOJowK z`DKD+qE{q}JjoFJ6LC848LVboJG?wOa&>uis%5nM+Gz2vNKF}O!DmA$U#OvZmYYeM zZa@>&@mk{ssP^D9;^h4fN&tH>W;i>Ne;=V4YPmN-hpapf#i0T)}oav`{2f zBc6!PN0}6%Nfz?!A%ARM9(Iax_#Rjdo;;Qi7T{v|cTo``1+rn3x}_>5im5*v2fdR%>lkr00+3EZ?S-qDa5!ZS^n-nFHlG zu`S0!B2v>;^7`s;T3Q7sB-$x zB2z-cY1^wPIG?t#h^S~sLnzZ70x{C!n-)&u9^yel9#b-!@Wf+hdz zMEpY+y;)}H9|wET1Zqlc4fdplP#n9qo->2Y!8f$k4nwd||BjDqX6@g~(!?JuPwd^J z*%aR#tfM6DOX~V5l$8$mp_Q79#-f^J__G^JP-0;(pzfkDx$d(&E4N zUBO+!)EC_cf91}eB$|Sk82oR@lSh@w%BNLa6-B`sTBjMjAQ(-FX}TYPAr;LpSb|KN{}SfutZ3aS?xU%1S7C{JQ$H=$;iU1n;x$#Avb?c79Z z>XVP#G=0SXJV2UMm@yv;H(h3UnD z2wAY4S$L9nxG7fSi7zzMzDh9k^t1qNJ$ZVH)X3qYm;$eH!^ZxwNu+jz;RiM{`kq&F z8CSDvLDirsmsKl1^EpPaH~o8_<6-3J9qGquNmY3H%pLG;m?;|KQU3*|ltf@!-40BTY?$1kc)vFdvYnn?sOy$ZFhbEMvLE!)S4z20yqr7<1j{6zHW?> z>z>pwVgr61aW98)_bATZUx3O(;L(!NNS540HjbThmwWuq0-_LlQ&Z>8BfMmp*I**U z-UMi92y}AkM7euU_IvtT9o!|KvFK9i}+8%F#R0)3NdD5{up$rifM}{pbJq7*) zdXUMIC&?6zl)VP{Pj9vk*9`~3;Pf)A-dSIzhVDf}jajjDnPyYJPN(!_+ASpCKZ)RH zkWhTVkIhXz9Pf?@sJ6R1J9Ol`KBi;MUC)O{>pR(#fV@qW_lmEr^Hra4(|@&(&DCRR zoo@PtTRC2rGBfLae7?mOyOxT70`IE99*hhkkc#48A~#(o24-^LCa|D5ceUz;IrH`p z*0@N``2Yly`QtjgXy?gasUN*D=k|dGp~EPZwGGm~1nD5FyRZE(&A}Om{`Fg^{T(-p zVv$C?vA~L&aR;EB4u7VI{dxiI=nv+Hm0-m^*ho1m_!|kqqe^AD9%d8Zk!BvbCEpox z6C_e}Aq{euQ!(MMz%f6sE9xAzMS_5v&UjR6WrTUOQ3DHsv9- z;9oQa!UU7q>K3D(OCt%Yr?Kv3RR@nfh`)>>axjm1=Jr)4R1K+kt}1ph+@H$cA*>mH z8c#PoUP#psXYT3K3WJAqH4bmE=jlo*a?Z$VXgV$Q3Z0#m@z;ZQ1*!Fb*K2}V!VMm% z51u8;zoEd3Zjd(*zCA^bM<50(iZ|fu212ln{6#znErh{yYMzGw?w9g$vsKCLT`reVWt?*66g2d*HP&__aeG@=;F_Qw2NF=X z=J+y0Nuy=u(o7>3c`H_5md#tRj$!hKY|9B%f^EAWLNGt40i5uRwgWlU!N2`jmcyL~ zhx*Pq-kSylcw1i?GRx|!E=*k^`Wmg+T}%?ry9s|XL_})DDg!e(<+cHI^O7X!elOcE zaWiUm(qS2Xoo)5;Xb3K7-RcVwwJgkyooMFIHDdnT)u-kOLd*j9NKH5fOR8!;_n?I(q*|>H<^rs1tnnwZj2G{o~l$Zimw##t&Ci~1>O6qht zsKC@y*?O<31wQiLbY;9so7usGGS+aVFH$$yK<0qyXM^m~P-$9-c+dguj(&hiXe%CF z3=l3o@V@+dH<>5sk%h{*p0U`UNTYhV8e@IS0tw}aO-axZsd#n+EgTk7o8SxjBFj;| z2-bxJ2F-|SSAB4oOqJII#M_z4f(?h-X;Rl(r^&HybFhy!z!zWUKfc~ilXVl^VOHnsDUPd>_kQWY>NV$V-@09Y zp()y zg5^Te*IzO@?U>Fgoke)RSlyxmw>C_R)J79`|9rA5>SW#Cd)7?VM4OMI&B13^nnP(f z{H4r<*C;bXn$gQtrFa>GRWA;iVkn1{G_#(%ebh(LDg3tZQB8f6md|VZf+3KDSEDp< z1OfS`bT6etpX|4FG>=Z|@^bY>ujvqc` z4u~oSvtb64t-;wBPQ4?LnWAZKwci_WZ*16otRU--?>0z#Fy48NQ-K@B;7QN$M%iPs zF}V@>R^w9UNaB^%{A-Wol)3bU3~FCzGXcBqrc&k9TUGXoT)Ay=gUI}!(Hj)0CgZ1G z*O;rUc%)sv%~i*v^&dPU6ZFyv2~50YPPti&fzk?*fU-_`?Fh2%ym{kZ2of$p~iC ziCjpL)_iU#3y}ncvqf;h>~lmyMeCTkHoPj_ua(X#Xq?~Vtlsf zuJX$*V*Ar*g0&gG%wpzV#_S_oDU@|ed5h-_fo+=^7dVXn_cb3k zA;FoieO?c+)QQRI$@558k!@NmJ4&C=dHtRNnIE=Wi2(oS^szSsf3;G?82QM)j{Xm*?Ab%Teni6@V*Pwg2k zQMjr(U%7f!ta;ysrSVov+{VX$t{?3dF-7b0X5Qu9av1~uQ=7-HMVm5O!8?4omjKm0 z0x4sB!&%YBuj{xgAC;OQkE*dhy{cYC&s%Okck5;4rtAUH?Yz_bU91TdTcb-6uL;4Q zoMNTRC^f$0g)pOfvTF7o(W@3)MEz^Fzl=lmUOH`CLEC>+3m4rXoqBd_cc-*?rbn)(i?NW7J{qvW-V zUjDBB1>x6}RhA$uZNdM%tw)@ev!tYJ6!KaYYkg9s&O{RN?2bQEoJt(cUq8GoS4 z%<)g8=2o>e+3%C?Jz0R8-G@(jb?qyNjyyLxXMv8J_{#1dmBv?89T<78DmVUN_wA+e zomB;TShdNp?u$#~E2~=aQQ5R~`$v7(lwmq@+mhf|l{>XyJ5JK5zIs>JdHW=XAb@N8 z6;G|j^VSj{anX_-MMj2y986Mq@sjD}UXsX* zlDGs>=p)iVd6L5al zYaL#iX7$0x-})`(ksj+SayM*=Oj@efXs$U**Vx=|OAR&gMZtvOY~(pccCu}F9J)$kll=!6QOTRKc>BSv`ZfaP?z9pOM^Ng9Xmt;`7S|y3tw08k{+JoET_zzgt%=lL zU@4jV2ThrjNgHixnX7&#2(Xx@9MTj2a7}S&9?x5N7@mj< z#)o-x(vaK7hB4o!178t<=k%u4{4~hU)ZG2#5O%RZk_B&mt4+CI7gLrx)}750WY(<* z(?#8r4%|ZEgv6M)c*ti}3>_YG{q4s3!uz4H5==~ko}CU%P6x)M10&OcAwJL~C?>!d zzF}=`?u)xo=D0!b31M6JNoQ(H0E{k2PkNgiQ?GUJGZE~6+HOm?s3r}21p!9ssUk+{?pzzCz3~wjyq#|H z#5ClI1nB3ohPLmUUG%bahVH3Ukv={vJTfahh%kKX@~J+nQl5Bm3_3a1iTfoju-Ke?2|D4m4lX&4+v$`{4{b^{&;ltb9PTqB-ph{vzOg zxzC-Ih183ECVYcZ@tYptb^v@RkqKRu3C+xeE+oX9eAjx=fw7hO)aM*=HZPB!nl7a* zlVd>&>rawL5>Ii%)lQv@JP-5R7Q7$W7#i!i$BWL z`ZgiTUuGF*XO&+%v7!9O0b)1VYCvak0@4V-tX5`0)np32JQKP&6FNH`qP-K-;b3$o zG@KBV_)V+hJGMvaXlIN1p~>lHADDseNQl+1%T`Bs>*bK9I%yZhhDbZ9V=1n?V^Oo4 zNEXc56LOR1d&T|ewxt6{6i-xeIKyz#e7Ng~CK{32J+s!zf-}=KK1C=j=Yp(q)_vb0 zC-qz!{fRU=@2+NFdYs$Wpc1q?!v&mSnQxw{MpFLV(O`nxXg!4OHb|0JYm=?m=>by;RVLO@ZFA;Y^W63otk zcPA9gvpjaWw_I}m82rlqqG~?~&Y~Jxxk(XOOp?pa*K9M%ikBTr*n#`^Jqyf~=m^5% zaIW>AU4rF?k~u}Q+|N4-pwS#O+Iy=0cnS_~r;^}i{)9cRC0OZuZq2D`NIG9Z-q2F( z@DXt;pEPe2r8KRKMuRVtS%E%Q%1*W^drK%;GPk*2E*XNBHUqA)mDKwk8)XVj zHzfEYIkLVpWd_<^{a~I<LiF%iBaE%JH}>e4vZjiBI$~PK($r zWb__Aso&^#^y5ELSMf+LNl}z&x4u^sn463w?4!ecj^PbC`nxlJljCXS=t&MwWp7a4 z2GzCT1EpjH+QA&wdT|s!F zm+6#!JK4Z@7C-Vouyj!$MFMH+qlifSO$O;%%=0(L^(oypJc_Z`qw4=7{K@X{Y`;NV zYCjEA=S;qX3#geL`Sy=`)(%RX@NZe@4gtB>(Y zslzMwxi5jg!g#2SGPxnMeh_`Hsp}m%AAH z$2jmot=w*1b-VZ>)!&ScGDYB@vYWx@$!Y8zF3MR*f*Gu(w>w326Qlx#>45E>?vrmr z$=I->!AM~^G#Tzqny@l{64 zU^r|lh5p}d{a1S_Ts#izBDApNLx^vYoTMS`dY z;4MO!B&?|dPMjiyxwa{qbruZAhnZD3Wtqx~4zv$$)Kk(|p!NWc8=W-Gs7UnGE8YlzEmiRU89<+FfK3{pRlvGqS8g zN(Z&iQ*&?|e^hqFm;F1yk^={qJofnGJ>pf-$f&y1is~ISbMxf@%aA(U(7OPrSIb!z zNd7r=+7h9HmP4D+zy0-@VGRXu&GM;_`qW>;TJPr5HCrZEp~2V0aScq-W*$NtE=oI6 zvx5~?Dt^!@)GsYA|5R6e`-$c8_mM?+{JVKaiyg*{$GRMLs)(njW2zjD_+=T*AJaK9 zt`@W+HZLYs$7`E(rG6Tnm|lU3cD}oNGuvTeMqymfa8xwynIn586Z!_n)$)vx9=rRQ z)$#B8=vCj`&vMKXgVdNyV(w5!-OX%@Z(w)5e7)@8tMWuA^@%2j)<;X~>zn4xJWhO> zmp3sNbtzjGJKXEwc%DD`F1=ADY!-9)U-m#bkKZnJ`;!6ba7rk5PZ|f+yEV>U#2s!S z>s3qDHWUArrhPbGnZIX_>CvJ%8vht7^VQ@0mG7ZD|eVt ziRLbo_T!B?3{UDGrQ8dvcO4Qtrg~TF*b&vcnpN%Z*0ZQIR<|%j;=I=a$#`C=F;2EU zt_8b1GkR1jTnDYI%WHn+DYPvoCsERdP;LFJL(=|_3|A-y^!sTp(z;>x}N^!t$`pDHKivh`*b;U5yvg6jD>xU%{{s%GUY+#!rr)o1c zlP+nwfb&?d^6tyZbC+}Do3}bRgm&Z4GHJC!jaOYy3Dfy1t6e|)h150BcrR?S)p>nx zPZcY!ZhtrTZQtEHlwIN`Rn_uly~bR1%Gr_WZ1Kb52Oml~k-hS|@e@c(*L`rkTG+C* zdS|=HwQp*AFBn$XGN&@~;OmjhrRfz3HO{%0Foz(aK zR&&2k@`T~z+&3-!+geL_Ig&z_5v|R({+B@6Rust{aPW_OXgGJCix8lNj|uzl__ zx#Ku{#E7?@9{#3>y}slhF_PP?*S!ZVbD6~hLS^|#ydPvxFVG`6$$nqe_n_APE-5u| zwU?^Pv9Al}FkCz_lsASFc^Kz!UJ)kN9-E`S_I?gsn6OaFyj88VCD@a)G99PTo6!t$ z11K>_@M5C7#OJN*SqRE_;ZndqAd;3gD{|jG@H1`R3sct1^-^Q9|t{1Sx)YWX$%nBZv1p@%t`0 zk*mXDZ11Z~{u=hF*d3uNC)gk#ye&7=r%qv?jw2=P(*!cPrULKo2fq$*@HyBQruKie zgw)nbWfQ%wsJ))T!f3mCQ!Z_4MiWoTJF|m5kfnFvJNQ8aHJk2Fqh@d7I6FS^3O2a> zTDJYu;Ce9PK1yhY7o6lP{Wl64a)gNp=VDcQjzAu!n4qIa-=v~K>MS_f0j(&jl> zP6XHRt9v~3Asg`YeD~A_w#@kE6q;FU-Gh9fP7$0gs5-dcB1c0X<0RLROo2fu$?W^; zfVed3HlOvgIpWWd!cC%jJ~@ML6)~EK;0_?%+3bf|H^E@JBKs=&B^A_gUp-d|9Z7%^ zw#V9nVx5iEOZ)4f^UfQB9na&(W-EV!H|HvM`aT*w%V(CFZg4B#?sWiJBlp3&g4roI zBJP-I=N$L63K#}NWnvVkErcI*e@_*dEP3RZt^#&@0*Ggm;4w8KSu&3WujuW^D;jOQ zp=8{ETl9`@JyAe(pq8@az~+KlDX84KNX?;Y#!yw)S;Z#+jB-M)D39~5Z42X7U|)cy zSy<~`R(u`4Vt8GenuB)yK_9e%ks$|D{SJ6v`YvnTDZBReGzN1mQqy00B>4J%&nFIS zNW^BkpAxUyA??ga%{diKyz1OV8(`OP88r@bq~=xSkXNvr$aRZ- z?tx+M_jXz%Eca!~ov!6X!9ngE6c&YQZlvZ@AVi*CS3;o7To=Cku5WN6T@YZ0H57ze zU$S7(pS331_U8xoZ8U)-lABYg$rg>H?>kI6B;u@j7s5wea9uQ|30Mp32D)w174Sy6 zEg-Q*SE{Rwe0df)1p{zRMZ9aI=4P@<*|5;uR%mp=@c8cStyD2TOfbq+F_qptpqV;u zpQ$0obqSj{^Pi!cH7#~n--S_0x8rNKJXtvvrJoh$+gBR5vG}#Be3ZzC%%9V=evi_~ zZHvpgfB4ECT5{C3;#&46=$8VtgvzIWSRP+f-hFj>@jH;I<2||04zsy=YFTIfs-V#X=MP|{9|0t*ExsXC-ul-)BDL3(SSpKMT!fV@|J0XK zK-LrrHYK0Gdw7m(!B;7)Kgy+N^RV73sc40yZ}YIuOpn8JV@JB!v#c@*U5Mbqs=mSZ zvzX{eTa+s(XDg1Hzvk5y-B*`(uM6bqt}=0@Uv}gBq!yZYpY!aUgOYFi9Bw_ih0=pF zl{Zw^KTCvD7C)^s-|nYptl~(`v%e@cR#aG-=#o9GmGLgIGyRaW^X*@e7*qjQjX~ec zphFZ7f`yC;sIG4AJ_-x^(e?@+>yG+|x`QXIU=~+7E0+nEpHZF6sd_VWb5;$7Awws1 zbHk%TL3?FS7F7R9bGKj)Kb497)Ib=|;k?^V7fAE-Vh@Zn3@g!!zhrhesi-nibGZ;9 zPdepb3Bu+`3gSxHiyt8msv=6aSPUWmrZ`fI3I$j`1uVa9YB}5ifJ<}Rf+P5JFa6V_ zuXYj040@_;o~hxvF>%3zi}+6O>!~+gU#iZ0zLH*VY=>^+!K^o4G@Wp`c3<%B5sq8$@0V=cFPR@1iQt({*QffPE|Yg1fG<8XUF#Q z*TyVnbI_S$MUD?*@{5h9LA8@9)b~Hs7KJI}+E}g!-t#$EWIbV|5`H12!SW|a>NA=5 z!^>0f_L|Vs5A3d8qSYlUTA!Aa6KkKafO~Hw?2qClY=x2M7N3eWki9)G7cFkzJnriv zi)}0uC2=x_w`krU9FBc9?@pQ zqlxmCDIOOrxt5G>Rr#JAYStYYW^@eQ&Ijj>(wV&3t#U?@#P)_hD>UZ&sq`i&)t?j9 zFXTW!PUfed+v0V!FUIt0B2(Ctny{L_b-%o00z15^&FvVpxS0D$vSi@{_y9d>V{0^) zPfT?FechCt+BH=tQv>+GDg@Jz{ZhxfC37I{#res5fH&K!+>7k5^{L((i$^m_S1PF! zJ(^44MGguMel}8f$4F$WO}TD*W#aJAJGC-#VxQ9bFEm}NE1|NFrW@Id_z-<3J9oT( zN=~qx1?wM2gu)Tm@?Yg$#!WwK6V1w7mEF4O5g>?FX{Os@Q}5h-uwL7v524@28vf-tOSPaSVl; z=)r4L$)!RKW#<@i7YC;fzJKtogQe=}(1U}wrL6*M{#4_s4EiY>TCT>`f=(QVv?6^X z9v7({r7>8PrOWSkD>hqWI_S|`lwlB~J;*&IOII)Wgzs#T>&v>Qd{@qzs>^#ekBy9f zf!HfiE~h%XyJ1?j)#Ti@fMNV zHWoeIpkT-T!j-Sw-(GZi`5T|v?*RVZzJDiPtLG2bb1Q6+0|z(oDbl>-YWkt63L0W# zMaZ;#?i#!Y)@9|5&2f`+M{0LjN3RQ@GAOcPIWj zOdE7W7}H?LWYIl|p2B5#I&fNy+sYaJzY-bVakWmlacikIh@ z&X<;r&E_z3q2Y{VovgYV24Kmwrc5q1DpLELt|r{ylLdc=QIdWWy6?ieyrBSTi*#?@ zz<`l=c#T*bdGnrQ>99H1uHr7Gs|wgHtboggKMw48vCT88ZnL}QQ7u1iMO+q|shVWT zgG(Vn@7usuo;c<=kVb6KCl zcpJ^+WXV5Nz|+2fH^hR}YZi5Rx1Q~J?m(<279RS#S>jW(n&kcYurL03M$U_pJ9;}s z@tD`np+&U|XCLSerhz!6j=@(bnXU3q^5u);;f53DA)d6DVBRarJL3viWPhV`tAp%yBN97P_D1JaX=S#eu*49I`&MIyg<+` zEoJ7#mn2I5s;_;H?UdsV;14&Fc-~z^Rq1m23)XrL#eX`nCbl1@y=-Rpl94Vcd3B29 zILVlMBum~AFpU=8_o3?1?jrxuSM4~{hbt8x=fmeIJi>>Q3LmF1Rm?ga0y;R!_u@sR z6nUtP3U?%&DET3WX4em<6A-nv8-Y!ftW(^8;!ZiihkTEVR?my(RPp>o-iJ?X!pvl; zusq;vjL5g{(QR1=ttB3Bh4V6sc*7V!B!rO0HJ8ox<^Vf&)F0?o(Vn7dBvj2S?Lw_2E6g zCA^Vv`bZY(MT7d_WscjFQdbBvqoW_(un6cetI&lFukYTzgGVH=d$A#l} zyJX3Y>dJ@Q5t$o$-svZceN?fFbaVXn0vdqBYRJs$D_Z7Q>H?)csMP!?84T#l=g)_J zs&|Xpw$7QrHwV>a>>MbS!G;+43!M49qkpC9yGrZZFAknJB(YBi4_-;OO~G^gxM$f9 zXwQ9%I0Wuqr=_^eUG<>$&rPwB^1D3T_G7!WOR=rrK6Yb2vg_fX*8J7ERcB}`P{C(W zqAnRmV2E<`N)rbXt@H0VZm@#$g(Z%3OLFsw8Q|u#*QOpb5ua|au8$hv*^f0RiP2|= z2U+u7-X1Re-VcD+Kx`-*_$pzvdB z>96*Eyb&zbVJIsyvn&(;(^ms0@uVy8#mW1#2%{0=E^({gL#nE6`dS0R2~yfTFgCRj zQ9R90Dp_wrY3c0ZQE^SWB84GNgba$FW^I})WHcPgp@Jm3{iqnMsF$l*Qf^ON`LTT$erVE9cqtWV%?ejH4E+7Z7MjeV-S?t z5TtECgI;{Pa=%3#tJ9~oz>_7vDr^0Z7Cywcqv>SMfu}s^&p#TXzMDkU^*-t^%JHVp zF+t%)K3qf?oGue+kw6o9eZe|)Y$0XA0nEMdPTtbp4~^npWCwQ7aZY=`0+Wafr-~GB zCzRH&t1fx#`6=*#LzlR=#lNX4M^U9)BbJ#i2e7v9)N0@WymLkvw=Bj6Q|HFFLbit< z!}P7T3smLx25e})yRjeeT1iV|Lj)H&I#gyF+O6tvcBnr=5^G@}dI}o^Z1f1_==)AM zRHCb2<(HlMKvi20#6~yyNaM5hyR{3?!%#Y`9$TkhYt3o#eXami{Y4Jc)$E~#vD?Y) znm(yA>s-(2nvL>RdqpASVW+>*(Yl9ecOuUfYbWaOCd~Y~9>_(9QJ1yeQ1W#EZNNud!_aa zp#XT6ly@fOEjTzm&)k6dOtNvDFTs6U3(1nFHSgQ``Yuzrg%1x=_@^yU4W7SJI;He9 zL@=f_X|lJ!`k8;V1MXemDC;v#!#W>+T;Uge_#%b>?!!G4e$a=%Ra5Wu;ROmOeE3R* z=lSqS3eWK2E()LH!&_AEsXqLQ!YBCf^$HL5;ZX`7LzwqbBQ+P=NFH{{+|!`87kKea zU1Bm6&5WPxOO0s-@mI0BmbV&4t(J1c0CHGX$(DKkeE6ehkQIbm?lN}kC&+3mwY0cy zSfpYHSCL_nQT1i<{j+>*|C zkIHTfD3&9`*7DHLq+xt<1^qeh8WksH zbT}N%OAY(MHrahOd~OUs;e-Wi6s~LDihpO9)(vmgs@3zYSPn{Bm<9F>VI41nGw)JI zcE z6iCy8OW~Foy5Qa&way6HmstRya(%} zfaiE|MPed*%!evqmQfB8PF28IfrPMR;)82}hMUZAj^QX4^rRx`V+sU$9g)GCUTeDW zB0O|*RR@uUnA@Ti%!i5_oOx_EQi&U^+(qTZD`oI8__FB#K>XG zRt#c>)(zV)SHrGO2JaCA+TZ*yXs=%OAJBdgk&V#KCL%&MjryALAz6EIFqPg}r`=nB zmPW>~q6wH+%;ifPtm43ojipa0vdjxC&>%UeRy&ok#X*SpXA{+8tnJV}QGV1MpO10QVb! zn*b0h_l2C*ubvu}9s4sPV?<-ewV|K_b>ZE*EHrd7Qd0o-gG1;M`TpBx)$9KBWI36& z$Nv6Y@f7^Ywva#B*j!zH&J$Ue-^*yS814hZcbQ$~AMGXKF^$|R;XC{UHoXQi8(lth zls3E5=I$>FbUYHi^gTfFA6&?>;E(R)D0tXz z!DOvhBl?DQ-|1%OvCyTOQhS(GVlrAw5V+e>WoD;IEhpEo`1e^E-B5A?@jejdsxLVU z--L5p2DvksG|9t~9~&y3`!eJ&{Ou3s6Z2u|Myu^@vOUN_GhFE5yKw%>7weTCe5SyY zdF!s!HIG}*Ieb^*H>Wm{yvw+#M8ZKZhosovRp<^}P$%bU*4uU>@wyOPz^8y^w* zWjXp=+0tF`RI8leQ1X|-?m(@icjVd|K*O;3PvuP~=d&@jEJLNUJb~qD;>h{O9uynE zJ`p=a)c@0?a~V%Ik?pSeDUqDub1H>t!bN%}t*B~=&^4JiFx|!_q(-Y3=MJ9#Rc={A zzBt<##fFwv@8~_VcUgQ%rPa2O+DJ+?RV9nqf@a@`cY8#m70Hvq<5=9KGrc9iu1roP z;&&}mtE`A)hT-n5>4h}d7ZIIWmV*m?EPAA@U#<~oMFY&?Lvk7s7vlJ#bqeS2*!(0b zDXOw%3b#|cf}hxOOmQoDrd1G>LWyK|EBF~or?mQ~-ZL*7h90O@x`cK!uv8j+PHJ`o zgBvYBUK*1lsJD`O2Nnf`McyR)UAfw(!`q*0c#m^`y2ob2U6;xXq4&(9_%AA+F(_pW zqEoBTf3w2WD+*GZ6ODSXrtyUC-e^KU8tPhAot`b~4th|VCiCky0kbrwSh?SRXzlyc zM$eI~XSZQ;?+^m~%x|c{l~X*4Ye?khJ$_u|7F*g?o8@oQ7uANYM&r$RGy`$s-zhJe zK=}7C&`g$j9wuKf-0N=k)x}jEKH92(WpX~t-Lf>krLyVR{OaZ41=nqCgX4C!&k4>D z980-pniCs9*eM#S+2}@4hsfIs*EFo zJ7LzNYqaT3Mmemdp$fZde=DyLF9E&NdyH`=fe!CB$5j$84 zEGZKjCSP762kyrLAe!r?Goy2@+5p2nI(Rl0BhgPbJ&y?)GVLn4uyyVNp0yIS+seiu(-MqRa3{lsB4tNc}V3VwF5^YPP-b%}u&$5tI1w48ZHL6DDmCyY6o z82sbYlC3wQnz>epO_U5eL>$k8feesw7`Tll`*q}tLNsD^7b2Vd=|Vi_n)q}^M)6PEU{$sqo+{BAb0KWY0D(ym@KpY z!Yqj|hKOdp%rooo5Bo3X1iNtkBUoA``#tZgtW5L_?z4n~4L;$VbV84yRp_xbOe=LEUFi=AnLrbS43V?>zG!-PW4CN$yQQDrx13@dCYA|H`mQjgO&-~ZzZ2hLiXF**w>+%d)#txy z$k5#yvJ=+t|5HO+W;JA0Lqp1V_+k}p8QiD^&?q>|Z2QAQG)_t&W6#fVM~(zF)k_N- z(6iZ1{r}Y}`F5XV7}`I5o?JR18$B|M1HWd|F}`n`eQ28#m!DI#c1NKgZ#oobH2XlUt) z45?e7N;&%QQTI(ggZFs$HvmN4nT~4Y5#08q&P@+6Y0=UT;o|oI#kPTZ4f59RqI20e zn*eAuA+$wW)y(wsTab_*!(g@gz^w|*ZFZN9Wvr9^Hsy6?#&34dp4dWoG|9|n4P&z4 z)lald+B3NOj`VVmzmTHLGZsmPvCJJHT>*H=H5*892i4l%8#^0%O;GLrKi1v^I;vuM z{7)c(u*4gdK$OLxK_kc}MAiU-1ZHG{D2r?&iXtlR6ZR#Ti7*Z$`rLPY>T}oU`jn># z1PCB5peTwPg3{M{iXgIz`F*PT&ScQ{edqko`Ew4Fdv8})S9e!eS65e8Q-pi22nJr> zz(vE|2L+;8i_07We5kytl#mz)*7Z@m9$mRD-mD2BvWJjeuWu?2_d}DGE1V*%7KW<0 z$$aZoX_McPB6VM7dG5ut{(+aYoP*vZTm$<;YutA+y%UvC#W1!E>m0!5G!sP4@ur^760*xAxZYr z&v`_|9z**$u_HItqkQDUKRsxV6my5q5n5D-E^DfG6Z~Dx(n;(jEt8dHB>k7x)JgOT zU+)au4sp!Ctt;BFVkHnU=si zCA5(eI*3ni(SdSXL~8+hy|YJlH71>CVI4uVcM-?nHWjHN&E#G-TnufF=RX}k6DNib z$6s@TEEM854B*7!gw{j9gsFEbSMU^I6~V}*2Q;G42`oNGaIHo7$G5~?MsE8mE;+{QzU&wYQZk%ewO+$lPG6+QM-h$0w0C6G~rZcl*C~8(>@S2gh|u zI0^*ELW|=~5xO*TD^$J*YZU)41cnQQ6$kT5*mg%Z@Sek z3WP%$Z7{*!Vj&KbC-Dn3q|g5y&f?E{gwN#E3_+Z;&<&} z%dl8|d}wDnB<}EL*d2gRgRBhI8>rfh>Bbipb+k;YE1o%5ty54ih9XhqvxSfxw-bst(I$u%e)WSJvdXPz}G;pfK!sEdXE zc8fKy4z$n#pzY0p(Nc~NtkhPdg^SPFYeGL!SGCGz3(jPtzka|WJA*7?S2LN>fD6g& zkfDOaUMgB4*0{8;vETO^7lL29N z8LSh9bvaKUW=z=FT|_dJJ>Nnpd+7aS%7m;|Le{B*r z_J7`{yQtVrlv5=4K0C#GyK!MiA5$(RZWq$l4a13LD#cRPMn2%;mVtxE+dRgeGf$HW zLmA375Ar<1^DL8FY>Ucw)rmBdP$^wzcC1*PLEw4fM!JvF0VPqNL;&eh9B$++Zioqx z%><%_)OG8MIj~}IMn>#o$+lm!#W)}Qy%@fnH%=%&d`9rf={RjBitR={PT!%o_-s)L<)!&l^;!Y7LQS^ zt0=s2p8LLJ*E($haKX*v>7taXVUc-XpuJt2QFfUxd}rR9u&kO&1L4EI@M~(yVs~dU zyVp1^ELBrhApBsS7!L!$m-E*g5zG;rIS{cxzKG2nh8h(M+*b5fRsisutv_u5VFO&wTbTB%u)KeOO`jct)OPfAv!m)`2CUV z0X^U>i?HqKKB;~OmPy%TVtn9bCJql^6OD49v#gMwcc-g0SUohw9tGS2;DULxu#_36;Pv{We>4U?Y<^^)s`Mv*MN%Kp7+FACq z6nUaJ696Z}Rsy>5a~12}iFwmdxdI&3=;bV{q@7&}k?COrQ z?zR$@bs>`Vd)7*b>ie{FD*AO0n6GZ)Ly<$IYX1A}752*XQ^Ngwrr$V`(#aI*rj6iHR|oZsrfw zS+Q3YY!S>HftqH1|oWb#6d+5R~EmMAyJ)tK!MsVw^)#Zqm#jR<|89SAX&7$*};>MxTL$sa7R#{LkVc$7LtpcI>*oc|&bKI#sc&Xo* zwO;CD7+BeF%W=azBvPO9Qm1O_gdF$$q*PtZnUI30BIAS_D%{8%_t&H{EZoFoxOF6> zbLP0O`~|K@GTc0pG1=hh{uj8$$#6Xt4t%HbP;ph`R06E9yh?FDmIQ1%$oOvF@l$b+ zbSG)V&^h^m@M>FG+H)he4@3(s&Ha44y*A*k$ncNC$nJ9_4_q=YuU?{c!k1{vzQH#q z^rQsnkt#_buj0s6jXe@1w2u1?`-F*X=i6+d@iV;24dmg^IbKN4k?ZAnhV6g+4su*S z@$nM)>S${4R76>h`$=+&xmXAcHbtc7xQAxiQrz=FEycNh9*D1(6X-iKH`v>Gqc|^< ztuc0YCgca&vG7fnUbB_5<3-g-Q8!Z5 zjTE)sfAFKy=wynz6A<>VmHv_?r&)g_?1<(2EUGPCLZ*gUT3(EB=wp36+@RetiPtI;5sgKtCwp13y>^wayhxA9?2y= zpUbw*GqyfUJ`&^f?k#)AVu85V0?B@=QYk&W`x278>l$G-5Ue$@+28& zI(cZ$f?ag@=IFy1T6|1yuw7!DuB$Ur8%U&k^$@v5F2%h*8PTo_ZF6*m31qNyL0x3N z&+W}fiPNKWzwN`|eaq%OL&f;CxRg9K8RTvY@}{DHN(rk=y02ob&)uYR%GEx%iU+R{h1kJ+ zg1}LV!3n(w32ag1xb5Im3_V}Is`|^*+hox;z!c6PhKo0eHKywm`I~$Bvtb+QPgeww z-4p+?_EOAP)w<$5XTV$H1;Wz_{rSo4_wHO?S4^X-4;C|LC7#k?;s z;-~1{Ir97Vc==s%qx`-#i(lXx&gQ4VRDLop=Z9UzMkv8r(L)S!-G^7bhn@JbxyPwL zp*$ZSJPjz6H;|W#BXyGWAYXXrf6;>$NQkQE8z7^i1*03bOnEmAO3e1xIml=2++8v7 zrq1N5bfQ3DkKbb?xI9Nex|&bN*d^_MQJ=Ppoh4#PO4gv774m)28X?_ouCK(%r$&ok zYYisY5}x5Re@>!5th2+uOP@5J%YK>V#c% zrMpf_46oK;_5_m#82Qm&fUy*h<4KX=3W>}_m1#esWSK9!C@W7PAhLa>BwwxA=LxFpOMqt zOGcbns#wauu9YT=bJ;#W2Td5L5+>mhsc^KQDIwiWr?2E53a2u{H}`e{$H*aYY$(kX zxNywvp<{fvxrPDkp3V!4JC=RhgQYbeYtL2%2b=vew}&ORB-!aFU6N`EEaX)iA>lhL4dFJ`o~JECJlOtZIO$M}AD6vS zKxz^7wC!BH7M6eV9VT&3W_`@_eLR~_FUPXg8GT)MI~l^l7+JiVws3awx?k* z*a?)k2QwaozISRXI&`-gnbOS4DXs^gboUmWp9=aB3!Y`F8TGlcW9U=pFRH-d5LyK6 zWd$o-ZjmhjnY&NQeqt(R*Ojs>3h!CXambOuHs-@LRba6lRPsqr0sdY^8yCFI7DeH7 zzNIc`Pkbt%B88Xm%6KB~!dS@`ZnJ19L5(wq@;R1Gn3!wim4DUgUHK&cCREAjNuzZT zrpF+RKL?b)^iFq)Iklh}K}W?*@aZ*bmp)3Ox&I9|aU+Glu9D)`>V#{4s4FGzF%Li7 zm@7-9xz`lIE!?*uR76PrZX%o~p)IFt|DGP?c?dy3$OoNpQ+GLL*_ zTXsFgz@X;JN8)>}oDAo^5ATdJbIE180xN5yjBvj~>;8X(6Wd4}2d8q05Zc!RlZd?T z48Bb0wvu&hl|GwJXJhFI@AY$412LFVd3>r#+5 z{)*}};|q)NgwKJnyYEH+qMC9t+Lgw+(O?Vo{~*1T zz34l*xilKgtZ|13bdiN#id^%BN2}ax>$O0}_p;%eUKetFxSMNm&J1~>O1|(}TtJ3= zoKnDWlR8ed16QC|+=X|)DZ4^Ls-_FJX!gg?s)E&gwJ2D9%$L*I_uL^2-?RrYkbe>r zYKr4u+k0)?PDrG=bPZeZ;T6@liQz6#JWK zFx3-W(Z|KD?9}oBDZ#dt2Ns+(lA9`{1>f!Dr0EM?>Zf>ccLFCt-Mj!eMd9B@%kAIl zN1895Kx~swq&DI2jN`O~ZsK2Tn1Q8Km?Sf3KC z-Q!qiTdZdDlgFXFNeJ{dwBx&)uzv8$c)oVzV@5Xj9iQ(U^3lJ=EIjteFw+yqoRRVB z@ZK$22Q%gPT+Out_NXx$l!$n7nC{fN6tUoC{fMmWewzH_vwl7qLZb!apN7#Q{e8V* zA}90+Y!%Pfi+twe$E9{<=j%t4{i_$=bsb?sJ@idH$~HW4TszDGz3leqB!zyA#oPTt zDcj5ca+qSK+hR_Qe|(USLUZtVr0q3d^E{auG6XiuG}TYVdckj6+^%@6n~btG`Ei>r zM~vAaEed}k=4YBNGeh9w@oHg%ZJ9RUfj zw3$!hoq&f97cOyt^O=)c(G#<$x&M-sXyI3zM9!=;*Y9a9bLWyr`7CQ!T~a*1MFZA} zBhEjzcLMHf<5#%Z|8!?6pp0y@b&?YEjH3G5oMu5bx}&5BP8^`$;v+JVH?%1N!R!hW zLvHtq&TxtOT-sQSKO7WuO1^`Yo?0wCy2pI@SbQodJHs1j(``XxzGfnWmUn)(H2()g zU@f~MHkkZFHGj2v=?3MbAH1+4TA}Tmr9#e}Jx?O3RUUxB(MI395 z$F!p3lfK%JR$i&Cq*N*=_gW{|zFwDPwy)AVd-Se&s;u5N(i(1q@p0Xf6&woTx^cWm zJB@onXPk}ymR)UP)LelogeJ0`RCYZdpkab{Z{aU+6Zj)4Lz1dV zX^q`(d^b&}vGDGT4Ztt%X5lZax-yeEv*ITGwHODY>68DZ%1+OXD0u7v^)kEB3EXte zl~|3v!mBw!DlZErgEhh5`|E|RBsPN0{)BJeQP1Rm>^CyGb$YT#Jm_+^rezl2 z0y)h2Prjj~&)XogbuZJIvSXZZ*i>VtOjJ_K2>ASa+QQSR=4=c5`&0Q1tN!W$d_ z)=lvQKXDANpEx&P2P*X7k`T3*pW{I7=Agz`{E&+hnNf&{KDujcH5=*gzOJ>rd%bXa zOfCk?5E&tR==~_t%$%Tg4W2FjgR(BeHv>z!=R?S=7#3EjZCobia7=QWBAcshqdJ@7 z9F|x=(6GVBv=!FACC-=_Kzf-iO!@9?kg$xD60T#Tz%h27NRib zhmRUE1ghN)i&SZU6sqWrm5(aTFTd%PKftsVn%A-yK!LBUVBJHWH+bbJ3Gw<9sGnqI z=9O|kkBrGOi)x0gz7ESR=wVWqS+&4d^XQRnMnaOM`R^3qVGGp47V)T}fB8GIR*=e- zQX?3yfi3F`OSW*@fNFLBT=Aa z8#2Xh2NbP&!z0?7BWVKR?T=A-yjsaBp)~xRo4XLe1iN>a4Q}X^1-Z1-2%w~$>(U%@ z0BTTo98u0$5U+!~ytbLz18QAgiv0(#35`JkM}=3D}Ls}hM#>tYh=8~1yN6~&#MShM2-rB+%fKRCdnt`CLVK&BH# zYs5-o55H%)0otQf9lkY%cC@G6Gu$Fl)Zyw!N|C1hjdijP_0v79yL8cxR;K6SYn>K| z*WtbjNuDD))Phtnyh;Wy@6$Y*0!ynCdWJUf5|#^fZ-MA*c`IQk>%uAyGUY~xRQ`G?U=evOH<|7?Hb5SUpEny7R?3ubQYj%Kuz=7Uj6lM_0PH;8uSQfTe(Ec1#@ zqdNk5S!Lh3a@#<>Ck||ED5Z(`KCHXZwTJq$v0lhFx}~Yb@NZE|>5~U+Vk=EdZ)0-~k26p&GuOl34(z33xmONCq;%EW+>&N{ z@g$Cpv<+C9aYznj9;>sk73aeqc|nOj0NLG*`44cR9mS zwVD3rRPiHP4GXg8?JRHj4Sdq*+4BS|Dm4wPnnv z#v*5*5xpWYEuaNi)kd=JfSo*c?4}A_r^Yt#3om<|CHgP>Jm54QRp2%AKKzQF zC@?YpmfE8d;1^*kU$@#+DRH9*xSGFyc25ErziHe|dfP+wG%2D{K7l|n-%Uhcex9Il zcA|B&seWS4b?Ya;$qame`XrM1AT#iHfBjZF1F!ubiM2EEBMB&Ne-Q)-j*DR7;=KI$ zdLmy$0+%`f>(%6I)M{z?T**MPUAG8WzI%m5=@#qX1Mb;WMU_pqqx4V!r0XHsHYDhI zW!4DpZQ?4&y)Vxxf0>uOPU>UUj)TR9)y~YnjZnVyX6DMROyh3rcygBcG?C2Mc0zOE zEsy37(Cj^)%;UmA6^AZ&LSyNZ1-TW6raPf~rF#zD;DlDQSyyrB3Z`uw)ZOL)R~(wc z1}U3~6^Euem80eJ05De^n&pJX5Rh|0kBUQcoKSBdoTc|5Ix7y%bwYdLB{yH4+=n@ifX;!tM{H#{snx#Cbh_bG$9 z;?NmRsHgbettE%>$iG2caj2gYxlU7bn^nkr1%9uTh)PO5!$c#I3c-`2*p z%LSB2mwa-Uj_XdfU2+!65lGx^Y&4t8&ei^q;hCO#w}PGpsH}S$iV~F=o^j7zVLn}- zxUW+HYmOUj0i!fmAM*(cf?x0HlI0DHV<(YA7CXU49{qCRb9^1`{vgwpJ%%gm-JQc_ z{hK(K;=aK<0&^TC`JXKT?{+ev^`)dyzqaN9y-)TCw0FRZ7{xy!uKG=AL2 z3C+gLgmV{ahwRh+es>#6kh8EC^WD=MOT+tR7fQ~($x?l&_jdq)j}z&A19mNcnkML_ z>S_qc;k)=Ac28{lVrA2LfT#lMy`D>sdM@yy*K=|{yZS=-Up!mPR{*NPpgV8y;?=b|zIZ`$2uI#4 z;7t{vAW#c%g`$)=Dl-LOub2g+g&k`FW+{LyPR0npM*;vFLbj}T-{aMkQoj2ObO*wh z(xgc{lWL%H+tTvh_O15B_kdb~I7)heCAfq<f4bssPS zJCDEq3M?hgvIk`JSJWlw*w^l5Uh;*4in!)aDrHy5dX0Gk%2@vY@h+%rtWN%WF7|(jbS7xiz zfI_j@bDL6IU#abFMhLaQtXMrhut^s@Z};vsF5;2#+6xRWr?LeY+(PBlHqTnv=RqS% z*Q=n3(Rj6+)E(zbzZCQ-6N~yDb3>VKl`zoa@%IO2cxMdDuq9=WxA>MRS$)hD@cAp! z^6>jF_$+8qbg?L$%2H8!8Gn2?8&6PK<%HxszAk`vo4bF_vT{(3>`8aRV^?=V5))AT zLoIrhFTV>9)sCH?r1zukyUfxS{Z3cH#P|6SapLyZahN%BnfA?9q{$d~O_EL}i4HmL z%JRMRweWOA!!C;fXtVHeG`p!q(D6Az(8t^;2=1h5OSvOB&~bK_TrfA94Jlm0MoCZ& zG=~80w^ubqAj$qTivj7@T%TM?k}W_iq{hHg3|cuJz&oM-oY3Q_ygJzR4l2HKA5E6| zP?7#JQD25`6DvnQfQ$rgr;l3qc`rVtCEtY z(^lMP;wC|}(%mM-{p7CY%{%{Ziq91$DA?IswhgMyUA8;QWZ&dNzF`DBUkcXaz=R$v zB!sXy%U}zg0>4BH@@|kJu|u51zA?K`M7sWO=NZ{Q67QK&W!e=FumF?xIffQsa!!#c zukaw>%oh(Zh{O{-TKFFC@vEcUP#QNN)Rf3gz5Vi1oY4HCFB(I2*$zSMEwHq`;`U{U}wN^Y$wV1e7 za21Ww#vdUNwKsg8!7JC*5ynL;9ka|s!OHv9JR*M|woa1VVs7ec90Wm-DGz$5B7ZN0XWzfexDP- zADfeRS|w^Wdrru8u}$qUKX&uBH`h9qZ^?2S`|VE}mHK#xK6W_cN3|19ec&k#|7=~T z#ak+IKgwtZ+e(lndp7-(caa)TOCdkWjwyj1zo9U5d7Ol*vUahMFEX2`N(KIVVDHk! zo;tU-teBJ4od+{;xQAWhLE^_jd~di*R{sH+OSo3+MJC0!&YeW-AT~LRRJoz-pYZ1g z{{YuZ_sX1EaMIOW@PdrOIgm@cO{+$-{agxK&N(Lq#{$`1v87yu_X{IY<7DHA_zd!1 z!x@Mj2)x&zf3M(lQi}O@s5)g-3Aabn`%5&wXu&dywY+`VNagJ(G`X;+Wa}W=o{?-@ z+<+XH5E3_sjEzE{a7GIk}^FsqwtG!^q~6BgbtO2ulO&Fi%yB_`%!Tu?Vh5FZ|ee^TJbghh_ckI4jB|hi@xJmr{^rE@)Dp_9tAl-RZRBVzs%-58WKp3Wh04l zUL~>b`v{#yVOhn!5gNsU(YaN; zgH$;Yh41C<;HQQ+j;?tvPw4T7KbIURxv&?=pOL5%wiQBGqLG_25 zjGI)}oI{StB#9GE{5gp-$D^-;g2e#-ha1EiES*2)PoNQ6L}t&G!=6lZ`~nYNYHxa^HYh_ff1!SNxo=V9rYWa z-BtIOgK=zz9574Q*nqlJ!ddbFWUm+u<*e+~@!3RI+GJEPCv-l^{wc(~j&^#dx~8T$ zIycp~YG<0i?nx!#Ij~XpK=`T*_hM@4yfHep{746~;N4Yz}45*Si? zXy-#b>GZIUAMObB02%b{P8SUuR99y0ahc#2ui2@fLq@=rZ z;b;FM3}ZD5on;-Q^l*z9M;4amJt{00E&N3m3^HN;Y?c)u?%?=zkR(BTPz!Oj2eA`X zz26*ipD$_A^hfvNP!h+f$Pnp=On(pjHPP&&ovyt}XNUX9qx#W@#Y_+PlIF7mz+X-4 zvSZo_YPBKHIKCmzN@~b#ZOARMN%#_z9eqNb$5ZD?97C4?avWCu!((3#jk8N+MhG>W zJ+os+ET>Cur?`?zF8wR#!B;4)v~XZixSsngI9UT9Tci}12ZZAOrY!^~s!9BtZOmY{ z=|=UiO}9~&G||GfHlL4tq89%kdO^H-qJ_XNoC0c}=1sjpkJtDbnTN2TqDiLp&@$Yf(%y}imjjuaAKIHq&DUEbX zYSJ18pAEjs@Qp8}XJ}h$Lmn_6oYROILU-C`75b*&;J`g>6442Hp&}wa#(i~9E)FkD zjPdzcJH)W&kNTM%hO<2TZ*|P_>UcBIiSc{Y_q786OK>*bME}t&(1_UK_=UZhLc`+x zY#OhYmSz~a7t)!DVY|GMF#hV&x?|#%r$(ibv&`>*Zx-JTU(}ndGCS6zeBCz7AP97m z6Wn*%PWNPybMq;j2P}ozO1%N*;kk3HT-1z3=>VJlP9?5*$ZXpKBy^OVX-N<*fjM&iF26qQj#Y#WC2gl&dHDD~1z9v|PohKZLeMt3E*w zcSO1#xJd+GYOs@J-hLVeRT#J-dCZHwv`WF{?peHwAZ*4fT%ToL3ayBFtlv`WLZVShEm|-+~Fut=r}+RTF$x={=09kSHNqc-ki& z<3gf~SH_djK;#bh6uo>2W;J*HOANqmZetpk&889V<$x52>#K>-vYRK{D#Y4674W1Y z#_8;@a$-{#Ta7{FH;1bqzBdtFu%vA+t|uV9#OK8kXUsLH1qlj!6d_~ z9?lvikrPBbJBvjhEDmq*t4vwN1UjE|B=o5^DNmCIm|{uF6hw18L?H?B=pJDcUaq9|MT_9; zAsKEfzS8Hv&s7qioMN5d(k1%`vUjfo-C2A+WB<6pu5zNgS^987-ZY6*d^h=~I(xR* z-M)R!_>X=??zC`+@;xEJ91tEazWou=SVfi1DQhd;Opg^2!KPRhLtxqF>$U zgu)Vjzoz_15D$6g+Bmh%kFsPq zl>+)LylJnDY-&azEkNafa;YVOns~5=yCxjW9x4K zCF$}*U4PK(L6|E}!Bo~Pkqi7}ZGseGF0gpjY}qy-T_r$jwzTHMd<(-z3?)wJQWSPS z0qN`nN3GiPp)@i!%O4$)tHD8J1p3P7*FgnowrSHNk@nYM6RHq0{*bR=QyFA0Qsj}$xxw-*!kJQ2^`V!e3~Zn3fcS}+gfn?fk`FEK zOUUczJ6id0%JC3w|DJ%j#e+xzLR{WUk?5r&(G8kJ64LwcO=P*i%kn;Z%PPr<)IkNQ zq6BrsYB5j=8`0Hl>4!hSKLCrTh_$y`md>@a%idbVe{`_a24&NF2O_>d%cxu@*QUuc);sXw59=UyEv66dmnsq4#Zh< z5RAgUU8N`T&8A7L##CXHKIDsZWLGpbCnPt>_@}Utv3;0%!oQRHFkensui8x?_OX3< z1ASOO5I(oI3pZzQM=jn3$`kp)UJ`NEC(Q?6bGO#1=yG<(9*N``li{{Q@@VG^Wf|sg zWVhS}Sw5?~I=31jKUz>SQ^nKzBCEGf71gG;h3|MjF(o~ChHc@dY|2|!8cVr;u6efo z;`(`2Dy3*2DrahNx+Rip`WE=KA6xh_{t5i~U28#u)8xV$ZecmWN8oeT2peWV6H9dV zU+xxpObAW$(?Epv-Lf$+Tx~1%R(-Ex?vK(0Q%(r<-dGxb&$+cmD1)PdxA~*PI8-Tm z`Z4hxoYFS-lUxWfBK(KH?hJb&ME?NsbK)C$;_pDHi?%z9wVA)7 zB!wno{KxfPVZmIhGVRCbymIBN?xkS^BkFZxx$cEWg*$3BYWHXKEn$~Zy$J+%iKqgW zpt7`2>UGx1JNS}&3$MpjBM8@v0_2a*QN`6A%$0>^YbS5E z9}m1bu(#wv^kEtL@S>cawKnJdxT`SV4-4vu*gpXi9xJj@s77uZ$z0n_uk=rJQ{`#4 ziH?%_xMr56X?!iPxCdsm;_&BI{ZZS5%#1Mj%{4@7i*#c?Eb~bl%?Ay_OGTECOyNVS z#H++2=n*2MYf-{{kq$sn`TX1zC%h{|3=*B)Lh_sQ9+8=}?4=}%kDSvvu3LWG-csz> zqGYu(V}7#u(EBAKjf(7IAtTs75I)2G9v>~|jrm+UQ`61~{YKaDbXxFYZtj!2Zf2gN z_uNck%_R5S^yd=rKseuhNnAy1n=QCCLBw#6h&4c<{h&*TWJaHemHXjMpI$9T#-={ou4X^xJv7uQ4*fbh%TdLxoYD(3F+l2Z4c1^ z#ZeYXks(=ZdlGgIb5kJFyw{Amc5O34C9&$bXh(tYr*xdq03j$!=B0F;w}Y z7uY%CGm)4{%RIfrrzFxsg6TPn|E;6*BT@4RrALpppdm{mUClqn=A=yZI}6rMbv~t8 z&5RB@yhJFY;T^#JirVjuPjMma**^Mt!mMiDrxzCaDqsk_}1hT5`L$$eyRt)d?dco*Hfr zACs~zuhl-vy=({Yl(VhO>@Av53l#!tN}YN2pT(W5=~@4r?5%&uD@7KMt`(adN|tnX zuasCB@lNLk_gWRLfmf_V(=h+Z_XOSbyv5d8S#+K@LF^7IQf6G3%ogzlSXEm~KyQzL zs!_EBwARIz!DH1djpJ_uockJWVP?la{Q*Gilki~%zlykU|JY+JQd6&0N&4&<>mA#$ z8^(h!`-O#pzg?2#>F84Y_kmmyE)MO+1Ph zlV6%_)fh`LPV}gIvbJ0DqC6DVP>Qo`maJKp)N|WO(cSj!bLYyq?OkqI2w|W3l^iISI@SqS$5ex` ziO02eLiXgIsxf=an)mG*h1JtaUl`Z;mkHmBa+E=*V-E?QF4`WelqA#bSRjs@>1667 zK03b(7feH`yY6aj_+NWkrSA4FutqHht*Gi47cSK&TYfJDBW^!+zw9J4;8UWfcR1Qe`Znmu(qYwEHJin=jueWd|Z|m+ER8Y`;M-P9nnUv zhc#zlf%SmO()x`Lj+V_N)$NK7RH%))IMt(S<|Pcj zYWkeM^-LAjq6ykhZab3WT9YZ=B+V{6EYj?#8+{~|ZT0r7xO{!(5}MF2ga^jR@ZD9~ znvJ1Bj0}TOLEOebCl4|AZP6QTLB49?ZoG6U8?)z5oBg$0Bs+WkbtV5MP@CTEy&=1T zH){Eog&Ys0XdYjny10*%WEWS~yyhN6kBxJ2mDDtui)BoU4z*Ys4}rXxKWG`b2dM!n z272=zQ?)`yi%BgTCPFqPcoqUNA3@u)Xh{qA*kmY)w{W!Z*d2*^=)pFYRhnv}6n@{A z=nfmq4|l7o@l;ZtCAE2`d3nADs}w!9+$*{*<(1^hpj=9lG-PRX98>M247WEdCDm|? z^BXVg!Ve{b6CVqjX$=w6i)`sS||sC2+Pc? zVoi&-Ip<34*H&R^?!M-#GimNS#jx|(sb0U_%p2ZV?JVHxCDMaVJDj+po)DeoF#b#tqze~ICF%>m%;HKLC_8x1w!-Ul4E8Z8{GkP2;qBZV^dh~=qv7QAoakvB>T269Z(AE6?ObMOLuyvo1PJ`mu zF~S)Oo2(?a`y(x(?s28j!E_g@zq=Rfy?MQz*Vp$8)cI_hFyeidh&%B+kP&~LC^=Dk z(UiG!TN^ILm6<1+o-1(SBaE=S8MD@>w)iY*au4`&0bZxgG(8Uvpjpz8Pr%?^D)wyjV@L04W1=? z6Kx2=Uza0q9_#udjxWreZS(86%aMwHG5-445A{nU$95>kPnAhk%!aib@6A`G5q9s@ zh!^ejmL;NJH(^sG<>#Vb$Rr47Hh8CFEe~Z0<@KQ~p4u6@6ZP7cL+ZoAGH}87M>V`& z<-aiux!py@iDq6wIg94ywT49(GOPSZX0eat+8)T>!aE)Dz+!2O-uRGwg#F>_u1Sr4 z+ov@89+@zrh4Y4w7U)8tMQFDdn&aI+P2j2p&a1`ju1R#BBXk~6;~7H-_dZXIOkyO& zGmO49DZ`19VQoBvy#r7fxsdKJBHHyVom}}+J09=mlN~L1pQzV}n$T>UzFe7v{Oy(? zf0xO{>+ODd972=xX>yaP++|Y~K4kk(=6G(^!ZE2jlvhrQ{F5lxq96Gx-p(uMZwd@i zx6F}O`JCc}PU7>ko5&ErQYPHD!NO@!L^b zM<*0T!wf{8w-i8$P#WOg_{SJCe-dn&BF{8F77bbJ18N&`5Cbm3emAzDA!lH9vEcPp zLWv#7!hTti1Upn<&jD7Hr~+B+%K)(rTvUE|d?3=R$hou1zvvI~?I;OvD{Fv4=2YI# z${z=`Rcd*n!|i4ol7%UGXKOf6b_v&GwXtE&y`qnHN-BC&Hbu`8V;+6NBrDUeOkz7# zP=eDgphT!kFl%czTyQyVfla5Vthfto;t|+gv>301DQ_i>(krEe7L=fpB(~od?ezD} zs$dR@NLJdTB(yT#Zj7^Irl(}tNv&{@;r25j4g&0Uy%6`7T3LAVBgIv~xFuqmiCd99 zw}6K74S6{2!CKNLG5N*IG9NaloVnmPPqwNBc^I-1AkPcPSU}=+d+w&B)LSLB52=4* zlPzdRe(omsMJ;doqL%AK6pbFO<~bDH-`t1Ps_tMCBZJE(WRZI5==IWOZ%FPNUhAGF=5+=X>~kHh8Ki;h zCm|9&G(p!xg6L5Y#f$k*c~a^^Nxex^hcG3}d0TfesD!PrQ?omMDjr|^Bi%)Cs8nFQ zNx=GY{<^DW$aq6KzL+USoqBw-vfF7L?bNj9l-ds4|3(tK9c>B?f1nL|)4bOEk10-5M8=T$|Ygw_|a;*X9@4PGZgMo9JdZMxt*JEDn<6AyEw z8G>aZ#RN#ELTkdVCq&096D@FPENjPZ-$8mx^pufWz9*D^{^cm)1Ze>Y^j|LJO~EL* z&maC}L3_^7B25?Iy^H!gKP6aB+~k_r{XPVjKnCQ7=Kmzb+Y^H6HCgu9iC8QVqH@$# zt)cM!p`+uP#y*IW;U%iZ0JHQA2#Zf#FMY_wb;3lME!#gp4kT_G(5jIQ7L6$mc(VY0 zKLI|nJKYNlOBlJgh*rb&KTFkaWe2JAEH{JWLZCF0v`cRv;wgE*LSm83Y!rN5rk-Hn^j-EWG4F`9j7h?02wLTTkb<}t|=r*PK?P&gP0Sr_M6+=Fyx z?{8)+Zt06N8IC29w7eqqd3%>uEeWqJt&5)&W<|_ja?SDrR#sQ1m^(AAx#UXfD5Lt$ z!J-%+;sD6n;EbXrT<7@OI6>ALWL#}M5}~crru9i{t%zvOsLKhiNWQGf8U!#gx(mo< z?g^_t{&T#>gA0;0=aaIi@j6;bWsW~SW@9gyUs_OM5&2uiHZzl{s+8R!gd~?0>#**h zq>Z0(bJD-dw&8(}>vExX+_qw`<9eP< z$4wTk%9~w%-n|s?YpVO)Sm6tux(M>cnCG5z{pW-#`K!y?$UyA0&*yza3LWXp?T`}Q z+im3vU4ulQ(D|G-Un#=;sy;1KT!*sE-fW3Ed}-b+33Om{7Sx2ee?@XpjKp%1e{@f& zSZCLu4m_cS2RxMKn(r7Ts~Hk#@il*IYa7iM4%z!Mk|ucj#qCS|eYJEho6`Y%rmJLj zTbWcdgb8O<62<(hH#AR>k>|}&o_nS{4Fifdw~6~5GT42EswGbs56C@lc(D$awYB)S z9`C`#cI6&3^dZ{+W^h@C`Ll*^GU?qr1+PrDD65@lrG!Y|D5*0@)yrX3lvzhHWP&fk z3ERnVjk{2!dNi}m1nv1p+uKRMf1BE2dCkj7!?H|}wo4TGXNty<9Q%gubZ;Fajo)VN zc*VPJwhZ^a<_DA)*HLR!_Omu=yC(H9?@7{rlxYp)i;@R#L#caTqWaOo(q!f8$HtKI zIWqN6b98sf;Pr>kvlFf5n&Q-vTv ze474^=Hl)`-yocz+`KB+4))M+aC$ifd)u59B;fLUa+9kse8_Gar3G7al}a$vAGyK1 z%P%+BkSM*ubUAg94UbGgimtdh9Zh^|OEDtExG-|vTjHT6SAjfP^cI5*z4}`pPSxR0 zh1$&{gu}2>5}B*DQV>ix({~<~^E|l|s{VhbuWAAGT_f}rSo+!>M<1i)IO2NzH{w2I z_*>$r@C|}+lpx&ILaip3$fj(xaJ+o)C*L>O?~Bp*2+@a4@8q%C747H>?*vcjDU!#o zeav<1nRCi;SJrcIVZ;&L_v;0cCw)hdeZ^>I?-x7rC;NncodG()gzy$>8`jMAbS>QU zDND{H?UGQo5tOHZ5){vX34{k;P!#X=?JNkx;I)|MAe;mR3Wwh*-TUJ#>%WH zI%i!)O{#Nqloy>eLOihjNc^nK-GA4!1zU2mQJ1p^a zoeCdBy)d6%CbFi@hB361>?nz`>XRJU{6v7vyC-Syw1Gyt;6VZ6{v4GK7z>^UF3|yd z)=|g(_zPDaC~Jv>zDC$^-=bgNl)1tEoFs0ms`#UgbL$VHibo3@gUF1A012YoCvOnKgFdC}~a_lcMKW$Jw6t84WznPcn%5@jSjnuE*Yl@)Fn_b43b zj^;xkl9yMjY23y-PQB~J3g&4Vz6dLX2C?;F&Zb&l#DQ)r&B=^c8qSRw&-=N^nwurQ zbiX{rcOJ+uU{N5ana@R8Y3fu;++4kKB%B(1*&nVGdp;0u>b_5FdN};nRvo+37nzqg zFfqeek3M7W#-23AR!f%d18MNq_evjmgq1``<+1kO#oGG`<)vcJ4B!tp=H6|((491TB-J-RE`I9gvoXX#`5 ztp0#wrxu4VOK}g=i%G@IyskL>slV=x@gl&+lxBL)^qlJQ&D)u(GnEZYIMn5Ys3A$lG-rB$KoY4mqcg5kUO0dIX@3v`E#9$ zAL~>k8`rJ99z(zBlI$zs!Wtr7N-fW&U=8vvs%%@PiD8fCMq#zIu9B2mp!=6@p zf*w;<#}~QzX{ym-atGC1HHF7m2wh94oqNlk{_PNiVeyq zhmQsplX--5tGGjmyz&W#9$-+*756z;NuqGt=&nwJ}j{wzlZq6O86z2!<#cn^APbJFD>ejF&x7K13?{Xb*E#HLYB znz%mZyU!v_1EPfcX_!=Zfs}%FEd@{|Bt`a>*D`+!YEC$7`QhD^AT-IpQrha?&iFk> zm*$o8F2{oM-BDomFZx}qU79B;gJ@(3lt5$%XM}A{yn;TzCQ*>pzs&#;*EYO_KRAj> zsP?SWshCjE{L>e6*69@leJWF?8G8{H0GzGsNupeMCT@MNA8bwEPM1?>B`NM5T4@=G zIkLKQZdRd`VC^E<3Bz}MC|*(1P?_-ot=?{PML}XH2FF{mH3)<<+>0Zuz7BPnd2unv zIqS}5RIlXJP--CJC?zzF>DUw33!k`N;D52n{GMUuS9@7mLtTC#JUPSNM>Wk3n-qLd zo6sGuW(65r#rh;`(7D)r#1mv>M(hC#C4qVHV96^9e{MJA&tXIUB)5wUyvUglSPE0f zw!EH%39k>-ErH5aP+7{TQsI+tX8s{HF1uU?!gJkgYda_)GI}(`6S|1Jy#%$Wi*tAS>#3PPBC@&7L_o=ImG$(Ej z)Y->$c*ZfyKZ`v6`8n~5&Z65B z1LhJ8G|=!(Kxr5_Juwf`9!E}qke6voCdw5SU}!A>``?m&JLx9NlH-K>Cn`6a@5q>k zy?i~yS+9?IO0rB6lo1)E9DX|7WyUx=_gut$IuhoPfRnrZk&dQedp(J>uv1w(Z#C$? zDwb|~$EOEWkpIf59lqYumY zVjuq;Kgu8b!M#fn$N4xpr9uC6rYM2lA!e#*r%A)K1G-$9+yS#uLENsGA+hXaw`SkC z%AG~;YhCG+4mQtwS6EBjFoCWk(9#xWUYh0m$~`ns>?7MiJGH4A=gA#6cK_hK47V9W z5vuU(R~?~v$%(G)OM4oqRX`IOrQ1~qmU)E{7Bk^`v0dUfH^NNsW_{#+Os?WuJpvzj zC)AqxK1nZsEh?ickawNr$uIWY<7+i^dughOa*>)oQPXAGWpd}5SB{}yzWpfGBdfon z1HM2{sBuK21Br?FE?x!kg(9bCKsnQHRD%3$hazm}DfSUUQ}Egd&)QDZ`W)&D1)g6>T$?0-SmJ&um}Ezh$~ zHK*`_=kGWY9tiJr5Ac`Qy9r@n>I-Z%Gk?NpTDzd=Dp{_o>p*Ywb`$D-O+Dfpe79ME zvX6dA!&cPcfceMn7`~(S{4!qiHK@%uz=R~5q{Ol$W$oS*)#_PS z;?6LVGiYhsJ=m0TgrW+rUa!KoaK{j3l<9~xF^4^mdQcP@)1xRd15exCCh{Pi48l>E zNWIpRre@YE82M|P6tvCO=FP1~YbsY#N^2*yh4zdCe0v@0-~&mCuO}sLlEei`iT5TY zzAK3rCne5JN_<%oi<1&3B_%#CiKize79}O#BZ&=@5=Co>QyV5xtK)uBTb-Md0A@<= zO_~@yi*6rRLdzj_q%E#Sy4ww)h=Z(1YQS?IKm;upp%N`TU2;SV3P2=F*n#Lg$)G0- z=rTZyB15`LB(Ct_GMG5;_ksik~ zpx6n8$mPBzKb`pTf)>GK1XpSJAD9+{cn3Umy>MIAYQ}2B-U|{OY;xIH85{KRfE`@k zrSXTHlc{jw<}WyThEX(+s|dK4Xa%qGudMlq_|4DJ^sPpjaXcZ5(l^-WDpK=dM=sRh z;ufxEBTkkt{3~H7Kvu@N733>T2;ywL1#O!YS@SJ&q~>GD{YEL^3K$y&rz&=si@$2N zBAY_DrC|*x+TX#Nk3>{$^1e36Ti2W%)$ zf^P^fP}_>5slF-G(iWaVGpydNO(NTw0>OZ6ZbjeuX7T$B$eQ;8k;^%X^sUc%>8n8M zPJiz&Z(OgJn^kLgXhf3v13{$|4>9&!xtDq+J*Xi|2p#>6?~Isy`y{r8TY7{vuhRym zOzrHP9MWDwyyP&$WbUevK-F2<^DdKU(xcWByn6Eu%`oC@=c#H&TjT>*ihg*shS!yI z8cJ;IB0y&lx?@dF6|+-X9zPTDUGK2|C?Sxu}0k1{hxfhVEdbA@s$tb3|ZPc-5?f_ zodS~W0wQnwr+muMY zb3wIf`>iH%SR&k!l*Wg$RDx8Z+hV zlqw!A!G+5>O=}6h`WuoU5d$g|^B`3&amK9@YFF|zDg7pjx0Fg#38^r~mBLRFja=$~ z+ak+T(|~kFtpebq8LdcMW!j@uNEL>65r~Pu@Nr$N17tBXnZx+}($%EHK4jWC6N0lk zHPq@(G{CM^rqcq)lazV7S5VE1QjqfQjC6OU)kmbxR8h-)I2pAdeZRA`UFV%M8bXGm zj-~OGR6rY&)5l!WHf3frbM9Jgu=IP%+oo97{R{V>X+i!g_ftkz`ULXEw0YV=ZES_s zLJQe@u@>^<8e7O&i9*I!F?6!cW-sByL_+L)^S1Z#6Lu}U(F6-*rSD(ZHia%3wHf>$ z&uqa{`pe*->WoQ$hH@oooiJ(P1NwE;hkU3eHS;-r@0|H+r?x3`8kIGW92eLeW6~$d zgP?zi;`rPCLZIExQcsdzY*TJOrZ3UIl+paugaP3zops~tA! z0x#oft=YCw$!hZ`fK#0ds@z`aO~S;hV3kXCY{H0HraVP(j7nd>fV;;YmrM+VOXI^w zGORI6z0aLq6>>;Ni{;NmkqZ1VB8z@w?lDcQ5yxq{l z{D{YnH1RnA*dBH7)ha_;hS_9OVd(0VQ>d9ck2G##vbCLa8c5QgzNl@Av$%C#l+A}c zWZ%z^bF7=jcejQbOCj%fl#ZCRhIS$5^r*tGfCEKgnV`7&bA>{*o6#0eTAo+xyV7FL zo(;fmnlXpmYs~pIC(0+J=p-G_?gJJ^CXg>@UPEb}?s-n@{2%A0o?4?b*PuY3bbCh$ z#^Adbh_u!2Wr;F(tkQ;%GVK&HD*fk4mWAulHf~=a&D$0zy)~#k+D?`4Pk7(|GcQr` zMhVP|YcXpZ?p12WW#02F^hvkEo0(0)XfBk=j9%@LCv$*IMN|%mbqMT9YdPs}8Al{y zlh%3ii^MebkDjQ!&<_ExvWFbi=0p~n)DZ=dU)K6Glnm9v$0$|m4)C~rH04G__Xk!M z@)<^?0T0grd}8K-XP{|=&NJg+0k^G3_}6@w^huyH&)9hgZUN!9{9of95Ke{@cM2zd zD?i`4X?!F2XO=tr*)}P$-%L{^mjoRQfHPT&ZzR+{bYwRLw1f9@>a!54vjdUyv)69$`sfM;5*(aC3Q`br0$58--IpmojOtHNB+GP$_7T24r99N`L^cwrNTk(v&1^_@tG!-7@%XE(4a=iL1>UpK8IdG!TD4ru_c}DzO=&A5;Bxz#(DttKIQh)WnUv z>;OySJd1QJFM^Hkm}aq^>E#`})?Ih#M6}9v@%t#VH5yC6_wjCDyK3LTZ+s07Vc&AE9oIa?OSiWGe*B%U-4WlxFMJI? zbEnE88=!Llax1Uqr<@;%{6flApZI;XKJk2C&3CuS;q;UVZX~{Ntep;t86T9C%O{%ie{aEIs$WS@R8JvKX;DTws z@KImi3-af6@kP4&s)uGVMB#x2V)pQbdzEoJ&OlZ)gu>-`Ky+@7dGl(qRmIx)>Rtdt z&tjkRx?FPy9PW#ZWPg}2u&KkQ;ZP-b#R!4PA%3mm(2O{e8$rUFdV+i9Ej&aDANc2F z8AUzr=m>7}BzsEuahXz}+(l4qs*pw4Sy(a>=)UYka$I3^oMm&|NDhcv;0qsvxnI9| z91Xmm@a~Q7P`fWHGOj<4UY8@+8|*fB-5_xtXLY~^lh28hEZ=>;gNMbxtRslCEaE00 zhEt)YrBK6VqnK>s*9TBkGhYn``tUZ)8Jsa0JWZNSEdsU~3OBr@HEL+-`}lXM(H=8* zx*Ga6z!VbtwJvjp1|({nHw#Yx!q<0X*1Q$+nUU+Ow{%M!`Gci}s}t2Q+BzOHhw3G+2Fj*kD3_|9TI%6Gryn>!2??ht;=*5A@K z9Q0!O(nEf_@FOO>uI`A$Q-6Ib{P&C68s`Z$PyK4C8Lmku6Gj1EmAV&!C4_jKP>aY`Ge<#ekwA zg-;B~t~{Yxf06@@u6rvI>?e0TUBRF2yqUuW`O}8xr8?@txU7+$YG%m@=Jr)hZwQe(4)#PC=nF}w$YSDQu;0!qut5eNyM?>LoxbW>(#hE$3O z$4kk|Jr+Cl9t+M&$aOB)Ly+4IB#xo4> z0Zu4*g#`2EZtD2s?H&fVJ5N;Q>oqh}w?#D5OZov-&KH@Jh)EWjjImMKgb|P>;+7cA zS&Vp}Go1Tuw>Y=>Tm5sOz_YzVmrPp)XU?*yWnL&p{V7kLe zUV}8)!E_jg1-LfY&L5)O3_?N zCvuCQ|Hs&yfLB!{|KAA^i9);qiADvD5)lY!P%aTxam6=XAs zdc9tB-1lX4T*q;D6dh&LfD0ljsHnJm+KAu=2twY^xBA>9%=r61FV92nIj6Vk>gww1 zs_N=Y&Tk6{p2}WOd;2 zYrO1ZmfNbRI>0I=X1Ugt>H!o>-*sx5o6HE(#W9aq7Z)yM+LuW#@rP&*wDE1at^A*kw5tv>zAMc&3 zdg%y7aqtvVUD|ZHd;saA4;!R+)&S|vND^+O|9-vyet(kh^Yp#MzE_DNfV8!mNf!P3 zZx897K|6!5YF~MebD_oJ>U@%a_#KG8zTRl-IA7r?Rd|FdEVw~ah+TwRrX0zfG$5qV z_R9(oW4@Au!XC=E>N<%vU%A)#H7|hh*mu=Pxwa#SR4J17sXPpBtSDJs5gEQ3pY6){ zdvhVrPJl5Bm)teMqL+3Mu=jTjyr+an<>%&Fa%DICO|sqlnnB5;u1!5EIawI5I?!67 z#_EYAccw=Te-k)MY{r$&c*yW~|J8KsIUTJOw4Z=jq8rQh4h6;I3+S##xS_PMGFh0@K z^NDtRa}V1rE^P}8!Gt+X>kI++*_VKM1Q5AN>H{uRENeQ0wo0i>Nj2uY!Tn3)k|_!-N>$$sGiOHfTp7lhuk4@WP$(SZeubLC`w4oxYNL`Idghe-Rhpb+^5m=H% z7w%rTwnbs4C|su^aT0~s7(Gr>!Okj}D1GVy8@OdxF>rS^fRT5h$B^}0*xha6ja*mz zT(2tE#me=VeW%`N;)3q3Om#sdoORolUe$*J6Rkj0f%G$N{DRYdX7J`yEV$?kTd5;; z(|L2_JsdrK3s2JmGDTly9_8E4_9^G9?aun%-@Z$>E&b&m2K^_#)UKcWl9LqBq)DTeSX%&TFQN-S52KdG%ltgU*rMcBc< z+v#31;|^c03+2T0{zEyH+Lu&-IH(DT_c(L~voav0zzDv4vIP*Ydmv8qm2HcAAkJ$7 zVi45@PpSm|KR(kA%QP?;7Pfe&wV2i3r)F3`N`l^D>O4{f*F~ymIu+^VW4%laUq+&W z3Wob8Hgq#&WLqTzg8%_X`HvtA<8wGadfl7R4?6o2H~JELge9H}OI$)$_Qw~stgj@v zB}|YygvSFyNWy8?sS{_Z+a#?dNL;tWAuc!)owoI(Rv;~$=d8J z`lbcaLR5eA$!@6LDsoSh-r`FgqEfXjOCj}5(dINeTC+&D?X;>r#=ECpp^il9R9~o* z3Y|zH2=X1OYj#P{wXhGU0odiA*sKicv-kzou}Gc_*uS+gcwm6mm3IG^e?sV{xtXLE%;1IRdmUBnb9RdcA53I>`Kmol)cE29&WX>`LiK)Z7Q<+s6xLJ>#BO< z8ydcH;!f__Jrg-E;;FD8V*4Tr)q z;mvU6khW#d3j@(5KNxBT zU0J<{JDXxn%|_}*Dle$yvPcl|RIFx4t4Q5ve01mBWXSQi^T8*yRC%<0;8PmDVrzHP zA?kf`@G^5noez|jDE;?c*7+}grStbm7+S6GHe^FYxT9|Vzbc>WQ>Z-7km;b{Zf%dc z#R`VWNIX6{6*9B@R@8DYBI6;aesEC)ze*Yl!ZL5Wc_drC{s!F^q;SD)?a~wwWd0%* zMp+UqSsS^ck^D|cLJk|qKZ0oT?f*}RwlmBX$y+>m!RR5cEBZkR?spPY?HhkwZN?o` zYXRdfir_a(Hy#KZTH|*5C!MbPul{$uGXy4NKWBcp8~fRZhC@yn^0?z$W~k!k)R2wB zY$wi^dI7dnOD7caILQ?Qg@Bz^CV@D z^}!7h>PhskNDh^|ogG~=nLn(~<=!14EEu3Vn*^$-G(>mu2U(_QW=f#S9MLSx zTuWlG-@`3rnR6_APR&6kLtM>%PXg8bpGlw+@9o*T2{I2>RW~V$5xN1wwe^tvFU>cg zSK82kH~WU*p%u+BxzSan9gm!m(*NItmWS^1dt>JC?@z z(2)-aCxdf?+A{l6jgr;$t|?bJgo3tY$U~Jj0hLrpuQ#nV41~-6ZuI)-Ea){^y1cWY z{|xrH7XJvYOq{=6V#>*^E1n{;COzH#API2%gOV$=PD*|JkdHpJaedR%f0Qv#t;UzC zuWKT8&mu3mh(xzsD!}-&AbpJJnfvG5;7c%#u@d=WZ_%jM)B^+@}Dyy`Q@2ifhdGji|&bnxc<+_f{w8n8p@(0y- zxo%_u{y+0miABN8N2vd~M9l6x^rgA5?+o^H0E5a~7j>T~t*hnzk#H!=8{Rtaq`(gv z?}xI`0LR|>!To{)DpvD7Dw2(nE3ZZS=AwLI2X(*!MyWIAOB=)Km*U`JWDEC;6m-d) z-}krFjq}3Pe!&E#t|c|N_FbC==qg#PIBd}=z4~$Ja8F<1cNB@*I!5X|={KmnBD29KB6&l)r$y>Ho2w*6EBkafy=<%Gh~xNgo3qpi~s~j zdR%R>DNwHj=^h-)`DCc|4oi&GU815um`U8zhe0t(D-_&ZB59i2c%KBEjIv#$HGe)h z-)|)^&~<6a(%I`zP4hPbNkuUtnt&bPn6D!yaFA%cZ8e&QlUc)0(iVD}!8kg99PZ@N z^mn8EPho4ba1z~#=^%psMJh_(h+Hv@PZh}<@;3uOMG3LWBekFNs5bJV$-bWmFvE~G zG?5-YgjaBEBgoJ}0T@xX4}W33T&zsBvaCzZKTa1g@qQBY)A&Se9#20jXf>h?;Q3b~S4zd=DgQpQG+yYt*?pp87MxP3@ z{ukv%t~u6V9F9hNRV3Mm7YQ8ma?#%{;>8`TWQ<|K-8%uPesHb;;MWY5WUU{Zr!Ou^ zK1JTl<*MM6J=GP`n)ZIJ`3O;U@_4A8$2hh*=a;yuV zTuH$tKm~(NsA+iTbQuH-nXZGo{c*d2LEAD zwBfjejO4$^_*!pCLemEPIpid?afWc=>dkchT1 za`{MKN6}BMse^g>Yvl4{{ioiKQ_x|-200rT zGbR8R&ojZxrms|lYZ~1`P^uzOgoF&Sl2M`L~v0;5h-?y?dIBOTW9^uE+^K)rr^kMhVh#i5~5WPOLSao!kqu&u- z&LC;le$_d_DYvFZ%x>ZczP}Sq;!yi|C}ZsU!j;`>M$tH1p?lXqa{An@;4%2;n|_U} z{T%tg?N4s7b-E4ZVQFflw7S1gTP`>a|L$6=BD+f;4|?_h18E1y*n^y4hTYmk2B-1vfqlw@CO7PiQ5<+>Fg}aizBn>uY3<_bV!l?H^V;Uf?Mou%OZbLoRCd>^aSkC6MGP)dtY^ur`mFJ49?CvfJ3!V->b^MWM&tYX5RAUeIvsQhY=q{HRxaP z36C|!Y1LT?Jptzg5hm3Yk+Y7zWDX=2Klgg5%&ds{9mlu=|9{yML(` z-n`(h;Bsq01l({3+%PJQV@N>Po%R2dfI7DJ1oQ*7cmgUsdUpcK{^QKtU4$9m2Q6MvOE9!gj}7))z;KfZk&S-kDj@&^|b6rKg_v8_p#eo)#JX zEs1Ylus2J4eK1v?IJ<Tv`stk%9sD;P<-P|UJ$+Xb9bNp3(b4?ro{k=V$LQ#( zrt;9yKd6{io9XCu_(DrMsw!=!ql+o2ktjF+N_ebM5<{_gc3*uLXXkC@tOGqU7%8op zl@)Bbp^22*1#9eucGH4-9$QkyMYz~Bn1mXx}&5Jdw^wk*VQ9n8lo*4AO_E34-F_UvCT2oPWQq4Q03m{vHs5ubJf3gj;xIG(Ou$ ze0pJa(5Jc4|B#1dh!VhPx;xpnv#@l3TPyO17rYy^NrBQm^jbd;><4pS3;Wp}fas@8 zX~8AFEzIS?!k-0i_1EqK65vp)el&3R0bK2k8duqtJ=4HVZP`yEt6v)?yvbU1JD~a3 zm-KqIdUMfr)*D7WPd(eS`M)*6e4o1@xp_{mfC zDZXK%#JClZV358#Bh6hxW_D+N)2ff6`gl8|qT17a_20b(6&*$~){?zf!YE5{(23Nx z1>Y{m0Lr=9mpI)@^b4L>iJ#Fy2D@M#P_uK3#6(0~+w`u1yM+$(->j4OuT( zA>}b?09`fQiUoJ70FDQ;UGO_EuDUooXcd;|5!5aABA zO|g#K+(Z`om(jJigwrc|3v$CYrZl&4UUM7Uuh9X5P2rm9(MJXKDdOu%DL2USXJ>4@ z7~(sc7fc5i(WX&y&P8Wx2U9d?(r78kdYE4MRoy~YkLG69Jo-SG74&vZr&-6O$v3ho z-n7@v^;zHWtFP~HU*AKgSbZOw=3F|Vi2t7J+gZ}|ed{!9fAy)B|6#r}B%2wM;6F_B z|J8-M_cWH;RaYeTBSJaqp!F5;gR56^9s?x|xDGEy&vcI{r@n-~7k;C5slL_};O2F` zW_Mx~r8Y=|u*KDiWgJhl2uKBgE=YTM6yjcRT75>^1oWTbwg)AS`&cX_ed8iA;AkZJ zoqNfu8rD4)cZB0JZ_XayRZJ~wQyF=DMJ)38YPMLB%Jd}_>2C*Pkh$Sin|xL4Y;QOM-@XzE>VlRet3f z4MRxrfX};}C%@-YG<{hl{)iruS-&?}y{jfk4~oxPNpKQXyH_o>^i!XDdn$Ec&{wGs zk{WzeDB`bZc68_t`t4q7I%#5K*e=4(J!Qu{I9}K7oF7n7T?8eY8*n zJ`^qH(7aguH^QQ#lPNktS(BxUE-xT_CSXE(ksuL~@D_sGk|?yST8GpZvFp1^zXFw1paYxYhf@>))!wSn4;W;B4` zzpC|d!m@_9sO1B&;Q7o?W;|xNyxR2@62=dTybLoaoog*lJk>3rO-QsYdXV61qy-ib zx0sCLT(U8`A?U~}Jns$Fw?|8B{=!R!`RY&TR95+Ty0zLpl&j+9mWd>Uwhn+A@pX_?vE@~3z; zeUAwctxGNVx?h_*lOn}npT;qSsQqZ;fr;X5QHn3?Bnfy3TnL$w%z6($m~Ee5;Iq4qJ^a`J8hv zZ&xM>`NoX_t!L*}^jK9<@;+|HTY`#qMm)qCteQz5A1h-(lR3Ao>jAdKjah&8zlNJT z6UT%nUSjcq)j5@k&=tV^K10V4p$dy7p?u1G%tI4;6n#q<#l{+!SM<-%k6f)7ku2Cp z{{#FGE~b@q*}I+Z5r;bfbOf8PlASOoz0(+ADmn^9f!qbJS_(L}c(1i90z3~isqib! zmSpb{X@>ea6NGwPOvX{dmj8c*jwIrl1cG{&>_Or343kc!YzC~C8c(stC~JJPI5>dP z?kb;pmrs40ow~MbjZ17$i~JBC;eTG_M`8xV+Fq1Cwh%&V?@s2kIGi-Ev@_b*^vif( z)3ekhH2B~mQWWDxmU=0h#8Q~?#SQp~Cgh5d%v#H{46?EKTkbG@s@sTd*bHl&Mj{%P z4=-6+_f=I}zi#XcjU9qV2Ue|$lCR4mch|dJ_>815DD;t|kx!`{H`cq4TfE*?@7`+h zdPlu`xy9?9_3m+A0ki9o;}lM42P3wE{kJLqgsV}e^> zexZ}5TC!+Qp`+&e>APtZ$3Y>)tBMoC>C2xVg@nme$BRB)%)QrwCH*nl8bh* z7Y}Co8m(U+9n^^u>>itya~Z)uuCPuKatW_2&_0%^F?kp}syK&pZZ3z~@&rD=-gblw zb#T&XS!Vjz)Wx3UT(Gb+Be_4^;RuF?IK)qjHMl_)!C=z^3 z0;T$kINDktc zf7;h(ZtU!QPonfj-#`yFFw#J=kU%&6P4g!$-94ak$*j5li0V2t1d=xn_dtJ0;)vj} zySb7qnNf3(@hc9z@-nvv6i2s@ZLV_t4jbcOtVhUK-16q$gm{9UmrGtLZRa7`L3&WH zE8y6U;jegPy6mw-vB%2W83j)2(}|($7}UY}KMlyQD{kBlGxEqz4QAwljlB%WSWNhYL*4VSagj(bN-Ne zSX$1xK&NRXXrr@$dcVbg8`LCAi;fx3d4SDXPz1{g-Oc25;(~1oC|h+L{xd;sH*~+r z(#wwQt$Mnt9!(?@+U5TnJWWM?8iU^#B7J-gpedub`^8=|UK~D}?iU98c5IW@@N6`3 z9?jS5)Wb8RV`gL>x%RG8nfn|cj+QiV6>`;ZK$#l@n8IiyHtk<<+11!|59-$g3|+@P zb2d@Sz6rW5-G}q9Ptz5?+N`|(Bvw7|s*~D0`{R*;LvT(`0MorW4OEt;U{m)rknBc&~ed>R`b_Y-eCt9gT*Y~I~w;I{{STQ~;>pW~V) zZ;~zMNs6b(SHZuu_<@o@ckgh(m#I_`XI>?)>Mr4{|CRcwdY#m~sP>xpl5o@WB`@$I zjh3o-V=-s{9)hLZBiQ5LnJcXY=W_EmBlOzM>hZuWP_hKxWNFlcb}QNm#j3Jx=|HGv z%F?}BDk)N2WxGm-HgnH&ezm$z&J>~@&#bG}7xvlGcypl_8JTfaheqoM8S`{UaiX~S zmNu8vt42a1{N0w;LatrNhgeM;LND)N1m}JXxPRMfm^?t>GSzOwdySH3kP+Mm2d?hG zAwcr}moa?hNzADA|Cc$O3C4CY*wsx7XVqD9BjfDvxx=%xCif5aNSE9E98Sc&YJTs* z7*de_%Hqp|y&N(D9nOJ?9iKFQeIacHt$?fHV3_Aww`&AZ7i;!qMjJWpHiV(WLsO&J z(jJb4T$K^*zrfa_lu0}|>i~-)I0qpnvT#3wrc}gt2G8WO%=CCQ65oRlbpJ^qu4HGV z_5&TyPIl?E#gH`SG$E;fQ2o4gjEycJoA1Gws^ArW4Ig`F!QDD=Lj|W3Z${ zPB3g9$@L9YJ%gtk+o#zfeA9U#zMx=ej0w#H@+BGuPkoC!84oqv@Eu;lfCf{n>5Hq> z>}_iH@%;=5mn1>J6XXz(djKS__o~3#^CTd5iT-N1IBSZg9!^XBgK4m0_p!44l`1Nd z1G>B8DaUmC_!rB&akB7M9F!{KGOWbbe-&8I?S$&T!WhXLg8u&;bTdGfMXsFR-2V;1 ze7>sx-~z%44xx8YQ}0TI(eA<1yTbmnwWx^yAbh2ffenN8{+VxD^nN?Xy@Eem!xs}+ zbp6~r)aaA@s`tw-xrXk3Ne+SdJ-@uZ7ryFrDLaI=zEin$N;`z<&(W!8If@qS?du$% z3p^IKJ*fFOU8roNoj3#9a-s3JOwWl*?v|`<_vAN_rDZbXuF29iCo=gL2M5m(I7nHMW<9621{}RRJ1xDstBzMO5S58&;dqvvM$Q?Q9<3&R zC5*rEsCtQqeC@(lHnZ+y5?Dpw=f_QDBJsS}x)7X=wRT z5I98Z7M=l7iOOF`lbyQ9l6`@5aV|c#(J)Bsx}X11{S|wYiM%hKpv$u#$5~ESYtNUXw-V-_?bm(sOwO1CK3)X5?_Te8TvulMxgo1Z{h(BM7cc zw9l_PAlA6DvTkK%ynTLkam&q5L(di|_$|W8Y^B3RzUI~3ijs{;Li8UF*3jX9TyDkX zqD|WfSlpj3H5M11fLO-1eoP;W&Jeu$zE@5hkM?r)kIY5sD9}grP8*)A>YY|u@=Mi` zIyssfE%~{6k4ml?X&@rThM=$Yq3VbKX}ci{0P~_XJEv4X4|HAu!H#hRj_0y2z?inZ z*)eUxlHg$Jh!uvyJ7=Pj8bcp9d5zR;zH9hm@zrBS#eV|78I|DI_HlpFlPBg5JoZ^E zTK=ViHQ?A}3f*Pn%O+IKjV5w_zI+l>hF~SLveV{{Alikra|N-3D25v4ghVft{hx=c z^rm2At(TD|E3`&aNDVH_62TH%IFWN7^~Jc$rlRC8+4G+8l1MZ)K9z|Hg`v)+tno|H zG)`8`*TZ58BHR>}qu~j$pKLxhJfK*cyqOGhPilZ5povm(b#C0n5U&fqjzaJK*;u!z z#1-)F9%2veI`OBXWLO?6Po(xE>>c3AEn$n}jeV4Uk#cirk1mW17943sO zIZV`FdX;_^ykM*DZpuYT1nMfO4*2DhcH&_v0rbz`t?nwEmn{p~~W zoxSA@-Xvm_chkGW6P*f%C-V#XY^f~yB2qh_DH!FN9j>BjfRCeb#k#=mv?6{?ERIQo z`lHeK`Cyf+L!$A$D-tn;wGL%9pA&3nB{5E8sGojxUE!fIbhc2l_HIwZd@EQBD-svd zCq?ooN_#@evF&AzH)+ckO&nNJvZH#vE21Fap0%zE@PmxJ;EK~FH0_+iK^*2}aAh`B zm@J*ywKqLL4gncCbP8#;&{ZdCHNMLYRmRC=jKv#Rkt+9WsE$%*!U@JUz5#cvOwj^` zhH$>RC`sm+7px%FUB*%%Dr&gCJ=mC&n^v6{OC0Gg0=N@2bEzyqdx0g3=D(Rrq@RDG ziP;u=XFI2_ey@5L!Fw}So`68tfssFV+E&EJfxht4$@rYj72I5RC0(zGx8*Xypy94C zwtt^!d^j0lGIm#5Mf^~AFyL&-m{T(;EiaawnOn_u0~{-_dF5gx(lidjB}yld7VKOh z)_3vVm5D!9^zWNr{ia(7-rXkta9uk^hYRtYV@6D+{OBI6k-5QPbijSSP`G2?vBM4F zY*R4hB7D&%^2Zdh2ou+QZ^FcJDvmI*`Cr=Bq7!lFOS9I8oY#&S^+Fq?pYOXTN{`t{ z{zTCSmrdH;XAJTsV$@1LTb!Aa(vD=DHz3jF8yYC-@)dvQ&Fixf>VB5TKI_X%GM>;k z_Im_SgYkAw1>~qE{*47Qjh1YFk%^f$ZxI9Ycu&~R%06r2p9bGwC1OhLIQy)Gwf?40 z5KAb(a!K`mL}Dhw?W@7dBsJU?oH=txqg=do%gFQJLP`8Xq^!RvcT_ZaQLY_+2>yH_ z3z4bZtM{1bK75>wc>SPkB8oI7vRVOcB4=B}DQS&MO5TZQ{lwGUlA6+-{l+s|g_wnU z)s(JYAePZJaQ7QetlqyqV-cU!ZtyH3T7AZ&%E7;Aa&Yd%WkEG5tF3{>3P?0Jg3}?C1$j*NK9qgvq!|gKjftf(d5?uiw4&6Cv2c@s<%=9 z3&uumt;+#1Uv}aW58_RHr|Eaq^xG+hu8OXs4&=$m!ZXONL-0&GB3{N46EVZos zstv}-_k-%$SR(t#yMlqtb3^V1DPt*X>xDO(os0RtQmO&gbvBX~;b0=)f+JG-sy|3s zgDo8<)nDm7>R^|&niqL)XkN`{QwB_l)Y>HviFt!!OTKO8CgUH#avonjn$8tnHd0b3 zYUj@%WgKlCJIKKB5`@2}+1u^VL4QbDZH8ejEW{0Kx!$zI*{pg5{S0u#62}HNQ%(_95cGS@6c~=?WgFlRfF`l;JPxdN zpWm-KQdf%?3VfzBS4r&U!B{`WGlc>9+I{za8cXhBf;n000)umwWgtN_ZMV?B11eODv!$G4OxPanuEn!}}Ar|0(#2E5iP6yPz=NrMpoj*C?#h6`zmhB^}hmnaCg&3Q!;&VlOGkXbI&E|gb#bqz(e27d#*f-CnG0Je$ z6@}`xKOOl-C{}acM_6EEQ#tk9%93v)3up0qe6rI{F&FMliA~)eZH+E6IQEK;X+gXk zMY&velcchYac5F}`mlJLFB=xqexH>zzjx$@B`+JF$9bO+6La$7?P*);OyBnVuQ#{- zfZuMW+D7!D?Kb~uYI~b+`_F1S%eP&HPkv>p-On4AgY|^Dq#z|m>c&t*^U)*H&TURB zAq|WQab=JQi6@abq|X|l?j%6VA~&MGV#pY-Ggoy<8=5?&BQegmlyfGfZ_u-OsH_>v zcWkcwW5PS{*6@}s3{|r9qOWac1fvQdnt{Ow51Iz&LlT4EgU+Ivw=84t;XdQZmJycm zFQ4;qOU)_tsqa{7zu<2^@j4Qjo->pvYkab3GwPUVB5VAWa%i*5oiBgfDDzCqS~|$G zVi8Xk-6$;)c?JekeU@^v0MCV@v1Hc1zQt>-#ggD)-{M#jgQ@542)%jACb=CCDITDL z=Fdgb^IhcSKLs`CGr!}T-QP7~_|;+XU}3g*qYq#6q-`)M}&^Tv$+Mc8^Y-+a@-3gi>(Dh&--%B^Tz#AoSdzhUe-!Su`GhL2-?he(Nbg9c#1KL{7)LGRRKic>kY^ z^R$Q0ISDQ&>+A}bBj}T*n+C8Z7PMncJnZi@y|Up;{%n zGxq0${>g+hA^3KjRgqRQDQ!_2ZE4eYGzV^%LC%R4|dt64=Qn&Yhy2Af_~6$bh69xRrKe)xmZeRiA=q zsiY!t1})>iqv!b74Ii^TQh^Rpf1c8GskJ}Rrbt049g!yNNSjak(kEF!L?wBw$?8-4 zo=?hCshpO|+3L3PVKeu&*{F_uYIkz8^kOj~_1sL;nWMBPbzjOBHl?<(yv!byN*>fQ zIc0^JU7SiTZkgO|oC)X37+u$8*X? z((syXJC^B0)VyVbBF}BH_a2*6DMA7va}@vv4=8J~1*~gDuLk8V3+}q#rrtW1?%+EA{2&sAH!s3*qH%P}!F`9aqA-&t zQV}1g!w!NIdB!yX%)hEIZNWe_0#l%u%YqBS0zLIHzT_l!9RKb++6Myp0GX%I>vd&o zJ*gZ)MGL|YC)2MIDRYvg<*fT`F7kq{Kd@Q|;Xi6=Nk$v;3S;e&}tnHqT? zuas&Usm86@-Wk4~_2>rUf6MtK&iB&2wl?UTGZ`29#0N=~Gtu2XaVm*uInVcrGOJ3< zd6`cFydn4og%mSFOQmzQXIu&_}rEAp|6T@dqqnu&JH#cY`Bu@jI7c zF?4OwsqaP;W!TP^&cSpr`W-Dl`>M@kY1@9|(;A3^RgHdEwxdlY$#+uaVzS0YFv5a|*Zmk+hjEOd^K5qV{U58Gt zNX|Zi!DYu>?1HA*3T{HM--0hrwtQsnyKVuyDFs zLGBu}(<0@sbC$K{AxbMt)xJu8S;?{$uut`B%ew20OWBxx8)HS^l=RF-Op!>p-VYc7ra zPSO=5MQb)?q81Hl?{;-JS=#uK@uoqe3qa(+An#6iQ=^+pqD3aO6NxpSbsoTY4e+B? z#+YRj^k>Kx_a3$S@p_%7ru%+~aJPqF&ze}p+GzYO#YVry$^X(Z=Gq40p3?jX$*bT;0y!FN@RPSj7E?4XF*cjMi_- z1M36?uFAwn2=#5-p57|~Y&YL4a}r07#k4fZLMpAzd zYruMEav@_=cK5L8Jf*vLF@~pQgMafhtp?TpvVW#3=k{T#zFEd?Gb9g8J!^MOyNXx? zggELMB)f%fz@izcwfSu`{m)QbrQeR5PY13ISdT*Z=lI%B_Vq;S6gpBtBxGqo(CNmj z8cX3#EqcT~{;2w)tFnotP0n**AG*LZm6Oi+jP1$jfjqb}F~`zTFyrP$ZxnM^xe)DB zee0x{>Z(K?42Owc3tW;EZ_tu9h4m|3R8@AYrn~7JrjuMR`LTZRAdQvQLC3v>?(~OJ zK%kkxg~v1rzE+mKCVdX>tp78vRPg{+G>zx}RD~gfI@TFF&(;(m(}I?netFP;{Ap-pZ(mT7o!XoXbH-hM$?|!n>yK-^z3_D$c7U&mbdu7KCZ{{S(T{8JkGmA>_5w1ZZA`O>KNmNR)pHORH2&ZX~@%({cWLwkmy$mBEx7@te?w{)bFn?%2~H5k~<7j3r8HR9hR7 z4Od@`$Lx#Xn&A!Si61!&DF0NAEW1B795@SU`enMf)||+f?OY zjPLK8yaOww#q5>K%b9ngrR_o+>_-mt=?_IiZF5P`Lm)L$XXCr>`9<_(`l(zkfC;-S zzRK3{-{lY+i@z@`@At4?_-D{}7D{qBXOXxsB)6LY4=Fht8af4$b1r%DGacRphy{bga^O(W&R>mM!@rvpjvZ!u)T>4!87TDP#Lj z&W_ae2ZK0B4S$(yFE7<-mM1{U1w1i|o8PffJbzdLohk`_yWX~NSG?5D+Y7Z@nZ=8i zTX2Iy#jMShiTyxL`|$W(CCBeNDixEc&8`vVCN6?gS@)$?(3dNi&&iA}*r|>FpvVoc z>5)A(kM)BxcU5QeuDw1UC-pCMNkiR{>@xHR>`)k1gNrw_)Z%pFp=~E<<4eJm4Dlao z?>XgmaFbe}Ot&m9s`;%2C3V&+oW$1yP^H+1nNPOZLU0n_T2Acac&GEd|0BxkvU0Vd z>GcydZ~F&pu9G9;kXRd`N3%7p9@;jgRWpXHBr8Jcqm5 zr*@Ce=;fuyWJZo};p_Fqbv`%#OV zTRWZS*wj_-W`0{bD}1Xw$&8JwPDvY_?1V0(=u_SV$FojMZ$!n{!B7S;_a2y1DeUJpQ%& zdlMc$X;J+g1Z=h3&6i5_k1tu(IpLc61M6ZC+h2#Dj${+R%v!C^u0(G}iWX%1 z;$<>U%}8hm3R@(-+>0I*`|BW$ax&}tptmN@S6!JgHNU58bL)QI6guog>JA_m$2NU& zB(%MF55>7gaodBL1}UV~XY3a~IpL$MW+QX%ZJ^a$JAyCu z89)8mXXQ(Mh6`U@M@w6qN_&H}w^C`}Qyx2d_*$RwOe*0{3PBkcA4&&q{*LB!n0N?* z3TsaR7&rYjQSqvZ8Lw@tOkW*~=O(($p=f1tL?#1PCx8>BvrnItrp5m|pyv*uXaQqe znH<9PLs`%4Gn!BDmNDEHbJNt>X~PqpoqK%<&LdLL;hJKXI0P@%bYe92vAY{8k|%I* z3PNrt{bOPE!7092Oqmp4EVeX%U4&MP<;$5+c>Eti)#bnt->~(A=q<5C-{rx1_u4Sx znw%)ENQOZGvvmX`uk9HqHGeU1EGGq)EdrqR%wLiI(F_E3HA z>t46zVg?kYcyQQ-Fo@lGH9q9l^2f`pMR(T`?U8^!a&Ou@zC0hfJ{}lXLlVI0(?Mc0 z)KcsUzYxRmCr?s-*Cj=oj9c;ZOO6H)qv1T6l?UR5T)NG5Lkob4HTVPB;7WoG z*Rud4evcDwcEi)YUp3+PvED+e7zzW>#8osH$NbJPC3BWMiQfU6U$t=6KrOcYf-?|T z)N8|Cr0(veAi++5%J<46G-2OHH4QTBu1|Pthcb_}eFJ@YJKQ%Ex*?AC81c!L0R=x~ zoU0wCy60vDh%HrF8iK%W>t(+c@%3&aj~bE#Y0pUJ4fheB&~|U@I-Z}RJYe>e2H^j^ zDmCB@O8|p-hGYu54K=RqdsF)kDR$wK>|Bp#nfWU0=v&{bP?zVP042yAlj=0OVX@n+ z!mP`DtB)L8Ko;UVHZ?el^rm%p;NHUe$(iaRNSDVGMv{{X)m8EILKj&tY-mi9Ip?gW zy<|~uf_e)3-^Np&=%zNwG%na@fo%u0>fq>m2B?%`3bWEmNo`sAf5oz?jH*2M6DmRtq+Ud{oM1SevBiQqWd$Yqlsto7n7@UYJlS;uAVR1E6R>-!{Qa+D})NQsvL=$~?KziknUM^dd zM5krJ%a`thbj!Of0+>TuX$k1Fk7)HsCK-ZQI_^@H@gpO3kBTco!D54+Z=@#p-$;qo zENfr3VD>NRa9}R^y0b%j;+$xvnxy-DyRcKL02nmj-9`QeydQ=e$m6Bo1(sXml^Ss| z{}x%NC@VOIaDbg4vH*qd)hqOJ-L)G8sfdMnWgJeWHOGD)=y}HmWXTX)*&jPB`mi_7DKdlBlJqE@BI8=Rv$f7SHu)?-o6b>xtX zU9C=hv;-_t=ZZxJv=qVvcp)^46d@m1L2b9n>~;e~q2O4Vf@4Vvj$yqbwRcgKO>yZ% zHo9w4HFH4{Ln)o3rx_Y^7m(=A<_{AN6kRx|GX7iH^BJ^g;Z8VCLav|{dUR{l9Y@yq zYqVVRO`9Q{KpDXSoQj&+z0xAJ9aUA@|EnsY(CT{%RhQLgXmt-A<4Nyy_WW)D8n&AV=IekpjZLdk^B{jzvf5F!+XVI$?6fY3!W~Ra%xpQfp{PJ1oD#2K51XxM+r*&;l1*1)V@6QtbdE3#*|AX1*;UVAox3X6* zfFj-26#qA#9rSw3j)K}=5CFxj3nR4$)1$HljW<&uQro%|KL5&1Dm;Ba6SsPe*5o{` zG38Xxh-eaP*j=BchVv8Hp7`6{WK&OAU(R~PxYC*d1p`$jS3pw8{}f9}K9j%Nes9SCfM0e&hE3~=WO60yU;2t@^6LE0c(NX7msOeQ zwKO0GwYw?1EZ~sTIP{CMX2oDSlrRX88LV{L}chJLq4p7wEkof5|8}b2q3FkKVpKq&S1!mD3`^b)4LqM=X)2=T8qw ztY108LUAzXk`$dykJK&zU*V|wm65rfzIy8iF$JDsOFUp{MdB>Pj}y_T{-zBb<4~_h z#zD%}vdpd3r}G{TLiPP!(yB%q`31cI9R9QAMFTw2Pg8Cw^N|(NO9Y*oKsVw&g4I9= zsQ;IEJ1K=ru|MdN)^Hy>tIFgkbZ2kI;`=0u4m=5c!j|eGiPA$xOS4dYbW5!Qt4+Mj zD-+;Gqgs#lI)#}_c9$8>KE;7E!sC08b5YRv{F(X2k4~Gf;L%?Z3UNr$g_y2*iEzS zpy*xa4iXT5gpNm9n=6y2wkEU}M{6!2bZ^+A$Sm4C?AR+ z7TWO`127f>h~>@$SYPHLEQ?=)j5vupTgZqf^6IU-BB@YD)SiJ?cNB@PH-GGeVd8>8 zEo8({K>YlE$ip&cs3xXGCgw|E?cNhqI-BaNydMeA7?){zz|<+aOw;y*ZYgxLJOp9n1pTF4VY}v6+d* zKddaM$RCtEp>=G@Z>`HqR$h8w4Bg4PwMK*PL`;++Etc~bt!Y3dZqBuYw832SN=k2` z${L;&f&CNvt7!I|1BFH12$iB)Iezf$uKts-_Xm2Ovq<=3V&25&K7`{XOyp{(+}bfE z!o#wf)8vi=R9-A6)ugzNntTSK`j2bAmK3~rC=+hN68-$<@>N)woB4B7yX9dcH(4XL zJJl}Go$)SN{;<)T=#C)0&6uJ=+W4?CYa411wwSJy)pz=E4ArMxW19Q|z`3zDoTrdt zQ3~~s)Rj}K0%E2(eQJ~Jyd%)COwRP(!t|+-1T(Ub^+|7TCR#l!67tZd&9zICB4Mk7 zqZ`c74VEjlB1`Hobd$+KkA%}`NQmY@(>;k~({A0#WSIJWXw z%OQwDbO9nRV%oQEU#5A{+f30tslrKal;#hejB&`a#=B1CG+aJS}Nj z&PVKmLOFWXk;u{UIh=BpiOpoVNZsG%w9(`*<^{Wj#t99lmHUb7!bC7zHBBeW6{|na z8go-rL+WLeirPdo1hbOtKKguh*Y~B)uz)AfWYKrxn%r~r6dad*ia_rdd~&H^Ju(IA zR+wANblr_93DtdR3=akVLDFE`$T!W3a5eDIn&9=U)xiEpP%-D4HkEf+f{uh&NRqTQ z0t&vv4&0h5N-HSq)wl{YI2tGS0{TfYj?*YAp3rq)QQsf&wSiv>Cx66G4z!drfM=8U zi#Zw=nmY3v?7bx?P2}U+@>Ssbw}^eQCeHL6F_qcdY_;G}gsFB}MzXbxXz=-F$0%z4ip=aT zZxoP|GqtD91%*;O5afcd_C+GJrilN1q-B;D!)R&RRAPir(zq15t-Dm&MPX%Q!&0yD z)k&qn-naac{q^zbPy9jB_!=#(e!sx9 zGbFwyHe=1UX!>@y#g?|fy+$%Sxqt38p2I&C((5#adu6Z2Zrvx;Q;YX>H$rhodnZpDN>>HoHy?2&UTD<0jj@-cwpjd~xLYbM_@(F(4yg${OaGARZs4iDR@C zEv0tT`%FbBBU1M@PnF&s#C(w6=UuK0+EKtMaa<|AV5rxhbz9>ROyy+h!pCgrPVP}a1p|Yd&qc*GjlJC;%)VheRFe&zmSA_xdw#}$ z*GEiZyfF#&*>C*>OsjQ-EJzGk9Ia`aenR}ErMGD7&i=_wkv4~s=nu3ND8pB1p_#f1 zkELxDFiO4RXSxjzx+B-sF&$x!mGKW$B$FbcV0hm>gg}IA?dI5&>l(v7)Tba)Otn3p zn3~?Jcn?dSMM-^nG0fud5tRi?wV7GKe57*SMj?-U*EbhEf}$Z4kU&dsQ^tLdvpb(Ed>3NVB*Y_oIi`^w5O7w`r7NN5ANZ$h9-pB?%8;g=&RTbMk^L$(W%A( zQ?_#CyOWV~O+-Y8)hr?&Ld79)qX5oK`Noi3TlJ8htdt2HG%n#+$l1i!h41?GFFu8j z_bHcjf0}q!PiSRvr?F8FHBEyewO_x}4(By67W^>Cbj?-6a6XGAPtuvAb(QFDrj&5d;8~}83`?w> z5v;=}7rJ3UNZ**lxI!Id;0EqWGNo1o0dYx_aq3(dr^5A07S%!SRI^6Ol;;=!P?{JQ zN*t{J{=199WNd&jWrmhNNff)O&V~S`Zl!M?layhwfD~^rghhpI6@TA&m0f}2o0xfXmH7|*%`2RF7)ecvs#$$i6v(V#Hy?7g5#5%@A;U271%d9zr*r&^^^S}0- zqiz%?g#tC{e%VURiQ}jb64fb15q*j=YY`}P%NP0ClW6Z}%?tOc2C}&W*~w_~oKK2h zx;&j*B_6e8^R?^=If&wQ?w^UqI_3INOd`h*n}o6|O}0;i<2Kq{GKLj{*V9vaNS1;=z=3XU|JJquf@pv}ltT?(jxPH0uX=q!aqZjz#(6d(OBS>D}Y9MaIBuFE^E z$wsTz9%3m}pSS%BH%rn8NPXkdHG7#V`Cs zOfmE3nR$z8{^i>KQh2lGRv}|tl+E_F)EsjEaVbGtQ(E8M7%TV(I*&KRtB5<=nGMvw zL|YLNdQ;5#m|`x82K&^b{)R1$zT5C4>e^>7Pi5`+wfI%TVX)kHor$ttLsKEgcAX#y z*CLzhoH=RMgQn=2-Q|v?nYPMVpscWVly{#QYGPA+DYq83>@n#FF~v{Zp&vm|(sO$? zgDYn}7bLEhlUT5|8%UUDgndG~`@ z&C*Qw>>XeL!Ol&4vx!b;v=tT_+@3d!c*?wP_gtjDGAW#6D4dBIGpKq*S*UF0*EG52 zeqg%~&4$9p)n?xE4hUYAE4KsF<;v|K)a4F|m!WRf`CC&en>=MYXEuhx&aG{s1MD)I zsoG?7+}OkOZxyKV(;3^BLfV&U0aKVCl&7eiA9)cWC-g+%*MlfO1knLTEX=@p;UK@T8O2n<^*N0&ej!;lvQ~M~^5fP*E`Jo9&X3eS$d9*PB2(VR3*j1DMQXpa6Cnk{b8Y*pW|$*O`y=J8Ro zdhQ5LbgpB7Q&FksS4BLKgSZ2SgY6A?Iry%Qy~nyb@Zc6*o$%+~y4sGexIl6V*k9scJljoFyJ^1+EPHC=!1Uqve4+0D- zTz!BFi|E^?!ZIm8QDf`<;Vf|q5{G24AxQhF6AIc$T{c@+V;8o$Q#8XSci-F=?!MmD zm#|R+azV=7ck<;j&EKJK+9?|62(tboOLf+|J0U+KlVnlrg9_+cv#;;ZXL4R*^BVGL z636N<7kv6xpV6tW59X36?Z{JkqBO!!*`DOwR30zggO}j_$&&Dzb-Jr=(m>f!fF@iw6g8b16Qy-W zdu{ditoe!3D~e1%Hn|eZL;=Skp!gMEjWWlWAy`wS-#NPM6&<3hNObNvILz$*#6zu2*>^`-!4@{Zw?Gw_@og`BujT}A!>fIXk15;2@Fg`fvV@t z7gAe9=%y-rVFi5}|8{VA^t`JPfXxFWp>4NXq85KoHS0Z^nA z$eL;Vl>Hd``bq4<5~W>%#7#zVm0BdE($I-p-}=#d3aRUGp4k=tXMyb=zF|B$+=uHO z5vJE`Yk28Y*p53)h~fsHaDx&dsEN5Rjusd2_PIO-JnJm*q&4rXbuUjt(%rpDR$~}w zkTOpwX}@1pJC;37>b6~3OGlu;4cD$AiW9K?a6Zn*m6&b*2*rYRGYWXIsh>%5f9f*QTL|g!fOS$$@`_A?|qz?^arW?iAlv$|HdLy*8d}?v9`zm@t2WC8Ffo!L4>`4!Q zPcN4*+>dzNyj@naE1h3msMZlU>C?NN!c%z5G3p(@cLAK|M<~II38VDH{80DT!+zYE zG#6i6@JzlfroMRQ!HOkM7X1yZ zDlqz6=e{XaGhPPxuNzW`6P)R)aE)>u%pUwX2gz@lYm;Qjeqwse5S=FH7sUI@M-i^q| z%S|iPL%IrHNFLXm+*@Cmip)QEh-D2=d~Z}uR>J@~QVws+^K%7>S0iasyximR+<|29 zS(l>xPjQInct)`kn@TK-0n0$^`;2XUdU*+pceQgFBx5avYZxW{AcU-YPNYPFM5*au zZr2S)qTl9d)KX|WWHM;`&{~p3D*m?3FF`m?^KOJ@VAJF)4i3GsY2IndMK$?Gm|x$# zKgDY5HSc26P395r4jQO$r2yYEUJ-C5z5^T*RL-?K=_wP7d*v9!`JD6`T`GmY)bj_xVi| zLFZ84=@8BU4z*_;)~+B8p^AV~?*W;g1&8zGjZ_3Apk?O4BLGt#-_<-3vMEv2t4TkR%W(C2#L>DQqAGhcz^&soS>us1e@53-{l)iq_ z7z{_-G{T8UB`5DI>o_8h{@-EQ7GBk8cWs{XyiQ(rWLrG>qM_;TUQtfsh^#G3jLmad zdaEBYy_s&WQOn_4RKqhj!j7+F;YwzlbPQs9V;ZO7IbzDiQw`gEc#CBXzeQ{2<-#wf zJ}>(iu1UCHF1#Oo7jTI_xyN%+O)F7puMLp3EJ0umadxO$C^sq-GR4v>bWCa zA@zI{&jb|>TkB!1jij}*_%>Sm|A>1N@TiKV@p}S^1PGh}2?h-sF(^yelxPABWFUbV znNbu`cGMuE!WCr#sH`Rt#&H0zsJLDfuX5e>Dkv(1H7JWLf*>l3ETgww1>S|Bn&Pi+!aw<#AjaiasElBeDmh7g;rBbBlWLGOE z*fB5MKNhX;lG90rJ8STcVx-PD=`FEpTyV~_ zvZZX2Yea1|gW4?%onA)jM`K~jGbCrY)52&J{jF2CYjoW{^JTa~XQ*1?E@~F{Rv+n$ z_SKf`s}Zw~iY1KV(LgG;#8k{<<#@s|K?{_fKxr*F?Fq*&To!X$x~A%X+{+c%`7tqn zF1o`Xi*EVgx;bv-$PAb2@O*-PDLhetRu0gytc6RZIl!<7iD}>f zFOC4X!~tFr;LLLd!BhbbI>0>w>~Mg902>{knE)#s;8{WaxdYrFG4DFS{ZgIR9AK8j zJmUZ}9snqEfF=?%)&ZUq-~k7iEWjWKcu;^|4)DAb+RXuKO3V!o@U#HU9iWZWAk_gL zkU}j7xNtu}H3#@yVt$`x`rvv2YzJ5=$+kPd-4e6T0b&JM;sA>U_|yR&kvwlZK%T_B zlT*wXqPpuQmJ;s9|{&UFs3N@AKi zz^?+NIKai>0JR-pmjD-^HO-zSH8|=3*GdicIKYomgC88Asg(1r12mJEuN~lJiTTI@ zJ`iB813V+Z^A7Ny6dH1XQb91@0d5oEAqQwG$?kCguOR5-00RW@I>6tgaUC7t8;NP{ z0JjT*s~q4)NtWaQj|ou20qzyx?B7ivY!w8D9Nz^x9@Lx5Zds3m!B zbb!yKIxQSPm($n*u9iX*9pDbhQ{4gT32^cm(+5d{S~%mLO*IeQ(Tfz)8D15A{d)ei9J zy#R|GV7veyJ3tR9=S>HAL}FfWfUj3W2TwUbmSCIU0AETuqa5HGsZPEFym$s|cR0Y) zlFa7-rvyPK2UsZOv~hrdAZX$M>m^UJ1H3ChyaW7AfO9iM#K2UxtfX-K)bp-_6JCU^ zNbC$A4GY#1Z;#n+3y#Y}wadaa@D)%i`$(`RuRg^_kphu7WEI5AY4Eae!qkolPX=pS zuP(LbAB*JPP__)5T=3o{Suf?4hnC?>P(VJnBztK=-J)*EvEZ;y{0&LN zou(I;g*r{c4{#X{w7)I*&EN?qGz=x6#a>k|eBUkK#bv!wgGbyKCFB+f z37zA~uCedb^`1a<#p+utE>nI-L{n~WPH4=EG!FH2;H{e@diH*da^Ggpj3nzc_ zb6*$kQKrqIv+btu0Z&8mh})# zP5)(Jc5qnbI4K=`fS9#OU}T@y<@NXC;|vtr=0dr;CxCxikX)OGTMHs=@;L(t>#! zp&u2z_^yn;SpI~FXi#N^w&&Nyx0WcDgfplH1c|yeJ`iTJ`<}khS>Y+6nN?KCHT%lc zvhWFh8gVUKj2?-{ta?T1M?mBcy_r6lUyivjZQ0`wU5oouIzja3=G-LfUt7x^Q}ujCDK z<%KWvM0&?y2JH#e$BAjgy|Tw$aDe*4ka^~k{9;3%M(t_Z>wPCf0H_Or1*#MxyaTvsd~KiBnCF`njG`US$eR`C&R=Bm0C z-6=M7k>ugSZkO5r?@Q1}!DU|TCjH6FIoN}|s?S23drI@9{?z%s^m+1IKKGi-DJac! zjzab6httKPd9BjLbtE095XO?9uBta(W=T+vp*mOCRT(Q*U#K(7pGj{fww>F7N(r^G zPL@@U{h(i94W%rNDqhyd@)@BN?_klL)9=+S+ZHD+>tZkNYEGPJS)FBF2cgTWk27!6 zuvyw*tI{T;qG9Ih0`v`MkWqWZ*q374kFAXtLu$NtQzxgoj*HBr(z7%!UcDZsUXeN( zlQm0g#d0i)vP^2CO-H=p*22w(SM+FWs~Go}<>(wod_5&3lDvPCMlz0dSqAEeN04Zi zs99a#N>*nTr;w%mP)gNyFruc{s%BM_S_O=EX<=!V9d{>-Dr%PrrljtaB-du1EHB9) zZX@@^?s6u8UmU-DfS1{FmE0SA|L4^ypTlt0k)XNKSR8LwnpPl|6%Bg$;2m)rHwIoj zLhh5Cl4=PPRnHM2Z`^LzE@n4Z@jXqhaYV92F*ajarre8SL}RQPUasGFX#h>=^CsS2 zlI6jd{WDMB(n5THs*}=E4B1)5h4+(dkB-TWa;}GuL3x66jt~{c+20b=-+6AHYYY*0 z->0Cc&{D(-^3A(U46SwyDBEWTN@}58c~|`8;fnSTzQJ|vG2Ipq(|C^UB_$4pU6_=| zH0RORXz&}p$FoR`AK?@yCNSh2IoQ=Ziuo81iU8nR9(8eM3Y~}$Q`0MVnxwe*t2!}` z{zI7I_><+wCczodt2O;B(@y=Hc6s!Dvgpg4`9z=hEP{!SKrdcKV5zDz-_*U@d!+lCbjGD8`d{tR(==?aNs~=#LcFrgj?Am3JD zk&(E$S23Bu82wFs#R_QW-=HTrJiMTVsOm-NI5l3=`%L5jaagSnb;aj|-LMDUTue4j zP$o+5OsNOWbtlU+Ipb`Z7GTJ%lZ-d7tlxAWQ1{?$nRJOPG*)qAS$DM*m<4I7%LL>} zYDbu{ie!Hb;MyfCj_i*`XcQy7nnKCq53)4aO3FNQJN_8MmOtOd0S|(s@irn`<;p7w zs-1w^n|U(|s`73@i8`-KE_dOr_DZ=GeaX9(fU=tL(2Ai}L##&#r#D4)P=3_Lf|4MF zMcWgK%f@m2uQjo1m`*a#xunIFjY9LZ z;(X0kmt90;MO++CyqT(7QE^n-P2tz}9tnsvZvD7Wv3}0%c$^TeSexFOrzh!~B!M5- zCW-h0VbENcND?t~Zf%lG5iIcbw!*4aU4eK=Kt13DH>(JyL;4VCUlRxU-rc*NtMGJL z@PH7oC~Sl%(qN+})@xDw;rb$K+x=^3!VBU|GtqID>kr{8FpeDl@Ngsj;|lqAdJXB{ zt6oHxg>wO~+RO(&`n>9W{m~mq_iT(TTmza}^E(buyN8D6UD$oRcflg3snm-j`z)iT;h(CP93mYk>(l6ykf6~pdVZr{kOR~wzSF}=ICdp0K|B?QwuA*KFyc2Z=_?*V6wLFG#tZbvX=I?Ige;UsDzN;{VVnniKrH;kPgQoVtTG zI=!-!P0xs8U&Vu%o^3Tw_v}5lvPF$#mR2`&po<;os^`FT#;D3O66&ai^Qhk8Kh>2K$lDoB-`2c&+>26b+=8*1^5#&S%+r!= zeb7HZBE#cW=?&bCJ z=31GAk2gVO8&vUYRS>5d#A&aR%bL}qibH2spUYoo`X+RY zqZIvAXz`gjPD);&*{;q5{lVjBlmNMVbjrLViUVQy?jem`_R?YuQX`q4jnO@@s2UxP z@kVF+t1JY@`DC)+?oe4s=9{|ZllcL`>w;hk2n6wAgLo@1GH5>I5A|%T-XbB=_ML(~ ze4FsBA}Il$m1RGcqldJ;!PVYW;5njY8o4Q+E*|$!UEU{eX*7u@&FiEQ1dU9Z=ZLJ> zK66y5x6i!J_)k{ih&zLOn-uHj)JgE}y|F@$T2BJIsS5^}#vdL_BH0}=EVkLFtfFPG zN<69C_r6}2bWc~(H;8~iD18pT=rl|j3ob^jikN-qHdDx;oi+ePpYn# z?knw{i3T$5*~3ENMp>Z^oGlfa2I=aXI+tg zZ&6&RZ!_iN!~XZhv&h@XtfA4({2{sOG8jg*y#VokFo9cD3rQ|~4PK~u5llm_T%$^j zO^=bs0OLvF3k_%%UBh}f_cOUWaLgaV=QC_jM8KIZVkYq~8cDr>lD1-ZkE&M5h(i(| z<6FcY-?Fv{CnD=?ljgJE#I7?xk+zAMzCZMMiXFcjLw@|&r1`}{qTo6@ar1mBjWn3PthdPV)b<@Gxi@_4I7i3k*` z87DAO$3fSdItD^}1EGVw_^N(?hdvG+R6pq7y=IYR8#F-{H*@(%G-Y%+ZZXi!z>BJA z4M^CFg!)dCUd)STGNA?U7VwGLizr~^MuS|?G*g@hnb_EU^>YWQBz z(Ql#?TSAz0#Vb1Qpn9u3jeeYjPM1Benn)-c$#);36_L!Z&bN>}nxA~c6@N8dqAM-~ zsYyC@;|V5pT~4WW>W+4yB)*$i*1aJncDBJKYu3FI+fCkVh({}ktH29M>0TEP zy)pvfOT|PC$~u6`Pi&G3YF6kL4Z?XKbc93@ikzrMgHcND#BbGsR5hfbdNji|%$|tL zhnnkh`LK%~J7ZZVma{PHy`=wd=Kl|$%Qh_8Tg}Y>Q_lQvYvz`nb*fjpEu z?Mf2)!^yoUQuaMkSr-L7)CcUTBIv=TV*}qyp7BH-K5?2KsW)* zQmp->fQvNf*eNyDj@X8naUD9n&atGGn)6D)}v_^ZIGelo)NDB=yQ^IkxC?Lv+}kxk$WnB;UY~b{=)3(8=a?=c!4FCfzz9qrSYhg9Li)1D;d#onr5?R1~#V z(Kd*{nl_)me)^~Iw`#$GmwCJoB-z~ z=>^HUTdSPtXiWxu7A>1UU3$b93b+b*OhY!Xny+Ymp-u+b1k?TDmiWRYB{Q$1_`MXa zL_#f23Io!a5TE(ANA$uiu2yS){VD?-sdMgr&6nq30xcSkR7|&-)_3SZ%N#QSMGL!@ z?j|%x2b8LWz@4z1#5pim8j$1?Z4pEBkmQ?3YpZ!U+LTcvk_N{An{vI=X( zCY)H$uByDCVuwC~KGAEwo^E*>{SLd|L_>(h2c^(<^2hfIlCbHw{leS3Xk~WANvs+} ze3g?~b>wAuU%e)@cpqQlXYW=zE|S^qp!6!D^9oF+=~lrjbD@`xJsUNQb)JdL(2bdc#X~+%)6VayI z*HA;ISq&4NqNCaW6Rq`lG~`?QiIY@+q)&yB?w2CCYIjo*YNb8%n_8Z&lYgJ4)AZkE z<_e`g0ygzFk@n|DDNW7}5v8y>oO2fJEv@Dn<)NZiK@SL|~MDP->^DnlfawZnAnJ~&an z+sLwywIzv2-gXN0!y?=3D;$^TnskNi5@c6(*xtd_N4SjIt{3`~Y7@T@&t!uvL{&7q zhklBiQTI=sWbg4y@AfmvE;GqQ!7@ZrO_x}ZZ~Q`r$bG#|Rp(P`M)Nj5-JC6#*UCEz zW)UhgB+CGe_z>@fRrgFjon{psAb_u$R`ChGbp6OY^Qe#-yZDCmg8jxbW(!|axgUBAva{G)%rd_mZ$#V)Y9Il;wFw>c>vyd$QK&PF78&1qKb^0Ljb*aXsDE0XAU?Z`%7Qd3d%Xq zHI=3pFKNSA*VlOmp%~aMih;(DW{P4!c9)myq6QhofLHpqmt)r8eoMOauQ6-5`%69G ze?P6~nFANr)x?fZcGjZ6{(=uk{1bkl;g9om&pvkC%&;swk*w-D zBJDeVL%D!`wMo&|NzuXnO(ccUq^PpxQGWwA%C~-k*g0`kegPtldm0?C?l+}$wBHdN zZHS~M*UL|dYCsohV`^1Xf2l6!M-zV7opT;-lD;Bx{Yz4SIrAjnHGt4*_pTXQR+tGF zLO$Va)16KhS1{KbZgn|d>J>?-*GRos$|EsmQCy`lxUYGlF&a3(WtN?|9p`XY)tLhR zWuo_bGFHbvu(+x+d$>9D}BJX?{yQe=XcD$u=cL+NE zDMg9g$56ZYwZ~u1!Y#*0XjRy#7e1ciLa|w*da%Bz?()aaA3dRh@p5YRrGORQ6eZ+e zgz$^8Tk_yjkc_Bpc5o6YFL|njMh!@=HOI1WK0;b^aLGjMbvLPzg+yN&)N{u#j6wVV z6OLZel3A4Z#vdR3>cqAJwY)UoU4-C3=s=ZByaj6&Hy}sld$1}N&}_Q!%?nYKcE}qoqQ+$fjvl7WXQbsgtNLu;~vF{2%@u> z+tv4{c|x|Q#IDAzk{UTDSEL2Ax!Qx2x5S$>d2bF+jdN4zbhU}~J%y(kF!AB+nLIw` zLhIn)#Jq!5_Y%~OzpLA|#6cl&ByUs{^$)+mEDtY09>s8n)u^}~Nu)kcN_`^k(}Q(0 z`_W9{q%ky8Z}hCT-NLnKGL05%s}%cuN0IME(G$sBf2^;|j`q|2&o&lU7LqLDo-N^{Zx=bdL~}u_ z=yn!yqimI7(C>(n9??F^X=*Otdn)~_32m1CVO zb;~1k7NL&!oh&D$W{j2yWv~66EV)jW?L_EK7hP86fthG)?s640ft&P|eBLj_en2wmtE8ln#_d6#B}N|&*aC`T;mR4CKU+%WKTOLj%z1whq$v6$>g=eY-dvWpTlftsJ zv3-2j+%u!`_^~o3`ja=D-1TGjmJzqQzqw0WJb1&k7A8`L{V}={hn{4QTy?+U2If*z zr$?giQ^`)(McD^o z0e#C^Y`&Al=E{AvaLRd6*;++&K&}-g;#^&CiM7j&{r3F%ah#L0n|_i!5L{6_zp6Wy zJUH>JWO-iA?5|-+#Z4NHm1KRn6j0TdVU9HYS2uQ5&hj#n-4o9qo6DQ_eN9Y<9P?fi3X(c6CaN4ooZch!=qtc&fTX(ReHhf;QA^JJk2*z6Dgb_G`7~nNMdz{6& z6N&A%Nrp#W=?^#EL#VW_xCt=|XZ0xajPX=-wXl@M6zRFsb4LJf+sAXeFSNE#Z(rzq z0JXuCgEl=}d>J7&>mD3FwpJvz>JQbr~Du(Y`MY{+W?GXOD4%^RsqB#KactN}pcSLg3 z9w|yslUW)OrIZ}ZAva?AkSL}P{3gk-V8+)0bH^U^jl)G&6vR<@bWpDci2jk8nyU9W z`vW{Y5VGw)&q`q^rm>zEG!hne|$I zfd;!5$0CPNca@NAz{jXVi@YzlF?}v|ta3cG|O5GHS@=@{V`a@d>EUPl0ycNxZ zyrIp0mbb!#^p3D#G#?os%kqNyY`Godx=ct!)EGHTVoVcIgEWK-dgwX3x+K&GX9cm* zma-)U1I`0^JdvlR*?aQVvwai9CL+9tfEs=Y{c!Az+cM)cT1pjCM#m~ zXIb(4b>QU03HbXMk=K{mc@ie(l)SNfPBKV&$27XkMp8T0s)uir<4UVYmLzXDvp&H* z{uMevtBCFPGrKRNq#8{fa?e3h*{4zOmEnD2p3Y))^2U`;=D(w4cdh}{ki3w!R%BHg z49nW*F_Go{IyQ!_r0xMUK; z`*WnZS@!y8WI2>q$t%XY!4Oa1f*Y%tphsIU3;uUBA<*>i2NqFoW--wc9DXA+En_D$ zt#G+lE+ouZ&ozv2uSAdYBE~&w>XsLnTM_q?rx}NOALwBd8}Q-+2^UKpy&1{nAQxuj zXWO9_cDL!7zt5<&cU1BI8|9^IZG~@5|5>x_?ZJ?|S{k*T)v0_VViu=^l;YQ>ZSWM0 zxqRREH8HH>R?*eS5#A*`s}+u~c7#=MfP{~)c4Cq>HI^7OB)Qd2u-4=~*4Wi;a;I1p z$1Fjb@2_^6tMVlKnxQ5pfu-^aV#2xA&KI60e2$R7Y!7+zt>Rc>#NG-a0*M$$wf6EK z^vW(=y7+)JMLNSOt|_a@3DKg4^Qp0}_6~DmAbe3BA*nS#SnWbi(MfCCN+t!BoA+pA zMBq;Csocvt-e2uv(Kpt#H;5)&s#d7ObE}mVl~|#BrI3dSQ6uEfef*K5mAjQ$jx8NS z8fxrSZGd=%-K^=qN~0o~(=Tt%YJ1o|{A!}ikm5Bu*geW-9@f6e8D&Hkv+|FNH!jcU z?I$H6MP1TPQ}x70#o}eZJ@$G)ZSBcB)ywRZ44HW2x}w9EWhCOhg7WN*@1j!S6v3y@nAJ<7~?^* ztI*ba5II$pVz`vy;a5hCXhuc9tP%I!@C^5<`$eJlE|9 zRy)t@JLe{iZ4Py$G6XKdtp&N&E)Em=cv5WP)j^gXwO{`1mOnqspRN3XM?T(L)~Iat zCD}yf0WBC~OMbbjt+(XrTYj}9sJ_?9y6I%lm^RCll%Fzu|Mwz>iX*%2{YkXD?kTro zvk__4|6$oB)%oz@#x8&MNa3<2e6nE@Eu+1L8%}Bjc3M@OY5p6FE&Aw8_U%GEP3~_@ zBo{+om!uw&`ne^e4?qvK!8;V| zgnp7j7M&asX0l|{)YkUaL~e_?H{3}1;Q)cjD~C4*ts|ayu}{(EC}j}+BqIzoOBiTd z`xY`PvF6ht;sY)m!~_7Dz_HSY&Hf>HtcVJdI)`AZ=%12TYp!0_Hi3?{{&WE%brLz~ z_h%#5un6Y(rKQZ_C&Y83KtKZb+l!@Pn%{FS z$l@S%ez`Ym3t!E2O*x4k;^@{*ohnLzB1QK0>DK*~cMEQMy-ehpUb#%6XrIMhqp;!*tVujH$W`(8C)+Z0O7T)xW1 zX!X3#(3;@abcVrlq^9j8rUNTm4-1w`5qHilLXnvPx=t3ESl80GULpOgb?)>tL}PI4S5NZhI5E>+#sa+mq@Lx>JvuK55YIO&-v;hu_&x z9>*9(ZfA%I(U&Ar$0R>2G5j`nC%Z|q@Z;derGy7wRpJ*n!7GHk%hjWw3xL4bUozCd z5|Wh@j$bM!6sL9ma`SdE)r!TUQSTk~dU+Bf$0|}E&Dr7f(E@h-vSVUH}U(tHSSIy#M)*Wz66&(0E`#bhtuRLl_0Tw+AmlA2jnD^k&R07Q9 zL-u|GMBFcJq&NFZZ?;Q_lhJryhsRxd3|pnAOqy3E&9fazQ^%zFNSEe*`UXUX5d$%b zEQv<#6}w@0B{4z#t+}`11;&nz({^XUUEb0hEo_Q{n?s?~SjeGo?2AC~t#`v&ETk_M zd`zY{0|Q-!yKrjx%~@}VRCo&ujY9iZBfvqDKjg)oWg~QHIJJz|J44T{6?YylFE?tc zFBV-jJbl%jGm~BYFtHc55?6nh*1uo9MYKlTf2`{qdR6HBebXV&zewl*sxH(0+D={O zhnuC$F7}<2Dd%ufXyYm0Ms#GO!c>T;zrDU)RdtSMs80#C@A7GT$k(_MeM<>Mty^_1n5*cW~93 zu{^@mmsZZMUD>hP!thdE~+6xq-ed973AcbEKWuy6hgi|qP}Zspvq zx??|GYg#$*&qZ!8{_9%#(962Wwx&prQ>2RfQ!9u6g+*qVBESAYw{qPY)5VTzofi|k@I{d19T7XEcbHZw(@*{oYx%PI1c>VG1ec7I`!dtcD4 ze9{#8!ncNOy8OAwMNj;7t=xD*7umoRneG(1rrMuc+4C)5?BT ziqzuM)+y4;|0q6H`cBaoG|c8ru3eP;Klo00#Vz)?$*oM0opq5N?0qq&m27`{Zl*AF zcPcE`iX(9?_ZS$5mE2sPa#1_HESe>eQ!eUD9$iQk=cH17h`_O=H#^D`8%x!7l8(C? zY`G+@RaB%imKiK#0isJ(51r^1?igM47G}F9;q9`{@?R-dUZ{+?hb@BS42s_xfl z_ekaJimd5dP(XTa=TM{YU?M81>E!Zf?=Qe^XE_GRZXa2V7f-e6E6MshV(OWVs5NJG zaBNbS1$oOPC*HgVkr=EIZD+@eWwZ7PT;I$1k|yXWuT#(cMQL{of6JrQ&j2Bd(~z7|_$`Mr5_KtD(Nw`y?ul zr&gWC)sY-h{o(v3UaHrlyd4EK?XI3waz}6Wa_+R{RcZVRl5k?w$&0nOcOiOF`FEu^ zd&9(<_O=+=&_~m}kyJ6~7afB=Djiz{4!SURM30M=(6-}min1lX;&3h)XP+z82L>q| z7~r{SB>Q@;eq9l~nikZEMV8s2u<_Jq#5#N& zl#raklI}c!i{+#-NW!cXhtzgWbVz~h^Aj*P38eH4r|#0m22G>~uGrYfRaR2a5EJu` z;GzX}mWs{Hb@r!>Lhe%o(maK~Vsm*eCRp#0ruJKJHp~33a{MAP%M#YWQ z8Wvl7WY3Fblk?Ng`^uI_Bb-a`pD8$#w-VQ`M2we0M=Nxgqqowpa#UL7h?OiwTL!u8 zAEwg>VfQ$`MO%3d)?&l?mVX>qLH%;0iEC*6D-ZrWWjk>)B_>|dK}=>YlgX`1j-Ety z7O%P&ivkG2J$w_lnU<%N?V5ZpK6ni;+NaLT3GhIqmAkeF{%7l{BAs%QSIy@`8{_OJ zl~+>jBh~Mc>IyZONWsvFxa<58t}hjqlExp}j9vZV!ttNET3bcqNd$#YbP%a@{V~=X z{gO+a-sm>+ru!rJIe7!2U%|fvHGHShWbR@zdvu;5-spb#j(Q096oKpwrSi^>Yjk~I zBA{3g01m!bQ&%b}Gaj$!aDUcL~%seyQ6^^Rw9e zd~SX|Hb3u}pSkAe74!3)`I&BhrkbD0{J|2CeV0uVrf^|w97pU?E<5hGJxqb(5^VSJp#^i;Z;$#8lI5-%2EuXQpDn{5 zc>xEct)_rT*oGW6CYdw+tuT(I%QWNQq*16+{2})x;j(46BCj30_-t9>cV(rn1R1z* z7-RbxGGI34zV*@!JO*q$TUNB)Dz44iq26O$?Tw4hmWA=|Ad5-FeG7@~e~?H`WvKHw zJ}a6io=bk=57FroJz1iMn}9e8ct`^7lmIlp_iUgBr@3@&kJFg*iudr?$`W}9Xx1`~ zFq2}bLs2V!qigJ2O$EG8{_E%-lRryGn2c8OK;omnP>0VNQsj9`fzu374QA*=jrSyQ zzX=q3-|48@ZE<{3X4j)%O5?6QG)Q~uw{Kf7IpsuApCqQ!?$WrLPOK^`qQ{0Tl`h8Q zvlsm*{A}G?b3?0|0}rObIzbx(O5;`^G`N@9P04Ae@du{Ms6&j$A*6fh$UVVSXbf_* zcWoxKwWv1=cvshO`#IU|X9jvb_Q!2=EL7_z?w1As?il0 z_?kZG54D`u@A8t98>KU6uEun_JTty1i~11^T}?Kb3zDm3MzxD=Ow?|6I$#T{XSCGJX51iCXJKLDrh; z8ngNk;;Se!u_}r^#5m;~1zX`rZ;bj3T>9g^@{hUYA1{@EJX8MhqO?_V&Ex}H@Ll|T z?n0OEZN3#-$rRl?-YMrK$a-=avCM%(jUo3taxa#J)R!#uF5l;;kx6RswdvPLH!c`@ zBb|z`1@vE4YVW+fA@e{al1oFw<3oM9a9>)QlSHhm{Lp~g>>^Eu&S-3mebI%!pn~w8 z{T^3ok27PI`twWu&40W(lAsZbEzFXO)qP7;^*mm&=9TR!7sZ0gnsGlhAr-g9>U0K6 zG|Z4SgDMsq>#W<;<5@ss?VG3-714~-D(Xw=tf#T2yKCd~#k@b~*|gIW$)Q31NPAtb zZ^>`fb3>eeblNNpz|&w_F0(nsK6{y#x;Qu&^X3$>2(gMk!FLBji|X>c`4!jE0=M9o zr+Z`Z2Wb^O3!q&``}6bTc@Lw;q|0ddOF!X(uic@Z;n-h$hEjj^hN`PB9Js*_2(?ow zO|>zwKXlwq5V)O&e^6zO8bU3H?Nj`!9UNkLzLG)mY}(_&xJQqUX^fY~ctS^Riga2b zjmZrSO;4aj@ph|<#?X%VT&$iGtm3+yj`{LO#ur|wF{uSaaC-Y72nMN?+b0>AS_NF{ z5q+9=Rwc=KaOj-6N5hBVh!09#dIJXXC(_8W8j~8qHa-KzE#agyw}jfC34|IlQVnqg zBIj`(NgoCAsQ^NIYstI`?;Rd}%I?{;+Y{+ph04534%3b^v}3Jl$H4S7+JOxfmw&aq zWDfv^mT(y!Vy&XD{y`N*gvw=&OQe~+to8=glecApkdQBbOnl+R8k26}5_Mf^X$c1N zzf-s1?=ZgBY9!SW3&T<1(V4oCDUd(Rj9@d74}X+gH-!^+-yCYc+ZU>AJZa{g@BHr#unA9|0T~7gyw>q5fs()}`$eq1dF6Ia8sAC*RdO|1E0r|yW zqzaSTzTzvEfkyoCWk;-K>Nl06G%NjSQ04MK+hl(6T{w*&`{PTUYL#+Ni2xpKmhfDjZkw!sO*S=j9a5px zWz+8eK@8k^T(ZBqc0wt6cpO?#KoaAa`=g|Xhs&(x?GTR0?Jngd@*Iy)LypW~-V7lX z1TqTR7#B7ew5v1|`%9TE!w_3yd7!9m`(7%0UCyYe^A zDn9hF?os^`jau-PbQ<1#$mtP-s=`CDzU+geFDabB)s;iJp$C(4L&_5#lcfCbR>}7$ zn8k+e@S-@%w#6lwGmb@BVq=q^law3onUvRj35B`}{N4y}Mq*rb6K}t!+#E@wpaZeo ziH{9;@ML!gHnE=AvXU{pgBD?Ss-GdTzf2bTWAdw4#pzAhYn(sU+So?kH31388)h}*W zjSSbZT&qP{ZX^KFl?}7DKv0DAJI$ZI?uTn}QNwRdJS%@rdudx}$&>>;{#o6-WOtgk z<_7KNSB+%B5Y&4F*M7;qQ?fU`&dI)8vhS4ao~rqMH8;rnUA@%YWvu)?lk_ZGNBfyp zG6NFrFY22akf>s4ng@Pc(1u&~>Yp%BUhDCEo+C8;8H`u#SM=+~iFQ#%Ci^owbPNdP z6(lbYOcj>2^<WE_r zD>MmU1!p${w_3~4%9h}Afanfx&rEAX8TwAFr*K_ayKlZ0mM9b@zqzoxM1VBDC9tjh zs{X7IFlV|cvDM=*p(%?buSv_G8919|T)nd;hRYrN49-~U4XqW}{pe+lWkR`|U!uot z;E42I`1;LQsom8gO&_ybtfGz6@&xg~ql`)G-^RL!d8}spNjGrcuw1M4!Ld!GJLrcA zNu=s`SpJ-fE)Z&JvYd8IVl<`u+pB-eti&g1GnLA^D4V4mHBi1nI}C?vRIi*v$--GV ziGE~2tr_yPk=#RSrfLK05n_F__axGXS5gwoZ(WV;u)SWw1`;N;yi9;=0HEN4Oz5<+ z??u!+T!e!_TMtb4j=o&Af}b#}tS6Q-IP|JEd{OP;W-77-)RI^g@W*=U{y`K$?fJS4(o2K~p;SNXb1*qM*%YYG{dBi`uL2pjYAR?bQk`GOXZ*uBcVq zb_>fnSE8T(8PxgM!qIi`k~1|XJ8xYVPL@0R{PW%stI_9num z^Sc8?zt-28F-*(?@?)VGok`avHs0_;3tp8tBux0E8oF2Nd7lxscsi`{gA|1l@K@N= zufEWgYBDI94*PKhnCM-FW^u>b=OmnqqUvBm~ZiD@r z;F^MM?U6|g>RrURrYv)@??GG`s;=E`>i9-oD%?b{3+jRaA}b8_OxY>fJX37pPpq|R za+x}f=`vLR#dYp6Yv4hKveoXJWE#~Y#CmGekC1BdTK)=WPRY$4n4V-k{WY*^x&gKX z=B9$ztt>=?E1Yz9PGkRrD#y zttV2cU`59cwTc&_wew8bRo-#P!DXH)N_x&S<(slHOV8+`YVWoL7t-}Kh18-#wsa=~ zJ_CJA9U17`zOuqJuuw`#IZd%a8oGbfLFFpt2YWIF!NM0?UkNrpFrb3 zC0JITxPw$8+a6P2y-&Sm(kDywb406bo#B*Sosj5@`BCKhL^MU*cx@hP z@fTo_1253Dj^6yd_`=hmDj^l)cz6xUv2c4<%8aFc*rTdW@v;FQQ;RM*iKwg;-5$sn zS1ILnVbX!2JC)&V>wS#@Sru|vd2=Xfr7u*=pMS4rZ`ON0`NpenKdI`5L~HS(ubH9A48eRHUj9SGGBMnq>%lFpuVHy!XE@w%f?CtUP~Qu)7jApd5NumoKXe-D$O zXEEUGgWUO)q7R|UG-Q2m&zsx3Op4LFt#Gj28_NVboz@#h?k`Dd9s!O zS!z@_0t5Mj%sA=UAd8tbV*t#N1uc$Rm<26^1#JR_B53*ZhdYhEMyE>N@vYDU11*!A zweJ9X|3E%1Hbg6o7Tw1eq(at1_mPh7BQ{;FWjc6qpybQnBJaNDJ-D`3uC*vPIi^Qs zM9g~iB6D6^b(K_J79eR!k^sMd?=;`=dzWsE%*(Hc&`p$OK-G{oO7M6cyx;zT5Ovl8 zz7?Py%c_*|wE)#Lu*3dHfGv9}%1BMOUnNL$>^TxFJC>*&l4KqAvVPbeFTjnkVl_td zhNwunS_`G33@g%h?R ztZegzEY+Vhd7;%Fv+8@$a=Jdc#G28Dd!!l|Ro$A=8rEOV!mOv$fYdZL?0;mUJE;)c zO1*{mXCE3}pWc+Ry;Cp~T=z_+mN61&sU@q0{ zA$j^L-87g>1~0vHI3&bXK0T}%uxT0>H(aM0ksdFi8cbr9T=op)^OAy|s-kOQAJ>&s zX0htTVs)juQO zBJ>O=9K9tJd(;uF!8VIUvXhh{$bN{XvX3L1y}n~waOkgl4TD$5#}WzUS2MV2o$R*&j_dmD-n;uV@$*y0`3+kSH$@Qcvl1a?M?!G1qNxEmZ!(lmM2&Ku`Ry* zu4W+;sRcGXjCiI1bdm&})N-0yV1}wcer@wepoi*~aKb5u3hgRGMbl+0GZ?FMoj{Kj zItuZWrf#4Xnu#Q(+yAUC^FAp(S}YR73qb19ie^p&jDGA7{a{a&uPIt9Ds}(?vEO(l zeexU#ko7MmdY>;;;#s5*8Sr2G2n%s@`->R1QTU<_gqHZ0oT-K@Qi%^(-H(b_+V|eq zo^Xmut1meJ(5*D~6B_NZcaPL35)bN_U+mrw$sMBLfB=_yVi$EFh4gLX`J8!a5xAfT zp{z5B7YcgHvmbt!xQM%jL2dut;Je(xS6$+3KZ?lNbL60CnedGxBKw|m zO?J5o!t;E=*3#)IQs$XQl3n3Cn;ss-4aYWC(fy;S7{2*C^Q#8(#~$|<1`Kj{y_c*+ zg1aX2AYZ)W3jknaZVFie;@O!r|8`F_NFpKHtaFun`jhxufGup=mmGFxc7 zZ1;8o7s`;?S1~kdsg88tJ9~)BZfh{~lkaqmA;2dXCKwF1wt04E6KF8(cn=JB5y|x? zj%4g1@5qQ`u99?!DwF>~bpO%1imyo3e{PPGZzfz@&*Ur`H~kTbLSKPTSG${0YO|(T zMFkQ;zk0oq!7=JSAo$i4QCS>S1N66)4EpRqn@Qc$` z1!?|pZT>{m9>-}ij!nV?q@_=PD^E;Tg4CQ71Dk1xgpYZ zpHeTE{b9b4?N)+Z1#_ilVvhDLpy{{CZ&w!cDWRot?`)QnYjQpZYAW5?l=cFV_7hUt z*Hfi5*-l!;7f1*zed%ZEoGz|{G%lrY9-;fDJB?j@6pi@^Q}8pDxEGRg$`G#w|$i)BdU=}zErRQwh&DGcIE9Llv$-kMSbsbxvr%+6KKv)v|`$ECWR04;Q1Nwd;HV*^SvwY$eEQuFuu+>5=kXORQJqDj- zw5Iiu^*@sN>Ur^VkCEOE`xo9)lBl8%ChB>jgb|*6$u#C_6Z|Z}?T{6A+wYfWkc;Zz zDt0oga55azlPt4qMTYU^8MYGRj250{58I=ebD9h5W%aP#oBor2T>Ton?^z}vkC@5A zjfItL<(#azZ#isdNmjjxi#wOY_Pm9uyi*J%JIijF{gx>;_&0B4R4fGeR*Q1(aDFZ= zc4%!Tp`~$8K45s4A!EC?UPLl8E@;{tNfP_?y{vrYq%aNsC50{6(hrqGMQvFm+DKF z45WU)DNWC@_tNJG8AXzNAD7|Uwn%i&oIc4@l~Mb^QA~gyC85-^m7W&+7}DdfrOFLT z3{^;shM~dNgP7IH2fq@@trJdV;Z|Z)7|qRIZ$)O&<-U#`ts)^tviS;^r9}7IovE!| z^AoBZaW6hb;aH$pd8h3gMrhiEZwBuW0qvS{821|2NnN3}`X&rROsnW9SjDnJ++v=x zS0$&i2jix1(YI2p_JmOMkt8vnQW^T>9DIl!#iU8~efh_RSr5ggdmp@*;<4)Gx@l0{ zb=&Ay96p87ncSM_2|v=;zEWB*uN!E;ig3ABkuPM2a0WrCu#`_8H z8Om*%sGcT*qGs|F=r}r_TlRUp8bJL_nqAJmn!@ zrHfjH`I3NseB_4K74G9HpNp}<6#mA07L}E`Twj!xp%t}q*C`iiz90kz z(NAoM&kQcO-WS^9+i=m}oYx<&=ShYX^&>jx!ZV!;uF}vNAU-Iwx-R87`Ml^Rck&y> zHnv3V;!8(um8kOStp=b=64ft!U|&+Lp!+cFztZHwzR=vTP*M-|5n4cr3l5ebUnGG` z@R?g~Y|M}*%)l8|OrAAAiDN|EEnJZos;Abln?*a(8_6J#|5MX>9k@_EAiBgzT|HTB?av8nf`w_`xaHn(Z2GY7p@hC_ z1ZjmRuRp~!Dg|vWR;tXT1|QS$!o_i5eh0yV_c_uAA_ZP`0|EGPNkc8n72F9fJNdfH z=#ZX?{+K|TI!KR8ti<@yezL77coPPvU7BV1v6J`56r`!oNfro$&E`Xjly^3;`h1RF z$V*d;2$e^XJNAs9u$mr=DQGISMx!{7tI`-Z#CxkxNTW$NcC+TUzbrS zHN;|fyS|QVafVFFP<8tT0IZ?CAufPpQ2a0*!}vwqM}LzyOL)~HQ8kl3$Mu2nDtVb6 z0mnN6F80Y}YX=3p%iVcOf1c3Y$P-TZSl}f}?V&)zf0A$s{IvY~Jh$sLlDRsV3+v|D zMoIi3i6@_p_k@-f^zcmHofhmEhzx2Qh}VUe6o2FmY4CLi9htlV#Vgxi0t4ho?~>a?t@N%o6F(sSY!^BwHmnNodq z=>czaBPd4W@Ea6)8pSzKZ0%t!Xg^xb0|#vl4#_Lp7`&Y_oXYt_>%CU)%C3c-X1B!% zb(uPddJI20UPzzCFDhlY%~{ zvJO~y`m9`gSl7bwgIuP7u;||+nS<)+*4%K~w5GHD(+|2ePob`pE{?9oFNjwRuWhRC zL)+*n?V)8XfA(>!_&t)T9~eMiB;ZvmglHm@eAfJo8w(G0D!kCdn%a|^sugrIE;!g; zJsK0;HTg_@FpW-f%Q&0C@mYDtY5e@wIo7OF^%i)Dzgh;*(1G8|+l%|fPC=8PSn9&e zi>}t=y_dwDp$wSGQ@`tK+_H+bw-%+lkvbx*$()iX}~V{g$tEwmW@fdzh}Nl^Wi848$EFO%XT zLq!X3gIwCvC4SK-O#U@T7#ZE(mcBdSkHmgP>6q_s#|G~+jK_1=<%RBx?H*2uQO}ZJ zCyY!m^WaRl(*m`gKEz3zw>)dN@c5WmPiRuC40v=U1>WtC4B_pchi+mXSb0%=Zj3dzrh>dZI23VG`>pd__PiW~Pvpw?RB5E)>fZ)t^$MlcoQo z2cjEb12o}*YSFn&ih^!JwOI_fGmcFD<$4^i)>JX4vcfmO5d1OKJfT~t?F6q{t;wGe zTrVhE|8dd_T^S66g=~a@q_V#8jGI?AL&(*H^rNgyda^0MjvVBT9?@j7oJ`ctDw3y? zoc2NZIwM7YtUo}tSkD4J=9d%Ly?p4L#d>5m1|O?rEYRqdZsCki)B~Vr@Hf}g)bYWI ziox&wy(W(sh?5Cp6^B5=po}sknF2|Q$)ZSs;)wD(^#ck)O}|5A6_-Ws4*3Y3RBcc> zOKYRkrFS|@2g4eKHCcJ*yIKn}#;QHKs<8!mq`*2^`Uxt~>`Lc+L1X?Jmygol(Qm0p zM_4L5l@$0Eh7JC3LOQH9UiG3H!r_`pS&hvMcgi}K8%|%K^dQJ=Tcc4$C0z=vl0g?X z&7dF2vlgU}QJK_2me=T!K&Vvp5h5YUWOLbOhX|Qu8`V%P$tGXIJC@AUxQs9+M^(1L3hV^^ss2vcxa@TDlfp2|ut;h?fN9p_~V` z`AiRe9<@u=VTIIon1TF5s{R2CR!Xbq-L|q@wcAufIi}`4m+$bo$88gAk;L~Pdgj~3 zy%GvMjwoZ(#o+2UyTv#effeda^61hFp74iusSjC-Jdr$ve}DE7kM+t@ZR~(3wy~g* z#J{Pe2+r$8R|v(bPdEsdnoQFX?klDGGzi@r)mOR9b{chPU0+NQzLtLShA>hK-n23| zJ@r0SN?YvWZ%KGL3GK(_%WSdTTlRto6zmn36M7B?A@?0YJ@w=JT~;u400qYtZSCpG?`RnVuV6}g9!8!mS^R@Xl5sMMYX?v~R3RD0#7OOZ{M znA8jP=Ag6PH$;>fyksX&sVLaQ_EEfa(J4h?jh16qRbGOVIN=QW|-<7THgB> zBpWdUY^9g2hXo0eoJ!(@J4TNdfCqKB)>e7t*Yov#{QX*Pw5f~CE0IOiSn3)G-{FnU z2mK&lWDNYVyGDOp#7XYRbu{?vftDmWl`FiDYYtZK4I*?9ys)p<@qLv(3du+AT%skzX_@EtGCY&@ z5i{&*(mI@8KCK^x7fpO$u^nuNOf|x;F9&#q%hS|nv_M$dO|UYa=?TWE{nAyiso(VP z9+C&MXBnTm-OMl6zCpExXf|yr{+2z{eA!2>r`Hjnl!S&>VsZ}($*Mje1h1%`uVfng z;cvp~e5cNP9agv87vg5>I8sGt!8NjC3ISIEkrN@PI6OZHJY{ zdYieTyG_^#Dv_qo8HS-+_CCNg!irPuhDk zbQ;SHhPM9DS%1tv`>CrhWA%_KGeO&y#?Fwrt>mVG{m|3s+;myg?xsk4QM8FR`>6-` z{ZpX}oGSCkoNi24TGKpQq-$&yjRc)+AliCLbFYtWE+xooQ@jRBrv;iXw~EDRTKC>4 zp@wi}C3pK_pMAwN-f#cX z9=Gf2#(duqcSirVj*B^x>Uu1xpuV6JG=h#FSM)Gqig=cRYJG-JAP zCn_?Q`~^#spzw7tp`qC4=dw^hj8C)PcoxYlZMTuyh-LDf+grMZ?l+|ovrpkf-(&1V~rM3aFIPC#H~wcXd{eEZ1nt5(Xy1OCy^%*%E~tI0CMU< zEc$Gf%#S2#O%nN?#yCR$BV4?tMj5OyLoN=W(=y}PlZng9k`mNUB)nAP#M$r;KU5xX zpT_eYH$8)Ot@+)U=LD%mBtZt*M5%f0w)-Qay=sHWg?fmcu=y52SZfr#k;mzY-nu8w zmM;(1tP(Ysge;6(F6fH%IN&UdH&7GxFhhfPRHIS2g1Z@XdQXjF6`j6>&dh2hIEDxg z-W!h|qIJVv!66WIu|YTtghJ5!7K2ZoXf1aysd`C&g|)^;JtWc>b0nT#p*i1hR!pOu zW1?0f9+gL`ex{r4f9`Dn8#@idSi!3;EZB*zu{WW$UYl0Om5U8uC+=5NYHHBNnk77fk@TZD>Z{ z{o&3vjx7*8um7YU;`vT5H|@i`vvJJBCEF#x#c~b9@|Bfzdn&e`XIf5~CwtR)-myJd z@Ut&}lUx~Z>a;62-ua&KEir!wZ^Vl*e)fJr(IyL2@?4uTzi|_HG ziOGE7$CfVAd_o$%f7a2mU4giw+zyp}mQMJvNf@d~D6ENumrBAb!PMI%7+#S;W)KNZ za>|Mi2-Tb!$DB-Z1sjn1d`e^2LhPa?MW)Vz++I1NarVq2Ia^xJmFh}A4w1~8_P2B` zOe34^B9nUlE|z1gD{41)knOPTiG*Lp%1C(qD&gxT{7b^^8^CNF4{Yw!J9G}e1Neyl z-99`bMOGDd&2=cmDw&rbK=$tB7u!mu~H*=zd7kF08hoy&% z!`5NCv)l*4wJ1o{Y|jF=YAG-`=_OByUP5QerFfaoa(MiIh&vDXsEW1WCn14=gpD+* z5;15ZprD{xAd-ay&cZIegd*TY5yirVT|uP;H@Rk6*Iusm+O8e@MO1`9fKV(HQ4|%h zz!{c~bV$DcGw1APgL>clz2E!(K7K#4=giER^2{^OJoB_cEe}6u1b?crXjs|iQ|~lR zFju8O4n=V#2MSR>iSG&4oGWl>ZR^&zRZ2jU9%jesNOjOCpv|RFg_&DaN6!G)akmj7 zg+xcF6%FPGC(knHP`QX2CP5+HRrU4d0nlkwb`sZvb&?(pA)+I(i}sk1H3W;$vF8c4 z%Z|t`12suUih1$f8qu=s&p4%4 zO;EQ95{kO>G9z|Zx$Mfhz?I)}eeH=|FvzL8iLMF2VkMi}k3k=NAIm_EUH; zVrL*wCGbnXbYtQjg{ouAMzl?^oRk1JkaNNa(F%24KYfk75K&9_FztJ4ul1ZMgtKWozH*bb#)q=9z1sTq7k~EE^-}~Ro7QHw@)ySWY$XvF7I5%l&d#RpQ##Tww{raFd7_C zhnh6P{$~NRMU8b0Sq^E;qjeiFakqXO1AHaA6jyT5)AAh*`_?6O6Cz*98rjUemwd}; z)DJQwzg3Ta5q!-@hc$EfF&{`A&KANbN$qb_5D;8KBj#}F7Uwej!L2U^eh4~JWo@wq zaf{qn3~rTFMbP7~p)2%qnR(_-!7dTwiiN{AY8+&~_D(%UH1W84=RByIpjkLAZ1rK} zSJH<;1j=>-!goH^BI*{pjXm6{A~P_UA~oh)Lm$|h=U!M3YE84#1=J-QC3->H_lNZ0 z&T#S)S#0jV8Vf}qJn!Uc&?`Lci@B-6^~;VYg}da@i>gITVaOR8nBn|lZY#*vq}AYL zxa)qt7G+$H*;=}^F>)@prN5pl`$dy6j|)noN(HHy$SxX-*e-l2X2xtim(9wDm;)wI zm^%#W95Ni2ltsAocX?oYqOoDOQFpygI^-xs;x#J8w>2xFP}LrU)J$I^BSW6H=?{jC z@l8fsd%!n2My`QpL}l%`boI0rjO5pYdf4~r1E`5W}qu*i;oq}Oc| z$_+BRH%hSRS6hQHbZPQgU=Q)11hEez8LF|CGniW;+aC!Vt9e=O43gV`nh7<}Fe`V| zg^U*p9UtXu9phyzV*c(eu$1AHwSzOma>UKjt%8|c_%ilQN`YEm01NSTY|>sKh_A~uyb)F3~2Dt2Ld14l^)t*ax_FVTTy$pbDa zFG?RipeFSMPq<>A;D;z$>L9=REWKAvllo=DC)%4>`-!1n^d9WkL?d#CU%crn1oR8} zG+KVTE-&^+SX4ac4h-8%J=4MMeW-%c3J)!HV z3acfghf+C)F<^|?v(O&5&J%%}`jCO?;$YlfC<+fATr2b295McaN+;r+NKrvf%;?I4NlcLKVB3WPB=P zkz`H3V#&7g4N4lZ`zY=uoz;a^an5mmJwxIO^XIEFnD?-j(q#+*Sqxj~XOIOGAn?w@ZGg>+q}Dz-bdE z{3LU<%k>qGl;`EQEd4Fw0)P7x+N( zUrFYI@Q>3dW|>=WMtGt!1zTEDgV|K7vH9`pO^FMOajp;~l&uJu#42a|-KEc=`g#yYEGiq&rV~EkEnEHUn9Akq5n@8|*EQg~%-E z8o$Q0Q0{xPI>6E$YNdNIE0naj`yF-p9b)ZDJl0tGk@nt6x>qEZk^#RNtEe6sRz;c& zK|6FkuWA2-CY2kQ9yI7Lv$$jsE|SePFEEI!q<}W}EcuFMjFebN3sg<5HN78k_YXbEmlJ(^&cGsiDE6_g4E{Thvy-^wyPZ7;0*_7@{0}di9yxRW-7c+9|Rf z5y3~hV{<2>Kf<^K()Cq~cC)by zqn<$!uIs1?wQeLMV6X0ujW}Pk>HlFp)5*XxA=aM})}*A9Y*in<$xh?PyDXhQnnPh- zWSg-^RgK8UAUc0g&toL(dt)U}&X11d?e@{>k-g^{JeW_LGiY` zrp$vEY2lHhcz`5?n`9o!BE3Q)Lj>8dd&wts&K+E?jbgE(A{sb3LOR5E(p!T6O5;pN zvA&iWdx+Ppwm*tqGK}yhnQY5{wMpL(sUAP7H>A`yBe=|9?Qr<^1o6XubgHm4(pZI7 zU`dNU%l`xm_ue+!h z8>-{G%uSdn?&Bg9fS-=uMzdAW0;^|UA=4p!&zNw7S8J*rE$%2mD+TG++_HdFb>zKT zWcYr???i?Nrbb1EmK_WYMi&}b^Ycp3F?3LtpEmyI@~UV6=Bgd!FOd8xm zJPYauzeBJG8_|e>ZIPBlW{tcLNXMqjlH2hntbXr zw7swIWcGBl?dUbfN42Dzn+$^AxPxDrt-I+};hV}5bG-ry3k|n4f@S%^6GZl=YkIj| zTUv$plo4ulM?a%#EizmD3uHEa%+B$l)t@#~5$`p=D2VG(3Y{tj=o)w2>PYp1+;WbR>-%_A(-;}b6QocTNPkn-2>A5e z%hWFxi$={nKZm7b{Mq^e-s6uM^LYn;Y1(=(#?#z_&_WCHWIK{g+}<5`iZBB|+3i}I z^Y``b6GEds`JtNzNjVwpE$~V*QnUg1QVzJX5{yj7uR&jk=?x;$e<=Q*dPY)TJxHZ= zAz2Gb&Xybt$^6LzfQ+4T-(#gW=~73VVoio!T z>;j#Ad0e*PJU0D;{E|BU?+N6c967K^G-rItqER>UB}LPT-W-=4`OHd-t3dh7=aubG3hb(rS5%ec`zwD%1lxsl-*tJF zUlN!-oYIUp5|jBU`U#uWe60>>#cO%#1~PUc^0lsqmy>?Sq7zcZaT0wORIcGMm6C)^ z$4NzG!^na8p(5;7SCz9=LQK*6jruBxA-ehO+9X;EJWHC76gY(y${ z(2p>$$>;BC%Io?-4!`E>W09Q)DF?CS?P;o=@nM`y0>*bFU8W|w$dNA z((jF>KW?RuvC@69^to30g;x65So#fCdgLu#e|{`|pq2i>< z@v6I?qeJL91VmrB1$beqkj)Ds1 zCRI10dh+BVSVNhK^}u$q9vCba0?^oM!}0b8{(oU4o-`7_bQK+EmGU>)*Tz+3Ci)u^ zp;@hjGqWl>O5;F#KR=SOnB$ZD{wBYnxd!1eLVq#T37X>uR=LVxc_&pWrW~Om_%ih9 zr|#l~8)}VwCs&}}oSE()PdqDM?YyF2^Jv$xFoF}+Nl$RO+wu07bn6HHZ+3^f$obxr zxZnI_id-6?UZNJvAHM7#?vf0_7m-M+*@j+n8L(Cg-Tr|r$JrDMR32Dv4jwZS4;K`}`n^J?z{yc^zbIn`$t-jZ(E0b_lxP?1l z$`kWSr&LACc%99rT~3VIm8p59cbz6-_{q|tXYc^@##I&h;?=yRvO@h$Sy(-ieKUKcekvCvi!g2Q<2qRd*iN0?9P4Z_? z>K#nJQ%DEi70xfFx5531NJ+O7DM>&+y(*%X%C;VPfO3l?U#oXm^Sw%wyGPbxT$6lf zyO- z!AcODw=V&*JDfbqH&cM@zrhHPjRDvb&YaKfAMWg}?!eCn+=*K~&aKlg%MV=<>W>b) zEEN%TerQU4hLMhw=HYy$i8y; ztt1G<4!;}gt~uR}aAWPT#W@kHQS)#1LA-?#*nV2r?CgD_$M4?EPw?6UYPc4iL2f+J zhu%CurFul)uaF1M=js&FGOZoHAe!}e9<+l#stA;%&ZD!h3SH96+2KRq`QjZH*=vOR zXx--}`JtqIXYxH<0KuUvvPVSTa?uoq$z^JY)Z&#tMzrFdJQRcnqboU?=(s1DxBO5G zz4VULiE1MzNWr>-;OhL~ck1eB?<86WQInE9;X;o3Q!5?C)|%^40s>X_33Ygq(+FBe z@dnAy+&&=OrKdab8y5#k?Ph0e+HTZcS>WuD$pXemCxXNK3NYnVm4B-hJuE+{NP)|%W>;8&aQzWBz$a873JGj@qiE-EGYM);dsp4B%Aa3V(vu-YM_IQ@t44#o0 z_iqF#E)%)9DZMx#o51$YIJ#1AsLOn3mr_4^{$+f)ZtiaWh&I5K+yjmhQD1Ai{Gp&g zU`3+WxgB5o#I2D>^ze~NUF`FT&Ip;%AcMd8a%!$q*@+}X?AoA$Yib|zvkx`8;} zi8F@|2zSs}JRscTGFSID{&k+<5BO!hUf|4p+uv7oCjJ9>qpH79pAp=mM)P|X%-AiW zVAC`}kLPkJFFRtk-I4S@p_}Q5<3)2?iaUEbPJh{lY^RWMi5}-Fx5K+dU8)PmEyE`L z!}aU_(GqOfKin8j;Xhh>^~DT-R42Xi_Lt+gn51Ee48pQO%||w}=~r9`rzLrV>)c!) zQTK;QE~hwuusKO=w#q8s#kkf2&j}Dl&xMt4iF~l$$UbfZl%nf3K(87Y&TI%!FPv1+ zy&%E=nYJ^a$@dawK(H4yuRAStJILO7WzAkyp{?s_*1U8(**I3F2~Lw0AA!fsQqdCe)2SB=8`S z&QBycN`6Bb2ZbYoSK}+;rHE!{zI~%5U+e{0L;eF<`_b4?IjMV=zpd1_oG&DY1P)BN z$7dt9I&N$@u3nX#lB09q*I;^5mjhl8>W7LXbxhwtSKY=$36ma~{XIdb}MzFwdHFaO-quX8{0lXWFO@}nm_1`EXAMqbe_akea1 zY4j5qP0Vl|U6J7^5jO>7q6T_{Jp40KB~Jn+^v=U9_-9YBcY1zsLtssE;LO}o97*mu z!#p7rH(Y_W`Q&zjG0HH4Q*!XG&oY-^giT6C?<~s5Z=U=X_0K3`CWn9p^I#Pc5^iUM zmv8zT22TGJ%aLOI%1)I)qk*;Q9N4KBJ1i{DrT5lhd38ndM^Yy828z<2NoJ$hX$}!k zu(v^Yd{_a;!YLVUT$8zoplC;i5Bn||e19YF=*m2n3-YeJvT(#RvXLWk&-;!8M&b#> zxpw-P(B=7|Ua)}W?D0cV;cC+-xq{P=ho+sLR1oZal0QRFOG;&AePGAZv-=ES)M;T! z!YEPct*hu4@%3M>ULn!r{Aqe4Y9t2!kkhn~B$ZW0Okzl2_ZOb7zYunWFIEBk-Wh;5 z5AUAI03|pjoukapXE*2ytWJg3%PmmRC8+iKC?z^q(K%y-b!LSKM!FvVgs?7h zN!<=}QtcLei@5=+du^{GDoQC{C}N8ST3$^kWvc^{K1kAIs_WZQ>6au=5G7pkZ6ViH=_@psNt=ig!_-2m8e@L`lUh8FMFd zi0hkCP+aB+-pC@#4_4TMB-hch3`entG&iRlcepPIv0a2c2XJg~JJ$>dC!aI>$v~AI zSSL`GuQ{mG2}@g16Jxqy4smw#dn_I*P`FgGgprVucVB+mgd=A8V^th1PTNgX`sDuuv#+I zCnO<$*NvIKpol}CRQfe!MbCv*!E`AD%4k!P6cM5(ey$csWPreNw5bmRX(C$G4phyZ zk(O85BT0BnRYbmE3nU}$ugf(q-u#i^;udhx6GRJw;@aF;OMIkxlBijD;Pa6e)jYZm zQA4PwdH00o(lScg7xl|{UeF7?F4gPx@s>P+TBL%0cOY&tm)!@f#l@O>q@7L@5gFph z2aQ%waFSD)0t&=N_rtZ zV}$1CTceACVM*_$qmJMh@J?mYk`W>Xc_VgrZ4uaW6XYs`H?sw8tETca1)Zb-`8cWk02}jV;?(Z{Di1Zy-f=4@KGpcGqUbx#@dwgRyC!8_UMPF8Q)c zcUS4us=&#V8Q-_7f)&dTFG~0xhHQ#pt2T>qtkxXH%}b*k#+46g3qDb*BY-?mLADg^ zI+_yJ&3BEh5}PSun~bZkLwGNRTYoI2!(H2>t`f`bbwRBfy_s>3v(9X40R=5Z%+iHS z4FBd@rxH6ba|ifC*T=#!*vY!Em8l<9D~p4CTC=W$4D}fgdPc**M=ezHnRd@+7WyDh9{#W$1nC; zsp|Sz`qJ3bzj(sD?5SA7OFS8&nTATza;&LF@O*VzdJvx4DRLM(A)?5m%QAfDdBTG_ zdBTQKv_ryFtaX((SDVO_K1UAeDuziFd`A@n?Amk{E}fpTf29U}y6m@@-3}_%pwA>z z>d&BV>d&+5U*;-prc(8XGdro1x}iKHLMRF@O~ne;zybJT^WITfB<}HJpC**3G(>?R$gMQI+JKW(pomBc^jvnFyUWW%gVc!dJ6Ka$) zq;_<|JfW@yyr{1avgS(IKu6F^^~)h4$bAe|!~+UrL#h4R{!zU}IRtq#Qzzx0Gc!s4 zB+H-Lq#bjWeBp0Ls6~}}1f)7z&ULitL*SBTvT^?`eA&s;Hp)kLRN66Xq9XfTi)9F~ zqfm`fQsdtpQcqldBi`qo5H*&gxbi5A{X~(!0|mg|kF;{DkP7tR9Xwcd4v2!`G#|uQ z)(fi0w^P^$d#tpK|M0T@Sdg~X~@l!lF z+T_LQ8}WzP10y+7`|UWmFD#KG9FAN8uDQlOp>->|YB)L9ZSh4k+lY&d_BtgmLGp0H zn8{7be6}UBMwmK@%TUJb7~z4S!FU{AL4t45E1*`;OvF88Iu;V^KV|8uaf~bZ0KoKJ zXE-Z-BP}pGyojZ=`NVma-IGzM0 zA(0uA5@$XmP)Ek+4)!>pn)A-S>CbR{c!lL>NRH#4B$CwxDH|GZr~)2BS46gnmL0dd zP~SY7@^=##BX~fIQ|A`Tqe%jZGJg}@qsg%z{Ybj6mbRAexRK|`2%~DXSPP8I3U%Yo zULY}}x!FwCXo$n?N+Uc+6pKc%yT1b-ied)xgXtV89Lyapxt<(xTGblu4|h%t*CQin z;%`*0B;sgrSzt#iw5Yx;qFa0tC!{{5$|_}L14c9=Ska21ac`2AN13&Kx@eO`tA(RWgo<`E>jf}J+%H)KxZ@Nu#HbK?hRyPA&>7m6R^0~nTDtx&*!F6+ zQS%$eNw>uEEqkQ8J{GX@M~7eBsH&(yh4}Na9_0a^91C;uP#6SLk}#IwCh5kh^81a^ z9>!d-teMM-^s<48n3XwIJ>!sk(s9Qy+G9(MLyNpmRiCA&p^`tbo$mTZ8|@p@EnTd_ zSay;k*xIUtDY$Y4*L&nU$+YTrQ-v`4Q&k?7yAiOr$JQo3AK5BQ*Ho3E8>e#^MONn< z%W#R&ol79!1NRn}r`t6fkREEB=?U((So>OkQgEp*XtVr%8Ia9ktBd8iJqIMI#s-PB zVr<~r1sPh2{<5LFWI0wxRe-rFAs$eIXZlN-PNYK8#i?qLeDnwX%^_XG0YzQhVB8x{ zSa4`&eJ3^QY~2N`SL$?{uCr#Iy387I%~bn~wR~Y@FXJrA#Se)v`aD6uvDUipTYbiv znV28Gtq8~Eo{qoGBjt~}Tq2dg47R7su~uB4TEj(3BGY%R)wQ@0S+H~KZ@)I$BkhaN z+`uVdZ-CBG@+mVh?}X^|9DjRPW<^hfAY%;1a#o4Kcu##B=j`mb2HYEt zTX?scGI~(r{Gox$lvH1kU@!Sy}Wz06FP9WJkQ zT4H`_FYr||$-x$eT(ab0fd-~sH&L#8T5wP*{v8<99fzu0ws~@Zt((~U{-d0zB1dA5t*=)`vY{49;k2rI8O+N z`h+|f$=T=fxt!qIG6;?KNFValrOPJ=qjBYa$`piqS@f~hACwY&RyR^=+0KT`cGO?CtF|lr!R1BUt`e<&a^k`Ka0jRQ z3APB)#}5lNw;Ak)`x(4u zHjVv4q7C!I1r6YsXATr0pCN4O1duyPb{SpoX4%PX=3TAkg#Z-@j)T<2Q+r48T%OQ> zi4pkCx++KTX5FYQK#vK^W3FFXejbynTT)CTv^cX!x&>34V{lV~yvRR&j=Ct?1G@H< z5NF*rLwC&zuB^KABCC>Ixulf4g{x9#G?aUGi^su|aP)E%50VFliThjHq6Ki&0ATVU zEaG0~WjK-Cc=lyZ9^nbUWQB9%BBwVq|4uJl!$mq-D6;tp0;9=V4`4pEPgdfJP9h6E zM<0U(hTVr{PMFq0ebG=lx;&A_*1c~vhLa}!gF0V=82MMt5d%8cykA5V1_bBrl!s+I z>*d$oId4@$LL&F|y(!b~%7yL@u-ops)kF2lV=#4mL~d^7KMB-^7Un~@HU4)q*!qTLSO^?|uq;({%8 zxZY_GST%oWM&PFjMJFftYok3*7s&O_8&hs};uCOv&3RO-{K;tWI%FpL>X5XMB<=pk z!CiDBB)ur5&bPYn`=0eTGy|pc1Q*phO1`A;SktW6LEYBz63bW1B`e%`0W(6Uwgu~F znx(x?R)x6i?2&=^czMK~jc|75eJnZsaFNp+91tKD_0=;Tz=Tji|7+uRZkdryBz%dW zXMfox)BN^vTeFP(sEhv0QSvh1nN1iIJ**hX1*F8Wk(D1Ih za_wt`tSh04iP1}12yZ2WSuwSYV|{ZNgjj#13@VVsru%r0&5&i zMLP`TsIS%!k}}NSC6uA6vHWOx7nbDeuRam7cN}i@=>1pim3#d(EqUu4U$hTJfomgF z0-S@&lM8}_4)8waOhK^lHy$Qd76d08XJQCDJ?ONWB;SUcoO)Z2^@&%c=5A(vtKu#6 zNp0c}rUZuifT9Rjxr*V#!Km2E(|H(`%%5v(qs1h&Q11iz!J)r#!Ta(2;KbAFG0LB{ z*6Nx+y$3dJjc`ps#~+`;I=V#GIYEo|nK^4%0*KsPgaUz&D!25Q>HaIg@av>|p?(r@ z;N7>hx9|8=Da%yZ&Nce5ytPqEwZfQmbt{rO1nAQBB74gtZqr1f}zqK9g?E! ztKEno;5_ClG?#pr#!lcL$lVgDC=YkNrD2o$wlqwTB{$wSL=}<7lcjOX+4EK~*kk#t zisq0RoJfj!=v}>fMoMnD^_v>ZO@`|+poY|L!*28?cO7abP2#`eN9K9d*B{E9Wj?wH zrJYrMQ&}J|*MzW%M(D95j%S+4qQarWQ4--X-W#7jY?It@?k{u3CPdyjYs2u@F^AE+ z$Ta3+$kTc*+`-e)={T<#loJ7FIX2hKNOU@KwAU8sX8_vroytO9Ukxbo@$K)$H zw1nkBB0q%FdRbLmp$CjfDxfDm!0lS0H;H19XtVZCaU1HmZO_@PNkO!w{8&pLQz*uo zEZ`-AS|5oiyey7?dwPg&AL=JIZRdIkFAJPQ9lm5X&A|i=rK3`Egk7B#q%TlF!@QpJTaMD^V2+Jh!UB{HTLM z1?pSbj*^GyBHzdlU3uj)x-uw*uAHZbx28&UW&gpo&TPI;%p&%?gUieYJW{yub&Vv6 zux*&2At9EyPd&|fK0#@|JVl*+DRQ(_^QoSCIKoDwlAkHfNtth?3~~9as%{nD42#y_ zcM|5Pn|Wols&{m;lxH8%yiTJRM9-6B9-9LCNG%Uabz=M`Ep@KZQXR4)k7yV=KQ|l$ z6}QoPgZn=gV0s+hGXS*se3;S#_PoaV&O?rS|Qu4^o-?nv(!D{XWE>8IwQN z!6G#GJ`P9Nl|%}>D$m(G;}LT0Om#=5&^_ze<>r=Bw%RxK8BAr8Bd0A1t;IC!0}WRH zNnB7T5+$yv`-rGM3GQPXJi)c*M^~Mc8YgtJs%@*QU94-uK8jk4ty(u;Age?w#Ppr2 zxNU)*(|v3`wh&dmI)-x}Xo7iXlQ&=Lpo18GX*R%WKyN+V5vE!T?K-48BvwfK&2+uX z4dtdHUtyEG*Jm>99L= zRkY8MuUVphZIQ6SOisp*k9TP~)5a zK^&|m6xJI&9(wHyFrOj#**f|pb#_v7bjPgraUO|vEV4)h6sf(t$^; z4xGFUu>h4LYOhsnbz*sH(8|QtG}?&`&z{wZm-DSo^q~_HNWF+UT!G`4%_uAY#cMsH zt8xX(VCAe#Z-@wIqJ9dem7ZPMD7&%~t*QZxcA6erz1K0IJ#<-y;tk))0Ik7BUc;5X z`#&`?YgHno1y}l~Zb033rX>RJCF`*)4(#sanfRS2dy7O=KWRA4S?i1`d+R}c6FrGP zsGpe|K_o}X%?N)mpYmj8c%6{GBiMiM*OdF{GAPY9a`O>Gba6px?q0x~oZxdr1ea$x zH#_d1P7)tF?(L!Td?Yj83`mVPcw9%+G%xr7VPN7c1dfC09xRC2vzw+Yj*@pF?QSce zM=$au;?oL}gi^G$%M@pmq5jH75I=c!p@6R7CQq%W&ze191v74LA=r<9pQAV;0}U#@ z^J?U8#E}j%;wYArlI456m?q=wDb?$IgV1AaX2wTCb+LW`5(jz8XJ|m;OUK=7c$0ww z2?pkNRyyt%HHNHs3jpryeKzSjWUjBUNSC8nE=7<#aQ^SAd{xe&NK z8!Q?0jZjK&v1F~zwxDxvcs_BsM|^e;uO9AzwQ!_A$u{yFhQj3skL%FC*VC+!;G?qo zA9~0p!2?NEb10_CsKES{cZG~rOk3-MPi#%LTzR7JxWkPJN-FleJf*rc9p#VK#ja7m zkS_b{L(s{@_s(d_dLan|yFghFyek1GINq*T?3)R0=YEf4;2Bklfg(jb^3CTIsRo@l zyD|p4M^{Bb*Ot}pA=FczdW77EV!|f(Kub1|k z7r6_Eds2k8V1a)(MYEzUf#IS%X-)MP)DE|vW|f{oX|Wr7cp`M*2%Fd+Z&9s<498Ky zx2Xw{d98cTT1WXIBx)An+VaF%RPec;78T5693NefkOW`y;u=Tb{_~~xy^~n`_Q73k zr8UQr)t=z$fa+vSJb|NzTxN5It6*le_D(sf>5)6JQtcALwXipGyGWwC6Ilw;#78}+ z!EiOrOEmG1|H8mp$?j}ZcWx~MbQb892W*vqHHLazwgt$XA=JdFsY$uIlKRC^Ifcwc zHw*OAc=9BkQp+fT-9`rID9()=eQjmmv?B98abs434M;kf^4L5z~BnRimh4dxi`=Po5gNpK}Qx*+hDeBmcEpV7*q z;5B(hML{$9cvV3L+LQu=ujM!0{>_nJ(1@f?@<=>4TPRbI<;$&*q=a4-`5C9>K@Jl$ zsUOzhnty0mRz5FC(#^c}T75nmL#A+TYUo5c8=Mu>z|19;A$O$|(&m)rRvka-I&#cQ zbREQ^6th%EJJ8C@>hk05wJMcJSNWl9@C#g-J}EfhIO4_I@e72n^V7mDgoMoz4q_L@+(`U>Bp=UShH2DS zZ18ga6wf&rIj6KjxB$lIy2dq5o%=mRVU)DER}JAu96VHG&2+VEKtpcl_nzRdj^ZmN zPr^Ag^jI;J#hBj{YPb8xarmY_%Q~YvH@Cd1up-5_)uH|U4y7K$F8-b zt`*y7UFD%98QPy$NswOC8XQrXj}p~9)Ozj@a=zZ`JKr`y6OW(V#TRhYOCqef*dgRp~XoPW#Yq4jy$F3?cj zb-<_M+3ADwA2YM>ZjxZWbOAEi99-l%;a~%HBu7r^sCkIqDEBgCSnHMzMx)vktp$P% zdxDtD{DjSgIrJjFK+94*Q1ZeCa>Nsfx8LSYTi)459 z51O-hfu?knM)|Px@6}BTcP(2wXTu8fHfp2*ao5e44mOrmUF1Hpt&DB1E28?=AarTEBr+ff{5tAa^jRjIUxyh>4kWD5Mj!) znl?h0>2Q@LxVv(J_6rChVv5U0c`^N$*_`Y+4)Ln7i=@9~0@x52OWi|~k-bHIPC@CH z+b&yN1ZA4j?Fo(D2cB*($_|lr_{Xq`Zk3K%GQ7Xo)$j==#64+=&cp!; z%;*Vv^Vhzd3Af6N@T7Pl8}V7SmzQdCbNH&Yzky0u!Fw^J=|nZeyfB*f)8CEdXR+|R9dt`Xr4s#@%DUz zMgxGv!oSwH5y4`wM2P}?aFU~MTb_y{LQ5w2MHy;1_Z)y>esMso5mu;Kda|S9U<%El zkVJkV&ZFGglgE7HT*nif zoJHUVNAY6%MeGMh@e~M)TF+9(5-p>6jVt)&9T`E<1!wpQ@G1b$3JuQMC}X!^knJe0 zF9b^q221ydv{~ejd}&nVWyz>1N)^6zxt%;iZ4(j^Dl{T1aKWy~%aan4ULh10O)A=6 z18+RsBEIuT57bO$lHU=p_5F_6V;jiMfk>OFrO=TuEGQ-<@Iuh3x6cZbe5LTLrON6Msc zW1OIl?i)rL=waQVxmmEPS%!0^;TV8LcH4rog!+WCd4GxG|yGqL)H z7u)c&DuUk9<9ctR7i!~%gC%5fh%A(1J7?A#UH zK}J-Aw>Nm5-0J;}uU%lrgrXA@xN#Pe38gz`zOR0dcUm~S-(2m}9di`lMc=*7U+JIW zhyL|u>zI;9jrt{rmrep_aRjC>bV95kGBJYix3gS?`4-D%j`Bv}uB-&qdcZ?H!27CX zZU@{^k^HJaII;y!!ZnCX1&I`Q9?a$Qn4Xwl4oXglTtxsdkjK|FPH%_c8(YL>s;4MI zb1#(-UXc%;l@Dri-M~BOv64+CC9g3EAvWjJW8$g^b zCPOwGeVJ;rY6eh9sC3c%SD6Hq=VCN$Z9F03h8z6J@Pw{oJEc&bF0}nw9WoKF+fn?g zSm($o!;L&n$HR@P9l4jG#BvRbbiVWEueT}_@oaa_d#J=KRFBb<# zQoJw#hM0GF!d_HBE9JU0M}ZO(iCc`=NVE*d-JKXqj__KBCWb-WHiZzR$CZ(W^2T*j za;@_15yI#6SZKcdfjx3sbQC|skg=uGf{Q$V9mm31xe1YTN#QHUhqGoUM3O_ZKE+?V z`YT8S+ql1(QAHT}Yxv$EI3trM8}0yk6<3Yr=B<5chrPZN^H$$>60z*pEFoaL+X&sn z6`?d;zOG`5w5CE7e8ml<3ncp^T%8>U67j~&^L8H&M80ID zW5<^0PbF9Y8)T#rZ%Oj@;jG~ak(6GcS&t@|55FG|lKFfC6R__JH1jf)RpyI*?4cn2 z_k`MT7O;+a)j{sG=zp+$sJnkBixE~K#GQPCA*q5PU7OsmG2~fTb&<`SKNt)VtrW3| za2`b|!nTGGle4AxDTsJ(mzllhT#d_hq-p^>m#(0UzgrgLYy9Ur*jM;50&~(6p@iXf zh4<-3?$C`O0b4YPRu)ktZ~h#Bcsv@^Oi<6)(8E=)$R46W9S#a^-A+h`4 zX*?$J_~F%&B)UB1Jq;&>!~}!~$dHv)LdpXL4H?o^9&UrgQ^`y4zibJUFB>u(VuQJ`|}+uHCPvLMF?w{b||cSe;5I$Xp&D2gzi~Z7Ez5pL_s80v1@GL zczh{l+h)QpttgBh_+8`6IlE(5fU6Q`v9FEbW^+JLhq?9FHNWZuJF++OSL=KPlUiBTZP~XYsc4{t9sK5I&UO`)12}ByXS9i=F69G zW|4i`m;&_T>=L;Lq&eIPLyZ6ryLr&p^%C|$jinD*lzT%#3>B$yjnC(CuJ+UVUFc?- z+&8{3!4w7?3zCM`{m<0!s?<=~ML6Xq^TxwJhr3=+LD?y#=jP-@`WS9Ek76F@c4CrK zR71c~vQi#}b)#pTDutZy(r_U0l&Y*!><8tn)17M(CQ`~3%46ewHjK3s-boM@1fP8 z8d|<5V>8lJ`gHgTVpLfXe8u=hR?+Ps<{5)9JI$df6GV)gE~mJ(%|g4J{bmw-4?kcs zIMfRH!5>a!HXdi+nT`_CpNq-ubNqTjk6Do0=xgQ;jRtaSyv}uVvVq##X1;89)v^fo z8^n6pfUm0JE ze+br3scwl#;p>Y+lhZTQ3~QfMaW53(unN&$aQtb5L{GXwwa-$mSQv5ts;*g;QYR)? z&vzUPO{g`-6Wl^J#7GBE{trPvH6HZG1i~@UPj!^+Btby`uw?wtfZl6^e#|I9Uw$$M z`m!+^X!#^FTv@}48)afZ10s%+VgY?ssvj-%)Koch2(<69K8zH~oY~O6wfaK=^>9Fq z$j;Z-2r=t-FmId+asi_K>dNPR<)K2!zovGV4vnjrvH05PmYIkO%$K} zzl!4Tj|9$RPQ>6`I9kK`X_7UN1;u-wj=}jqMDd1JEm!JVY@nYw6<^DL3&lSf6@~lh z5z;^PPwE84mt6AyfZ`M4L0=QaC;YFX`0?R@e*3W)=zl2Gpx;4q48>QRi~;S>QT!$A z!%{wsp?IkJ!~YhF528*B#RuzZRX3?HoH8`~zl-99e-7uu|5Z2-8U~za9*x1-KT^Zl zNpcL%V^91CaPDD!xP53GoG+~Y@V^CTb3_!*ujy*l#^V~!k&CP0EVMexfkEHX939!s zoko^_pv1z~QKg@t8Yq9k5WOtsBuY$Wg7|38?ghxA#nCf_i;SSB0U0CEn zNG}Gn3zvDE%jXOl(A~4FneTEp;#Fb%5Mu#<=(M`gW>Xe-5c%PHBUEJV%w@irZs)QX zo7a~XiS=T>`J2pT9H+PBBKV3idDSX$bEShPuYR#@_iL~HI65|w3;WJ)6e1uxzFKj zW||8zwyQnu&*uAT@XZScvNFaUJ`0*t>4>_IFM+0en1*JUf-%0ilQjl6#WXbUkwz>l zpyBdZlW#7NisJcZ&EPqTgSvsViSpy@*9;p?p5lSotOhX4hQNH-0n@%z~}!_V78&^noM*JU}n=P^V~yc0rNsSqLy8vfq8m}24;fpy^Web|E9-q z`a&C+A5+u@W~n^Z1m;Yss2Z4m#>>ImT5NQqI5v8II%_hX21|T4*triiCw-63{oiD! z*LZ->!2>Zeyl=3E#(N~kIE~GRV`TV0cUh#}au)@tp}YIT$hM4TL3-3xe$TfBL3i+8NGcwN6=yo*3#bpa?W58LJ8 zZCTFOO2svfaWydT;{HJR{{3fR;PZU0YVjq@`OZNa=9T^8mh-iTGzQ*DF}<8mXT>mZ ztvuGmz>i6a!@wv29L4*qcbTtv6hIWe$U_`KJUuXO4R_OhP(L4RS#wB^;s9UC=`>=W z?$ar0F4`x7;pluhoBrNm z(EUHy#_s=*Qnf`_-;_s0RZ)3_1m+`&zLrxu)_*BR+S{ZF@k9COEJ*crws5nx#?8YN ziF{$qJ1M)HqhuqmN@5_yjZGXKwyO!`=qqiIgCo5fKGZeXm{+--V=i}WB>&v^Qj=OK9z7bGmrD&njz%aaUED9N-VRo!|JdGQF6#U`ZufFLyhjeQ+-}fsMPBG8WBHe#>Wfe z({*6?Suj3h+*a=^+|DZB03)>2>U~wLN%Z1AXQYm~^l~l)rBA5Sr*Ig>cp=M=LbF1G zh2mFw#~A6)LvuthnPdK?JB7ROsW{r9q0vmtV>z1tD)Y7UqHsueR~2wBWi*q~@2xa~ zh3JkZXN>klEq7ewkWz~E#2SfW5bikQTJ866;WTLiJws(T%R%-T!ajgsSCP#fPU4K_ zp%=D+NxUO5i#eOpV(E5mfVmP;gkbhe_jm&TQW4coFP?>qX+t$ z1~g8d;9-n5@K{G-Q$9g=DOr!Yr+Kqo-8p>k4xCByjTR3**AhhZSZd8WD19rO$hxbA z?VZq#lM?SIAiZ5SVEmp0?bW&j1)UNek(N3t_Wtr2lbS1YVxSeA+G;VmP`sF`F3`PR?xU;3>Wh&omoa$12d-+m_?YC2P~Z4=ySV6 zLqw$Jaju>7Qh(>zwaxt2tQlgQ#ARISZV8hR?%H&`o~(7ZS?YzQITldHQM(TRx&(9; z6S|9y&;n}_>=hZD9;Bby0TE(VUM5x6NNG)qx-drb?)ATHBxYeT;iyUVbI%7a5DI-PL0_VsT4u2;2w2`$$B7=o7nLh zu|&>T6QOK!ySr*|i`v4L{5Q4%W4zq2A`eTQpgU~)M(_hR3L&C09A z_FI9+EeGg&j@mtWbT1ub`KAONsukul34KGu9Sxp;} z#k@@BWxKqP2g27{3tn@fJ- zLu9mv&H zluF&ruk`J%#qlF(j#q|C)86*8#bfwi(=?>6yhC;e%(KN^*xb@1=6m{sn21;V3JdAU zm9N9OwHS}#JmX(zgxc_FbOXeCuN4KN)_d$6x;4~UU#sm@CP!6iGt{*gER|SF-Eoi~SoQ9`RM(p;(MhOxz#rH93AL!VthTLs>)Ri+j(vcJ*X98LK~tOu zR6YJssjCVvwC!p-Z}K~ZU-Pj`sz=(*>e0jYNXO74bCTqTyAG5zln(dopeB~h#hy@x z8w=7n!FNo@fPP^=SfjR1Iv40)!`ke)WvZUs;0$Z)AIjQyF{+nxQ)2*mE}1sRrQ zp($pG5A%xt)y)6+9I$Mzjrd7;AZTX?^ZRV8=gmA*4mabP=UKGDHP8J+zAowJKUh}g z>y%(?+0C?a~y{*&0GY{xR8+GecZ|{{}X(jxM z&%o*m+F+>+x=qi+1-A>C>1mGY34 zy04Atm8Wp)KBuV>>(ik##k5!qQc8Y1pUNuA#Ue?WJjYqxs%vE^f{9<{vnG~fJ}$o> ziy1jcKWdRpAuz%X4+pn!QzUNaaXwOe^q1WC+7}lj0{SQM9zEZPTh0mr_Uemu_Z%f- zsBw|rYsN|4;oK3o%4!=dOx{qxV4(|V5p5rv11bI&A9Dkt?9?;z45FEY=cb#k6}U(U z#SM4e!C1zqJCB~=LbCFr+`@LUvG*8k&O9tGvbiqa*~PI9sB#z;DVIt%|3s_QH&vAB z;goR=$0n>wX(KtPd+?zMr}QU@=W?^{@e@^nzQYpLXn|JnnD&LjWTxowKLsiecVPJA z$ojO1O5NceS7sk!ZjFh1-OfF3#{lj(*zL~V<4)XbmaKjWejD;OIvyWRa>p3ttm4DXYztm(5d#fTe)6pXu*pF zT0Jr()R%+9DNK38jaO15o^Iy_PUHj!Hd~cnr&ZDIS)u980+l^yq+wke97^I9tr8-f z;-|Ng9$(t>bX7%fZ5I`~t68AxD$4au4ECm6cPZxyadO*6+;uK{@&=cC#kHY~3*|h) zWn9`s;KCC*?qw$lQ+O(iNS_3fJ4txA6Y1Q)HC&qDTC*`++%Y=8bj+yI-i4(@N0#;< z!G#jT%zw2wjpZ#C+xgwk$uG^%t;Ibup6>PXOFg+sI7fC*buHV?)f2;V6Z1o3yYnlvc>Kn<`n^IDuzuZKTK;=ny@VEp=3+1M@y(Yoe1q%{?&p_oF-vxonO5de{ zN(^sP4n4q?qS?ViEX=ffWG$`)1-NRcJT;alw>-&$P(67Xgjgco+<7;x@m{ zTz3j{1B*s1=Fz+g5+MZDC-4fVOm1MQM$|EeDd}TL*WrJ}tPK5uZCzAf^^O4;-Md8oYW^ctbL_AO#`8;gWdat@-IEzCz#*< zv{JE7eiR=wCBj8CU7z`lrjXmzHQ#?kLc#dvxH0QOUZkyrLQP?@B_wspMt86&{3A7S zYK*%x`f*a2uo07WkMF0)>~$X}aNZSRL5}(P<#pM`FVz>J3_z%LO!O|cPeT@H9fy`m zjL`}IEvJHUR(*9e1fpkxdDIno&mFowOMM~ur!f=6hF7u9y;wf%>U>nQzW9+H66}?L z(Sb!pAV-4bNvtEo1W%d6F0l6;ZN|ZjJxp=r2c_D!Ae_6QxD`V%J0`=*%E@n~pRi2Y zNlk@Oq9YE?!-tYxCim9j_6ZfeGi2Lhc`tbt0)W6unlv3LO(ly*whXVFM#V-%pF9DB zxYxYluHp{kMo}G^ta4ANPbXK^c6kIzr2jK#(s}JkJyPz*{?c;j`g-`#{NPI0V2B7r z$_!-K1KKRDF`(tGtN{rD_k<_r=mYXD^ONMJ%n>4&U6|CF3-p_C9C#*}|KN=gy%E5n zm3Xn@W^_Un&4#)^m+lbB@;lho6t*!11yM$B>z3E$XfT3+*dY4U4_L zSKPqJ-`pJ{w0Cg7fWbb;h|~&*)UdPz5&{M-tqiph!*Sp=6*x&OH*VT=2frYUC3~59 zQyUvFa(9RT=Czg&#uv~CREUfnBi$2P)S_J0%#u)Cm#xU8uJbnz?*GEhdV|Ho`!nZ&={;}teI&Sq_ z7^;)0HnnXB!bW|zWl-34u@HW?u}w9lYZPA>Exz;L7vFV6&{D%<5NIK``q8yt*xJU3 z2W^aayt#!D^W;68ySYfirgK6J=VNRCL0xNX?f+O*12zE*HiOKjiLv?plZF4*f3)z8 zvwHq)tFwCkL$ew^Z)x>>Mpf$XsMa^=(&J{eOU<6owR&!tV-x;odY(tmKeS-ZA`~{t z+|knR{8KjAGwjZXG}yZyY^qn+n{#D#?S}ZiQ~CR0q}LoqF@@t6*j?5z^2|r8n$)B= zzoWeW*#zV;jKwvF(IPsG=j>sOI?tK|eV7a1l_QSM!)YH(%40q>`(gfa=J#XCM8cUA3rt<%BEY$>CZ9r}9g;Rmh$nuI3SXP;}RPe$mZpKz73L&VdwbOhd zuEU#Ur}<6hv3U!79)Ga`P{_o|)+y>h1Ua(P$ig2?zlCuYH^K_Dw|>L$nYUGDSKfGp z=Y?dN7t32X_vhI%^BfC~%cdh1>E?pdF|eJz@6=`}anM`9$8pe`VnHv<44wI}pvS($ z9^4|j2mkwx$AZ%$v4saz<^0t~-@gr&&E}MOrkM?!e+n!hxjmX#un~UB067@3nM0Qt zZYn(vVssC8YOXvL8)uBxv^!X1fZrp_j~n0wJ-~;gBjzio|En?nM|{Sj=ctTPiGzS3 zfIIk&AV5J7-*Inng5jnKE@ zw4_F29&CG)=GJF)!~oGe2iimPgOjQ7ODj=27LG=s7m(mp@mxnL_62dX{|%CN8#pka zOA0OEJV!^&`KMyQk-b(kVby!BFk#PY1ZW+P0McOf#tQRMGr{($-z=wP`&yE~qQBD` z(A&*lR*HG3sf`Mj7v46rGXs`ovW5bzKl8eeb+|v-{L=({T~X+(H_43RNjg0jv0W>W ze|WWEdi#2F1&~G z9d<*kWB+Q2(mU0#j@5v|o7>vuH80OG3bBSwNYpi)q-;LTW?mNwSp+O!^H;Emzy@|C z0`>)NGIwxwBYoNyob}iOV`^%8Y3wXCu47LJ5b;%Tl0bAHW*g=9dR^n zFBn~+?grCWIuuN`3!h3>B79VFNCNxuVl&adLER)z28XOZ)aiM~v* ztI5^9TT$UIbHMxB-&($>L;KD9_*fWi5b&9qEKmfS&9F|$(o|X>4R)CIjxh@;Ut%kj z-1wC`ZcmNrxP^LR)1j6elaYlU67XOm8=DS`Yg!f0>WXI~E46{Y6-q74B>QrX6t!QR z&d*w>S=9?SdVtCR^iEo`wl#f#BGiW9;ph6EY@4b9HM4sodk#*~C7FXe9o8H~%LOXc_TO=HerMVa&7-3#w!Z%a5{OJ41SBeG)K=jN3QCk1A_*kYE!~O& z0*Z>FIH96;6a^ueL^-srUd5}|`6|xy6%iCLjA4*LPy|sX70#iV1O;Tu@AIwd4gr1M z_59X)|9P{Z&p9>Mu3fu!?b>_SQGl#Ea^G1UnGnPj4nUgANwwk~N#FiT@Dlt1qJeVJ zuf(E&|iOUwuE^cCB_Pl|aUG=)rC{V3oV>6xamM~i$8MXRV{a(}Qn$_=2 z+=|wk#XU%0tE)fQu4cOL|8Z1T|9>-jiCz8Yo;agEM)RiD?nA;0U&R$v7mnTu+q5Sb zEjEaE7|B>1=<@yKw~3cP=l@SAsHQ8_Ym7m$4{}?g83?rH{}jB{SQZF{5iYUL@KOaZ!IoO>3e9tZN1DYGdS9!3#6ye!(j1l zqV^<2#cUp3;?Le2Pa7{M{{h(3lEF+G7f8GN3^;%iVWHW=eHsAX>NNcrO1k!koIA4mH+& zTjM8Us$FeO?{s)!Jn8fl6xoa??dJ^Jvj-tS{NA%tjxZ3G7fEM>``<^8Ns+5kjGB&@ z%EipzIc13DSD(>_J_^g%{|1(8>8vp%jHJ6it|b-B#w>RkZ|*(EV;}wlJ#%OAiGs#T z_(x8E|L9``YBpJ$ z1Fb$b3K0+T?G7+akeIiY5Yu(D;7&NP36KN{U%Pyx=@Ftp$@RVyb0Yy9?$Nh;epPB^ z64=n8=iQ6|#-?L+Z`%IAR=jCV=-kw9NwIydkBPFegXHj~TTq75l6V~Ju6sY>E?`cO z)sYJw15#(wI=9wM>p*_7I<*CU=!LY2e+H0S4s4a;{--8;ESvlllA8q|L58ISMqHl1OzFG*wfMVg6`z!3(VEYcyxCuiFQ`>K zOAQOIQS{0muk=5^m+X8^b25{~(`VCqkqpYePw79k>DBz!iRQ06JJI|jIkZ^*0A+ai zuN8bmh9ppH9S`KsEg=0Bf30A2tqLp>89y$u{9{zXDTgaa!vE4_1xLbv<5eWz`L5}3 zZTO#@EdMC@&s6%EHa$35GrZf|A0FOX@PAXupZ;s{l_XCNZ*BNHNG1fw)0%Tvf-^fl z$8ADEH7V>2QZL;X5-DDnBd7u#!*mb{mj^m;J8M8qmc#oB_ZFMQyThCcU|cVUBLSz; zKcL*GpvhlY?+kCDR*)Lf{QaGOPny3UT?4C@(KP>80w9N*%Qsao2@I}wGa@pzKZ-DS z{~(eA3h6n)64waYykd&;=+1HCD!WC)J}$RP%;pfKjKA7QQ`Y`@{BYdWXGCiEX!9rWbF+J9 z8eU|g`7fuN8c&nr6-z~iTTHcbxq&*NVsKEYL!081lGAGGF>nfaA0?vQKZJJSt)lsP zCV=p32`^jBZMZz$z{)={td98m2M6z(QVOmVwOxfoDwVz0o?Y(-*e6XwCrdJ_JzTS% zlCtZ)qOlYF%Xuqy))hG$ika!nb7riJvJ3_(;N7Fm|f{S5xY50+~#a0hwz;b`~x(K%Oxck!yh z{hcQTXVT(7Owf40EZVWwR^#{bs+Rw0Qn@H6yzk#0b1s4M2bPseV}&b12WIk~U`toj<9WAsg?P8zSSYgzT~l65R`M`FYUUkMcjv zG#=E93KHYDok3!N@CZ9&GkuLSK-^V4V=FM&1`M_l?$ZD5S?Z=VO4ZF&p43x^hq7U~j22b|oOuCf z3C&|jyaXP_84{!~Gqy5Z!li9AbsKTp)y&RnVq;U_WBw*QX`<98anLU8Zpy0~ahwU7 zFF?tYmRfzR30k05H#0%+`S96<^B^$Dv+IMp5y(kcv5p~^ZBA*Vpw8N=HZs~Mrm#PK$NB4TW*O{=fW=v zs3SahUa_;hV`XvMS>aSf=Bw~MZ)wz17bIy^6Vi!B-RQs95-6OA7CPHRog6Pgpa7Mn zQCpxte_D@!wrAHsZfWxg$lqm7q@Jzpr5IQ2+hzIaDD^0uD8YHe?m?(#p`i zd4g9N^%im$8QrB8{%@n(FZv%QSlxd_Pe@6&d_DUMovi}sI1?E0w}FB>^PDBl&O(Qa zb`}*frV!9fk<;y&hLUc{BuofWsyqO03{QmB6s<#i4Mv3tSpXCt<&7kgGZkrGPVhS> z%|yRWpNgE7YVc!vCGis`Xl;=*x5$}U?948f>(xJK04e z*<={+mkE=bbvek@?OKrQ(r?&wE|Y3kQ)kx~AYKZV6myGOWn*SkzATc4pb~MRSp_x) zoS)srx~Lt|1R9r@UuW)V>$uD?vSnKaVfP|AGmOR&tVn-$!u21)PGE0!R-D*^-FLdw7U|nay%_%jO1@Rnn7fWnJru#FCG%v=3M28wVqXM8aUxyCCzicCMEpC_oRsS?GqXtTS=dtRWrQS zPD!s&tfYTYtf)b1amD;1r?^i^CoTmW?R)%IQhTlV!PVEjw!Cu6Gp@cy*a9CRmU2h) zDEy+7GF28rjpDWo!h`qqjCE-e%H5CaKD5*Jh1%{9ryg(%VdskKPE!Ml9P=nFt3s2o z5oJi2o0>+gBVebCqQ#v;gRdE0=&S;9X(;XoAL`sA)+d98t}b%=c8YW>oL*omeTWmQ zZN+WZ1P8C6Qe0&($1C4*bmZJ+-~Cw~Egl|fyDOafM^Wky6xp2O;Uz6q)p6%hW!e6& zzQ-SZlRd%ksn)vt(Blpr--q&dR2gjh@%CSOW zRgZQ64bME3jQE4QShfs08u=wgOWaZyX-(ViwZ-?L_>QY3T6vHPJW-E8^vPHCK%i7F zfCWg&3ADDzChu#KOB1%I+H*rk6tq~q@jJBExwk zlas6COeZ(FYetg!bTbPzv7{TG>F!y9)DZa2Ad=C!Y7_m(*zSlqWL;pLyr|YRa+~ti zasC%L2m^rI+}GBdO=zpY7&MRw8Z*@2MlW9L`Y0z>dO`c>zyk%|{N6YBPnrHlUC5EM z$Xp8{t>p5@by^e4iCmA|3&~uS`}Ma7(PBAw5Mbz&q&$;t*kFZ`p4!*C6Kq(2g;A&p zd(wu56qc3<8)?Ie6qcR{yTyj(DXd;1td9-rpfDM-sEz^~c80=4D;3txhMl0WWLvUq zm``CDiF9c;te(P>ZP~Hh^zGmv!ZH)-ezak~D=a$^HqVB|2@_D(x}V#CpOq+C!Rt0` zW$nVAuwjc7mX#=Mgbkamuw(@{+psAL>ySv-+lGChu+l_WR~t4#VOm+$ma}Zw3kuW9 zr?8eb>?wuWHDRq=*M>O?do_`6`!WN7QiZ*p2wQE#?pN5yiLfdgcBjH7C&E6pVK*tP zO(N_S8#Yj3fkar;hFz|(f<)N;Htb@Bbxwp0wqbb+>y-$*Okrp)p>*#3SkK^X>($?g zJmi0irCz{k{T&ZCYo$~vA4r4x+(p#!*PEylc(@0@SJZHPOyxg}12v2A&n*DqF=(ok zpWA$vuSZo_EN3xw1HM3Y`h6<)?r#L077NHnrYlukEa#${$YK>- zsYta6N*K%EIY35SvGjMBUM*8EC*32!-Lk>}B$ou2^KC1CbbgWoAOnuIm`ntv$FCDO zs<8S6A`_JPI#YqM+%i?%g&QJO(IZ*K5IH?^4p*@lZ$h>T|B+SXkdP|=S-Xl;l=;9C z^}$r(X753h4S7jdMheo(r4z@pQdj}R`1>K2vip!d<8XM5R)*Iof&9(Z)Ij5R&r*0E zE*bos8S!1ou_^H{+%;83$iFxpslzhfWl-}Th~>`V!`aR)aJKaG=kPhll#l+n*PkRh z%AC@ilC6%;4gnx%$FIc&Zq`Z;V*Yt{gOs?>fvx7MmyPbZCK<4pkN6GoVFIL*(z_RPQLk1d z0kU~g4jD;zKb%W(Nr2k>BBb`n3AF`<{4eehAb!6F+PFF}X3ILd9*W)Q&y*RX8eMBW zF88k_R&tz8IPJHfK)t)l-E^Dv<~kd|X*{zHi(151hr73QG@d)_zLQy1U&%A9!LY$P zm7zLT)~N^KrOU}T-DTP7xXf9(XLoF5R%6F9`EHj}IR&)}#ajIjUTTh2u2czT^&hGH zMdWt|awBwXAZi4$#?QvH=tPT39!!VP1I65Kn=*{Xi#%|%wFsmBbgR&-<~iQ~Hct)K z@DN=4Ah&D*8t8iuVT2PogJHg*Z0~^*yl1u^VOwzE2HS!>ci#b8FjJYM`4{aRsA(~g z8euEeDaIDNme0$@5J&CZU^MFu+bnnM64Y28Ccj%+)G%eb7B@7$vH46(`agFhNg<9jy(AQv>WoLTLHrTa}7AKD}XSrwXGLzm{URl?$ zEz5aS6{iT5tf|sW0?ec^ei%42lmS>o=dDONA?e)DRzZ@llp~OPX!J~{Bw^$@l6I@zvTp|jp#>e_dnbMP0XKij8!~heE$X)8*P=;CH zNE9=aVz>_6?N2%JNky@t?Ne|wK!F*>zQA^{$Q{wMnO3Bm#NTB}Y+1G~)p_4+S}%!> zY?__CxhHZ_k+aonO=W8Gy*$e-&{HCB*Q#*;Rkp%Si$otbxj)YTv)a3mu6r%WqL2j& zX+wxUrtwiL_goebHTNBIduak#ti=yK%@irq+Jd>~)%!p~4>L9B{K=io{M#X_4d+~- zsKrEyj7|oq>S(rs+`sh&3CIS5286zfM+gc!4XC+9Uqc?G7L%Q84A_Wq!U?#KJHm!&kJ z&`=coBV>l#x}n^;_g7sK>vT3Z#XMGM&`s`cvDSE6X+yC+rVd`ovJ!|CF`EY>HLR`zb= zjw`5{^>di*?uFAd>$f{|iZS4hwP}FlqLts8NS0{o#2ROvZ-()=#Nq`Ny>Blgxm&R{ zBlx|(jvT?+CPBXpPMEyOynE-H0Asx8rGh=i3H^ly%|w8_6EwniR0>!ua0V-O0|%Aa z0RSYh;%5ah%9>fM)RgNvb{sl28L?+tR`?0G+z4;{{XZhs;5 zM)%tVwKFdWL=D!&XV^iwoD4;=P69MiFZ8UOKK|xKzQ9hSY^h1{O%FQ^jDaL(%_VKi z8je4Rf&LD~h$Eez9g4`%~V7C(opYs>JjwYn8E8t zd1{;~-I@iTqabU%>78cYm6-PUDk35{33nvk&3qJ2)%MJLf-*%e(n;=KHr-ZfD_F0o zePjh<)Dkn=o5{O!F65cK^1{1D3AoMoJcH5wpuQy0Hhsb$VDzhrEYI;oLr93Vu&+gq z&*xd>NHlkj2%JR_Z;Byyt4do_edm@fo!G-%PN>U>QcxQLVm)pb&)_pLf0Z zz|}e^+FmK6Bh(77k6Lla?O4+adEh-=362E7u_lil{(8JyjD-e(b>9nX1E6gNXuDe& zdvdWbR>uus>_A~GDTZ^&Hp5cn%)sukLx}WQqBzaD+QL50wQA6*`AXa z6)?8S4f!p`sz%Dq^7sR&X}7)58j*u<2)@ zVsM`7PKV24?atSAG6VftAtx>>FEw9x>xE`{Qq66&3~-3ZAo$AfCLeaPT&R;Bs9xk7 zt7E3(ak=5x^{IuW)lZfT50-7KLjvDeoz@kWK9Gv9*@4)w)VV27 z%DH`;I5(=9BF;8Nd_ z<+nud;ujQ;BWIAkR~^y!%;NIuk|FBrm4WGYJgU0}a(9h7%^kF>Zi?4QEkIkUapF#c ze$3@7bk&NEj<}ZaL`bLhR3E}UXr-oq!pe-kz1Qhu(YPVig@=~- z%5}P+DhmT&9jvChYK}F#=fz4lfG8z3ya2{LFw^#f>VH5^oh@*i+xT!<<4A&LbM2x6PTYGMYNwrNrnyK-2i0xtfS1k5#s=G6$a0Qw zB|Ay+konilcYD2qy?sa=2E>%BUsEEG3MPqNR^m5nJ~C3t>nWL+HRl4CPG(Y$nXO5e z+yQ8R$;56gf+Ku^-wBjTo*S+L4Mnw}?!vTdw{Kn#mvYk%ydvd-~rz5(5Zs`RzlMTQ99})*%X5;s!QWy6A8fg0+ zh&bv3uD~s7kuqal1{X9J9aCBMXZom<%Dj3`6+6di1I|iWzMa7-+tjsqT=U$bu~$~d zk)O|Z1!QQHO1H_O+Rty5C)|4Ig8AaDc8GlFHavO{gxxS_5F{3lz8 zf|4x+{tVhi0Y0%rW^u5(7>R9{$Y5lMz|Ni)aJQ;O27jDn$l!1b?!SV1*kyJJ{olZP z*fkc`I$l=;vX6o_7vBJD-;TNxH+a&90EycJYu0GD+4;4B{a+I~EZcaroipl|?&Ct~ zIB_Uo%1*8(uJq3*OHLfyWbVbOEERL>#Jd${|ey3t&HS8 zR{*bj)6oD&m5X)f_Ro$0IBpoc7wWL?Me~Cj45d2pQUh^!=N6WTc|?iHspRQ)P*yPp zA1Oo4u)|+P(C-6Dynhjqblqb^$_bGPeX$s$X#TJ3O&vdnq4ocy0*glC7@LThMtc-q zehjQIi}Zs$-0Qd5nQ?~=8=|ncCnnm_m#-t+!G%C-M;AqyIj^E?kP=PEQnUP>(TS?X zT(I5od?vAB#%=CH;%jNZ47FMP{Y)=M^w(!ozDR_7yqaUTc{Wr#ORuByMDu@NXFA-3 z4pXH2QXHV(N>s=BUO%y%KYl8y-)`@1!>;DfvB~QQK6jJW*v_vFb7lm$OgeMJ+(^>m zUagL|sR6*PO2wNSPhDq&6&vAS>A=HVN}zk{*1AY;yvs;POkEo@Ny%rVdY>HwD_A`O-idDj5WGI z_+K=3KiPLMDJ_37Ju?*br<^is414Nw>?A}}{*WKz9u^hE4RfyQQT+WBw<0q$HTW-cM_Kx))Rtdp9xA(1BE#J`#RA_x2o zImRo;lFgvhR&NsTJU-&ly|hcC1`)i}&A{v8qR~6Np#*vh`AKfZ4(Q$N!?MuePi|}) znfHEX|Gq;he6e={F>p6im4N$Qb9?j1IsX#vd^)=W+-8b=#pG^SW2tst$s+6Y z%}i^Y6-f@qyLX>Sm=}s&X7AQ$STezC;3gB|vcn_{lQ3yf5X-LulxO+!x@4CtTxFw$GVk`pEPuRu6hP*Z6N7#CWgstb(lP0z& z=RjiBlP5Mo4aB%2hi!Jc*)rZ5l!ASp8&T9uqR>YuU~kfnEXbptPZCj8CZ!dDqG0To3P?c5ojDvxIV z(+tpm?_q&nE!SYRfbJs;KtFNH|1&@j-+vU)yC~pqfey_X1)$xlJ`h8IN6l^A6{sz1 z(#g*tVnN(Uzl4xr080VTXpHF6q@Rv=)nt04pB*)7DhFO5Ili1l=ACLlJndpZU#^Cp z{{7Y#TgdWD?s{S$tbUl*c#Eey#`Uww*c zcPG;l;mwAhX-SC4LbJ;W<=*Ho@I7*YIudLBj7@z$vsc2INu&k7pDU7siu-k&?<79l zt?vmz4@9m?z_dNZ1Jfy!5->$7XzY?Yu9g7uezLH?E)a2f8YzfSyR#<7wWikmwb`bP zZxyT7u5JOf#wR0CeXEm!Vzwcexo#VUzX~WmvgvOmy);cS6+TwyOE&y?6Q1kt-9S(8 z0ElK@?m?kz1%>{%us=O*aXE=N>MGkZtd>}!$j`PXgiIo%hD~zM#c7k;`lcu++&KPA zS%###CR?1O3Jj)KjfdIlFRy4tRIdAgsvl-@9i;$s5~@DkZQ?#8)`=NHm!Q%Yklvj0 zNh8ASg2#r_Z?Nr7sr-rq};&#v0-KP&1al$4}SU96Mx>=`0Pfj15N-<%V7x3 zhG&PI0%Q^a1Y*5Vx$0jKm^|UKebZY9KI>7{y%#ltNZmo-K6aLqN9&=mZi@diMlvjLs^Ou1sXYCz- z=$>77b_q=X?fll)UHHdkZv?*j=HZPWjJ~4D<-y4(554HD$8Je~AvopsX@&dWTUB;) z@QVjd8P)9gMe8t$(T%j6aX3A*0}gk=IwOEfci_^KxzHOh7>N82&?pczBHtTm_{w*Q zFeDrX*LVU36b4x$KE@xKw4xsvFrSnR?@S(U@!POPvC~(yHWTdghZA~bYu18l|51st z)?e7Tg~VCHHbar+CbIoQ3k|BRF_EC!8^j6K?odU8R8gf@Szxrp(ArAOuwfUP8CJL3 z|8j;c?OcN)CcVCu>GV!{2r_5V?i!LG zq}U@TSm8i3!NPWep}d*@=mOJgmz<(UACpg=9)2aAo~CBS^1sdle_Ey|@#l#7)r)it zfRtjZ3NkgpstTHGc2yN*X=+s!w9>q)D#+HPsw(hnMseM;rc+fxJI$A>0?h@oce0P+ z_A#;*Pj}FFc7`<9g7~QJlV-Kk!QJq`pB+oTPR@==egA%Tob=|Av*XfSdY7A)?47S% z%Ek0WQ-i)}UeFg!3i_fML0>c-=!@n8ebGdqFPa7aQ(v;xm+{{w@cU_P923iKvO`Cs z_ntlsz-=T1x`TPRL*5X2H{NrC8R?ayEn1}f#5i{+9whkDMr|d^BEio;5_yIyi{-yE z&x~`5yxTC&^N7+oKdEZ!+9baS66e%4kcbpUdk>HH9ErdqGkR}_=!j12C^|cVkxsAS zQzSZahIMd;cfz?NGUh5=TE_0}Y&={_m;DWITvw^W#xae{|1gJASJg?vHv&+zQco+s z8E881E!qw=5B>PXb3pUHKIdiv%^mBP%>tTK!O~xlsi%9@@&x4CXsRYCL(TQ=3D9LH zDZ^CVse6b%0lGarwAXxIU6gbI`~P6s_5$3^7r3*kP=y`?dx22h8$t@LtH&GozCFqU zG1q;0H9-8>M7DU)MqW*1kaO)aMLk25JO6c%Dwcm?l>zb##0$uSi5HO1QiJXw9Ta5m zML>q*^<+nOiQ-EzTQCO)c#wS|7Gp|ztmpmueHCzb-I67d;P<;!$L_VDIqy-@sgxM zv78c`p@TuVC@E?EjRbkSPMPo;T;)C=uvC7Cq1OXzNi|0sIXTKmNHud;TdAh_Am$H3 z4!7_WgXl)i#ogta1Bj1{JFe!M(T?*AjrK}Br^{$xxhyeam)9$tv7uh!F*D2d)gN_N znOCP+Cv@KzE?;j1$c5GO3&xJBEtaugNX|;>?VeMzMOjQZ-^Aa>?_9dMmXi%=b1v&- zAD#1Sfmqx8Hz_DS)f^-yq|q~xMz3(Ew>e5U`cV!4DQWb7YNXK-v7fsmPlDQS=eGe_ zogdt$pP<^O7D@T+h@%5mG^q=Tb)Ty1fREsdtQgh*YAwot1fP7HUBzFb(~NJMBd|Q% zp4?@sm05J#NEI_h0&CjcON=!772>8d-K}jj_*V@msn2wm1xX;<&M!u;o^0deXVIS? zd;h`xFooF;|(+O5AYnE7#s46dja_Um9QeAU+Ba5z9sQ`swGWk6?Y;^IW;Weh0yo7H3(D z9EXx#!qWY|XMLgso?mhHBADY%vf0^&Q8lwp7cuVwhq7}S365mSwq%>hCi~Y$3_v64 zb{{c3SvtG%+_$?M%41HAGTj9a7;sQs$r!fHtEJYv1K>Q5`ru@ zr**>=P_+>ouz#K1PEsct+Og7zpxi7rl`6JFx%3-3FYh z03-GMfB@@2=>ALw#jNTK%YII_J3y(TclC-stA^AXhH`%!V!*sdwaF=p-i$M5rh+C# ze`ma3shy#I_U-ui{MDH0I#!WW3Q0Hm`^<3bmaQ9I6zi25cy8AlSQ$fN@9jS&n|$yS z;lV%bdSh-;TL02fZNjP6ytiXzQCocMueEk_KP+vOV$6D_7`kWId+}yHW6e)8+Lk6E ziVnNp#f}auU$lB;rnQ`+jlnPWblYT4hgD6cF{qQ_uQ8~DRoE_@x1}VNh1oYeW$?Ak zd{0PN{Ekmp{7(G8Yw?>wkF*0%TKsz0^I~r#@ZJ<-=x9sLfMUSa)8le(%^R+_M}@d)Rf(9 z(%?6qfyvtj3IIO8@Q{JrucmZNEUm$>K;@dCc>=h#_?_sFo1i6Xz>yZeq}nHryKlo%b4mTdv0WJ4au z-q+d!Tbti)YCY&@?SVBgwe5e^Vru|gDM-oySU4klUe0W3o=ky>u$H~EHDJ<65vs`y zIOxpOe2^uuT5gPfW7gVNO_j!d!U&j#f>LItsj&?6(T2Yh5*EMXt;KJ-wfKE~C@XsO zMMDg0&dej}?t9Nd#mCGR^-QWL%<}%t{n@q2tT>7Unf;j8=v^J6{YD-^W8Wqi8rx$y z1eWbsg1~l08*3!g6=_S7x_0K6bhst0oeXL1T8p%HuDw-DlGe@%(pq4us7+d{_d!}^ zjeI0&?VL<_G-<_P`F}-MF;tdS@)4HGePpQ|@h2>mE2tSR&gx8x6c#ZrFjdBQdVw>~ zS|@MLaF%Fvw1k5IvKYoFnOsQ&<+w1#8Yn{#oy|gqGEx;ei;JDFt%b1h@E{{$Yp1-8 z@1yLLUrg93|3P67t14@*TwQ*Cg#>oS>!~b1jpD_TQlW}#!T5+V%YS# z#!7ib5pG(Im2y0T*=wzoS&Xu<=$6+BEU=F>Q+_dFru-dkdD6B;OlEB}Woni{CIEJq z@>EO4^Hdw3G2cn^r@MtsT@y1M9R@lxD7+$M+vg?-HhZo67Q(n>| zX{7w3HBx^1Ry!YrxV7iQ3**gv5SrJ_2kuBHEZf`l{*!=BA(s$$n_JWRO4j=q<54u6ZEH`0Aqttd+O59Qrruv0LCt5pEjRMvHP!H z2b-AtUA+7Q`lvdl+f1+#h`<;gzBG{9#vC%&!cn2wwax04I9R>P`%#(AZBml8zjMBd z8j<1Mgk?UA+~Xg>3YOK!Z_a-2NrDh!I6QPtO1B%CjCi5r)mx$*$@`+Xw@XU1i#pT1 zYjXL?<4v77$3S6T!1qy)Os{+5Bex2xwP^AxXI=1?yrU89q{?$IRAX8=8Ae!eq1n=1 z=svZ;9OJI0cr>1st^w)fv?6zgulx|fVOyqdli+4Ndrw*UuWC+bQufRX%|i3=JHCUA zv3H_sLHQT6*`_}#-@O;*Nj7GVFLlJf%5`&727 zY*DLtdZNPF)C)q@>)gCV;hW+O?C$EeJz0tCH)h$JJN|wYx|57iN3C!K@W)%BYYVhD zcQEjc$E2Hq|Ho+>_+0m?Dl_oynOV%#p*C_F(lKL8%%n%?_c+#v@gEYW|Cc2!%lEtkY+3KC#z{9TLV zLf&HqJKUNl!A|qt8A-H9K>{I5;!KWd#l-a($_;M;vA@~Izsvn2%qg66&Z-e3amf`E zjg>2#s#ClHe7O%RT`a#@T{G0JOt(U+r>om?4wKZVyj(@fJ=sch;H2B-YeURAX z|Im*R{%RA`_mX56aNd1*{u(uXL}@isxFjpy$o=k1Lna~{;&a{k_Pt~(o!fiUq-_`&7uA}R>QaF*_qw9YzdKe>E z?^4Zx&pOGHnX_hbu5g>Ugjjxk8`U3yn6!w63hfpm(eFt#K-~!Up!2^J3NTZ(#a9RZ zLB5i82Yb;Y=#8$4sH}aW-l- zvY}cO?tKdMeleNTcT6C&{DNFV4)?!P42t;5U&W{*K}8LC3wtr;?2@$jH$!bsfr3{r zXTiX@wc&uk;Dg+yREEbS_fA_zB%Zi)$t+O=Y+z!EippdoxkMq?R>4(Q%K>sM{kmj> z&a`Br$seSRrB_y8rA~VEM2aEvVG4lW1`2W;k7Fo|3WrrLldYhcXv>KOwiPz(MzU&c zf1Iphs|Hd&9D;X)c$nNjeC79vE2_Ds)mJXoh&xnC(v>&4uirgJYGB#E@`<8dESjfI z!Wkw^V8!c+!dj4$GwfqkB{y@@;%BKgafx%M`DP%0Q$3XG@w|NZqh>@S^_?9v+>_Dl zj^#J*gd{JsA;)IdO+)RkGJZnG%CbYfMmJ*-NktO`Ux5MNSB>t0oAR-K;Hso)05`?* zad`=o{(IvhK9+ycujVYPEA_)E3Gc>Nf*DIxd+j_|*gU$UEdO1+Y);pPfE@1nsaQe0 zs^qc!e=0(|A$K96BE=@W#j0OSC51$bu{xI;;_FF&JpsL@mny^aWDqlc)hw?R=y)Ua zb00rU25G029{O+WKzLYW-j(k6PLb#YTiut;Eyk{(Jxi^E*fV0Dk>S=FU_L`gb7gAUYy+3ve z`SLRk3KK3BCj4~1yt(&aP2%#+V&v5RD(0chZ#==;Q^bfSN38LZ0|w!TUm)}m@3MPt zMoQU|YOjyQ>W>t!yL)3ftxOu>_Oe8p4oVY^X;BV3o26ZNYA{;J_0p?DxhqFC?U@@| z1sgw~<_c)>&E5pP<}N_(nwN0Y-2EP|SjJ&G-%Ns7<4pq~6tKy;3nFjSz8v1Wl@w;G z8zvVRucC5y_#;{gTYs|O^r8+el#bT1)6KN~TwSbNl8N6McnM=~$zhRqy9vG~b2#@R zFsxo!-z>11O2%F#pYKbek$9Hz@&aQPESr<+HaXy9HN0OQJyHJAOGa#SJ$&C}mx4 zg!RVfLn22%ZO-Z^e>yOwINHXW)J+96_q#3s(*PRLRi3%PT3`9IoD;`?#k$w`#7Oda z|Da5)oVevpECBl<9Bny!oq&6d%{F8l)Z7Ce0!MBZOVZJ^~uEB zQ*OHAW)?#ODDMCwiM^YxnuMq~dhrX?SeARN6e;PvE- zZcg(!%o=jc!RpC^v+wcGi%f9KZ_Z3{XI#;U+j$89m0Q4Vd$*CNu=LM5kv`;%MlrBz zM^2Qixhwc$n=vPcqsOsXS|!k`R*ikBamL;{v9tnj1g}A}(Y=Ehnt_zQS{{wPYiw)! zsWmGz4&uiA%7B*@Xq+;NyM^#e4pC@lhUF;Uo5@8l<|;pKKr=VLY0b0&+C*q+N0S>pjR+nOwt6Q9 zK>(||!>2K6%^(N}mHZH2)1N+e+?|+Y)$3?nr}a#n=JgL&C$A{+u?8rCS5K?QZj;ET zMBD2ftWGR}lb?iIMb1D9)1O_*l0wa>svKC*`U@x(UH{B>(th1uZW}Pt!&% z=jX$g)N=BypwkF)mwaqUPD>MAoMA;UY-|%Em~Mm{g_JK79aQg>dE*W;KSgHmdEQJm zBsfgUWX?HCaJLe?$s1P;GAxM;TuM?(n3aN|J19+!o#o|Ij~p?B9$aPFtAiI&t*3~G-tMS*8_yeCIqeO-`8A=V6pEfM z%%nRmop}(uQS0XhZ&yf@x$&^wT0RVi(&Ajpq2#(xSF*&=_YI^e&g;F@S8-BU=pFCu zt!GDN!8WMJeN1xn)54dU6ZDn-y`4^^lOa8R~^pHxrhe?T6Z=vykDSHlg)dJ z^Pbn5)CX|1WVLnEO2r5og)DS=(J{M}&`Y8t56Y7Vm}SV$2RQWf+T(c9e!jz7(t65! zkq=W|i>0GCs5(T*%YCOVK{wYi;fJt``IVL_bI8Zhs^TyHrc2~R$YGBOx-SzlOe5RCH z7VQa1$Zzq%z?6>Pj9FjpW2W8yTUH?TP#zbKen_%F-nALNiV1p)UYzN5p=ge}yiSQ{ zJD%Pn#Cl`+F)NR@5RVe<-t~cHuHaVFoBb{%yB7wnvwOiOW*$CF8oQ&wBptz_PMWF? z3o;`Y1X>uLSL06J{QW-0N3=r9oLah(;x-}ovdLyzCaz`2bV z*<}#u8`9U-fz`vs+5O=T7a< zXyJXn%H4W{=~e`Qpo&m7U0q6vbPq)z(P0^qSkz05Rx#UoyGwGG#-~c;%shU3r|IB~ zvn`w0FH5?n3#V$MarG?GLlpeWZJL)%njrm@vCCVeiPN@u-knB^W3qv|ul#F(oZM!X z_g0j%)O%Tw*AO>i_!!s=ZHarDNKa03t^uY-Pl#cd`lq&wta4Wc9DrVHE@1VB^J)Eq zo820en9DcKb}dAVF4hok-Vy%?7^e#fKe~%Gzavp@`g_c@dD~Q435`fFKz&opbr>Hj z+}VyXBNOj+KJ3!lv8{ovR?dojrg5v~*pY?pEY2E=ZUV1kEr$MPVAz)4X#6fjzLAmQ z{_9;3cD465xkAwzEoO2xAy=}UyUq~Y-3Dsp29vUGIL7r36&MRQq+zSQTU4tIJk+qO z`7ol)-zD{is~(c6OQ1F&@L`hF$oGzrnBZu@eU~{89-JK%pb~2QC8smA@9fYFGa|l2 z?SzSa&GsVCorhCG3CQomJEeG#{(Tb~H8UfwBlMW`BqPLk1T&9ec zx)H+Z1d|RI`8&&=JD1zovcl0;GlPSRDpG=Z-7_CLIVhJs$m^q>X0mmzH~wn)**BXS zM%YhTfok%`rzr*cfCYt9XCbzuEYK)$vO5(N_@o7dxW#Qv-PQ-dm_wVW&G)EdI)S=@yHht)>N?vh z>n1>?VP>C3pvOj>Lgi3*<9PL%DfoUP6{N|TK{F2=(@rqDN^N^Cn2JHOucRUCr{$`9 zbqL}ZqI?*$I2^k)mAlGqrPmR_`CO-hcKR)3aarv3)Krh<_ut0YOYGLwy-CaoTHA>6 zlSlqUvuo-+iC5-?PM${8vOW`jwoQLp`5Ap5@?=5hpN~@VY(8oUsBy z1k23F%vxur<7)3ZN_n6qO5A3sWtBgr;Ul-Ik8`!D{twAjd~cF^mnuEnSffHdI@!$6 zoeCbDN|W7X?-{|zLK}Yh3b@yf2M$zstPbZMD)7Br zlVm$*^hj=rD2+0@3y&!-w1D4*7dU)5H< z{HPaYSnAEYlh@=)=RXpK4kg#qci1M6&8gkwErfb&^)v2vep-?FfNBAfb5QCoa5;24Bt( ziQ9e42shft2v-&Tlx65uf+0@$%Ru-N%>B{#L<41NrA#Qyo_o~#mfTB7;5bGLv4})H z-}o86Ni+7W^cIl~q?)VTRrO6JvHbNXgHM-LCr*#Z#*e@ATq} zk}*_qQK51B?UkrNbB=w;``lwe-ReEYgZa}*FtF@W$1^S8k?Z!Gm;ny1_BN7D&oznX z3Z69Yz};#%iu}Lat72zocC5bI`;@s9f&=-Au%6MhAMn2*rxzR^cH3((Xl%qLzS>*# z0a8TzC5KG8Bj9Gs$rGQ1h1r{)T4MxZtIcX`yot~I)W}+2ENPrFfNAtN*=fZ&_a*zZ z*E>z`vHZ_Z0#YA9R@~p-GHDu`@b;HcY*3o`v7BE_vGO&ERnc7(>^=Dac`asF=rxv} zZCYXFd?Z&+We{(auN>Esj9WCrxpRHxt?uW&);W7Hp=wZGmk5~FZ(UWbi$Y>KmC3>? zk)LsM0&B1Hjl2236xqW^=D?R&T3bai4+>3CtZWq}=WOL`Y5da11Yn zi|Uc|Y$y?;oT(jalc8hD=B4w)SVQ&xO(HKqas-Q3%!Amf!OJucKx-qH+~*=WD&O)Z ziSM33UZk&0L(#%P!8~(?F@EZpgF(l5TlPMGK~0BOaKuq<0&LMVzqkG+H3vb#Qty(7 z1;q4QHX7jE$^c5xJO6DU<4}cL{fZ$@z6$4U>WZ~~MG2!hZy(p6N1j{xItlMo6j~Ea z!_LF6Qn_~~wR&Cn3DB-kUa100Hh7tYbVOtGVQoCTJ73h7ce8oKXY;z_d4+_X=cW1M z9cNN|KKnQe{(&T$OcHu0eGufX!k|#aBQX*_#!onEUCaja3fY$b%&@DL^AeSRLre8NpC<%u$Yum2&+a-< zjTh7>X8ngEa+QH;$?=A!c-^FXZ6g9^a-oLJK+P`6_wV8YH9FnCR;v9p(N?6aTg1mp+@wzTCtQAp7f@FusbJ zihed3eFa|@ey?c8`YH+)eXWfyIg8e;B-mS$OkZr$7Y+*KP1f}FRdiDNe-SPE70!E3 z$xG&WFWU@}#%g*nZ;Fs5(v(TB7tbZuJE)&E{1~RwSMd{w7)G)Q6Jw;~i}(gczVbPy z&LDMuqUqzSm`H%odCrq$<~fb0NqOUb+nYe%qoPl~irxfx^QZ&5GX?Vw9w*r^c_ZL! z_rFZsBj_ISb(@XrYva1{bxGd9&0xTffZOXghF&_ASa$i!7YhD0OJhkqgjbsKNd)SE za7=aSPp>nc8^O?8DubKC&I~qKudY z(~7%+`E~dRTKQ%L$LueCMsW{9FT+uDxCnJn-0a|(1FwFixKm7-6U>EB(7=+7!7+O) zzfjEYApK!p!&jaIqQ}>B*{mIj#3~&uo0;n26pd>&Hda^f;?(3bBTqhcbmJ5jzK5Uz zCP^OC&nsubn6uDew3&{+0%e;~zT+~CX15(5yTj}{wr{iTfi>(ybKq23LT-_wG%;;9LdE?*Dve|* z9c_}|MI^-w9j1n~&u~M&@(d!q_Y)2BZUbFmq9(5~)b{!VXF`DU-1)B>Y3lnV{d>PU zPpO7jYsY5$;ka4~AbIY4ZzKDwB>FZReN%HSr+MzZw$wFrAdnkq6OwxEZa(DDQH<*= zKp|{3B;?x?1yQ>$RFu9=JFtZi-S>WdOA~iSIM?%)uj0MdM2H8+9JDJ*B@w{V`^j|c zT$pgfUH=9*0|*Cd#VQ-o1_bV+glJ2QGa1q+D}&@Zv7AM%l}Q}->bDHw&k*2~t+s!tcVA>&Kx(%Yw40MbZ3sWrP4CDo z+?ma(iCd*h&JCK?*V&|EVNg3zthela8tlAU7m;r`uhUFl`GI!@3d;JC7gBo1s7uQt zx*5Xf3~TA4_ztJ98COtrU)axiR4;r_PdMhbgaIL`(Qc7 z^2$g6V!ha)KX|msP5a(wVagEu%BKqXMMTQY$lZ%vHpCr&&SvA_&FyhV0vZSm(VrrX zwjPm7*`xR>wzK=Ur^IvD>m0D=j&X3kn7A-JCY^!dzfvAX&o#-B%?z!5K)(A2$;a;^ zUA4TMziGGe+>US)8!lE=T&mmM&JCuHeoB~dS-SqmqfQ^s6IHQ7d2^iGi*N54Dgc0e zf6x>&gzKIYh516m;S(|vgPmt9Ik--(F_q}FdmEn?8FFm=PbNOuS~_(NZAe^LO)uk9 zOln`nXQV?JCd2@nUi9t|uBa~g(tAk-#v0FCrN)?T_(QF1V{+a2>&eDkYAYK?;#yKq zZxG+Gh36@AENAEmmPNhD{Vy5KEb&$3n=EX+4A@x*+bK^iSjHzn#DkPz#K^InZO7YE zE_8<;E@jVJLBaBd!o*E{+i^h~%N(R@Ju)N!vFxQ(hH}8=1V{oyh&g=Ms3%(W7Wu>2 z%Gg%PS(kVEYT*vZ01YwP5=?5Xl-Up%xgF=oXgljKJX4;p;xU6voD9i4fiuOCd?ywf zv|$kwXm742nYG3{z?i_w4_>KWUM`~gLKE9dc2yOxLFw`i7f_=Yp#FM~gDhd4foT~t zTpf**6ej&X8VMqtxaM=}BHgrZVun zpP=HSDDBJyDAADJ-R2~t674d3 zA+t1AzKUZAb@K19}?OaKc9^I{z9gen?*K>w=Gef*AjI0+l zs8K#L2Q-1`amJH+f}agI9ENuR%|g*30G@fPJ1fpIc-K3FKB7*cm5L5#dUZ7nswnBH z{*@I3SmZrq_ASZT<89|N;at=xg8WQYx9#JIX_gwC>qTW&4e{_OcQR> z#^1ry&Ad)J56QhKvHcXf?^tFCJ(O~pW zXj3r<0e_h0>#dO{a_sb-%Y|TuxvCHEnUEhee;I;vImp1$t~DWm`lVs8irMT zY+Hl@@A8Qd^K~AS_nOL!opiEHtQsmsU)X2AxFk)whO-8WyNw!x&~ zo00}7H7BvL_6L`l!bZ_^lh|}=IH_Smz^*t5v^wluLz_+~Pta~^MI(;0g&}Ax>*6Q+ zOJH_sG_*^z^6fhPDSk6?A~t%Z*Ys03Wmdi{?$j)4Ryb7v z_f}3a&GV*yu5Pyf(zfhIx?ws2s4K_Q)0Y&@Sz~9R;2`emb#wo1G|ccKixX?MzqFD` z4t@p)S8>_0sAK1l(`u&MYoa+_)k!5Y^AJh7z%tdlfl-iUf9Ff1H=6dlscQcwH`6qo zQ+>nWB%8mg2v^9Rz3_jcqS_Qnl`9pv1*=iytso=NeI!Fzy2+h+qSXae z^AoVx=(c|@0gKtb^4Aa(grmh-!NE|Rxj`pwuYrmi{L~&YSNur=1A&t%0<`Ex1w8W9 zz`W4jEX-a6pXTtu-rf8Vcd|{AWgkuLqk(Yj)MKsN5EOJ?c~U|5!0uWMYr(#&bfo_r z_DKzRtxEF~k9yN5ppBGbI)FvR<(0njGkFP?O_Njy#FPoT#js+@MNH~nN=_^&$Ki*y z*c9`Bg~HKy=t`p~*&yTuHU?p5S15N?q}eA6r>!Jr zM*hU-Bt8v(BvrqpZne`6={dGhbJFcLtusvm&A%hE_SUADD!d>+#@(fN9P3%3?!4b3 zQt!N>O{ZC}HV0XO#jg`7^7b|HwUtS)GwJuSk@N-RmT&BpMCoYSE7D6e4@#9_9s}Ze`k7F18Cuu80H3C@U3t;rNb{TI z9Qz!O=Vpl+O|k$|lr0xK$T^k~jaBF-RYo`z{Y)J!xyO5rSk@SK=W}XwmDf+-vDUj5 zF|g5`0|z;xg5$Gt-GGQ+w2XN*;}TlePO1NpR9Ix-~!u5saW{6NQL1xD;tVbh)`_% zm$*&V^Y(|=bI)hlz~@Z{v##Du2D@NSBSUUp$GE%<#a6LFh0a{zjM?ubw>yzziz{{y$B-9{oRUDc+B&lFb!HeNo6xao!^l*} zzjZTL8A8n%2Av8u$+DC2AKiLaiW4%-taWdF7Dc*C%e6i-2<}|Hy&;A&TAV3Go&qWI zbe1=pfKeh9GPDWB232##*RPB=;9ye#9{Zd{eAzu)?LOqa(o5*wLp*M_xuzrRJgOjQ zw0Bs!P6%fa zFtS@AqFY1GIlhWBOnIX-Okr&L&ZRK8h1dc^HsACa10ZwJ^;3@lgJ!A=kOtI8HCuX& z6SLbwaEh~x<8-6yj{QwWua1?4S1JkJL(j=whMJ!kjlh6wgV8U{9LO8#FDN-xTZ{mF zQ6w!`RyUP{1rsMu94Si=Nm)eo17);4!+S^Vjpb~euh}0IceIRMrw|=Or-hK|i`-+z zvl`x}iIR&t)H!BaCXL;F<@><)_^-+UOYx?PiRJV&8&{LPtGnQ7vWr!R$UI`IF)DI( zYpQ|Vkkoxm>FSaWr94aXjb7fEEm~)fP)3uu4oQgfGwadWDZ067y)kcsRzi$_coSh$ zEWLX(DQaW?)Z)*mG?Qh2*)7`qwP5vZtoH+L0(Aq~SSZyGl&#DRi=M!VNZ|%giy%h5B>NQYA+1aTj zjlyhdj4*;tjlt6o56j*t`*(1puyk)mB!Bme?8v#{*i{VR%s}b-g0Qc6c_7v;wJ_S~ zsescX%j-ay0jFP<*NvBO^ooGjH1QJuUYSn`$GX+ZyfhTMDz(t}d7~>r&UIPdPAXES zIKpFtCuTuQzUNYs+jtDiPPCPOZuiquyt9!qq8BBD9`E;3v*un0pTe;1cYlE|3PhWY z>y|xsM%nthR(rg^(o?E9aMd2e9fKS!eL z9{P?niB{ARD10N~hEtm;!VwE|J^VERoMnW3#j8TOYklQ6vOkb!VTK!P4YE}g zcLp`|>|mY}g?I%@6TK$jrNOef&yQo{hl~hCr>21_bb&;XV9v`oQU%&PW9jc#${m<2 z;>zD>UA+>$BM@kd`pqFyE+C2bkV>s$_eN5;m_p<46!|6#wQ9b?}v~9ll@E?L-uDJ*l(uOD)TwZXIsurH%L8Cm(tH){ZHPZU^tyAR8EZb1ObRT)X zrs~ptbxLCKSHBWv_p~ZVu7gT64CM>Vn{e!wfY@yNV19xDQ_3qJIECxs zO4nycx~Q=M(rRdezT$WQ1;+9cq13S_HrGuU#o58C;+oNmG$mu%`fTqCk_0F^zL)?~ z*x@1~mk8GWfOi%fI8*00W`7t6cxx3BE9u~U#f!V?QG3*|lqR`9BtB;GG5tt9MM@UH zqh_G(4sWP%#6j)oj(|7LG~l6t*9$g02;z9h^HQu^nFQwTfO%5_%+-MGE3$IO31Du- z&fO~&V^1b^8xP@td9%%(%t>0dwnJdRy-{pugKG8wl7P<-WhWDP%?Sx>xSyraaI}BG zdz=?kMgrcQys)kp`o_;LDCZ>MKa5jxIsO>6(<@epQ3q!B1Cl^t>864J)2O%{ye$;z zjr9*i(o}XJby+x;)+|uAVQ(j_&XY@_!zwTrQvpm zc1AMTN>+Sq+6v1rBBQWjb$QVF&YYmFb(i&qEy&}()B7(n3W~wAU=4%ZKXXnHAW8O~ zT`=y!?1Hg}3M#kNDce}TV0Tq^L&L@2{dq= z`bGTuP_!G#4y8si`K?m|va|wG8fC>ZL#dEyBv&3(ebXv_Zf-IN_6IriIph*rD|l0<=2?pW}$hE057a>Oae~sW6i(HXE252IALw|)Bhi1 zX96B&k^KJzf<{2!h@jx2292612q+-KAsI;E9hd=B5EW5eT|{xkV+K%eGts;bqwBr8 zy1MJStFF7c>jB;YltV@E1VI!}-gXobl^gQ^eEXeA26cbWpXXunzWw%5-CbQ(U0qcz zHIL3qb;fQ{T<(c}Yp|xB6Fd-`?TLe)}`!SjAYTl1aXD z@0=0%%Jq)0luINa98WxDu=x4e^zV_%u(!~u{VSlD*%qFOaGkBD1=TQ*uPh7@XFh*p z+)3EYT*OmEpbp?6pqq=5*f@PeWl0g2kB zBt-~V&yk;rHvc9CUZtCu;)WjdF>L%~0 zN{xpmU9z_-H4>6ErXlmLmZh6{E`nv#4buEkqNpn6LX4I&XCoT4lXBh6oS61-=7D-Z zcjlj>y2T_^H#}hyOk(mL9xkHROT;D4giDNRFtf?8zO|-rmZ>$*byCr3E`c!o6^n5JZ*30i%4puYo>sZ z=3FwIIcIh$n6T?w>!!mA0!Qa#%{q=X{AWkDFCYNfMmf@<@ni=SO%HWzJ}<5Ls#0=Q zH1xKUe&`*$Pbx};n7OX>KkBWgn}#dR3dV`gi@n#*B$r6P>y0SRun9TWHGff3>M}R; zzP4F`Q2|w4*HlH#jC4>%<^{VG>s7gRNoo89fB=wlUEU;Qf2f<#*oVO@i&AEct#w4P z`8^L&+R1FNrG~ia%P4i3Eyb3Cn>e^6)|p=wgA!d*Y>vu7a}zL>0z=GOAEO%+!ZkBu z0TkwB#w;p`A)Wkw;p$E^I^=qTOBP5e8TF2Hy(@}MJ1VQ$-pNVYP^l@X&Qx@6`$xzd zwz2Vb1AHX(qmy1jDO@lh7sN>SwuEaw>lmK1vnVk=tgcQ*1_j0IktG;$r}{Nr-D;a0 z=serDv}Wh@c(0nBGZRlr7m|1^=3P=^?syx8-N z882_;a89p%DV=j!xtTu!0MnrrD0P(n(jh7df>GW{Y4?OFAyX7lnDMq|0Ac zM$=cZ%|K&9j4N-NH3{W@2c# z3f!#O(uYc*>u`$;!* zmj(AiW{6qJflHUuZ4a=QfkwU8wECGP4S+L08pC3$b=j=rG)vfkI#qA$%x|zW|ME6m z%{;Z(oNfn_!Cs5xWg&Z;2LiR*u?zrF?Lm!@-Hy>J?>ElPiy0VBP~FTEk)|7^Seyfkd%unozxR})I7W9Qcn5_g{tTeh4hU$aek(!u^UPPl={cbcp zu`t#4`lvU#*u;Wt@qWtEt*P&+%WDfvffjhWf2RPF&lF<|NUoo1A-M=hWOd_a-ci}% zO=X#=>H@QvNwVK9-rLd1)GFtR`v3y411%(r-%x!TnZ7g|)ckZ%Y_-*p-A03!s8?@A zL)Pd2Qm@7B5Vo86w4H#AU4(u7Rsxr?ppY^5ssztwCf*&a&GX5Ek9lU(n=+9~jf ztdP4qDwtytCjBRZM4j=p!;!f_nv@tM2x}CA%zT>}Zf^vTX4C&-5Ld(z6`#}kMjyJ- z1-gsQ79c+rb7`_X?N4#jv*dHfL6d51y89)F*(f*A=moil3af7+v%o>lFb&15RiHKQ~C1#Bb z#H=JT?1;wJf18tSN2v8t_U&rdbm1Xfvsc@7D~e^bkm?hcMhHcF6=Io0-cN=E`-j@+ z+3#rIb0LMix9ttfHJ^5zvxC#MH~BPYNAb%I4J8HW203J@USj5xh?1++98XP=)Ya~i zsxqg*d~3xlx?YJ?%vrR<-X#g`iKNe9q!vNaH=snSddDqXEwVJ0Pug=kwLbyeh;;mM zm+^EXh3grg$79~ISjA=uxv|2{vCwAch6UuRP7xJC(&!TQ-?Q0&5C5@l1iSC^5p*wL z^F2W#X+vhElo1DmIub_@;BOY1PpBf2)j?;WK`KWJF^zCnd<(#lN@7HMR312;0msBD zpxB=R&fBrj+f&AdQzuua1_~4y(RB!2Ly<-ol^|PA*^Uf4SkmaM-MkK$G#dJTN@*a1 zPO;K9vUEensM7%w?FW!{NZ(^@W1;t_bfPi@)-w=Tmq=heYj4IEP(k(yWY<*wUAeUp z8j)`MxRL2*gk7`I5m`35$K&QPXcn;^TvKC-7rDXI&PHZ5thLKQ&yk!{T>7LXE01xX zi4NAUzB(W)oMo&YmG!hN)tFD`w=#-kH_<&eZoTt)-bI{1psw>`I26!xxf6q^#x7yIhvXV z%~|R$1wlX-%nxzL`|#g(-0s~b;i9+S=PJub&L=wnSd|lhGq>r;u0%@r#O)G#tqB>e z_ENR!p6>;f4A`YgPV;}d(pJ(zAnATU97Fsm9UB^mO?s#(U5VKX&^2F|hU?l6Fy(A9 zgX+=mca5e7FtoW?X|ePW^x*YGWN>O}Zxaq{^A!V~lxprO*(qce@YS@~3*-ZSE!o z@i}qYBc<^kG1P6y*mi%r6$H6X_938zj4n~{{sYFw%c>*)B+cQi@a(KSQfSHC{6lj=QP_8|30 z`x&1E=*XtYvPVcsOyfH3)||ryuZ2|{xsG&G+3Xxj_h-CEnv<6RE!csN9J9C=guA?K zl$)*9sl8}9pBeMBsgZ}IZH(21pmE@W$88Va*r6VV{0{125nyWoo#eSt!NIB4HwKuJ zLSx;DVqt9&v3bLE2aQ>wb8}a=Rk#3!ZS2lKU^A;2Y@x8=Fi*cp&Fx~6z zl>yQ8H6x?mePvSls(%_f{fl~!+rBcr7fZ#YgGAIz;lNL(=!bt+d4DUDPMb2D`6FeD z%J}?UlC+m}pnmTR2Ad}tlbU{a9~*Y=Tx8m<(Eyo3vz1YldX{~}eYRDUovs%Qu)@d7 zBQxE9)IaSQcd^84fd9#mA+<5fm%MN$hm{t9 z$GlxN{cbrnK3F!0QYTb<@TOhZ)P7R!t%@H-mJIsQpsrjMcC5_HEKCjMgLWdmH#1c) z@+(aTowP@fQ}dg?j2HJJu1?zNR&f8vD)*kqwmoiWnKSQoDsd+*Zz)^au=fMHmBOfZ zM^JYmd$FAedE6W1)IR?%6TF#Sg15PtpH1o3LFw=Rk}Z9?N{^v5n4xhL+H0t?ASUapFrOSL zJiNSYJk;#XM{Mi=stc%D7Zq<$aS@bdl#QnDDBGaUbze6;-TJOr=;K*E2Q4kSr<62> zJIHW)m9#nC)I6IL+t+kkHxk-A>);7Xi>@n$3N0v4=xA-aGK2t9P>fge9BHPy1 zM9W4or(E%8#(_EhpDxS}_dvdzek5Tgds0w-@@Dm#{dF%@&`F%lTW&tGk|?CEwqK#> z(u}fE-Iudeh?r`bhis!zF6}+hNxlt?&JDWXLJ3{s6ZNNC{6wb6Ww!Pm{N!?r&>DNH z#Dvp40Fr5mhig`r1SB$uV!y;Hn-jO@>R>oVcB2tn&{PvGo4TATTT9T2a&#dFwFa5~ z`1*ksCXTiR(=kr%M5y$y6+0%s*gA^+TBZ~8GYw&&el1gJex?#Q8%AH=HgQ)CnMN!a zfa|85XGd$W9juPY`dmMo5H*S4Bk=2{LoR`x|@{sNLv zYiayAeve7~E&p4CSYBSa&HUAyyp00ZtX&RKGQ_#C?GfVyR``Qf%k={Uh ziTALdk)`3Si%R3G!*f2XbdnRvDV3YKNJY~9KR%(N;N{aoh-JeswqjX{=A5AODjiq` zuSN^)rYXXuk?f0Sh{taOqR2_-rxNG7*Ibw_Qwniw5ituZ9k@juA$ zh2iut$Qjh4X2$_jPG(c)>e8s7Jm%n4DGL9BDnUGB-cEBY?YS2%be{+5^lx_fg_i1Y zBRSp`6*=u7?a8G2mflM1zvAt*w)(+Rh!k!Q=6k7AD-~x`(*X~PLQ>B*v28Fa?2rTS zS6HtAb*mIc+HtD7QB61K`TEZy z+~aPe3;ql@HtE}zTnZ%k1K=&D#tPpT@YKPfpHn;eSKzlpD|@)JP2JXp27vqDAh9=8 zhs$8e7+i88p{A$k9+b=tP_7p{ z90gA>>oreU!^&oM9^yAh9+)h9K3&yF8Zvtu&eMHZE4qc+gv z0h4t!#_F#b@sQtQBoHwK>AxAhDz2nj#mwuF&8cn0D$el<7tSIMv!tkHw_L6qFNtP( zNl>buTvZZk2iH{Qr;F-(qg@F=e2CltpDN6xXxz zQAZpi*^;ksoBjA2!$`?|%#x}CkN`w%QL>#1nrH&C86XC^1X{ot@3UagbfHEmF>_E| zv;*4T8Mrbuf(WHAHEXOix2swFWJ^{Cd-1v=(-V}Sd(GmVbDhm~e&EugI#GKo=26|q z2?MCS6& zAGm+F2kDd8{(y114%VqHeS_+cRBrKuX4&jtsG| zBj^E|q^;qgwdd8^z*Nx#5=PVRD%QW{SL3UbR2LL*lE(sFP6p=sFkaZ*)l*Xcg3%i+ z9V66Fl&=rZV4BW?vchdn44yE=>p0RJ1Es`#tzwb4D%ctL&OA|&YIuSA7=A_4ih5bN zLOTRIL{6=ucjREobZN#oM^{Y z-uE?o#zQ%D?AQ=?27Z9Wu|EOKe+oq)Ji7B#b1i_Ov}+U2D($R2?2p|8NvpMsO*U$C zdATp{-jLb0mGgqDv2;h1b#~UK_oHy#Z_MHq)WR9S3qe7r_Iho$(hnRiRoUP5F@4~v zKnh?F0+8SA{{qc*IYtP_6Y56&OMqXIzW&6oo?PESIr(Y zN*p@&8)oM7O8TwlMLneYrOd-Txan#5ms8$NO>@ncdH}}5axHBnix~r2_(j?NmgD{k zy%;zi-3W29zyuRQCfBK5*lTarTTnRbg^F;t1e{w5F8GfHIs2O-e6=Gp(0}Ve zYR^K!QnT2tN>?|8Ul8RD*KBV-wH2s!0^w>A`R3Xv5jA@Xrt{@eYlweATon;Q)Ar)(u+8?zb7g47~0OlXyFIgvn5_O=aN*F>ikq@5yEljQ!+2; ztmmdN7*>5y^VN9B|9G9U3_)J4@17YX(fM$KSeMkT!X~t4!~QXj<|ED%3;FD3(523H z3l@x|Ed@NJ5MOgSF-upjkvKS&bAl2doP6inqg3C)Zh8dhae=#a5hh#JA7+Y>1l(BY z-S{!Kc`Oabl(3t@7@Y%c%mw7OJ&`t)J4RPdTU*d zLNi5(O|BdI0H?atY(7@?22Gcm^IkYuxHIV)dw6)oJr?0^|4Ilqz+XAmBHVC3l4l5i z{MKdIU`uFeI<2uML*^jW0IpObGlp8fD4CA4i3+h)HF2H^ZeH5W-uUXeQ$O8bPNNRVYaa+F^DNIjJM{uS)vuP zM9a)kRdp>h2P>Jkc(MI*Xy$+=MTd8zP^JxvjdQyJ^RmqTON;Imq&8+QP7tl_IK*4{ zryR|Qa!-)1-C`Qcx@4#EQl^11nadyFQ64@{Wm{<`Ykt!GZ@*i@iFJdj`Qik!3UQvj z(7La$v{SgvU)?!dnHN+xpFdTpgUk^k2=(S@OVGaapA53a%jZllEtqzoTDm`*)J`+O z{sn!3GjBG<%oUbqfL<>*h0LX{50uO;2qR4b9Z+cgX<^h1Q4MtOPMj%CS{`wMv8v_t~IDF%rKS`~hwEF0=JnA3jz@Yx$>R zL(4YGNghX8`P1G4aWTa-0QqW`I1&a@c18DZtBFHe`v+)cIJDhKKCV3DsB3Vl?BAJB z!GicSP5T!D=3$;)j42ot3$T@f?Lp0k~c^^VpG5 z>}lr87Hf-6{aKSiPdkWXr=A7oZ62i!o?<>wVyfR$=4Bo<&+W9EV>VZw5HQIOL~=20 z*zxI5iSlG*b`Bn*UTXl%k$tZ;uTw6 zdk*o6XuN;+@>U!}yw<&5@okcIe8){eRu5+(xI>DqZ&5BtMVc@Egd=w#eku%tD7EYf za*&MWvy89I$$*55ZP*H=(TZi#Iq!^yHb_J8QA-#u+YnJtcY7x>4~cjC@PovPKW zv73x1z)_`te0-Mhbs!;gzofIw$Cg7|&Rh>?UMj_pYsT2F4stVebxeEb*`cLUV|1hm z42`5--MSDh$v=3Ib)*cuIoJ=Za>k=RzN8x~w+I!(()O%Qw9h*A;%Tf?+tZf0SZADH z`TZZWH}51fG{@rWzRrK)NkFxCk+L(Cy^=7t)D2aY;T8Ob-Y?qaANr+rL1j$PYb&j0 z568%VI_dh{kS%rKNzr-kxiFb>oh&h+GVf$lV>oVec z0!mCC2w7YvFjEefhuA?8feofL_aXDV=maq#)Qi0P0_sgWQv8X(5u5tXpYvbc^zy2? zh^23K{D*#WPv;*jMs`^jNI2g@9n8mk@{buBY)q27(SDdWg52i^xnEfu_CSYbV@If0M0QmaSMA5kjNI^S1;t+jYQ*lasd#51knIb$Kgd z-j7lA!dC{a$w!~dF2;v=2_Pr=B;l!b`1^qVR?6?R8|WJ?nK8I$QNMKm zvw}9}e-w+KtA@5{+ff$nt3_l!h6X8$E&O5wwa}rC=^ubaa57y#d2w zXYwSTB#uit)(vvAu*kF_NrsKR!@eA87?USzdNybFk1G2uHdsQtS&s(pZe zqbeV!?}}@ebNaV|mpZFSaR#Th6OZO#ej+xuTr1hhL)$m9!|(nrT^P?|+l1Uek8LFc zxg?Nf;wre^aTC~3DdZJ5$e@0=(RDuNLSfpgt(R%E<*PSmu4kQf4twu}YrgJ;3TvEm z<6t-pNR&w1;W&ul2(abHF^$o?ZnKQ~bHo+`RrF^qxpQ|a^k(8bo#!Q56=aguW0|?R z7*&(Po1Cp6KO_ASl1i+{Uwq7*X$aH<;C?0g=DObFWtC7SDK=dG>R*(TY`JusBeIQr zMkB}3$m%VJ5wcy05a*kYwlp>Iw0T>&<9%dC1=;IoJXC-^6&1M{F)9A}KY6wr&R&m+ zgIWqTTNf%Ii#+wFUGMRU8ZSH^Au-+j)9TnGbHqv)x^YUr*v{qm6RKvSsYK^rE z`z!`$O0hrHAs8NnD@w=ceqDy{TeDy9bMrkmv{H|1@PO>}QjcwFmQTor!LGa`c!;FW z!J=cK-2*z+Z{RG(hA(L^55}aYs3KU2GgXb{6V{6yl&cK%?%pQ9Bum_+juSoo1I#0P zZM9=57gID1#^0%ZmD=+|0Gg*r@QStYiLND5` z#s8z>sPsoM7Fkq&HVe$BD;099TEN7()*x#X>C_%7bZj)sH2d30?0-lAQvAJuB*deT zguoI$o*i<(;Liawk=3>o=E2Y=vqO8VO%*K59?HQIY&5d)+?wPrrqpOV(CMogUk<<$ z=sXmXH_xurC?rBG6>*ILl`MCfB#~r%BzU)7aQqA={1zTmU=f+7F0GvPb`(ZLyQW*${jv#}%1HHH21>v#$l zve_xRR3;L(tqW+25XP=~0c9HzbY1g1&L=T-8Y*6e{|^l1yt0W>ch-S&gAf;+n>(bK zgPx2BTKx+YrC&gVawjWDaMMuDTS#uwsea}qy9K+a6Z>c6}2>j`R*Tl z2x0}@>s`~QAQ6G-IP;#@`IXfPO9e5F8EVLyyqrM^Rh@ao*4RC-MiI+yL+EZZvuQiI zLZ3GlcGB#y8%(!c;rAHtwKv-FuFQ^iU*r^P`~_*TVb=U>kFW$$w1|l1^FE-vx~LnT z62CNHRTE(<1Rt7-Ig>JZZ`YVkH9MgGZ#pd3bc?A$6D99z&SYb^^>j(;mMe)tbze>d zpN_Jpu~B`jtj3-~u@QMTWi(0kyZ94JkHNVgv#^-7P3f70+}Z}U>3D)v}&0K2h%A=MBuYg*gJQnT4^vR*ie1AukW;t&|zc@zJm z>Qw7T?ID1ZUd+@d>yeAG0e!96z|@SxicB91&e;%KZV0k*@B+X~Os4?wzWgC3kZU*U zH4S|T;S_*(K>*$(Zw27hyMWhG+>krrzl0`#z}Toa+u0=Bo-cXN!X7^wxZ~U%I-?9X zUO`jSuj@E&5i$Q}p>SJ_o7toso%3=`7+BNqD4XXd@?;5`>#es3f=5XzP_Yjq-Zzne zklhaV+b4GV^(2UHdjGI=le93YyX5jUYZ?CDbZn&wic(8*p7_Sghl|d6;)< z&pgNvXm?SqotmOm>icQ_t3zJgWoKaTpmp@?X zQ@ndV08hOx(yd4^@Byw+Cg3>@x~Z!n+^fX_j}6+l%pcD#^N{xA#LsYQ&#?q-I2mm~ zPf*QcoHZW#_y8iH$#^0_gn4^Jtf*xiwOAzLPA*tt6B3Q;LT?)}2))InSrjTGV;%}Q z^Jg5^%xtv?(Q|mx4$5H`Ur+O&7z{$RLP#Whk!#LjfoNBJl1SV!$i3?BL}veeiLK+= z7q>Laz#ddtu6f=*Kp#F=?h`d|6D2A;)q6xA&ejHae{+v=rH`0jo)t*9+EO#!432$W z=3d?;mR5%uT`QK(fSpBC7cp4uf{|3rBr!a1OHG5k78>H{r}{*__nq2hqKn@9<^*tS z>WSRu+9`enzkTA4xgQ$IUB(KUv^E3dec#k(GtcBNnWj6*g)MYS+AuTmw!Z&P-?^ut zCK#VLgfytqZmwp4z6PH$7q8s{ifAfoALD@)9=}|RjsQS*IdfkxCY2$S{#f4NZZ?$P znem=7MvsPmnDM!J2RJp(WK<@ZCAWuYlNI9vvO3E4rTHh>Ozms@%+b$u{Y>E}Mq4A& z=XIga8HjJ&4ypuGqn-4nKU71HIC6F2k)ye0s%(uppUNyPx~+LZ!O(Q;9He;6JD4T} zpgPIPd<}|^=LvH`3-Vf{WlN6}3H7$G?g2(`pQ~d?s%@)W74Z(Xw+Cte6ZG~AX4<^W z!IycC9}U#7^b89;o55h1vcT6enihDR_-d9~z&|n%Q(TRniX&@YgB^d_;Non9*Qmjm z8gzBsmK)^xqb@kfHWWW0XynKMzA9xuQrSD`r>%Y*{j}6i3x4dltp~W_=^`2YV|4$4 zb8~`qNnm9h5flvkbs6$%S!-lZJs6}xNrq1BGQ~U~k`@~Pq zyt~h+9z`KEu9$Z&Dx}?b<gRg1hWoh%|7<$|vON@3m$Jx; zGOJWiMYf(!{0*k#cfly(K(|(;pFAzHd5)ni^A8Th&0qP+$I`(8mR1E=+B?9~KZ_Vr zdBjv%`p@8H&B z%^9|_3s3=?*XjYHo*&5k+L@N74qGCcil(AZB{cOe#$zg{gG_RJixCH!`xqMNyg7vG z&HEasRs3k;Y?hhv1I@K0a0q1n%Azv=<%LlC(}U_?U9Rf;`X3FT_TJPkNS7gp!U9aa z{kzC4;IBsEjA)jsL_A}!-W!e0ggPj-F}m@iL{@R{7X?2+6HUI%2j$xjQPD+Y^JiJxcUhHNGo#!1Oj*73%>a{4FSHidCuT87qr? zi7PCO|M`(!74WfXp3zkcYkGVnzcb@p^<^?2xmiBMi_LyL*(KiEJ`paZ55`Z^MW=Vo z#L675q*Cvj`-C%h>!+D0;vQtM#=+60gnjd?VNo0o8peBqg7Fh`1G75l7LIeqJV1F% zfJKesZIo1u=wW)Qg$MQVM4k}OUY%~SV!g$R)BIzR%gkImqx~NZKDAk@86Dua)TarW zdA3FySbq8!Y>h5dYSx-=w0*8Bn`n-LyjeaymyF5fiGlr47e30u5evm=>V8{+w+01a zcbD_+ng;aEaznEe?^ajf+P;JIq^BAj3HJq#u`K4!^N^RNVB|-6cEU)N#Gnt|Q zFr!~_e9+GtXGUz}%*RP_bXmK`5=*S9*$w6t%39uOp4Qks!H@PNOb!RRYqViJT&*+C zKz}`5;%RIg3rz8T3;H_q9b|yEIpJvRG<%I6Du)ToN%4;Sj^+41zugx^Kf-FVA3rpu z+-z<~jj(+5r1&wK?y>R1vaM_|o=WV?J57Nq*rh4StH6>tpcOf_l>|4`XDeD`Dpk=E z3Q5w4rdz9{5_QnO(@|PI$r@MFcmzQs*Uj~&SmkccmZJOc({sO$J08=sto^fPl8b)YY3m}Zf9 z%|(H(;JmWRi1%HTP{@eRmzRx0&9#7MU9%W;SNY z`O?;MUTY(Luja)(FC2J=A1exp=62qPbU!ZkkZw0E03%ed1=Gj>un!BSClFeay;{Wv z{fty!WBJN@(*P{W73@RUQfLzbF`t~>g*=bhk#-@g$)`!l)I-n@2%5WWQI?=zs`ie@ zfKEAIM383H>oE)n%s_E`q|ODZ6^ja1p0y!D<#c-Cpj1(vye!s$5avo?LRJ6Isa6N0 zIFsWS2je=xKW-p8m=m$w(m-WiRei@s2!D{R52F);8k~d7F~7)l(f8O2kD@}G{|gr* zz^&$cEVjaPHsMWlfSgUvU}qH^xpv}-&HPogOsoIN(w*Bv_K+aVR!t$q%nuYo|I(dz ze^OrpD;>`h2{ZT;<8lvqW(`_HA9PdI<2;0|Lt%u&LOI5GA6si!zt!|slEiU$uCJ2z z!F3`FxdF#qM~R44vC4#_D|<0_>1#+24dxH36!qolt+Slsr(D*=`+3(IP-+JPVmNiG zDW`NSt<&TcdSY*e6ERQKecIyX_cwBxS-k!_fR|k-06XUc_?iIxkP`Hb{my)})c>>i zpIWx3c-#Eqi&XqxO5o_EIH^P%-YARZ(kMSAc3A30m38$i54HPlY)9?LXt|(IwozKi zEPK+fT&)GJp!91Nzl2|GT&07ow6khs$Shr`F+(S=x{LiiW7{%&acQc5GB;cKnM<^G z`7K&y$8rH+*z@DU${ zv$9{(d{OZ``O7^6eleXkb-dVc(M0S~A*}Ylm73y8(!;%b^mA$t=E*$1UfKLYvq=w- zqZ>XF3}@wr&!_yA%KUYE z>y6FqfAfuvBY-)8%}ZoBrYl$@YlDF$urLwCq%9v=Z1Ew;SZ7aLtQuW4aalK7cYnp* zIyhpcBVIL0n<6#)5m7c#>f&6M?l;e^c*}o`EPO5Z3%gj|kE-KnxC-F1@xJHUiPsH5 zdBd*55p||x& zgQ+4TsTPxH)=hD5B;$pF1YXQMHZ|JC=IU9kT$tmHaT!qC>+B6iTl|}fR8Rk7$iXa1 z5No^&*#g5|8G~sS#1VZKEPJ%ZU~C|v4wE+VYEQMs-;y(<{NTUi3gQR4HdbcO<-BB4 zAW-Is;A9|gzW?<=s{qM_WFH;alxiSC>RJ z&bQSCYr4CT4JRPiJgU)8G5SwyL=?8XfFaF8fTO?u87B9!J6}=zUtsc~oH9c2EdpE% zVjcVCe;B<~$1(!jGY#4f*ypBsco@o{HFQ6Je=!PEZ`CNkJbp0>YZ-;M(TWfJQDm{B z(CUQzQ5c>hI8JSfU2YIfziAXkXOaGRo9!e^mbRJ`KGslN!FbUmGfP}EIjjWA^8@*4 zPlCUKFlUE{Y<_c-9iAmNU;No%ZM+lQ8Nf-uJzD$D-*ruPXecyomhCDc6q@c}fzSH` zpWy*?bui0BOJf$R`#ZN{S0p{7KV$Q;Kao6qF87bB$o7@u+~{gan-s98ipJR6a~eC) zsQizSOM%*|`AdBH=##p)qo|B_CUDu$ei2V$8R~Ic)?>Ljl5A{WT1>V?@U|C41gR7i zGnM$~cNY!h-E4)7s@hHbWq9Im4PGk9?Q*7>*zQ}5yge(CdMqQ>9>`0Qc7S1J4|0F7j%}O zUyIFeg=ac|Ig2K=*)cKufCz26S`Zq1jRz;(PV#ex0v#&0J{T=bd-lDK)@CGXi*MHp%jb2H$_ini6^ZlzsAL^{9y)!Q( zj0k0%d7tq>pjRwHt^|=37Q{*33*fp}x|_L^r#w>!(@9@a!3_`3eKieR9{_M@pTzo)TA^u}lp$@L1RZ4uLEpUX{u%T$7Ek!&aEgKaZ0FDGoOEhLHF zHm8thHKfG0n7xLA41w4H5at`pXszg@D-&`zmf1Y`er(}$w8FR6phALiOf(a;J?gbC z^WSRUl4JO2N_JN5K0{oIY#_I83|QjdHl&1al0M*sSn4!hZKj0ba-0>)#_Vc0ByoMMHbylOo>QXsB)3tWIo7W{lSEe71Ardcm1)_m7KzQ!uArAK?6o z1Z8uQ-%?|QaOZBQW0`Zaq+B-L=Z(`wc^4&RC&Z5P_mmtsr(Xw(-mVl>_?Z-?01D30z-W-*1OF|FbG7yHu^8yl@FLsrECjov?^MeC6)L5+{bvqU zvrg^FRA5537S4IL`7^796cVfA+%0Ih_5h_i78ZCwBsfx1kSEbQ8=&>mPqcjU?o?Z) zgr-7HtwY6m5nD}zZT?xhZY@4Q&@L7ZA*fEh7=n4AuQ{`kY{}-p5^PXb^6L63&_%Qw ztD@9?iNW$lr^BwdpHq9dZA~_@R_Hb@d2hm55x5b14-1IjX?$Xl#Bp}KSo}AymLqH} z6M|ZFe%5-QYJ~b(H17e{O~!mmk^H*lqq&KshwOvq+x^;T6Pjy>l|%DcIW#|YP-@1V zXwYU)MJ?5C$%O%e$4jL{&#Y%Fbq#O^D6^w&Bg!N;1jzqez-U7LU7UvyIQf26=iK-K zZ|Hfip~~=_etp6Gb);C#UllBt<0;*g|7G4d${Q5q?^h5nX+-z6PEvJeQT~35@~Ko4 z$`2P97UkRN34|T$6(Q6wEi{W&PD|#p+&cR!)Y;zpA!_B9*-lwW#YswF!aNA9qXd_U zOW@~%hl;&cWbqfUU1ZXoq=Fg-n7;1km_AQDfEY$cV3W6e+HkZySC9Wq!Js+)TIP3X zeX!=T9Xi5x=-i-o?62Zys57%mBdOu)$PU|){sHRj@UK2Z(~x*7gR;=Bo$x@d9ho<2 z?PRYmV;y7Qg!~2miERhc!pn%dfkX(Z+M6fu0Oj)w-JWAiaHY%*`AcAJSW5tspe0b4 zh%_QEj6{1ZH+2=ryHXrx3z#PT7O{_FAyJsxXGmeqHW8AjcZ>+hC8Xz9B-cMTb*Zfg zCL{OTASmBKz?sJ>bkEFa`t}{W+@NcpTd~;Qz6s|8ai52uGsQTT=N5hMHUR?X7Jcnu zaKZq|);qWC4?{C8#2a6sRsEZ7=1>P!P38~hVjU}z>!$r4UDpHWYndEX5Fe}9CZ>v= zhUI*@hE^WDZ$rtG$YDD0voApZ_*uT%N3_{N1-F;K<{VpX9?_b%Z}!CXrWaW-ky*qa z@!jl|-?qnr0wUX0bG2pWb{DmRA?K1V4PJ0i{~`&_{6G-!+h*IaeBp4;T|@}X*VqdM z^Keg2WbnT(X(R_Yjta5hAZ;xNIS7t7o#03jagaE!K;jg4T2Ap^ZVla=T|=|GX}vab ziVLWpOH`W>CFXSkQF4p-OZt(Il+^?Fq01LF;?jPJC!^L+!P4Z+L)o>`j{M>?+%}lh z4OS5-u#KWsZG#}r1o0S^+;X`^{mSAT-%|YeS6;$XE1vS8;qqFQZ{&XFBwi<+Vkql;7sS5qmu0l z7IR22pI9=X)iZzeTEEN*QDJ6Fv|?Rg9>x_mTm}WuY=mzv2aV00lEnCIL#H6`;dryZ zg6Z8zt#fwHPE-U1twd@|ZDC26hhed}NfgGMmzNO5*Zi4U^d5Cy-ok}Zvquw;-8%ES zPHa8JTxY~CIi>AzD-7N%ue+f=h+TUiuINoy#|qa+@c1o!Ul!8EnhM$wBQ7;JiUm_? zmG=&}ABWb9PdTyo!L67xocMfO__Kw>I^t<#W=@?e(DT`F3Kic(9rr7$j#m5-EBw-} zpaDLvo85tZ-0ZeST9;_LC=@Gv4c~6_Eu*4w@ZK@oMVyF$5piDr(M%;B0G3sIi)_SW z^PXkYn9dctB%8ScF#TIs#|5Qy9lqQ-mO8ftv)$LYV65D^vp!th8=NYA2D1}J9FH69j*9OGZzc(jyWSX;$(q#^u1rqT(oiKj^T+~cMzfK?^Nn~ zYpL-)xAvU~6X%9@f)cBV9cW_%t|skGCNAQ*%c2z<`LkU$SG*Z1+~Zcf%f#tQu3N6f z)<-ya%auG>wWOw3coLwGd4etm0WIU5F@XxdVm)@BQ`m%Rr+THiL@+T!gmkaxV5)np zaE0kAzVIA5IPm1NG<7iSPovHgAkRmdR-)BfJqjKb1q@$At`*y$$eL<|RZUo>Cb73B zv708b#P8Q|m}CPhEo#$Cl8x{*` zY938lLg8<#V&6WKSC-jIZ%2TSM_YW`~dZ&mk$2 z9(5;F6R(6QBI7hS9XMKGZ>Q*3U?Hc?43MhpMs{|+Xt1P*A1V5EHpYNaqOtWRNQ<`o z-59NYhvV|@Bo*+Q3oK?kwGXQq&$lM2x{S9sw`%Attx}zLV@?zscnlIp)Qc!A%%WB# z^eTAps)o&ptU_x!eBbE}s6+fHHyv++I_7;CteE$)FIMf{2mwlfjM~|Z3zw^6Eh6SQ zMEbXMkAvw~r0}Ppro^)x-OJxYWNe$($j#cwL_=S4p_lc0gL;J_h_80faCkg$4Ntpfee4h@b68*b9dG@kRuY>c;gl zK|lu~fXs^<5g_73HC~Nep%DRgGm^WrT%mSr;!@C7QzrVIWexV&B{n<#NFme)wC~)$fXt(iFq3W>~>G z!2V!Ba@c=sW&w0$a~KRdhCW#(c{8L6xEI{)JeY46EAK&qbkGWO^u9OEpqAEe@;M3M zAWshl*~$*u8F9LK(Wb)+OhO;Mwf5cLjtc;rq@>a+d~*(eqp9mKsi!I%2m(#OspeJQ zf@9pY2r{Ri|K;xl2+hfJQAs0`)(*@zdGgPith~GxW-r<5cTy@^_+6uG?sujQDO%iK z0S}SFy+6>COMM(uLm~_KOaTS7{yT+N0goRdrQmU1d8^ZqIjhwA)tezu3QcJB1Y)w_f9A z>FX1gsq#_d(N@HbkP{sAS_a3lDOCk3&R;!qT|8D@d@VPe2o;=CFEJ}ssU~6x55eHT zAL)403B32~C3Sk5n@%sNg^_;3NzVA6H9di2)33lVtg-ZDCwbccEWPm3U+uwxDv&;- z0Tg%BMTaFWk@w^vIDBEE1EbOwH~LlalaV|-Gxk-fBh4NBwW2`nVUSUBcRUM!Zf5hE^mygh@89|&s^C@jsrHX1Ye%uh37 z6q3S1f(=nP_^eoC9kD5(#yPWyoNy`{uwN@Y^8YA&i@-@u=K_tDcr-Zk4gvtPhi)-Y z&28^G-etZ7_xS1-ejTi3`0l&L@D;B$*Ypeq;RW*`4|asia^ylPSi~Q0+zDHHO`)Ae zxQqSR_2zS`l(~_SrKe^gUXp5kgM9;SO&uk%rx|RP^Osoll~fx7!j z469gUI`LPXZVlyPtk5l9__ZA?I3<3OZOb%Dt>e=oUM8|IGl08s@Zs^^aTk6)Ao)&$ z0EyE}BB7nI!JX`poV4^Y&a=Zx-HPwLWkIADtY(~~e0&sAJ-OSW#ISB=8xOd;_w9={ ze!AzAQF%~erg{6J925ns)qE`&v(F#vnYCKVPS`)Fo3_Dn+De@565u1qr=hd6w1`!1X z_)bct`e;Wc}p;vM>)d42NuhO8nT0%nx+HwTA*B_%lp(rpA>#QmS5}fj$m;7fsJ}?FB83-2^dq z_^48TKe$VP z$I-I(iSBMqMPcH<1hfItmFNZ0AIO_P4*PP8ji#pa0q2x4(hk09_rVpore+klC#P}D ztYq~1b*)S`OdG@EdUhy^K2EC(;s*;S>@dtmd8-2jErVipP`$hVs%-C;#M7F)+2zD3 zqIW$u$jRKSRDLgGuL?mO)ZqVXj|MC8Smrs~olpE3oz;^_>L9$Aa{jyrp#&1s&AZ0e zbS8lX>YDeFROv^N?MK!D_@KnC5o-dpP2I0WQ~A>$HJ;a@fpyT}2+vC+HO&emsj(Py z9bzK~m>ztgrswr%dH$M#B# zmRZhe!XHQ2!}eqE7isF_?>JbLDMunUON2tMZ(7lIwWHD5>#sZ|e@QPPrzjVCM6G9Z zT~tycIs<^HCx~8e4+mJj+7F^j#GI%}lG_qV7Y)Ur$l50@72fpr_g)yR;JTNz=pfL& z-E>g5%&0`2qCLbnir%vG8iZxb7lu&BiI zxf(tZq&2&;2XX=t&Hi{$CPoC>oksoOsy6VQ3LQ>NkJz=OEpv>E6|q>8j@k6)-9ij*xv3L1NpOX4 z;R@eUYy8}%DHmJMRqv;4&5=}5Sz<(1r3&5TytvBNZ&m4>TyQq72%BnJJm{VXkq>B@ zQ-(~sDO^ue8~3P4J1yu67zN|4$9fu>ss9t zQ~EJ-@O9COy?$3rL#1U=7?msRXzm6Zd)k2jW8732eC}vTm1XWxZ$gO~kyktV^K{Qg z32o$t62*y=EgiAA6I=iZI>7WQGK=y?;J=tb=) ztz_@(VBkET34-r6xmIRLNE;C= zmYNmcB3_$#mnPJ>O*+KfK?OqVS$3{1N@~pp1|8RdVXOBQ!_JkmF@506w~0)|5EJAx zsp-y59wYN{wD1%E@yi-VruG}A&0Jzz0Qr7NgQ2`pZ%d?*TL$)Ky~lg|FT`vGPMtjn z%2HoTiA93tVG{|OAbtu}+Y`}#R`(kt7}_we2xTN=8jxR_HAmZ(346&yOkz5Ma244o z7r_VzYrgfdjcY!Z>X0aJJOk~J_y-hJYfm)hPoN1)%VLUo8p3EG*)6)8s@Ru4S2)RYU~o-fpCgb^ zfRz`TpFm3_yCeSxm#zaT{9_SY>;hrjon%J}Yb~(iAT}(&eBnC~B;<$JBuH5HC91&g z6ZSp0PwTGnQ*+YySD6(EW33OeTe_N02e|KUa1U4{rrSGOv20N99tYvWwh9y6LK9=z ziS-sP73bYBJ3y`E6s>d1d3!YR?x|oz(Z~6mS82XULcgEDXBaKN8(bRY%ppE$FTiS3_wEP}6;jBpX^{wyh1oDdFk4pR$PlBt+l zOwlnd)L=&z@!IF}m$?e3pW}=BCsyPK%+I_Mfh83ekXmhL@2^gYCY)rx199^L)-=^nMGXSDQLsV|zezp{ z`(4sF(zOp#+DsD8r}1LbRs#0KqVhjgkSuA$hv)cMm#nJbT=B78qG(w@rftLu9YJKJ zI&+9!TKSCY%p(KlfUp`(9m?Hbc7ne~rbIPxsP?}$UBz%P2aq$=k+G#!<;H?w)mjcl-<|I{(SXU@+O zM+fmm)_kiDHW>~s<6VUFF5AzOMCJ)?Z80D>r{+3dC53YHyKAjkom&*Q%8Y|pn-w_f zN)~!$XFnf zb}z{>Wmdh_+0xwXI7|wZg7GV@q{^m!rgQ|%6-J0h+b~rBmXjgNOux_Qau_Ub(eC9`i*Mwq773Ig z_GJ}^H$OquIFvtOjXdw3gn^Q*M|kDcR9LMR6o{sP`h;QZv^*bk!`dd=ti)v%8k~Q z<;-$%M8ca0`LR~tulT_t9!vgUqo{U1@o%(EL{hz^^vvo$dL^FBS9oUrYMZ8>l6 zNiA!~nn^Vk;Qle{&AKpHC5=^*W+zc1LdmQ%8ZlO}JyB+S)I)QAnx$>cjhg1&!4g}7)a^h?4_`x_7?_;$zy!62JBIPq*8xa zHtS>wx_0FT29N2S%KtRZ!5+{OAZ%W{6{lpEK)GE4>t(BdK(^lJsKM6j@!Sv|8MLa+=n+AduF&!@)N&9@bx#D z4Q@lLeJ<3_9(QL3acNe}+bmU<+|)Pve}4{6*3gPW7D>tW5^UQ!`3P-t8(zE2SKf3@=}pyKP_QLj_Zs3>xc*zo zTj827C2(!24sDtd*4e1INHnx@Mq9L-*S3ii?hbx-jXT!AzMhdapU|q|| zV@J&UG*+=A8d^T9mmOF7nsXtErcQ}*MLA{IUCMR4!6;sJ(@2?N0u5)Pc$;V%ok@DS zbs-`;+D=`SFx@2*Bv&YmgOB|#;H#hO(v07^z#H%Ddi~0(JZSoNb)(9TlFW&)1^e@l zT5b1oY?<5?G5y&|a5Bu-o5&Ufww}YiT>S|f6F+C~>xpZ&4l1ogcRL`mfOW2avx#gS z_1=n?Y-PyeE&aFNuvQtFsQ+sAX<)3dVV~?OPZ9r`Y=%xGys}RYeLXh&wYhYp4S~Z= z4l{&x4BjLVGbV6r89;x23CngNT|aR$YRyg@Nk{Xg1Ziq9#DYpF*f zs>ed>otrmV1iO>?~=C38l!^nyUaT-}j)(=UD zr7vk_-sK?&j|~?f-W%|iE+9^Jqoux}q125NO+qr4e&>()ql#z3?qj4)oyk1RfFy3B z2w_rDY=E?8gWggtx=t8_sqaIpu10N&;0n)?j^ma;DZJA;1Vhd8ENG6D%@at*55vE9 zL%_UVCr3siu7B!syAg|@<~&gJB&5PZ62JV4^8)I9!qz;DiZp7X4?rvys|T`yVGVI4_q_xEbck@ z8$TR|hCZBmM73Au=_X#TdFoyt39XsgK_$Ww+0bm}kSmc;t>$V<=C~ zcRN|8?wR0SxsxwL_L5Y&o21zd6TE4A&0dtmEP7+hlloZ8PY{WU&6L>s4# zI~K{k;U0#Xo7$Y@AMC@r_>e~`#q>*ErwZ*^w9x0wA0zTlD`Q-U6ffcz@*nTQD(iQO zTl3ZSXyM1v(8p8DW1&x`9&Aq5DU<^1tb;bVnR z+R(%8V}%((I^04!#zKnHHXGiNqi(Ly_;ho$@a<^m?I}IOsgr3R7#5X;>#o@yPF?q7 zxNiEM>eSHf)pf)6hEr$k4%eO8kav)s%iY@F?4ieAD)3d@W#ZU^dqX1r#=>iT9fi zMEGSd_OU)*#ZUKj_IxPaVn|oJ8lIfXGR2BDr5ipb?bx5v9I!=GZK7V=vPR8R8>jY8 z6ip_{Pi_(SV=1(RtMw~>MT@|$Vy9}G*@~V;gl_n&hgpTp7+|op?oEA2cX{h18cv(VnRoCOfONR9KBPi z^?>&`EY9k;`jL_4Qe6u3iZq{D5`KO*(^`c-uRZ&mQpq6YR>7=}_I{+2Ei;`k$BRG9 zzsR1orp|KBouIq*h5y~K+?L4oTCBN3m#DQ77tbt4)w@7YV{9yvqg zNEm)DL7SHrR@Gh55D9I$I%EFL7p^#TO>;e@` zVQ)vZGsvm-oIzf{KSUZ9Wj?K~xA)FE?h?0QvHM52@U_ehn(%V2;cA<`j?CvKu1BB6 za=Yf$-Z_4Qw5AS4)7LfxJ=&ul{TLn@Q8=hKkfNt?KlL8M$e=sy+%I!5FI*mmMyB(O zOwpiJ=NG~JzudE@fem1vNW;p^3Y&WXUG3bFPd5agih)YuDnH{V-jnoO-?2N)6BfvK zH&YIxH!SvN*u=yK856X^2z5R$^ISO9`M%6k3l@>{+&s8-&c=|R($RJg>l&FkzUt=X zz`LMzv&0Zpa{+CRd(X-y$pxpkFPOXMA*yp~ckyf~01T$JJ;UDXXAnSGaixKo>7U8r zU;WJX2EceAvw$gh(QE?`g33>F=AUL9VaW)xXuedDJgc}6=dVFUSv%f=;N zN~jQaYcYJA#i|H*TiadP*3oC;ob!U#v2K)$g?^fO?2uI16L^8mo^q)6fQ#Ngpnyw_ zbpM9CJG9Fg_(`PUwaf=t;o)ch@R02Kebq^(sN*J=E!bPxJK``jjUOCMPlTORD%>0N z+}HMIqN~^lKg=AWZr1FXJ*9*9oo4w5N@-?x&3gZVU&R4>j5cVzy ziCc&3E(fz)@P_Ah!{W@-Oa;o}jZL#*{tbOpYWMo4#Kriz-CtlABRj&2k0>w?1w&h0 zARP{xrRpUrlUKqn+B1}^z8hhh%baj%NtH8j^PHW9@vdyKxRTPV8mFs1i`nNDn6t^c zpp>V~+g{cEP3e`S*Hs@5|emdGEUs6GVm&CiD$Fi z*C#mbWoMCZOr%gcDDpGOn(ed0FRFUyMuq9E4t+_1AgmgZ0g2A`mA{}mN37%Lqu%Yl zoJ>TOEx9@bm+Q_xb*W!_Dp^vkP{L%b4qdMmR>1I$rb9N1RRsMg2NAoI`m`DGLj#JA4tI`$a*)=7#XxS2YUe zG(IsZWHXy6<{$Y|urct$TZeFQVN$xBY|jmjG3a%iSgj$N3xjX|VGok07HiwJ+}hvd z?uh?^&z5cdyDB?5Ey^Z}XZ06HfoBm}sacAL7)~wRsaS2 z$mPk~NvhdEN>n$MF6BW2==iF-jv>jDxfv+S zZ5v_hXluwZo6wQmvDD7K^uPX+aq?q}&j>oa-TI^l+2#El1x)Sn%o<+Q^hl0Hi9rfd zk7WF8#T-xsH}vXzxxOP+6B_1#XexW{u|AaQ1Hu@gzN~(noyon_>Hp=)?G1L+rVYxC z+NKE_HQml0j9UNoB$x~Ieqt5Qtmy;qn*wu8w@dOTCTBTRd)R4=L^~$$z20z<^UBT+ zpXu^v;+YyA+*;$@4^Si>Yt5^o9j?z1O_4;EN zwOdeE49tN#$bwpC&0;mdJx>;>ZF!GYtkLoOc$eE~9%Q6+sxltXI{-7c5f?>I#LZC0 zcO2m?A#hZjn6wwG9D56?0s!Pub}q5d8_o@1QGRYigZRXa3weg8_3MCNT!ok?)_yZ@j2S~Bri=g4iofV*Ub?GM!MCCHl{ zsXLmLDZ`&KcAD>&r%<*9U(Hx({}-yN_f_3S68A?w2uAlJPGy%yiMq8fSnK2jYu!9` z%*hJWZtv?~v`IhdD=Rv$6|8kO1IclJ(_;O%ZindB_kYVsDgzLj7bw^lEI1(LzzjJf z&0#s84)=n4r9iNFmv3zO^h?OsExvDHqOdTyDOssn@TeRr+gG>|C zGw2r9u8H47DUw2Cn!Aka8)Bg53H~Mp3*MD$aJ=i{k*Azc3Iroq}Dassu9JQDksRgcZ|S5M(_zm?hk>LE>yBw767RsRYU zf8@LIB<--K@!z@}LYMA88C0lhPox9D80fwoSj-M^I)dHZP|FY8kYuR1DY7Q=oGbe- z8?Du!7SJ}^-F0i^{QY0j=W834uI?L^KOP%};_rRJf}*c+?~t6Qx1XOmJ%u5<|5?av z%~l#PBw$bu3GS~ zT*9c23Y@^LVaD;wT*hH$%-PY8N$y|`+an1~ce6&#V@A?)xLGC-y5KGcu{du(y%+R) zL4HqeJKKS`q+hOM+wpd0ls0(*^Rd5PPX9U~{p(>W+1&N~vUNZIHudXf`|IA{+){qo za=%kI-REO`Xk!Klj-$Qv`8g{H$A)g|0{%AA#rM)@e9)L~M*7-vh2&#ya`DIvLfCt5 z3${;sKLV1LNzEswL#=c*)mqQB)xM&d;y7QoNg6Jdzq3InpyJyD^a7VfD7`af7cxc@ z!@y+mT^>6t;C?j1D7nH{q5Z$KJbp1jm;BQHM}I8$m2ULM`sKSXQUpVjFn51v+DnFe z5hu{!S2dNapv+Z-tV#Kb3U^Ku`Spu#Ph+zf0|Xk+>WR>rF`_jN_3#2mAw#!$K_1B> z^fKKNR3qpseaH7op*xTwlw6@6^vG4hS>4^dL1$~^I^7UeE4A>x zD#b1^c7PbF31)#+77h8e8tDKYibMRL+s*x+wL+N7&j{nPV`H!RZv2QucRdrdWW}gB ze&bVUr_Rh$t8czb3}JyW^2XBkJMNSwz$93j8pmeUbf@{B0Kgo zQzf!NdZ`Tv!~0qgPA_$3ccy>n_E)wb$!)3hL-q=%6XVoEP@6%g)o6{{pUj_7%%_uu zwZV%FcbKnIBwg>faYL!R`1kqc2*3>e9#VCK>qKM7N6c~lRcao$t2zvxLPMIQW7o|L z6)xF0-~;dPze#5}I87p4G)@66<& z7(emwF}n6?Rwc-TQ!+G7W-suxAB$u3Zgch2tLyx5hpI*J0A}aoMNiD^mEqj=xJi3G z6zdIS%*yXyxK5rhKS_~Tb}LY#19_jug4gcu8=qk)Jmk_}3Gw#Vbu^IG{W4LCtb7wX z=_lR3y7nu<7qDiw_*^YLTdbRMZ1E`bDLs0;^|6d06n%$VR8Hx;nd(gq`Km7EXxK?{ zU0c3+T1`}svzYzb!j86}Pzt!Dr?2W`N~9sf-3|<~LrucvC`q1o&oP;o&^@byZT@66 zhcx+prUr>iE>2$WrX(JB zmY`bh5pu9>7}8&{dNY@-Lz>?WKO)QBDEuXS)mshNfUrWv7w62M%b~n338IY`9e1=2WhnZC^tl`% z4|y4N@TSd>I#OWP6_xo>)1vp>z}%<{oC zm@9zHBH|0iN;Gg_K)8Dnu9v)>sSUvEU9n1fI*+u~Ht0C@^i}_Tzdf;1NtlZTf@#i) z+nzqtqjv97G0}oh(@S!E(ZhfoH%FM&6R|TXT^8&8yxWc+R}C*3UWQMQ0*c$4BF>&wb^#jeQ&@ql>YcpjEcP_toGh{!z5}&|QZ0`$LP9 z|KD5mb;}q(HkuqAi0*Pu9$;R%<4tVsCBv~UiJ_@D){4Ji)Zw#nqz<1PSae|H_D3?p z#~PQC*ll{UZqG{o$qZj1^04n9Eg22TRsAtgqQB&E(bl)`9?hN=JMVsMUNS9pc7DK_ zh<7<*8L-LYz|vkDeuq6v+>I%3$x#MqXI^4WdADz%xU@!??o)2kgmUGcVd-YBauDc*xJ@UK-q!fx@io3+whGF^vhUsH;t|u)z zXeG2d5i>2DugbCvDOU|wM66+^Zh(S3oC&bP=s~D6$WHOSZp?gmYLvg2ik@BsDHFDe z17(?Oi%Z00%mDK2c{;~{uBBP-XeDE|R~M(6-(ExiO@Sg(;;TGH{h5=QYkIboTbbWn z^>pu{nMK#-hYzyzSN-XAarP#vk6bC56O$c-VfY>e2?z^w&TtP>9zW!OyAsN!b2l$= z!b|xJsm9&F1)n9}Kof=5Jv><2_LF?C^t;y0X7P=XQ&*T0at4k!LJpf_g`7Sokl?<` zcdXwscRhXhmi8OqexW(Wy9{k-VCe1{y)q1kEsz-C%=p^lu?gY}&x4-}2%F{SewLd> zf_yjJOeSjHGCj`V@a@i@pRzDg^)f{gZvt;lThsdJi^Pf#c6NN)CL{3#Ol`6CP%Q^E zLWFw8-W@x|-3E|v(~`K6r9PFtAVZcDOsV|w4Cyo6zX~ScoG@$z;%;Dv5ru3 zDT_aqEFN#2xn^QUUGu4>(e-shGso9%?@X+|+8=UxmEf>YtYyV!pJE9V zmsX#%7rs`}xoZ>ch|ukWUu|`CY4w>rxpE{*6k>>(yd33~RA0ZJ%CuR#y;a3lELcn1 zb*P?jAQbChTFKT zLefEQE0_iFcDAL6m75Mw(R$SU{47FdO$rwMj zaNB5SvLf1J$~qnlFN(CpC?)@IiUdItN@t~5rm)^@aIa%U?e}Hodsh1U3iCZR{XNxu zhxj(>7>!=9R6U@Oycz6OCoHEv+7k zhs4sXrqx4}?hqlk8uvU+tI2(PlXgee+(73iQ z`YCr3TW?))PUV+-j35JnGTXWRQ40=hCBGS|B3fIqY1+bl(|lD=05|7YA{ZB{v3k2E{_II0up zz&+B^`_1hs6OSu4Ft#Wusv0iE2<(sU_1C(G`)eIpXU8!_Rvfxsnz=G`{<`wa&8%&c zfrL6P@hz?MSD%E}ZN=6FQ2orkfqTlTJL8E-@RIZ24HUn>;4y_KFI1-|tONRv=a*8t z@z!bLg%xBdRg!0I)Nrs%UAi9{Y3yo@k2aL`!8o>p}31Z zTp@8j|@;BP^K7nH!LA3Z@#n?&-K;p%)|{c zq7b$N`i}&bj_Z$*9L_OSXhP5BC{{)={eaVOutnqB_CVdKB`R*4q?Z#xt+K*oIT}8~G!#9+l|1+z* z;7M0@B)1Fycw=e9&(dm4JgVzXW4OkeoFkNFbX|W!Pk87hm;$B5`wVPlXm!mrag%5U zO4nL;(pUAHbhQoYF&1VwDbC!xP?E>{ytLEEF=roU`AKT_`b^w|6l*If*N7RdaoHkPDm8NjT#^7L;OFma~lbU(-CRy z9C<{?422lI)rj<@;ZN@T7&W*JBw-JV+^gqx5#4F>5bL!!iHr9UxZL`xmasbRaOy4@ zlIO3k_t$K1QX1XI#kD8%;CQmaZ3D)Wd9GB4zS7Td-jGdyZUC#nn*p#s7$glBLl%b zvw9E`ZNXK;P_AFplpAGH*F-}nUM~J_HR03!b!Evs1`|xarMM1URzTEU@MhvdHGwY- zGXAXT2NTPN#AZGITjC{@Aaj<=SwjsZ-r)12m-IQWB}RXLby+gO5j&eBc0dfb??#0> z^jBY+O#Cg7^bsAG&(tpYl|}E&XaIhM$q$&6cfoWloZdHb9EB;&#gU|yaU_Y#P3DH% zjhjr*#(oDzr?MQ?f1^v;?z4QeVbZe(oX`Uvl;5RPS`CC^!EE=Ojnt8Z`+g`s6xnfy z(Vj?l&K0epe>4HkY>BE?N}6b@r(Cq%0H1?O&hTXfI-p9cKg``NoqzOQw^)Gf*(A>8 zH;y9sAz$Ct4WYC*JjFF_;3IlE~TTtxXnyUtK97zEx^#->izvj zM~xoV>pSKTz>2lY@#BA5p+GGdi}0jsD{W~IKfQvqax6W#O&WHYfB;3m1xA}|P3-`ScY}!ho*@HlH0IO`fiSE}%L3K4R?2_40 zmV+G#!ta*F+TG@g1cY!;R)l;&BET({yzmIlYIH3P{EWS{^C|A~pI|8R!lx;D4aqe_ zW1VsF;LgW}(&!hpKeecJ4zJj}pyGQUaBo<=8(-bceD9?mgffues?4xJ;%!*%&i;i5 zP!~#TC|2b@{VfSb-(f%>N^^P=S4pIVG9KSOB~s)%N$$xSJs^P(*6m`#i}p&hAy@@W zQTItR)|ZRbl9PIvI-ytq+L~&{2BX)PEloXhr|p()+7Hxeuv+L0PiMHH*c|KMP{@aQ zOh^(BgU$|jW(nG)R|eK$sXLN9Gr=9?4OiYfEYF7`*H^fDWJF+>=d8WY1G@s%KX+yN>d|QLPhs7(*1i@u?Hwk+6({3`@Eio|4(d; zv@>r`vRXlCg3$!7Un@2J1yBg_E553sw2^w3$LJo5NC?EN(||!8f!HV{!F7S+caQ|p z>8^FQ9F>v;Z_1aeaWH;)raSQ$9V0ynv}=bZf0^NnP|SYIr}4@x(hTCu^B<(|Z6Y^yF%pDnTb#!@g?Sk_{-h6}cEAt2!icp=C=fv;em}V|FRor{obXc47 zni_0!#zg72MP|j{T(G(gOR6t3{a=1ocWF-2{g&@Q>?Jd8Z$Yn=XdNuxL3HyS&YkVe zYW7YI&%MmRoQ>z2i&?0-06i)Y5H8UgR z0HjF8FM{$|AidmDL-fU)JW#yPcgw>7Xeeeq7DS@(6P$}`LrRP;B8ox+flO~4eHaI( z?RGlF#TTK0vvZJV>!pHk9(p^B&fF?CI1uvytH;qCBppb}0v-6^WvNipzuBFSzJ>3- z?tvH&R*cOazH ztD3o&nDakNK)`R77z*AAhY5ii3#U*=AfRe(V7&GGQN6%NMR({= zl)L5%su$hhl=VkL_$L~Ic`RuXo^*XzpsA!HNrbi!VL~dBkiPNoJmuUL)mc|Du-+LY z8S9Q|s8KgZ*>3vqhr5=}_oveQhd_2Yuhf4Hdeh=r7F4eGt5A$Ix_};bidIJ96-)Q)y>!nL~6``S(R&O;UI& z1*Sos`Rhj&scB2_K(BdEL zMpwv5?|*2S8d;*8Q)oJ^Y2x~*eot{TT7aaCa_N-6SbXwjTDim}jLIaNNF;~Y+??<` z(oZGUG^me0;TdWvM*hT-yuOg>c=oZIKKS3G^2}qabcxknTZA6%zGR1nv6<04d7B-L zn;wl+U7Z*16Te6mZ%oTI#yk0TZ{Qyc+9mvH7~x5cM~J^$YJ`fu^1s$CHA1KEO_WSW zaFG3r_9nlP47Y`O1`CKT=mIMS6@M7`Xm7Bf*1d-V5{jRhIVLG#Dc<^>odwX04gS#+ z#GGQv6qSNlln5q!I*Z>GP`#DM3Yvf=dQK%28t1#6flXN{TPj5|zhXvyc@YI0872ZkB_H%i}}xLIw5QkP!pW-*?M;#;@{Fc5ZU;K!;fN5@$^- zozr<`S~}XpPf_a^2*yK&c}go0>6+m-0e=fwPE!%-494#$FwGGf;S0`l(s}bF#?LI} z@?@^SVlq*G#`l6L{wXs&U*E=c*?xD^_Z(?d@{}LxnDX(3b8NzLq^VuvGg5wLwPcUn zeY5UW&AT0PJPaukYUU`UYvKmPj~xH*+RRAzP;`xX&pmK&U=O;Cm2NSmQtZxEf1Jva zpZ_qGUkZWqz7$IV$-h5j*OTSEb)bVZq7+ zhWXn$KR{9dHzX7|?qBrVti;F4_f#VF`fcX)aZBcOE`@>xHFi}^>ovyzx}aW1Y?^zN z8d0~2?PtbYy&5d8^({UMj8GaQZ1|`wMAq1hR%KEAly_!qkgxEs`m<=a`Pcj|>;9>K z(RUepsnh+ZDjtE*8ANOXM%dt*96uhzc;(8`nLlVza{TzpmSsYzS0U+7{<$6bEI zsHVI?s-djEb~EL$vYB$fl*VT4EseVV+HKi*ADd#|=?|XD{>=CNwX13ElD)ARzeRsi zk?)na$d>p%JM&laqnG^Vb_C)}V?ARtvPxqCJjGo*qlLe2@Gsh-S#@_8ZPIL_YZ3HG z?!Ke6>g~ulcaB!FxW>0w&&YZ>YA-x4pBMthaU=5a-IC0>6uBwoWLCo##%dztKSOy@WEmttUK&0Yih zLJrPXOFS@M#&I>4ydy{+6O50~gjAG3Djxi?AY+Vwyg_V2X8|F*p2BIP3~qGJTHT0P z5anXDNB}NZe(Q4uvABhl6tQ@O-y#MPB@+jo6K@ciFqYYS72_=KC^N;>p5G>eP9-EW{vd#+>e86p55r%;8 zmO)HHRZ6(+?7Y_8ux-`gH4?cNp`{88kCz?+H7bP=DC(3U1mewlLI^?$VNav2K-Uq9 z_U47!0NSn1&U3wWNO`dq*;nS6w1lnR8j*$T_1%ap9ItPY1z+V(#fvcq*)e=%`cg(l z11?K^$OeJ<>zhXWU7kfqR~rjpqjv z`Qy|s|Do~JrJJ)(SHB!2+zLKtPO?2TLShrSTjBnpRG7tv&Thi zsMAW4OLY(t%kNLaklj=@-{Y-$_51;yy3gC{+4Sn(Mos6Zr;s2dQr$t0 zJBiWJdeWb2{oZuzx0qkvr7!nU8avbxw`#tUVAAC9bh#!7fkaDZw28Bg*e`er@hiRi z?&*A)MV#2$EFv@HHuyVz<#9B?)WJ9VBz~*_+nd=O{NBzcQ?uD<8q?y9Vsz+DXA#28 z*hif!?**#laN6uES_>a1?2_wW*#Fw{=*nPx4(8((Y9Tj0zavZwT~67477Z1(C_{k8 zap{&9q!qH>=Mh|i#Vzx!FORLj^BQDgR@7|Uqgq?fFY$WGoB;JShHZ8=g4pRTUgA}A z2$rY#(!`58$c5a;9qn6sF8btQ-F-_Z9#gVpcDK?c7j-RNGP?^?8$V)PM(vgyt~s?_ z)$-$H`$%Y7PhClF23{0_`V#ryBulGjbSSN!*0H2|MyKjP=aT9}6_XWd)7APen0pzl<;3JvRDjlq*~xBya00^v~!z_?E6u4XS!l$LdiURwstl*_b|8 zbYXei;a~v8iTVu#XY9>awPMj-f#|1NY5Yo;=l@ele6&vRmegm-k7?LR49B-iKO=q> zsj)?P5!FjQK@og&sMU~^t0XQ&D3NQ}xIu5wD3Tkk88$vK`&Av9g~ab`k4;<#sN%ZF z&*mh#KZ(!dng@c^Fq*9i<4&9%sOJfK^_=n~&58KN1YqLO72;1&Saa5@!kSfy_tLZD zHIMYvTG<%G4Cbf=x;#6tM55mzGsyeT8O-~?WWB0-LreN1Y4`Nl zwFWaQvuC4B!`~v$=ca1rHp(=12Qtk_R5Pzprs4a^oTr-Y$()zUL{B>m^NRwa5qpc= z*5sPSa!&1jfQXEE%;=Kgk2y<5cE<8o(rwAaP9;mO>R7U5K?naRQUYC-+{HO(^?r!a zTe$$DDcqxHstnVxjYcbfkVe@#&v<>u**{`_}#gwHz<{F*s4O$FEljlbnl{Ylx>l$|jC4%x0kC z+8op(L-^@iG4>cV$QAn!_uY6h--Wx4lj@!3G(}fy-?!oSLXNg0>ICY`%yEy-@8CX9 zDyE6celYl}g1(JaV(qgg#Kf)S;+;9l<`#R{?FBLuo1Fb&ma4{`MVZ&kfjq&qb=)zw zbe?GoABY=N{6%ol(l>f&N-r*Mfk&I3(~9C6_!-;7UHS4(zNKe(KEz2Oudrr%tgJ%_ z^4t!&KbQN8?O3KqhE2>^ywUf{hlMo|z|Lsa;_cm1C=UcYPlfZHTYql>?V5a6B&%>+ zq8z5N6`XYrBRGCV4?UvVj;-&_C^(M@h+zV*%+J=lpmk22j%(~>}9nRYjtSVfp+Pf;QZ{XJ1+TrL5aw@lXma7f{^m-*dp9Sr^@~OvH(= z-~0u2{`gQFp6W91C9mMKiv3w-B$WBee=aNFCE^e9FeE3MD4qFXi)ejm!AHL6A{HA% zN=0o8_sWK!E%~XnJwUw31v$ycfY`{q*u>6-HHt9J{MiBLq$+RbtHZpqR_~ng^$}ps zAvvk=Yh|DzJ(LB=<;Z~$+>n!aT5AMYJ~kBkQM@N|a;!WrHlF(5#3H$#i_uwA&UTyi zYMg1YlU)5SZ*jc}0fN=jX5z%62_|y2j zC?Ereqy76^O~0w2LO+K$kF01w!{ltIhFMxYCzoNCbn#X0qa{g(IMrpsV+Zowt)w_p z<{*j2``q!J8F!KRblF>fc>;CIaboA=%|5hwua;;|{hiOrV!}^R+nk{^e(LF4I#a}E zL>K-U+m-)!JOoqWPDLgdY)FUN@6el|>1gSKoU+SWexw~n1Zf2Z%PNhw$`3cks1K)v z_v`0TZkB=7azJ6QnWNZPM30;?fcruX353>pG979e9Xy6?cs@KqsEMvSFI_Cq0Xx=6-YBx%DePbF^k|^FuW}D1CGwYe zA*`qMbiY-%@n#3Nm=S${y4}$hjEEhrH<^8+HnSDOHQo&FV~jUnZN&#&YV$TwQDLsu zDyt<~PP@xwy2aWUKki{$=I;oR1mYuVRuHQ1ta`46`Z(XT)8#l@rj9bW6g!L6PVGQL zV-K@g=bA2n#7mU-n8_>pX|ox3Q3x^EaWLp|z#vh0c2ZszMbgPre3}Ao~pD>N9 zX^lUB=MPZXtT~r~0LL?z_ux;_Bx>5=WNV+*q$jUZna#hNG7sf8f3`Bl^V@YBT+Ia@9>q9^XTAV8@1 zX}Fkp`mLNuAI7tP6KiSxS3W>swFB-#M}P1XBrcY{^dtc$5IravWj zxdD>)8MfZV4fRfQuCw)Cp#S+f#pMxUF$9MWY|S zCLcVwjf;QQ4}ZZgS0Bb32!yxMXXa{moZZ)f{9%bk5*=Jr*;38hS{dQEDrqxM@-h>f zh!}_@Hny{G>D*4!YwNQWZ@eE4gB;6HK8F)>+L@>gqNbhv(KXl;Y7{wauj8Xo0hh^| zU3vOA!dOOOhzoZcDjQ*bNGeVj(`WcrcOsplk8xU=gb2=}?O&*5bkPq3yc6gq$abGM z11l<^G3VRE4PJ=^0e)N!sz^;n}sWI=SsXrp{77a6we1?uqUY5q7{F5Zj2 z_u6idiXmMKYYf?#C@yu-B50xRS+#QpD=alsA$QVb_dF_*x$`t(73VlFC)+&+LhRf{ zV>H~0-#kN;2QhdQ=^1Y-U*%CsBbrSP5IE)-&J{|V`tcowZgJZ9#+j+eN>~`+=IWfw zE>i>2UwxzQ(vx_^vr^DUoyk~`BeDJJY0gdBDDlU*+=d@%Pb>18( zCU#G9=9+==IZ2)j4%FQnt=*F>omn%mw4iq0G5$%u6}y;UcjgyeIpu76@=s-CxT!5W zfx3xjfYXZFfikNh+YK0W_%lopArN^u7Z2n3pxwn<8TWA2;^9L^j9~b-$*TL!+(-DC zhnXq(i7mL9uj#R?fZUNVzUV}d*9NU3Z+dMVAiUeHRdITl9-F8_o!FvbohkD?Wft#L zzf^l=oqI3kN@F8Czot2sqTeWuuHlHy{CS{mq!jG9x`jXaj-Ro^q5GGag@CtbCHw{N zT-`jm#$T~=AbdBr{=Q{ZHSy~+BclP;f9?fa#M?i4a?gy4t-sUlpXnB_Z(rGmWl@A0 z_ZYgRd};J;ZXR(DL2J<4POXJT&dqfDwQn+C2)D2jQ*5JSZKDR-w)cl%_{u(x)|zIW zcTH*JVa-I-XJ$N=LrE$`9Fo1_CS@pI_`L|8EMRntYzOY}5_%ccZE5F6t|J)yz zmN-TOCTctgVa-->aQ?_5iOI ze9?KQ_R28DJK|nH#%^`=8)^kRIJt8mC9=lDoru%vY@DoNbGl78Y);;kRaOPV+(&Nd zl`+<-yYncWibyl=IV3J&DmU!y$kdB2>(A767q^}>?4Loi$#N1_$)7kaPjM%A4OPB> z!H}~lrV0sDCR z!p1$jrL&kon)?cfF11hbqQNYLcIQ90Mebl?Je}&pbjuvBvL-PyP%&s@r?a`tbAs6u zDMGStit|_fs(P29Hhrafz2- zkXm9PLI%+6htCZ)ec=?w38OROZ(0(etdp6Ha}(w3GX`)H-I;uQ?j8yd57YBsrsX{N z+5vd{aYRle{#TA3maTV|zHuNKT?wqMn|Cyj)=Cz)obu>Kqt*MyaagcJ1$hw@ExKnm})GCb6RSyTmw*fm? zaN_N6{D%Rr-UhsCX^h?Z$AyAOfmh=z>zZnIn!yLenC)@rn{Dxe8cLA8eS_JSR_l6X z?DQR}tzvVYzpo8nIeghP=ij%{LsgAU%VHcujlHWe&1O&&ct)}CU^QK z)wuuEO7l+KqFV7M?#p~m_ibMnsCYNIGvMp>v0GvatjdI<-@{L^QnsLA@t^nVx|6$7 zA6N6igzp04fW-l)3Km^vTYG^ZryRpa!)emn;&Cc997p$h^I3G@1U9lGb3l?)hOxE214DBj*>t2< zB0Of{e6@+XvJNF?Y&>$!emSj2j(ih|N3{Oxi)Ea7E8)Z6$Ry0L34vJC0A@>w9PXLg zu+(LcDT*9~HIrlZN$XA-tS;+v{@fP!l*bozSRr$x(_JHo5Bl4$pr&XY9hFeT+p<*vmrT07&w#Mmmp4PJ2Z(fgZ}a%Tf7^^jcHhB)H0ccjj$+> z-^PkEdN8}ss}2qEj@(bEJjFc5#a0nq!7IXO51eFZ&z)CjsHw|5?yX|EcqNas`|eD< zak1WlX64qCx;bZbo3ji*UQ~SzZ2MSMiOJsLtL)EjXY)DNe z%|j7){|ll;D0lLk3CD&n3&f@O5F;kd<4?|e{Sk&$Po_w_LXmG|D$TKX zK=>hdwOscvlyOc0A+cD#nbO3-kE>0zQQD|$lW;*bq7Yy_QjIClSGC&A?F`A&w|#65 zOA`^SC`x3WdW{X{xV><{5dmkbBqraB_}kF9hcBPIsS&nN>;acRY?iwY2Vore%)t zC*Er_-UAd$SA2tPE`jOq4hbgPVrKl&y!N+^?4@h~j1Z9jG@hBUe35S1H3Cq=CtD1iQEeNdDRUapq2C3uCQs zdVnpI8jX$FbfR|TYo}U7#N(>`mR912t!plNs(M8zy2agKg0K`VrnW%v@d7g~u(Gc* zEX5RvXUx+_uoeCC{k;AaKNFCDyFA(|pQi`N=SneX=16`)zIH?8di@Hut7DVHB8`(6 z&raW2%_f%g%y1@8w8Re@$*JGzn_BPY46$%(Cu!d^w=-PFxa>9n%D=M6$}?2RJV`@gCh7kEco%fqr&L`E$&*=YD4U~FU4HMT2H^f zVO8h!v8#F#3gJ+!Eo)RBpUiT68H#oa_hv;2YNCEw)#lnbgIOn-c4it>FupH)_7qtm z`=*O*{E7N!pICkjQK=C(`!;O8S z_?vK_L?>9AlO5hfzs^pnLMl8V64n5_yXTbV~I?X+}<6AzF&#+L`Cxlp}N6I{vz z_$^+rLQsf2>4gx~i6g4csZdN%(aIEGFzP%Q1zMFr!E2c5O-xyABopX8G|w{a2`yN~ z3E~{@va|R9xk`8MPpwk3fpfJ=T$Qw|^ahojc_!Pg(tEOu*;PWlu-#d1zcq)po?XamVL$#KR|um)(J(XA?apA?92z93)NRw${ItPe?K4A{zG%@EI=oh2bTvTY zo+0py7wtQNIlN@bg*UjRN@Uyu#wug(`n}g+EGmz2E*_duO%7;ztNv_rFQ)q`?o1-(PH`{fUuPQs08SO=9ES37{3GfW zz1?ywxZ>atqsZwWG;sm?n>+|+#oNi9&zp~6^zGoDkGMORbWU1t7*2K~+{|4~b8w+F z+=^d~0|_Kv_Z<3;BtxXdQWdv}DL2(SgPb$RphQqqAm%&tt`OIkR~o$JIjOzOhr)_g zy(^$${CUoI-Iy)mPKD7*oEzU^H`~n;lV}w#1Q-JTh>swp2Tvr z6@TO{KXXEOZhKsQiLdf0^%QH&u`hZL0ev08+?XuO z`m%woE_c3bDA!^`X~v1~7~tF+R}cCyQTIZzD>#?j?!}|yOLxBNVWZ0iW}Y|8Rf=z0 zy!}hZ16(+D28wwzal10&MGukY9M~-Y_f>sq3hNSIyr{mH3SUj(J-(`#$&iN}s+Z#l zoK!-BabrTuF)~jMK~i@dW8ej&l*F0RmTUYiYv57NMzQ$cpz7V=o{xj^xk=}%PYhHU z%7mTRAnDi{r~t0W6Eic(y@UxlyT=(D#IwLS!|TcLoFU%0<<4k&V0hQ`5P`307@_m; z8GDm9*d<$%XUdseDeNwntt}{9o4+fS2T{59d(W)4!%VQOCV#>PS|7-fZPg zbM|~qU=V0)$(iwf96}1Z9~mx7FQ1d_J%4Us)O`U*UtJjD)o^|hhbsMIz2rqoDEopWxY zjj6fFrVSu%@>wi-_$b+k!7&8MkIn4~&`fdH!~Mu!|MQepV>L(|Ej09rJmxwqo4-(#5OIlr}R$Jwhzw zZrzQbjSq!38jf?~69rLSW)h9?B*D^PFk?L>{uLkn8z~L z&OFFhq?12W?{DpOzI_YN)_Ak>W5;F0UtQh&*Cg*`tm6?!XT&iK%`k~P9>!cK)RRKW zE=*c))t;#$b-v106aj|B(B6jUwlpPrg%cf(d8t`r6sfNKmQ^uag`T%-;Jiic+-E`g zV5q#bdM6$3P?ReVNvDZ=!KjqygisU`DuId5!7rg%{1}GDzzm*oZs{(@U^gs@ud;>? zp$&<9da#LmoKHfAq%yYfRBycgJj0MsYB)sy?O?P#BOI2*<#{GZB@rHBkdqP7@ttX6 z_RZW+m~8|F6FH83F_JuFWbKF~vG&`(k;`zoR zfO4)R$M?#7kivNIRU~bztzN0uzQ)4}M2?Bp1B+!Ms^hyxKjPo+AdRw%*W?^wKz#7a4RdmzO#+S%E}1D zH>DP9wXdq)Ovc_hNgqVJt1UoT5waT}Lz4bXl9V5sD`>NKtwBmv&^76zN$~i z583C5g*Dx`_%5t@jdMb^t-GF?9vi_)n~9oXE2n8lBgZg4r*vEFCf^sTVP%v2)ukLB zYTrSaYHp6<2)5`aF<_-A8hIyWTz(epXFJ~K$#*8hOXIDVjC2Rt<|d8%z%${D4@=1)-j_KHkwJb&gGp6 z4GfDUsRnaTKV#*DF$y*Y@;PYFpgz`G+8{zRH1|n2O(< zM$lS!Id&Y&E1mcgz>Ggu4*Z|l*;jRn`HJLmFo3I`2A<}22tq45ylzn1fe0tfAr0mm@b9z2EWiqJDLi#K!0ERTirky33@m&W zg9;C^5on~#iWkl8BuQ}4?l;hq*C6HMqjhF3?JHzXhw2s??p7edL-8p00a*7_Qh>k_ zV?8|L%2S$zj_HJdnL6p1G%qnUy1K6u($09-BBKJ*+>XX9od70Xk>$uM|xABynCC zP}d~lFKlt`$@E}Yd0*v60_Nh4XtG3GWUF#c+GJ^q`!HYNcrhtu9WCuBgLNtIdhtO~ z1yPbRycrN1VUJs`gvvkBaa@K+9{id63X`RoYn?|rnBGLtkM&G78#}VbsBfekf;6O5 z4X6ksZKNw2+$gS5;v@#|ta!mA7Sf#^!kDN$oTL#ngcG=Fo74EoaNvchAA3+!-|5up zs<22aUMp*~R@VyQ=S$F+?|Zyx|L?Zo{kEV%2=`JjSX>_taOE8sYG2y{DI0OT>On&& z@O#$BGn9&zf%u2z`l@t0&4B($K>sm)2=cE2^6%k;urxsa{0^_1^=>kJZ<5#0fcz($ z3ibvE;uFD)>w?jvd3TpCLI|kA_(<_S0eBx@<#pI1d6ZC^Hpwyf??RIIv4QKBZ16yU#|3D-&+9nQ?eYjLFMxdP$4lZHEjRI z3vw4ee=vzZL|G^PDaXxr>3D!)NQaBZn;d{+E<(oKj{eNOrA^B^mz^-Iv;X3K0ub>F zrJ41mncrA8qO@R7>CC!;1?vkwC@rXu48R3rerGjm+-8L*=gM8MCWsT$| zuZ<7NO;)d4?nx>wDgpGCH`%d#T zdI~5!lXcG^n{$$Q&0vt1x{83p((k&~_=JYd8Z|3QHFkkY0hKWA{0P(bWP4zQfOXG()vTG*MUoJ~MYjp_zJ3jucQPw0bgf9FV6Iba!L1Y&hP_)w zP9;kdA)K0iHN^7LyDFY@Z)5`cbN3f6fjMozwE+4d9{}(`+v2ZBYrA;=g%+9A=PW*Z zS^tU|S03G&y*!>=vu62}d0872@A8N(^A!z9DVJp%P@E1s6~m>YZ|SO;V|cxNi|v1q zzT@rtO$E9>ge8D`n?AK?#x zif`JYn#An;4H|^DrAC&3BHA0?2vm7exeUPGZ8{Sc1p^u-xE15Dv_yqwVsmrVcz5Pz z07d%iLy;%U_@C)-dpj^1ZEihQ13epTGgcTV5FMWp;clEp-QcDq22Q%3lt$%bUzMRE z#-5a#pb2Zjhx>w7o$!@4q4+S%Lp2S5;yy#FhIW@_g$m0A;k7|Mq+v|i z?ksDiKxpLz{~S#_>p~h^dj@NHMoOf4#$c=+qM;`%Vu`EjqcPZ{$&lzb#fQ3Wm6O^r zBO}6ivSWvn?(Q~s5XXzcqF{4=fT?AV(h}=wZR{q22QXGUGtcn$2^R8Zv-)#nT6S)i zh5bK#Yjk=807;%!VWIBKH`s5|XIba*ShiYuWtdGg1#oGK1>F)z zuJtSrk#3E&TnR%~0g|*n0&dY>Q-tlC?AQ2Ipg+WxL#dHt$O>4^uN&BENB7R9>#y^qV%r&nCXJEF0d7_U z{Htbb5nx^>u>qSFM#ifa%WKS$1`bt;giC1#z#QLKmomkFcIhB}7(S{np4aC%kI!#m zc3x&XYhnTZ)PuN*V5~CVyqd!X1iT*77FaW^#>d{66%RSx>VYmd=kjJxmq;7q!w+8l z!YH%1CO@P}mank`QOaPLGN`3Ym0^2oCO}i4<{7nnyID^znqpBU0Y&|i< zdD<&@g(--tP*#w5(GaGi6&#c6%(xDQJrj`PW|=(6{O9=3b#u1tha-3o>w)d{Uux?d zudN;pot~^^X>L1p&!H^Gejko+0Ko& zU3a(5m?Zhg+}3U*;P+yoid#kSGDJN^H6k#ExN?hr>b+QV$P#% zsz>+kP5Y6~&&fSA-tO=bv34Jih>m-o(1o>`ZoL^h_kiR5wrLrh?RPPAo!Fx_>*x>= z<;*;Wk>kEXQRl*N6XSU{mE2ehT-_@67Dj#7pC{RVJ&)Y{>Kx%3pDhl0xPY~!jXLL= zc{zr|YkPIaK=K{WH;5CGJ~G&y8|6Tv&9s@bxrHvjA@gHZtVOa$J+|=Oyphq$ffJ*j zeg7v=aXOv-9y!7}{0%dNU=-!yI4QKQanfTNA?`zCx@)FM!%S=uM0zZsDXt8)KI$Ka zVfmoFG}!niTEtN7+;w<5l-z0B|Ju27dTP$NBBbVw zFF|T%iPsyFnQ)3^q$X_KFYTloMFWriKHBNC+zi}TX-v0L4wQ)jMWdTjKH#z(Uxg79 zqCW_tgH0#k+0+XYOr)8f^8Px6y;OibV=Ils2hDgwG0)yY;U=@pLFc34E#zPWY7RHk zq&kQgUSe>~1&3IqK~@CUC;0R?PW-|ggDCyc`v2+TP=;GyR8h0E;B6XN7!u7OcnKW- z6I@5%7T#!3-4~76ro{U|KJ%fg8t#YrUqC9{j~`|z#dt*yy^mK`wfpMV>@@$A+2K~;Q z#6&N;W3;ww4#!Mq40~{l$FQLwJ+6fQN|!94N>e!j+_SUWiz3v4j~bC?_g{RY=s1c7 z2_Y(fjE{iY&0I> ztzV`BjsL{l)j02is_?^Hs{E^R;2+4n)yqB2IY+q_0PTE}%Xy3!oo3bz&8Jh68kn!D zyP@4Fjf>lc&qiLl?mGs&`s<>>t`WtSlkMtYvZ$965UCNqsrYfyAP|Kao1s$1+|hC($b~4nxOsg@P$hVt^4LXrI!Vz;dvMmA0%y^m4RP=^)A6F(Cr!N< zS$v7e$EezCRAadFHU^c^2~M|en)7c z^PEAqK(QHrPt7EcmV(itxsevm>$8Yvcy4)YXx{L6ztyS~Dz3ear8x2cu`^i9rY^TLj}-AA?&%QTbu>IJ{my*nof#Lc?a%yYKQ5Ob+d7!q21AD34#5 zj0{Y$EUiz|^gx|J-yYyX2fElf8^3Vjt|5xD9gJU}>l`5LRe5xJUNCwNR}B)qhQ|hO zQD?2i&JjjrHXXs2C*KQJ{FaPt(wXmhb6XVe8#P7D2i}_sXuY#QlU@y--H`@aSZ0N}{fk^-ll2=5(^`BS7u#_oYSAke^8fB&eu^7~@KrDSz znGJzhDz5FH5k4{yzqY?~<3=E{en@{)C_Xoj#9Zf!UgBq$Z6ML9yGdZQ>{fm=A0_EO z=N~p%8d;K+tN)yPZ1RWvCRw@q&sn78`U)lMKXWh8@W`(}gPh@ol6+pjP3qew)y%|w zgWrc>p8qft8O(#8>66FIA$qQrJw*TJ{u1!zCK@o$>&=CEpp?77JiN8UPy(@Ya`1x4 zan8BiUdBJWk>mzGCxG%LKplSzR$y38k^WwV`6( zGK=H_-L;#t0LopDx}7MT#&O$(dt`*tIyz6yX&Cf&52f`LO6#f12zd=CEr7A=5R~?f zMQP607NxyHWw}N5EhqM(htjgbErJ#Ea+-v>j@##|N6q3^AECtsvn`koiW*C;AZz1n zI@4k|&}^8%^~m5T36Ymi=S2-hfhX2}C%*k?7LALZ>%uJNv}{+ezdBc)Z7^Z@9k)4+ zDT*Js1|*{rfmg?S|KY!u87Qs`Mz74is;3o_TU}}5*6;J(U_w7EIyf3#LV1T89;Iqh z9xrK|S)G z(dJLcg~^Csmg_9O2%I^ioV#aelsB>2W^>kqthj4-RDcM5yPlSLR%|h$&jQsJqtCvrQ|Pnnr51e>7i)fwvu!<+Tr`p+)H>DJ1Usj0J|5R6We{w{Dz`p`DXN*`b#IcK@lv93S-c?-Med=xVD;7=342lW_2SZWk7EzbmnbQm?Ai z`Ch3L8cJ>wN>P_YL=hSoSfiIh>esytbs#|8l z*qG-D%90dmEatz`{|5E&1Dx5%N*Y9-L(LL>dOVZZu1syb*UY4 zfB$HI64|YIm#?y=>Oee0@!tQ|SlG37znqnEX6(9NdyRPuZC*zyt6)^Vc85Jz`5Jl5|-=kex%gi*D@^r69sJZa|QoIYKO3|&!;PRij4s07&XEOZ)g<)&Wc zmF{R2AbaRFC|-)yf>qdCP|`51;z~zW#D^Mf(PpN!FtF!~K+BI=b>GdML9JpVURY%$ zI9WV##S!{M6L8ZMlZZPD4LWP(Y|I{3-Ncv5^u=?+nPJNqs$s&OfIcllnB}WXXaUiD z?)pL=g#_)X`kWM*ujTP;L%tH)Ro)0<#~PttQYEd!Ebr~!Q=2et?*yGwu*A|6%s8Y+ zne7b~iTfv~>x3LyDPv1UN!ebGvOQc3-s@lp6_631Wb}T<{^sNq2r1~I+%f~|jg_pr zu_0+l>UYnvgMG+Oyy)4dq9*@Bn+K{F)|f|{6{N5Z!>ifL3-M;o{pOf^?orYUV)CneuF(0L!hts~?m|ap+lbavE14y5Co$8zmC)#y-%+%JgiWfEgt$_Q==URs1 zCNjhu{^}nSsJLDd#)0d7{RL<*OTvzClBCdoNO=)y_ZnRLIwELUf16V4FeOZl>0I`%GS zaj*b@?*P5b>xTuTer*7*CJc|nTR3F~x9TD(fTA3K66cnX$a^c1;Arl0ze7#qS2?_Kcv zqb2Q2U*&3=NF9(_iCQ-@$GSjfaavovv7`E-vh1ZJIc{AaQ?1;>_{HRA{8pO zQ@edXz8O0G7v7wvb;FwAq<(s2HHUot7eGx$S6uZUGi)Nr0{9VSw zy9u%7yh?VwOVNGi$R2FQSh2R=H5H=UiR!2-Cflqj5^qyd=mLAFZ@B=n`O6C^qT{e5 zzkX-C-9mzU$Ky(Uc_W<#<8K(D;^F%Y@cF7&s)jge0Cv`&y&cBW<7v{hc=JZ0%!$4g zj1j|Uo;}2a<$#iUsM7$-e6JA{kIoZgn@dKozF0kXq-XQILZ!LlMNl^$38>iLG<-h) zW`%?N+l*%~D)u)IgBQ*=s&6iRXOE~aZ7Uv!p_SRh`mFx?RwfuFl~&x47D=U@o=O85 zo3vn~y2SEMr44QvpltUq^ia6l`S_gn8SclAs$3Zd zaJzg_j>k^md@YIu9# zTsJ?XBYKxF zd3?Az{~i-TSvZHFFY`0G4kK4?=g}?ZK;f|zzO+2{vV>p|{A>GUFxcZP?y;8>Nv!tR zof3yZZep(HG&!8DJQ`3B*&CSU(Qbls;~d0(7&yNZ*1SBrRp&)Y`Q@W5s9#UA`zHqF zhWX`ufvU~DL`4lm!=Kk@wWTMvVP&>k*m&9hp`wE+%Kn~ympS&wH?hb5LD(HPU+w+6 z#h&G(`Eb|#y|ouJ!g*t)N2m|N65A*d?(}8qHtiMbZpCorJnC8mQ~4cPymO$Ls!H)cnH>=P5P2O4*$v6XP0SL zEU9z8JJXK*3DVq2NDlUKmwWhR-O!Z6UEwbVD zx--EEmMC1kAFtJ0&gNftGgQI3&#O9EReyen^7U1Y;DrC2J0}4d$C2a2^sAF;ju2T; z*YvZ;&X=1kWc&_}a-XLK#HC+N_1bINvI14Y_3mik#!lf=%4zF+2rb9EJo*F}C0
  • gccDZO3xC5|7brD(3gi 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≪~&5Nwl2RuM9{>7#IBHZ%=c1Lx@O*EBa#d0MeN&qA& z_UYW%r=S2UrqHn*i^=MoCTnsMmrK4+b7DLe@(8w3?|pr~{b zP3C_KDt-ck1Lh>e*-Ctat*CV{H1{ydJkHD26`2oxF&`|VP3`-F=0ZYH0K-3d9gGQ> zOnLZgeUIZU?DMWv92KR41)y34*`fi|RFse}z^&hYBjd3Di;ATyVv)8O#$9+@2)X$R z>k;!C=_Q;6){7QLrac)>7LY;o?n{F?kwAKBT;gl%q_*8W8sV|?o=`71q&qypI@{gB zbH3jaeP>~lttG32YdxbjmUt4+TEh^_Dmzaxh89CJSCgeiUU2aE52RSJ44FFCr#o!r zk%n2=45*CQcw{}u4oe1< z7x|YSoFIeaIpER8rmJ9!z#_r=Xo*W|q}j716q06}BZHX}J;Gi}7ammt%QNpf-l-b* zu^aKSj{dxTSdFWpH#D8&Eh1a4CYxM^XDd3gR^$XXOsms1Tz^_lXx_Y;cneF+nn?Al z9)`2AfVd%LKOa)koi~SdvsO8R$EMZk4$A;|I)~=XB1)@? zjW2@k7a_iu7ZZ9l38jR#0JUAiNj7#>6h-)1glp998azBaaX&{kn1whsEvwKGTw~06 z9^(y{;f^|50|j2M0vBT+_(lAMnP6216*vkwfU&>`EP@Ph@&M)4p9b458ePiK08^mZ z!NQ!-m-A?5@Q75LcUKwvs^Hm3sGPyuVDXQ02fHP^Lj6WSi(sEi9efxb3(@O`W6J&M zd+@0AucZR(hA*)9*A;yCkT10wZ`wp2iOls_80-Vw{5_hUjRV>Z!2=4>Bzmsw&Q1=Aj(PW1>2< zO?2zt_rbEaS{;o>e7L8Q!ba1>Fdtt`shk3er}apHehXjbd%|w;X7{ndRRSi?p~W$P z*o}&5UI?a^+@NzsHihhluo3;yO-rG^-|P zhz*~A-AZFuupvVR;f|PT92AKkPgT0T8hH04*h?x95{dT-jI2?}g!Wzs8TzV?pBLRn z5&YTJ47YXWgl0T}rR@oFv)-79 zCpdOOJlydDOfqOJ+~A36D(=JMq0rmV5w-N_ZG;f)sQJrC#iHdj5v)0U7#nk&%!@HJR)i*5%h@BeP9(Py zAM*ofZHUZdN2pTQ1@~ONP5+b*JkgkMwM&ySZ`$m#)HU{=wy&nkh}2 zYWVlT5pd`Z9S;;CB2@^OI(%a@AlaR+$3-KhkyCRGj3DcF^w7Bd&b(>Vk0VrcWbi;9 z*f~q;7Jm+~D?q{~NFu0YhQ*>^R!^XE1;4RwegS_&6R^5rK#3ElbH?Y?V70p7&p5N@ zX{Ny_s0Gg#GeOpkG)LK&|9{Lz6JC!e)B|%O7>^1uyX*;d&}1ja3O6RXgO~t^RTkR< zhwYj9S8+Jc#+eEVSfHRxD2;3kDf*2D$n>G3B4h{>tVe(n;XmFq>B=oM%!MRU$8*1m z6g)zNV6Z^?K}=QDLy+8^y9#G;U+4-$pU3&~0QBA^*mMV*&z1WP^5J;yb~w44r#rwz zY-{)*!z*X*Dz35igpv@vz@gqaou*?lsskU>ox2H3hBxa3GJMcA#qhrZuzfoB_%y5> zfn$Tyz;UiOk96;d4h>H>HeunPSQRVSa$&(2C6_zFyQFwmsXYmM8`5dbevYz*f2gzF z(3``_2r?%->}wlZ4 zHShvI1zt_6GB6g~1~}BS1l|)oZ$0-DRN2&X9PCMhy1>DYB|2FDI^Y<#*v1Y@bq29h z>NFHVTy!2nByhV`0!JKj7D48i^D`S$P|mh7@d`A<(9L`skgwc)n(cDTewK8K6+R`4 ztV#H*GndE@Fa?8AWN3r3L7z4ZT^_^V8q*D=*A;rGB)Ea2*|X5CMX5|z@Zqiu|NGLu z2qxeK4(Ue?Q?-P@8{l#s5sHX7pG62F2~ALhle}hNR_FF-3l6rc3}OTrt3&H&T+#^ zSz7^K{vvzO129Uly0>qv84>}E>jO+3Sx2D9Vsg`uCQ@ipvOO;ghjTR)f)?%|OiI4V zfs4!tY2zyhMccD&Ay1fzh0QPu%hzISk|R7M#ue-mfhzl?Ge&FP(6G*0^EpW>+q5b1 zw8H|Wg7Ojq#2T{(eu(uYsO_o348vbT;Rbj`?(isxUqx7g$vkEVb&ecZRRys%Slq!J zTT3Fs=BMdvTZcD4O<}qNjK5>MC%D-Y>aqdBAat}|$3QJ8y<d~+e-i1a-+!+4OH#y-sQ(%i5 zpI$&0Ohpa^rC@|}A+y7`zksLZB1c-= zMiMSZ^k;9SaVgUrHvT|x)n<<-S~2LoR|UNvy>@_ASL|2ke)B1^L&+DEEMmZ6E|O%s zOZ9?;pepeyv9DTF-n^J@Wr&e&t1HNybt7`&#Lkjs(?Pb7*e?2nl{^wvEQQ-F&9;Ip z;=&s7p|qd;Jb^J$z@&DiVbB8BgUD@|pF_2lo)u}HgQRo41bQkhl|%T+p3iO!{fsf^ z9{3}n_7gH~)Ak4G%W{$0PY!klg%C3P^dmS%n5DHBcZ>t^I9k@;i@9rX)dcGSF3mEb3{!QNfx!tl!)%5F#BxGI5dg$~$~Kz!9>Zm( zch&5gkQ2&DbMTs)39)Nx9Kk7R#_SHz+q|b{y%8S#9Qecw(_v#|;4G!imt#p%^zS#< z=&qWy+90+&zrb`?1}I9fzJn46=@DElLI>P1+reCepBM9_F@5Eqi7eLLn3$435kE0P z@tsKX)90dGQ6=q;d3^lspq31G$NGZJWKzukKW>CKqd?6s;T|aX`Zx~Kh@Fz{4mQf) z%(jN^>kQwfM+--23P$7@wp3s%{>YA3A@)q0Jl6Tp2_aaK&Zo|4ZE{?B8s>1&Yg^Hy z-U0co@U!&$l;Wj~o>^ZVVsG}qK67ZD<||me0KBYBCe8j!PoBeXd)=>f7JZ;nkxe1YGg z_Rrj63;2~+v0>w9{SQD}&~;PfA1ZbLUBKlBAoQh+(h)ALfL%Fo=C}q_)r}}-39quu zK47fu!MS7y%xS}X?g%Oro1&Hf6sgyQPL46NKRpw4KFLacO6=@TwzVL1fEI%&cd!@M zi`CqC6Dxtq)1E)F5}R7tmB_@ezpU4&4x-B+apD9LI~sr!+N`Z}s7Ih${(o%cUlyP> zF_;CV^aA*lD4x{cVk?Bdkp_G0@C;9Hw%V6!J!m588EQNvt#0saDajh)HF+xV4Fr>z zSmk3QwY`8eW=p*GK6nY0+W@5jr5%<^+lu@xx16hq-dJ93Dl?vST@xXv^P zo~s#F26PO~dWwTK6&oDStTRS<)^X|}hTRnu%%6-aB&X4+ZH7~0UUEVB{% z7^dlQNubd)jg1#a6qLl2hK$oU!$ zT3zu5(q{E~Uf;3NGw^Awf(?iTpf`Y(e_zC3%*DY>TMaR@$L+f?ra5s`UOYYo^Rg-p z2+WKx=gPjTXjO!32HV5!WfW4;oo*@CgD|T&)}inS3`4~VK+*tDXecxo))#Qi1ea2b zz!DAo56i+6oI1_}W8rRu7bkEL#|Z0HQWhGDINHvfWJ?J>N8>RGo7!L@Y&S4@xfR>UsA75hmM+e+KYR^*HOLrL9yTT9Yn2z^3 zSOmqg9k@E%x?I9nWVH&h#eTG|$6xHvcr>pwdh+)-s3+%LrD4_<%nD!Bj0d(fg<{MM zLhpteyo9{w&is0w(0l4ToJbs?RkrhP#3KGJk42*l-6EoG<7v9&eAJb-3TGx^xsp40 zIx_KP>W9;jjaW+vap}?z;z9{kDL9JJgUtS)*e#*Q{T#)ayCc4e4BcN7R+A>BMxz|o z<98@7{yl`hRG)nSSHb_o2=D%y^76B5kv*n>uT)aV4I-C9RW+hAK9RI4q35yF9f9`c z=MPhD#+;#2%RJROag05M3K=#=%yLb&UP0uOBz}mGQKfP`s{HwRjK#}wIu8cuGG!-Ba^UPh^Xw^GkQrM;JeXaJohmuq@Lvk9J5G5QfQ=n6 z1&v?!lH2wet*tKn1o#^XKkN`99}s!w)p*R9v>*tE9%=a7L1Nvww-*#_&<-YdaG|{@ z6+Jf76Wrn|+>_*PvfK_Vv>nFa_x*^Ca3L1P^FtVeuTQ6$%ER-I(9)rm8oAPq!eUE4 zV%Cp+)bXF-MQlgYA|x5*;+zVG>AY8HYk7kE6wKDXbi==kwhi}UnR}tj+@Yx&4q?1u zIZ^+Z4qRQP@UEX}H%2=CQZqeV!X~TYjGrff#e9rI(gveA$q>_I6IqgMh4C(?jSO?D z*8av6N9Eb*e%}g0`$-PPQI5iLKHwY3p`iQ0t-Yz%OE8ej)={^4iezAR3O5uv!(Ag( z;kvTYwmfUPWA=cRRaTXI0%}FdV?QLZSMU2HZgj0%npNY3FRuS>8+rZ1nszUmlc>JK6zFv|hsMj*4eS5w)6>nXnXtI}ov3P&8PD z0Z?+M@KQ={m2VVvTyQ*8+@%qAc=e#zx@#=C=9I3!r@Z@b+XrS%ve0taaWSqLwiIN) zTUwdm3?#w-*up48Kw>*Rt@mZ{a1wd49Ak#BD5Wi|5Z=Vbn#M1)iLks;iyCb%MkX(c z^PvO^FgB5B4L{75)(p2j-NFI$L-h61VLE#wjPrP$-@FZr1FSP}!`Pkonf$ns$G%U< z&2cE`A_!3uxA^7%VW91V>m5^26Oo<0^+EmJZWUqXMT-H(_CH3mCO+fUMaf)bX2M}41>NdvJFib5nFfb42^?}*<%8ZtN0!)gm0b12s#~0 zBq}4Zi3#3LiCV@wUhmHFicW*ZMMd4%Y~}Jz>H*)P1t8dDnEIQvR(>V&2Ny@-V<%W- zEsS^BWa?}wWa$Fyo{#zae}^JRy$0Nzc#O2H5)T&BoT5jXVEAVjL3ZvyA5*8GYd8*0 z&HyTt%*fFRfMX7jO58B7hWlj=--AI3tu#eC7wUO)sQv5L!R|>wn>bFHv2k`VDC42_ zMQx+my@iW*3qq=lBo&kW>8F{4zxC9nG#pYVfYLJ>uweEsJ5sQN{udJU0R%cGD6jCH?a|x8el~71J92EjPfcsvRds+qmaK}TD|o_s zyzK3%>7{Rr%aVJLWciEA6Y24jckp%TMB2}t$ z30uW%G$O3ZKIPV=VIAXUP7u;hT>>>4YOw8UnzJ}Oe;XbD9qG0Y`?kVTzd4&>tdFf0 zthI$cY#$JTs+Re%@r@ensoSjN1OLixKjG3#(w%CBpw(inF$tLv=#_V3R@el=act*HDWaix8OztZEa^lN)Zm5H zz6^R3l5DLv$^_^IjD;~dsg2=@n|>*USXYJ#6^z*6Hq18IofluzE8cRxBoo)8qdGc# zu#$NdMv-tA96ktxw#^E%wcr|?tu>-7+GZ=HW7#H-C%Byl*Y%<}o(WL8pcau<7dTS}M0jJ(2ZD=C ztbrs1)Tp2{G3zR3SS_KEg$ZJrSB}pwwy*MQz`>Jk1t+eMwiT`i!TOS5SJ+p#fSV*? zE4l%3$Ev&b=W}QYZ1AR`g+?S<@S0(5b;k6S_WCqjeexm#u@_d+fjE&%Fb@X9Pex#j zOqhl-6HrdG>PqyP`PHzvj@BQ%%$V`l8^rzo9VGNgV2vGy0E7wFk)>!o+#6472iQ^u z0gE(#x^!s-{ESZ^+mbgs6v}=*ATn$v{2eOg_-Gw>KHPY%HZ3>o2RFNdf3l*p&!AMe z9?6*HO?UYYC*sPqBN*P!a#b9?50n#m?siTG*wf7}9sw3R;Rq*+jRq;$Z1Hi--S9v; zLu(CiL*IZ9+sH8dQ;{p?s0>sRD?QD@RGzVzTq+t!`kY<5BVMpCL2F^UmIRbMK-s|! zo^bu`7ULkyb+qnqeS0l!MGTUY*#Eg=#1x!B)5`g_b1-0zMV zK`vhgf}t?ixeoo}3e@?5GLAF*Fx4{8ww&k^(0I&@RO?$^aR3StC`RSuTMD1vVjEDX z?2{N8??v5Xz4d*l7WUTpcCQV!_cp?4)EHWZF$?TBy0=;R{YLkV*M1}ai|bIuc&Nkr z3Zn|bg!ZX)p4ibV%M^{VZ&|tMbh+2=udMYtr6=m`gqj1p(6fgjmL1%}Ek`ZrsXBt^ zx%zp|g(a{oy-|t*TuC-8Rvnt8Tf7*zf>{&4K)0C2M*$x*`FQh7JeGZhN8(bl@N4R9 z#K2)Ij@je3ZAC~>WZWZQPuvIbpMwUZHHjRU{zR9GM!F+|V&0`pXajb&PMgi;;JS$fNCEe&e@}3AVPf zG5Udb)=WO4d_2y_e}LOs$;aX|5c!)ix>>LC;inzB2oDM>$1(e|B(!AwmgzpaWm?Sd z5^8rAE6Gw|e`c-3*2q(l%f{*6-7X-S8UPCpFm~3$yHNX1_3g2+G@9 zvFtHb!QS7;0OID@MQWr3{bvfNv~%o(R(YF1c47&b*&?!tXRgw?#l97ksExmd|BcBo zW0yS*lZs;~IfM~ltpxKVp z(Hg^<$pGS9!OX;Ays|jRP6^M7COMX|IMivm@#!B}`nV9k ztUee8Et&DDC`CP)gtHG~r2rgXSMVnX=A(V*uzYKW;a`ja9b1wxB(%kC7+L__BNo)p z*U1Wyv%4Vw=(_e)JIo$A2gP5-CDyi%FplhwOdiJLfT}ZmAMR2#Yubg9!LUDW^PH+ZYit_(oW@Ph1##af<%^eZkTP!Ada2L zu?*|Q?9R=`gyiblBgwZTFs)lRPt-dcq8Yi-{llge3w8sCl zr6&COUs@_qTH_vntMLFpLbuetoGoRThgIJzVgmLfe#PsI7VEb<-ePUzbuQmxf0rdp z?XS3os~0hd$t*xmMT10wXZ{PJ{aAk~X@m>mYZb5y`TBpTdt= zlnLDw!=@Hz@@BfP)p6xaVl5=UftldH83`Ab2VieN53RBffkLP6QEKm%C|FbEz$E`O zQeo;b6y?E?Y+s5jt1PySj%%A>Q{o#=6_3RD^&Oc^DLK{5!Aa&giXERuX z9_(gyEW`ONwi>W^%{4=VnqPOu5dpd&%etMlp9Lzdmfzx$yrHy{mF)!Vi~NpdRmEF- zYxxj$VJB`6frk0(y)+!Q_9iN9Vfe>COjj5A)?_y+!LT(u z04lPvhb6e1_EC%MCTle4xqPd61y`umipZ`|Wb5I5z&P!drGA@$O+x*Ac;kD6UEe}4CjFbg1tb325*PlT!%&Na0kE{9U z&POjk2JqqIV-woO>c0_>C7Y=)c3CCx;jK0JVaq;G-EIE%~^ek1l-l9_uuTIm<_NptI)U5hE+7)F^W-quGxe zc^!#`*2f61mRp37S4(=o1}E_1b9W#>%i!&W?~f!;M%19#s)Z$jeSzkt)erlg0~9C zhp}Chb`v(N11HX^!sh)I$Qo>6-`*JEuNE7DPSYFkis}Lb@?uNx5>wpdpUIjv
    FzM2WXAPBt2Mm!0Mukvo1yEoUDDutecU@#x5$pX}LBBL-gz__#!8qUd@&JyC>Z0w99uJu-8Kw z+@=2(^0{*hafVOVP`g6L)3avjV^{DtWA?WfV3voIs=0IbbPu;WXn#5myyjLce(Jo}(L+n#e@DgM8PdI(G%hxU)#n!>M+~j2!%Wu1dl1_28d+E1H z>Bj6n_!#FIf@IwAl>`r%i>?-n$?A-tJ)u@BUHHZwYz+*tFY~{%_MR`l9=z<8G3OjGS}X9neEUJe!9uI%#sO!# zw&x)(GYw6Qt$H^T1Sg9JJ`7tq0uy)=B-UWf&mL|6h~ z67Qr<-@}-55AYafDym1iP@_xR1TU$bttrib9-Rp-k6mV1oF;cfbnE z*6wgOn2?AdVQbAZEEM|9KLSLCCZ%R49(3n!!^*X7RII@Y_y*UT?Bp0dsE5P1GLcFm z)G@`4#W1tRP;mrLx80vejxs&DC%cA|R=aQ>p(`{IYp<##b_uq_ z@Y5TgJera?txHUcQXkt|bnm?wy@ExKkS8r0rv{d4(R>4|RBa8~vqes5NE)_5P>C{w zwdkx&G%(LT0}%%crcl^$-YZ55bmy+YRyUUtT48Ds)9O7+4@?YAOu^xY8Ln`js5S+4 z3)Z;_YgeW0D`Ko5Z)|1%F=W{$vkl1nXJtPOY;lM3ZBqM{Dtqe^&=}_r<-R_7hc2C# z(`3IZ_go~SSZimn$Oz)7xk2^-C;()^i6F4{vs^)rbXcVYD+~jqG5aa-*lyH~(3$-at1=o*M-_ODXiU`_bB5vr>mg()r%%hj zugLek{`>nk83McM;`i6G6i?`@<@n7@{z&R_9O?puaM7_pV+&Wp7J{ zieAGv7~bFdPHQc2u+|Q6A6?ep4uvoZX|ASK+#J8+?dw>QhOe+K-{orq#Z?*a$z$9C zjhJA497+aDhtn8rVXQ~M2y*d$99uONFD=8D41C4!#ec&-pxp%23t*KKwL2IlgaM}d z*)$YD6*7SHDuY~~^E5IT;ku{6pPhKPa#yv)*xGJ&q9fcXv4io%Dr|T+=6r{)NQHDY z8Ve>u*1joK=4NA|Mw5-DP4pd6tUpy&U&(Xi)MUl(TsYH|l56;Dp}Fjth`9}LF_&&!MRTrvN41tpPIqBZXAnKgyw(=2V=ECt@o!U58Q53%ikktfYnB5j* z#N=9VkwNF7@`aw{21v0QyyMk7^6{)zRV=&Ou}EaM2glnU&Zt9Wa#CHYsB6fPZT+wC z9at#43V%Ocow$mx{oC=ncsHh<*fIz!fF}^Ff6cC$VBHQfVjO*Jv}CX2;WF8K|5nIe zePnU?zM^tLt0utJ#ztI`LiJ&$d zSuoCWMFOlehFUW?C6uO~YA;Na^@d#RSQ(rck`Y?J%zrAxP6n*lVn_T8f6KKWyg(Q| zYq6Gq2a&a0%cuQcWaDwv-M7+NR9?RS=0A?Y3XGWR*dlaSor*Z26s{vI7aZL~jTZdV z#ml(iK-%8pX?E_UNH#a4FeVKDaVmC)IK$6U>+#S>Y!Oo62HD<9MorP5=2VB*BLgcd z0%tOk({d-K*rv92gr~rGLn!D+SJ)jzKn}X44V5T*w>wx3s+p+EyOAn@j^xeg;@MCX z^U-Wvt}*8!j21aiPjFaEj5#UTCt}P>f*|Lhzr&Z@Y0POs+YC8+cyJ6fhl@Gm1sRPq zEPYexOAY(;U0#&i%y zf!$fff*VV^LvKJ=s0H^m7Owt(K4@Z!{P{?ItO)dpwS zzv@yGg{HKye;u&pJyYs*J(>xx5XQt%dIB88j{*AevYqX2{TOfm7@;5Sg^mvP7t=|d zVeSDF8Lx8&7Z76jx#ivwdU-y6z*2Pimc4}(Mt?!_lF>A?Yk)-Z7CU9#!9C*Z#V&c- zcw3b0%GzZF_S4x*f-<{!yw=zFgx zBX#O%H|;i0h3=s`>vfEG76P0-(x&!t=AJ=**x%*zXH0FU{8N(3@*_6cqs7#8XYP8O z*Rz@htj}(81ljCjO1cF5tVzw^!z|8h00^hUX71BhVvSL9jn~oI@spk2HrUbX0{#9uX3u76;iTHGTr5vcI>~?lzl+B&HeqUWqZR`OGjqVB?6@T}yRS;D zQym+lyM$X|H~wu32Rs!kun=Z5qQKA$!AqbuDrVW^ura%V3arr<*JPo=uzSNUFdp^5 zf{Z!{c~pSKm*Vh!jkD6@RXhN#jbp`{p;g?t#KDD&`xt+)KXm2(fJih9_{tcUTjE1F zjrNE6>#TS1Wn3QV6ky?c8|?VT^Z`1miymQUT3LJ{69CkIKKQ1U8MHr=;p?VCfh8oa z#h{Re0m}n(k>LebxF^D%3NI9*Pq;!4+Tn#9V4)k&@PaGN@He%8E4<)Bc)_rLE4<)B zc;R>Xx^{TMh44aO{$7@WA{Ab6WEB~6PIGl;EC|5=?t6d&?pL3<7ju z1rTFkR`iPj#+ql`o?Q%eW}ofO*(Rzj9>|J)#ZF1@wqx z+%EL-3KKm!hhZOZ2HFS2@y9|A4`)Ow|1W$8Fi_wSWHIETxC3oSW40GBtci%mOaEqP z!TOrou3W$&0k5#g%9Fb~E~lK?K_IC*F`~QblWDtkg5C+R_@W_a_FT}8&l%~KYV|V! z;>rE)4&&20#&jGf=D!aBT>P_{%YVn*#Uq_=kKg;lz`&iK*tw0FNMC{;e#14LNV+eHP1i)EXS_2B>Lm)OV@sysj{gjLWE(gin*pbvN zT<4rSG&B_(IdIByMc94y;m#s1#9(ZqG3N=^t!(&w6k=cxpHKINlM`GSA3;6g`{TnW zrqJBMF=&qpu;QJJD}>uGUdZ9|L3{XI&-!8b-2A$R&o47#!)IVV3iFk;H0JCkzc_qy z`>4Pe6ODoua67F1bPPe^UqTEM(wyNw=aP9xM7LnO3Z?b0V9ag@e(=OzL@?|#-cez6 z@GcpMb?-z_A`xHIfJ(-ZEL@_2s6>$rk5Z$7BZFP*`B-}34&}s+1`oDP$BYJO3O7!- zGRzvXPiZt5^qm_AdrFQD2Hw706g3e^@^)m}%B z@DLsj?=RCqiYK&mIsOZAl$-N7LUHZ_Cy(FB=tLTVoe zmafIkfE>HY4F7r1tQmpdk%*+9xkP-ke#0+!+c8d~Ah}!xE}`|3k8#@Go((%CX5D0A zSz(!VQ<+qUrr6fa@d{#qZQayCqm^1Wh2JQfZQcCa{$X1;cL`m2>!t$aBWBrH*C6d! zmIfZU5_h{0z&6Y)QKCKE)P>lk!T-k`%y4oHt6yl^A=r&j)VbW!vbxz$1lO5;@TX&dWO({Vs}+I+jtTX^W|2 zSqhW)h)9ej306NOF%@fd!(S@=)W~BeO9J)8zw>JrAR4P<}12T#f zDrhJ>XbI+&FEZ%4V6OS^Uv%ovVU3sjlEJ}?W?GSV2{ot`iPCE0LGQ`4Q zq3s8_wfOJ;ykAYH#djm)d_Rmm@W`5tVS29P6zGAwa2)Xq z(pD!Ycoymxi=60p&iVrdmbvtc@Qb*qggg_k;)&-t(G~}JT)^sD_}F}x6lwBPA}m4# zc47|xlhX9n@hv`^@Nq*-Bj9D^iBA(1ErE+a;D?5AkZOAH2dfBx(PiX7K{q%(qzAqG zB-p}d)W&G<)q>>ubNwh@WBXB?)D7L2?+6)ya0ASyQ=J?r$fD?*&C149Uf2qA1t z+zM-E>JpsQ!#8$(V0lHv2i7xuP&9QuidBL7fTM&y!mB)!$M0M`-mT8*QO2(yAwsd` zJ=XU~#~SI{+XgF^aQY|qN3Il@0cSVX?pka36Br-*J*E-2BLZOc1v2Y3K3?ME3F4+oY{N){ z`UkBcEX>dvV)OwTl~{esD?`vET0X_KCkQw2CGCbXKO5nO2eDDX?#pwKD&s%yW)-l2>_LSpSK(vErGLZi{ejt;tfnbdU(aS z#o^A3;)P}OIYZN6KOX~+^OIUGFPiHNZjJ6KA1?`Y#%y)}2xvd%+k?I8YyQN#HbfwJ zonpj^(=tJPDrk$42Fy6;*R(P}tXew%(;GBG`^L86dxFXN)p48|Cf`>ploQ-N$f}C$ za5iZNK<)=sOi8%7d>p-5)4V_y_Gdw=ET+i+#>Q55l}QlT*qw7x`3NN41vc)?Z~Zqm z2K%QX(o-&T-e&Yau^rxI@haQ@^#nU+6c?583yaO8h68R-!+cf+grAJhN(xI-G0Qr&{vF{uji7iJ6+=nqev=cbF|$*!#!D_= zQDX7#qIiA!$ID-r@|W_L)Gy`He=Wa;qvE5*QJM|$S}_D>x7XL`2A=~-Z;;if$_kMCEsPNjMEO1YDG9F0@M=_=fd#woNL z$6<89eSrAZQE_5Yu%u{ioZlzo_yz%AsXTTohwY!_5%N>zpXKMxIKJxT@m;vGjJp4V zui`)B8yLs;#U$@^~&SBTJhm)IEt3n$0pQhUd@Lh-lG|53B0f1kzLXx@%EjL^Jw!j9=X*QO?%{0Vycg$ za&Z^u!*z(s8`by8IHD7H@(}>hrH$9=#Bin7%yY;b?R*xTmJVF@C+=)(;Jh4HGa} zUWY~jA?WkQjM*ZsV{bw(5J?~peuXz$0OW>0MFs7`(;Mv~$O5t=@Elm`jiw3mwHmQ@ zeL}K?`9+c6v?(DOf{bIs6*Lo`CW1Vsax;~Fw4Y7hknxw2yqnX>r!TQN$e3}zYB72< zAu~i?ia2+l^5hBfn$UI!B(I$jIICYB^u8PYtH63(A?%H23c~6dfh~;*xkZoz%F`I! zXWL$VyGR%gB$%90%`B0y7J^{-w;*i3i z+RE_PSBcY5qA%Jq?*$|9nv+Rfom3SKV9@~eMmyuQcpNe=zWpT5)DR>r>@JmeW&yGH z5(RIolKtNy~*J8U@wRBfQaJg8Z_S>3f+r&!GfsvR+P1NAdp0h3;7q@z7O-6eN=@6Hjk+kRYCA zlvv(D<&6f@pki({0%0fvZ`6lhhQEitnAD7r>4MY|ZxURDOeDlCK*4PKD%Yc1d!q-b z75v9k-zQY~Vbl@6uTWj8`i>VQg#Bekptv?sjS^%9@*9E3wSPa2sErow9%o2v<2ggz=tY&CHrn* zL{q*kWZHM9ipXKwf36yy1=Yo9HzDQ|AjxV2QG@oR-t=$A0qsU01lsr!1Kb zskL2#P~?q3Mdb8G>q-j`6=X#dLh9IhnXE0?g>K=EUM9#QiSp%4oAp@iS8$WT;tCY0 z210ONS%y*C164q)H+nbIJ~x=_jrLM6So$SvTcX05Ve2Bu zx8RyL+LdYZCGgaG1Zcp(8Z5lFSjt`7-ss@!gzQuywb3r#=!@tbhX0TnVmYYyMzaO^ zOnDlrScf2QqC(I)ZJDP7A?D32>O(xdQ7pOunzf9v1cpm(wXI9Y6rqWzsI}^FlO=BJ z)Q5`%c^dhRz}Rbuc)1{Vsz1DxL&!ivOa>h+hh*#YHX?2#il<3*b_>Fwu@Pu2f!Hia zLv(yV)Jq?fUj0CwXqk!{E68p_3PN~#qYnsj6}Gr~qvM!1d$QP$lBiSasjsMpt5ob< zK^BVEnd+&2K|TNiBXE<7ohrxzK^k7m`b-j}OD&LAPzfY^qmu<020Y&A6sFA|QHpho z=*UA?z*G))^BRH9V&e!wQbou%jq!)nkKG9BBF~LPX$jIkiG>^i+#CH(kVjQWG1F!~ zFi;unTda|?!rLsUP)OEb%CzPbtN_q>qgPjC+YM4}?pG&2p$?L&PQFs({vkn{tIJHqpo!WD(vdA*aH%YX z-vp@*Jl<$A)8>CbxMc`%l1sSJ0)Yb5DsUTYxlQ}<%;!6bi4+eUp;9pWRh9HF^ zHic=kH4AwHA9SUN88B#C{VX(ng737dz ztecR#2{9)U@oAOnYYdeBd&I>|QU8b_pXs9yrHRj}hxS)}7D^;b1Zl>v3brN?@fkrD zsDqtl+N{GuKE=!fh5=c>rrKem3fU>hBNEbnlKUS7nWQ}5s2w&5vfxv;Or$dlSx<=h z1xT|V1=t&{C%yX>D1dDs#D*Y`OP0<^B&!O-3*lgqi7k}{Sw%%s;1%^%1lfZ|^+uDK zHv6Fvs)zkoX~4cm)q54SF#@&FH=(MoBI9a`x`ArsM+A9*Xahgrz&v?^P#G8n7lb@t zkoj1W=8Zngw0RgfSW_nPua}m=UVcK|u1>8G*&J1PQiE43os71Tqs#IldU6m+&v$meXShkzh&)L>1b zs)=8aZz<#jtyB|JkgW)Qd!sX$Hm_kJ^fkQEzN1)+7u6@)OUvipPsls6m|qgRMvLc( zveG80CL;y;0div$l&EjrFGyc?=22=FXi6M6tx^Z+@q z0~&9%c9gsGS7GBBLf*sTKS;4O&UiukVjG(g_~AAdJBkoeN2TyPGCP6kSeKXT$6pXVz7GStk0rvd? z!CIlbn~=asJmKs!?dz?!9HN|`O4YPSvrt{+HjujLr(W1!)hLqL(p`|*lCB@cJGUVJ z5nb1-XpbQKmF~v0c^~Pz?n4s&wv6N*YT-i?lt%?QqTc*mny3?Gu?lhCOvn&H!oo0= zX|oPd9{zwRPeYLz{>!Cv8mX$s1<6w(OI6_!g0w_|M!_NV+L3~E1&6)SV@#Wc+_&3K zJh|pgqP$ZyEfq@l(}YY$fkvRGsB94?q$G6H^y%X_m3*$Id@`VrISSfcz!fE5~V zstDy_p}bO%g+dS#%DRF)r$YRX?jfgU`Hh0J-Ml|86VH$V{aHE`vP zMA=V}RyZru8|}}u=_SfJvM_ouy5m14l)RYa(GYsCCq{0~8JwL4IrV%nTZlud!g z8*Pfs2=IFWFamdrmo<(fOJJ6`SeWPaxBpDwM}CP#XTO zYJi1Mv)_2~L_6#$iEj z7ld{lBtekQg4};AArV0i3Z=!gc`H%gi!9#gSo9Uc|40&^foc#6L_`G16DzJ1m1m&c z4Sy@?sk!3iX+iE5$`Yo{{m5_qDuvNl1NIOp*CV3xDnULME4E7AHWZ{K=z!a&iq{w9 zh`iGVOq+9wvZ^ZnS`u5c35||f{YST4yMia zM0uY8%et{rZz%h>LRm$SW`eYmKzZ6SPdydeNGZcvf(q|C6zC$;u8hwAjlP}_#=Ys6fY;p!heP+zY<`}+oWKcP>xX_N)}{Q z1;7L6HSkvwxS*y?BsNb{3?SRNM}s%oZeB z#a<;U?+|3DMGPI8Hjg81J*_fs)fnw1L`?+otD5K4Jl6^G$2(-jtL?~~bV1ev z;*DO*wD}TIel5Tcml9>FD%DVS?IuBfijcdPv?hWLf>>&djZB+Eh+wCPJSeMWJ<>+t zUUVv$?1B`Eg6?X~JV9EB)A>xB^@*S^D&ocQ+vL-bL_7mo^3g82i;&l3njBCSY6x<_ z3arVrxfAqRt?}?iPcC5gJZ1lvl+`goGC{Br*xQ6O4S0unN)nhJ$h7%95!8m9Vkl9h zpoXfjs1~zK5X+{Ktp(jgnb=)6gD1?rnJyh{>*+X}8tnpu=`qtMcUxG1U&)Y2jQpw>*f;5s{@j27xNS1aG z4{!AS>cHy1^(|&kRhusqAK zGg6F)1o=QbJ1j3Kod{mV15Sbr)?3u(FAKp)LGJkv*}7glxK9v=3LL?-xgY4Q!IJx; zDy+g}b=`jA!E!-5pgbe6Q*vLTrcMxoGfbPW5$ zbpb)9%g~s~w0RE^yeD_*Jx-_jzk*wX*lZmlSU^bNCDr~NrVD<;Fl=3?@@}ci>4JPB zo?pwf`2i8!s*d-l+^__d=M{nn1gS2RSBdN~g3Ok+HkN7g0V4QPQJXay<9`BqMxal1 z*7$2dPVOV5?X`py339V2Sjn{6oCrQvhrABG%ka05ZSuKP_%(tgiGp`;AOemAFxycn zL_?W24}CER zm^PadL8hwES5n>X4T?<@F|n5*4Fm~G@_Ps}5D-k`F>P9)&uS~cV={*eG;A&wf`A}5 zzfP3J8Kl4zzn=uS|qc1aU-bV!M z1vn<`L21CFQXhu}X|BGoDUB2q3t}TUBnqx0f;=I(hl<&M8fhcInRjn=s33d9gMXHXqAZeoM>~%!&jUaa;k2kuGX>$+}?3Gp? zq=EV!QShY3p#g$)RTU0gLj?T<`B3@$Gi_c;1YhnV#^0*33Kc}b{i5KYAdeyoCR&;k z!2^QiN)CQy+S~#9tUhAOaJl}pN8#v$L2!}1J%UuiM{uW^HlHPe_EKqw zU@#c|=Agz1Y!(HUAdQ6b>kOhiD9Eou5MkQvPXr&S3TLGA?e1Jxo#~Vy+ttDC;LY!X z%zl+}@Q22Q%ZXr|09RC}$Nj$g-V}-QJo(`B@fHhAnvepYAeriovzRu2K;hODAuy#d zNBzVqd|HdyrxOxbCb6EzwC{3Q=f~$?BnwJpb$5kO8iD>I z_zyvBLHf|{3xa&7{J%48?gzEjcP|ma4e0>*Zx;F0)#^Ig75rHF}BB)GK% znJxQZJ#@Y|nj*;W>U)=pi9?7Wx`TB(Dd(`MnE1R9924Zi3uIy~$-xmpx~K|AnKtVa zK|p{iEm(z+D3~EBd_tqnBM=pIUbVtpLC#8jJg#wQCs=G{C?Ygo<7{hD@Q(D)I6>Tk zbW#<@3i6J4_5jo7^F**l6zo;UG?l%(MEPeyUQ-qP8cKf>2r^a*Z!6R0HlVjAZYP3)=q^|sC?+14MbuA_L3nEf>WYFsg1mq{@Qs)@ zpC*F(!q{DMo}wzOgPre2I@H}gLY5~hTzm3>4l>K)>+6((1Oq-d^ zzEpzWxf(mlyXsdrD|?P01wz(|X|pP`?|Y8e*NNHPWfF%Z5^DwNr0m~_{Xe2+)*S-e zr5-XJpBjOU8Zn0m(pkucs?RK7_9g=0pd%3Tq?qlHe0CAULT#`@Mgl&W*?IRLhLXyx z>SZ!>)@n4oN06V81w#qbria@{TecSTH!EbTDr zZUjD%&9(Uq%X@Vzv7cw!JPO2C7iAwHEuREji0-IW`w8-)nyEk2=5l6#Qh>IsOyDia zSR1Abnsdl;LOb}PxZ#{8F?>JBmoIt?7LMYjFM6wib7GLIkw{pjL83O&Mqug<6pWRE z^cK>unKrvI`xf+9#5o~+h`GzZnWmv=;);M*}wn~j+L1}VU>c=HKfBJcp2^hQI1 z`~ik|qqD@VV<_8tSlIuN8F9Zf!v!_nNkJZwZu(t@MIp0)qVG4z3%OLZ4^qeeUJ&vh z6Xo(to?!MAP~?q1B#B@0447MxsE$2ekh2o%JoSNGW}mK?O(bNCm_1NSwq|2NY(FhS zV%Lh<-&Ju8&LFCVl8it`%f8!4`ON=D1W)8!5^x+0sw& zt+^F%tv>h$F>j5OOYx}@SR;F7pCEO__x&0>|HJHVb@z7C$nCcvXJ^_h2C3F=HIr8oGV)pS{Zd%7-sm(z>OD=urb}kN zWcF8(1wMruLXTq;3;1 zqE%5bEW%J<-5|&-qJ1ON=4H(OBpxts)#UG~Yu~C6zE_ZZy)BRs{0d~&9b(mQ(kkCW zh!9KCh{*+nhCf|zE$Nxhn0>GmM@PwD4`GjrGY&!O3i}pkl8n>GG_+xcX>_^CrAP?>v-$UyuZ4H<>oifey>7?vYs+-OJxj-c*5xh+74j1_a({Yo^U_nf*uUseuZ-)(5}{ z+G(?NLw?cmi|m8X9lVB*$Z0U7i8Y!tm-+Y%|*=KLd8Ycz5Gs4ikS_Ws=o>{ zQ$lc%Y17B-RYlBDD*V8CsngY>##5;BR|x6UOWS5+bQOTQ=W z_7vbsL3%3t*G!vkX1B-qG!^{?ipDMuae2biM6lsIR`nFqW&>t_R@6;V#l{HxV9`EF zkk>VWPgYfr;H@=UwC76YY(;w-f$9?1djz>2SzwJx2`yvxVfy|n*^S3$v#S45_IkD@ zskdLslAO!zl~mP;RQ*QzK36IGuY%MO?FTjMau2gVpzo(j+CG>=>|ZJSWI+@?tW zZesSuQWL*dCLgX8?IqBz-slNI#tHjLrp=1X{+9avVtEYNBIY4w|5T8`x2)=COq*Nq zskKkp^T9mB-wh?j=j_J`(o%fOW7>R!*`E{NXQ4M@tiY#6V5YD?CP*a^04t1X^I>M+ zq~bQp`-lJldr{e|3bIkyH^?99%pCWApGSPBNvwl+*rz`;-)&>X{f|%8a{UP8o z0;83Eq#)CzobG4ZT+8fViTihr0#E!cA<{-*8(w1NkszN5*-)m<=b8Op0p=$$dsT6t z)42%WYexUTESCL)X7oofd$s^$s*;#7vNApr_ECatmeh}C+HA+{Kd&Wc#;amiqGCp% zyRbhfh*Lf8Ayu^|v;P`maWmDOe^B*$q*hR9Z;++X9OvdES;5UJd4?D31b~8<`>ne+em-a5@fl0S#7E6AAtgHXma4e6i~8`za@TQ5hp}0X7i)Id!;K^G{oq3UqGgnfisb+8}_Dtm}5=>W6uP?xILmSU9#Tv+ff z&dj}rkgr#hm}i?%#0D_?dG+t35~$CF{Yoi|!-DJ+-;YSdnlO7O(VnJ8c}<*27WRgM z+@|b})J$hll9eXFsGh89Tg7HJ%Npn;$RWKQ$+WqS*&BWK1^H9RHYw&ihS}FD`!O}j;{mp+?KvJ1jw&6&FcUM*K7T>ux!|?Z$%seWc-kaH{==%@lR=zZYRXwlR%uGSv6W@b!G}D=V znmEH1{f2+ZN)l63GSf$pv&!CA!}}j!Bl{$E?Wj!Ef8ixI`-=ASg8ZV<{DO?vRm@&n zzFiBkjYS&;1C^zvAkBsBCNc6EW;aCp1@+8dMf-P>nLh(>P~T{ zjbx^WAoqcJm<`tOwG(fxf%pcS(bRVi3Hvh9eup4!^|qsW(?VvyNt$3F+6_iaW+aZLyiKv4pMEFy~nRWyW6LRj;? z@2T!A%*^xs{yx&Fs&m(K&pq2c_g=RBE@}H0@?`?P6xVzyquQ6r`^twYqElQe$xWD* z&!C6nqc`e(UablQT54}c}RklJi+_%G9>rl2eG0eIdjmkSmfIn z`Qlqe=va}ZrA+>V=m7~Q$gn%2EM?JEg2*_2S@05*v=#I)hF1x`A`Lh%BS{gd1e<`% zBj$+Dp~soLl~l1qxp^a?%CcH%ZP81pZTIMt_;|f0APFlPRA--~&?Z zXyIjZB;gq0We4!xS|s(fm99Q0z-y$d>j->IfD43(z7P@%2ob$Q;0~EyZEDz{_k_Pld3fqcX=f3p=`#z*~iq zD@37uOG?=+3gtBfPLtNo7G3|tZ&<|~(e*FlyVXKk*kA01$0g@|VmIt1@NUWZknn{R zY0$&M7s?3SA`O}(Q{x8kG)zL78m|*LrkEcl$_wr3>*J|kR3o8PBz&V-WTrz}zCdK=E&>lpJwEB@RC)GGKffk$kbH0m;+n-t z(?k4CzsfAkm$jYS2)thUcIF*Y-yPEDYCeZj2plN}+*-lyl>#gm+@3;PtULkEm14(8 z6-83)HUdvcKTk-pssK+)u`3B|EnO)Pd5|P6?=SM;MFLk!&LKizFG*{M3W3cd@H^21 zSIYc6BK^!0;3xujOFh%XzOMd~eV#7%wVS{JQq)J1^B0+)AIr?nAh4a_^R(Fgf0wCI zC3b%c0^gIO!a^peq|PNmCY4_S=#$i&-y-_%!3St=d=6C*I8ExQ7X9W*Y57^vWNincmY-l?|Vs# zJtn*_kHD3JAyc@0u>dXM_BRsvq5zwTbQ&$d=6nt{A#k1m-w@JFk}BR5(zH;&)kRXz zXhFIij?_>g`5gL=zzk{O_0Xka7`lPap$`abA;3rr0yAZnAK`Q8&jfb*f<;-v!Iq1L zb67Z-pTJe(yg4JJd518@Y9Y;`1h$e7V+9H2(x68K3Ec=>i62ZPnJdXfoHzH&K5n zQta|MtYV%N`!<2M$`m*z{md5@a9sKsCa_rQ*)71PGFN{Q;A8@?{G5##E0nND>U=~f zVE};@_(4B~hL(%{b-&P17Xm*JtSs-#)_y3||16(FZ3%2Cbsm?Ti>25TlJf$pvt~)L zOGM~g68X7QSj`>+v!tGzUuUuV1en3+&?*8I0X`;%_}fzdcrnEPN#L#0hLAbW ziA}Vaz+Yz*WrN;ku?Yek%;(T}0$Z+RKW9j>JEd_mrP#g%eup3MSZPp+Jl`M<${{c; zIUf^BD3vP43nioyI7&X;CUjdMBXqma?HOdU{wN>z%S7rWrTi)rX(xfUnz&dn{uKg~g)|;aCxKlp^*_YtP=LT=@}av>Ur5-_JwknB3H(Sb zuMU!P#b@lZLvm^aR?5t}R`~5csiK|m+bjahH1aAPci)&i(IrJ=nsi+vv8o^MZ^m)8sXeNQ} z1!V(-Zf}$Z4HUW^L0~5Vwi0#ndwjr&RH9DaOW+IAAXPM}B~q*=n$!&hJ}Dm_6NzNE ze7s1c#st1C({6~!Pn!=775QnR#OQ)YoN$x-rOrmeO}-^?hveKLWa5_A?i4b4pTG%1 zCO?X~@~j|XtC%Z)BCw4xiArH_o5eUeChW~e;89>GfPJdL@=y5C5&K{G*=7&v(!-x* ze%&NJ%p-9B$HYf#!RpI`r>h04HwthXN$WGo`HP@prQ~cvV2OO#bOi^?FFmZ_bI3yF z)+0!P$YSZ?b<$ii4j>DIq?GJ|vK$sJLdJp!}~=>>xq;(*)Y}6jOx@HkNjBofYdJ1a6i( zXFWimi4Vm!m-rkSCP1n4aC7= z(Sgk2~z)Q5pEZON{gZhN9GAjn*gj7 z*Tf4;+e_dB$d1)S!R@qv@%fD4wv0fk#0ZZNTE9w0vWq#HN*&WEhuIe-nSMnY?Vv=0h2> zJYh0l6L^b!7%-mlYl!3=$mh_j1U@4k=ex;&5Jb0|n4MG<{J%y~&B(or$D9wBhm z6YNTE8v=h6gxtmFP;UbNDL^kASxV3&b@t_R=r#gpiCr{V2+YRN6d|w_0w+kv=ZHi| z5t6CAnmJG5yR|@y{aq+wm(+P$C}A6c6h*}~&&sr)@ByEnlWD(_K&r$*yzupAQiUaa z{Y3(u0&H}GT{$8-6ZssPM_{@D#|Xu@7T{Q+_)!E>CC14yj|mc_*in2Axe0t#Qa>%? zfB6(*>tYtWl0o2@$^7uUkY*bh+tWgtEeH%t>g7`BZvuQq>a0YG)(rX3Tn2j^=%%=) zg$#BDfkR~Sj27JXk>@dj+m8tx{615s$rMbHD%#2ve2&1$(x7r05W&BQp0JM3p;-i$ zi!HQ8#`7ux{wU))lED7b2unzF1I7@6{6d;}1im1}?vR}C32>+6ypcc~Lzbw@Eu@sg zqAE8b@F|%{CDPg%_y7SSt+mh#%Pn1DgsT!<@izV zO8v(L3Ec=hH;FC$Nw~?IQpI-RCf5=87bz-17)BGpP$OX&@dPfCIr*#PoGMlPCOLn5 z55PS9!1@;qt&-OMC>SayaJ&rgc%h+Y0-PW;^frM@1^8D1J}kf&1Q;gpw6ykqT8qIy z2n!g_=g?#VM@#dE3x>Xtgd+q)0|@*=K1`FzJ6h)IbW!KJ5csNmI4Q1)h3~TEr^GeU zmcXxN^4=^&-AWpiAw+!v39VC7>;bVCrpdHFDE7i00*l{aQ4uoWU^hv4gwLT>1g6UT zyj5^}hu|5P2?F>}0&hgcxCO*y&NlMAj?baR1pX$)_7b{1hYtu`5V{>tV7UMvk!e3s zT0TyueP04!5F6!yjLJl5&_NlM90FI%hp$EbP$!Toz7h2!mB1Vsm6Qib)T5<}OQSdi z&*0g*Zz5CAmz<9xHQb1jb0>jaBy}gzX$vG_XVGcDB5;q?xl9;imh|&a!Wds6@H#2# zSt05!Z?o9vgs1}qQYFU0qiu+xcJkbb&!Mpd-Y?|1NR*{<0$eQ0l1AXOVkn&uB)lx$ zIw?rVBCuFKwCu-zzAh9$na?4GKyy6%dA(3VskHnCp@frYoHbQQ<4zfD8$(@Xu(uMJ zBh4=mEz>34>TlbB1lky?5sJTAfYZbldx5~Vs2Co5oL`2sNCZR6s;Rvd5qL&Yj}jBF zjqs#GG4UQIaFC>)F2!o{JVPdui@*&sSN<(S_SR$U)<-gAHxp>chk>HrE0S}NsQ1kY zTqZf)f`kFzv2i^G2}j=o@Or^ex%Bgx@P~EM&rJlj7l+M739j2G=({ArbsrJ} zb7M5c!ziP?aUY}r5SIXS{}ND7?s+J$tS#I<5v7{!ASSoi`&jn%{!G`HObuETIn1qnph}tOYl|sYYr#>A=CC6yB4T zW_DjzSre$9uh)YlLRy)G{uZ*KnJgsSeJe7W4?Ssr>yK|n>uF&O&}M}C z+POM1#TC&qyD^v1vMH;}{T8wYY04YtAqW36I^TsSqkC8UHapXzdj|dj!6z`{diR^< zrF%MyTZ$RP8S*9iiAIo?&0V_v?L~aU6(iy9cQNHN%k8f(;cI#0tLi#4g3vb78Gn1E zPUib_QieatX#B6I`o~2+v*rF*<8FJ=zNPJNNMy8L;Q@*_ z&%6@TBCX+h-?&kS!=GeMy~F{K$9xLD)Q#^~V6lN6PgPc3p1X6fbC7c&O4U!P#Yadg^>|V+ zy&C8STjH(8X7RYBIJxo_7e}djV!B-gE_Z=_0*0g-v(c_akeM_ydGYftus!&Q8?bT1 zCWq+#`MCBZ_YAy0csENN3BtfWk=z48ySS%O(|_bGJ4tHsxmUKMA0enI$og^m5tM|h zfy@m%o8tPVr{o=c(T#Z-ngaXGYqU$3>uxk$GKwowym~t{@gN{MRi5y>cKT42Z;%Dq%y1ykar%vNtrB2*pWA=Ja z@+qNDSS;@PscO?S&f0`#s>Wd4bpz}Z9s4<~|H9P3jc~5RP2wUcW0!exxpa`~r$--+ zRBXlBzOh#L9`N8MI~1@M?8%%mBnh{{UCn#=z*}&Y-C?w6vsb^`kBiB`!f+oA{`JWA zY{HvA~aI@;Y-bQgCS*A}0O zQJ}+1h?#dNlcpdZQbq9L1bJjti&vBMViKYZGv?IQa#xs41|`@WiO_Is-$l-feB7Uc z7VW7iz?DD;JbIONBWDW`_m!OsNwK32N*rJu&1r*^;^Y!+jEm33f%9E~OR{lHEYfKD zk;rGNF%@{)Q!_X_a?q2rcgDXZ(Q*`TT`x0Hu5TNXgbS3cKZ1c;+mX|11by7P1W9R) z;_GX8z3e`z=%qLirMH+>7hSo!q89*(q$xmU)1b zp*Y1>CT~DDA2Kl9?Uj)lk^)twP8vM%q$qn)< zzUWx|8pf{-2RpE3;qE)1zyEU8b%hnq=yXb+%)r= zLVHdH^QC|1K_VC_Wyu!c0yh>q%(J7S39hjdBrt))_b`AN=Fc%;a~s%*zzonlZhSVs zi2>)b*1-8h0<(QLJHIBPdmD33rmE#@0o^w4qq>PK-E1naI2Nn(=&S|>+s!b-%u1djs@C^Sb)74>->$@r0pKdBRY~R&sJuKH%Om2xa_@ zGdJzE$MqD-<3+UKp16M8e5;yNgh^A6$^FD6fz=shxIe9X#bn&81bM4(L+vT`#1*!iT+#fV#pT{qH+!bY; zg%8v*t#3pf#3j2BM1BoFvk*)-pJp=WAw54Nq_JoGxDi57dfdvov~)z-ndqOsAtdV z7l8)Qz=L2^`C#|2?3M1cUb(kPoR<5e56V5*(~lrvNFhW5qCBvqUy!JtJ_apHE(kmT zewO0t)+g*q^ccEQ2OQY}C`7|Nk7iu$3D3fFjaR?NH%A24 zXv#bKu%0~iZKv1IL)ja8D)i=sYHMjj67bYduA4|(tUm} zagw_QK`VGrI?Ts!T+aH~U5hR9F2yJp1iSct{Pp9G zLJ=lZ^ueZHokzYG7avjUkDr|+8A;5^uSx5Cup4emt>{JW9cNzqMv_=p4yL$=DZ-7X zM@s^x(ri{%24$vZi;&7{-#cvH)Kwg_m7Zt5eSut(ca(m>yqJ#;HQYWJrX{dL36lOX zdvVzeAHYR%?ei}IlmY{vmXl4%0WNz9H zfHUYs2~m2nG}P7oz4neca{x|D#z=-%vS3jun2bnMag#Mv4z`SL3!8r`q2~m&Io-?=TTP7&K_>XwP+d#aFX9`gITR7+$S5lt(rIgV4g>Ded|;{ z%^hxSYYyYU7#uBo2GS`jiX6kOulXIRl@;A0JM2RKD1|_&tSbapKz5CM4nfo52@)a9 z(GEyt=3Gg0)Ss>z1HeRD-hZ$ksJnAu3WcL;+y{!!HRpbK5lnk{nROHnMDio>qOYkM zSidev0*{H~e8V@)HzpqGrl4)zdpC>@2?)E76eHgx_QSu#K$Er@>tP zeMD4+UE{k8Ba-@v%>!dY)N=J~jG2BAql6)P?hJ>>k0BZi#NZCwL2*8uHRA6qXg95k zn3UiW$r?BUxD13JFYQgn?dZPUYT#&mQF3eyZ$@M7G5i%Kt}QPRF@gM%kEj8t`Y&eg zuqb3LYy=ELXdS?yGxo3z9?k6&;jYA8z%WgBDWQKn%30UB(XS-`)^X@IdasSOZ#urm zoc$i!9>5Y1ZnQy4&6pqq$D4|sWINZRMVHARdp@Z8*8hk3u>3lEKF~;7@-${xY(5yn zV~9ow3BFU()MEL8SENJ>sb6jmE|F`Dw7o-Fw z)CJfR?+uoNZ07{_)8m`aZ76^uJzzxePc_5wWM24XypR^5pFw{fV`{Z(^f5g~;c;i+ zV7wOi{(?uJTCM5OUW@^zM;`?>6nbQNzKP@@3rt$EozR2vU7LXrF~fW^!#YL1Fjq(y z>dmm2zO-2+-5K+vefH$qFbzxCgN z7)x&F=-`U0XOD}Hya^4oD8y{(Ml~RU0w72y?iH#$x3V3n@}okVH{WX>cpLsz`r|^M zGa-Ee;oCMfO#rU)vNbrg-he(|?JC8YZAMm$QbCH`lU;9YbRjOV-fx^XWpPCr35l5On*J zTIZaKaqs@Mtf2*1Lk>&@6?Og(wy;kN9I3|^9(yFl7QVZ$mXt%C;XI3cYO{q(^9Gy9 z=@Gl0bQo&IA=FoMU|J!iS^B7~VptV;v8IiU$~*Y8F`vy&H#M`BnerLUsJ2=k#XEj;4SQAqgDad6;Z4k&xf_BOKF#>Kb1%SRyS1>j@N)Q*ytgs=E&q z=`)ZXgFXDMcK?s|c{W`CQ*b_uq&{WR#glRtT8~Ut%6= zNH%vJbe$3x*=W8$uCfLslg5yvZMnFXWi=3}8{pgu9@5mKQ`UfZnBdop~^8t5NBuTXFeK(Fh<89 zC86p>7ws@C^N|_3XQ$C{t~56jhs-3_tU~@_%mu${sU>sT^#Z?I2h)q?>Bl_Am=rUm z!zIj_)@T1-0Dg9h+xXinD9{-=pQ9}O2t3dU7bei)*5$jhq$j?4^k3C*J{nhzg;B0O zVmNlg4S=^90Nei0YJLw7xCBkJ#y5#6k|agn+7wliq7Mx8vo$^sQfw4WCWt_WXc?=S zA`nT0x2nc>3(F8Qe1TnqnBZ7eAQT?!(VPoGB*Ic|rI}S|U`%(dVT@v5VNZsc|@mk<3E}x*+gVK8HiEs4L zv-U;N;cLcaz9laR^td%9#$TbDiCeTF+uDL}@K1ajsjN?*`j*HqY*TFfFs@J2vFS8E zc?E?9Dr;+X>hi^x7^*7j0=wPfQP<2G*?>|lAK&yX)&%)mW{sA=$IP8muRw#3TVQxK z=EUgB8uET5{3`DU{?`1LUXqX?YL>Vw?xFJYN)UQE0oYe z14Y&X56|B`5x5gTO38b?ex#6J%dt)ra2 zQuQ5h3qQbwpd5{qb_x^H$f zq$nnRcyc!(22XN4P_2cFOts=X$p4aUdLuHRXh%Or1{Ae$f`(jr=Sg^vaSQA89nHW3 zA=y3px3Og|p&XCCs{ws_NT2L;9ep}$#PjYn!t5wk&0^ESsmm9Cw`eDP&Fv9bh-6-4 zEIM#o81-sKFx~Ef3GqXn^r44|_W4MLRs4CSX8GhR;v%2h?L*a(C!x8Rn$h>Ts<+aN zX{M_8P14GHit>b>F5fOaRhC}K!qV`AUdSz1Xub6;NFBYjmf)|fd_WVPMBN4Mfv-`K z)t9+;KNOXpxN}o~4Q8UIU*bvvJu?IRZ7}#Bya$~|-)7#m!IoN;$UzswlUHF%h-Fx& zEP?Wip`TG>1`9-ZP(2Q=MoNt<1ABT4&xhLzUocp*GLQx@hYaIFQ31oPAB75|a&-S8 z`6gv(jV3wNz?!CN;6SyrY9X!oJhWa3(u-j}xd1bdZVRj)^*|1;yd8!JGxy=NJMm7 zf9e+(I3SLgz{Yc`j)cZNsy-VETNAIL!Vc^5xPWVn58y+|*3;u#uW*Bf6?$U*dE zs;TMKT1B-Ms76m7Lh<10Z*4Bddh*q+uFoR%Vf?}QfydA!fPnwNi ztr>~wOc7eccf&Sg!Y%*Vi8KuTB9}ceCOWi66Eo^)I3zTT;BPmr5 zlZ?yF_79VWpAi~f3mR6Dp+Wz(z+4jaGx%P$wvM33gP`}aaAN?-U_8j6LaR6nVFNPw zD=Gjl{ris~gZ&_b4IqO7AcJc>`fzZWyHq&HRZz34XUdwmX8h3u^B!UmlWY=JOY$9{ z0L=Y-xB(e-pu)+_T3-rQN0(vKc7fh_j3u1UAhb111ihxIG9E|yRVMHw+_n2EBY=Fn$8d4_b zru7A$>a{0lml~Ln28_-?7s2&@ZbKK`3jR7UP8F*SK=g5sj^&%CUR{Ou4;ohC;{Y|=!y=mh(J}Cg;){99 zuWSS&Wj!dMz+BEzW;EMElyS z3*gZ1pX9&YYdo9{)yD7h>fc4WYx>BH$ck9eV2Rn9J}g5NHS@|5m8iIXl2&{!F8o@Y zuO%K{Swf}r`r)*=zvDtWoNI*{;7ZwCtcM4Ay$>ty!!k6u8na0~4*;dsf&1a}y@($T zMpIgxuQBT`^>TV@#phY3?;||07O&#o7kRzj_`+7Rs+%>fwSVaTjM{IfQX1NC4w!{8 zJ|PTtCC!u1L5N&VpkGIp4;|(>TyM!01m8r}=mZbP;H0VrQ7`!{v=S;8{G=Vfg#iW! z*>#uMby$CfU02IbZ9C9+BMkB4P4Fear>lp#BI8RjKh(iRWxzpiFqBIoADLg?Ux`t! z)7R?k(SZa0|JRGz7xS%EHusARV_Rb;C26hJ*-u--oU+000qhf~!eaho$<=?GYD@-I zmLoI;OGTbBm@ni97{9u8O}|rmNq=Uzab`40WS6{m|H}{T=e_2uPuVL^g=mMl8aHSo z?e5Wbagh(q&BG88*cY(KYxVle^-YXlZ5T_MIjcuh)=Vdb=&QNr27lqy!xzBY-`tCy zM7q?&7knn4y@Ay}qeXPt%A;SU1Rq6SaP`H#@E5v`5~R!9n|m7PtD*pL1aFm@R_6aI z>Oy)6Da`h4HU_J`Cwx=sC%wS35b(6luse2;9g8fIjwMDr2E5ej1_(S|Mt^0BtJ~Z( zc>Q34Fi?3 zCv)*vdh#_o;4Q?&abiba(NYc51{V2vhsT&r%g3Jw7W8^XpE&bhp{P)TXaA4LU7jZ_ zL@m#Apa^g{toAmARxl&Q>;jK2R3e9682PHElP58d$#2X}bH)}FLN)U`NuPeti1kSc zk_EF%ZcG$t814*bpd50kQM?CQa7>Ad{En_!0+v<-TpubxG2V!?r<4s%OA61sDK!?@%iwJ*$ z4h$m`qYB@15&K>@ zJeu*{;BGL+AVe3=EzYnQ-^5=LnOyYKN7foGQUBCzN~hyvcIMpqCcpNKrLTYm*QC~Mh`@nEe$s;EDdEL90P&>3$o@P$oeNWhRN zuwytnTSoJRB12gtT$;fOJViCcUn9@e;-^1SN|s%AWB-(b#sWXX0(JQDAkF{6&%WGR z{P-XKPuz@*vobKKEU{^AiN1+cS&=x3?LD;$xcTRL#dW&8xX1@^pxfd^2_~Z0SOOFW z88#w4BNC2*4}fy4l|#UYc3MxN>y{5cF@2cwWu2qWzXpDsNBN>}Yp}=$&lP1$a_s^e zAEMJM8jOMu$v|9e={k)|*NeSaIDp{E=nwg@?_qnHExL}qA1X4qi35{8I1DY~l1w7m zFz6cLlp@zDiX7%p-00PC1cx-H(^)GN5|!Z1BsqPntaGA= zTt;1@CxR}GX;}1YnE+R~mfIHu^f*4M#sdyJh7s(hYGG77762m4ljiC{VlRpn*O}?L z5cDp!?!b%`%#5h2t^^~(6~}{5z$_n=6s5aE=4>+MiPSwOh+^oJM> zRBrA;T#2MXtjTLY5pj}&kl;lrHza8XbaA+$s@?)8L+0E!rhHnuwKMJz2!VmPh1mwccf`etFyBaX5t z#aS~g`!Ou!tbZ(ye@Y%hBnYek^T-IQm#dLUqH=;HxY}l0Y&n$@(|>=Rx!s6GbG=d; zf6TN#f?EsBnwCmf#gtsng%~AtaIihEg=Y?i76(UEIlh6;4%Tq&2E&LrLp}ft7a1iu z_zLV2LK8e#9fZ>bg#kHOzztnMr5@Wa%QaG{>flc!kq5CmBja#Dy!4koZY4x#s?9kX zu_(P79YnxW-R_IP>=Y!s8uM%!a`$4#Jj)Ds4nM$U z%tPjBM5Dw;dL{dG*+{#GMezmMwv$9I=-Sl}5?0ZXDmMU5kMSl110H>yUYUtX&vPe+#d@_R7d38M*5@ z0O6Kdm->Nk_f7J-WZf$`ft{xpoDpLqK@x~l9Dv|wE|3Oq6(9%2e}g?BPv8p%#Ci<4 z_v%MH`X%z$JO6#YCh`H92Y3mL5%LuHy+BE-uJ|z-rYA8l`AZr@iE`c-0SDYE~+>*qUq{U7UZCiUZNKlGtq8?JPU zR=KzxKcgN0Zu7s|@qAx$^&o`_=3UI*Io9s7`o-R9Y>b0Sg;1#^v36t_@5?C>tA{2} z8eJz2)4#$td6eKIFy3TmP#t!<{(&v2um3BdUQ9+y=Q96S-FS5RzvAQUCo&$nb-2jc zYtYCw2{&H=DI;(3RGhjF_QtaGAd}gD#28y z{O*>G2^kw*N zQ!TV95G;SvqEwqfs?9d9{CA9Mlh_5iWl6fATF|eS`!h~R;aKDzP(r_>G&6zi*VmYD zqltnXjO80>qabJ_AF#h`klpjE|6%uBWIsIAaO>7QRP-A3lz~iWEaI4yC#I7=qOpVb z;!y=PWnj&NkY=dzgBwK?5v3KU?_ffdn=Q0T#7(-=GY}JkLR`v`x&yH=#&d}}ID#jA<9n5u-8)j?5L6G}}& z%Ms9nUalKx_cHsnXfKJM2E8m~3;wg0zLA&raN`ZJ9{RdqyaMZi;yowd*Yx$;nF{V0 z^K^qXf-AE?8yM$FU%{0V?)*k?Of;jL`NO;<=(5-xaooBE35ZFkl>bIgwD3p=)<{x3 za1$`#u&&_mwKLl^tk`+F0oVR_tkKkKz!Vy_viZ-g93ZkP9i^EqXUU+;7+Vm8w55Z4 z@nHQ9LN%`-820%9B1CA~Q)Kg_Fw>Yw!@wyl>|>m+b%EU zi3};APRcxi3H{&ojyHSOllMk1tfwOPyTBWQW2dKZXGOQkDRbS*iWv^4e%4uHB_QCa zXAl6Lypf!Z_xr++r4bd zHMY+o$=4C0?Prnn9-}~IasE4;%8I-HXeP&s>JTd`@)4?1BRdfZ1@*Mt-XIlu37Hc7 zO%YCe_Y;xzPUG%>N6I2P{Ofjn4+eF~y_ew+dsC>mB%10`8)39Lz@ih)=YC;B!E9?o zHbq5CD>LW1iK_bXUA6H%oh~mQ<3rmUzE7IdF^kmv>tVaL5e2v>Uc$%TkT7Pdn z|0Vi#=&v2(1`TMifHkxp--L{?9nZD~QtLA?558-+p?yrgONflIU@u3gxcY9Y*nIG67dq4 zJp;z#D<~aKs9_JluM_SCt0-UP@}x(<6Si;~SAv2kQM49_k0%r816IFhE&P1u&5&Ps zV42vCRW8NGp;(X627VVIrs&2GkKO_2^)OnD4ev*`6_~A}Gt1dCOa`@fsX__OXFmd~ zhsO9L{iz;fELsAlfPG=M70IS>A=7Tki;xzVH^t9#qV2F(@FiZ2E!fCvr3IlP%yRU8 z_{f6#>seleYs*etcu`AU?u9nqYbMR+?oP&Y+$V8wvxmah`VgY}#-Wy>D3P^26#Y9+ z{xTx68tA8K7uqTh@V#Bc1GKXgtvqkCot(#6u|>DSGOcrYauI<}yuE;#Pfh_Lvh5$^ z4N-dByHd~p9d6xLnt7LbyX5qy;51Y??d$RP;*Ul5} z-WTcMd@%?6Y+=z7WtcOW0O_%-56g5|>cz0#l#Z147Nkq!qyIQdN`d>x*M=Y9J2A6S zN;K&D9)yY6L%0-A)^6YsGv-08q^r4zT?*dDuke@Gn72A1|D(hsn}CJlJHK@~nfb1a zrLsw^DM}DSo~E~u80>J&L1}L1)Atv|S+CH<-H*|+67U2T;(|tj^^e-ckFE`P1?4Jz zI-P~+=-ytoiNwM^bJz15_vDA#@F|?tMrFJ=wy)hzRApdRC5kPpgl^^Jhj+04tg1&p zfg;Rf{ge{i%vod1hFb(AJDW2Ve9}RM0^UHbfK^OP!VE8ja(vq#&>fH~BY^GMo_j2jM{d8lOV?2tCcd7<8v$@B3U<&Rxn47oC;h z4yFop!{Gy5_kah9MoIZCGT2J+ej#Sm^&GG@uQ?Z~p8L6X9+fP(n)-E*F*MrR}x-}XF&t_%EnpFl`z#^L` z>_oFlJUaND>}wJ~4(2&R(Io2r@)mtC0WHE(444GM8;PW&=)zaP&3_Dr3rR67x5b$| zv+7)jClER436D#I(&p8VMO+XE=p0atU<6D!Wl0yd4AE?=-ci##*!+7QLjr6K03qc7 zn$xk#OQI#TKzWLmTRG=btlvbsdkudQ(Co|N-U55_oiV%Fi(5*thIJb$wTvIZq@SbV zC;}_tYf#LwIbYk3pAa4NTxx>IIRtN(=z39o1fe+D5=JWGrwI~z4Go)X)*t|Hz5mqZ zG}(PT(16|KFw;1>4g+_W>1(hA-yFj3V8;q2+U^USo>&M+%pn?$5J0O5vZ{KI468M= zo40hwI^|FNeiwRV$ETcTe9Bfh#V7WGCK_)2?w#BKPzhxQ3*N^X%-X2eK~@HYxi@q= zTtMWay<062rQ3wq)ef5xhgv0L62qOh_NK;LZXSJ4{Gei?d8;VqVJTb1u)2uWc*EoEj!y(;C?>6D zY&+|GC$?ub@+uppHf+L&=5^Ue?a`t#Q|L4Ecacb8q@Igp17hEPwrY@3k(yM&8;gy-fo0@ z=SG~$@>PLzjSv%virf?llew8V-1r4o)Eg){aG*}-X7E9&`VUwzPd0bM`5!6)V^5Cm zKDK=UY?iMb((ZOSdQao zyTv2kO{`~aV7xrxeo#z~I2tekni_?@QoZ5CVy7|Vf;U`n;Y>LWd#IsG@F?bB>E4vj z$#Q8@L)l_g)|ix*MOfsRNXINU-D=T*Bw95_q|ADmw>hhE{*w>UGmY&n!u z<F2``32lP3q)9zQ0%e{7wg16%_RDuq~EBd{7mgZz`37l)LU#BePF<4); zVAa)`TTm+xV?BPaTDsSP9%*{n)RAr@uR7ejwNpRm)pt0z?B|c^ZnnwWtkmML)!Ju7 zdt8nGrq7e`*Lwax+xR*%`0+L` z5cqvrzVCv&eCw!WeVcC=JrGIAGo<9;W+`}#6r71N1JxM4FovAnN=8ke;UmNooL#j( z1bZd|C3V|A&2aXAt6d5923Z7QN%z2Cw!&?{ZORwhnTif0FsNNC!P7`Y3`B4qhG0OpoYtq8AUN$0NM${QR+vlfVE65k z{3}@egjjPbP+%1BH>(}mX4^03aLIy(HW+6mn1(`$h<~AKs|8-nijM5rq*$w*pL0lX zf-e)$+b32=PSqDY&rZX!HaVT`Q||tvo;j~J!U7#nw8PB7PPR=dKYAWrC5PL^L*gak zR46bXIgja>ITl%EOV2@(CYQA>REDqCbZC9%-)^t#uo85$DPN)~b@U&q%2S?Mo3lAj zSy82)`NcW{^|3zwIE$~rb%jK;G@_KzC?&;2dmIM83S z1-`=m!Cd!Ul~W}+prZF%9&`KeLd?+cGD%t9_-^DRj?AAf)#lk#FVBaP2cgU8PGqh1 zHU2E4Y&IG^-WVy8~@ zWjQ5;+$oA}U&FHnK^4)8I)cue)cp&$YPqZCU?rA|;0Q|a-wLG=3LBV-2X1I6oc=*# zNUlR=_FNZvZO6Ux>@8NAfa0S0d^jR4`t>agSga73rkD_cSRs*>@Gci_)Vg`&=EAMu z+X(Y8+Sz>MLdzn1Bj3S_v5!IcX2%7RK=2xpfYFHN9q?V3m zxL(=>W$8B{Kr0n#!Q7GDd^DP}3Ms8I^~>lNg}mLcj6`KA+!Z*Xfs+c_Pm=kEXu{%# z3FDQeh+(U--r&!-_`!M*51zU>z-R)WK%hFoHxJGCU&~&b`?lM?JB307#niLQuro+r z{LlylH5?ic1zZuJjHwV+RsIY~5&3}(<%MV|)bk?0m`_DtpW!P^mt*FvhF^>aa2VTf z2&M_`(h7g{0jVvpd8-Ib@@=6RZIU$;>Ag{cGq5^7vL&+2qW&$CchCU)*qlI3Q)TIM zNCN9^u@~ox6rNFy#FM1&;P?D&WR&NnV%+0m3bmeflHyWMHLT+Yoa&fk=vsG;#ZVAe zGFLBA!^?Z6(ppCwji!3PG?$T&_~*tQkkYM}I*a#0MVRL-HB+6%`_RBRXR+B4!BQ^0 zUpwsQ+jzbP2b?DO+86h0hch~Gyr{pO%jngP`|^ua3A4coN#zOOBOT1}-_*c7L{IN_ z8CNA$%2Ym6c7T$$SfmpT+({q_6!st>{DN_;8rg$i(5Rt63e z(og7{wnSDs@Sb^M%U=CNv+Y|B>%G$SA?+f?F8xYtCUA*}zTt7evJ`Z}$&x{($rX^ahJPyE3fzI&k;)_0&SdWOgvxEnL~sDWc`)zV`LYB*KcBA2p%f|RmX zjsk1b`i2uVYQ zNZQF0?)1#h9K^5}p@*Jlu+a%Tg5AV&o-aL*vLf3}@5b6hmofN)C;a#YT4X_PqH!4` z(~Kb(KnPytgPmIZ7LUHur9XHH>Jn^z*4<^Rar6~(}Z~)S!BVE$v>5^jU9LhqTn2B^5NSAzhy5v~83}xXz>~vX3 zmvVW!lvuiKW#Qv?I-HF0c!+9D=%%71r}6j&cr0&p z>Elxwl-zKQr9pnTZaTrzv85FUn>dZ>)nGI&-1?dbw>Y?<>*`0Gfg=exB2VD`e#aIM zzz;-Tv*FIb(MG=KwD7#+ZUg_|QF#)d;CUL1^ww;WU7!R8b9theT6js77n*!{f#nT| z96=N)!6_to;mR{05Ttl%FLXN(Otso-6@9jn@DP}nibhji5~&-Qg`F;ntQiJo5^|7e z=i;j|GL>_l)b7gt6;b+7=qv|*oVMCvwD122Ia}vZ_wc~TAE z9l99>ann!f`9_$gjr4OMZfsVu`Q4iUVtQdxbZ&uCIP>96(F!-Z^!(%~1Hi0bQf@N= zO#Z13uYQ(GT4%J(9axZWtCd;_y~C+tu!K1Cms|eJ#9z>qO_mc$ffBNU1^w{_qitP* zQP1I$xS4nsScBYX1*rz4K&pv{7waRS8tWXLrNuZX!;b$btfJU2+&qAb&H8zl@kpww ze6UuH2Tg7TQ&vllI-EEnKv_cSHTty!^m{cP0W}*TxuQ_e#2!NDIRL$+#vg+op~Ivi*7{^b;f=BBRNw=$0NWF14wS&{xi%3!*rvwAnYz`f55@#U_j6bK_h6>L>xXk~{K>G$X^!)}@iJGp z!sNNFy@fwg{Q$IwKH=#!mtL3}*#R9hToi9kJ0qjPn1kShToNnnld6ViU<(8^B@8xe zHy^$YgIzc~398DxHt?P8bK&@JBN@l8w5#^$Ej;?E$P3mWk?6|Zs4Tq}X;76@ufjG?W$8{?j_Q6BDpU(ARHNNb zA_~_c6|`JWxDcYZrlBZ=@%EEP->)ojK)yJ`)2SnS!gqhd8Niuw&iv_S?EWj93xAp$ zc&!Q??9eBidbc;6{2BJ|p=39_wVpB~CrTX*6Z36UsuK!Q?i2B}%d+Z+KJ^*g!N{k3=UR(S)x^ zalMixVKT}~u9px@w^vd$;SjsTWJ!n>l2Ix35+);IvLu{#AF55!PoSjKSORaj7x3RB z1&LCaXq^%`E7dym6F5W>LZl?x(`I{}danyk2opQq0)tnuJczwRX-f>ONze-YNp}AOm(cf{ zxeONWKF^818;NH;de#|DcM}g*4Ol3V>NX}{P~n0F%3b;s7oLbjz5r{C{OsgH3v#u; zMYeCW?$(uJ;x{K^-XJG-sn2^ew|K(IA}2gpt}MOO2rRvkTVLmiUyHppwxF1gGQj1r zM$vjdHaCD-BuD24$7l1#)nETeL0njP(hCW6 z1P1R1+EnAVtGa-;xTKYp4hs?A-1@K1sxqh|pMuSyYBEA>*pSqT=|({sRqP^p%}PhB zp{C4Db?07G!gO-EbO^O7w|>!6c%DYc=_t!R=4nOP^_-6V zS%6?=XT!8fYIt@=d44+I)!cK_9`J_d~hzgePLH$M5ij z-RZD@Y&!^niCBQ2h_!r15JR;_6oVf+fGdoLMy?dvAP&7Qf!3uXpLNTI^J?f_B@f94@0E@v>wptROobte}6|>0kvFBwe1awmeut z8|`$kf(nu^PX{Z=E)Q1FGj=*yK?RpLPlXj^r-KzV(oP2}s37(7@?Zto>AETlZ<2I_ zU!1>+~aa z^n)o{)XZhff<=q-cBrIz3;QM^SP@cT9Zm|t!3vLd>mS$0NZim*@3cYFo5(DB2S;z< zEJ|m^c_p|KqzT0)9TBqP{?X8PRlhskYA;&&0kL<2nJCO<^r)uura7#p$kW2VortHo z1R7eh6ma9Q-(i-u1Jkv*Ou&_C386o2wT3am97i7P#l*hEVLFD#WdcnV58Yz#)b7*?08qQ0Md>VZRLBQZcp4V-A z5$~}1@cwM=JIp@3FRXos<%hwYDhOixC6L{TV`9Ve;>~tPqM9`}f*r=e7+T@9sAiq| z3AJi1JT1j+dIOFwDC~)0uEsE*1(`tcS&-X54hLhEVwg*DNrhLhv{r&<0yAJPhGrmc zAP4=0>&ILfkt*P^cQIx~3E}`9Y^JVnR$18M1LtEAv)+!Zkutg5$1I9vckdDEJdi#dos&mW{6Irme#;1BtS9s!oK-|2okXR_V zcR2A|G^sy#e?VM_<@z0LteEABA{Iw2SCJT#(Nl2qn8W}#R~C+tZ++?{2Be6JZ;%o( zsR1dWEbJud@?(+%l0sSNkaT@w(nF;LN|tm3ViH8^s78+=HR_}Y()~u&ai*9~K1yYmU|}D9gCkqqqMFpS=1Zm%bMs z7Y*yrPQ4P&WN))G&f){$A6WBgDC0e7uIg**EZ#_eGFYAqHd<&M?X0RbO9lCDK5ff5Ho zVNfYM?EH$qG#nS+Mkfh0&vRdQ#wRGij-KHc9xi;$jzO9Ce5Uw7mTRHbOgQ$Qr z5(vRe18UZvR7SK{FSL(4sob*eq%y4i@<0bX4~_mE)-w9Oss27IhrIkpS9zGV-7 zhHb~s(Dtn!MF74>DcUjCs}v!0#BzYjiosCwz-ab?{x{+nH`00m^xGTk5<9u*Q@|Kd z2@ZV*>58inaHMK@K8H62Y1QX3{52Tz32X2rs{{m44Pq$gEK#0xwYe(!Ne2h@pL>vN%1=v_L7bAaM<1@|4BT+YRd+&qSAJa zu5^%U^<%Eg(k}ojx_q-FCA({8$2=%+?tw9b=VkBhnel-suV` z4rhLHDle6m9_!!?o>fBkqFf*{i8jyvtEB-LNi@~@Sr^pe%sh@e1fe{t7Fi+q*4wJy=i&TsZez>3cB~1n2^3GP?POQp^HJVbN|zN%lw=2QU#+3`hJgIbfg1Xa=+)2LQo(mu!V;y)$M6B?MV zD#1HC5XsxYCBTfpO|fi!7V{gQ5Ht1-S(9^RET#%${w`p#$T5Etm?@=u?Wi%nB$Vz& z#Mq1!gfD*XK+d=DFHdou3mi)X^C@uZ)$Yu_z>-txR~FmrNZ`v=3;n6NQ&W`?kJa#mhr>f~Fu@ZZ z*f~uLCwFv0uQ!~qq_hh#I)l0BEkysKix^dKiFqk#S9YMXQQ+W3h?*PGZ>n5!1K~RK zlyYiG2Mm;pJ56!FMXVJxxq{PxG33u6&bFdp*|_cj-n+WP)1W_rC92^;F#qO8&Bcl7 zeZroc#$pGOW5W48Cw&~PzsWdeo9j7Pxtx$bL)HNigA6#iSpEG*@OY#eeNqu6xD;`k zkQ$Rv5jZBjIXRoP!lP>Gfdp^3U8X1gfYX4pD=*$~$2rd&hhq-WEI2#|q@}O&LZl<2 zx(4S1mck6u;K#!zfAKnO@W6D`H|Xot%CV4PfV<{}<&G+N-wEmszh%IV>8 z83WSb2xt2|`Zg_dgIBL$-IfEh99zw>w{JxHIAy^%ASYvdJE-FA)Xa;X%#E6Ef)!{` zh!{W2RFjnje_^V82MR{h*LgB=4#q0n7|5>hlr*NA@x*kO(Fabd!RcBU=S5~#crzP0ofEGA%xX3BxT=@(@-MVb)xSqdZ*JKW8MX(n zxzi}PK#LM3YMCccqFe6`v`L9bH+8$WaCg6O;)_lrgBs8uz@rf-dBLSyJbq-sSFJEM zHZEoL*LwLnh;vwJb@SK8@mJgo_djq<)P`P!W#J9?xZp*x0Y)Jjv#OoBvw;0Q%~524 zTTgKF3gt(Vr%+9GWv&PHrTA|}JYhn=aJyt$xdl!mAA~XU0!Qs`&YWuSTxVbdI53uh zokl;>VQ5EFl0IlqErctXt2YNR^65Eh{5GQ}^3O@XfF=b$f!xf+oernH`UR)*=Tc3{ zKju~P4`N?og_F!mY~q>saT2#5ltr&nX&>Wm9L@(Rv>UXJqa^z1$z|ZU7-7uFAy~@r zgBmc8T=2Pj3J0aSQ4UziCQs(7-dt(sQl=}j1jCL11C`EpoTnORxZAmr3toG-L(5#H zW#UYDM#iDYcFaL4K``pVAkwl!d*dT=>yk z>F^1S1WlD_nVUTNDwkg3(tCldqG@+13!5XYlZ*pC9XOBNS)R;oD*o3`>c{ozAg#J4 zd=J&laA&a<&?f!aT4q`OCcy0|X{Bp_LR$6<&J#Ce`N&S*hJAx0vaSs-Bu1aQvgA(2 z#7BNZGbyxSH6*WO}>$pre>~DGq?88v#!$uWl;YP>t>&D z)-|>5v8Hd;&TIxN!9+o9L9(nbYVqsT`0pF=GjCx9c;fOjB79K|{F+qf`!weGuG4#^ zVjU<&l)=%!nae0lrG6Z`RbW?G!=VC; zL_}QO8mJu3z;~EBy^_Q&aU@9TeLFMI#)EZT5t-R(NBJfS}3P z;wDd!H3onTQ~%sI>>3njuTX*nB>}XdV>T-T`sO2W!ixkO!J_IdaemKV zttiwWa>QFr~M{TWI?J3?72oMnEDxe^DfxU?V1cY$S_j}i# zNhY-a|M|X;=OMHAT5GTCyWabHm#=j9%-smbw*E(0qv&r1qcD~Dc7KmswhxyYA4VbR zL{K#DXxVUou={`|z@{T}AhN}u1>z4?(TN71@o36Ko@9)^*yudWc+a7dRa5OV2Bys9 zSCqi!gFfnDO35Ls$(2e*)rE2wOx}l`K&7OXpf;X*@I-Vl|grO%Uu2vgIi(h zM0<>(Et5H%fnp$-R+2i~9)k#Y_E0lIMW3;4S@E7K;N41BaPsC3Nz=4#H^!-G=B|`@ zhiX1+6ozI#txquwdk9PH`5=#q2xkvFd2$(`b`|ry;gIKpYe=?!N2+JBu!%*hMSKKK z*^h{eyvTRl<@$rrk7b^M6-ma?b84G)FR4gT-yQR4Hy%K6`c~8n2dFHJ0O+*772XvD zRU+b(v7x3v(dn0_hnqO-@+B9+9&1AU%IY|84E&B%qTRJLA&Bip5L+&SnABHIIpMUV zmH@}mYX%aGY-wAOcOxr64Dub{pGF;GKoG=5tB6Q4HPG|=<6iJhMeI2f(Y3!^2#%A z_J`4f9(HkLhC5=qvc$8=nfR<$^D0sv%#=-@w*-Yer!R6R^aN$=6?vXQ8RE?*NOLg$ zKyE@#3RaGTC=bc@8^!Bkx7fx5bHMk1g0mGO4Q&>R0dZC|7YC^|gEH@x4#9v2baRs>q2<$Gd}K%pP#5sZ&63>55#E-HFxJenlWtc>>5Zr}ngxzHCI zhiE;pI8d;&h3L1?W=NKBu;8L%>V+Ry=1*&W z5&L|Gf9dzk&oK1*-(g*SBr{O3TX^CDWY|2h+)gn67XhS6yuZ*(Pgm7c(+#w0CxkTs zw@%BohLTP~sy~QiLII`~TQ}R8N=x6uuS!0;l4*t3rFOm~z{*VPVL4k8@=3_Ij)I&L z?SY4DZh?DN@Z0bx9jKMdjta&HH3mz+(87N@4y-?T z!c+R-33P;vMhibflH3iIA@>gA6_a3mwMg2J%wGY2Ku{T+uMx3(v+x;+eFJfxMIT1! z0hIANthXEst}`85sH;-0>0M!K`i~4DFW&pbYwmCiiRG?DjYBlRpD1bn;Y-;eM!j|B zh?x5iWd=*X(!x!GP^Zf=+AgwaxUrkK zk2tiaZWF^qxbded7zBK-{d%j428F7dSLLtbY~rfgK;=5*z8p?mJ$^*E?gdV=tw{s% z-w+N-c^oA0OEc?a)twZ4;4Q7p)D{%Mjrl9T@Zf)>=(O=rOgSKNRTtX>;wdHIz+l_VPAYk3&GYRpHRXk+L*0{bCAV01~wCIE%KkL4x4b}h+zzg zj}=Z$c$8+stwk#+Wj!jDl|H}({+Upn$~`bxc}`{#7p}$3;6xDRDeF8i624H1sN^w@ zp~FO9B>~m*L^WFM!9O4vAMfsJCSvSY+YuYCZ4F8T#p9nf<^1Nq4S`MArDtHl;syltpaw#{$cYTd&NEH3pCd9*A@HNB(Bo7tQ zp6a6-`+rA2E~hLs0s1j64~z``_%@X$BunMo|xcfte~bwxS<3s$QWV4?sW0K|c=sJNog>;}8CS zrX6lUHdACNu?%;F?#u5}iQk74zatXAeG|XeCVtPb%Mwz(I$dP-g3aUluFOCwDmpEE z7&sH|f+UdKVUS#zJJwc!=P+%#HSF+4%@h!*079NhYx@y zr5JHltxNa{Y-rtwrEBS-Hl7a<=-`TYLzHPligiEF&G^#V$b5Lh)6c&u zhnku;9MU31WYUvsta^-q9{|c?>B;BEVfCkoS5$|DQLuht$qUT81VSqpRh>G_FZLMa zI+5Q>9!G}8UQR{$#jWD9Cl=4g{VdoF5-P@Ez})uRQ9B9md7f3q?$-#AQ8R{G9H@zw`w9M`51C z=m3#qj=ixNxsa33km1G>Kf$O#`>65}KK3y6_!~pBGOLHivjainDT@N(0$Syw`b;mE7@!R3 zk;qs6$itB>%br8+J=1S|A(tuGP2-Oo8;&c|-Efh`&*2ZwXA~#$lm5uQSeo)j zu0^g~)gkEILlZt@@Hr{wEj4HE0#b;LR8=fM6kh4H*5QQ^o`Dm>0ud3t_AGi)xX3If z{JP*)R0tt&>1600cl6? ze}>~Yz!KK6Jrm?QfSdl4A5Zw8wzSbzwE9?o?Jn1uiGFQ%od`E?qhpkprIFP^&AU#V zt8`>ajyG7ZQjZ=Vdd@G5;eUv>ZdxP2(kK8D<=#^=M>leFd>^s|*L!qP+Ce36aEDzvQJvvMUDm~;*s(w=Z7qKo+! z@j3q}2Q<=;Y4;u%gGW9>@k%9KW1T4U)eLm;a#w9DQQOfLI0;{Hh9(Nu;)|@C9@Nnb zAYyOxD2^8~e+4I6oYKTbNnb@R_pYIq9!sV2_1^e+D!*T#>aI=A;`fv7MD(r=-Qa-_ z_Lcrn^}aHNV&WGuzgBx{03#3;LB2ZRr84a~7_ygjLu)%;kJ%m?&A|xj+5-LH@BV$| z(-1Biw%rwv-{_idDdtz3K0dKH6aMf=pK;h@{1~fHp6~OiK+IhaUDvy zYm5!Sj6evu|ANAxK1R$U^Jiqn2AnAM!ScPtRA^zj{X$6&fyxImMDdD0H)ig~Ri`^n z&&H67f^}#tch6v>Y!5-(*fLol_!>FQpU|=Pqw}_ERYmX&z*6RWY6L*nFb0A_iE5Sj zJa0L4Cl@$wmJlh;D#3q3yfG^wVYo!$=VQWGc)`|*5@74+DG?itUcZH72i>M<1gA&= zbg7_Yl!~*cp#f8Kigp`<#nNcBM!t1T);!PtpDpvuxziMzqt z#i(y*5>Ts^b`?KfA>%Ic3Uzfj+W<|*U0>OAZUdQsFQS)m3xnhmq&@2aHxB?K5_Uk3qZxPyC z-VEN*2wE@iWI%#To6%_V=2-M)%jS3m=+i5G*|Fi-1%z~AZ@hn->VRWA_{ge<|)ZxQ9ALl1s2^RP3}#i0n|21h2?XN5NZ zkB|{b>HW7@mb#w22|PCXun<0cRd3!U%O1d7fj3 z!Z!HU(luImC1Z+t8nLT4f@c~rrbpi-$zOU_3;$K+ognW7vB*#y-FHIn<%^Mw^-~K! zEd|3S>+n5d08&!6Tkookrkb zvjeJ6I?Wl&6lf@2%`H-A3V8)aZSp#?v4ISA^hsOzj7(Cz_g+nmK)D#Zb8(Ns{q3xE zC+a4dUe4Cc$}q2Kt~qqG9H#OEbpAM}&XbUzMXe&9$l9Bit!eH@)MP!u--#{J4lGD} zQ)q8ctZXg!TCSBl5k$l%)Bp;tZ`fZ!vAGiJjN}P&92mzj=pi`tkPw-8dNE%sH-RCs z9!II-Xux6NqO1emt)uarZz zySw5YNoYtcO@%)}$X zdW#4461r@}01W)xzp;X)M_lk>D6e&4o(~joOl+ygsDRJ3V72#PQ9m?wYoHQ8dD!T` zdBS~wcc|z zoglty|D-Y1W7$C^s-wd9cvcQ@6Pgtx>gudj6iA0Qv&RQ*E$n|eRHj|=c`9TYF-q*U+oHwGLA zXD5w;nbsPiqsV6Ep(@dlTqZlI^z4)_xa0!rdtmvj2L2$Td*Q1*jc}2Tf%qLrMlgDx zk^_@Bbz{tPf((V%1M!JSMr6LMGHa*)GX<&pVwrB08J3E-+{{)KUqjpKhONLUpjf`r z=PI;bVp{+Km%z&VB;=jfSiPZ<70j@NQ)x~5Ee8@5+Kf_gy|~UFR$8aTV zAaOs#FCy+rc;B08B0Q(Nq$Pr82wXc)H-mLdF+j@oqpT56#1;AM1yEcGhcGaa+>vRu zSD=lwfIAV0qYY~5I_pcMOJ6)J5i+b=Mx@-Et)qefDtCC|)e;fpnAUlOJF9ohx2 zxxo4ETI5r(F;6#Xk=M}O>qeQI{2r1|P*)HWB$X()OW_ne@rT!Qdet31kN^2y7tU-JI5+6k>-CYv-kEM3wf_3Q6Gv->?k3 z{b_l;x97dR-S)IB9Q&LeZSkdcyN@45zlUyLB5^to5+B2ZFJM)B#eaPTcdz$zeEy$( zanu)u(cC8ck(eI-=RGI;w1e*lt%@^P^0f&`L^ zNCGwM+#ME~D48M_d5uQ)1&Z_qK{Vq5Rz|Np>ZvX(#B*uKwNk@r;U<4z%DnMm7@m%4 z@eEZm*Bz`pR8d{lostds9I9w5t0@EE8{v>N7XlYAYH zBQjwd2B)cyZjp~%yt@A7qn}JZ#JLSP!T5+C>nV1PFaD5QHTC#@zp=(&u$?Q0+Y_#< z_wgp~-+l90k2b#-&&K9cJH#K)w^=V;Q`O#Ix=o7=6hdbMu6Sf9z}1aaz^-+>WQn75 zv;IGx-B}>0;B!yuTCX0o-wX$8!IM-{>ydz&o z%xda&UD2xEzIMIolrp5$a{jPTJ;X=ob+qbAsXN~KDb2CA3MrL|(~r?stv5R+w4MRy zfRWS={zy(NR1)+zQ?_R*+mkz99J2J*126~5eczilK^A|vc<5pqTlfXDrbQlRE>3-o z%3qZHA+AmAZ3em_&NiXLz1MZYo@hi9!EGK{vc_)O!gp9DkyQ$*fdPp-1?4KBt%24_2dAb_Ou-3)}p_%;j0IapMf0&NUbl}D++B93{2)J z0j)4Rwa_Pl)}<-Xy5LTVd*bD%kb+hXR$%DSvND0gyH-gp0_7{wYU4tu(A;$tmqWzt zbx@1(joSQ>_D~nSG}EmcER*)@W%yzrv$EkRq*xof7&e6Sg;n23N}8P_*rl+lPO2ca zK)roff0SoPJCt4$2r3I6^J$A8ay$Jv2&lxWkV?Q~*Xy>ctyBqVl3>?*r%E7L3YU?p ziajbJT@un&LZM1%D+z5?LN}GrP7>OwgicAOMBYNjxbKk|zPjO(AubITpo(bnwf|g= zbq4%b5?W;Mv(2}&VhTKAQgbCN8|Fsf6yVPGd2RZScIO1%a&8m> zrgZ(BAI;P6Fx83cH{Y`tI=j8sn3R){1GNR)B^C6#;8EsCD3}sN5DZ~2Mz_cLp##Lg z+_0#n9=ZOJSj$@ERp^nF>X7_|(w9i-S5iugO*4F!h_sIr8`RLfhnbTGXvqX9q|}VlI3?% zN$L83wu~~ON^4qVaiX-AQg@b={S%e3TTKQX2{Ysbs21S3Sy(amp@HE=Gf_DV2pd5)3_ zk+;gtN0XWOt^Jo|j&+ZyD;Ia^q)r0AcH?~(Qk0wpJIF8g#w(r7kH@e)rQd^ezVMc= z@oGcXK=o(0_Z58ME%?$~um*Bk9Njp32*Mp4knVWv8B_uC>5jzlYW z2CdwibO2;ErY(1Tf+qH!nCH$4MvpuD=I2ZO2wnTqCh&kY(V4mA@xW1%R zM-45ek62ErTsP~!0<=7@BYz2dCGO)z-=XrA-CtrB{4FuM-MF$c`DYg(01M3#w<;E)T{~w&! z>|*KzIIvPB3a;hcs46%zkNX0!;Jf_=XYBJTJ|L;ZLuse>)By^{d_?RR%mEY>RRyc` zg7qq-pVysqPzsdN^gDLb`LP+eT~^?qbQa|jeUzq?-bp%9-kzGS3I++P6 zN7Aj8Q23Ag*hm9nxmR%Hq_cf8Wq^?@l9-DQ<0a9#d8&3!+p6PH8$Mi$Vhm0>SH<(v zox61B*M4-P^W{=1FVU)$&*%>@4jx89cq)l^#f4!6+mu`9LCEA3;9Jrkx4R%4O_`DW z@tN%~Be~k(TOx*bWy7~!WETmxbv927a(1a*=VZBCRmd(dbQB4Mn%T(qv~zx~v< zBiZlwj&+w{HNt2e{utawiMzVqPl;#)srmajOp6pHs+I`^=%2e+MFTivTdclin6UMZ zm)lO8su-2fL()K(lU{7>RJmzNFBpg(+ijVJlq1`t+dZ21n`ncv^H@N;ai?mcsy({j z(bt=g;j+P5?7ea-dyjG|p1aK9_4@{j*oF zk|3GN>ay=f$?tN%%6FY1ILH}dz@*rFGVQK-DKLZp!b1%Au^_CB%|PQ}m#sb17eKV9 zA>v21d0d;F9;^^P^ezP41pmkF8cne=jRZdfLx#Fbn6q;bve>PJ%XQg)gv}0DtBkB^ zSHnZOtS_XQJedGX*CRM@g5v}bMwXUc)BeXOYeV`M-6$;ojd5opo1 z3JyRo$>7OoM%eV)eD}5V{qN)gTbZ#rEyoN9u^K4YDozg5aqnx$;~jlXic z?8zN0j>u%;-AA>^9QI|uVir?d_%M7X%Z7&$GVlMOmKG1U?MNGqIP9O*7CgrOQsxq7 zq#W}qsGIBt-zrmTK5_FKpFf!O|bbQqC7bI%gX@vPst2aobc z5?0uEfdb5iF$%!%SztEHZ`=~BoJPJFvLob!V<(e8DAohSR(8y9fEnS7ZPb{jD(Esu zRgej4bb}f*-C}UgvpxaQwI19eai&pF{$c~`O`z(WK+Nq%&6&;6mym1CA;Ys6Eavz~ ziLy<{ni1MH4*5Ol|(3k(1GRJD%k^ z$Rt6Whou2Rg>=RNlufV}3IdAH;;#2b-VqRFK_u)k^ROQ zF0b2dUB?^MDszQ(7%YM|-pUjt(M;FDXiRpFVj-U4CM#$SaTz2MfXwVqIu zVK1y{z(DJi`z3|h8?S%H6aTn|B#PI^a*JB>{9Rq|!r2tbqM+z`BtKQJ;z#0+Hz94wg_v2{n*U zACWCbxW|gQUiUfooAds}3W;!bnEB)mAm!GA7=t;z&g}h$%2ejkwd9BO9L%>k$Q@RA z>C~1}JDf1VX2Ty!xz1~vw zla#B77o)444GY+0PPFq>H~-4g%dtgo>D@4$&+vvgg`ed<+}*w1@UzUmiq%P+*D5LP zqeVtjMhpL5Kxsw};3(F3f~;Zj6mV~S9zo71dt+0x@h?|rwUI8wU+@Ax)SdYZ=?$O7 zOoO9F+#hJHXm(k=fXm`hYQq~42lEMUIXGr?KRlJholZC{UckltOI2hz2f|wpI^*}4 z@LIg!(jsqCLP>sdRyrVOrN6`}F>xm9LgGAl3@^pF%fRnZJSWBPG2yj%p>2rs;FWS7 z{8i3-%SCi@oIG(H>O#BFP(00vGR=W-7haJweGGyF;|X8I3mKtao)2YK@H9kwD2G|~ z$xAs8Zpv5(D5k(yx^~X)W_y8hdV2xNC%Y)ai)KGpTkxx&uqfbm*z9cP5}kK$u@`#+ zn-O;SFTj&8{!38j1Bl_1Ralh6iLfX=0?q~;9euIOd}7X)uqayOYdRz$QSf&+kvEBo z(sF+B|5tpJZysM28|e`A@viLU%15P_1&6tm{YucS3ee)c$w7n`qNpfw(o?!2G{eg= z&hU*4Rft2_Dik5~dBy@ziNoJN=;g#`m3MAr6bMy(V>6s8_JEkFnH$iYw%|32;V1C| z`d)!NZvhcHZl~En@g8xq5NZFV>8dCvQlK)MweXt>DnrNc|M(nQ0$%dRb?D5OS~yN_ zY!;`xrsL_mfyy{qp@8-wILB~9A;-bB=xQmXx*QqG$0^-Z{-O}w9LOl#Vfag^^yCD$ zusBEdS?_yH;TBwn2OGJlkkb5>b8K1bZ)C$P+(tHH7G4fz@B$jhWKL%-D$b-hd*p)v ze-!S_*1Z3PITAVxd%8#QaCV3=B~%-kZjg2l{*1wS5}eIn>qEY^$tEtCe`a*zD{F7{ z1|gfw3CBs8li^Sis|R!H?K_oVm?vS9gOvy5LQ*xO18Fe5xM^>yrzjCuAHvHE0E@mWmbR{hATkV2Fzmla>aT|^bvwc zuf(lx1u7LhON>X5vJZh^_QGj@`#AAu4h)Tt{cj9JTyYzHo+`wNELd9qIH!aAI;zm9 zA9mJr8_CpctBPE3x;2{iKE0m#=>Cv9r!TZZd!`=;r97V?Lp!|P;XJva*ZZ?>YPRz^ z(C91JBMgG~JfOcp_;>GSht2X@+i|QD=KUq|e{6govR zx0$-}!Z3gXN`!uk1|?hMRlr-WwnI_kw?p}rSYN`wdW1p`HWeXmo0%qUgF2kQ|Ss?0DrvTvUtY{lv4Xccx6H*bJxMmes+g)XzZoR z^ed-KFqVCUtBv`8nV$%ws-ZNMoqmmKD3gYYX{b|*4q-Foj>8BJ3Ji+nok;JiHb^TkN(PmA8RC>Nm#r;KW`$A zsP~#J@NW~WTA;-fUQN;-?==Bot4Pp4wdY?LYPKx_OhB26SK}hxChO|U7;E?tcHqO% zmop&FF02s57-blk5%Ycns;tHG;??}e<Pb;juS@??^ zjQ*X@T0hO^xcm$i6E@>FiP58~7VD*634K?$E!Z((<<*-8n0-;TNa z1?L%umY&J(PDmgoL|bSdU<2paJIcq7^31K3jiUC5wGi=8Ey)%4uq4ZnnCOr=E~x|I zRy`*IB$mRwB|PBc*!kCqVK291dWrhfj?2jddUAZYAO%Dd;a~#l_RO$_dz&hlry%-`&V{x>y#H|U)xAxPC2Ni+a84=Og6U}FfI#n z_(l%i$n73o)5zndsC}Hk*vD1eRt~@-tZ(e<_W0uR0t0T&=B0j>b>s>#6!z@MI%iXVHFd<`SOccOda9Vc+ptAhR@)p)*f=Je)>1$l!l@z_~=|QU0FFCg3CKsXYO! z?FndVJpul=+CaL!7>Sq#Z>bNwSm9GsDf8e(@7+8N+CmXhl5;RTbq+)a!7!Nv2oM*C z&f*=$gnbx@-EGgrTl6lFb~iI|H#2c}x!+kkIG&ppaMllsyDqa1z-I_=&>#FRzkT@i z#|Sztc+dtN1w{frF+EEl%NMHxvi=SH7(+{dB?UtWS9x0GZ?w%5fb?gYL8%5PMgPHL za+X(C2SVRuMh3isjEl`SXhWd5u4* z{y`Fd+Hb70FW}fL*KnTa=8Pb>xU0)JFPH1UxqwCBT0ADSsCWnH;n~7mcUMb1Kpj$v zPG*pLY?QqL%6SRI2I#UiB3mft(H8mgB1<$QM9v$`f2I5~dmZ^*ViF&)sxZ8}9k(25 z^S9GQ0Z?iy)ML}~9)uAhEG8kWIUc^QX&UyKfcvq4^9N7UFFC|M7z8uRVLty?d)pH8 zgcCt;QwMF1%v*A(O?WT$ex=QSoHV{1A4r>_gLk99k&#F!zgR_yo;J0R&T_qbo)+D$ z##K?SHun3flw7yY#hewq;4vF+bw7>tk$UOI?c!~nVNM#+k&1t&JFD{K!g@U1Nv-Mz z>czj_dkrA5XlkAw3(_(^C^f|ydf1mosS0~0uaWU5QOQY)Q;F`-A`8^QC+4vSg=8Lo zBEQVz3d+eOGMCADd|p0{A&WCcCU4k-?8g!ANit(Hk+i3Knx-(DgvnI1DOag7lm5RX zXL1RPJb_v+p2;4h$t*%U$2+R-kOpJ|Wg?p=@%QwW1ewID$LWS#NzN2ToZ(t>u$++-jiqjDUr{13-qlhoYmW&wt_r?sA7&^c4Q`6~u?u80+~h_<+M`u@b3f zh1ugnsu93MnUf}8;)YOk((IBw>M>sy?PT%wKdej&)&H$oUn2V(RrC_s;QX#0 zIh<>LLaKzL5?DRo>;dLR&PmccJ;m zZ5Lpe8fAfuOJ$>1HUtfjUHCjJHbxReZ7&bB=!Yp$!;VC$QMF?%r4`l41?ggP+>=-X zY3V6`2SO@(7t)g+T4XHmJoO|Bx>Q*JAf1H|9{_A?(f6bVL6b&pcwcVyS$f`q4C(o4 zKv3%21+rwsg#)xj#W(wiHAw6i33{wWGnnBIs1ww@JU_`cc*fPz8bK4kl>Si9C#qi} zHD~CWx7giZd%x^)^LO7gPeRRE1?MU8Ws}lv(;WSS2PWG8`~{8vQzn~E`PUe#Pl(Cycdh>YEe7-G< zpPbJenFq#y3%|1Jn5c@F&exbR0uJB=mmntpt>&jn@^9%`uDwtv=8DJ*v?raCrWULR zVo_G!GKdS_m@arlxu-M%M4|%#i12Y2%a=rC&T3g50Y2yYE(}a)O{5RaHm~=nt7W~*>DEQ-eH9tfM0@#Vyhm6sns^BKQ8(gwj7Rge zXfCs$*4omjLSdy8{bWKL@xQOv4S-C_dMUkJ8$IlDbETubbPFDY4^>^X?$*VP1y5NB-l-B{*CwY@Ykb<6lw-&B`fb)EVk2@i^c z5y2~Z8;hd8ZjV7reLa*1X>ktS2*&R(#8{YH$i?!tKCY6FJcTG8UG1rBC#+ehQ++o6 z+I3EOVKAH`bSVJ@NVCR@nm|daPIyiR$Gr;LD_erbPC_RD6Gf{@OM>1T<$le#p279N zkg$>q9JjO1nZbhNA}%cGOjXRS=%bH=WCgKW?Ww~50qr`ZdcXEcqZXDGQiF-HXbh(6 zW$RlY)c=vlSZpRoPV-+L+^XCyFoSmu|DRem0!K_A0 zhmL6BiBu~a>JbEErn?9Z$uG2_dQW+fO)pCv)O<&Mk=1~C<}JjC*-OYc7wml|&S;P0 z@x0S#XsVaC>rs|Hv~R<#gS(c0r`L;oHK zyum$JzWu&f?*Dkg^<|tLxK^A0uIxH-m`$!aFgFbKx&TMyh=LMG!eG@=ZY`&3I(swL zzd_=kP`!_tsnY%NS%pC5p+MYq3$X9i-k(qfpm{mY@_=iA_I_qNC8k(YQFrLEIXaSE zEbu-@uI}O}h4kWm>bI(ZQ|ouMVBN<8*ylG|-H)wUsWGk82ReLT>C&n`M6N4;Y$$Uy zk>1`2B%9Y<2VV-?s3R$7DoL3ec3WR1Y&N_L?_{hc$^*A&8(TdemdQLbbstRS!90wm zRCurrUhJbYOTIN4k(AI_11-;k%gsT5(YCX+U^l{ohZFG`;)dJW>^UjR@? zN*ea__yw6sAhzZTIvXhETu3J#f~AMGXO2@Px96dtzFqFbi0tWXyk;UZ839=5*sK zibbHSbwu6KD>FaPovWI5KP!H1H^KWFTa8T^Nx}zRZ~+~KI)PsXZ_ z^Gb;H=p6cs|F)|CPU_cBeY05TrQD}yWV+4SsLtg`kl(p9Sb9QxW-4U@264KMse9-s z@yTCA7{Y0ZW0hRWV&HoTxD#LJ7H9vJu3LKIT-}@M>O?tVE~K#d->3}`bgox*z9@AT z>{IP>R$0Kd9nI>_+UgliJ*zGS4`5G)$U_!RVB;6%_FqoW1M#KW(}> zl*$Q?*OXkB)aw$&$j?mDFs^rQyT3F zqAb)4EG=@7@zYgekjA?Xc_hzKancoYaT6lq06?Um>9>qE2}bdLA08UaB5;yD7@wU+ z;5dJ{=`!u9?y|7)aaee8fr6)1;dMP~Ms#iHHy)*i63e6U%?I%11Rj`~K}a&t(qA%K z0A~t=Q&6LzCAtwZ3UEMeI7;qw+@vk&A=7>ll#F>>V4%#+auS}YM0+McAz%bZNq`CK zYd-h7lw$FX-3llIay19AG9(_jSzzVno;bfN-~z1fSA~&-lup6e7KF|vA;dJ_Y6cIY zUC>2!T2M?%(LKEB;d;0wIQSjBtV{#?j+j421gDuY>m|+PNsE5W3`3&y6p8F2ejQVv z-;((T<6Hfdk7Vx>59$I!O9gl ztP}zXEbQ!FV1dYAghz|tOYFordhj20j$W|*VsS_nmZDhi
    _BIq}Vg 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�@Fmd<#7F)LrtytNKKwUWlokPAKzHV* zKqIcMIYY5nBIX#FJ@-xFAvq&qSp_c-Ug1LGg7?>x`hv5DEr$VSRje^*`(MhGro0@xeJn#IikB;3*9&B3F@myAGe zrgY5tD3bGaYVsSxFG+hAj|yVNye}Q~WsWAet1b|L%8S){2#^}$_&tL0z(4Z?Qj=o39ptYrVmAqLu%exRtf`UlW)AQsTdVDe>N4N}TjdiNk*> zQAT5aik!Vp6mkmdg`5bT{`-g;L_U}b^RM-C6m@OllL3iglKE?Z`O`+PJVA|WmsO*0 zFkPunj{I6JoAu`}VCPV&a_+TVVOtMBpR)q{gX^z@Y(^2Xxc-ZT{ww%@OJ}P#c2{4t z*vt!MUA0c%QxG&1hVvHK;Z(c>zZfy*Mcm}824zw`Plj|<*$+fKM^lwQtOtvO-bi9n z=sS?T|Jw9w2ujuF?zozV%Dh&>4u{kEAkyK&>>Yl^cDDVi*j=u2?s@~0QO?~EM5Eqr zcO_1t#EP&dCNfC>0e!JLdZhlR5`p@QG$84ETp#!Gp)_rZEEb0{u?3 zgh6vmpABI!Q{uk`;QbPk;bkF=kB|X3dQaj5@Gp_%W5sd4L)aD0uGeSD=_V^+FX2h6 z_z0adA|E@cJ!3Zl85@1NiSC9i#Im|dUzcUj^?7= zbhcx*vyo(^B7h#muOi-i{up}epL~+8wIFv$FN|=}3NHQu`j{Q;XM`Gaej#m~N&884 z!-*D`q~lB1_N85+t>=QSLIz}>*~=0COR&f+?(}pu2BhJhS z86(9LO=r+QJ6>{(v8nrx*2V$v8_By)y9YVYZ$-StU0|?tShqRCbm+bAG2Z=lKTM z*s!3_!rQcN6?R8c zoml(egeUP0}@Q4>pt~ex1pLx9tbjWfart_R^sA4LC&DL&>*f;Wij0v+G?M zpFj8{uM3zaq3wSFKwiudm|+zY>t$DA9jX( zPGPPfKNr&!$=Q;+-{k&w@=85WEd*!vS0c97`j`GAKh|p(GrQMSw9D=VKO6|Wrp?5u z_)+ZT)W0`R%n)_GX=09~!k?L#%JVdgqsS`YAFtt5E$U?_<_smtLW7wvk%`Q_Ogz-g zi!WQD=3z|22k^@MfXS7GM;OI@C$!I~eme7yRfZF&PVl5EsWCehyTjfdJsb|N@WZ>- z5W@1@Ml{{u|*7j&{br#TCSM zw4!iMw}DOTyP#9jxx<8XH0Lwaied+87nZN(BJF#FR3Zj|8o80knX>T=nY|oHa57Fj6d8a{UM`8U7EW42fG8s=WE)%Eo_ph={64e z0&*GTBF;P)EUz%82o_7BSr7cB)4ZtzUEf<#w#}KUFLSChiZvHfi_xn& zh$h)RTrOap>VG4z!TmW?KZpv={jt1sg!-Q0#HVveAPq{sn(9M+#}VqOqq-4zK4Rlw zUP^5ohf|END<7e*HV!VVuZ`2G&&DCOn$(2@pD}NL~&b3r@7bCXNTR}#)h0~2v z()-k9KzBIl26XQOOs1{@$Vz~h_zO*-zhX>tR(B!MfO7VKSg5?YI7*Vos;^C+wVVRM zywsROSj&mp%CocjGghH*v?*))I*nlS{bvZQ4T+Xy{Q;IBM@3M;HL-Kg;&d$^=~r5u z_br~ds689q(nnt<>EN_V?8#xj%*x0Fdpnw*QFJ0C;)nhE2J7H;A>*F|T zY+4^pnO^^upe;n|LUyyrke(k+-g7{u$8DU&CK20n#(@xJ^uZ$2k3j4k&FN7#3Jj9^ z^f}`?V;b1ZBR4_u4@?yDgvV_Z`17iX>Ka_YTm_KKn}k|cJbdyYWT-CH@% zpecCIV*ihnXojyAVZx{HX2u^g0a_Ym0xYN3i;P0OwX-KxrIPIvI~lB*Bl|SQ3V7FI z7nfHY8Ny!oVqPmy1k=u4v4TyXI=UTK_g-nV@|y80)VK5Dv4Ozna1@xnr$BgB8kO(Ud0vvEUCQwJ zWy`003?}*iG!qeOx&DLpp7SGEQB$*_0HPi*hqprFws+4`uXoIfJboa zrHwn|Fh&e#9pYIWS3VzgHrtYu_y^SsTG!DZYuv+FF3C*GU}BA>XR@ewhM<-y5>yGK zeX}akUl=Qo>2<27JBg+bI~8!|y^o7cv-~2m&1$wpABF@WhOO)yWY{YA6@N2x`Q}mC zxwNl<9_CwF>P(gm4L}A-2QRKR9|?k%sLn7)uNC|30~tvEpEH$WLAcR>SGjaz_xrHi zRMEst@>nIm09^c+^wR^V&&3AcH-&Q5Wi6ev_w**(tr<|TbGl$v7`t32AkKP|PMJQn z2tDxMD7|b~rDGV5!Ydc?7v`47cW)x|Tz{qSJ&!EqD??aQBM#0SP>(aUa^tN^Ccf+M zQV-tdrwu(phh6U=3+=IM2R$%{$g;hzGvs6J;Z?Td3>v%K^}d5KKTpp)mQzWX%c;85 zc@=Rk^=kQcVP29t^tyVvH;sVKDsIUR-e`ryZzq(d4kss{0dQAe>Hqu1diuhq)^6FG zm>n-WANLw=RUR}R_UBE8*)+ZzQ}tXlG@VDEEMh<53i5ij%ef7T1J!%8kYm{nH|O&! z{UiPfD_wK+zh2cbksFcB?O;|Lcn2>vrgvR$ zzrlp;^V2WM$pI8w@wk2fR)SfII1V7abTE%61wc%B&z?@enO7D`cKM%J=Rogu!Rh_V z0+pkfq+fAWOTRvu+*PFcAkH`KeovP3r}yg?s65Kt9~zXA4dblhwO!3jFVe{e#1@pA)txEq1o1k;_zdynZu)GC-Y0fv^ch)4Lc_Q%< z=*1>EtVmh{cL7%&VL%+u14V=0>R|1+9N0H^*r|60*AQ3rML913A%ssB@o1%&TQiEo z%oG4q1mzVAdI6cZ7SsWaD?!}@bs$FfK(|so=J68W@;x}2-&YFJJe`Z5MQzT!PKKPg zyr2(zJIvPkMYwEtYz!|!w3(8?(@!?kFQXlKg1S3)5ed0AA*0uwN$5)ght!4n+OSt` z4tLx^E3slzJQUb&t69n+lhCM zFz2gE!OYu12Ua>&I&c0=2Xvv--S%Qa+g|7bsk>8stC~>h<##^`xS9_5c+tg5Qg^3uLC|t~Z#j*7Cm!X({B0jdy!LB_0vkqT2;bvWfJP8Z}z|d6nNhTd2#fnU9K5_X==Y|sv}L= z!5QGJaH_h|l)tH)n2}olE3*`9eZ66|GvTiw%1*Yw!~}&%z6?LxQTi`r$~}I zH43^@OrzSmy3rCV)y4jZGy7|%(U~_58SJ5--@=x)lP#++l^FduJtrvJG5Jt7n^-rt ztW#bg%lXqW;uWYo!(Li!OUZMQ?iC7nMbz26uX7Sc-%5#&j#gq@E-oz>vw{`J`BQ=do& zt#xM|+gV)Atz$y)N^+^oDjYp|uX6<~YxuFZ1Li>RIjnYa^l3!+|wY+QnI zt<6V3JKdyk)8o2tJZ=AV62mX2B{M&xB-fDR-MTHgsWF$f)8&$px!+HMu_p3_DnMVf zkh8|t-s|M7&$2iY@t4?@j`XKb)!h;A3zPdPE^` z?wIqxYvgqpwnT$o{xeShPkbHbO%H1>a^07*J;c0$>vb)5W}ZVw!Z$Z`PQ8CgbMIEs zqI#FO2JCE-pZ4B~>)o?wWv-DBTCVRZf>mB5Ks-$m!Dt;FGYs^dm?1I@bONZ!B1k)O zu!*I9yqJbKi7`t(S`ghR$;{MGyf8QKZ!%*uDKqqVJ9?&@;eymXhiSP?`&Agzc9>l- zrnB#+XFLn`=R**h`Y)bPkU=i>EI$T;$nr5Kg0S->>JS=8hvZ|-F-T&3Xg=pUP# zzlg-_oJ_V&#_u%+WLF50=(nlsj@!k#^b`LM0jC8&?pA%VJ>qSO+>OSLtEf35So7QbU`@Cn zSaVxvR3(nZTEwtieum`pGogLN+m2UeY=3Ri?OZtLO+3Wkewv8xpD(mPd(hC$P)qrw zv?#ny=?|Oa)vO$yZ}OvMU!$~f_V_m{m~Eu5a06T;5;ZM%{6BcSSKPV6Sj0piu z;mw2__`Ah9NVfdHWlkuN_kD$PEBXcc!;7@h{8`Qq;Hz+MT%pfT^tn)o(;}m!@iK(f1e7h0s;{GbS`v<$h4^O)B@JKI`?lS)W+upcez2gRbkqi=W!U za9N7G1*%KG9QKetZuGC`0~q2e&)BHi1RFB0D0{>XPKOPQi&G{9GCy6Y6}UO|G24Q< z4Q9*jSLTP|AA54t+=K(1Y;{O{co>Dni|x^z4bigH_|l4+D70WHMno1DhN_3uSJaI7 zAyhqTf3W6~-POYyf;G|l>LHEkRix)v)J(zJ+0vX)^)znQKf0Z3^-cZ`?YhtW;Ah+V zg75U7{bD-hBQD3$s6sWJu&UEcUwDbdvHXG}#8#3a+;@=7cF8uEwV$L#TtVEE<(22i zq_B%g$I5eLvNs+D`;E1&yGeKEPYH|`Ycb<*e5LM%Jc*HXuifn*`C1-Qshfc>OvPe; z1E@}@$ZXL7s)}7^s`)p)Q#I5wzH91YL*OclR13M+(R-a?GEBc-qp?&2a&ETSyX)f1Dj(M&Ia2mzj;wHPaqcU_%=JhL4BmQdYfnVEpb(UYN^ZRB>q)w(f z;GAAS1GNE4JO#-sUHqDGn?q;08NQZGWcO+*?xZ_BFSrw!gt~>vcP!sEEez3nOfmGM#T!mes#;# zoilYQ@Ng189!PD)M79|3HwCFbi{JnZq4zm2=e3mgw^>i)X$yTXwCJ1H(|Y1qPw18# zkh`%#gut5rCEl66k|CM(^|1-SJ|~Dr9j{+;>efOHvT{%c@oHbvqPP~Ni~Tv3uUPu4 z^>l?pFisY6Z8vAbu!~b$ zoaPG8A(m2kvF--f)zRUpC1e1eiN6begMpu_uuJR!@*`!Xp6;o?WwM>CY$plKbKAi0 zeNx)OFWeNWAQIxYHovnV{LO;{97?Ei+{sfRQL+9Kf%AV zOi3pZ61ZC9Uk&-Qv*2X1ecHJh|1J>*a-D#by@`I_PBmF$mZF=N^9=+CXkEM5gB2!L zUSd}5eOW9lB9AlwD2``k9nE5hOOaAk!>j|%T5yEF|34z^BM{2ts+(G3FaJcIA^coR z2dAE58jwbz!O;R5;KBaQ&ir3P$384D2!*!sB9wT)lzwsRmi|Ob&OG(!DU;RuSmCo% z7rR!k2CMkIva|iX(0@`y4<;Eseb`=(dKfKwQ>x>6KwEmf^Sm-B6aEI z*+PCdvZE1;!IYlIi{|#QeLXN-^(OL$Zz?zYLugDXQ*AYy6<%rU;i=NL)OZt)J(GS{ zBrT?S^QsQXRZRkRvzZeJ0~@}L-TsN=0&Y1OG+u> z%s(e}Ym4ObN!EQE>VanBUg4LSI$T+2ziuW8CP~-CrixCPDtb}{yW^eC{5x|~$J&qI zQxrbZBQMeUsRA3#^J>WIc%s^;er#`wg^0?JT}xC!>I)l%F}MBgVnd1Ql={F%VLfbr z``B-SuWEbj4?(^*^&gYsBzhdM!w?Ke*b3v__^=b6ZIFvydK7f5cq4yvLJAR}0cKy9K{%8ap@J*nAp;SobWZ?h7+@ zf7^+HY)c(N)memB^%k2=fdTcC zH&sq0?oGdI&RyT#Oevs&i7nJS^OEKX!synh}3V^p#^!T&8$ zb6b1|_3drba5v|*7%uzMXHMcG&GBkbMaR1I{aN_5xDU!oS{pjp`E7Yd*hn0ER3E&= zGPk4L%CimOde6WKD!GSr?MScDaJEZg0-t@>@)If-1K^;8i0!A!Zd4siH8Lq?V6ck# z!O5OCGlq0mdww)iEI2ZX7}QA2MF%rHi$;9*$Slc6s0OfCzGH#Vy9o$9G02X$C7u-0 zxol@y`Z;`R)7_KXdJO(Ed4X`wXX=wY;IkHHCUSL%L)xs~12ljRxo z`@2aO`lT1OXmJiTx8biO4-b0{IyU1jyZiCo0_LU2Wv#^GviOa-y4*!dRw}`DFWKra z5BL=51suT7g+?JUb>uq-1QNAQd=K~~?Zfg^!4e~?G&1mZT%WZv9c4rWX9LC=k< zBLpHP``ofM&YYvkCXThy;1d^$eCs6#YNXJM9mL`r75#AnGS^|uKRbyhSmsvWdMyb& zh6e6Cc$UX=kLPzqbCwug+;&uDw6Ck!O^s6W0W@6h%v+7lQld9ixZY=yn>y9S`Y^i3 z`voao=^dmd`ksa3YnukI)IeIW?|4EdQKP-8)1i(yHpe_0$ELR0#t~X?%d#;ov~h&A zXHgcFz2|Hkp+DO=wEXT@ToaUVLZX+HEr^Y$%>wLj+V4)4qxnX8-QnA4 ztjDf$mo8<2H>QS9%;h#>ab3>mIj)W2C?5>56zCR+CGxUNPuV^^yF zD_=M0*urhsq(!H$g{wX=#@sPhwx#hRglCP|qxdFY^2Nr~mI=9mv}e~V$dLGwcrzz= z(6X76$<$`%M4Zx-#AU@qSN^|!$rNM3t;4zk^3c89jB*8pX$(~EIgyGk; z5Um+(2}7jpgNXOev;x%Jc~>-XAoOA48PSqG;W7-pyyMJjp!*@ORutm1Jj+ptArp1* zQNd|UjriQBz!mNv`^$Jl54sPV1F=Y=YjvS5S*sbsREJaZ__m95#F_x;5bw zcR=ZN?$U~G>N||*wl@0#4L0A%Z`1m(8CauL@;M#;0ARq`CEMQ2n? z156mIrB**Kd0~S#+nKuWaceFrbkDgIdpNWBf|?GJJ&ut@72ewwGN_}sM>49T$447F zRFp16(U+#I?SUs1G7pVzHgSuJbQi(xqluUI){_)+=Dm%|uWS#jNUh%BBe>1uULVqO z_oC9ZPGXh1k!&|>3(BEY0WP%U%wW-6vD?eYDihy9EYTSME9AQ_lP|qm%CR>lr!-W_ zJ=Gaz0kxnHEQ74`DuChDTotdp}W?OhC+wIvrD3Jal zBd_H!>&$!x6f%Na&&R^-lPAUyiMQLKY_AaT75G;sKi_Ng{Yd8fNfhC4p*ZmmEB=pd z+pAh4BP$C5)AH2w>wVY=B=Pe0(ctd@<0&`kM++j5=uS6?m801C=C=Qok{p^6A2&NKD1LN`K0$RQUnyHAhlvshAzCQs&x%)u&(+_WlIp}-@s3s@ru9U zKH-FUZlL*U0G$vtDDe+1qarSE2JF(BtgD7=m*#;5FT){1*AkCnwmPOQw*(#zwBr-)9M@LjZX-7PkDU{oy5J{A}j3h!7lYV4V*QL}j zSAei%ADykB4#44!fpfwzGjt^P?$LYZD^UmcKox_0vrLz*ayweOQmN>kVZK&1 ze8*^7sZ_MQ@6cd+?=%Zziw_I{a~a<7XP%M8VlHgqhG0SZ_Jzo>hO?C!K~84 z6(mNJw_!wWl6?l;z@4+Sx4dt(6qd0grh7_~fh)(~fVNBV4GW^&2Cf>Hr#EC!Jd7iU z_#{3o_x|Dj@5Eem?~IG(%3AkYY&|8`OWUh@#6(gsS-0C~LT`-pK2=L+)wF0~Z?FV+^isLfrE#->XZPF-+ zosG;1e9}4{Mt-x`Y8%u9*rmUlRr3sxB@>lCLWl>_xtwEjO{v;!sj3#Gs#HkmY{~=) zv?|k}8P=|TZQC-Rkz&exm}w_clV5BGP)OFMM(<)8Oa+H4km;&vRO%+Cf`LPc;!8REW zSH^>*$%|0-Sm7jsEJ1%FEM4zq>96_!HU6L5dzpW^mL`(Axtbq#{$u9B)80Wo2)ygd zyDI*hQcr$W5HJQv1rA?NNBv919-gG1Ll}*}RX^>4hM%v{aD{Hy&ySc(^tbCL%?~Gy zi`cx}=UotUpLFNUwpFpxY+FUG&gk8G*J5J?4Q#NmP^a=jh8R#lCz3#_>PowdJt7Q1 zD+-=7Mn(p4#Pcjl;dYZ^Rwe#6-YmLuQEKEWzs-4}rT*N0BnG*U9s$I^!Kn@vi1{xv z9ca}xwCY;el%Pk3`84nNQs2C6r3I&JW;jO{rPltZS+S`b^awgCvk*gJ7MBFQ4~_1L z(e>O6v-nj9jt1XW;9z^!tD*sT{xT})Zq1-VJaIV5zk-OyV6k|JLSD^9y){ntN5DE# z@;NX3ojGp<9eg-(1Q=ro#|HN7WddE*;$DW)9s|T+v`HsGQxS2W37y-m{>v&G;_Uqt z)e?um@g_kzu@l;IG>>;ghm2X!tz?DYY~I&-;g*^-sJ`(H%@Hf!b;7$-1>6d_H3zuK z+f;|^@xE`bYG_00?Ka$o(z{i^h7o-etU_;Z$jzLS-(n!H8OWnlVg{msMj^N*7Ha%P zk;iQs$Z2EL**oj^uANlQ(4HA&J-&?NcC63{zA-h=Zd zqaZbLGv{6DT*4SlqhgIt2wo67ks$L_&)TxXd(w1FsH@cwDS6*_sLUdaVwk`YfmYK6 z+N8Fur2%iLf0XiiPy!ZN>foLzq4937z&|)!1?>78g!OM4PugPrd2*fOZ-OAC@|Pp` zsJX@UuMv50wc`JmpJtQATJ4DK-}B{q%Rf?N;tA#IuF!YTAHR{$minw**cyj_pe=- zZcUe`5_luP5bjyBp=5$uEs&f#o^*a^&vO=<* z3z@%Qe#U;xOO4FJ%f{x`&P62jV;!az;RZQ7i5mnNT~pMOqQhg*TP9C@@`h)e>wQtg zAR%}=>nI+!M5CNz;y9e})mGp(&%9US6ayhyj=4Wpr*YdBzf?=UYz3~(S<)LQNIFNO zk5XMf@~y7!r{sXfK-en0AaRnkwVlo$Q!o&lZkj2-Yw#qV0X)y(L4G zn2!O9AA28E;f~Kk5q>Aguj>mPoh!8ATn{X8#z)gQPJDhf7G+QCm74n@IAYfG6L=hm z8gpAMFX9%lKcETJ4Oa1KkOZjaIf;h|p``w1jhMzk@N{#Ch?arUiJLLh#E__O0^Mvs=XtMDIX2F3q9X-3W_H?Q?7E#A~gqWa*V3BKJ@d=D0u%OV# z5@iS=S7snm(kpY}!u@8Y*_c9V2aHKb#lawuK_%uH>ydhVH1_~lX4pcS1W- zH;!t?tQmU@X2ov$Z&-CEV=-9uJwRa+e*vpr1xu|nz^7TBpp*+{u@x|!ELOd~GJ{o; zxib9W!m2e!1d>H%;nPE1G_cz8*g*!3(oPF`BzUC*JT^`jdP}WRm9PrrapHfY2Y@p1 z6zyl^0pa8j*I?KorW;Kd<|g}6poJYW zHkBKVm7+H1Zw)~G4YOuh4L_Ovjntqn=YoBbOzH$s!TbG0)z4vpo3pJM2X0&8%Rk~5 z%(WadeFLAfpxKb#^t}ZRw)DR9cKCls`7;N1L>aLc&7vf=XAjiICM9anCdZH6YreZXJxlkqQvgT{Ydord^p zL4Ym&c>Zc8PNr;BSQB4|Cz~5_l)95i7HHz7fEW#lUW1Z7xtZHsKP1_`PZVX8yV^rJ z@f_>Sc#gg>+q{H;6$A($jrMvwGi2ZcB#ITY2ZW00`(lQB8&H^L6NrnFA2@tO0{-Y` zj3z-k+4&T^u9$Q3q=HDO6O3o!uA+06;at_Kd?j`q` z3DX4^7P{$)Q$BmN)FcvYQd+>UrW5eSzV@ui6GTaUOWBmTy@t7~?|H^TJOk?v@f zGrmaKkMsmTnimocAchy?AcNsW7_xUcBkpUnU#t;N)`<6$|F?|zS0o5JEk=jgD4av!(p*CQa|sOqckjp>?M-ce zdv_2uFI>{Xon+VhF~|40|31Wm`~&mJKe#}3v||~dfB%lE>ZGdLtE$da)q$!G9RD9> zDo|>nQadX3U{X6plKnel?}JQwr9Kd*d1^Nj2Ol=>E@lNQbQqtkTB?%6fB+A<5$ZGd?%vHjwi__z^qmdFjX-M`J6?`QazYxtpJ z4L{hG;KjuU5Y+gkSWQLeAzrfM$7d=ThN!%&;SXc@L+c4l;Ld9-qu=k$I8UR;>vq2M z+3{Ce%d=RJf@KALtu?Fe3doGM7#^vZ)fazndxoGUJ|YxFy}|4?Z}6eLCNY1FWI`dJ$l;hgBgWe&|jE9KAhKwt}wM@W5 z{H{V;{%A5z#2)L|_W16_2Wx>dqmoF97C7_E+v9|b)AEX-cYbH5YPb?Gg-Sj0I*J3? zvbS+`SwG=xKS&akLStRRSn;+jV`p}(3k|{eQVRkayDqyzKG~)b4nwjx4ar^vPhU<* z-cT{s`V^Pi-vbHbj1%LtPU7nw-!(G*XAMsFDGFD8wHv3XMaE~bF3=-o+nuVxrgOFG z+*NdLF`Ziy@~&6s&M=*W>$`iA?b{;LHw+2!x|6d{4YW*M6Jw$M?go}?IC(i&%XPBV zh}jt@w1a5?@Fpfm)pnCIzykS{Vh|^VhoP}on08!ih|2TUS_^7J$|3865 z!{&r48boW*sG*7`Rg{QGA_?4q85RMhf`Y{b>xMeRBC<6z!1XfVQma+J)z+o9+S-2W zUX{cEL9MbVidqH1!o7@uN(Dq9|M%zIJCh0e{e6GGKd%>)d(S=VbDr~@=RD_G?Acfl zzd4O)RV$1Y*85iD4tzr(+D{dHX*F)a@M)LvvS9)Ow;r9m2Aup8eTH&WeMIPmixu9L z=^eJ8_lt>W+fZC*TVK}LBZv=c?X3fqAyL!Ta*(z5d=SasU^VWfA#B}J1$(hwEU@wq zcnb{o@_l1>YwdT1HlQPsuKm zc=28{)}-vBme<4_+3$EWfQWg294lXKNQq@T4AVjE*9kaCB#>{Y?nAREe$NNvQvWy1 zW+XKbXD_ZFa%$uLNPa{5G?pV&zR6H}LJxn*`;-H4MheV29Y=UG4cX_|GnCM*4bxV$ zDnj$8n-0jO57gfnb@4g9St2!7;+y+jHH9(pyehAA) zIxGWrT_ytWdF$GGfIJSH#-!Wz6)1y)+yvYq6)%r;XFzHmuXFK2XHf z@QDg2JZ*n^vvBpE?ZQ>$;{mSXnF0rr23P+SN?gZR;VSnnUx<@grm)|`4Ue{Ye>8t{ zv}*IzN~*={3{&WLE3R(Us#|sH)@XHWj6ijJ8M2gF`_pem#m_lknVAxxBI?xg0y}Dg zB5%tV5zu;?!3sBPe~NiPz3*}!IClgP&LtfPaSp6 z@YLByhU+)&jplzusPNDNN#LSbo6jFlBporlNQMV$#bfhThqWD}u)KNT8@BZ#y&|xm zGkPbv3C>SK};k$Faajj>r9_5hl3M=jF$4*i)}+_^IQE4 zN%ON(6NcS4m(Fk$p~Mz|V1g5W!h`1fPizI@)W~4IWh)n|ZH(kEH+`?y_Q7fGC4I$0? zr-M>$uKi@LyjPB$(DQK$%vF=5UVU5brAye|4zZIym#W2I{}qZW^-V75a;%Y!mn2M* zLknJ{YgvQoe%%qHAqcgXbDvHHsKHf!jOZa2k4U-rnSCobl<25(B_Dyc*gJji2O|ayS z$QQBprmT@cCadYH40E4)oijL+mUoXS#PW8d`pJFtS!V~=dDzw=<5^~9wD{1aYNLNt zi^NfaE~s{A)0w)eWwmzge<5ACaHDSNkFe}rCJwl-KP2BQWuSe#x~hNT8m0@!jSD~H zYAJqn#D3Rk0JI&yoD0@eEwgL8uwz}g(YJ+eYVSV#fdN-2Ih!?T^gI_aVL;0Gy zSOV4Xi(Tk&&{|_%+NkSdG4D*f7TsamDrtQ(vlc*h`G5?#HbUYlj_n?`&C(K41 z&fke!ir7hY&fzuAGz^f37u7k#Wg?AB`5HSe8|i2PuhGMZ6ozDHL%4AhrM4LtFEn>m zscsK>xZ!`bMvg5YYx`ZbbhcW*(f+BdZvNNEFQ znlU9FydS9jr+VQuOo@l@T{!$8z}t_7F}B3fs_#PcXNYc-yT-Z17!@zPq$RyYtVTp~ zeVN~fvn~{(qE|)i7sh?UlA~H_)!o8Oxlb5_w8c;;uYo7G$BSNzdvsHvy0Q)O@4MY@ z<58juHKOi(hZ>XCjrD5AXM=GQivE6R!QB+iQps*PEq}^~43!Ke-$zv74Wec5Z~AHE zW2O0Zz0>shWy`9j$!s?XGoIsK*U%RCcj;pm9dgJU~k5|SUs1|$D3l9<9`!8ZQ8*qZnC-=pISt;%&saJN~N z9))K&S=WB`Hg*{=Ha7P?Y20PjycL_9x}Iaz<47q~x5BaqSK!HFtQ_RdS!bojAI+u0 zX~=hCKj8u(b~1`&*j^08z1q7$?cv7F#gR%yc3o>#uJOi$D3s?Ky=l(9Dql)@6)mI^ zbO2Igk-0R5mPm#T-9DNKPv-Ma)W*qSs%HQN7S%UyVgS4R0c5L}QXtiHwxW)oQiqkg z{^)9)_vn5lMkQ~lk7HCxq54QAVZV}`KECKzQix9V(IZsT;$_^qdz(qVGtkBkLr6yx zvv!P?>ixz&R^F(}kC`jRa!Gl*HdnqycpM8a3YK$zM=pP2eXXjUG5j21b6{_&X<4W3 z?{SDvRz4VZ2I1K4;&K9Y%*OL$W?KQ~ID>=TS#%n?xrptEQuR(;08;01(w>B}Ar0eO zrry|d-kJ28tp|DDm!U;x1?5Uru9M1fL}+TCUIjiAkZx~ik@3$&&GfmA7A` zvLjUXc$Gy@vI&P00f-WEyy#6-%fR6<1BXj^V@tFeHw(DOQV1Oh(x`%is`8(&{J7TA zbY|hp`;&*f-+##a!b9Gt^X^@*pHI1$I&^0shZR}PgI(YSz~(^u&t&Qz)`hfuPx1x`oS8s?r)sOd|JYv)!#UP9mVNwi zp2jsr*k4dP`sE4j@ccfqLhN{Qrf$qy?y5GE?3az7C{97HM^RB2LuSjlumX8?D0w=W zTkbY_>-+D!R<(Da_OEzKKLR&3&YM4{Kq$$6%W$ON8ZY#2A&t>-c>K;vjRek|Op8Gx z@}~)qGKCM#Ef-g$ceI&b0y-$J158mu1D5pyu0_S;%1vCB~G6 z_N!H-vcZQ>s{i}rJLh?i&6a!EYU7U%PZH0KL?4tm=W?40h$=tEQ`}w035Q>lHK6-V zN1p9w_xK~QC-U7lEnWfS(G!D^d{ScVS&Pe@`b~@xq09TB#6$Y%;2h^>Fc+PTbJ5l# ziOsbr>Wp9!ZHv!<=H%D3+^L0uiE?a)PBka^)g@cvgVW={Y(I}#Xv#z6bF~K9x&50CUBdI~*Do^Jkbd5?)V;Q9*_my)4$7tL;0$ZJ(`ndP^$a6>G$AX#G zsg`rxgXZ&S^g_^1Nsi$FnKQoohl^DjTkNhX^1-sF6Bb*o;~%Tu>T3e&U}8k%0IX_cOc!wmRfqk&?5cIup~OOyIt*J! zQ}5vsJ8H$IMx2XBg#Gq0>=`p6b|w8B8}ze7#J+57>>~O&G3X;c)y7O@k8*}h4*EwF z*y!Zg8ThxJ67;PzeVY+~ zY1fj9k3;GFp%uQeJ2wyI%sp$3g_8cjM-AJJIH&3&#n)Oo7u9-h2DL%tIx!oqG=y$h zUJA2{MNwx_*_U)_sB?BNcWVK7!Y=gdbV`$(tfhqUY6wLRj4POmWlFslT8SU0h%>BY zxN}safHlk>y_``sz@IhYD?m0p-n-;AE5*0p+vEF3J}_n!#K^MWirU2EdfVRs;Q;(? zA(VU=#0ca1I7kRL=aGIbmDq2>KrEYDq@oeExe1oQ8Yys zKgk2tlw|5nNGA&*yDc64qN@cFr#(XsEtEAxSf%6(JnC>y3gRw|(;`HZd{O6&aMkiq zO8OOY93AQ98ZY+AJJcz2n5dI)Nw(|^fZN!Ug-q&J^!@x1cY4D`?eJ4Jc-52q|uNkoSh^!(^ z*2~+1kFhx7VXkh1{0L0-EX?*JyjyPXzImwDG< zzu+AKEZ!FMAvL(g`&NCr1(gDCu71jR&7CjyfA};+pjQAf_U0NGHB31NmxPj!ksr|8(=!$FP=BCac^&$pIZkcDwgcbc^3 zfxdFAN$v%AyxGh^dIKsKtg;QEMGF2#6emeDhEk`hD^bPBsGIycBlb8`XZlYR;(nh( zb15{`sVz2Lz|Va{d=1|?Z*I7KveHXcgGqmhbdEI}ZXcoaifsDtNawh+;r6~tug<31 zq;o9UaC@oJM<~4m^elh=`-41W%{g(cYF@>!=yzyMpUXs~j>#?lj&h@ z|C~AH-c~G3gY{?la}xrg@UF|`pr56p_ zEhF|u95%XYc8w6c7u0kFvdd#5&Iw_A9L&3kLXhhJ$6wGmf@r4V>@s)gy8#n5(-2K1 zJ6zNx*TymI>vmx2P)3?Ne(j!8<-Emolnq|J9-rwodpdB<>G@d0EoXY&$?x?adi<}w z?r3^Fw8*OiZ*tB92HvUu$?JyZxp%G&x_(WjFU}}*z}5V807ui!)ujgf_6UG@5D1lL z0eBu|@Mw3Oy0R4jt^$D5_eLF{X1P(PIO<%=<5&RLDeO>sXwf)HzB5d_y~}N!#z_nO z>ui|E3_VVr96oj^+Y@fOMtsmdPx!C}cFDc;sts4<@Bl;C=V_&OUp2 zpQ$TRR$)GO`8Ce?&Cz(iNx#0VG)%N(n6Bj-I#L^VKuksfvsl}w<9;H zZfD?L?qprepsY3DV#y0GzpVw3>T_3jreY%!>v7eH6qpWj%4O>XmOT@cJ}l~3%*aq? zq-(@EI&5Erm?0pf%>#Xv{^o(DvUi5?l=H0u)L~y5*q0=hV10xB^3P}XodrH{y3Lp_ z;BY+rk?G$}oaSzVwECdgy}$ql*&;xBxCx-xO$PtV)M+0m8{FNGwFOE-Mi)i_&P(%@ zgTJcg#jk15Zc4uZJ{cHgMv;Y;M42;z)2(jU-Wy)CH(b9LI6ZDqw#&68IVd|5l^O3iNz6f}{-sXWkHOviUAJ}_F(vs3~SePHT;j~2Zo9Dq0ZSA%t1?d&nNgF#n!SHL1@20 zwI$#1qxVo%q-|B{zr#DHw`mZ8JjiucvF^1gbyCZz{^=X(zI5s{-EU@h3c4?PC7hj8 zsA?XSYi?$NW@Sd}^K)*$OntHkhoF?Y-yZM*$^kBhfop$TEsV}-;Y?Zx*Z-441ZUt0 z0O_XE(BdO$hh{@5{E;#j9|>4U6@b@?@eUfJaqb28x#yeom+ta+%qZevS}buFWLspi zexdT}$IaPPCQB}S=*xi{=!@d9Wk!3an66v-=>A+)ruz50o*Ym3IW&S9B9akj3@p}V z<&b2$JE9aq46!;qzmjpZgK2D^@9yer&NN}Wt{8`K)EXfYV5LSaIYp7=4>gFstkm(p zIg0%*)#nzGNT;9s^82*Q-~V1?sB==C@e0+gJpJsTE4k}c0qXXK6219m*^>QC1Jh;D zndi%Qg6}^v-*dnD^A+H~ZyOP_5U1b4^uSXhVMo4h0Qck$(F5#9n%zGOZ0sq0w0(ii zC7CTOVowAD8SQ&aqYHm|q#4$`i!`jh?&fv))k6|?i2NeMpKxJ(iEmSJ16&%abfwZ% zu(wLp%NdBUeNb^I`K8{prkC@8p+Mz6w3`W|;=lRI-mpunt9Lh-;?;xX`mNQmGvR3~ zQ2rl zYecW9TdQRz=&x^QCM37Zsn-@D3s@kzSX2V(rD$(OoKX<;nQnN^zHt4%gYiMm@#B9q zG!J{w>sjW=zIky!om`Mt>pcDl9j>YWf+kgmJ&t%!BA*1;$JLp$@YBl3?39+h!`gX#!mOhflrMw!)^T-ewh`if5ZXC z4s3v`uu+!X%)QZu2w{AS+zt$sRfD;gv1<$^jwKT|&NjqqN51>fL)h^4JH0H74A5*j zdNAxt6p=@1l*ozY*jh6v0dTQg$iVky=)L7s87zE{Fk z5XsHp58nbel5=U9iJV=UC(-_j(qJ^XHKm`ec}>|o`CRbjPp?($eQ4{uVC?lX8^P>~ zym&WJr}W>YMDyi;3M4u(C(-)Z)p>Dl2v=06@1xBTu&g}{9<3OWp3h0M9K8+Bzu$$D zUs0dt52{F|#=7+7QqmAO0Y?-{?N1_hbJ*Tc^O|_iU60cg$-ABkgB|Q(>%TwoN(mTM zgw7i{5MDLa%1h&YrenmukU7qUT{Cw-k|8bbujV<~al7H+KqmINg!`8K=ODDfI6l%7 z2K{S^AtL$vtorlvV$VcUH!?drZaF%Vdf-m=8RZ7^x?3@lAI#$Xb_Y zZ{m)OcZ9xiWZl5+l{P~3Fy%kRTuaT{oA<{@Y3of>&EV2D_cg#M^L@4dy(H(m*&iJ| z^vrAV>zFBhw9IAQU-Xjd(|il(w4Z+!oYQ_|a*SxTSzM?DBi;$_>*~KKwWKmmbU>Ln zZ^|KVtVfP?gO;_=a~qQ|!R+->S~xi-k$tm!;7ij8kFj&O8Vn32+i~ISTvE)U597;c zI#+(fO9*l%kzC%8e#gBLA5e)up?BO>P(BlFMKV)~kc-{pXepPT%R*F!)&)ktD}ElJ z#L(JGNwx4`ORRB7zw!BdL&+8(6|vu}e8Zjj{W@1Rwa-gG?>62m`zQYr%l%Kn42D3R zf^n+P=v&Qz;Dp^?nK3oRhH>);0`5S(anv{JeY)%reg*YijtS>?C1w%EM>}IzncT_U zGf;z*g{}MGmb|>iy(gG6945wJ>|n@A)*uk6C|6Hvzx8>C{X}B*?kXdbMmk)ZUdimuMEY+Oz(KjWS&Snl7T~ z1BkvWY_AL3tK=H-FxKfF_q(YFH0wGdB$tp&F5{99iu5?MX!C_qJxZn`M{1#k<~*Li z1E&hS>TqIz&z9)qD?_FiVF_mGGSn>dSK7UrvY zh2ifYf^$ECN;Of{G?Lqw)l&-cY$6_*u;JSC)6ffh2i*iWT2|Z3)0?3mb;UU2s9bIJ zlHn}}!}dr6>l=`ZY~(6;g{R|9n4^a_u*8$5XWI-ETiizgzv>rXIEOFfSQzH7H<~hV z`qf1e1YL|ss?Rs`C7(f>BPv(_c8fcD?cNrz(&Xzl{mTo1=y`7Ga$jC_EXiD3=Tn@P z!hAV}FP@x*c}>)xyPh-rl=0)m$`L-^)QXP}kzJSPQFJhMfQ7{*#3eb zab^WEVR8ZJs}I$2iRHXp3<7Az693kR`j>?e(AoR=l{=y2G~UC`b6K1K1tcCEZ|Z&C8GC;soy-%rEW{j$^0ou5QD%TwpnPd78~L+Y6d^ zJ z@)=Mhy@(UY@JmVPK1N``_JKmt5%}#%jR6UcHCv&6*@_02&Yv)s~XJt zy&=*4PoaA>j#w2Qq)#3_)XEs(UO@Luc@)D?2`k)PpnM2#Q++nKBk){9n3HaIGNoaV z=Q0x@Ou8nA}pfl$ecE-+r z&Ybgr;SZpgM-e!YCPIlkjX)e8`s#CN_YnNc0{_t?*`={Y2SRz47{-D{W& zHt!&KGAlvN={^8R!%gsYom>9J0j@2dHViyuNt)@$*Iohmwe4f}#;%TF@(t~lQH(Ri z2rzqRTB$J%K@bTgo-$lnW+CP9LuP2((A+bnxPA_&#$$Lv>_htmVt-H!CHq?2O*eXv z@}m8co=GJ_`c6ge7xRK~Pc|K2Mu#Dn8&I?)xT}0y95Q~RZ)1bjHI{^G$!jTQc#1t- zC1ZrNoLYZt&{S+i%rGQEc+go^8$Vb}t~x*6$o#CdHc zNH0oqWvu|qX0}I!F4ceF6LPq)7d;*4tU9Nx%o$b+uUIp0zY5sHkobxFMXK=AnyP=! zKHPG8tQc6v^2y+U?b}p@~ws=&Jw@9H)3b8Bi(cjnj@1AKwoQ|qh2;Nb`8w+ zYIMHhl@X@|J3dA#y}3{#VOo=asz;_ODsgQj&1mtD`lJRT^|N6$ZO3 zx_WYJS3`@(YIXbF^&$p?a_$@42T#}LA0HiM>kB(`)m^hrcQPx0<@Cpg=5g98A{jAC z0I`%INpD|_t-6mgceDuJp>xy&H7#7U z_HTU5%s?n9e}sO$E;WU5Urh8G2a|jJ;IN*3UQ3ZA-?c?1H z-#f*RhTD``X7J^5&4Ueq~E~O?s8dX~;+Y7vEE& zqWyV;!IP>%Me)9<;?8=e1Bg1hO!_cKnIlao*BDfA zWLZNK-BYk_Gg{|~&%~0N_-3ls8A7XzaqDJ%lKgVq_3t8KpLm#^Q4Kx7T zL-#gdFiBhvtZtq^*i+XDMNJwas$|thA5_Nx>M7^?qv+71Am>iq=b?{0ujP^d;^D_k z=+=?Q0$=atbG7#~oYwmk;BxIC!G-wpC!vk*!=<|=GohUp%#*pN zX7qyvnw+elp(}1vAk?YQ2VopeV_7+K>3+I^sFj=A@S8z=7TIC}lrtjE)#5nmhB!u% z<{j?+!UpY?i_{#j;xf6vWtStvMqV+n7_sBP63!PhOTtwLW)0ABEaD8s2%uo<@YLuI z=+3X6RcZEU5K6}x&Zk`lUInz}UhhUTy*K3L$6xhE@k~?!?MG|IBF%VJ%RG`gZUE36 z*#srf&Z8Q_q3AAeZo0+L`pkTMZ!S`WUFrgyJ2#7Sy>(4)fHoRv5hB{C7#yx%qzXTI z#HVHH>I^>uykA89*vGbygl&hw`{kg97xXPv_+U`O|1<^T=9?+V$OE-kW%~brz^8a` zs;;gL26L%7Ro8#p5*v}*8%}!e>GUQ&5uCeqI5;=#R6|VRML3K42#FStImOKa;J9e- zmL8}|M-|1MGV53Pweri%c=vM1%56dT^`@xG|A1e!lLYGfmriD%1n~3q$-c_!lYwR| ze+4 z(HSCKe?tieteLf(Y}2P>M+Qr*OLZe*+}d=w$du^TyuGz%yFa7@rxnKQQV_h7zRuSP_=WNo78H*2zvGbHT~g z)kDD%Mt*GAxz@+W+EER0aW1WRj8p}x)^{!g`j zgw4DOFmGd-k*O<;o($ZYCawg5bkz1+j9nt-O6~DJh;M;&j`o8G#P2GxXW|$X-&O=i zR9DJ<1CR+&*pr5S)cFO-@j*??m-p2XpdE&_|QoLT&-nt+9^uolC2-|z0 zj`O})2&zaQ89w`buQfR>lG2Sp}vY)Cj(@&>PU|DK?@sja~z3 zEB_RmDUIt6sMu-BQD-V;*LjX-yv;;xRHtqkst(~&?m1CvAXFSqje$x7B?AxVA`amU z{cqZes19}t@fDQXs(K%3aQtoARF-D=g~sd4inv`Xdn_WZba?8@Q@CdPmpCa|IJSo` zi#R`3<;kAe{s3cL_Hp&pofsqxZ3ZISLGV@BVTbLhC0=0i#eJ<|jx9)`_~1a6ZrMK# zC6^oQ`UOb-0V~e^{Aq(zu(8dsvCVtdd-EX@*lSAirqS9vVkwb{6hQ9tUkmCis*vBZ%UYGE<4G$yRnqnz-Zx4rGCaD zeU;R3YIcSD(p+go#A0D1*7-CbzkA%9@zfA?ejG;Q2ysE!J|~nYW|FjNJx5s~U5V9i z7SJ3Z%25zx%~^JbD7;8)bX9Fl)IXF(6Yw(M<447`ZbRbEe%qe$^y zplIv*(`rtf3-sB~^3KzKCLU{}2#j$7{ytAahzcPT)Pn=or#f=VM!bNEe-|Ihfgh@iBoQ7sTrve_NS`m2Ja!D$1}9pQdAmCpXH z_Y`)?*1Urwnn1B7Pf?IN^me)xnYh6RrgRrI1P*K`SkMdB4T@Ms1jbtSZR_+sAj~IH z1?N3ahS%WVj)?OkM(XX}Cn*a|<7Yot$!&tq0hNjN$;BNX< zt;aE3ySUhE(p))%;G4Q@b>lh7U)W2j6c!cY$nI7_)iWx+k4bBVpFIXbJSJ!4zRQG$ z;waH27Cl2=oye*_ifv_a#x}{)CE|<#rt6~iYO5#K?%Tt}@($;J6Rw|?mlyj>Bz0AX zNY&QRFDC;Q(zxaCsTkSmU$w#@ImyTwjj^G33D4vc*>p^i<)z+L43^zeJIDy8C(k|V z2}IVi15b4IbY^G{x1Wv9?Tw{Sz}{?v$IZcOObDxArUL$WYy?dWE0Verpz|~W%j&X; z+Wp`=^aDY@+*9PH8N|rJA}2OqV5P z1!v8IJQT;>cXw!Y9)|Su5EKumEO3zUDo3CTM|Ty^&e&p@t5&OD9Se3beug6bpt@Z7 z;#(g*nfF+AmY5-JL!snnf}g)jciu^e*+~{&Oe|=H@_ooH@B+;~q{J6dTU`RL7 zwosaSz5&wx7Ol7^PFLs{EqB&lp4UkjRX+=jh})RG3h!My5NRtu6BO8kzJIJSx5$#8Z>dbQd5 zlQ{V1vWqWt0JVz_bfDV1NFAu3HNt-%;a%vzOUHok6TP4M?^8gdTeqm_@+sbrN%N-j z=DBdC-fo`EF40QATJ^IzIsTAT>9jtzxurBnZ_gCeKIE){7R?}DGH z!d-V#4xaf?>#M%{ENPQ(LAb$v`7_NdrHQ*@SUkis@Ek_iWh(0bsNnQHMv$& zDPK6%i~?YDP0ufD?d7&B5tR|uRp*IcDhhfWN^GNHqjwHX-|4RYG^qDok|W~yyS+LJ zY6fR^Zv%&8Fs=!VOZRlsf6nZ;K0n@~^E;P2M!MLSem{3s(C^`yqk60kQV(0PJ&Mx@ z{Dy^lE|2(h-yG9Vg5<|9tQ2T-j_F?Xg7$~lBiO5ar`rQJ`e2tFUw7E?N4y8=wm1s^ zJdbN)2v4NyGymEWQO1`SS$VWjwMJY|`rd%w(A9VLz`0dtR@Mj#Ies($gtrVkXLC3w zNvACCriS_JzjK*sn7d#oJ=3wU2kl4uO=JCc75S?|5m_<=J|!QgD;mEqA;^(u>u4WM zje-4qoh*h4e#vxuHDRD`L0!>^2Nd-MWkU8lu2*H}i+Tv+fo<52=*2Ldl*RAWD%>z} zLlb{H;0GYDK4F2qFGWD`J)nn@|AYdVhK(9F{vWVarXgm#Ss^j1zTjy^UC)C!+u<@m z9mYacRAU&+(G>iYPE;a7CowE{XM-4ZI%(hw*#B55{tICmbdelZ)kvP?8XB;3J$xv{ z&s!&u8PK)@J(N&fo``djH;%e<&s)rILS}W6f0>5Z9^zxIs+ywsMTV2jv@%+!=(dx) z>b)OmO1m5fXtKw!JD5~#yv#+Np5A8~p3#&LgX~uuFmpdp_dTxmkIrRiI0-$?P+F^w zrhdj~%wgJGfyV~wApH^SjgLU9p`ej|ry@GyfltXR1+V%!I!q5{|2Uf0V8XqQJbQ!x z4UwF|&!O}YduBYdLng!aZWJiLC^kpsKnmR@EA*42sLGFZUJF;@y&%=Q39I4IlDnxf z>_p+=$CN9;;Ud{mhtY9s+*mNgIlmoy7;4_c{#a!`ExsA10NcBOngOeW7*q8Cc|_c5RG2-0}_*~6Ui?JB}mX{CQ0 zN6I{~KN>HTsX}+A-zjL5xoDKW4Tbwuz%RR<@NFwv zJe|CrWWC-cJY~n9xgRw8ujqjL^3B<8?*$aFBDfBaD+O~wP(uT&s%YR(UDZIm5=%>V zgg!m`lJ;vq?RYwO+8C{_x}q4TG&cXO?wh~ukmv0eBPIcxG(PS>jl1GTEU@K7MzVu2 zC|-my{D23!O<}FsDBLD~uSE>3x_vlWHFDxl^?xnOwgUgf{oWVU$o>?D4sxnP_+jBS zd(jJO$Nn&kOBkFIGQR|l1&-H7h(3TIhDx}l03Y1g`e4?(K{VubgPFwg@Z0!bEJx9P zcDQ$M)nbhO7LA9ps3@*Zu+pgIFdRiBj};Zj$hk(^Ct3JH6~Pa@y&OjBP?#t1+wVgi zeL#@=T?9O-vQiV+$xU}$?}MN#f2RoQ1JZIbKIXNjCVN0jyvh8~L@nP_Gl3iRe+YO~ zKj_ux57en<(Pd{1)jg)|WW7c_PTnp~&w{Uu8Y36(9xfq)aag7!`M^GE+_{ zOqqN{CGQm?ZQ_Uak<5%Qsy3Zi1!{$zvm*8<*j;iy#y9Y{!cmC}x~t=9y*ZfhLR)l4 z);SQNaQ0!F$lY2YO9f>zJm+_f`F$%uARC?~{hCZf%-K$6u81X=?@#f%W9moWV2$rL zt0i`YPXe5qIg+D*7|gdgEN&GlrNZn!Ijkf5#=iNbycNpz^YkA7$KLVW!?n$_GYa{;S7;MCS&jVv~tB^W= z<~d+D>kz46@@hm75G-Tp)^ewGm_Pv|MUuSGEI5BzqG5trRdq2?O$H|hX`XN&Wx;AJk*7PzcULYQA>WazE%8VA z#**dR`FtDZ)OIb^jY_9z)kf_Xm*%H`Ne(sy*69f*N33fFG=@!q(x38;O@VK^upi>w z-nCi?PR(26uk($Kfp5|gXG7{bLZG7DXE69Uax&jOGT+8`ov1;Zjph!%9d5n}1Jv6o z>Mf`2Ere?@ybEr?RPU3fY@+L2{;IznbOmF)22cgpE@ZjGWcgKBZIJA4WU1PO`K4b= zN0X)gGflj4B^7bb?rtQN%Yhx^3ndk}-g|*Jxd#vjlBE*y2~Y^GfpZi}_ok6d?oD$I zvp2m~KX2=2rGA?9^O}BM($BNrceLsit7+#}@M;4NiM(rdew(Ea!)VdFjGsgKlh%09 ztV(l!Knyd7&FADw*ttVjGt&?|J+nog#CG`fPgyt%I{JI?_V3rP^`%0(Z#Nf;i8~}) zP8_#HbW~;1|38wHniLm5DHEnSPQXa%o@&6hg7vF z#d>B(lwzY#A?lzIbv}it+Q4H#B$5rv#=lUamg*&SN%Z4E7ZHE&;1dbmN18#{Til0( zG%@O0?JXk$0P8C*EKO7nZDaLmqxjnofiJ*5;6h z&kgEGXV~Hlg4Zg+Y%?37F{=m z?T=;DGsHQnyX0bHBUPJXT(y5BX2qCP*n1+W^C3vgGwCe-?uJlxV(ACO=x%aAuE?>59FVK-hFn2ZHX35& z6RPFrTckULDj+x_Mn0jEe^?mb?$sg(l-p#8kx!`ln^te{jthsa;<8)fB1S%;sx;+p z?>E3zCZ6s-INYMM_qcx{d9rtyHsiJ-;(@s*h3Ks=@v zigO zhX;}sk&!@gzr=MRJV_rmd=53ZbXuR@>??>_(LUNJz4-z|t_xra28bjdBLN*2dtwK&+cT?ArRFWu z_;YsYw)77%;_}@2<*Jv^rpC>LuC#0rhjZPQ0T#Or?*pk4&l?t2hEeXJU=<>`l1r?k z31(auqs8%4@aYyxu7w&L+FL&m7Duw-pdxyQrpnGVp+P3vt1UUkRo#{mSJ)vU0#i33 zKcIu#V~=MFx&I0ZZO{XL?PP$Psu5di*@wq24+?}5Q~Z`p1D(`>M$yi+WJZxyNk!@T zJ?hF9JePuLM1_~Iq?m8i-zDQI^16|3QX+h+$t0&2>)yxDd2x`_NSTDbLY<@9Wl<+~ z44ASu>|@HJl|H5@Y_AO10!(SelPR1@+$Vxu7tzC3Oc|QNlz1Gzo@twnAr8mwnwLtc z&D?^$QQ1H`N*uc$2kRpC8@rwg+&P$ai61VI$)G-e{o_d%xiB`BnPik3Q*@qN+^;5J zs0vf?#y>FJ?a3F=*>7kkbF=FyY6up4+ZrSGb?nYQ%FcexJNaYCN?-jX^rM@D9Qx?X zhj;t>U3f6b$Uj(lJ3-M{AfEYL#U4LgRE;GrNbMp|2T z%=oigNEg0Gq zK_sNR9w4$^gRXSo-Q=Qs2U`62b>E=8!EsuP`B>WsS!6B@ONC>+7bF04ro-`5Sxj0U zs{T4XQ0qT}8piSNE2Zpk{}7}NHnqZhY;cz?3~I$QA}A6{OwO(Kb6xhU){pf-tycv# zyv2J4lp}+*7f1sxs`bW9t){OK#qQZ!sceR+l}=9yY7GT7OfGskJbu^`)SOZ*+k!E}U8)57Is(E$Hj(3o;Nu>z5BHo zd<{OO2L?YmC_F2t!qGw6wXGH2oT(5WBRAz%Sd^)-B|yw$g2FouV*2B5AEbRun&FE# zxTSuD=#l5v_N=J5y7!bGbeoPa&0TgtVAB;M*9Uj$i!g+dKb8AI%8-qhljx>jRN>X|p5?!c=#cKi5Q4tRvjI(%7TDh|Mj&vx`jG0qph`TqIq7k`jkxe~ zqyis>7Cp=!g0`J}%nwZ!;1(ADy*pwN9frBz(xvoPBP<-ejB2#sz9b=;FDxXuQnxdy zm+PDOpP&|JT@AHB!NarU8dYDjhZ&#Vf~1Zzo{sTt_jBJL_3O7^Gn}@o!;FP$&(nbVgpJED zL9Ed2mZ^IIbq9(OiT9}zDLAJw)xDA*_%CGJ!&A5S8=*m^CX%~tdoY3DUMa}R5oa5D zA^VTvK!vSOAgdKKP%Z?kKZCfvjqE6Rhi0Ya#@xTigL;qy^)DLy2VC;{GH^{G5W)AuBaq+T;F6wK_*@ zM#P~6unfzCF91?4$jqmya;KYAl>#G`#t{w1Re*yG{J!@X*+rJuU}vRW_7zS* zK3Rd>z2YY(BJaXW{GKn~b3C=KZyf@@(K!Iytv14;q8#qOpiJ91!G6TErutV@`@Gqg zulc;0+-`B?G7Nm!-e`C;$uWwT`rozGC7A{YMDEc`)n)93a}kraWjPpJ;1%=Gb5Rb< zp%YJr2eSu?b22Ok+ii}EGPlg!dU8ZibHvz%%zuJyh^`K^Cjd@=q2wZyK~`L>yweQ% zMtF!=O7@(E-*h%U38Btfz*s!L%J|*mhr%nlcg+oUjKWpqihokMJ^iqJD(W1Q3x*B` zOtFm?moQ=qex`Eva$}=pnp_ba)4-+l%igVR=7)>M%C+X8X095iNtjpc&VNfH6jp^C z{mO_Ped?Wo=L3XjzN23bO7;r(<1^X=05HdR22I% zHbrGI%x4#}Ag>1^(|{v9o~)u5Q;8PdZ2lVi`Iq6m0L}*Y(>H<|2l2_&s3^()JrJKK z%xZHc+bhEMC+%&RCoEV`ZNy?<;ptrEF9et3GVupmcNQzVkBEmGlw&S;PAXz=-EUtvzDb ziH*w^GZ(z~`Nhl$=$An;T%`uZ{NtdCoe_}P4{?bg-g5XI0Sk@%cnIZ8?00#Y(H5S5 zFym7#y^;y`H^oF3RiEl|;LpYqanRr%= z4&LSu=xkA&G<0$qeZ;^hcsH21U zxjNVX2S$B3WhEq;Wy@)2|AO<_R+!cbp+%d$s4sgFAIkNi6>)BU(cfN{n)BlZw=o|h zXDzZNnDZm5rU2{YwFizt1>WpQFOzJR<+Pw=QY8gDx6c*9=yYC4+(0^nVl}sJX2|r3 z8&u%wliC+E>BfGbG?W->@<$w8f{KHvaDVORFeLYL4w)~**3+_~GH)&yccXa2Goga8 zRp)aR|01*KU)Yh`Q1)FE5$Or$233ST?h=ZM(CmST_+9Cp=?awl8|pCkd^_D!P7Ck= zMEsOwL%o{aP$roZ*_$Sr(^9iLy@$yS#mr_kl*N6xJb=pUX5(aYP=k%$8FNn!zv=FO+Fy~{h(n24e2dsqSgUyIv&WXod%c?Ko86;B z$%joZ!yEUi1D|kA3%%`sL>$Cf05fq42GFS3?^3Vb}B`M7+v}1ckQT5 z*FcPa!Dty>ggtJTUag3+T-Vgv)|%bj{zRLr`oEcEgBTOK2Z#~PW))(TxbsiRMGRyx zJ(R&9#_4pyM~qEo^OUohr%jqcjCzx35M!wUmXuY57@PkTAVy4x@gUzo3J^o?n}rxt z%Dqj7(UlU8b7VMm8KXk)om^SA-M6&v@7Itd?97U}!K5JsFia)MocNVsQKF*2dKkttDVASkmLO+WO}722IqgGY0qW zf17TYsh0kK?o_X6)KnKh1I*?gwL3!t7SfuT>i;IUnd)4Z9)+c}V_xiJGX8-Rd+06bG$C%uq z#PDoZf2tOi1t7|hh2xdM%)ai&{Mq;80ciGLHECw{b$=CH@AVWSAUeIAj_0mte}Di` zwnA($8{C(;{4`{k8M%+TjG>Pp0(Kx?-x)+bOi(xM#JCxLuahx&QRC;%hglYk-fPTr z4ph}(>v>2@Ub?xdMRUTO`;cy635J$ib10c+oSASf90|Qjok6n|n|5?WXD=(v6juxv z47oV(g_18(JR5{b<^N?4j@kKDPb{PO!$VG1i_-Urmd{I7gzSqj}*6XXv zrhjSvczsQ`u2goun>0-v;JT9Rf6QjT2gjF1ssbqMoUYv7-;s44GA3p7&%k~@zf--k z_29qR;+{+dRZLQq&yu~h3Zx*7@JKB&!m`TCQ@=HSnh0qo?HTfMM@A3 zJd~VA5qE%(N%2lUW5jsanecAAJns>{w9bF){TRVG*j&opOaD+H>XLj0gf&jAP6x3h zhaz6qSgH>t#ukCfsV*ab*N&6z%20AW?7;3{DwqpHPEmc>xvV(+Qmy~5z{n_x)_iaP z5t|2ual|i0uW;r1aIY_McN*aowj_@#39E}KN>liiQ=YwV_2n1N?7#(kVYJt~5vhxQ zHz2&{i%2h`Mc$V0Hh}%>bwoRR?eV#+*D~s{-2G zuSG;>+`oMAU1milT3GiORam7a_HUj2W(@{`I6pp|2=z!du6qY!xw{eWdVrqlKdTNU zdht|O3D>-RNGeuR5lW7ykAt1-&nH~eAo+XgP-kzOdQx3#%x)^_FtvNFy}IVLxBvOi zf7a~T(zvaCZR)tY>+(OY>-Eu6CF1s?rvCMcJzHxRUX0_MH8qW1`#R}MoXR4pss9!? z-h&QKJ+`La>!`P>#kKazJzJ?K)%ouHH)?vlQM2@fWO}5jrm><%^$a6o`Pv#>g4SV4 zmyjPcb%c5jOg*WlejD}tpS$&L^yjqF+ASiXt6PVeZry3BGu_%hwP&_l$Iz{pG@d=5 znK7Qv7+dOCPW6oy)J3QEzxK0ZURbkdi{G~{^er~H=GBf=7v`X+KH;o-YH>~KqTTA> z;r8mvwKaRb0X72Q!eaA=OKJP{_&bNl6XeT(A&dewX@^g4XGY8(idt{pGx==RLlF%j zns|u0V=wi$Pu-j-Xo6@Y_g91YHdh93b~#T{%BXLnIG4j8)CzBFI1HLocnvrkopb;f zCIOzcxI@>qqS!-kvvE9MT}sE>BA2{eJPB%TeG8UL!Qj{OV5Q;}xB~VO3`S9Gg8kL- z)cJpbM%TP-(C9Tyc+EdFO-_})w`R{Kp+mvlOq0DYzoFOb_UihEikgMhxc^?6{hHrU z)2mUrw`fl47Fq|v5FpFkW-7>L*&Jj!(75feAIS2enaQm|ru~iEy8KY4<(J+Ls+p#~ ztFgZYg9>Z*e1;!kLh8C58n-dS-)sEE`cHcd+>@!fedD$t{ZOXs-kfkSZdmI4KZ6i?)}9YB zse32VYln9N+fo~OAjB`x9x--?9~hP@NU6-cgDr17&@Y-AnNN(}!=`n#&y8Y3N}%u- z`^%T=hsvpDW4lI|eFs9RpAxN>!)ve25Muk>f%fRb3f$`+&Y`EM6|{IyQAw75!f%>b zi-x^^h%bkr^6em!PvJV1{S(BMs{0B7P9A>e?cI3Kqj|pl0m9IQ zf=(#$uJWaNe{vglQBn|3oxI~je5T!8nz|UDX-AdWBk`HGKy@JczEg!H=BzOy>!w<4 zWab@QNn%}UESNn37h?zLX8jJFq3sH#3RF41BH@Ns)ZuD5kbyoe*z4_^PbY3t`G{!e@0|0l63B&F| zrE}xcGPNHQba(ES>ez4nV)tqM;rbca1tp$>QW8ZJH>0 z<2k_h@)@y9V&-fBiywo3*9rF)3IvU$e-kuIfGH|Y-{FqwkL2(op1nWulS5D8aR=mu zlD|{?+yeQL8C>};Pyje~2T9Z{yM6bDJ*&qteuI2}_z&9eslt`hhUGcMG8y-+=4O`X z#dMZ%Pu;(d;y5Cf4~qX5_RK`0r#aLsW1aUB#2;J#|H ztqNpYtB#r&I5S;q&0czUFy6yCe&l}-Q7C|OOela_UdDNAQ8Qq^9Af1-L*cOru6wKN z2iG0w(i;B#dzeyl-W=yWPUeiD*1G~Gi*wjSrZJSL(F>FQz9)^Rj0o2o!Hc`$J~Vws zncTNB7;^6s;8OixJy{+(-6f|M#;aeXFn0liQjMxS^yGYZ*X_qY)rqC|JHg;^?8Ob5&LU>c`x|#mj5MgzTmA4d)?s6 z-~2EATE9FJe7Vp6lHdAee(+_M`O@Wsy+c@^(V|fDCKAy7sW9%)!uAb9kx+7yvcchE zjFPp$8KShnZrB)*nE_@8=ie9GTf81jPaAv(%YA=Xd4GgVCQmhW6Tw3#xxTyz%X8){ z$6p&#NyjG&I!?>TOg9cPs)zpss9Di;PI(+?VObxjEBM_;p3}2kqNUUo_(l}u?wc~|bSyKJaIZ?OXD_GW(PcDLd zWtvYrW(BK%b28 z7P@3xXe2wSriIqjC;U{?LTl;+CiT_1{4p)e`hgZA=pzV7Q0{f0O!5@+V2ctzfkvuL zDQTH!nonHEizi(0{Q*g>#4oplNeowg5?iSX%_vNT@s3m$`@6SZEZUp;arN_+e!k`> z%P$&!EfW*7NdPnS2k&Mc29%??FS_yr#8(QmGq5i|`#|AQ<%G*Cj=`pG^t~d$))2b9 zaHH&Ioo6KBVc+X8=TtENcBR?pukb^A7QSj;uagRNIpBeMZ%qHgJ@>AHytJ#dQo#)E zi4%fv54Y)Gb+&({LI2PMGW}Di8^3=HU{uBT`-c;u!fMk$!Wjj9+bCwUwQoKBzCk7j zRtyN*U+O-1=l|5VM-6>?@dBoXe{)7zip{!@IkKEC>r^#h;f}f63_S~+c9+)-dt314 zxTdAWK*{|Jl|$H#Udi(+DfRd^=LzvMY`W}<_|2&w%oMpg7|*F%*5(?ZAAJwo4d@wD@h12(ZZF0m z&==uy23AMyg_=)={fye^WDP`cM}$c30SLlJ0LFpk0#($$Gml)c`@&UCv+o9}Q9rrR z@Mr*FCfp$-!&lHgp`SFmTi1Wi_}El6zWTibVpj(PWSSdDF$1jl!2zCN!di6qIZ=5@ zvK*SsxG9cxW#rwXZAWgw12#*SWpgVO`q0@d6yEnCfXC7d6v9{?;{z{h&okmndthk> z3dAlH6wIA))E-g9{w6fIo~u#epEUuki;W^&N%Pi2is#^U8{vcG_xObqW9xAy@6oScbv#+E0(wcHUa)Nx+X}bhc3I`(F1^`NQ>_R(h(>^=J1$Mby{H3c9<~o%S1lcn?Z8UB5p+ zUM}@5bBgHvg-#Kik+ZB8ZXfD1POdRh-0EI?LRPGv_!%`IeTi26n}Dzmqv9ljjgwpA zHl_W0m_&cF46$psOCp`0UdJ|&{;i7x9Rcc{v$Qw9?>=$A-=U7=rPD8v{5>e+uiWH{ z;XP?Tk|wbS*=~=aHBZ7(Z-9PY2i|~8^Kb9*_I{^uv;O^%iGOCV3y#rd<=6NB@z$u$ z$S)d@75;Iev|iSs@#_A4lenz8gw%1W~TP1DQ-D^Qd^>Ow=HmQ`@Pip zaE_9?nMUwyCe!^ll`X&!!~Ir*M{phPac=}{f8h|Sz&^*+$K@Y<*XjwfQo;FR^7k}s zHZ=J`!TYc|4qT$FQqdd6gFmp@$7co>yFu>ODlu9`LAFl1a4Y<~S;kb}Iwt9T4%Hb@ zTBK$`AAdouPM=r)ogGkj2Be4;*iUCQkrcFIw{qI6jnc077%$!v{2U^0Wa608Q6R~0 zf8rmP+ALnfln1Iuh95U#LU%XOLc};K4x2c)Qk@e@+%voSe4f+}595%1gMjh8VLl^6+2R@hFl1?!s}?xk&gxBt*iNRK;R{#cL-Fe(JuUZ|jlRs3 z@7(2|LmAfQfB#P7*XUOEXLKemEmAN4grEEuXpA^(IwL&JjF5F5zmWAb*RU*=Z&Yq~ zi*u@t5e>Qjglv^@Rf(q|Q)}!w;rUOgGX0eM)agV;YTdtldzZi;lKhkEsNCfoJP)z+ zKO+?I9hPFMdl!Da+aLo#5(r`2G}#wE>*IhT!Qu49^3RK@>BPS|)?m507Jpt}>*rWl zOO2L~$_W#7eGMRvB8J|>JfWD3a()`6MkNzog_HC`Qwldp!Rd`VZ$9GMX<%uhA!NtD z^$$ZQQIpPU6Zp&B*lO_^qu}y3xbsm|hk(Q?!gejZ2!s+}d)BOgMoX_v}X4a0ldY>~Vz+kFN_Y>LwvAD$ZuvKLhp{9;v878q)ietA#daa1$ zH@m;)GRb!Z8pG2v6tBKXPw|)+=v~E%8xyv*u zK5PB%dFGy3t8%BiBn+6H%UBw?z(o5zqo6uc`R(Gas~y`^`>YBqjyc{_UT|RH-+2(eSJhde#ZM>| z&q!w1!i{PnEBv~##B(0u{^RJ(78Xj}N;Z+2YtWQ2h@{ZW@b+xYJKc*iiT(Y=(tt5* zoxV7l4NRRJ)n)Msz_}%KQ`OmuI^i8l@mBhUW`ooy-SrNB=MIx@WNuuc=hi3NK$XzIB~V#D!2R ztV%VMj-Rz+X0<7tgPGoLA66$bgf^Hdzdc~(r+iPB@7_8y-szKkWPO=D;Amb) zyrFyoSriaoCCy#^%J+bH8W<-a0+!c_fXgZuNfLV%gqt$0PFAbG_kP14Z#+La?Pv5^ zz`J>0OxD^&*<`E`P#fuJoPe^Pr;EPnVTvAd5HV3UmLkx!7r|luo1NO}np|kL$}ON`q@M;)OB@ zAB==J&*YkXK8p08St-1Z(bLo`rYcl;dr(t0oNP$r=qs)V2NjW2=K-=mSa7n6VGZX# zH#a!=C(2e+ER?w8@ULOz(PL^(l&vI1gVA$C&hwW%>tD_8`ru-^raNVWT|8X;wGnB4 zezL!d&p$&090-@&0IoZ)n1_K5lPn6Z|R*uN_KEARL!I@P~2zvfsCyZ3uPF67V2qrZ~P^V4M(XcDm>D;psU z(~yX_Hn#pC#{}H`;;s>4lq{r*!kFeQI8Ifl$92x2u{HI3yM~fK%L6vf#aGriQzshL ziD}0(*><{)IK92Ti&niATC|0^KvjV%uP?Jg3(n#dztJ27U-+?K`B;e)s!1!T(b&1X zoG?C`nsz-w9{z)PC7ddFpuX>s!drN-1`6ralPsa32(#yE)Sx5)IlZivep}AdWgGR0 zLCy{S3U;`N!0BeR*WPgb-oc^y-xO=y50$OwlkgT%2GOt9Q4z%xBh|? ztki5KY-UMl!M{3u-BODYUaIhm-aYb$PC9B~IDd6b%f_qkbOw>7xqd5f>T3G1yY~d;({L7Rz~-RF^}<&fqA-7e>a7R&x5gX&gl2>c!& zYfmsEnH`Hbj|IgqD!^^q(B|6XXp$(>mqr|aArNW|JI@t-DKQ7LS=A9|ktu^78!Tfp zU%Hp7jKm4Sm-^QakEF_URhvg+-OKf${x3;&6e;$B2F0>k5%m;4On8 zY`edxR$V5lobp=qtU-U}_{#`h`@#^Q3*P<+C9VxE-q(d1vk3B#j}57_*J;oOH$M$6 zaLQEEE5Y;!K+I=le67RSLbfxBry}{!8YIBONS1$aP7t}fxRc^%4KF~==t#7HhXEcLm34$WV75=%yVu+`p2#Bi$4s)N8*3oxdN z)C`8u;)!LJ)yMY$v`6K zzzm?EQo%xt^@dd{6F}u=XCgTr4q$6rTiZ&jt@gDS+bUYG2?#+E%$&2YYp=a-d+oKb>qYXY4vuxRF^h9@`Pu|g8<)ON%30|} zsE`m`g_2J|XBJZ3Z@dTrS6r{CC|n4G{mP~6kMjEc7vz?q%w$v)HemLSW9>iVvscG*XwFj{w;5KTy+UT!_v7la$sRkt)dnO7B>*PTHO0$|vw5e&=+hBGDT5Rzu#GXjeR6QZ4!o?n2;XIinfsQCbn(Eg_VZ4U1hh;TGE>ia&` zAxj*kt~X??xF$QJ0J8~HJw#(RVQHdrueJETep-+@MR6k^E!66h6k_pgg9bTr9l{PD z>k@#bVXCW;BCkAE_!4de@^WbZWhYf9MUJ0>9N!)7#M1$I+?`bIuqX1(T(>$vGPn-s z9Z?SLheQ?b`RPK#X6`nu4rJSWT%o{O=~QCK+XPYe&p&5>yW6CW;_kXQ?q5wUMR7uq z$Bo^Uv;+l2dF>J3{04@0Sd<`(|KrQD#1yB`DTU}3Sc^6wr(}CzD>=LzrF7chMRx2^ z``exSqiR$Em)FuOi&~yFma%yH!&t4%l4-M|qf2VCI;ts-jq&>4oN&jN1dVu9ch)Dk zz+v|%wUxo-qUAY}2cYgaEA@I;sEQCOiKD zvmO0=P9;>j>UUzuYNz#uQC^=Q*P5=2ahIRVWRAPOgHS_!cc@)dM)J z&3=B6ji?x`6=qW>+)pGog`I_%PXesqdu*)BmpxfZOa73nBk^(s7(J;_q9x=#$6A^r z=`xJ%B(A8D2-_3x9LSnoA^@27I{*-3f1-Q`=QGF?-(c^FX^PqrpeCLjW{`J>lU@n( zhEq$r{UM!kcOuAJUDS(`3B1Lwo%H7?$3pF`75QYy^()%tk1< zUFT}SLmxvKRXo&Hs_r%_6?!)d9$z@Oto<-Dw;TNGBDB%vmUn*rA8CT#8VLT6SZb9`pKZe@pv*JWoRt^Yf5dN>)U@RO)yNMMBHuvf}VCPrDnLtdI1zg|zMu zNE(?;H-H|r>5}tSP)(~d9{1vVI({VH!z3rfElNlU@55inf*n-2-a5pDm5o{P&X^=MCE!beLs)HEzNd9 zBQuvfNx*=*Q5JA_kEW{4DuTlO%4XgG6+1EEUDwB4%QMRrcelGQGvrlJyLi*?!p-mC z^87f{&tsBgizy{@0pxD!Uaa}XN%y29a5@@2tst9-Z3#Vl;#HR-zA5$=$EigvPrIAb z`(kqXyRxU&gSiuZt^*9e1$VmZKk@9m0%ehBu|?4#d&T~ocMMhMt0=pOdMStkz}(F( zcYg*xBkKE{Lnr`smR?;JoM*^d7k?wjodTlC@ygWHc&|T2hn<+LBejrrh*mjLThBrqi+?oB69-+NI=%F>piGSh7%!!W4@=wAoxt`ri zyEV91I35Q*vHcwikjw3<|FWBh7fE)mafeq!xN#W&sqNla65O2eKzV7AcPpgmQ~}q;bKx31&jhs-?|{8#z?V?G?NH8TLpo>z4bm zVhLPnT`OXg%%M2w1L`5RSi>+HSmE=F&2sPR1)shPk5r7>wl{qD~?v>2@tsuJ_>dr1*%X1sab>k=8 z5Kwg0oEBs)ITtBBXChd-jq*VjAa&6%9PeUVi8GcA+M@^z7mwEYXQT-yEN7F`w7Xl8AciD z8xr1j1`nF;DEXsP?_`=`1T>ZE=Dn_#I ztUJCUx1vUul@rP`@tw-SWwXA-o<6pway-Hy9>D-?DhA&9@JAvF-h|LM4d41{6i!qQ zEt_RgcvgE&}+A_(Ud-0rK^UP%{;00`t1K}K32y))k{gmF{ZH^1NmY%ggoMVG2ZGS@PPrA%;!G#_3`^3y| zswp?Wja*%A1ew=}*-fPj&M;6r0&3c;O5*ms{cJ$#2!y4wNl6fuo43W#o6w#RJP4|q z-=dPia-+;GWOOjJ1${_To?`oPWLN$HS5T}UeIGuPon4S#6T{H-5bISE%zZDUoWet4 zi12cU{(5Bxi}>r5?@Ly`YAwpgn480QJJzb=8&u4F!@sp}0Q-GCksr!sDrH(IXPu)* z>2?Uhou-M9S>mb=p2dqtxdn&){~`+4p|feM+D;G$5e1_;kn67z%^^hhq$HBJkWu>N zRNs&^pu@OZgH%fwc@*ISszMBBM13($*XrrO11Qd_Jw(NCLsTMA7^>xA6?u{wR2vtgr6opch2C zb9Y|?fhN07t|&rO@OR2NkQ}GV9Ozi}7qy6Vr;wQ7lM^w{`Olq!w3M^fOJ=J72rSe} zEeC!&c#WSWHkMwt50U^V_uP6GaN?Lh66Ik?5-*=dANM`>~1(=#nR60(C z6AD4K63vJMdY#Vba8dp|@hPjAVi_{IUG;#GI7rRRdo{3@7KIy){KXLy&Ny>m@Q#Y2 zt6S31y*^Djy*rYfs-S1&ckRGIl);6nUj97iPb^fbuWBO3^ z*Je+5nnxCC1H|1ayg2~#ybq1uaTk;XRe?#a*SQ7IqZE~d} z>ckfgEkhf+nXjLb_5T3Yl7&8j4$dKeS)zQ8$!Ksf5^_CsKjgMn{k@n)5!6d*5g5Fh zwbDbEB9}}=Ad?ypLOzs?O_*pI{t%@G2LDFh%*i2UbU7f%R@Oh-G8hSwvB23V>B}|J zuXh@`Uv<^Gg9TAer#fzE|rhGi?qhGx#rnup5p284#=bn*Y2xB_tlTA8idMwoRFn{QnDY%W8cwF3? zUpC6?yIv^iw32uw+=XO>d_EC-(Lch11~U%>`cT~w^)U-cJB`%Jo)WCn>Om7wrJ85> ze|iXC!ZxX=V4h4S#DT|>2J6|agk;(86(zCIfk|;1=4$&y02-NZ+)1U5&Z@Q&_P>*S zhjc$DX$g_kuag~))v}co!`QiS1V_G=9Hb7dTO4Ef52*`zNev0#^Eu}J4=Pk(cJ5*K3(I8Xv)wsZ`9hNGcuuE*FLS}W+^i0js}mrW5{v2w@=RthY+<0B zq4dJg{>D;{S3!|1YZ_$dq19X*8we2vAZ%1~|owd;_Cv1qVM&r&AJ)?0Sl*Ww} zfq`~v+_%3OP4j3FMzWwZ?l`)Z|{>I6k3Ax8=U4rwev$asxu&nbtc9zY}5W*enISwlp7M8%B*%Yvei zy~ftz>uqZ|2E?2K!Ttpz_MlO}4a1$YlTqq`HCRqWd40qFB`w%Hqi0`^BW0_$D|u?& zqR9HziVIl^tP!C(J8o3nxVzcih;X?V19%~tE_(fM=p!$_`Ayp$T9&RVO?abGbJy_< z=bmXb^?Avd&uOJJ)vEE3i}k$0@vW$3^Rim^KpYLXR;OgY(&Mo6mt{r*+|_2=in;vR z9BJ$CLW=nl&I`|`GS9L<9CuCdQD_h49LjwWdROHCXiKE^7Nx4_rRCRhOslOgtE_YA zyDXRhJ&LDWA;s$go9~Pa8`gOA*taDkq*wI`2Ju+q4EmcdtC2?qn) zflz-dRVLboasxPueX29@iK4UBwb|K|&mcd==LPI-KyQ-|i82KSVVIb6&AqH`%dw ziLy|0P8G4DwT~s;Rc^CxsaFFEThJglbJCu=hR+_UZ}XX-I*-o+Qf{U97p6-2?3p^k zG@(^g6XwSgU4Q(&>yNv;{`f`LA3yH;V_x*b4Cq7H9nGeu<7N@7J%_EeDh2N`eWfm{ zJ!ei2$D7zAmEc=G-||z#`BuQUf>Z_H$o)F8Fm)#1dh)Gjs*F!EacrA?pUGDn>Wf`h zWT8R+&^JQeV9(6i)i^x|k0N9v?2!NAh!DT(3-lcDExJ>SE*o&P2t)X4)>i^ewbFef zZmmm1_tjaH+U(dFL~k~0B!dijrk@$(4SvQce+Ehq-VH8`yQFGE9e>R%QtOL$?EUoH zz0Mf{P1PBK3rE%&g*?#!O~t=Z5z)AAgZXu*erelfN2Y?`vt}LT>dhM@G{WEv;JD$a zmZ!CEZ)P8hvST&)*jmznbmg?ZNK^J zX>v05ft}768VrM}PP*kzbG%4%N@S;_nB)YBb=*@cio54i;v-RN$GxE>cx78S_KGKL zD(DEK*uSszBaSPCXvOjhQahpcmpgY-15vY_BcB!Qg|K7n$RWP09gB9T-Nhj{u38*P z)PE%bk5l=qb<1RUGwL@-4gMJ??x!~^GXS24Cs?r=cuodSTRf%U&@#U;ELVSASd}N! zPBAs>3p<|t{p9e;zK&XBqbINPWRQ{Or&L?FHP_(7P#hohDG6z{T&rWj4ccZ*S+?(D zzhX$Z7aL09ph@?=oWVOZhfX1@4@ruC%_874j7Sq>+`*}ce4mk$Z{E%_x}S(P_kp)_ z7GVdcypq!@>YqVA4o=eux)AXsb<9A_iufm=qQ$TproKdHGMi`4U@Dy}l3Vz2m06C{ zWz`EV!lovNYts^rH~A(&#Tc(ol{i~Mm%TYIlHj^bh?2AQ&lqOrErYEwQ^Tq$Yi0h6 z!#AdI!DVYjRia~`49(P?8toG~QQYtBqO`4&m;yg$yMgYGS{X;gk+<)jYg^3Y}}RF!B}n+coVh;!MOw6sV~$`)%r2 zZK*RM7C<@@J?{h|YfQ$XLOZrEcs1IfA(H#+P6|PK9f@;7kX8ZGocxztiyVgIQh9nw z5TNKphT9UXeq9!5UeubB(}b<9k5Jwb5ZVY|-#S z*<6Ts@YQa^eXd_P`SCk7T)DxF?uJj187Uer&M;>Mw_`6g6Bd_R64kFT^@Wec26&;C zpA#~1*7XT(D2Lbx55Mx~W%BzGL8 z&DeE~s5 zqU(0Und!YTc_2>2BaunOvo}sQl3mjK-Zl3Y#2;n5l{?w@4RGt_* zfbF#s{ea`(r-D7mr-B+R4G}cyJ+wjnijSWRk+2@(Oh=cj{bwtC=fRsHgOuGG6p=t3FNthP;kai%2N9{Dlggz7Y%gWv!@)S5&30 z_zYKSF%+T$r5`H^H^A34Bg0{S{IZyy$yrt+!tXsO`m1w3&g6ekyu7 z(EcJP@WBm6dSHYssoyUe-*6@xj_(d>OOahsWLlfgP@MI?V4a(pHUr8yyxHG!TsX)6 zQ5$kD!EDESD{}#@<*bys)0-Ueho7Dzr^BFH*1j7H?3-5#6u30B1Kvf?0w`^xV&Kvz zMv7(NLZ;=Q@VxrIKep;u!0HJ_(eyT4Xm2oGjKBTgZc}hN-@;)+_w)R!XmEe)VDX-W zO*n^C?wp-P{*S@enc$%I;9MA5w6(r-Y$)n?C8-QJmNx;aq^fV zCyN?^Cs@qm9L@&c1BX$M?4WLAZkV=)dE2oe48Phj%oafLKQTJFFa(i?b(-D-Sbgpx;19G?N@dfVAjqe|Sbq8+eCXqnehm`H(k(ASjGsd` zS|+lq%^@Gbq+1sG4wz_)_|&rx@-J{IWXBR*{J!XC0tllvOu z(?W{s?=t=l+T{Njmae^3UnJu1)fMOd;>m z_J`z3K0rxGaZ#>h&c2YdH~4*WC4a1v+zVVZmVFV-)h~!Ia+#dK`Bu^Ls7PUTO?Fa2 zEf+X$-YE;IRd0zT@t#7sji+%Cbf40pRig5vStXa(R(;FL)N%nF^}Pp=X737K!@hg4&Mjz|+afTM>Mt!vDW4S(7>*IRf z#2Dvhy$QW>J1=PD zY6>C%#lQ>0GFmuTFswChJv2NeR&jaNh(lKWnTDFeQ=XxK@vx||9y;;z+RA>vu<8r+ zl94;46UzKXd!KryxnENnLr2}Fmfr<2N(HCt;~R*C!E1bUI$N3hlp~8*bvb`lR56m? z`F3{fp7ajHl(j_o((A#5zzm zA7yB2HdlFwS|eT{4vbf;w(dH617r-Ny4UX`eIcWRqBiG$!!f~4ocy6Ac7NA@ z>yR&_FN;73gx(9=g$5wjRf3VdDzvq3XJC*!=cX0Vm|29QpAVl5rH}1--tH>U6>CR+cdjGTqh}lPc zTi<0|J$EeM++*T=+V0q*Zt<9c1CQnBwJ$eTa`_h$(niqdvc>AVsxK^^U^u zSuJpeVTt2P${7W{(JN8V=+*Jzt8uwn<2qk0R-x=o3R#1BNaeWn+2?9qq9g02cf@xY zshwS9Y~>0I?1NkA{2XvAblHAvXou=bvnT!h`zCZ*l?h$u@?%nP95p-q@kfAbGxsFi zp18vLj!Rzn<`D+DvL{V4RTr!#-o>Lz!Vo5046a~*=GJ$wRXnnok0ZYF$HR#NJE1AK zdS!kWf1Qr^|6HW^7dHi?y1l<}{Q224enA>jvP%+5@1#DbkIr-b&Mm@Om0LJlX-;p) ze!9xPhJj=YFIR=ex;I>3cTT&deIEUzPe0rkz%-!taP zrPwTY`@PIVEWi(%htqku-QW92RC0NjlH1HfN*W7RHY~X|ESb8IyRoLdhr&{+tBCDk z+WKQuVq&hu&!Q5fQ433Cq7p-LC1yq?zM3oXy{JUrT#56;5=iuQ@71_F?B>FmJCckQ z%SqvPqi^A5(k}Ex`EG!TvKq(-e~(gbl1|or32vKkIm_AXf3nAKk9##`IGd+mM?GkO zu`4+1Q`VBd8c@tEva7g9lomy_iSNj9MG<~->GmV6%-@w865S%*epq$Gy!O-r;}Kd* zNzU|AL*nW8P-3`yQ8k(dZs4&(YI6EjgdlKyJbi#Bu8o@D*I_jcm$s*>RLkTrGPOpS zZhuI(GwHU{bbC(sZn<2*NJa0ok`KS*x38&%wpH$WSm1H2S|S4|!L1I%xj@HZ!Q?fFb zv4^N}5GxSC7*RZPhT{P(%CbDO{vnLW1tizv}Q=!lP<|2Ey_uYOQ>?0zG*@NM(oWh;&ktJFf{uW1nOU+*n z@gM+J!+m<0ox57@F@|-CTw-V@_D(OQh}CUXLV{bFA5jn+%~#vH6&PDYv=9pPNPS-~ z_jG$XyGU{H(+BcXwqE*r`6bh|SglE|W2ajRDbb!fO(k}8D>0T5YPGQ ztD`z$dsbO1j}WC0&z3;DRXr?p~1uZ9U_y&4i_JsT#M6;?MO zXxB8qsCX zSoz^tLc0dzxyo80%gTyWS?@uO){1M&4hI@FWqtTelpVq6gfcnOO)j$m`HVh&6>!zss%NPXo_m*7Z3N7+tbxTKlq1ixr$q`u?6g05eg;PUfmZvcTZtAa`5#@nT3BP& zJKg{b|B)aTc6SEdp|hI~XP6FGxBR7LU03-v;nmE_&jnTB^l=t<`tmOvKgLV+Ds^0f zki3ykpoMz@eQoxN(qyd7$$lGuq4T@)l#H=In)ouumD+fxXRpSbyWMvCl{wjoSWIpF zb!HSv#$#P3kW|c@e3ArgnaH?4op3L~8R^Sd!Xynj*&%~A)w)-dCbC~saFeUQ-LVvJ zq4g5Mn1Yy**tH>R#)GYJ3Cn@)fy8{DRa)VGJCLnD}=+6^Yy&4MG+o~E$KNny9%=6*0KdT6`-)h7Pr^l;LkG)Mp##MOYjNR3WlIN7vJ4Bw{Hd zN67RZqqyy*%BDKrf+8}WxLb7O37(bM?p^{V9*+S(nSUK7^|@tNBBs=ojgwn!lE`_s ziwPp~g-p12n*&e{XR1~IQ{zZGS&1-xug@+`kUm4_8P9lOYW$F}2?&dJe}Ubl&n)WAC6VZ9>|bgQ|KFZO!Eg1Duh_mL}ZOI-0`G zpv9aDhBI5q!V?tLT5_>z?oH$Pg8h#Z5qX{E`qg~r;2Z^@04|<%guS#f9~Pj1lyn^L2;&Vj}nN_<5ZL zZ=zt`6bj{AOA_Xu)-3YCs?gR8J6gNQwDw1)O2J;%lJA5CIk`~5e{>dm@+&u<$gWB%8AO=j(1@UCdk*7^F}2JrzSL_EvKA}bL?#$qr_knqqBqG z_b=#de?5jiLuiFq#dWeXq;a|8y6dr~26t1C#02BwumH}O&e5;VD*xq=+@%o*}&|dQ|>uhd2 z=ToHfh#KWe{x({gyAtPR8E1=v!)Vf}ybjW2uCxxoC>fEaYVAu~1Yw3jIcss8C4-%p zRU2AEFh+k6aU+1b|4)1ywGr7R9MTC2b`tf3NOQ%GHw$~vjjT-QVxhIE))uupt<-Z> z@u;MGtULo744J_hb1Tjg+GV77U=jugGr#3q!dqOnkV0@HLqrlT^hqlY+Ow0p=rf{0 z)mn}jIyZzQ4fCDx(SoJEXEl6R?S{ktbJXMoMc@O2WiB1#%O2*qWR2kLG#ncj&ZNqP zn_A=hUSUK`t~Hx)SIaHYeH_}R|Iirkc%uNsMF>zFeCAB~$?ORU_hfmigiXI$H(exG z?grt6PcuzJSdNbNwY=?e_AOyB7; z+Fyq}K%ZEKBm^1u(Anu{8?j9zoMC5vXWfMu19l)dH%j} z9kaYvQCwMfnsYEe(F744Xw>p{%D1C@vvy1gqm!<+$%el(!94r)6uUY*_iW_pxBa_2 zn>)ochtQJhh3QnIQ}hh)7qmswq9~ABr<{YFw;7!iJ2Wa9ovqQ)BBQ&ov$+i>7B7`> zHs>q%O_29#ZzS!t{8fScXBbhRy{(--&Mtr7Zr!F+B5$Y>0LbX&U&zs(i7Igo;z+(? zSn1vw*vz7xPFm7 z+ZXKMPRPAH%~|ug6T&GFvIq^a&vhCTx9)t(&f+-aCEJtbZ!27Bwj$|%(_hUM2qX_( zX=zXpW5<2ZDSs-3eUqLO-2G|YW;eZs{wLC=VQge?Y0W0;(KsVlZH^vsZWrZr7r8XB z@h`*=O77yBKT-(0q-f_cty< zNHY1j9HCG?dxIt%03= zGw8$7rw;q;x28@Bl}qoovV|L6AhjH=X=UfF4e8dW37&^4|7;E+$w;r$@bm%8T5>i89~nyJ zCqVJMhmn?9_P(q6!vI)f~UqlquZu{2@irwYEL-XbF?S^j^jzRC+f+E0RUJ&v9yJZNbEvvM5CA?@^2m* z*3kt}sV|!ilmx~w$lDCZ3K<&6XlK9VxP8h(ey#hi!kB7RU_EfX*4+Lg?=0=hr&80b zhLfHR31xA(pp9lh_v37#b9!+@TmawVPhKJx4hYFCb$BwiHsOZvjfRnkCA5hfQykGZ z37_XA%6D3sBef88&IleWTSy}sXu`XgDZ-L9dh;+#z;vq%V^5VvEKvcNy0g-d3sxD0 z$n0Gu_huJ^*K^G}2-mOgg5lSKG*-h6CQU?ywu3&FhSun3&Y$FALfbeZ{)qPdZV3+yAH2 zF`6@}iW3>=8vGdu#v>&FfaC=|>DG=RdZ)Ofv74#mtRhKD*b+P|*vCjV3pNIA`&Bgr zf!V_A;0c4a29L0Zq%2MZ7f`||>Uc>*uF=LWWh|!zLn&g%p4a%U3|7&O%A5em^g0XS#Ul2&*RsOR18~pUv{ocQ8c_h+79qL0@3dwB<6U3uJ#_ zOt{MnP;-JW;{v3I%gjS884M&S=AbOxADR zL~8e6y}376A8}(@%Q4R;%bh@X!BE~S3qA8Uke&i%j~jv)s&2tJZl{K0{hjEj%%1K3 zt)?lWsH&;0mU}nr6MVq?Cxx*Q()Fb&7ERf4gJEm&Q1}%eUF7?mDT*^g$n?7oWze^#W2+>L}Q%A#dw$3ewsl-kYJ zj7Z&AM`udaIwu1t>=P}av0Gq(`H2`WCYxe>PeR9M+k2qwel^R;?^PQj5qw{+@B9;% z*iu;}OY!`E^E528jPF_@YsoXTPy^)=9JGY>hnq{vl6tUWRr8ca+5h??1TE%%)i7)6 zQcO6a8&~RM;%M)hZSV|^lW}Rxi&BK}H;H**# zY15-m`%iWjyha5xuSs~I^9qO*m#)8_6y8?h)^{vM$Xz9t}->Z5<~Re*=RC&{o9l?Sa`#vdWJ z-Z8YY&Y^8=)*OxodiYd7EV%qj!z1T|Ma&Yu==vN4PQjYExxbIJT`>4QWizKG$&#$g zgKZ8BbB|N`QqsK?8EisX+su*4Y;CbTR`w*lx{@RkkDshOgsBQ?v!-m%%&$32)u(CR z)s{LOH_>cKlA#wRD|c8wIz@vzrP^RfQC=A0Pv~}~yeqwr8LS~dG`t?W<5P|`=BZ@m zLB~t128#i(fPe;Y5zQzBz%AclO0o#x4_4kn=1H0BffUz1?B+FW?{=qoB?JfE>iuLn zNdaK$hISI4&&i%LXj8Jhg`~^{W4+6^X`5h!DD!uW=)i;c8snr{hm3)igXSQ^Tly5% zz~m6vo+#gIH|^){(tsDGr`P5AcXd`SpmH6WnUwOk987HKw*k8ZKwMt8C(HLZO>OjC zw#M{&b!WwOtEm`vi2`7{{4+ISgYd%gR=cTPJ#vn--E=vyv*xX;*`>>wvpI)}y8FOs z`b6D5XSzEuyknA+Kil2RI05KQEnT=~ko303bhWy()@jtTGUxFbj`8|#_V#3Dt96Un zKiRRM(d;&-63N!G(rJTv7lS@i$eR5cq3qgbUhm)qL^5JfX^rDvyl3WjG4$?8dSiE> z8*@e7pE(Yz?-qi>Y;h_HQ+dUXnZumybsHRS>;^|AuG=#6OeZ^gErCqdCM#bg&dP?F zClT?#kwzPn?i3#Gu@=pJO1Kx&QBkNO*5YJRj6<-TbTftojN#_9KVE#=hl^g6cs=bg zLyG7>Q&XdzU~!c>v7 z&C4)v#$eTN(7W=KJkTH3H39F8`EQX}kGItj*oIfwIDv^ zM}~}|EzB#W{+!PGU!}g4A0nA z4{!}LQp(kB@4|8g zDd$lbk)fchb!V$=_*eZ=)DY%s>=-k)5KI(6n8U*=xMkhb-PTKrG4SHf1NWkvf?)~7 z%8l(v2@5r9j$ZENueJ1bLCg!iZxi0H4V(WD9Nh6T`%4XgjcqoH$Hg95PD{ArYhTLf z@-uVO1)xiKtv1K6!2k(zwA(-#{ZoEWMPbN(9}&G4$jmFXn`wkgQtuFAGwv z7IQRu$Yt8S9B?JGGfI-#IdI#la8(-{#+9We9(F4gjAcjHteh}?kuP_1jlRRtz^Xq^ z;Jx`N$(vmaRLhVj;FxS*rh|}j&|37XCy`nQ8feuZ);=cL!6rfNH5eOOKm8Ajob(E*@Ar4$>{_Sa zJRw;PNkvWz5RWQOlp|qn3{$u2ze9mhSP;eZ$^V`7E-TCntlao(h}J|hc4yiLq_Uj; zcF8CVD{C1Eku%2Rhko;pu_OVxYP<&M7W3Q^3wWNgQ zG?E?!{UA^BItY5I2>h~RMsa3Rb~!qbReu6_W;nqxRb>9#nSTjnGG}i`bQLy~Cd*m2 zqmlZEtG&*;<)`3}He-J+{|r$_?&Tdc-m@_hLI$>*Z>6s_g;2^8*(rNC7*DuU+PITv zSH5heFW{Zi+=Ss1LN(h@mIuk$Cr*qbq1k&9l}}sgL8{!mdItq)c1NOompY(vcOh-sIMgey__A%^{WPJP)?L$HMyz5KGD8Ib8_Q{wI~kX4vR{woE<( ziCvi6N+K4)!<=q*X-(%3n+`3LqdoK0m;6ez<}#4z*j2^EOgd=u&9X`I!HV97wuL(;;K80`}Tx5@>gt>`< zJXn$|5jhr8f{+s*qGv};57q{4z_an|7;*bDg-+h~hUs#FwPZEL&7l0PCn2U#jaED=lMwON7g93{|EjXL@(>|-qdVgb z)$qSx7pQf+^4A4B_*-q=xdvacHAz{u-VaA};MHg}*1sewqLEXOYmqGPb4a-YP&HKa zRD>x(d?3lRN?~6=2$y@;E2HwDnA&|hJ*dS56Rq=-O1=lbG1G$NC1ObAD`#Q|Izbk8 zgi1V3IrO~%E7HWGmYwO{8akHmmxx9&eI-L*91VT38M<{RPMG^_)GF>t2#i?n{9(DV z`|A~|NG{wl0inDzmJdcS@XjvYb^?+GPCI$6J#_F%yfeWc zp>vHkPPomM{t5sD4@Ub08Nndb$DNiCC`ffA{9`9Yk>1QoY=xH2Ix&$w-OiS?OIV`- z!GAh$uEH|1?s{U(vAwXKOae9Jl5s76L*bF#LMwCqww7a)Svb}=opdAhceBQFq8Ur7 zkhbgJ(#{G86CpdcjGzt<6a0mp;(zA^ZN4b}bg|ai6h^wa9_i*rq?#L%ZZ6^Pa7j0H zCmG3R;0lS(wRs#R`oXD!LFl5ah=Nwb-*}5_;30VtV{3+*ywmcUnl8qT&2VV{V!CB% zwVSGOn|hF?jilt@7;wjb=W(Ce?rOO+_!*4_=L@t?=-Y>UNbBmPw_W`G(+e=BEvaIo zzku=ThD55uWwY4x;;FU?G2smEq%?7FEM4VFEZu*D>_Q9iAoZ# z>rqp3bV+BEKP>jo?I`){s3a%Tx0;eOyOf+&;vXHAted5t3+7+PEtjwa7oSS$-v8hm z;rQw%s6^rXB);<x&8my=V<<>%?B=j1KODhO`vWI1ht=`e!AHEWPM1ig1FVg~;;{ z9%nGa%6LKw7nQ=jl&%u)_e)!r;*Lh!Jqf`>^lfX=)u!za?SF->wOi^!m$4U(>)Pah z=bAj{b4{9q&iU zDtd;5cfuuZ1!i8>7p{WcahFkIO|r#9NX6KMAsM?9*}v|f#1n`#dHxl%@)=DVn*5QB zn~SN%2^=Xan-`n}(y^3n*3vRn-H3x>o3*%v?+OFzJP|>1LCa}5c$nZ33x%4=%Wyfu<`?r5eV8&+Ee+;KptUzM2lqR`|zEt5)&%4Cqnr455h@xau8Zu`$1{@Sq(W3mH?m=4h$ z;||y(KL)Hgb?+{Vfcoh_*e+h-bDKh-YO{CMDm(Xk60hN=_Iyqqi>#$*05JIkq?_}J z{Uj+ax)}=el2h4kExPRQ23Va0O)yImOl;98-gLmI|IrbQ2J=)DgAGfbav@_5 zS|9)DKCr7ts!;e_0;D>z^aT3FEj}7*Y?M0`5EW`L$^sJ(RCj#^q4$k=a6@qfH~=(P z0FvuNBJ1Sv93)K$JdNh@`8hlXPbUaEf8w#7{dNw`0nTIr=O?E0w*j(QD_}EOu#sdE z%;F=`pS{ATj~dQCsqi=YJh=Dad47D zxTb@k=b<8}bu-FQ(^zkUlb?vakWh@U;BSz#*hh#WA$GQCOFju&=$~cGC2J^xOO!bf z_y2li1o`{*)Lk?<8~aAY&(^>{IpOOwOF|sa%@fU$w{->$<;zyVb$+oR5Zbwmyid+pqI5obj0S^&xWVT7Cy@G zw4d=5&n32cPd)81#!Xc~FBF+C z?^cM~@ThQ%TT@Y*s!3#%)nc7I>N&wz5*+}W3D^1*PE!zFxT^68MpJ)MI z=4rS9H^{zccs^d#KuI4$D1ZXO8h8#wp4`)UqFdHDs-X5^Z6-y zKaJVw@2gB3l7C$%$sbL_ko;}*9VpUV(EcZB7+v*Y;$K8MTa*kN17D5CQ_s2YhZy_# zo{(De2+iu>0w}&y`2t=TDwQ2u>UclEqc^|~!%ch1SIEG4IhaM(5YP37}-JEQ> zYMJA{A9BWnMGIykzayEV{2?A4vKGC~;2d0ta)ktJuc2MWp{8)ZIed^6qg5nmv>L?T1q{McGFGwkxS64@GS(YL$y^z+_PPb2MZCHCnH@{EZ-kH!?CiH}_gE|; zb=;?YN|881tEf#W=F-v<1f%)d#UBaNMQ7VTF^v&GrBi;7`nL^x-ecCXx+or|Jugae zeN}?%f^m6|n9X827h}-Dd8m?b<;Tv)6gZHir;HcyR#=%2sINt3WWjpA2Q7Sj2EIl= z9U1nwi`O(4rM@moRbcp;Xu7Q5H2*Zaa$GSE^?Wep?j6M-2)T|ns-yj;BjlZK^KmKG z*?w`Vs!RJC|7W_Wu)W!Wz3mPpxN(;*uI792Q$7T5>DSTt|Hz|6wgXI`moR_3lQ{VY&FzfnJD=ICp;{_f=!ep^MMbYGO} z9WIZ+{ZC$n@@JRvJ=v{%ao6(CbS)3M9Vc{~N6?&+m~IR9bTn+I&%JkAGA}Q60%70Z z={X!(;OyIZfG3_mbsI_R8(Ur?JL2}WC*=9d<{SWgnBfX%QKIfS-aQ(PzY_OXXP*hWHaWc!w7N0k!ZDPCo{qe`u%Z?HF< z?4^KsXp8^nsbUd>xn;R3JHOPsxZS;oWU$}7`OsQAwU)F}HvRrLNcid9#e-y)%Mrvf zSyNrcG^GRCF4tXK{XZNZ_Ncb)^y#Fg6X#QK4LL7yRY*Y|oT?ubTZ{4PZGYlYy>(kP z?>ztBW5UX&3MQJ{kz~~9{k;!@-q`uO9BbcUI(W*?aR@G5fNmSUeR!UK>Z}9pEziqc z|6=0|+Ui@;s1nhr>JC@95JnUSH8d)xk`XPrmJz{3tR)*@h`{n&Rb5~?ooKDBhbsX{ zgIYJJh>`F1_hBu7RZgaEH+u@)5er@zBE~;?N}J?}UORP&)<2&8*>dKc-ap7%D&I)C z*Od@aDeju*V6TGD|J zn_Oc?i08)nE)M7};J}OKTQ+s4xBj{wu%>B8T!!aS`jfE>rpSJQb?}gEf^`>pH^gl3 zjOI5+<+wb}Wg?bcuU@@#-#&2^(|waIxy4C8i^Dc8WG$l0_=#+!#d!R(vbB!Jl7OkXAg+x^63 z`1<5f-S?5Ar!fT5f-6Tr`gszh-PFc04Bg^$S)9yX!q-WRfD6a{ZMUu{xWNbz)lBf* zV96-t?M+~wXzwaAGSRj0JF^!Y4lbc&@N*so_2xN2vqws`%)xqr1U&nfU~nryc@H6p z)Aj|hc))+9YFK~M*$Zi~Rm->zatjzU#o4pXzC>c~07PLO!=(QJeShCJ(+Bwu| zY8l2kGMCp9*2t~gLLp|BwP2F2_1JDDvZERx%#7{c04Ed`SR8N>TZ=24IiT~YC43qya(|*k)&1@|6jg#))|gV$C{a6 zm;A8?dhqT-t9-crFXR7m{@>64M*eT${|^4E`1PBUv3C=d;K9FHG3^B6|@c`1x2AdjO98_yQ)$zsIKy;r*g|)3vF+zFb@B=dsUllthQK|7e9RW=gv#C^odF~ zNi#|j(%F2D(UGYu6C_!eg(BfP=-D#g@5jtMMw}wuRNS(b&w(vmGid7H@)(~bEi3pe zZMlC?dr*m*B@`Ug9uc?xJjn6ukTK{)CX}hsp2jmOv&rTo+3q8PAA#amfTI2$EN5n8 z-6e$0CfQi?;M#VHE-fy(SV*5eF6qVFL%hbV04<;gc8_P|ppy9p1x(f^!Op=aDYbyl z9;vJN%*TkBZYxNg%V%NgG(LN#ibrJ!za$N8lskB%G8~M__IpV-2CU}h_o(au-ebub zw~sGBW8nWL5Cz-$PaZ z%10-DOI{=tWG*xh;^#+E{E;rQV@JRd`9=PU&BU3ZPWDS#IJ^)bL*@%4ykR!2BfLS5 zw-FzvMc(F%Pm}#gF4pfPtg-traXaNL$@1-TZpDy!0NfU(mdAi2!yN%pFf><(r{jyh zhQAtdQVi3wJsr@y+>yhpcAy;tkBqm|i~4Qb?n?jCKM+H<9wnzwndR~ z#8uv!jFBp_;Gjl37WFjYa*Lll43cYi-bYPvTRy?^b>t)!d5UJ1nu~B7v23(kOADC_ z2C$^=88B9B$y^@DKgQhMKu@qTfB2o4gfTP1`TLoHJMQ4XT9U_jl9Mcr=7 z8arbT$DMn85!bqbg*+U%_%IFwDd|++qEKX0%;)mM@koR}H-$K0ayS6j-L}jD(~_}8 z7C3I=_>%c&C-QO4jz1|9C*T%=t8Gw_6bRY_D@I?koi>A8pVqzJMgP`ZiV@~7YdJ)x zyJB;Q*U_hJbantyl%UKrwNjzUayVaALQ$IQaNgERRC2|={txshRf7X8)Cw^+xqr&h zq>G&V4+?$$esUtV)5_=$7|w3oeMSiYX)v(}$Es<-AX_LLfjqGOe%x0L!>Z`MRW&LD zm&0^KiTlmKMC@f7pEADMe$8DGVsLlGa-SDQA_)jHxH*U<+_L z5yo;V8?8l;Pz2l0YIQ3dtnk}gvGYq(xl^^lG2__jxJ?e80Q@eM!F;Jl_rV0Xo8;GE zG+(-`pI!M0Iqj`X{&KL;JKK6h*7xWAx_ct)JDb+ZoTI@gdTe%Tadh%#W$rVWTn%3X zSAwq_^IkPOoy|n0WR@4i7ecg0q)56<32mChPi?`;jG&ABA1?bqUM92OhZVeu{f!?Y z3QlwA6U|?hW5C=%e;RAPrpbc7*{JOXop05AWo>?@L^OE~UF zdO$I5Ulu$H;JU0waNlQs-_iXyq6hYw?+i>-?zHMZU{;(`m`pMCJAWg#yW1aid49(} zv+A#tjFsu#vGm$+^WY;-)R<;;aiRG)dF&@|CzN8G@#NqW zS)0*8AQs-)-yq|pl#(vYlidV0bl3(A;eyMNWW;SI<~3{-0I?qJ7D`$Q|mda?C} z8|)a7m!Vz!({+CVV3-N5(ykJ^)eOiHnD_>cV zlphh7sbsEDxXC_W?awk1%~CZx)e+N0`4@E|10lMTx|mPG&MhK-Y^9R|XCtKm{w3ubG1uKqdUraSGKUG34=sL(U=(CvI5TGVt#X^tJ-1B2lH?-l#$%%>8L z&3UKESB4jouClH1D;GkG#Y2q`(+EME%l9|xEY@f@D)SZwcQdlOJ}eJ%cbjDORl594 z99Tr0O-Yy3f|*KcW8tWzGI-RUI;O*T5VQ!f=3KA6)XLUuwoEA#c)5P@5%n^H(wf_3^r+|-nnyb#$a(* zlQCEj0ws3=Sxx|+?ZZghY%0#8~MTt=mC{se}mV8vB%y8hiL3Z`8D8`nk_;(q`=P)YFvxTVred|~3; zocomvPt5zcU=f*Uc8J^4#6VpdUrcm0k>Y{ernTzd z;mW^n#KNK9%(EJPs&0v_+45q1;r=r*f|$NW(A3OW+8;P{$n38(%(+yuR;*n()XKZz zOD!iYle_rvg+qJg%{fv|UQA|4`u%~`3l9yM^=6V|2yvEyBJ=}^mPj~Bp-}l|EAuVn zN#~J$h$8&M6J|3$cff`5oQ!3JaUU3G)xVD%LW}2-KxaO3D;W{okJJ9?_a3yZ+E#iV z68A3JuyB8Gj%Uqa$1vDgv2-wS;U~RkAEoioUe7qA2M)bwz5fW|wepCeat~a=j7dRF z%LzESbv}{$N3$yXljYBFCeKyt7pZzeJl#T7;B`Fcc=L)AG#cV&u8A!idSsrJ>Bsn} zY-LWA!1OSU>mL_R8m+}edXzgn9Hs=ROAp}VpPb(ODHb};86h=ob~zVQTa#X&`>myW zAxX@snD783?WNoOL)d%XF^ADDV|it`^+dr5p;ZM2RG*=^bMq(9!R4&QjkL@UDJ<5~ z+rl6D2px8Fqy9KnvIz!sw#3-Q3TJ`hLws5UjXM}GH}&+xDgS@~#9ux7jpOrLYC7aY zdOp6^8xPj(A7U-~DNO^3*^p}>@ru&2Q+1b;Jy=f+Jsz89`(Eq6cJH+&t|k#+W$Rw+ z+fOZcjG|6E)ADZEP`$8y$ZU&QiQ-q2%#um29Y5ztpJXtp|cDz-8s12xImIGl08NiQb7|BJc(kAi7X8_`3Ph91D7Ag$xqtE@{vn zN=#Qul5t;TYX^mt#G6ff=e6J=(_m9%2xHcH=q_s6j;&?x$6T`G_&ocUcIyFmV|?=) zHSWfi!Dh4VW8bIOkxgl!!6-78J^arTglVsgu%765f@uNZvu>*Z`YH(g{F2M9{#z22 zhgiN><~|}LQtM_rcA(`!d~&TNlW!Lc**Ll@!ft&Ae2un=@bwZ}XT`VHSWoml!T9&m z#na`_(b&q^$2F(ESW~}|&iFlXZK{8b*UzCkxi>ebMr$mwrz1qBOq0r38TS|DDe;Cb zWK>Oli;G0}9xx&~!Qb*R&U%$08JEPbGR>8bwYT(0ag!-sTe;h+@2_R%?w6K10%?c>HRNm- zPWTIl#H1Q@&1|=Y=UAHI(i$OkZ+M6C8z+>T<$DML_;2%M98Zj=B2R8t zeVRQJN}!7gj*h*4p&QU_i3XQ1&J%7!_)jVts@hhk^?kePz_3L2yTzlt0ffN242STh zPlw?jTtGy<#98rTyPQzwyPVc-Bw8y-mhW(4ySTwxh!JbRbVbK=(yziZ-jPM8#DAk- z1Rc5_@-xjRML%?gE;*lLeD?z+3^`&ttw=CLBP0b#{kuFf*8JNr!%A~5u5p7}_uV+R z3+&B1+?95dfAY;F;A|g8fV!AF9wl2LF5}th{U~W~e#`FdyUnH)A^%LN9_~&3uq0Bd zHant}QqJZbiQbKHQME-lI#Vhizb7k`G;NJ9Gi|+L_ujyAsnlChsRDO8T9A_2#j`i{ zH>KXOd$+~8$4IgG&ALpikrmdsBl=sJLts`sJ9B_3__p19&u1pk(;Yv69Hyq!bhQ32 zo~7)+@zoIsH~bFh_JY)Vb4Fr{`TdT;qmkG&xRgJa=49jK5QCx9-B0Fic5lb#hM-oME^XoFgnJ7+R8G+-IGK zu_$m_$+h=-ffEaocv z`clPce!_Hco-4jQk#a$>^ge%KAh5EVN(OzLaG%MAvGbQTL>4l$BYvbcL!^s#gdCAJ z@Aw?z#cJG|``8o`ud}nmJt4%4BO4eD-I?1JHSXm5*cX#j@M3KXd$SP!b1mkpMYe{H z&$6?_o$-Y&7N|vbhintsi^I+Fg)Oo|oZ}*`1r?b7SnO7TF*Vso=%o{`kTc zd#OeC$P&|{wurs?3&&Wb76+%U$}Z3ju{Ue;er|_MxUV8L(uVXm(3~CH7FTo{OwSv2 zb+dRxHuWPw|M}+6b0^nxLMun>wRQiF?4<@_UH~Gv%MN#I?&=Go4YOT8F=&s?{d;UF zN7ZB#X~dRsL{;Np<=>P|{y*B@JwB@HYWz+}0x5zgC}2P+K|>7+8Wc2A)cr{kN#$V6o=u%LIv%6d@d_q+OQ2i)J_XYOIo+GhP%fuNDl>+iP zXFr?@Iw(L18q|r{(^{>!bSu#FuKO7c3P2iw1H6a9tns2qq_n1y3@j4XvD~PQ>vzii z6FPxcDn{x{)PdyaTxg-F0*~pHCkLV_G7{O+f;iu1;2$k?KWO3hxJEsh@zTY<2PN7G zM*M}fG=fKP9hK3hT%4W?iAfATiHR@USmJLn7>>Nlf4!5De)8_J8MU& z;4mjOryp~nASs-L;Q_=qR?S`A!}i1$^kX*$OE(+w6Uo(S-9>KLzM3hS1O?(wL89f{ z)}352WtM4DC9Kd+yh>)sSJo^dWDW~{!FMKaRmBo8I4rd3VcM8L(9JoJGj}rOj?-_Un>)0J!6bJA(sH<=!n6FW1^Fp_y{%F{?WLcVfdfP_ zNPH#4QCw#1oCWA|QC~5#%|_zBH8Qe0WMr;*?@K(KhYBA7ZXzw!=@adI%OudpyE8g1 zoLQ$x*va>$h+NDo-ZiJh`VsPiMh0}Gk&rcpQ<3+Ht@{8 zn~a2L#!0_C4-vQTwfVXY>f0?sA@*mH!cUl_v z_D-*}qN!#fHQP0X1z#CgE-cKaDH5Ej)6+Ypk=IZeGwh~P&Hwn(8r_pa?&_U+#Now-CJ#dJV zMXz0g2+9OLW69RG$vMaGr@kEA<<9`i(roAXx-cS8i{^WRpp}9jK_l@v(x{@0hZ(3lh;~F8J(<8dSdpv9FApR>O-R%P=Uxs#jZz0p`DpHacc-&0PS zxe8iO)`49VIvc;(55Nb>fA53Nn*RY~acZgs+Fjp%YFtJW`7#)GUlmq2RL9^87ti!E z5`A<&M;_b=&R8owoOzTqhQ@If+^ayo1loz};d)w8 zJCcDXTe)JZvfitNVstDggN_@k?(x!w9qBHrjI)Wymz0j)HNjgY^V_VFU&?IMZ(WR| zU+TP%PD~bPtA3%Tun5R?L$&T9n9~s@1|=|spynpycKr6F+bHJsI~f1BoDsh{mv+t`Nc%4eLi(=D>EM4Zj>M6=l5V+A^!_xE~YXU zPTo?5^|gQbe}nb2kT+Is{Apm_5BkXZPK*|WP+0RyK^OLSG0c&AH*4%+;51Ersykq8~G>s zn)ULHtdB#+s=r8QST6_U{eZFR7xK<}xS4X&z!0d9Xe3E%GH%<2`qh03)&miG_co8d zO*qw~0ti^O(luI zZg1#Ew%wyqN^!x1HFmZjY_O%W$nDJs?p?Q2wvTXl`M^C*er1v&lpek9*O2&PA>jWD zs~0k#ZzLX380HB{U*?f?4#(m3uaHjbA3dSWY?<&LWIpR$`x4QJb~X|VWg6{~9sbM; z{CSPH0#B6jf>dC&$0Ey(%Ml<*5;?-T?NpDs?}U`z?o|v?tQgqM`NudRTY5g27NPHy z2I{vKPZ#dKEG|%Ja=y;@aO*V&pXQzU&Is>1nv~rNEVkbGB6Lsh3Bdo32-crnpr6Ypn>Xk>`~EMvtbcb`CKr#{!lP zl($Be+ha2msGmD>QpATsd8$OAt4qZ3UsyBSs?1Op&VxE^dlcm9fXGZhrp_ubfBi@Lx)xFe$FU6{)|482MGGQ7w z{z@_0h!5t?J&6`ML|V>PN!QR%_|B(?X?#>mD<-t4Zd}_lC=WMbMhS6n72^WI$uZIx z9V4b*t3WOsjBYpmLAyQCgJ*s_vVhLno4gMn10c&0X#^m*+@=7Tlb*b3tviToiO$Ck zVh3Qo&a0Sa2X=NED?Ev=?Y^g98|18`oeXF1$=+O*D`9Jcm>)|wK+Hd^^$_#<&TSF% zFOn;Wse3$cVa66R?vM;hl(J2S{h_VGplhW%c$4u#(EWotq+C6^cdLFrzvyL4|{Y88wgi zvp$-1cdCAqvr6_?LOEZRBG=v^LRKmsRLY-P*OIyu&_^n zAVS8f!vb=#_d*oU^Xum(BgB+h!aM2A=D1o3bMFHd9E$A7sNF3GO z2Wpjs#O?Hik%f zBw#$)SYcGWQjRLQ#Ch#xZO;ixd(7l(zZ;h^@GPejttHp1{zV{y#q|*7{?PS+-sB?^ zbllSbwiwI3HPsiTR4g0iCp8x(3$jrao5&zPL4{F zFEXX&o*X+z?uu*>2^d}maM-jnS;+@|dL60(tF{tWMNo9Ow_nLAq1vJ zDk)xivSf|CU8E?+p63$7t|jq#^>Uedk&T&6=gJ$Q>)_G|RJ5!A49G&I-z~k+s2A%M ziuAa0S7&+VjG71xWf^)zIM@Az5t0D?9P+t7^W5KRQeM}Sv}|7A)AU<`Hw74p`zHzn zt60!1x^IGGb#{DlYQVOf6Edu!cYvo;|BX1(N9KS$cLJUE(SW=IFZ(mdWv5b^ozr)f zPie%2S^PzwqUWmiW|U?AD08oq4KP3`(u6YScW8ryqG#Po6p@wCOeUYbw_xzdQ|XCu z`LRL0cVf{0$ z$;~c|ozNzxMM&&4qi3QHj$OkkfxBCbfP)K}1#=$(L9e`Dsi}A|CN5;?NiLF1YTR{m zA9jbyCg~|+1JGeE+*xe*7}9`;D`k4}hCQ)Uri)n-kh4`Z2Qk)dVxI0o9wq0M14b( zOz^r(u?ocNbDwips;}9T6aF}Qm94;&X=Ge+^73XV)CYBe&7Kkcx2#Fp!M`zLD4}XFFt?I zSgC5SiJ4m7fWjAgWenWM`{($<@*u`6e_Np8-DN>E=&F!EyX4Pa`2(3e^Sxlzml&n> zITw%f{%1?-=kljn{@N83~JybCtS5-jInVLm)tKbJdMn4e&$Xx zzY13E!ECBa@73YL)5+Ved9v5}Dge<8RUOp!q;B>}Gn&%%mK$dh(YLkY0hFIXbK2}q zQ2ESP+Eo1$$;GaUT&=spICE#)y3de&v|N6t`FeNT%8MjBH72e6!#0%>)xS! z_2j~{nWu9Ex3UYXF9eC$e(0u}b=7_8`7oj6s@`(A_VejrIok!X`|IPMaQ&%9)~Xo& zZ8@~>`N4EVup{{#Up?i0bq!x7cfeeG%*+tXy{tz}pJ(?N#uMwY9+a)6tn=zHO8&yR z2@Fl%E4)t; zH02#$Ir}U|4&IMrWT^B@E*YZr_VlCN>QQ=m1ZVjpRmM8mriHD(#hS30bG^O;_*riD z=*a_z^<4Kq(71N{ac5a6o#L=w%yLiG?x29v?g$hhxpZd?-T7*{bO&JBBd5_FobWNR z{?&&^8Z%O7X@1}djRk5u7u!)pqz+&*hfFJ zl*v}JCm8tY6sNO&cbzKxDVcu$cAfLRpvvSe#z2H8aAt>b>u;r&kz@F4tb0^{|6Sm; zhLeyCr~9$y7PHCRHgDzrmV@(FzMj!x9-&<0FH*VjOpEi$_sxhKtZ%u_vWVztg(Y5F zdd*xpF;2#eKSD`N?6)}2N@1Db@q8@~kR>4ut85&z>W|Ga)(xP&usx@+Y||V-!WBxK z;SNH=Zm;|FVBKqUeJ5u*kOkwJBhH!RNg##;PR6n$Edk>h%w`2^oNi=zg9vbM)@e9q z^M$h)+d8p1=5C6_Frh4Pr!z(#!Is5ImU+dUGiV&@sIcbIb!u-wUoKRgw;q{6)a&T6 z8~Ni|NWQ*|iq9o_g&dTMRZg2-(eKE^aZ@lSy)klcB{8|ny_WXfljP3;{^))KUDgkr zp`2@wqV#-mj&M>W4#SaldQo~@)acGg!xV-WuGTl3xM zcOZvoIMTUBqPGlRGMD1khJ zNAYHZ+^v!^OBh`2f(FU#GZ|msO0XA^qL8*Sg$|(CVQ13h{DIpJHG|{4(?pDbSY(03 z;!9P3h_A6~Ce(Y6J5N_*^9P`I7Yd$Xv>z@#xWq6vj&BJxXWve`LuuW@bFavlZHP~$ z=mTPl1STVnc%&5KU*qf_sx(Q2yAj=lX5yLqd&S);G|&B16X_8L>QgulsU^M5d5UQ3 zs)5;1pBddkHgi;$o=fQ0hIf>@{PL#WjQq194RUMjXy-Jp9!#$B$@ee>CI;={7ojkq zPuw!NfQNuB*N8WR5g}_4A=!vsBzm9e2(;TDPZbxIb{IQow>1-!~lLTM4;6^TEHm5)^6J>v|-~C0p*`*|7l(& zh6YjKZ(2lSYUg0t;0T?5eg;VuCwesJPE}= zZHu$hP*_I?hb?ZXv*%*G@iCFP0kUGAx!cu^r1`ab0j+bXwmXO#m=O0i-rcc`$(4&v z-RI@k7XHjzFNWe0FiO0K{>xGct~{zn+;+~JKZR%G$w+i`yX!m8j1_A0Y^?|xA@hCb z6X%d@Y~xQ;srWRKxw$VNlupf!_HmjPFC_~g*_TJsUUiw#zRtA2W^yGB?BW%Wkx{IEU6E2H68O%`8^>~9MC_wfuXd5m zg;uoKTPq53` zk6$|o?$rEPp{rZj<$TOmNH=-#i9gM4^%z`6mU;_HkBhkN3ExX0^FezYbz^#kfmh;B zRM_g|CifAA?Xe&wMq`A3(R;nx4>a*hz6e{>Jqct|u^Pi2U_szB42!E0gqCYlv67)6 zyuLmaMth5MdXLtQZ{0YZ2?Q1;l+Zor~}uGqIy zVu5t4Ws29U%e7Ziq!ZqdLpo$ZPHws4OV6**y_^I$LSa=sxTo=}o&2UwnfPP2BlqHv zE8@wW(D4BGB-q0SJOz$5p#DrvTmh840^jv@C-GxQi}TdD)EJHUk+zd#y(ng`gdNkU zV(;pdsD&R}W?+V&J(4S;odOX|Tj52}r)Z#RG}MGiWb3r>>?)M&|(c z3sl5k=0a{ZE*@|KliC3%M&M}AdlmwY4yh&C>=x62yODa_?hM#HB<+b-wUr;KzYh8` z&@xRb{=51D8M{cKkg{(PsXITFlBYjPR~IosMq&thdT^HMk&R?(dOqS%gy~@;DIv?$ zPBQI3igNn~`XKDZzh)sQK}p&z0~9IY(kG+^Y5M=GGu&*3E?DlEfLA#~8$E{8NzRS9 zidAaREd!b~LgXCIGFD}ZFa)8b%cn58RBbA?YHj z2c4eO&d3UcrQIu|loM_xxXp^ND_RYtKGB4ce>JfG6NFLQUOQ*T>!FO$a2WeG@|~WD ztE_CLy0WcM-qEt&=V`1497v^^lxuHOnGcOJZ%j>P1u`EIuJG}|RYq7s9e`FpTV2sM{gXsU}vT0l^(}6f6SxakEiZ;a2yDwLIgaXHNGqWOZ-gEfMo5r4`f&+$?cH~{hU-vKqG<` zr7F$V%Lu5rU8Mo9(&X<`GZ!rja#rm-#6-^vS|dB3s52Hl19|50S0N6=d&N$577_x) zo2ghg=kK%$h+yYW+Cz)~_etx*6zimA@qe&TJbWw`xKm zbPJo+rL5B(9NE5dm=$?55hbkJ;^2J*bJ?65Hl8SNf`?`kAdD~)h(59XzP~=D5bO>L z0wT-3)AIh12DC!0ji%y@hRnC2Eq0HEn7hdBH*isriNp(nFu2@@M*sCeaIz=n5 zz;S5{F8E!hv+8zu-~Ur8lT2!mu1iHh6BwNb)o*xA#=c6L+9 z>p*NV0o+;3;ptfu>^`rAtYuPdY#h=TsWsC(j`u*Th*gmW?=OH^;~v%${WR55^dIhroXPm-0bydMR16Uz zw6?!1p2^4c--|ibWY}V>MzE#YP~)dWQL8Cd;C+y))JUwLP64pwLHeQWOGruO$GGf> za5glS{G&UK40pEn0ZbxXbQ^rt?Ump(UG69X2|J4(hH+1$v9U2ZxlR4L z)kDg1PJR(-LpL28_(ZO{5`7hGZ?j5abdv3pSLZ6NQ`8Ohqi}M+r%4>$h0~x}@x94o zjBRVd^exU~mx|V-b-n6(7U+$m68FbCA!Tjk6@fw6>gk=?AuNrO)oH#VSM4Gm;i$m7 z%Fx!V0@+g~3}_IySmuwn2Tcq%ev&2I2^P#*2=;`ABGk+hNb6a}FN!21#4{m=%pqdu z;kgwq-Ca95V)Z9Ib{T0M{IoJZ?IO~${Io%S+S#Ou*Oz?DooxCo@j)8=`i!-|2Zagn zagnFrWOEco5iy2f>2Q@9tL5vCjr0yhDy62WI|o*_>yf$(X)&ZB6g-H z=2Af?zLqhD&7DN}fC--%TyQYoE5>c6a9OUA3YjI*SDCk>u-PHGl_qa~(-mV22xc4j zbA^@wxMLc?Y7U3^O{h`v?R$)-k#7scrA+VWl|B<;sSIbgtOzznvL6 z1rNT|ASY81>1F2bNa-83SB5QuZtacDBdvp%rl(g(Mj+zLiP4{kj5*#OS_W}G6t*h8`3ajRCFAqfYgKMF zaQ1#_Y-B~p>_#=oLY7xZO`?cDoCjaXr6u=W2%dm>wM0&cm^+e|(zk!-Hjm{_g~Xk@ z%Esn5m*w#m_uk5w*S2BEZzs7Oy%nzKeP7e=`|EhKrp~~-rwifm=Lap=EOF1Z)5-s| z!jlVRiSh^GI3FaOM8qj506}raBDq>r0bk0OZAj3*5mcST65M61RwhTt>veB2EI>*s z$RnvB`^12vhM>>Uzz+{oA)5^FQnoPg*fdo;zCcYh`K04WE9o6H9s6l`=L#t={+Fa@Y5Fg{^dRXH?Tz$oP5-@@KAUvC z>CV0=N7GF&y_)n!uRPZ=)9y-5-?W}IvSa~LRVU3_;bm>`vMeu)Gb_GY=4CZVRxHXF zKhordUh-~Do=I|NO(qHwW7u?1lP@Ougs{CfS4JassiR)~CV3~qu8<>KUnEmJE;HYd z)4+9kC|E-Er5VxB((Bz`oWhSK1%$^eLy5nyD1|6xU@(BSyHE6R$SQvq@;XKliAyxi z&Fdv1ilUYulFCDoH)$6X`781G)Paofu7uxV=4xLL!G~kNr}N%?$ux)RZxJ6n*&mbc z&6kL$q~iyl5S0??-h7FB7U?p-0WaN~uS>o30@4S1>E3*G^U{k*@8+d@^Cgo_J%SJ4 zLWii|n=H`{kzPXj2VS~2Q=;`Dy^Qpiy>xG?4)a2~;E&qpcym=Vle9|Ge(se;yE$$e zvs6R;+*_uRo*+H&ypln2RBT-@YLy?vr%-I2<@uohyvu)D{<4%W%C#=8SLtcaqhhJ@)BFdF^5E1N7wpY z&u=^(Ajdpcpxy~u=g}tHPG{HiVn-CaLHBG?P<9JwIXojqTsg53I;pMXzJ=&S$%F0% zT0u(l$(^MItkOvZ(N~+t6c@+XU%i=3pc*TAQB`AsMRJ-u+PS}$Ktif)d(Q1B3a9R> zX7c$Z{KlG4)J%Y+#9Xa@Y(7kb8=EOYvqJ@(Vk@N2@Zz{(Hr zlY%Rc$b%>en*3&9OUYhN6TU;cuId|6K;acA>XiDi#hLDtQqY$_=s)_*RL9LX2^L1*kJ5KxuI>8H zp&|)C==)ABcU<42IrKX=0idM%9POt470;VgXX$qgQFet8i`}Fj*X?$lR_Os;DZe%V z4h>th(8HBQ%R6KUuDzcc4|PVLNp9uXthZNk$pX*8ag1MbV{;=q;nSf_Xf&GVYi+e! zrqt=@m$|dK@kAqWhSIODySy@gql`odJW9l4TGX??=Eg2Y!j%PU=RE2aTd2iKoVWa9 zYF2Icu)W+b$YnP0w|pypNJ4nI5)!kWJeiiKX5TEUFC~vn)VJE%0tffqla8kLn<;%n zzHM-=mj|~4p;3KHRgTe%^Ck9#4KjiTYr?1Q8x;1buHMpha$n!q>;eh0_pv#GTrE` z?1YS9j}SQw)#Hp&hlBRg!!aXl-CPnHzHszmyyHcIYVMN=#RU?lG(TiKQ8O&V8S8aW z+&s`M{kvM0u@qq+iN5Y=X4tx#<#-E99j5NO6NED?2Zh%jB`AwFeKAc3%{?0JxJg3V zNaarDIIQio4l4#@ozoZk_huxkA7%~Q{QN7>IZRY+IosSLUCMX*@d2kR3`zQCkLVN0 zGAPXD&oM1bEM-bc)!&4?l3W-sK^XEwY!Edj)7fSIxp)3w7j&(BD+FJV;TKru(x6XGu zr;DRPqj%aF0ZZO&D+A+M0d9KWOU^c3L49M!D;y%{|!ElWQ`J3U^a!|!NSNO+qq0C&isd; z&HUxG%f6spHdFSgLMioie!Fa@NDNn6EB|(E+sc`e4ehe`w994+%y!u?w9D?a;yPu# zI-*DXECRz21D0{+uBg<((y=DzR>?ItN3wcK){i2f=ZYbLzp^gr+cDg3WZ*NkihYy| z5fFy5k>PVQYWB6tJAzNS&b)`@Q2&r~B~Rts)ospD+U-|l`30>X;qhheVYN&o6(BP z(Mz7xE%XC(UiA2c02lICCI}DnCl0bMa0%#9M6rJwiT|i<&l>6wtC3^`;`k+y6JX2F zwK1}Xu%Q*_fXdLaQLkSk*v$O4`X>QOX5%9{159PXpGiF6;!IVgb74Z2mG9K zw6=%zrL{u2$Z~lui)i+LtuWOwt?)g+Laz?zUkinYd9|l14Ea4|*~$Gt$M-O3w&|hP zCUG*Pdvw>awZeG29)_|m)*iA@MVJ1=3LCvn$+&gM0zG2A)KS52NY6nm^=g^zRU{Y(x=sR4U0LuFb3NLH)dpxQ~kUL@CFL z0zU9+#QdH+2qNa+J^f1+sq^F=@_5MX)jzzrT~Q=-ZFd#Xf=aKjL)+mv|M z`9rG2)<_l?y)4gw4PVx##C~VBS0ZeF5c2xLH5o(GCFFX8d8s;5t^CMX_rbT!dRL0I zqvymH+a~ydO1LFrXP=EH#NgbB@k9`eJOVJ0zj_ehdxG&q_-%AS)yFuEYMEemdB=!< z&!N7ge-EKK+<~-XM%*Qhufy98M$GVb$3ITv(wv=SBtJop44HDl669zTDQfD2d&#lG z@RG^j9}bz_xx=c78-Df~_Rr-LC=y67=7@8A(#z>|$b3t1eVWWG!J`u|SEHeRO;GT- z#eNwu^68sLGrY5~G`YNFKIg(&^K=CYwG0iPnOpNef?iNo$h^B;Rs?Re9=m{*u;h<9 zV@HYGRP1DAULnAsBGRG}??8t+vAp?l-M)6Xs&@u)VI}PPyNhv1Yhl4b8>Bl0!Z~xp zW@AwFLa#18kpqJs;Q9{Zw$CBCGPVLSJb!q!!vgmR!1+o5^dKGAnaFT#8P|-EDg6!g zDp5fAat6a^-Mb`(Gj5ieHw=qGk1bPV%~v8DGo572klu!q6j7?WGCwc37(EzT*t9SL9mnyLbi~{ z`EAV|W6{{G=Z}MWA@a}Q?f|#O6;Ky zu1d@16R(8m7{hiXhlIcJNo;x8p4pL?z4CH7&2^&j=-^bRzjX&{S!&?49DEwKgc~KB8=a1Qhv9qdWYsJF>wF- zgWUT`N%w1wW}{C?jkvGoVkjrw%KO2`f70x+WLFlu|MP=vxrikV?tVYWzFJaza9+mm zHv1{ap0f&K>8U@rs1k;?+tSHcHyspy>3w?W%v+}#7&WxI03H;!%W%qA?MUyNGQeCO zWx28;;+ZcZC(i;NoJGG9vghZAWDCmMz|A2F%Fj^!XZfMV&%{n+qIdV^)4lmn-6Pv&(d2Ev!g+N=S0uuZ%3|QY^sn7X|lrKlFctZK8?iyJ#1g@|3+H4 zlumri2)w`9Bx8{;W>_tXS>kR;>4*kND3G{_|P?+2B7# zmnm=%ZKOOM|9McJ(zk>xMJs1JhT>=;4Nk9vgd9Y@K2{8g?5=~cQa5vcC)xMmv)P!M zUAZ5_pHZI5R)l}4yJvY@`$<%sZV#-`hhB+Ut?29;r6>R8^W;k)nNeH)qEr^N%NKng zv`1_!;l(+;rWM;>o{M~8M+Y++56{f`xxwczo8tWo+RF+!Y%Jg_>bQiHr5(Y>Z$}3Y zeHI+}itb$rXuMYJz=E0I;7$P2h7aVr*T{0HZ|PUt=|%Z8S;x!h7t8o*tkqMc%+JL| z%$`Q$u1u1;<|0b%bJpOhjTP7@mR=bpr#bESKPi1C>xgq;x!zRuQp4C2^UE;ScJqGq zGuD2`>L+cqv39@rt2VHyjy|k7b-bN@K5_TaaMt7i#M%P_$+c(GoAu-E$u|k4-WEt< z{J?QQRe`ge?ofu~5hT|+U$%_5!{=xE5DS}FaBWIKjGHrB0(y$=!zy)$SMbmm_4_;V zRz$@aJd5QSu_I-GGE#a_R2XOorsNwOL({a_qzIY;I@m8(fAR~#Sv7E2J4P4to*l(u zrzIzPK7Tt#dxe_#QYsJR%9F~c1)hb-kkT$gHkX(%KsEj^CQBQ~*WbuhSO*RJe(6$u zL+SKleWrw)@mx zV)xk{s$Z6y5j!hp+ zcra0RDp&j3K>v2$|7L$T-mV$W#Z9l%`-da__l>7N^yzR&J91jObvi^3Lgob#`edy8 zly&Zk1L%6O|7twYIU?0eutz-1&BKxYN2vxg#6E|;TtmUa#gFpUX;-!L-wJFhqqpub z_Gy7l1@iMu{h22}2_gwOX-7|AdY_DdUYp@|C0nP@P&8N$H5>eo#8`A5xG{Yi9@rc_ z^iKV!og$^@c#(`nvw^)Hu>2ImHj!nJuj9jI^(tP(shVHN%=|@W<}Wfcf03E_i_EN5 ziBoQCRn)E4yy?10@D9gQjgcUoZuiOS$0vxUt6hmdwoBk5m%B)C2PlDUV}BB|$L5Di zxruplA=B8z&N_ONj8W>Mx6y0ErSpr!_SGm%s*9u3c?d9w`XO&Dh%(1ZwN>dHwj|a556+auFHsDKTE76 zQp2a~*U7~HROGDn5$`kc!CPyZ+)*1em(M02lUzdOqRry0LzXi6 zQx?npqhT{rO@221kDAX3mE10UQrLQNH6sjhz8W@vE+eN@4j6+}7@`)eH(%!JG3)6^ z$nv^p3rHx1lb!6;rLSV6B&F^Vs^)b!(cqQpWW?8LDG7wb2ALKUJ2gu>{i2XN>OymK zEv3S?E$i7cc9>xGc}x1pH9V!#zleD`dY;Y793rLf#P+%8^GUn?E0~SoQ%n^w^V_|u zJCG8T6cHkiW$`v!->%~=o40Cxo6TDeQkg(N6DE+*kpvm6CU97DtP=?h-g`!LFbNP_ zJ^j@ZeFD$r@*}d~4KT71jC^feQ+W^VO$-x-{mx@tqvcs3oQ6q6r3{#f%nhHl48&NT zpWN%Y>3rl4nTg;7Q9JbyVjAQAgpzumls;d*MG9D{^VNm&R#nR(1Lv#P9L!{QT_-(C z$s-~2n<2`}yI0_5{DA#m0ZN_J0qRVu(+fV+Nc zQA!~bn6(9CZI$|*L+qI`$rXK^XJOoS|LC``4P~f#v$Oy6%#7qOQvH!L;aul0ejWUd zz2Z;e1bcFSxM-i-xh4V>2rY0@<5ciVY*ay`#7Lp1C-ElnEjY%YV@{RUr_zB(k3GPZ zcMi=G7f!nUW+Ejh-LeAYAq&_tQ51U7{UVL44is&BibcL){X32e9KA~o?|1_{a`z|?h zXg73SIKuY?28oZP=2Lic?mQi3Cj{YvwHQQUcnv8(^dM0r z6?ThIX^KhY(gN|!jt%6rG1PzS1iSkjQ1G1;LdB)~+S-*c2KQy&h=M=yJ`ln;Y1h## z1%viG!%23#<6wREMG9!;0Gs@fS!k5+MtpVq&o>}@BtD_@~+wUt`F30K=6 zlpooy{5f9vpq9V4wR|c*hG)}T-R_&8>f7~;*%%t}eX_{uAT-grmtbkkld3lcQ%Kx6 z*FG%;tmPR_DYfe?b|H&^WAH3wV{(N#I4~-HcGx+bGT7&Tt-06<(o*w;=^_*1kQr z0u?I>7Q$zFOg<^wWpWQoc^XXD)>lKD$!z z>6PkHx%Q|He7ty)%X6J()P@Se{$7z3e6SqzYRPlnOcgmcRY91B(ISP>Q>pBIUUnKr zm;4tPtx6UCvljj#jCz5*BK@|;zyL;focLYK`V`F2#n(xGdwAK@*9xy%eY<}C58ySH zno{tZL?MOO8`P%wGv{!7wBdD1sPshf4p$ZO}%svF`7}rmTfx z692jH-SS*MFwqS`B=ePE={v?631%3w&ZJ1}dda{%-pdeq#LvKgWpW|*@m|KZ){K#o zfswqIA#BnA0vGYkSVnv4-%k<3D@{b5w(=+LY!fl|$K-1PqC9r=$o;Rg)|V7`&W7T8 z=^gf}y}8`Jjjknw4%5s`oKhAQ$Oa*7of5Kt3KC&{!G3BCt%a?ukX`2C6*B%$CCPMz z{&|zI1t48wcmL2>C-Mt@^F&dqFyjA$fq3*fV$Udq&Pxt+$UMuTUt&EV-h}fhYpd3} zthrF^${YD0YzHXFt*pP9#7Xah9r-vdbS}<_T@|)3?GSj5j}Slbm^vpKHd3e>@9axW}M zK2L2ODEDphNq+UF-ZzrJmDpbre*k3?m$DPM(C)gaTJ2X~zesFcOPyI0C2D>08HAbc z_cJK-#ypK$==If=@KGXfyi~`Con1Gn&Xe2YbSiq>2schCi8*5srb#FB*{H~~fQLMb z{HJcocrWwcgZ^`x|D5eV7yHj@eVTamvEbVHtEBcB^KE5 z(t?AghpdIJP}=D3Fgu+fdJ0V95FZ;O)+JPXH6%{xnKjWP9%!LBzRH93MW^azgCVT% zx%6n97dHUm^;LvdRd?8zLdkYvKT&AJAEh;v80dqs=@2(RiF;H(QEx^c7V!t*P86AQ zy@nq#;^pM(P8r8YemZmUW)T779&Wzga%eZk4&?&2*y%v)^3y$NsfV_nAiKX4OtN!k zk(2zGAD79Gy+LcxJ|&m?g+g?uJ*dTf{C0ZgW7uHl^gEYgPhm{erET~VOykghbiwR` zA+cwd4equ}H4@HRSy|~3tfwl$mymf(IAg@zCe-Iu@5X{44ymj#wnuVD>Uu!J#Zw?} z5ceBn?LEAgn}^Z#)jOjJhje%~Ru;0M!#{H5$K$wzJLQk(*;gf=2mj?>uho1=P2cdh zj_u#M#;QJwhGGa?HFRA#^H|HL?f91%C^Z`!JCqO+|7#S-LErc*g0+e$xq?~!!liRF zYJcYO6YnUYzFiQDAJ#{YPbx3zX(TpijZYQU(Vx~De=Ic`>&gID^6~ciV>Os+PJds6 z`Cty6n`@lY-8rxB{s)k8I?NB35q53;Yx^i(`F2>LMgGVUuESTEH%FJNDYpj_k zyVy7Q!~R|HD{S=+m;TteyTRDlkZk-RzHm!>2{doBv2k|o4T`2-mrEnI}5EMzkTQwC_Fry-J?`82(Q?Tv#IOPht;RvBfzZY*M(RWfqfmjcC zAFB$~d|d-BLoa1Hc4R0rYcg0oUtySWMX`z@RQGz2(1S=qIDHbwO)KOqDZLmYlov~1 z*dxJHDvV8(nOs;BG0I=vXm<{8&@7}D^yk$0k~_A(4&Tt3)fRBU&@Pj@2BN-6E>;kEl|n`Ehy-fgFM z+uc{w8D1yS8BdWBHos<4!w?uD-GnOvMXTpy2_M!7bD++?|D$=fFn~+V^JFo)^w(%8 zib6p`l5}5<5JW*R3t3M$D)6{68A=y=|(Wt<|qNuKHfeG1iXK zO!V(^2YjNX`V0mm>smk`w2*w7Z@!g5CF>A-+@795VDJsE$#+%%rE*`cHMVF2)>84X za1t!<%%ja0i5L135;h?6E)7Nrcu`v-!sGOr?y7Z}Vnk5K12T?Ni4ng@KDDb0f@pl6 zA4Bubhp)&55F7zice;XG>XEJ80EM*G*8NmU{*0KfiZFq3+E$fJGj9+UjP~i48390L`$BDGhlLbpzbJwgA9f( z&z|z$8LW(>!K&`h1v6i1`LI2GHuo7DM?3dGh?M1Rq@EBU31#&u9A{>Kg{lg9Glu*S zHV*@i`6&$o`etn(ZN9N-v@+~UpVhPi4yfnFN46~5S1%B zdDYNXFB*5%S=lQ*Pzn$6YaxH&Z+Y+E`hNfa@Gj2E(qHFPYy=dkBw&90$T*QWm|gs| zL?VR#=Msep4nRx_5h3jeq6RTj@j)p7Y>aP)#M|ZGOW~~QeG(S$lR1>--nx*@!MFrW z5|y)2!E}CxZc05>@Ng0M`0{5hqN^D6vO^%Ua0gsKQE@mc=C$J94iRppX$Z;M>&fLz zf83bfa+=*nev{AhW!p*t@No+G_!;x$ z9n{2q?U11AYw{F~lmx}qN&f;@MKwY~8YNvRM)f~IGpTp>`tREQL+R?B+c>><*R;NO z{1xvKDm7L9*Ss&}eZ8{`3pB+~Vz!CaEsX*ajGV|rsR@4{WRx@WJb_A^@dNlWnap5> z`=-I;N?}MiL?3d#6lNu2_J!1>0eOISBnx&0$PY{4qHt+T?WU0VFZTqxf_0Uf#ZxLn zt-&~l2)(a@wpC=X%NhZSZ61qQY3I}i*kEnk8L8^BK9boOX!$^507weC#*r1+Qe(R}aJW)11BTJ{zC zHg&eKu`|lOx^K&3xyHtEoc&&%Nr0nxja0%;juY?1Vkug+bcUF@K(I65fU%n~iO1P& zRyD`ii-XqnC8%68oNumDTu~-?tU?A0ja-3HLqMKYe3{mFt9Ro8=bnSP9zEGj;RvVh zp{%n*W;VJn0+J1%nNjnu$IjYX9!X=^3NMbB;0r$b_~pa!@~6Yn(*Ymd5hAL1k^xBg zX)8B$Pov2pyOPD)15PEKZmB*@rVj#fHkZN|&kmZ|?}~0ZgpR--F{xk60iIVx6Qda*6LH0P-JdQTs zG7`%}44+GRH@UcP$Px8EXCpVbqjWlrv4?S4LDAH`D-N6up1dW|HB;v~)|f&J4KQxS z*i>|Vj&-%F5jC`APinR%6-r1fv$8N)wTw8-l`uc{h1PVog_Xs2m(d&tA7LvTG7pEV z2;{q%IUb*f;{BB{7srRqN~lv-IiY?+vW3H|2t|vTU05NTYGR-%X&NuPJYlqw9W>$> zlPYGEiSGoC*7#zv+ac)Fm=cx$8zOvM8M~AmDqkj6JwbC+jE)`9xECRqcNt%1IFC07 z$=x3?w>e|Dnz$VGyGARqxFO>H;30xMQfCOZUdaNDJ`u6#@QDPz1f z;*D|Uh&R+$r*u!vf%JOP4$A~(d0nNa_s_<|)^RJL#W?zeN{=qbjA%^pIIGL* zM+03?o`tg9?ok|(OBS3SwijOY(p(|cY~zC{O+2kHX9eez+FVgY_zU@^f`?F^_y;1Q zRV|+ZdaPK4Ms$9tz9hqlAMQjl_z|rP)mMw7ZzH22p@TTMROgZKq?eE-Ch^sXOYw)j zgzRWv5(-FIOTs3Znjivrkbvun8>EP|>L4J41G%Ae>|e~fG8kppS^`@+R%WcbfgaQ^ zpTX$wrmz^U#l-=6tUW^RN~wM?L<8bUX7IOv(x zg{t0(R5g{Gi)V;>UZyB)4}BMNoF-AzGg&N+H;+@)hu$E@di8uvnHOX8kNe}|>R?md zYWbLdVLRv;2~!wB{fC^cy@K_HG?!Cbjc1z$qaN>sEeJn1rkKkPhE4Wjd0}%Lt9s^a z%w@{}HLExluxiHz!Tw3Si|$cAYe8PM^)e6%#9> zuxUw}9`S{6fXmNx>fcr!ozj(Z0FMf@x&Xh4fHmW@P4N07d z{B(o}8(&3?O?`&Y5o7H?Ne|Rj3xnGwMXX7)QNq++h}xhboVnB3SY$^Ukvo?5qm9Nf zb;OHa(Ot^NPPC`|qV7oMO&6BceScAOXoWrD7YHbsH=RizE{YOueDK>hsqfz}2FU>o zeDR;$HRaw)D=B?)*jmQ;4+rlL9XhJVvRA`=hBOE2K#Mrn7|6ITsEC6QbI7Qxm0n)K zuR#452t&sZhQhpIv;6Rdx@|lbsv7isDD$&G%ZFgjrgPD=+Bt_V@0CFSdZPm6-58*H z7{m7Y!TSMmWz(1$5XTH!rzeXsfn@yCD5edLK(yk3fAv90_YBhEsUs_fb5+__YCeHBp@Fy zry(3AJBoj+sUnP5?fs3|NN~H?XHUkV=f2@!hSn z{ZUD4i|Y5`p2s(e>JnV-I8>Lj2M^Ufza|J=K=(N6IqIJpGu( z=*h`)7XBEufLc$n|KJh~mFm{2_ujKYd-zu?tn&L%=@w(%rofjt5BE6`!uJm!*kq*i zi`sP@5mm=z+2=Z!Y@qX{3xWjmqNGS758-?ay1DnTHDqxk{?`=tm#ubx-|}0GxI^4j z)?WwgzQ`*_IN#i;>+rW{$~qkFTsBNXNcmU2E%dPuF_s{Jo;5SJh^ByW&gNtGtYB zG=s()-9PFVT}OKvrKzeK-MhUn3cQTWu~LX%{F;}1uy zv+!SWLKb%V3*f|Zjxz~9-2rFxu!$?NHKhn1oeO`4=Hl>T&CItd3gAbuXh_$1NY^CT z)O4X}o<9i1gF+uCfvx5;NL+m#!wXkc6jsQ_=L23~qU>FK`w1&1+Fm36jj{-WuT6pV z*9%BQ>P-BGWN9^Q_JU%T3587bBdy$;4!k@jR3XCDRuYLnMz!Lw}>@}U8233!jV>YV%c@)%m-oj6V(?nBESOO zp2Q$k3XuUO`a#I(*nC=n`HWdCPgN@Vd$$A5t$)zH8?v}=-zs`F1P)2Gvkv9RipMS;*aZntMt2bi0SNB;Tsv|84#2dC50}Rf`I_QKa;< z<=Fgp-wD;Kru*EKvl&@kV5cw>0~XZGz-$)PV3>s53v-VSXSc#$bbO^AIBE5f(pJBR_gQl;NB>pmh}vmvpQ8aLTa8UM$N^1!SH@RFuJ< zGxP?Utivp&y`y9)4R~k~0>J*v=lckT)W6PJt42;Z5V6EmBj`k|?u8NS3dEOb2gO6n z8ieKt|1f)TfpgVkvS~I}{{iw)ZY>al35dmsbYrYKT-qZaCSd*;d(hdzs&AaHd-`4F zuwnsi`vjv+7gcsYPN+fHSCW#V7ZJqrF58tnG$m5h0;hHdmlveF<<%a=@TdjuTy4li z1TxWwLCs`PLkmL|F(1qdhy>cz!or9ga3C4t>@ybvGO0)+JcB;0nDHg-#@XOv@`4|Y zxg1(i0j)sNH>W@>{svsbRbvS0FlIgsY~h4n8DSI6hnc7&M~TG-=F%e-XjPe`B}hn+ ziX-x+B_dQ$cGE%g9-$USB9k)goMubQ$SGm-M@C{PX$UhZR}-xFw94;6`OR8=}i@?f(e>4*=&!=N5S@S*gV~c-!wwx4ksnOZt;e)Y(8*e z3@@g~@G9H9$ z%A!+1ngj->y3GIwBi_PNQO!ax0Rtew63zFq0R~3=X6=fMeLDa{4)sZ-K{|Aoq0g-h zh>jD#Hz6sJ($lz+`)dULYQXysQp!#Iqy!QcVSWLIkV6gKBGZ6vWQ7b7mBOd=Bq(#6 zXjl=44pa}>6|#oHnTD#qELgg^=77s_n4E#(?x%W(%5hfrgD4dAoJjQ!YzJAuBZs$A z4+(mRYtk#1n0JWmsQo1VwM4uAD3c>OVyf z_FA5*aQ*a5uZx~82N@88uJk~x>6Wkzu0($^Y)gTJb`;~YQs>aQhg#ehDB_-SA#}CB{8_*sJ>S8l8FjVY^`uKs zcyK0d_vkYKsnvYHohF5tXii>@rv$l}PYFU%=)5jsC%UCv_Fr8F$Pi+^jm%cov}T<&YL)w&+kNRi4EnY1f~WGZO9{ZeD_4fxi#kjoj= z#D14`)^@)n!4laeA$cqZ^~ORb$3Q0YBFGsb^HK;3@#4%$1#o_{rXz#Q&4c+tRANX1 zOCU5;3Shit@Q$K#tE!xhlI*LBaS|xgjg%EbidX`LSkC*h*+FYjFg15UbHRLL-T$CY z8EX$k&p7hj9U*>Z|AY&2o!h##65AU^J!7v{QKagv|ApQ{XYr$XgWO`E$^x0qt|>S_ zXh$5`OrqR49I~^?PZM2;XSGb^8=^@9KpknO{!^CGYw(a5v{vF{#h|s=<%vnCIR(gc zj&O4xUbsL8wTQh42neYiQ-GjT3@(;f%b>K)9;HR6Vv1lAt2CEGXw_e!YJ55R3kYpa z);J-wviZEHjviwZ8y^qrss9$buu3Vxc(!?@ULlLwS~4wUb%X4t$*j_CQ3{$Ti$+AH zw9zmOZ0%Fj#)u0u6ORr2VU&!{gv<^{8v9h==0a)~RYpn&6>@aXr$KA@@njYv88nBZ z4l5NzY$da4eP)mmDeGwE8Pe%Gs?(uxmP@^|rzUlszHllJN_YfQ8Obo#t&AaTozE~L z=6OaUMhDxCT*gb!XC@*74Erwc;jErz=@Xbbb_kMOj^ZmbP^ns^M=r`ngB+9nnj; zTm$X!w`hm&c|;OM2Ca+XS>I+eNNm+07Ho>@U3& z{x53}`2Bo%mcL0LmQfv@dlVaBx82}mKSu-ou zDoEwdaA|L&;#jf*dYKltPsSmF?MAD({c?r*N`?9Nz@c4)IXZ^svO|SEr?6uMmvim^ zMF*Dfp@djg;jszdi%m6`E6c+RKv|xsyVD14usrdo6qa`dvTIv@?g`~>?rW%DHVrP? zgE@8wpU<_4o}~WEl)f)mH3@b}+`3#v%9+(6>s+x+1?K2{VF@AY7Uug1ldvq;h|9fd z5$i@K{76=WNFs!v(3Fdqg(KM!W`PTWNO_ip$np8s@(_IyYiPtgt|`l@o4A|B@R&y|lae z<@O%N0w|V0{pHUI^5>hO{3()OSMldK`Cp{|!xHMln(A=achFPDaiOH75_4*)6C{Q= z_CZABa)3dG*a_V)xMfX6pL2w{IEh;8cVwEB5krOg>+>lRrwFbz8#0ONWKB3s+#rWC zD6|fmV}W*4fxmzLj-Uy|syLR_-0<gsqN2 zdl}XnK`t+92(0{09BKl_Jq_pvU|Zb+&&mFXdvb;}hs=pcOrJUR+~gqF$nA5U`$EX? zsUdp-ib(uz&WfHOLWw6*Z*g~@*Y^Gt+3#V%FQMbUBQD#>4?1_wnB@HIQtrDG*>^LA z>FCgnr?48gNQ}C_fw7{uQ!B3|;MQ^vQ0}Dy-kcLI*7HX_DH*{qQ8eSlApc^y+T^+$Fnn#C?{q}P`Ro|e8eITuMsd;$41vczO!ZH3=B zH=xJw)5InD&kOJ{zLbv!vnceVF)a3fpUdDhE?9gbWmQ3G#8=U2FIrfj6|*?6}C%qZ4J)Q##-UeA#48p2q$&~V7M?SVM`MqNi{5pC}c2tJ<1kBgN&o0 zzmYEIrZb?1;_on%D2G>IOZ*p2-y1E5CK6@BT9h9d{?mL^_L}~AbP$v=dImCNL1g%i z1xBJ?)0?B+11|}c3}DC+D1DbrBfwjaYuxN|W79c-IyUEVxy>SA&umnCyuBi_*n=-T zP0owHt|JgR`tuq-@=js;OSK5wMd+ZrVKL=@USVI+=-KlBijuckNP%1~#*@H5bYvFXm|sIaAF@|=Mpx2n@m@(hNg~(T%qKu5SFl^0 z)uALWiy-+&ERM;soK|;o0d^h}Sgp3vD{!CORgMQckQhu&K-x&0!qDWhKx|hue(QgT z*utuVpHg)}2)8%$JEXfKn zM4L>(@bEbj0P`pvR+En+`B)qZ&yq}g*u`IR`y^K8?jI>(Y+9OWUm_=L#wr%8oY8G( zv&1RK8-W*R{Xf*bdwf*Y`Tv`c1cG9BRM21nlQvfHN)*%xlnhQ_56plHDhO6vtX0AL zq@Z$9Gb3!r4Yan^UTp1M>$kSGR#A%*kh>xm6%^&B!rlxwQAq$H=lxlGW->uNzw z^Uv|shCO?)>$9HqtY$}%ol*U1S5f!h+FuAt$gZg6xWx>2Y3`8$A1~%R# z$)dHD(P8|eS_%))SHSM+jmv(50E_^f1{%RIh5TBtXV~6auY@%2vK|lCZ1P1{jAUP8 zFkY)am>$?1{(V@x+S|RlH&oPEi_dK8&8AMApjHBi%H1*p(aSRsO*})}0P^sj2**O6 z{T4j7Rygqk8VO<$j^-&FkBvbWav{?|lmvcyU84cxxhFg~Nf_5S^clvtSmTn+m{yKznl z{FTblIZ3L%8@?+22mGZpgza23G=xq1mm$0@4kc+2W{PU#VpVG-a%Q;R1J-U%#(fnuVn1MdGJ5pd=pd`U0EHPW7 zHLNVvfJboyUk?lv^HMui!g-H<5mj34NpFQ5K%Yw}#!(d}Y7MK-5fdrJE(IWnL zUbJT5^d~ja-u{b5XVdp|4d%RHg}y{Q(pJE=MI@pIsWgj4k|V4m`CYR;o(`Zb6k^rTN!$a>}NVDo#=EiElbE9zyy zDphlwF+j3f65=3ANM+(n$u#J&NrymCeaxXSue*>_L=cEM2oASk+3iiF9gzZRt6)?VefCAe;fLT~5wxf0L& zJJ0$O|7{ds<(S%)iGC-#sSS6)4GZBn|8-oea2?-J=t&(Tar@qMFcP>G<3wC$#QvFR zX|}Tu2~Iix$4%JVy8Tdw_30VEjN31g>yey0pJYTzNOs%-J+6cyMQ9=?SjkQ9f>9^5 z^Cd8(RxE`82{l&4LHBVg*VEE~t6b>MU>g1`{dvqxDBr#n`#hsdAmusI{qMcX#=*{R zTc-@`{00>QpUeBdm_PTAP$8Jiqh}FJ!AjnzNxOaTJ`h2&XIz|_p?6H{ywHHt9uWkY z+XMtfo9)%jD94coO;kT_m+xL7Mcqf5V5H%7baj;EK8VDOR3`YnK_l?jy`~r7F7vF4r)&f~w0|$V-ETtZiM$OC|m? z3puQG>_Y#iRPvwT&r$b5;2n99&80Y-=00TnJ@<>@HK>ZPWeDQWRG$pHi!q9BAs7>g zH!918e*PUzV>L7H*Q6}2xe{*EvT>QFi&KJ7pvgHdGFm6(&E+vT&(SB4L4j-UC9bXY{h_qKhl%-BHB9+UAxy6K7 z8n>vm_DA5Rsl9;*Q`^LNrXE=;u$SnhC`&W#%C+c<#!~fgYgG{sQ}u~#)eGrZT@o3b z&`F)K4es=lXyrN?Hy)9ECREaogLTYv@9PV~{C|0?GfD`KNjcjjN z*iq$T1C_Tx*I;7fDpfueb(Y$do;_hbL4gRY9v)M$1VeZWa)_zr+$UN9ZH6=8gJ`+f90cLbG3P_f z@??%ze~v^O4H6kqH~x4F3h1HSK>x?LWnzT>FvK z|5TZ%0J^>0s(o<(7x(@AkLXTJ0CF)HB)Dphx)JF6wj9m-J|zt=3gH_wA|Udj@G<8) zDBsC3=Ta!&x!?iO3T}i~ih%?iZ1Qv!E?>+PkslaLJ|-*yMX1uKGc zMGZM;Qj>A8zMTo)))FW2=5g&9S1+1JTMB^=y-l*u+pJ>oU|lmb$qjrj?va zbGfbR-tqcKLM>}EbM+Mx)VponcA)=IfDhzE{S~d)_a78KWMDSJL!->%`8Syk z!ZiqXci4?SA?NzfjZ_|t5LbjT`6ke;rW#3&G4E~rmidX>xHQU){d0FEek=7`ysyU(*gI0l}ED-~ZZng1!prtCJ~X?n`;l zYj1!S0O4x~?_M1Mp>r&CIorlASCG=-PUluAXtiJ<%Y*LP(_Np|Aq5}r?Tu+U?HCvv zzdBYiSZ8p=4&42ZnsBD(bziwU`iL@a^4AUMWIOfmIa>9jmIM%VpzEmnh@=d{q2xg} zn#2uUg?i_rgIr`K)_sSaf^gyXvok3Ej$ZVefb6hAPs$UWnoypN-vpLl0hZSxfxVQ^ zvay(TB@bXxseh^tgM5CNtC(TWes5aJOC~ZWc!Baj0c^78pQ3;hA}|+_CZST!YD|s& z!n%TjIc@#3U|fqcjB8kF&&15;Sk@P*iYeq&Y{OYdKK@J2q+Na_h$o zjhrm;M?;B}v?I~uG;{*rpg$uGi z34&YU5lLMFj}nY$bu&lw?cPnnSZ1D2R~oJcZ^r80SwXxlBuM?WP-F?N#3!Nu<-`Lg zYm@?$+sv#&D*9yN+iW~nnzsO}Fj55BZov-AIX&XshSupL|02N~dx=&Xy%rsU5&pz< zD~XZ((AgGg+|6Oz`6rReHCSw1KHTlU(R3Dngh*NEp&xFP28a;jgfX3CSFUC>5efw( z!f=dEa6P)XwKeOjS|dg@1+y)x&unu99E%jYmryAEZa)3s&iT~Mhlp~$8l%^5 z;SOhX_NPfD#BJf;HpqV)41j+`yoo!Yid#g~xu?v3j@8g6YdE{M7jeV1=d8pHwB&c; z3)kbJG;h~@0@QgKYSTUgqBZs5zhIhWb=UIX{bD7eD7X8FSt2dhaNPfyw}@`QhUP$E z@iSf+7e{}F`WnI?gU{q2*jdqrY$?)lKG_;iQA8ahAC>|MTL$Nl+##=oWE^aXS5OoM zCTfKiLVt-JsZ(*7U~Vpj>ChaR(4fyK^@?hOO=Bg#O$lt`f@<>F5WO+9Ez?9h(}Wz% zQCq_HDGYDtz#OVQgs5WdLhsLSKc8YrKRL`*|OAM}nlli~y8VJ_rt>X}J=g znG$0Ub6;$U4;@MgX{N1&?t=jVTcEZZ(#5b)EySPCl!!kNe0?*3mbBR zckxngShIHWRjg2+K1h%OFaAXv1YyRfELF$Fb+Q6pOuMjpL%Nf(f5hRtW>frh)NLOa zIrT0rM*VhSfxN+$zlj3%n*#iltLxm;ikRLxXh_cy^=58^qZpSfga_-1HMVf#7s3fY z%)7SwG8)HrPAfIAULD^pvB(!r}H}_ z@00u5!#O6%?Xg=x=r zxESJHQ6XB(mC^gtcZlc-VT5r|``*uJ+FT~>l*J{EF`$$`nUveA0l5{8>=e*Qu5k)e zzRGqcF@ZG-WUUN*riyTu0F9ArF_AAJ~TXM@*PzQ33e1ZXKR5DckQSZP|b*$-Z zly3WGWShJJI~bP8eyu*4kc(}`lBL(5FUipB*6}QDf71VXJRfZNs`0ElHyBTb+%izN z%fFL4pROv6U*kQ7>P`Ha*kQ@~QDm7zMobt^iaMv_SK4?0a76KpjjdGT!RW^sNOlV# z**7?C^3Q*4gMyQf#BOREUt5~r6tr6ZH==XC?3J3yCV(=#4}FE(<;TBiSHSr+qqjCP z61kdHDDzL%%H7t}F1oEkmm|C3)a?Z$M*=(4whbCQOG5lg(StZpRr zu-Uu&7ooUsRO9HldO~d!Ib{E$T6;+m4-nz;Fd3G(TBE0#;I-;$tmNy$WOu-w{R1@v ziW+2O^IwwkxAk#;>*K1{$MxAq=XUT* zC}He-vhftWGf4%(6wUg5t9#!1eG4qfU%x~xglUfP8#4OEfIgZ<3_}0rEoOW$X9G$p zEVJ`mUW#ZQLE2Lnvyj_4EadHSZ!;khP_tpE+*Q0kL)>dSy=5%y+*z7gXna5E+rN%K zfqmL%B3o;r5s;OmZnO>4d76-gKqp+5F(mH^zX&a&?MDQZfH%Cg zn^0a7&od;&3!J`|h$cag6ePD{DmSR)x4>B}vSAPhxZmZmW*RsD*G%h^Axz!N2kDqQ zt*{3M_6;Qmy2D0Co$nzPyN*pPcI$2RjShX&O)w6KjOSD8s1!mXCS!F#`9a=sz+tEPSP1!wYNzrx$V&Mp<%+ z8MS*{fBwZ@FAyD{Ot>hx2E6u8MzG^7^)EK(;dbx&g9JodmflI6mQupZP$9ipe>Ql( zS+Kp0e4~}V-g4FdiQeZCdQ|hJK&QZ)az;Q}m!G1k<&*lYa8O5`G+F9?GK0v*gAder zWnaRZ{42$O)wtWG;J)mY;&8smp+Wn_RqQ_P@5x4RnIqghZH zUu#`k@#i>$KU2Y+Sjt0)=uF`WF-FWtZlD9O50G*a!zgUOk}xG zPyaLnM8j03-)dQ9Y)8CKuWoPgl`kZ_AM)aPDe@1#$V-}FB$gz~m^&F~R_<*nlHp=7cWuY*u1 ztf$*#^202(H(Zt-b)|NSui&%*FER;0Vefn4@wTTNxe_kc#nW-~#SQs$E8z$yHRliL z2FFqk7ZDPkP;-cR;He0`c|&t?d=!64<;dUmaYXW0@NEgSWl?#|xvDwa7iO?|@2}0h zM|78aAIU3^UM=tah`jPs^WIO-z2~gTy^qPrJ~KzThHESu6FK{G@69a#$V4>YOcGYg z)H3Gz(bVIkfjLf5wfsXFB&63awNpQrdogeIQEwUVD#kgJSNamX8nGT!e1h%`w-s@w zZ)Rw7`Tc~xGc**au~qyw92P^`%LqJv8{R4(WEx`f8g&VxLDQcS#yB94a>xjMBhE8s z8wFAx+1bSqkwx5VbhWl-{f-x0t0V4+mWC}whWHe*>vFg2^@fC#xtw?#nFQJsRYjZU zbH<8GO<~-YV@GYH}+5`rFib zwi9DHDt`r;-nmHZMMULdAIX+blq`OfN3vhH=GXsW@U=Hzq0H3%Oa51-TcBk!XpFTP zfUGJ^2KW1d`?I1iX1pSNNmyIyXNGR{sq)$lpb0U$#7+I|1knvcQR7z0XlqxUGef^X98i)@R&pxR0Po4s&M>TnAQ0dpX&u^GY@`jMb10kfDA+bVPBEXe45$$`ysmgCW(FG!e-+3m-qf>sJC~dohk5+IuqTyNUU zqzk_)SF6^v83@<<=$X@?1tCSWpE;+j$8WMTi6rt>VkW|*Ie@w6F^c^C zu*oa`R+j(!18ue59C_KQ2&&%XY zjJ@^a8KcWZBqDW|$g^c50-ASz4}^8{I~Z+`-~_~(F~&`*(Gn+h1xw4Ng@xx1qCmOc z4bN|H@he zeG_c$Vsr3Ml=x_m_nQ+X$Ld`5%DtMcvuAO*DqLt!7+Tg|l;a}rtZ#o|>_fU~q;B7- zzdYDtCM6bIcu6Xcsm|YCg4Qd%17*m-D_| z_Pt3QVd~Uh%=;qVM{71(5C68c{I`_2rm$J*Wk`Q(zCQa6fynffn9s8Um(5g{SRGpUqtcP^M5Z+zK(GM~2 zf&5QT`vO+%+(LpKTFDy?^@kjBIZ&qLihJg;yb`G2|@3pYA%eu@wYJyDrF=QJ3KAya;lw*r(>6q3{JWZ`KgpzRMr)+B)RF zTo4R-xEUVtC?~WI`Qp|gZ>q{0ay>&PFfeM}JGsxGW0YZEFysXdTZ@R>W+l!sBYv0` zawC?#WXPG%m>V`<*RX~0HZ$H58dEgXvl(v091|@qKhcH54EcplvKAnml$AJ_wxX$T z69}PUXEumLauW2-{|2SWuadgzB4`j0P-Q`2A!GP*lh@NEP5X$lR>NF%0*~S}R%2AY$$a&h7(N z@*n!nvR=osUMD}rJo*GgFEShD3JM7#;!OzH%0b2b$0%M5Nd9ze4kXUG({SeU=NYcQsF@j|>d_^F@)v*|$N5%IK*i zM0;KlCn%y>;1%`|`Y2F@HFMiB#A@5y75rhRm!2RRJF3dg=}Ga&p&Go_=+-OWLNqkb z@c+L7#oqpZG$VIJZ+|(s&D)=u*=Wm44B@}PXa9HbUb)v2MfqzfjG7-Na=QH_cZ5b_ zp1&EbS#BlB4$4^8c~hnk!ozz0stT>1uZ2-}5qA>hNhxDn;ddf6>>7ubFkJDXlm{9k zDnMs{A}=M{K3NlU2dw+FOM$my>cJMj2c4Tdz+zoqm85EzTYM19wsQYF2N~Ce9pN>0 zW&h;M>vf)yoHP(?z6E#Cu#-DrNs_QYZ4S4K6f$)XhuL31d^;u6D-@}T$IP$W$RgCG z-5EM8>c}RK@cutwH&-@Y?W9(Chyu>54Qs(GFKODw-(e?vlw zem&w-hPv^7x^rW;@JbXrM=qRHS!Al1l5+1eb-$s9emyJ`FCo&HE44zoT8l)(*Dyk9D>C7qd$XfK$V^S{xs# z&i%To_mjLWu8E+*-e(o(39&kC2^Hv zN!#jUBdKX+G51#LPQ(>R_A zHwWGA&2?h&M=F1-Y`G zzdO5inydFd*{%L|r+L2DPJ$)tAFG00vyr~cu2~_lYS+~6Us7Qup3?j6wS;8j;cGX} z>Sw-o<0OJK%IT7rvm5t~ez;@we<@aZBsO6`)=j%}v}vtw*Amk{%7ed1zudF$K2^IF z-~@0{!X{j(ydUVbmhB=SApeElCimNy?mq^;+q@5t4Q%;QAy~;9Sfl`Ld@$`ihEqHz zR@oRMUvwVYBy{c7mPq#G!EfZx9PmY}Rq8!r+A}H%SiwwtoPGukW1wNQa$R)7o;K}G z&$ib|?cI@Uk1=_dWZGl61lm$T8G$)|%$;}vXg%sb1u`x>YJlft8-cZb+U-E~RGHzA9+Z=Yr=rhkUwHqsnsP^_7bo-Qv zmu}GY*Jn*q<5zoKLi@$4#(&Hm@6rM*`It~$YBBJH?SyrzuD01L^n6AUh<{M9vx6{u z$Qp26!+!3q{VWq(_N(|{?*xu}<00{yl}J$6`%7)m9ZGS!t3UheySl=3#Uf%WmVU%@ z|0=lP!73kPMkiB>nzwa1mI`lA-f%TmhE^e(!>2{YxWbF6tW=X_w445m|6T3m{PQy- zUuc4lDD}>*&lrQ8tWn6-5IOo{Zze004QY{d4Wx)d=5~4FA&RF4V{`@waS~N9cutq0@+qZq>408|WhkVSC! z9SeWYeOA|H6*W4tOcXR@LqqZOn*cvS0WIQy%bq9y;}VHPX>+4@F|rl5d2%#EF$2_i z%pfZ`x8hhT)#lwN>JrQDzAE^Nbs|+l`x|TPuOb*K%x`mje}eeH30_Bh1^D!9fo5Wv zVm?R_&BejoH;hCvv8?`lI-=5{`hngBceX1?zw4dLKdmsTNIy%nz0-eHIfhcdKK(o{ zlbDWQVu$YAQfm_fm#DVH`|J+v&wwsqOFx{)|7Y~0-k%UO7;5&XA}!q})@`gW zXX~TrSsQr>XH%XwT)Rk&(isK?hu{g+lC$;J>S7qHm<)+ycvh$v;{%qFVk|EP*fmX7 zqLYre)U9aFKsq^-MX)WCB_sKq&n|co#)2g!J``>tR^97}Ogig$mYVG0O7R-x8I8K* zsw%2C7;Y+>x(RcvUDLbx|E4YQK_*v`nh&hRA5Gg=vW8q=c2E_M#j!(E6Su%ck-t=K zgfOB9IO;I(zpf|TR7FM-frMSs+dqoQQ3%$I#q)HS$K)G&i3upIy(FDx(;Jf563_za z%#q;01;YYz&BR!JN!D0BZkW8RwYm&d$PO%Pb=gfSB~YZ{9$Bm3t&uknX)%I*HrY{l+iL>~w)D2kkXT0qKcbTlmH3#lZ zV5l9KSetXPMC+6>u})~RngjPHFN%;Q>mVy34Hty!uCiC(j1kOI{KSSd<3|&5MtBkA zi0Eq3fb5Mr7U81Iw4+2l${MVf7$TF+5sK89bMXZF@MWW(qZei& z(4i;37_6~I73n3hwRNlw1;)fB80}5M&|nU->6fASdHJJGu2%bFI4pDRv!@`)IxzYe z8!Rh%h~h|hfxAi|Yahd8n$p@EDMv&!QywVJd=va%m`Yvi(@82vK2Des$ZBNVUe269b zifsmBzPM=vbio-R!~E|>f{Q5jc=`nCVRbT2F8}6@{|LZ~h#|(MDAKqCCxkx#gh#X| zGzvvb)C}*X--@N_^5Kah4wsf0C6NE8!+?IO;J-+JD)qAuf0VC1>*2J8FS6u^oy(m| zZ|GeEq`Urn@3Kl(IRA$EEutOt}-76G-D;^U9ut*0_=2NqWWc zs-S2X(Q>OjN5jsZ3QWKxnm~?j-j-wrpSi9O;F>DcyO4)Y;c~F;7W2utZLJbLbNjw| z~fTwu{PTS;Y*v2g@!SDl`S} zS;@_mWhX{Ry6&wUiCvI;+6(JIY(iz@o$>^0(a?;|`}tJITL4{3C~yj}W+~83%&pp} z$V)Iduu4)w+o_XnG81#W+Kxp~Q@t|&qq;t;XdqlU#4pwc(iy0;D7sk%oDGqNbkXFi zBFI5ao1gGj&e!f_3Nq4xfz?*T*%X1Do{aDPl&WS*%5CvD=|g@|O8 zb(LU@?}gk;xC%}q`A?_E$ej3I209qo^8@!@r29L=wZ#R)Co@F%2R z4w6}ZdG#8@DYs$IFZ$Wz%O^7Bq-tvQ-UI5QCC>5W9jhY6& zm4UCZJFW`KPP#f`JhT`=(r<>2weEN8AB~c&Sczr4{}hB}f4*lgX%u{nuZ&`SIVYF~PzMm%Cx$cv!226tt(9J?k?qT=4v}`J868`BaB4}g5Y&(1c zpCpfvx9*Z5W$KN8%b5`fdIva&8$<7S5yQDW${EK=C@#Kw{unCd%NMf!k#?F!)m8V_ zt`_8X72KbK{*LaaBmHFPr*YxR>rkxC!d7_sXFgY2kdLndkF!^nn@Ajvr=7OrYuViP zcM$*dh~l40+r*$F&gV83#kPBvVO-L^+w3RuG;rPTFM&@SIB&BXc5$Ckz=-6~CLPjg z9jQoS?|!>_ewJ?Ljn{yMXob@|v627rOt6u0sFzpflvT}kP4ivb+T4faJ$)e&hEZMZ z0qnQKHsP36(|qU0>3PBWHq$2j(AUN4Rk)IDuwFQ@`s4h^u0z(6ktc~fbFa-4tRp=HE#JZ&svkJ0UUPd}g^ia-FEI#eB^kTwm!_g9OTfsOSpyo^l8zOLM z!^*>{VdP6}EDZM>)|s527^vUKP(q3_o{%qS#S(yGH;(VH3k1Vuj`W@TpJHoU&xF;PK z_$w(4tKSpraOSYAezfg$IY$MOYw8DsbEok9Qb9p6AnyJRy-y9euqsp_z_oN4z!S1k zH3SZBdmS9~WwwG`8-lzb zkkw9NOJ<|!1?Nxp(m~+F;C_dtBTZjhE<-P5yH@fvmIfYcT2EZfJD!D&Si{1e_}pVd z2RFT|KB8bIf%oXP`W*yEL^yQ?lBua&cJ`A|1CDhifimmq`D8rwy@-RrYDr)nojxZY z|7EGS|3M=@i;uTczsQ`#^{3nSACVv;{@viNm}Bq^m(x1ms4OCWy>D;J{-hdd7w^H9 z?9mZ`nWzKx3+G@hmyHil{~tq-$Z|w_;Co12Jh!f?0pi zDj%$`%*qCn?dd0yx(#tsa07k8|BO!X&#l>FC4c_OUgY8?CPusZ*VDh&0{His?`A!r z5LcBS&Afscdq6b1W)Q^Tr?eo$X0Q?YWsXO)lF#!Y$ER_BxMJjGsk1wf3cha}pwCO`foeIhnCgSe!@9 zsgS%l&XH(hn@Dz!J!cn&Wo7~v{c@;w*I=kbF_ZO^)XYXbd1c#RwGc7kO1f*HK`Ybu z>}^TU#myaFtZ_q#L4o6QYD~)*bt>>OMF={v zsvNn{N49el+(fl(!wIMgDfo$C&tX)5X(THPz0Yivm;re%!;P%D+OD0J6mzj1RHq zb_S=Q*zfkMSmg&J-0&@!X!VCNGL2XX*~rmM{fo9c3FP4lU+v3N1Xl)r!ufWEisc)6 zWaJqzl6-F_OIX@OYBn-28?jsYOOOaoWrD?Vl^~3}qDWG7VpWAVgTOKzZcvzvJrQ^{ zf^Diy#K~pk=Yb4R!%D2)708CQFj#iNGvCQ(Aoj{HwWj?hfV{JLVqp_&^~N0^47SoA zu6++O0DEJHluh4c^pR`{kHp^XeCYo`N%2TS?Kv!6HD>^5yVm? z_UYTEWg10^rQINIQubJ;+F!I$5X?I}g9w1(V`-o>>&v*>#EPZ%pR%=oovnSgYAbRe zGjYcqBReomr9Q)$OdSVPqT~22n%9k{!&g-|sKV{-8w#iSLag%jqsK~GI;!+FRTicp zDM6K??zoN&uv3aEkqPfZT}{wcO)j~PVusQXiBzB)>YlYV;+*R@3agQBfE`c)f{32w z9cC@fX@fq9#TD5!;h7lt?*rJiZ9M)zf?9Gp<F(E0`72?AzO0o7FoI z&X`{ie)aVoP{to>59HON2?h0H1m3T5RgE2%P&8ZBVpjectyMF%#!>6~TrDGulyVC; z>O@sI5X_k%lin<8NS(!zm!AGx@L!AzRJ0e|NR!>zQWV9$afDmEHs*Bj9|g(bN3*PW zmT%KN`|JxZ(FuDisEmgJ2c4DNB60_9BEV(D`7Bbo4vZ0b-k(8aEAfbMQs#dT2~UKj zm+6f=5|+k@S>i^y5wbHRcB5b`73 zf`3ex8*`O6XK_?s&8Ew5s4~@bB)idbu^R0EVyyC@0&mf6Yfa-Trfwh4)-?T769No& zn?8yB3WY45PR+%cKI69wQzw|dOh6e^!;7f~eNlrmx=(EuFiesA12t+)jg`J|Tch)b zyWs(ER;KnVWX`? zKdQEs->`hDA9Z>KTy-8*xsSPXUS*E}!WQ9Q-YmSm9d@^kSJwsRbzaYJf7GVu`nj6d zQLqalt(tk6wU(!j*;;!*SpVDn0{_~~XL{RKiNB{R24Zd2Q&CGZ5Hl?sZ#Zq*@oIS) ze{%3^)BdSPx34U(!N>_Dorh^AoN(*N%~7THSF>sSo4&UFS3hh66)UN1Qy?=NK)tXT z3}R^~L`)Rv+@dFB@1VIP<$LD054wPJZ?iuy3glpCKRWQ}{W-@&8SU(jy0z@j)sf0~ zU{b- zKQU7vx+^*~E9p?u?ElU*lCjCIpY&yW?4{fG29~AoQSQkKV_Rw^=5F6>?6GHSZtm3H z8NLZCIPnMpdl1Depwz2R1h%DO4g)4i-yxzE8P4fvG!X<||CJh(#hH@gL^z6~3K>4J zD`aTg>RmSi0uu2La8P_Ngqd z(VWlWTRNSc+?Rm(jW5kB2gHQQuc|nP#=JE!j9&cF-j>??w%5l0u60R2Z9d7pFtQYHU-K|&%cQNsigBO$dv^*;!gN`A?ENt22fWM}CRA$dt{1?3Qy z)|TmCr04;>-2p!KWnQ1Bj5$dBBuqfQR5*C8d}e%s^`5}wqB-p|%4Oh*e>XWtcUZW`c1W+b`ljEL&839crm*`+j)Hy#BuU_1*M%nDyt7NTDoV5H{W(qM$= zQY3=51cPJs%M6ufGZI8Ob5@3{SB9Ls%0s<|m75v9K_hBF0}2`_Wl&!Qq3Y!tjkBEb zG%RR`LvF1#b2hcfHnv!`$r`lMN-WG&m5RuzOA4+bEqUK6ws?sX|m5J=&Y z>n2}H=Z$onfk=w#LFZw2Xd#1-y5JLyIV&>|swNx!asbOPus12BgQ&AUenK6BZfBoJ z8%ysOnTG){UO|vVBNMJa1) z6$Tb*MB89ZGHY%;Fwl0E+UFC{x7SkKP>@5TdhRTDb3!#Ovfa@w4M$G3W}G7dwL4(a z%Uug1FNK5uim})(zA#+4AXf8sbo_E_b`=9aw)9QZaV61S8={3PFtWMOntd6SL$6*4 z5F@WRGlTyky*82M0=Lmf6Ze@T1BbeuE@m{vcCSy2HnJ;#z1JowIaiaBtNCjns~P^$zz6BmpXLVeSrSf|^C^r&6J%v~ z!?q6LqO<-5h?H{?7>x>Gw7{DEKKl;Xoc%AVW@qrmyTJ@j_|goV@3K4;FS+NqW0=!b zi+rNlx6EnW-To!wBS2?QwH|DQyU~kI*%$xJyf`8I;&;J|h6U|Sg*p68?`fm2TB6p> zQv0tnKs+Rt*{`}Ui~?R4%n9$_!6w0rGCt7BspW6k=3$g11vc1#rz zIVII#r19gDkfAP7_nsrsUOr-B1L)A&%>ppY{n_OqPRt>x&d1`&8(F&}T)70W4R%I# zDzj$2MH@p>@vdLkjoW)fIvxo-OTv{+k+r+gr-9y`Iz`<(4_mWj4KpM)s%x`~(bE@^ zjt5OqH3;shwNh)A_Lo}wEGTyQp|5DMc-r_Osc~KRst8snWJBH*>DXc#Yl*DggH&^{ z)4$WS@8U08RW{t6cs3D+qdzC6)&a^u5*Xz&>v^UYu6#4H*2iA&7si+cgQNPlbNnsB zi3=r5YFJ)~HMd(b?)k1{IP0LT7AorePi-x}=A(^RSpPL0?8*JA8DG*c?$@%9rx~d)$I$r6jkX#C<$O z-D!sgHB6a@IxP7I^8p!5)cx^6Uj9cfUGs8({K}|%>j7T=y}Y1)ie&wDQFnMVFI-+s zK)o98gL!q6X{vs#1T)w^4BsDo9|l1tN@2t9V@<2|#0$c{|MU%eTQp05BgmMu6`mfg zfi7%*kMj@xsy5NYD^D))mjfE_y*uE+0*LxgQK_vwM(0&swb6&5{0XFPh{T~wgqk3| zWI=LSD6l(I2t#%lLaLweT4^A4KKz&SA?DV%R4=QZk5%y;?8^tGCjJgX_d7v)CvC6& z(C)ZCM#PWA3!;HF%iS?OtOq4SkGMA#&TJnogzS4*$n3Bl{1b28VS95gDbcRsKnLr= zUjR^3;sH~_%P&!6N*J3CwSl1vZEVgjQEW;q$hM)-QSPwyrUX5dn6E#}eyuQHS1oRj z{DB3A zeoneE-A)_g9$L|lBK-)~yfIy@9|{(sFD3dRw+H=buOIz0KRW0~AAU6MDs5;irI+OM z>w#|vUS;4LbMGh&HNDT3qlNxuQ8mjq> z6exP>b}#1_>-9nxDG8nKII-syF? z;G6^qmSYCUMpbwIX!^kfD*bZ)eC53$Q$Oqs2*(<*psOIO)~sggAh2t(U&%0wrK#wQ z&aw-e-GANQ79@BCepwc2+*}gr)f`&wN8DPBspe^7&T@XV3pMU&S0`dCLynNMf_FtB zFat|3%Vg9w#flqu6swTrHO@-Pl;FZk;Py%IU2bjr#y#z!gEy-ux3)v5(eD6v9>2QL zC*WLdDUTz9-a3X>?}%R#^l}Wn(DR1)`KE_s8+Q~D#_Bt!^-hhui)p>9bU1G9aWp_i z(D@Af#&`C%toG~o>7t3*X1Xc3KhMQ8L;syR(#H2<_V+0zeVf}Ka*yEQzYsj26-O=6 z<+|IrI4YrIM)-jF0GS!1)X2LJaG&Pb&t0VPQbfA~-!J$#HnRq+?em8t(s?a<{*RE1 zuZZ+|&F-}}QuDs`aDkW}_^v`v_UT%q#AFQzaL$r^vMzN+dAR5bSl3m69v*iy#RkgQ zKkU?^`I*mv>r%09;i6c#y29mk&f1`u;lwG{F6@l%7U-`-sVgdquBZqVa&26#QulAk zv{mHT74f@6srss-`l?XjzOb{-d^g-NjTAeRtKwtoQguDUMRh&v3K!G`4TN$nlyEWb z8NVR(GA@b*m!w8LUOuRZKS%d9$ca9N8G_s?H`K4s(z9sIhnCwHbVhMdY`gas4lWw? z_tLQQjv0ixDnx6x4|3v9mRjyV=m3Rx2?-JpI9~j+*zSc0LX};kl(#2ifk}QVOV}w*%N3k{he}5bpM| z(y5gi1?yuP&p>2wcAk`~--Kqi3?}Re%p3Pbz=n>tE zM#q1QiGlYlvLrL;4QsI9Wa1O?F=V5!hi`85dfaa|5a4kpmjj{3bpP!BO>SWOc8eED z7zS<12*EPv0iwDw*@o|>;T-7R!Yw3Z2IgN4aGE}_$73sYds*5|zxbv3g)TK-0nZJ^qmQGOAgi6R!zb|JWFCprQK-dC)SD`vS7ruyb8E$|07+ zUSKTm!_JKrCbN9#74?_?Bj$CN@Zf)!KXc5;f}A6U-s!#)!Kca`tAVvHS|QF;ovS)e zp`j?gY-ersd<>z^M_bZsu{ltQA*lF2873_8DbI3_B15yrYaC$TdK2*JbXD+Jj=b{F znUl($PY_=PhnZ4sbGkYyxmvGILUxLUvV9i1^2x_dV;*ysBrY z7pL$$q5HQ2pn;~)r9Fc}CGm5!$87lV@=MMP|E|2(UT5)XnSz5H-s*^@bd*z;%v%v+ zE6x(X9d++D=PL*FywYC#oOhhnG@Y9_Sx`Bk=OHV2k2xU)fs|g-Zb&McEM?3{oa>ww z!3k)%3u01mjxR3c+;?j@<*&$Q%vi_Iv})g zY1uF>!9?NldT>(mw&6qWTSumif=b~!IEB-<*QT)39Ci+ht{SM|fEue=>~JzqJNuH< zxMX>+h0aE2eWpvV2Mj|JNX#z`3f6DP@*5#i1jdINRj0F2QqC9#mDQVKy_!s{%W2f(RkG?H0OL%9xBkG6>fFxgd<1Ipz?$;E)dbNYjQ`^}48Y zOUc~HS~ zuw4myi8+U3&N_by?^@{r9F)?Sx5TgEq;6N23d1a=qOYpG`hQ2=yKvj$V=Xzr3;FnW zef)>%tUZ?T>7UGjUBgw2j9a*cgjvZ{^mnE%o}^lL&&}(3o_;7_`v*y9W zc-$jCiW8`4Z+fN3*r|YM9>TQS4s(sGe;G|JZwZ4+jST2~rG5by0W925?=oAd+Nk;&byg!U`aDO|HA4~(CE=CpEqe2YJbG2bwUcTJo4Hu*b2 zeD-kaduW;PX~RjL0(0b9z9(-z^gYzHA%&%_4^L?ZFM( zWjl0A$&6AOoWezZvgfH{k$jEQ0VWn^T=}LCEem`uCL-GyB`WSB+J16&VW*WbQs%=e zYo@44{LXBX&!aRB@K>D*zVBt=YvAX+<0WX-!0wmJ1iQ&XLMt&tKkz{0@HN+7;5R>9 zxZWP$?2o5OFv5GDHLXvt$jt}PI+HS>HT>TF0KaA6k8cR!uy9yx zOT_si%P3^nYQryxQ?|#$P4Dq$;$p^FNN;bMRws*0m*vsVai;D!A%_%gO_j>qcblnaxc+R-<)}A z!nv60#kk*@m!TJn!Jhig5=GKTtmX|X@qLDPQCWN^m&a(YH^_SN<6}bm7Z(yhhANSl zpz-?8lKIpOe+gLQ7Vqj#E3LY~NYjU~p*WAN^Oo$+Alrv3DPduEh6dHe28)NNdrM2e zHzGAgUE8@T^pawX61$)qID~WRAJT{yr9}n}lUA!yNPKgiylC($!CoGH< zz8`7)ur%87Jw6my>EiC*Q;O;?+HpZcOLuF=Q1NaKFtp6P?F4SL zPjbS?&F6rZ zf{_Zo26+qSpuP{g*JkP)Rt%mkQ{qgzF=%ej%i@>Pt;}#1?IqPnfM2b;HM@y4v;lto zXlDk$6xPci$vog=@atNUXJ?oH7#xu3Pv}JuuE0Od{N!W_nUs8fm)74@DDX>izmc6a z>^SMG7RcX3A^7af=cDKQYrftv2TJZv(QYncXvS0C4&?mR`wgboUi3~q`n$~#0H2hD z2ywpf6*Q}QmxgcR&f4$<%22gJXl6Ga8p!PoG_!kspsh6PhSv-;lSMW5)X(V|t|5Lh zyvfYYQFja&I6wYPyT(VVN@;Uo^bm2NLH|dTHma*5U}$Q}%rgALk04^jj_}>|3W;zM zX};JEJ~A4X%ItuMsr?BSV9qXspAqmp6hs2p73^M|C%O?>ujw7^5f+P;#`BV*dkLdk z8q-j|tyZNEk%V8;k@(HxIpSwi;q-tOZ3;EL1y;TlE7We@7ehiBZ1l!$#Gg;I%lBK) zpIqnOS=zJ)6Pjq@y99ivdLuiU%@7n>90Jj;88Qj4Lx^UG+$IWj2)UP+hMHC}sHM4@ zTTIQ5f|}bJ4pMO@6+zofMGZaqfNcs*R3h@*sdesPcJ3$i-M^}79TnFxM}Fb@v9``xfXRa@+8sf!X2u{_ zAqIe1OaE>LcpvbBTBiqdc#E2^=jOl_k=dJ`F_rDOpS~wu!9d;1*ygxA1F}%l8pgLZ zR`@>uyieL^0_352B3dRe-Kc3l_$^TlXK&d3KD$*08b*2?cEV3$b3{0jcER_68hrVC zdY02v=U!>*21m6sB~w!Yw`sW!MetWQy@3s2(5z59ES{m5U1tmm;Q-HuGXcK+@TfMb8tM*mh?uU_VF4*q$Uf9$4r{rB{5 zM*8RvfE^9Z1#3l7qP-UBRBW$PvA%+B;15Rb7O3pgn?iF%X430Ib9J<)-{goZ^iQJz zTixsu_PO1#f}p6t!iZVkoDb9f1G@9y*VAfvJO3k|%q^mof5?b>aN&`e$nIl~X&XkH z9dCJg(mtVeWDqH!z^mjAN#9 z7Un5?c16Z7G?lnuIun!SGGEz2okiZG)NzL$A?0)YT9t05^nQE%Cj=%6In5ylExW0x zUiMOBvG+r2=oZ;qBLX~oTB76Enlc1(Y?F}8n)NR*O|nYaTOt57 zw~;#LVG@%egCz5`E^^k)dJ19}^SBgj5%=!BL@&n8XVd@;;33|>SQshv?ZPEWz3__# z;nMd4O9J}nWIgzIsv>K$@DXfB@Pnu|WG#j$k~a)1;!0bXio2z7D3~P=JA&F9y%2AU z_;q-2D(seu87r+nK}rVReSyW+JgD}#xkQu16uaBwhD+_WD$?{GvAZAP`u7F9s|%d? z0!UCh*@fL;-9`}IBkdT!G2gL{Z^x?-hKyPmsm3jI1YLmdWZ4!0s6??zmcp0aS4!|0Wl-VhMeA0I9;h_l ziL5E@QWJs7M4)2S3vKLcwMsJ!pn>te_zgD9FEP3kYlae-Vz28S_jG9#m!{1nTqJDn z)9IJn%9rL!$)|$dAIKG4Zwmg@>HF{+&erjxrJXdY@e2#XW#!TYRtypN9kv;+X(3Kn+m}_fmR7-gG?JcK7M_c%1y4CH@x98)@FWCuxN* z@nZ?>QpPDQHg@d7_y!QNX}$eedQBevG3_COIURlcDih}7Dx4}mei1U0>$x`H|3xwM z$SyePBzyeya{m_kY$HE212{bx06yMoCw~xgj3UNF)S6`iUCFuDIb<|s3eJ$a$h&!g zQIJ`)b=DD@-3;a4G6mgHoSfGA0b?z?n zIt9h2UuPvdWr`L}8z0g&o3`%?3J*>7$2V@bw}}w%=<2Ll-dz0ai{JnVyk1pUP4+6j zZ}JBIk4Y4eT)<}*a@7w5L5{AmNS4J2rB?=`;Phh5kXOw&1}pO(f&!)ndewwPz$ z?nU2H?6a%K;1;1lN-SQZbEVQ-WvDT0KN)E1bvt?_zFyn(}n(GmTWDx`IO zV*MXk+-;_4Tdu)$eH7Qw%HJ7p*+74cdL7fdU1(LSygwJV_J3(!|IUuE<9mPIl^a03 zORn>qR1Q|*UXiy<1oA6;r#Dsa^1j1$ScJTUBACd-0{iJly;Tu73DwHmKOt(D;>6kQIm1Qk0NR0T+cu&TH&&Q4SDlt9LpB#hNO;{szTc6${bC0(alkQNtSD zW>~h+M{dj`cbfr4ZFd~#zz81r3t@U>y;Y5{6_Mv|f=HEl@BjIL;^y%t-pxDrZz>Y4 zvRj8Dx#(zOw0H~GwAWxZd%v=YC76@vXYKn9-y_XqtF(RN^FpmF;T=BP|G?9r3DV=` z=AEJuFbOWN>t*_{%xbtgax>c-kyQUpq4i89M3XdLbSvttR9XnsPh?D`?B}fDx>)ra zkzSvh%l(OL0TU}cMl#EXXVO=w8vWO(s$v>lrG~NAy4X8+gCV2_t4A^tL?^H~RmIk< zQZ_f5{m}Vvvl6zESlvntU<4TCht4P3s$_3So}7^w2P```vrl@yOMY6ZYl*XizOI z0b}|VtV1YuXZiW{G~7~%n+AE);lS!rS9c4ae+@%w$yhA?25N`Xa?E+l=%n8Czo#wW zEW!psK!Am#Z?8Jr+XCb)rXyz02aZVkp7pVyCT?Dulz|)zA!i}_!#qcYuyZv-kf;eu z=BjS@BT{b}Sh$qzXQrIFF9&cM1eCPzQD0S6go1+M!lllVoS_Hhiky2Y;&+BvfU5fm z6G>C+oy96(te7ZJ?A%!uzpRb|JwrhWWb;m=ifmDNij)xfDt=DrMR8d}QsIYjV?k;y zgU|VSov}C%0YhY$HGVzDx8TSy);8ws3_Gg;8Df%{vps}==tz!r2^gz)$rRv2T8-5l zwjSQkavJekf2w6-)?5V2WP*(!<}(Kw#w_b1jV%MCAb0iK(O!o$V$tiL&WJ@(k9MLc zrbFnL$mly`9~~UUA0Tg?xrEoU3Q9b~1CiUxLzv~>e^^#K){Iy5QL%KBKWEvARfBp4 zeG_`I4@*o$X-=+_jtqk-H+&}hH(wD8&-3^4U_s#Oo(3w5fXd-1+s*W@p~cMf#?V=2 zdOdQ}!$6Fpij|8z40BJ-9M*2dyce^CtVx9RFlO26#u@kn&8j zs}W~7so`EztKVSciQfs3zeu*i7#7Q2vSjYbKA};6&tsV8k^7Uo>Zi%gOea41?=S{a z3+Mp>L4Oq)R+i(+El4|ugTCWObRr{WyG;KJARzM?$>!dWcw#eAo9;@!qgd(B0)Zs= zHF!rdGjKP9Z;69&pW#6?bql9Pwx5wz?jy7(#khAz(;pd(U?m=V#b5$+K~bjQUOBql zny#X}xM57jl*1KWz!lxms;Ux_@Ejd`(kz6dWB%qXb(*CjGA>p^8~9{c34v1xKgZx? zOoF;H9}z}mx-%{dv}=z;WH&3JjHCEt`1gIOvoo)5qD`?gtino&l?&nXn7@7t2tYD@ z`8T!2cs+VH($s`rld-OG;SUB)XTIwOy>%o?uUGumQ0mI6{FPr<;Bi8e!<@4nQS_agFu>{8V05%K3+q3&!7#uVE(B{uVvwChV(jXF zLtYFidId$8SBgS7b)&1WNbgKR6z)oK$CxX~oaC%^kD_g)?f?Scul8~Yn>HgE;yl+r zV07$}=F3Y5EDX&q*Yc@*O`>9iy*oMDB(el0M3JkFF@S%&2Q~{i!$HY5zcu*c1l?4`d@He;DQXxQ5!9_DYy_$k3u zwFggu9c?f^$tamXw{Qwv)l{56*h0J-bnf0CPStqt&54Ery9*F>(6M=6?Y%cJ8w%`j zv;yCS#kq+0M|tmkAY5KR1A@-&yg%N1Z%70LpbfbRJHh=yZw5X{p$-$333|XDW`;(8 zd@6?&OqB#v7ZnFdbQVqpyM#%X>A|#j0RoG>eejnGIWYZrkhpP0%glGx*Ibil@YgrKx& zwL#~}l`>n#AA&w#fCe7ZkLWYiBaw*@LZAEatu1|)!%5?H^rsJrrR<>Sa~S#@%n@i4 zV`T_*B}fRqKm^+M2()t2raRoVtB^eV9<3_RJx$3+i?`zG$8(@< z=MyBKZ}4!6P34%@t&o#oYE;+Y;Ul~9u$|#pMNQ@G2SYaEt@7~UBi=^GF=95qT8O{u zb~K1I$ZkY(4SEE;pBX5`^kuO6qgmz^58?EDF*N#<_@zpkoA`hqu?^!+QJ#|YB)If@ zIqeo`^m^Wi%AZU(n79p*R-?*AcJq3%K5A-Bc}b%xinLXpkhZcfF5VA8u`hsP6DS02 z&d$iet0?!0shb~ya$me3AV}W95d6qWuKP2Z{|7XmGyz=hO=bn~c>7Qv%U_6CLkGj+ zf?&y~h!;skzOdWTKue~4S?gA>q!$BR&+s1P{v_18(4T_9;v7E^soZiwdi;rERm# zA`!TOXJ{8pjqT>+zyLmsi@Xl~D2fAc1GU}a69KLY4`BuaSpSxpzWnG1SazZxE)SA_)r7imR_4Qahh2!&fpK&qjw=+j9HI2_u#t)0Jvgj8x1L(adcfMCz+(B!>UfP5<=nA9b-H=|tp*JSh%+@O=F`WJbI<-1s^+=HhRFy9n%bNwZ$qi0 zy$O8xaUv7$XQQmdw+2W2Fm(s=-J4lvILA-m)3!!{&H}*w~HU!q(^ZKK6{(KbXLG1QQ zM4cI^ry4d`v;e>1PKTRyu;rqv@1aQ6j2mSOy^BA2d>lf8%F&l8PwVxQP<0iCx?+is z8v@T8fx$*rh^DUr>J?;77*n}-56Mq~19L8p2{zjE+CJYjs_*J^fID%|X?4w^6$*x0 zki)U2*@SLBkF}S?1EyJyxd$~w5EQl>Tr;vF&)TdcpNDCflPHS0`iKh)46=#!@QyC9 z#Q8{5^X2}Q4$hb!UOrKL#e3yB&$-TOwaN)G9i4H#tb}ZmIEy1K82Aqbmf*TzhBSCk z@&b6UDt<{Ai6NMa2F1YIc3!ARM)!{Ybe5zBY-B~>xgTMtc$(0WU9+q{=U+&ELztlt z@cI%?mv#zuj}eb?idu<|*J?an(t|T!{0-j9?s-Od*h4ljs1nZ+r`_v0(irh6>65P5 zHiTICO@uytZG?u`eF@$Qvut^#c!?x2X++f&nzkCi1Y$T#+P1c(Bh`6ur zax7URUE2leemyhu7Pb=AMb8*rn>FJ?;K(Q%Y&a-i(Xa)Lfv;$o!N*8yARD^CcQv=G z7kaMd6OYE`HM=a9zC_MFKDPC}cCD!#o3F<-bKja`oMZ zGAI?DjdScIcqMcSy)-C_h~C(+W_Mu)2jmDSm8F=Sld)dSCYE#Pelam(X~l9S|M>?Q zxNFT~8ZA9tIMA2_f-0C@*og@3L`8xZML0l9pG(Y$kgSGNRRn>p9b;-P0$ z(79X9AA>0=qre=jL^n}%>{ut*=^ME=!*K#wE?&i&auRQ{-HbJuZ9y@!Jcfn6c@0KP zbUy=OD|f<1iTfNuOX@da6Cgz#*D@yl@7-YcUCCW+TfDu^_d279J$8O8u%7sPgGj9z z&+>C|k}`<`ALvlKWVXI*8d`}XXoYTooyHkn>KS5Srpx)R5aYJNrq~jF^^By7HtLxr z1(=Oyo_gkJ)2cu{12Pqw^aWAcfpy1#bzKAM6TrH@2o8EKz-~13vF;qxus}&ej+p{H zPD5Ww^9T)Fl{9o$fKh4XDQW6Msd~_^FWW*ngq?l5Nh8qixT^TDRy|EyoJ$K2=brgp zs+z(LK~*zZsv1%{)PMYdjj|eSMv~l>p6Ni?>0dGDBfI)TyAqY;O3PWq&dD|<$_p(v z2iJR^e{hqYGPpv<=~+>#3N-frVk5 zRZY{JIvR2*URv@}P>GKHUIS?N_Nt{P&ZEa{?+oMQCYg3o^xr=7wk+(m%PYhVaCE~= zJaMZMJRDdb#_PunoYT2;aJ4<+KlK#h15@Ltm4ElptzNva)RMdm{?>fM&No44SIF7K z6>-;~Q1bb0T%|ygXTSTH_>Ij30)ZsICX?rr=-D4uN-Fn`ODvOkfb_ODC;>pmp_(5l%@+u{5@mbhUv ztp9wj=JsIIR-e5WBT@3a>^u7g*kPUTtD(s(uX)atBntKA?H#!?`p4!xnkkKw_zvaH8H0i zLdz3Mm3U1I{DcGl3VW-_bN6@ePt~YJ4jK-Gygob;B)H!j!n?#ljj+WV!7xuD)N`Q} ziPAMsU;g-a*jtN_g+gfPj4t3Xn4C~55K7%$oC*>`brJmk?ePB`D`JN?d^j-Q+Yw(h zbX;#Re|-mnIRU_&M93)#2IhxScA3ZW`J3q6T^tU4n7X^%V;A$==I_9_&h4F2w<83Y zt;&u2FMnHor%r#Da?565!&I{AUHtuFa}fi+HQN+&?k;0vD790tH*88b?T@J*)SgAU zDq#t~KrXCD|Ksrs(Ey%bD1OHnR^GcGCLX0w%T^)j5}_a;VDke#P^sn(K$;h6Lr7B1 zqL_ogaX`>Vv>aZuvFdpcKFYk}{zM3ya=MZPu01&_I;BEWI^hI0ys`=HTC{G3)%ZH_ zD=mq$h-N5%t*IYA1_4W-9lhoFB2Z~vKPsynY}thVWThAXh??r6*6$zp=KJ4Tzc1GJCtJVI()a1D-}T*6D#1?d3=K&_vNwS*R;Rqch1h zUpu!m|MIL#X}{q=-J8Ub@Lg>-^0{EVoP6Nr+k@+G`0{$i0=IDz7%h(j{El!j8Ky%u z$v5~CF<Ik?T?w&WKz#*k`r+d36oH9E{DoIv9QroM znsEYrs);OFU z%J@yH7Ui)PAIue=FP0VLDR=v-z%qngp%(>x~Hl64oM1jQB~*$p=aov@~tsv zqY*iOFC1F43Pmoj#T7Ib@j6f>cjqhxb`%2AFSz{>FmNZ8PrHb_*b|Sa9_A97a^w~ zH#xHrDW9Vz+ybR0B+GVj#gKIIM){sFQw-Ia;}YI&IDz?l?qaaR}aJg1z*aLbDIxvB~nYPvv4h&~41?#zizFoz7k*nm0xA;7g znNpJD4AQf&v(l#vyOE(2P>aZQYZ!%r#2V}PD3Eb^bthr2#-$H2F=1FTJ;N~ITE-9h z=m)jRuF~6Y_D7m|&^6%oR_OW_PgRMkR;N8Ivl@m3;TmL4y%qHf9#kD@atfh5jFi*C z0VrLWJT{S_@V&x4EutKrnP??|XmU2)SsJ@(A(0Ua=d@q=qr-Xn>RjQ)&GQkbJsKu0utc4LwMynJTNW$ru|Y z`5}q%DwitJRM|iD-d6wByD}Frf|`&J8t}b|f0a1>raAlV%K6duI8jon!Y418by(z7 zk-EM!zd#S$f*RJAkC|McRMLV~WM-L0=x(VbnOD|o4H0kmYX0Hx9&0%DLGK0)GkLnX zLVg7+EjIV)YKmG7uj1@PZ}TM95MC>xnnd~ism=WRHNWq7t;CzZ^7^hd9UbQ90M{J) z2)-aR^ zJ&H5gmU*J5Hq6_LTlqPP>yap~hp?%*;W^9Kn~d;ia#Y89;hE^MX<cDD7-4{=ToE0_Fas(=SG9sU7TXS$ z+hGB>!rU7%62E-4^#}$$plOra1V#e4X@lW%Famh={Gk%FZqJVqf%|C~S(!x9@ZqM}FU zj8iq5N_Lp4#J3{aaM7?p&+yI?2qDKT4&M~7Wy(Fd#;U*0sNnj3hh@$uD^Mnh``w2+>YFJFAit}?TjEJNra!Q_U{jNdM?%fifgl05ShqqG4;l5O$8tbz?(nTzV}3r1^b(-WyWgez_&X6W?^p}$X~t+$; zFORyIN9USH%G1lEqs^lVJ!;C36_=k}B4?{v3OVCx!Fmu!?Q3v0pPkE=J&^G6cI3p4 z)~ua`bMW{x;QqhpAQ2B|48EV_M{T<+xiG|2%_^tQ?9BXrr;pfkHSW;w~ z^~Bd?seUqd$tczK2EQ{AXPI)35}Clc2Y9L?)HMD**V!1)&^QS_8N(SKbV`|jvr!^b z2wv(UXS-L*H?z#cyr_QS5jqjwi@v4nfWHU5tGUT*PYpp>t$0Nq(E&#C&bz4UGMoWC zZg3u&-AVMPYhn`O^W!VcSi`H7txG9*L+qx>uXNBqJ|Y@$xb^^hglL+VWXVQ)Ict*1 zVdx7@cI84leRTji2>{K!@i!(ZZ+fT^ZpCRRuGZiB6xZKJ;8o?E3D0?LOT!+rHNOH( zklWD;3$VeX9(vTY1=!e2Pp83Rm^KDJU|d?| zZ^X#TtBx-+kOQVDk4WDas{D8WvGH8iTgod}u$2?5$)iKC=`SA$r;2C6^PAM*^Fq!V zqINwtDC(?rLT|xtFT_4}pni2MeIW&0;v~s#fgeb=pw~~2MI|?c%TNHH^!Lj5^%r!C zDONy2f|};~)wrF6MNAIo_f8kkCh}Xf5;frZK~88^d1m-u^Lt!{^KlA%+w^(6RF{fa zy5Gs9N3t5E!xJ{IqNtkg9VQj!?%^!{r=k`PCkl$kBy!CDSYUOuk_4h7%FD?=bc|BG z8|*F$f#1wJBH}6{`1-2$ShtAN6}BT(0n^mAD)ZJjkF#!K{9x)rM72@7DLsH(5(%d+ zB)1$?bHmBe63P_dugcFu)=Tne1DLIs$lg%-G3R7cZ9P`9glIo&YFA%unEv+v?%)92 zFy9O9Gp1UO2ovg-_#ev$*2HI(Sq;y?wZ{?ss3zdNm@!+e4*4@mcG)}aCc$WJl= zVlItTFN#*~;P(@c#4Bhjj#|UyViUhkOjDJPvybtek3w6b4*&1-iD0Z62Jlmp9Pu^4 ze^4s^JV~l8$!cnR*r**A9QM?k(F}H8ULGbZM}XmvKCSg;wKPY@yw-9RYD0+N5(;OSEUaqK8c;<@;ZkvBB8{ zEJdR!P?9?aAoR}nVD5asqD}66b9jQ0Ip0-xg><&YoGRVKV)jL&Xf!j@*O8vskd#RG z{^+42bz~%u-g)C4$c;Cdmd;LamGu&=Fz^&DSrozZW$Nd2@7D3wP{~4ia`wlU91jl* z@QR+0@8L*8TIa53?$L%dCLKXUF0VNT z5cWU}U=u&ZN-4}{RHcxnJ#dIiBTC6gX@r`OtZ5U049v>3R22X#`J6sE&8aI9YEaH( z?tI=LaU-*b^-eek9|Pp!G38jp6+Uh`XKAF=RSdJSCJxjb*8SBXuz|`K{rO4Y$XCj^MM<0wtu+K zS}VEF0Q98NBC>bU-vjdaC9kxJDYd4mezkG%{oJhXDgL4?Di5Xa!6&1|^T~M3^nin8 zQVCM*)L4m`cHMf6jziz`3@NG!E!oR=iZQub$BncS>xFMr!^3J+*FyFQh6N{crKkiFD#$DM~6$f8*7R@In+xdyXwBk7h7T=Zn~GmamODd zk*sca=9@q11=YFc$rW2tsdFUxLUke}668D**Yer@m1G7=P^UYbwOFvRxdW^W2?wyU zNg0Oxn|ptQXsFID1#2!N?l_*<4gCZ4<>Y*`9iBGunrO|z^y>iPPoCaK8OfTIBeG4li1O&>{3!kZCt4mcXih4D1sYFofUD=Xn=pwrAC~y zpw0$Up>x#ECTDAMbPzG$%6Mn8j7&3oQE)kJ^*H%mZCior-oT?2o~TK0t{4p_l#Zx} zN^qk9Q2}_k;NU+ct>;DAZaBM3WShj_|5hE8VBk4W zk(KzX5R#{mXvqxl5U@ZYVkHLZm3$NA*?pZkU#&8);nQ+AvD{#CJC#aSPz&ix8g65J zO%>jj_-T}#je*CSPFXnC{f1pG_`F{ zV>Bd;)3B0%qSyQ+Z{9AdG^|5; zJyTsN)+f=C-xv&Jr}{^neqh1vU_scv{#IfIrw7p19?O<+X+%I{scWuLv~CY~zj}t@ zn)?R-dP*X$KvL)xU>jxzO;ni~#fAFXpcz=hVVO+1z)_b`YWyMmGKykKyTbB|+$>v- z>FL2gu;TzkC!J5jIOtxYpN7^Cb-XJ*GT`I4IuTkgf@P>?Z!T5-j8$IB7N=A{$JNp5 zs;G*JgmyU-#K^bktcaZzLm@k~G)6JKO5%n3b6j@KVr$xoAjW#quf%7Rp|D7oS@)NS zGKhmse#A8mrS5|3MfH#FJL+_)$c%m5-C4-k zhs@WF3Ny13%lH~fU5b??J<uvFgVK2I0mXYh==G*+YROCFK((x=4v1wa$=&-Q6vgB0^{ZY2}4(0M3aBq$k^ zuyziB;>m|-X1rld&X-16>gs=;eIl=q@ZFR9g8L2Trag(H8){h28Cp*BrKPUPBjlOZ zbce2^t>HR*;?!k?f}nHInzCCMf?tCY(F~`L7;uM=5=Vn3-m{WNPRi?z4uQ^N&0W>< zrw8ae)8mfyb&pApV}blfj0}+4lhAsh>q~Q->M1on!0Ev6f1r@dmT zE4bl*-uC?dV*zqUb_|%PZ~-zs8}? zfk%!VYJ2lghatYDx6p8MCz! z6ejdxCFP;%X0bs!nLdh}yfGfGja9F;E7!`~9-S*}WUcUJ zQuuN(ZS9)5@uO^~scnLH%0~45oj+JH_u(#P5#zK=;bz*Z3)+cc^`x%GCO$ua(FN{x zIJisv_uq8MgdbHOfZ#g*redfIehzxv@2LxBtBD~@$r^)Sjm5{V`_#*SfuT&Y7 z{LMb^(Tm_eVMmI5Za*a8%!(dNpaONj2)P~IZCv95{?xdS_aw!IiP#A`-&j+Qq&xlW z5e>v5+z3cL;@1%v9`EEa+~^Qq{;i&mM06lKmr){kg#=z=MPNeiyOkKrXZIfAx4L%; zx7s>WX!kQpp>@Uo4lTk@)VInAypnmPWs~@(%hao21dWYosPB%BDZV{z&Eh?U2DT~o z-@~Lv!7#DZJ&BQo!h2)=@ez2Ygbrg;brfTpx{R595_3*QFw(vYXS%|Jz4&Gn8OtNY z2}?-YoEei7lIB~_l2Of%ob{~p@+UhqjC}`;t+Y;&j+Ad!sZSAW&dV3^wZ)#);gQnA9pcV)a%d8eIlt(w`E>= zf*tn|UnF&IG<_?ezBTInq#jqMp`GCT&~18n?}KqUytnmX|CG3Fa+~ltuFN?(>H^*y ztH-InIMmYLoTyyy68zpyQN3;$H^^{ZH9ps66Rm*rfZHKAf5T`7dqM_ttmXl0%21}y z!i@aRFWl99w_z9!_cb!!IS2@r15s!LqfF3-=`%RSu#z^sn3dRZm%%ZZkV%HaXZLl3 zW2kR@jPshu+Tojgtl{mXT(#?%LiT0w%idr6*I+@shpzzYRpAb%4L4tD+8{q;*ZXbW zwUQw^#%}Tr|74Ebw+Rf?3l}-~1XNCmEJH(rz^+{k3Yt*ro<~EWpmS6n(bs8CVNBqk z?Jb6RGm2x|83{li%}yF5RLrm3CiNy{xYSMR`_p4t*yH+hzLr?WpPW6!7(*fj3Qh#H zL;Qro((1ts=beOln+LaYx%WlT(b~{gXO9=vB~SCEG3Q;o`k-C?rNU|>OoOopTfH62@qrJ?MSnStFkiP3<=a`laJz zl^bGYvY2tII+*>|Z1dkfj3U;wWpqvwo)Xo?i&f&(yNIaHSIdINHDe+j5io8lYZHit zXGY5@V+ZJo=a{h_#|)lS>51o;u^qn*o{%|a*_*O3^DCS)c%s1bH>I;wKo@$z$NL?x zz|7~%aMYo+I*#XcD`SDVq>ILpDku^k%@oHDk*d7yEdwsz5jGtC1H z+qCs)Jvhlc(5OvY%k_XL7y8hkL>v*Z8$F{aOdX86HL=RI_T;@qjAG3=nhoH~ztC`4 z)0#@mm-bK{d*MR;6SJbLiOpPWl4V@kiPxmr$QJ^)Re)CiO|qNUL>;c_Lc4jpOj5Yg zqai4cRPMDaSH`e>rDxWQ;gA)S3largcayFMQZSLkU+8f&<5E8K<8ax*zznvWC|I?d zlovf@hEG&51KjdFk5xPYaeN`ZaJALYz*Yr!%`LW)zoQ9ZxW&N*z@f?at-7vI5)%JM zn#s(*r#}_6SB=IL2*liO$6IP&Vyc-EAitSY!q9sebk_@<$$iLbIA_bj$ zFqU^sk%V8>k=MeE=e&&vI>rA>J|rS+`th1!BPFYYa(c)|EINA!J6%niSj|!^@dV=* z@K^d>EPZLf`(?qLDWs>qdH*=Wso#Z^)}veBG2hue&?$S2pSE-6s*%@$oxX^?(oMw$ z9ns5UwzDtQ?;+fSypGyVkZFaTt`9nUsjUcv#EbxhHxJ(7q%xmT?uC96ZN4N{xl>~3 z^nG{kXrXG^BRFu})1uAX2~&wlGhDsPJzi`u_k1QB4b%z%xIV9v@qIfS#i$mOgGO#=}UC?I*4vl)ASoH~2U**jb62S(fHB@r3F*{M)YnXcF=?Z8S|SQnSpO@uXCcZ{_fiGV@Fu%p-$&qBku(*ZWpZ<$&xMU~P8RYuFUBj$ME1u!4`2;Te7phcMR%3@b5!U&(G%C16RRl7SypnbKiuVYN9#nP?1{1SbECEq;y;6iJEddr`kLn26lGQYkmKgoE zL%*@q&(T_aVGLw~+lNq51PUwMvC8a7o6GrGG!xH57Ufl-wUah4?)=uAqQbUjB2 z8^}Qrt^CALpkJ{%&&SWW1zJ;%fbw|{j8mXB<*R%P;}U31`7r;$cMJT22TB>_yNxaZ zj{fJEB75N+0fgrXWLIXwfem&YQAX5YUIUcO3mra&e3X$T!BwA!lh|eZ(#zoV&6nd? zg?x1e-@<`)m?Xm8zvd2-j%IXuYWz$J=k8KLgJlyZgi_;Q*7cl2Er4U*KU=wV4+eHx zmoCv&UAWU4y(oSu-cm1@(&iIA7wfHed>Q>-{Cx72zTAa(|MA{!Yp-_{R~Y?%yt{0V zydtq_^yPB%o?&_I^7>!(8>ly$g8Tj@oFlAfxB4^LbB_LqO;@(GQ2YTTgz#_UnWmDy z$$q!xHH=JEFVn?6Bj>lU)7FedEEF`+1b4Rk%S|mgw6WVtEav{vzQb2e2`w&J=*~3v zHA1}T3TkVJ4ztOjPP_FX>NE*QY}ifE8RRAuSkdIR$Li}|hTavk0Gyjb9xlO2Yy2a) zaDQpnP%-g6B9dXqK(oei1*dv@eayMK)IFT1xO1R6f|_wlqSc>7E8iorp}8Kh^e-eW z{ZZ1=X7FXSW>x$sT*}Ct35~)tpK2^9@$pQj%Bn%AVJo}?M{!Rpg*pnGd1W){B;LUh zk5Ym+tvgxJIQ0&Or5UWm%}1~{!yx1UXnQn}wQJS`I{Q4(8R~%!LFDuK8IZz(Ee2YE z5CIGM*k+dL%$8cyFNBM5-=~#(3wtPZ|E2iibcY{z_IiM%JVqcJo(G6D06yV&I62SepHS-)B!y(v;}~ z=tX7}IB)`JU~B$s$$sLy_Va4*5&7ES;7S9UGv>+Bbf#Elzq zDzo@h@qmQ4a>m@o>cEV$I!~v@-@S*crA)H@V|Y zt1YJ0N?iFK(#1XhRlm`4sPgE&?s+uQ#6p*q7r6tVpYA<3A%gsZ$8GGD`QpG0Uv_IF zjTqOg0)6aBY|Nqh*b?&$?Og(!0tol;B^8H99crPS^3QC`*#5wh) zBwcu}Y(Ncvtosk+iIAF={1=T7{f$2MmHXIfUy<}ElP6|XYC@t%;^pPk$+;jMJqaaL z2FN;AeK#CL?SCoplDk1Qz^y&&U+;VW+07eZ2r1jq??GqOeuDJuN=iTM$8}&0h3~l7 z#NTsgMOCSoNx2Twob(~isNF-;U0;s{J`tx6XTn=6(Z~EE_>K3AIk4;gFPzoRsBhq^ z--!iQ#wwTdgZ8|%5~`0&c>fNcaH|GuZirRRs2xMo#gE4Vb7Ga;ll{fK_0sXA?naRN zjGID?4xuOhoK`xczC<#9Fc#Pqt!(B8WatHnKFh|i`iwWkJS{)>i{;L!3`rsH%dfj5 zZ{uTG^MBM@K|QQGee4Gz*bRo zE}>p%OXr%&Q&t5@31yPQFaDqdh$62a>O`b8et z8bGH_i3hm5oQ2My-L!>Y-A!9S9Ekm~X=@u0SKFp2?$PFKok8Ca(fm=Yas`b6??qNZ zgc;Z~;H}0U^Z^KSoIyKiydY*~0c3OC-lMS(**Tyw9XC0HzNGC^11~;MKV>?;$N;rE z_AVzK&vOQ4XuQt5mB90I!E?~SvnW(l5M8jo|K!)V2S}b1w_71O8rU=_RpEF*Y?r*N zT6<=p1DxXNqCVbgKTz!!-U)~c{h@O3{88Tj9(dki;Q3pv)CXrd8W<|JcSI@?cmU?%VABKDwQl!uLn(JbQJS(>?I za^WIBHuI0cC+W%((4i~4UDp5j50F~=g7&wlJ5oJIQ!#9;L z=H(tVmXRpGrGm5RmsG!P`pxh=RJE4LV-}@uaUPFNIbZ$CBPDk}zWr=F&ly7Yvl}I4 zN*NnXQ3RWKe2y^USoM`M-=khVos1h2+dA2)>#J0sHMy=X&$mlvqqNB!BiE5npVfN? zw!|c@b&fHxwKs=v3~c}MkTXtQYypP+XnH79UmP>esAlWVA{w4YSRhVBnggN~h6$JU z%tih*K(IJAF_Vo}a=V#{Nt0ys_8zWv-g7P1XW-d;BKH|xsp*1Hsc)^MTm?;O=lW8Y z8aKK7!5&MdJll+he;DC%@|l|0x@32rcR6zKPPb?B1c@kxIrryYPP!lP1R00`W_}2f zN)eiJyAtGkKGQ@LyE}lrUq0Xg?NtEnK7e*Q%%VG7?iJ>mI`iB?<_m$Bf*Y0W!5%l< z*OhmhsD_8j@R<$@0*tc$1V%JNfBp+0ix|-Kxx1Rd*nx3ZrY2BNTh;bHpP(O)F zMsP7A+qKZSc61C&r%liU0}!J6EbEW7vBx zv*z__fHn#QtL z{7Q7IU?DN5?f6#WIBt|b2di--kV2H6=~LAI7BdC5k z%ADi3rwFz8$sBP!+C-J|Sxup=>`FJzDB1T6(B zS$~pBZZ((;O(A)dXNl5mweMqt;mp?`x}|apFmN#c`?vF1+7xc*W8b}<^^>%fc-M2m zzHdA0FK3r>TZs=nO}}S5f7-g8Yp>xZ{!rI8-Ql^BW*a;D+qeK=(l#0sJOp%#_xd>V zx_{=6x!3=Jvbd|%&ssxcYWbB9pY3$Mh5I|hz$bzq8OF(ZwkJ^kqukE6+0X2kh5JiG zfZgQdCJ#b#v8RS^{7U;v0#$|bH16RG%bih177LYXHMmD!dK$&cyba}^fdYILsEd$2 zED{(=ww!F&ph;X~j%rW4m@_wiFD{c^6doEa`G~9}P+4Gbxs{aPE1k8EU#yOR=&!ww z;9MzbvE^h%82QojF2}G=vo;VtgX^)$>um?J2ffX!ztL2p)Vh*yT+Jp)OS*GhKUmJW zuCmLwk+<0*c{{tx1y5-@&mt08IEQ0varg2N4NLaj$V?`v|L%jssxJvAxYd8qFVg3~ zH{6`;uTS!LpD&N`Pqu;A?p=)U-p!{xeraQGBw9I-;E0dZWDD(!H}JqFF$St?uN*{UroB@fW*UiTh2X zNfnrI?2>(9$)?#{G$*ad2o!x0!}sN;+29_LG>%x5pe`XQe68tkqu*Z#XT+PsB zQjN#VYlAaX(87MkM0_#kT>o)K$PG$OO%&E=Z|JQC1AWOc<#D!*FgS&qB z}jeL}AEq`j@Rvg5GZ;EY zRJ5QOzD89dYPML3O4DS{xbD&PJ($H+YYcrHOPr#x!0c%``H3RArkbK&lcY~+kq@8( zQCj40gm4im&*ukud@Ams?|{_J&mfvcD-IHY{s8h$ya&k}l^$yZ>9OX-@eo>KQlUsJ zPWHddI1hR91)DoA70KnM_MH9x&Oo{O2o=tRC(fb5rI+SVq4O=G1M&swzU3k?u++^+ zmv6cV^{gX*tmpALrH=00fm%OKp6Qd$`<2{jS~+~}j60of-Rt?&h9W$B#UT{oAs!S^ z5LCQa)yQvS6uy$vWxf)<_z=}Q#l+Yz6awd{8_|ou!@NiGJ`R#yY;p)RZKc#cfAT@Owi;-fsS|ZOo4I^Bb8_6`l!>jBIFR- zJiek!aMh+D)~vAet)HnjGv-FKk5*#-RZIND=J875{#bluHl+_ z;|n~)HHg3D|3kfaS%=B{fVEQb7pXJ z@S^c6Buj|MX$di$8!4-mUnR8f30z$Eq^|6`>T}X7J8Q$;w}eY5G!nrwbY<5d#^LT? ziS|3Fe@G28ez9t!v&Z=;)O}m9rdyF zVIDfW1r3i}zEDxbQV}A{zOs_Pru%&Q4HE-FsI3|D8uT>d1qi}2Uo&x&Lhq3Cnhifw zWSr4_`30nPEV=hy;Kx@U1i74H*I*W&V5ST#tsgC(?3<_qK&G##@bwB0tM||OBj3tI ze;Q*4dI9`Xk4|EaiuSF`z5yc|pN$pi1+rqq_Ty+#|17!b3^V-+y=I@1rp(Nz=jd_| zLaiwZe{&uF`1(ap`!nSh|8(9(ZsE6Fb1Af1;vg9W;F#yD7;}0-WgpRdZhvB^J~WS( zi8zxy+dS0qCc6ti{gjs)U(j9M(hA@1i45fpdQ@&uP|6LtLDy&gmqF!~Y5ZUZ@Z3;> z2p^1Zr5t~cV>GvtVaQ+=N?(sp-U0U*zDDYZmOiF(n(o(U+^^*kWruwn9lz9Yb_O@-iC0G&=6CX%jR61?M9_n!n-8ajg4c9IXxlVdE=m zttaQmOR7_X+}v|Vf=L?=R#-D;^2vJrC$$M=yv2NmYxxgFx2cQw?XF^Ep=9jHqN3XS z4)nAV!|_+((-~IcVz3?xSp4jnTNz)Vxeu}?-XifRY&%S-M>zQvUvO7N<-GjQLyBT` z>*PMMbD&jP{Ao_%h!aK;z8E8E)FJiW;36D*`jv*sDW2X62Sb^bkwl8c0(>Yg4Px?` z-jNRZc4a#rx8p(?fllhAIli5$>hSQm}Lxsxa>3ZdUmE6$SE*P4^Sxvy8Z5M(ty(R)17oP;v_m4<4* zo^TT#)SFYt4L4!5hB7CR8)`yW!{m0~3^U=U8p7;+Zioq|@Mxsj^<4MXG?mWF@%I8g z5C$I7a@kpo=LV)#JaeVNs8YmW4}2_pA%)CCE3!W3z~Wv}QJ#73YD0ic;ME)Kgy+qh zKH{zCiQJ-oG5_S~5UD{`8@Hda)H`c0NELrPI92v2>Znx;1Fll~wqZgOJ*elbv@wSXtvF@sOooqnXH*~f1Hk@aHq2-i=1#0P#of=0A#e@IJ| zrC%^7)ACb3n3kMus6sit^L?84DmYE&#pq9RqjT7yiVlS>Y0$x|FKB+VJJ%;L5US`{ z*wVaj)O%{bT8W9dmK|pT$mp)#J*=>`b}RX#i?I+X<=L%#Pz-0c5Sh?uwkim(YfbOW zTHUMY$l!Z6q&^UA*t9-)-@yT>+CX5zH)%m(5dD3#ia)tqgqb_CB7?nMt_dcq0qZa5Wo;abG*@JocmVDf~;oPfX z1JT1OavUhZ>Q&KC#^2=6S$j+wp~{#o!HH$aL66c6=hCG@s>-o2x$qZAd*5Le{{U#h zr7?+@<`|FyzgQOXuc^tPt{FY7LlZ$vj23IO4af1zxn;q;i+;BUDv`_YXfv`TV? zz?j-~+mxi!IBcXl)ZEYI2xP?TX(62uccx=DRfa%g?)KpXq zv;*;M%jBFqy+&PTUu=U9aRbi&wm|wz|4iTYZjg7Te*j{=GezmXuRp#V#&t(wW!8*d zVy=<5TtNHT)`_-QG;ta;Fnf-D< z=6N1Id1`_=f;DsNf8f2JRrubFr_08rJK$Y9s?bb-m^KX=p^H`I;j@yTvTN>rJXC)Y z$&AZG$c#FZWmDk7m(Pe8TwuhZ1W)z;eQX4-)@SaoxqvE3?jOemG4D7WC9cKpmCeBlFc~cabIGAh7IfQ+cO&XIA(F*o}pIam%#shd%y)7FvaR;07sGgChfr$ zSAr`(2UqOl7fI%s>o!*Rk-e~qT~?Xd6c`B7>wvT3b>GTOhGu2$ll}_)~iz#3MDZ+_wS++;p`@meSk&U6i z9=t>w_MBwRkiAG1QDQY)?)elzfXvlZTp@Q^Q!S6GnikKr@=ir znHu{UuYf#W;uko$vzq;k0(03$`tvZ;Wh`_}~J> z7{W&?+G&^D)h2+2$3O_Xif3~Muk)6Dj#iL46wXGLyu^6k4)BiX5nfYeBtVnWZ~}5H zpCNawex#UQxpkRz@a~F;@CpgLlpl$^gSw!bp;Gl-qN!^|^gInBjz6^$dKb66y@*xp z{F@vpYGqn&CgmX!B9r$nwEm`8UJO-*@>IXndchg;_3j#MdN6n`dQ}B zfnAJD*1h^*Yr1Issoxd`Gl0TYwR7)ae=#1qDqQAG)JhH)(2NpNGR#c&BYrlOpXJUC zW_XU_evQjUIiAa>FUXwmu6(Gk>aep|X)$4qW6oNfI1pkWXhYTVK2k4TfrL*~y}M=+ot#iIu45FFd!X!cSP6 zf_0LMbXwpHX9gdPHjAVHxa$%)AoXCx8Hs(NyL9G|m+Sb~eMx;m|0OsFoo`1DSAL6z zFNvZ`6&rsSG3h-xS!UCX1r}vCezs4ihgnO5;YmZRF;4S5 zPATy;t&l^u^)~SHNJ}{fw1F{+)xeA6x|VM#YaVeHW&e>$y|bysU7_tO;x`YVk0Hh9 z@SsY4|J*AYbGGBWxg^mPqiR<#*a8$Nm8(`%kF83E0{>j27i09JAbf1@abx=9U0 z(8&?YP8h^49&_B@a{Yy^@ci2i2X(0Br zO1nI-(0>Abm%Ci=c8hhv7v0~5hv)JrU_IHCAP~nyf;a3&v+^S|HjJXlZRx2AOXHnM ztoabooo##|l0Kv6oe1(;#!7z1dLk;bAR*#Wj)*AZ9wBFA<`N;LOSw_R133p#89hG- z4QLZjS(2HC*ZO+t9mNA;--%Suk5tYl9=qkCDlJB9*M@ls0?5bdj4qvck%<(?MLR(4 z_4q*5UF|A|ZK^`X&sL%UaGYO9{ZvB`!l~##F@{EGqRCu{@^E|o*0$$qqZNx1LI(#F zb1?Q8w+VOkpj`aE2@qeHx%R5PI-6uSvr4l+WGM4;40eiNX4kj?nAWFw@@1KG{N`Ov zb6vIc#BR#+U~)4F-E{*VI`J0&?MuOUZcl!kdFr3Q`dG$xyJ`o2qfh_jPXT{kU|qv= z4w#U749j@28L2?Ii{r}sD3=+~vOYMzn==RKvDnDJ|* zHF?0ou&2vTG|4;OJoU9lmR~jC-V(cVxtzabj%%h&?c4~)(oD@z|6DmS<&}vVz43e{ z&9&bie%a$s|72ze03;nw<2GKi(-_l=tV9q(9!y!(<#-qxK)`R;NAUA)*RZ+0a=1rI zzG8l84oZwG`6k?K4iDY1q-e=weX&ASE{>&#l6Tossw(3aU?kTk1d)`HjQ?C{GkzvM z48=6;gd+(Za%B&)?h+G5WID|CSGg?cOrp+Gjbd&8UmD-N|NmEGGs_p4ocAjd7;8QU z#TPeaO6=ys$*isCe-z*(?i zX^VRtGKrCLTKPSrGgwVeQgIUiOF&ojk^Rwhd~1g@DY zfwAXJ-m_T}UHYnaW6zwt$2!e?Za?;illMF|C7|cUV~-8adYaGSn-*h}m=_4uEWYz= zIAujAbl9w#7>PG5{EZ(G^P9`?U=Fk`j~D`bL|{K++iv`ntTd?tlhPs zo0a%9yrZRIQ!U;Od_V^hO5S}L)D>WQ>s}p+$YS;FZ#M1Y+j6E^f;C9xxu}6iR zMKo3?y&eo~4OY6dPDy4jq7(_eG;atu4r!qh@b(T8A>Lt$4K3>7;Mi^r+dK1lY&oTC z&9Gi4p>&rA!-2)2%4Kh@iv6OLxh$+|{vz0T??FlvyB%>wnBdLfz}S|xGw{3V*dYM5(&dYt)^q!>f}syzRWmAvt9?5hE#q*Ph4)b)TI7VeSCU_vHb zo*D74dQQy22-GI2v`Eh-kfvOJs2iorEt-6=W$|Mq61XftD3f(pXXjklLiY?>Iy($d z2WK`6DK64QXqekB*!-D*ylKl}x$EMbJJ14~3tVOI@Z^2ufYP8JbP9VI zsrz^JR%2isPZMHFE6Vy_lP0TZf(ajAj4Yl85Esjd}pmjk=K z001iL{srJ~96*9@w~7qSvG%ZKvB1}2^yS=kCj;2&elNwGy?7i3P4HU8=~odKv)Asi1;&%dbD(5=O8|G9s4r&29nl}iziXY_h!kL1t<_!QvZR5m)2CxooA+X7{ zIG`3C4{afE$hFw77DpV~V*X|0J9}g7bCv^8xV6MaVYH{?T zEpA$J^-Z}J?bPDfLt8j~H;v4-2ng1XH@nh$If3VB-?ECvBdw&;>mUr+6wFQaeu>;h zcJqoM>0T@BKvvg$>haL0h6Pnf=fTFaTw5o*U~tPB0$J6N8s~xQB?ep*7YR1<`M~V} z5(!5Za(1{u-WdH)d&Yay!%yq5KN}Qv=kfbmVA6s)6jjKsq>uSoN272KtJD;p6pL2J-w@R&W=z7!V|CZT>(pO^L|JHha@gS7Y{bP0e zhNO$n4F{THbt@>2ixs}uN{$!eNsmEEK8H+K3*b`Q;bQ~OiT8YQg>d)>EDrT+ySMlk zVuO2!5xL35sTTwjzdeo@nLmaN`C&6SJ>*mRf)W7Y42yXJ85?;jwl z@EKQs2D>DiE#5WEB27X9AVm(4sXCZE@Vlsx3xr zI#HvUhSBukgZajO!-K62cQR(a;ekUN9%ya2xUk{=LmTdIZTNIy!+nP~+?Q(@zc)YZ z-a{Mh%{LmAZ?xyoMtky&szc;lCD#Eo2wu@NdMG>bXiho3zt-G^VXXO15DD>j^#IAOF==K)&^iaI8e(k znN+^zf&Xsl0fJi2Eo`~}zgv2cpq7sow%qsMEj>`E**5-;{K$L%yOjqEw2J0i?fLIk z9x%}ARMQGrXl=7Mw>K?7Ma?!~VFFR!1^}$&0}u)K2t!F0=>*PjQ+zQ2K<;^bGFmvJ zjR*|uX8cSFi(^Q{@6<4<>@I7n!)l{20|ddvPc+Zp6c&NVXD<8!L}Css_f*q{pWtR* zswkDX-+dqJ^}D)xOzeeyrDGWk$Fwj~d*7y7+X~}Cg!hGbV0fwa1G?FP-9j%`0=JMB zYsT~9ZKO>#_{{wYU!xRii1xgsn@Ht^wEI8E23p*0?(b;k?q&%0RQ;(mfBK0og$nI) zIr@ZpDqqi~tFNF!k5v5$QTWK9*kA9*kYt3omY)gn6$Bn^b&>N`PevlMNvRMC$h8!Lkbng0AiCI%)$i4+lPu)qNEW>_D1@9+e_(;4vn86tN=2 zZ|!b}Al0#*Au@6V?%&_1Gn;e}$TzBBI49E%f^t~U*s=7&gN{{vG9peBAJCeRCSkm2 z%!}M~Yx+O*7fV2K^-9$$n^gt81!sz^giw}L?;4yM|GTzST+hQ)av^<5 z4$tnXT<24jk8@Pzn8Jp6s*-DXkc44A`T3NM%lDY4D!GOSS{pu7*f393at-&lHoVas z>go{3p1!L9nJo5axv#aUEF59SZ(4v+a!vQPHWfdgZ(4v>a!vQNHg)n%?exT!R_sF4 zU|^YP7jB#gr-%(Ht81l7COLTV>P5QB>|$=3FuY0q>Dxmf1;wRa;4Fwgn!c`u7ULES z7Nu!NKXNsbzn6Chtz^Ams;x-X#{NV-BS7?*Te(jjct#$z15Nm<6rUFjEHZGJP=-{| zDq0po<177qXdHc>pm7|~xVtSh>P79Yg|IzgJ~eEH>p6=LI389-1I+?TD{&$iCz2kC zo(s%{y-sN7IG*|ZZ+1#seV*2j)9-bVLZxtG@xL%MH&oG5WjV^98(a{oICzGiVHd30 z+-AMTk%qcw$rBjJY-asm4&6xS4Z2ZzIWQf+&%Rf{59s^sL%zRw$oIz&`JQU~-5qC^ zm*BD$z*Jj6DY#G6xSn=x9;ATj0`i=LKJP-Q3&?Y>rFWy$QkK6wL>G|fTubjt zsUw=9xo3K`A zGxSjUWW1MLWn?#ROq6l;%FM5~aQwT0qQ}n_HNuVG(WW+b1sOBiGlSI?q3OpJ#Z0&v{Uj^Xf~*uQ8fk=7Tr> z&)Fd_gH~&VwOm@CI7>m+@bO3G&V zlDet9`QOpH`I67Gt4&z(i|#HElzReQdHlVQzN2|WC*hd%k_tVA_Io30?YUGiQ3!feX#n5jl{|ss6V*i*^GbDGKekn_bqkH? z?0K(I`}jrlf(d(x-;u4j-mKTr{iaQph=vvP=LO+vL-R#p3BskoV*QmeNT>zX*+g=b z^J2-kVRjv?)k|{)6gP1d-0fg`L4p^Bo84@jku!hf)|$Jr&;&M8fNJ49?S(ss=EUR9 z3OOAOxV#Z^<~3zcNqiEw3PW_8;!oyUJnR+=ppN2?hkq0;g#ots&?}PpA$`NW7i(Li zG=H0w-Z#q}L100IRHReS(L%lxDGd69GKPs>0Um^s#w-3m-rhVus_Op#&p^PS;Ef6j zDmrM?L{Y(lCM=qP1ZH3cP+U+Dai^jdaRyPAfSHj@#|!jRt=d|p+E#0|YHM9^3kC?d zf{3CPK~%WcVH3-~ll6;t(2wN#y<*wB3E2QQAK74LkwL+TVUIgyL0tne){j{zG5doZlI@ z6th}J;Y3{AqWK^cK%T)!QqW2kTC<}exqQV}^lQr03dT+44x)T6ugJT2{hBFnOwx`WI5G9ALB!5l&A$%Ra~;GAt}9g*fQE zFkITtGuEvY@65Nv@X3|~r{IsX<$}BRWXmm=*ekg-TaMJlUOd`NePZQIeJ@b1MZ2Fy zugR1-Xv&bynr44xieW<)+;xD*xEe;wr6mQl-Px*Qrc8ad$>?#a2OCe*B`$>}H?yyV zqycGic2t0|95I8ie*Mhx%Sw#kH4{6kSwx6C`!45rtS}_;l4sr@D8fiPZL`ntw%Ttx zt3)l%+@}shCuG%0La(ftifpI^N|l@$vXoR(MQn&U9>@p4Z`73}8N*2gmM#Y2!{+&|cFQ!_dS@DwBd;pBF;@3cj4(l-4A+s_y45iWu)@SyFF@VzTTt@tWt zmO3+$HW&0`jsj&X0%aek6pI;M;f)7z&^1o68zBts4y@dQ>J78Ac8!sWb=Lih;DQII z#ysC1{me=nnZM|{Ib6|DbHu>ZtxusoUMBC}ISYPTs;vAE`lKq~q;&+)O{5N@{t z!&Y(8AQU24Cg7l<)n#jg71&qovF_hVCo#0>N%TZ88AAGPKv^~l((OaCs9q6*gc|dd zMMg*c0Vx+dN6!n{RXv$LVy}L$ncquH43ges==nL-uMC%cMVLwg2ZVj=ajb_v&iK1F zAz8y#&fJJL>jJGBZG+NVPvb_J6EHObR6?HX$Xgzk{kU^?&kQw_W~}mjowfB25>P60 zZ@=t6j6X_zDwT(mw-6~vQDDf8DlvtjI79-5Z5d+snjP`2A_*#6>#cllU)kAcnAtk| zBBQe4=$V<+d6DD?gowp%751r6_G(fE(6udeZAaMWMv~ug=Wy2$E^~u~v@Y9@E84<6 zCncB9GJf>PpS@Vnf#k&ff#ksb>E8#5noo}bHg+xekByBLS9I-Q?V0quh>p2$aVuvX z1oj(A)!}ZDgd_Pw7zsorS;#}lkKA5{h5IOy{F=!j>=zrIA`v9lkdlQ+I><5HKSPNn z+%^7KR3>>DXc#5~_iW@PAUZI}0N4QI5~zSi$a*X1Mkb#`=BEU4<|(yi%hX3Hjucjh zYUEl)>^74_AbuZCXQ532=~K1zbD9d5F2k2HFT6rCv1;X_|f?a zKPqD`_PJ;$aK?lm-5gGJ$Cy|N8wjfK8~c9?7(LM~*K$7z!UiFzoz-9eEH zf1Q{!tL|SvQ_qyxv9_0XEKKPX5)^DwK6R2Qn4m>yyX4={IsFVI*c|yxZqZZ26_|=n zJ2BKKts1t88WVcs>SRb_;{k?C&&Tga&dK06Q-y$(#)X`;mc??nJD-}whf36NSr7Mp zjP*zolo!$S1Sy&alzJzbJ2UIYz?D$GKLKTYh8N}(`ET~{|LT6{dbPBRF)@F_~9)BzQ zIZrm3Wb;Mlu&G=zPFk=hvg%3=;J`#H{j>yXUoGMftLz-DU;FHHcU;8&7b|dPz#XWw zz!AMs<&8sMs4v@@Wv^HNrMX=#yp zVNKSSPA5@kH0GIVDe)H7o1{>3^?h9nPA&4z|yw`H{x(L}Ry;eDI*eCu=$&8X` z$%WLOAlQOr5BX(gu(7?I2F7}MI(+-Ax)0TQ#ae4lmrO@Y#2Yh9&HB!uJ<=!By|2VJ z4BvgA$-RI|^4`zdJMOnnV*K<%PcT+0MdKo=@ZpGUvbJ%~s`P$CDo$6M-cWH;86kpN z>;)4^a>m~1Y~Do+t5`VM^NR6#G~>#o*&V+ktXD9Je>QogGa=Fr!)1~W+)ltHZZJ7e zQ!0`cL^W1y-5=6DtKb@w#e6Doa?<^FHQX*P%>R0Vm*i&EJSJJHa&gc!`HeN2_EXV}HGpyV>11=~k%qx~{yptF_9QS^SRxy( zu7tq_xTGw4&`G;Al3kIw7Z%3sj~7#SscFh+XZFRa>Y0D#nL>R0DFcHtT|jiJI9!HR>! zl4CX(O!|{ahE?`O`cW(1XgZY}$T<>|8Q|ULbY=HjWgu_oL2i<4rOp-P)7gul^j_Ls z{Jefn^UxlwOtI)QDhql#1K(msgM<+)dVW02E-|po3#Ph+l4Dk}{CX|t#9+<{!DLTD z&gzu+HQQ}VdCkz&wC|`pA06U%0)+e;2#YdpEgP(}i^!Osp=#nnAP=W*^QP`HP2J6A zU(-Bk+9QC-2J{}ZUsL5<3EwzrYWOSxPSgp=G;fyxhI8F&+>Vhb`U{c`Gmal3IK14W z?K91XD{d(9*K81$O$GoWiR_0xaen!L0@n3!XlG7ckABz@iHo9G4)|mT^_lGE^Upzg zO0=%`DIWo=I)}vT}E~unksx(m8Sm^ObsnY zRd3Zj!YldY&6#J)3s7`juBs#_*tdK1==HNzJ=usMLi}ico5|6jjUG9wH-(r( z39RPyQ02@hnQ#*$bPX=B8H%Qf^j~WV6S}ctchDNPn_VW18}I$K=J5m`!|e{+5-$5r zGk)nNm0Qm`{;f$ubp)|?e!V#F>yA(UcMlRNzZ$OCyO<<7+NIU&P8 zDjH1)K1bodSi&c8&@zSb#=p4Oic2R6jXZ%}K(6)&3WLczFdvPY$J0*mo6L^2IQ}K? z_5+NmbSpvn0pb!|iSFne9>0$HC>YR@jh1$?q4#{# z*TmAU#cS+cf1ZYB%LFEv>iygh?CoX4MOZSvBKrD-MGCTKf>k&dQBp%04|W#^tm7k* zg@P&K5`g76=6z|+Szvf5$Qz8*mavbE;XVbuKu}=eV`E-+^q#lUb4KS1Mkj7wlz1-+ zaX78r#{k{T07*6*Or5AViqOCdhUglGNOnD_Z@m|$E(Yle2C3YsSIlw0fyy{@=b5Fy{%@TNoL`SM+7uH> zqs`>dP`1$b8AJE8O7)x|X=X1uHzPJ}18iCMPdn+J6MPZ)npyUm|}3vtuRC0B@cFygg_ zDwy0EXR;V7eza`u9Qq=54FaesnbICB7Z?+`x}lkV33vJ2nmt(G+Fg(NxO2gf>%0Fo z=u0KT!3_2p*%ghp^5{#FIpfI@VKbN=^qc{NNlxGd&TExH3+k!}6t zf`C2!piKB?|2hldbZY+e5wAan%C?Zt@^abJ-b=)-mFiR*Yxc}C!P>uOg<$RYe9-q< z(?)MTv5sO^0@efd3e+-)&wrb(`vB9Qef?m4dacJVBcG!{dKPQwUld>lXZ#Ln3~Owz ztPtE7Kh)AogPPF-araleH1(T!7@wFeLSp&k4)N^7J~hm{ z6`#o{5ZtzDl_+*=^(r-0#4^@}iypebDQK$f)?=M|)*EkyO!4Sf?wZnVO{2L**2Ne% zt;54Y6~)Rj)yMwiK0=Yq2eA&>n%*Pu#7pixUbzqIC(2Ly$=rI_O;l8e2vpl@*Fme6 zVk13xH7duSPtF)gK_ztPB$CAP2fN~eZ zM;#ZLI&%0=tksXW*6=CI+CKZZJBJn!a-^#@0qTn25H7zAdhB2a@3h7ifZ?|i z)mqcF4JdiiR{R*=L`UmQFS4RaCwDig;NNd@#{%U5x^*(-sGdDCT=uEPZY3mTaplbKd|}2p{SlSi zdNQf}o^&SFN6J>F-=d3|EVs#jyT?<9l+>|bll8`Jue-)Y{IWQk=q1y0c+I(d5uJp0 z06gaBC35rpR!LFpd$^|OeFl~HJA=p>6c_K1{-)Z#62aX*-(85FmxDMEj_pWHte0_L zxP@<+qvOH^Lb-PUH}1ok@4^)&$bSDv?|lc|32K}TV@?MiST7$Rw%cC-b{YCqesb(2 z9Umh&fW^N%6#|dUI$ZHlYy%GCZqR_;$kgnKtxEGnf!GWa1<-iQv0_m~!@oIy+`2<- zL%c6dZ~)|RiUYiuNeQtl^pNFb#Y?#2xRaIHuwQ!qf2JNhxl=c>2YqU4yd+cOa#JJw z5kenN`lBjm=c=6Sy{}YDiMzSMQn}_>yzv5m26&VpAV0RTo704ZUuD5k1L_ zYBPOk5tAxf$j-Jnm_ieuY(zfC-7D#Tw%k7wJ4d4BJuL?edls>@>^67y&cb6}rfM?q z+-Zm(@G#cN)r1Xe`6k-6<#{=nIxd*a^=w6PjWnO7QGDK21VrgAhrloDc2LxfiTCvO zR^nOcV<>eyBp9K|RFSsEL9$&f$egid--H|mX++nn&m;y}Y6$tkPzv`@uaG9EZY*|6 z`Xjxwdv{nEglERD>&^LmU)$8vn!BE_!9iv*kTg%NIpRf;)rak&tO~`C{*4+-O>K@-j#6Uu38m|RM1%$4YFN{l`LSKk!9gj4$(?Ic$G&0Gm$##37w zH3lU(F?%JV_j)aO`(IYoJRa0&Ilh=*9%IcNtJ>^NC%>uQRTm9N6+Y4bBhClb-1mVz zG;8XC&FyTCo2|q~ZbtX4&n98d zm)|1#P;M-RPH`2L1L0$OOCCQ&;`{Vh>Qlykg!#-wLky(s`P2(#%R(MVnkUG!pn(v| zxi}U!Ik)_(Z9$p^u+^#ODg%G?jC|N*U2^=8^e-bQu@?deWv#U60> zV5~>#>|1vaEg zp8mV0z^yS8^qx6fGBNI#fW(BkD+QV+W|awh$QTrRV*m+GNTDKfD}CAdT(`tu#XF?C z=!E_^9y`llLlQ)HQ7|+PtjskL|9v+t^tI00$gg1P8KO=d=~g&3S3{%>!im`wK_X>&bW|`IoY)zH>2HmBQ5#!p$<}`ZNVh_&PZlt0E05n%t)&1 z5$5ZfcSgGp@{yrr|L^+abjU)Snk`UuKnOIg%fo-OUmY0f{Bh<6l(__I{|b!aUk$=W zYxWO*v;9P`gbeti!;sOHbaR$1&q#I~q8C6Ep1BJ`Zcp(mq-U_PfL0W`tFtP>+nBhJ z1Qa7=mUHxMgauG^d4RkBq+<6q{d~wz9z5(_qRr%>(U{|WA`w7x2Tt!=^&hHoMBjG@ z-^#)ntk_Xg4Pth4dU|kWGELb1j{-2LZV=Vxf53&RdP>ofs#1SJERqEZ#J_OIVEWSg z)dtMQzLcl`)vuri|0)l@aH>PaSc1KYPkIz+B+h}x&`uPC%SyiHJSiLS4NkZF=rB^S z*keS)I1%mVX(#jL&?IUNcByoonNRCw_OCW=c@a#tUoJbh_TCQvp0Q1n?63?``AkSjFEO`y~?n9W^@U~ z6mey8n%6&VjZA9qOMS3L#3IBf#;_Er**%0mN;a^FdV;B6lm=T9#JqO#VZqw(b_aGQ z{z7AwtWr;ZTrWA_7HAYAxH&<-Mjn02N%?S2VwhQubFEKrY?jTg4DG2 zPR2utLV8pV>EcId)2Hr^q)6F0(ut(HM3i|bIf4Gg*mr<*A|l6c|8M#jJu;lk z^e>eBSNeFQo~KSQ(N#qQk^>PZwx@C4Nw>Wp6v^&a-ubX8!$Hm3RL5AgP)1IH7fpPO zN{G2TN7C|Hd&Ps2%9Lc-hS3^a8~~{l#6#9J;1Gr3hS5YgV|)5!u#+gGaRN1vyp#>i zPnZ|!-+RRRh0zZxY#&LWD!$TpMb`ay!<%r@!9LWOjcj-JFcF#|*$`Oqt9T6!NiUNq zAO4CwoX?)5V}oKcUduPz`7BWT?P1PB?>p!RpGa@#LCNFRWkkwxwXGKv)9Sx3LQ zLT34#cZF2$KJTh9dOdI2L@W7i3%~kuv@5u*W}LCvCZrPJ4DQQ+8OXkT=qFy5WMAI% z6E6?TzP$P;UVcBr3Wt04RFr=64f1Y%AF{`kv~n)WzLtx$d5zFJ`?|H`_g+WuF|Tm7 z$-XLd+GJi`V_uQsB>Sq3^Zj(w|7ewYg@Pdas;%=;=2e-RKg{c0{B$~&KP}IAg{;Jp zEMl;t2tpM#l5=oTNY>dotV}fFOAHcFks+gB0{D^>+T`FSSEzG_>@^S^Pswv^5ZMdP zTBP-pCqn31uNH_eS>q33O%rRI#J<_L3!N8q`zb=Y>>wy!O zM;3c+y0y-lQifK%Gwo>WFQhx7`|u+g+0JzPC2cCUr?a;H$j z{gr-Z@}vDw{7S}Em&Le~r((wJ{x6NkHsbL=nLQ#pDjVz59N+#+%;}Hyt=+%x7O3HR zsNw%j%xU*G28=v;Cd>uY0I1G|C2j_6mMZrWuT3^EB9tKC_V*VN!zyuuX?b!t@%a6` z-86*UDSC32tswNvlB&-B9N&|X9J^PW){&a#pP!NDvXx&92v;B**ca?OqIh~2++~aX z&emdPfS28ZwF8TN#@<=y?Z(00X;kryFlS2k(7AhbgUMa3I0Pef@ZQ?9K68FI^`bB7s0!*wj>k@Rrm z@JaLQlMz^o!Gt(<)1U~RrA9BJME5IoChH04JgzBeiBfNdeIOKI`wu zjQzLGo5Od5_hC_R*6wxhKgs@ifcUf81XA#0&-NMH;4idA{|EI%@{|b)g&u-4E8x$6`$_2az0{8ZR54)uj%aDkU>r>;lX7y# z?>Ry@IfF4uK`k9Yvv&T_RKGn=m`z=RSR&b}!v0OvWX)br^RoNsJg}~+k3S^wPQ~=% z8jOyYyJTj}wB?O)=Xdsy$DNijR$-Y4y(Z=5u>mkE?fOHe2S#o8p%%>VpA9k zX+1*=a}>RWAx9fo;M|xHJ993lt%Zc{G)FJ>`8Zu=`rJj$O4oV4KG(iiS9P*qJG}cx z4a&(g`BlBIZEUW$Lw>!R#Il>Qd|OwUdKYqS>ODfBYO=%j1eVOkKpiwSoJ>2NbFfD* z7PLA=yu@_nR?(ikH@VOh-56=NkDS7pVr`o!w9g~7c^^F`dzF3?Mu%4y}&m+hNW1;2VBs*&B( zhE$bzFOPj2wA=TsD(@DZfF6l5D3R=b7leJE8Su6cyf)8EX}1D(R0 z4P8aY$CQlEF~CHJPROQ)v-Olb{uliP$w`L*?j63W@@QXQtX4xF9jtk2<%M#uDxcOD zxdF)`pc~s~Sc+)h6FpN;!eMn4E!pl}xYeS$yFL?NvT*Z7F8NLKZ?EIlN{rD%V$#%< zfEw74&(XqRgni|OeWN%@HR2s;ly>fUya+O>0i%n6<`k|EiWD z%x7wJDIHZAEb+^BS#`h5Ej)Rnhe=Vv03jhAdypx+p$AIfjz@giV^s+Mjx-4ky>`C~xBK3-S*14HMEgbT@hrTt zdpv4F_oTMo=B+-Ot}ef^faOQwG)r$W|8a@@JcIv`8BgPl%aOid{e@P38*aCrX3t0; zHxCW$w9aT_pWHjCYM4FdBo@!UnjwSAOFGBCMR$Gz#Y(Hn%c3`PdJT7GfBp>O^|Od? zr5Pdw7aLi;Rcmtcb{tkz#f+Bg?)au>K@rj8uFuUF)w`>7epnWpIM9+&uFx+z=%~yHA&F;CpK{&)OTk9<^1Yy>`3=^$v&avJn1p~?pPl&eF z7^F9P%So~;vstVVXN>{|<>y#N*`^Ajsg|1Y00@Vq7g}DYp8F|oGs2j2iyJXPU z!&+?|RzfjJOdw2W_RlwDR_J&hG#8}NR1ZQ881=Qh$?QO>h#}rVw1q< zH)_Zmu@sj*cXE=rm?Q>NoVK0WH-n`~1(N;!Si~C2XK#3I7<2evYBqsnIqT+P$MRkD z1PLwgUXRc6mH=C_u_ zde%1%I-90&ty)JcTP+)JwRpY=7~w97m;6BmoVka45sP1gc$kxgLh2_r@k;pS4_A=A zO_5~e7G^AV<#$#b!M`Sw`mF>MWQ915Kg70aM-?WDqz)##8hBU~N?lzHWF&BAmckYL zLiS{T2-o3|J>75FcM4+|)4DJhA>8xIaM}F6=34Bwri~$7VyNuXaK(!?q zn!$t=ac+Z>Af@Z8lgf)7eVKVU;~YW!Qda!XD{}~T)kMDhAuyJNiu!aipMs%V8K?9T z4JOBeM(2e^-f-X$?G1puWlZkqLkD0Oo%@vrVAnfd_YbEjvc)T@DfOGDUjOO7O!B;b zPxePpU*OSO(clfj1n`DIm=cxqBEhLhLw&#DxQJjf7oXjxNODi8Y(==@gOC+=LuFe- z6`xu6_u&O;m7Q_pH5gVx3qZY^j}@Rn%uH5rjttJf8cd%O`o>*BbME{4`4CihSFsM< zw%q3Hx3F(h>M3JpjKj1fSNlSknAyGOKMhHpwMnj1Vf)#V`RXeeJ3^E-*aBmB^GdR- ztwKJ$-2~nZB}GEhg}_*vCja7}^~tdgv5ClZ$Zbdg3*pk7!dU#RRc%-=nB>jRfe2?(;5e zlSjDD#7OD6ER?sla7)^Ys6~!?#j7)P3fqg5R6#P$8=QIx$T2yW;N@_=yJc4sk#U8x4G z_?Ko#&4Az(%c)R8F~VH8lXy_q+W$h3DKk*wAH9K+mL)S#Q%)s@LIgupIc;S}XZxqQ z(V4p*bVBL>_9%D+BiZ|vMnbkmwQrbJ2^_Ls@wTzuC}*{Cj4F_D+?;>(gas_bVQ=#m zF!DnyF;ErFS|p^)I|hZ`6jJf81{z@{R%miGyNP{ZbHIA*+^{{`uhhU^J}o~|)Ydl| zPKlrcv1+#Cjs{c|sEL2@NefUtpo*P~b710iN?RVNeR=ARFt-R8B!Ak#8Sy;l`gIvR zXt3f}Qe`+JRQ164$oUz2VE8Q10oNz~cPy{2!$tfaU-~e1IA2vAt{9s^&&kvb;1~v! z?RAFVU|^1|an*iar|p4$dWlgVd1Y||z*#Rn)Gnl{Mxj}$Ss%y=K)pti3ovI@UWEs* zHx)*YG3KK(93H5n3IL?PfJY!ysmMGQHBe+knop=7!uW967U$lz%^jQqCE3w0!th@$L!=K-%JWE#dD>1**h9@Y%1y7l=VoRF9R?zBoSwsM!+wU4q-mcee@q{x0Si^IQg#WA88G@l zicKcznd>r>#6r?0+CvA4@=%hp2RngUIoiVh$7m`eTNxoKLd1r^c4+RKl!2h^V32(q zoUUJ)-dOQtfl-niz*7QFqF=s7HHDkJ24YkBn?qBT2Ugtufs)YKMLr6w@=qW2k#5ZbCjXYTQs#YRp+c zqx3MK&<-N{hoiR{0%r?YC6Og#3JkAV(?8|@ac3kwM-fl$S(U*i<;;*IW-Jfg z25g96V9d&KKagDTCAye7-{u%WnBPI&k1Ytj!SLx{4O{8M2A9+wxVKVsLTRy&*705p z-WS?OOSvh~82Ozus)}?xh?lSoMU{FummwS$D=t%)gu1jAVHDy7MYp^Z4n_e2$i3HlKkQ!-wyyPA#kZxw~CR+U(-Mf)c9`; z+oai>OJe}tywzh5)ntP3WMJQxo-Mb*lXZ&INzEG|4a@xvR3hW`x<*y6@u9`LA4Z(dk?z!1iY??^VccNFZ7#Db`pp(j{R>H@f zTcDqh_}1;o&rL?Y1^Xp5YCc7XDLW8)^`@WSe#5zwZu)s>0e`u^aZ2d*b0?V#F=|Wc z2S!zAMuP?3Da7_BB51!OvMrAF{;^7 zh>(gsxbcHf@Q_wrC%sR;8!r1^!$0>5gMCQI;}7df0`wcTIhJj=>iTBi&A|YtAm4r# z>Bxmf*vuq_NUf1R{#2VP~LX(d*sa87aiEvQ zwwan0S_hEm);JAja(mQxY!`Dj;E0%C;|?Dts=1G!r|@K z{l7GP(?K8cri8z(=>Yia>3we3JA~2;w_ap&mJN`2?n)jW;*apLHFrKwL$x1iZILvJ z$r}W`Xsc?Q@Lw9pONFHRc+%Uc3)7v@f*i?&EF_!afhP)AvD4gt765$L9se?@Jaw@T(6q%fyIR(cjQRYHq##*U{n!@bATTuu@FH2niYHl<<+lYt-%FeX#6{5T>nj6>KwvcOk7<@fGGI zT_3S;?dm5cn@DxpJ67FFa9U-oIm?9I$z2h9gjOrC*`p4!Gj}Q&Znq}{f4`FC4@O+U z8Vn|PYX>hDVM4=&$UI!wR9P1-!3o@DG+2XC*_s~A>NGY4+ifF#BdUrYAW6gumEKXD zh$-3XKTGbfF8?r7677fP#+1Y)?9e**HJ2=m{=$^X=swU42HWip*;DpMDkX&6`xjxu#d3E`bv<^|-%7F&ab{szP=ZhA|b(Ylc+yY2P;XZO9I{kph!Z ztSU$QHNt1s_*le&hBuoue9I&u87RAGVwdr&mi&W--O($ARBe3K<>0iH_&M){ztKvAYpryKD0PA3zYg3m%<*6fWSHYiV2;Z%D)L-FUF|Ng+QaQzd;6oM5EPG; z#MlP3VJ~zpiZkCgajU#4f6&p3%vBowgbd2v3)J-X4*U$%Rg8UEM6-y3!KM<$qPpkR1g1KIFeVM z@WPR_F@>Pk+O3UympBJ>P~cLnYC}k-;3Uv-wySA<{my|87zZ6dSaR(%Vs7b`(Excd zSAw+*Br8MSCUrjS|Hx-D0bQOLr()7O5phU{7hsB2XPPmwU1}I5l&!7(P96B2e#Enn z$bv9aAN0MmIEr)iRKF7g4);zWlHLEoF2@#-rtmsFl0jpO{Tb(tzf{TIZ(vc(1mr-f z=SmpuTsO@FAyH|jhsZ6y9k{iqtK^KBv#q@W=PbXoX9JAJVSFOvlnLCwPqV-tUqTVV z=Vx#x`n7ctW$i1i1JPA9$Klo_T*4-WB1qVRert{byz*j9^NUthb)&jjbDr{E+|c}@ zbyeNCQ;6Ee3v|nuHoqvW8*!>NXR`M^uZcEw!4hlESnoOGm~FakW!;q1tT~Fg(h{b_ zfa!E=j+S0an2Lbu3~SCY-ith#+5uCkHD@pA4@`NzIJ|CDnKfrU&jUt!FNoU|45;gP zERh*~;ntkh!WFP4H5=SFDdg-J3ae!w!Q%KEw|Vpdb4cvLkcG7M;u#=ux{C#ZNpg+f zdH%b9gFXX0kIswNakgh1lo89D*8owan`=ZZc~=|CjBm$NqxlYxR9QkQ=6=uR<3*c^w{L5yIAov zcuXU!FC(_b2O0dgJN+{;l)%X6RkKDD3l29WmfS#zzY=;6uIYBTau}-bL)NfQIi1Y7 z%zAmS-+Fnnzie9+!d5S!9;>HaUo5N`Af0L9H?)vRS=;89x;9E5yUkc#8{x7Y^SU){ zm{EAWLcWiREpM|3nykm`t#D)dPc_90os+BOHCrEj%54Q;nZ_PhW2ofzwL>XsA42Z} z-h6pB-oGdg+SfpQHd}LUgMG7JZXG6uD|sIglmr(*TlKFds0c;oid^JA_L#H!b+F=p zW}#a5{hD7nus=cb{l-}FdAdKvig$&3tabdMXRN{p8K z52pxP7+9gk){%;Bgw5q!G|*Q3M=*jdxUHJGRB+9n2#Kq*N9`gJy3e|=l4pljULUMo zN99B$Wyik%RKPK8mXG+b+pNSNsL|EYeO|SFb*2{OT@Tc5hUPB~%senQXbpaczt=>% zY!20ahrjURLIOWo_pfFY0cMadwXYSLh4%{hw3}cu11_ zsn)&fdk#E_HSUj7XN0c9Vzj}@fWBw=(Q|-+`riXm>pmIEa!(773DlVfXyZlRaCM56 z&>!8l( zEvf8z21+WDVt4lk-aLcP)5oeM1%e3LxBKb{|Gki)CCM$;%U!C<(M;S&S7+{{&(qCC zI|4PCi^IVbKA*Xdfl^u{d%`-hHjkbBPd2;9CRGl{GUm04z+N-E9Z#yeymjo}s=C{9Tx)}-_8*6NXf3}=rZ#aO!=*tF z>F}z5HHM0~vw2Q0TG2KQ->%kZg*0LmA)48%*-;M2?YzK!l6!9uOp;q~GzWa18O;l5 z)OtDS-?`9l#k+Ac^Xp2ClDP=ml@ja*mK0pa*{4-?-FV-O4%tz48-R&Nt=tM)1rh_$ zAm1eSwifqM_iFA#+6MG5GxLj)TN`wGyJgS96wB0AH`Zqq%LIlGym<=!uoA1=vV-)e z7V@tCCnmmO>g2^Cb?)YQz#NY}ZS_tljXP0Q)zElL{CkTTE^r4?!lTFDdEZ1RfG2}D zvwOEb!sw;PvkW7t8TpaP<0Yebh@H!Z5o|lc)Rh{=RAn)GDG7Ar!_a$*!;IY)OpPkq zSu5if4w6@ZxnZKW;Z2n8iyu&`EK(u&gYG;x9*YG0BsG&b)o`+ayl_-wMBQ(g7Gci% zWtg+Ayx}|~;IexbHV8C%xHZ>>0?I~-6kqj{A8-`JZfedpx~#0p7zuX0jn;8|Eg^gd z_R~3evD(_TJnXBN344(8Immyl4vGC4k~;DGaD~)eh4k5T93pl^@=6%i(Zn?TOs06j zG88O5IfL<>$eHt)gP?B>^qFdhQf-9b)@5#lFfel;(a1ppO)S*J&8E(UBZ#JL*)n1> z0K0DrD_GUd=ZCx+u4qxiX{x~vjKIi*)bp0jVZ;EQ;T4#Kr3{a%MN@v_KCdek0x(5L zKB<=Nk#uKN5f1QPSJLv@uYmuULRS{IQCA@2>dH*&4ktfGy(rPf+z+Xxxhs!yXQ0Oo zW<+ir$t_Cb%n9S@c#XfIDsv5I$MI7vIT%MAxsO6;YTPb0l+~vFH5{(s-*&Zha>gCZe<*}?{0kpi;YY(=HmWER2683$Y zEQONaJ2qcPoMFCl4Ydl}Z^`x|lDZ&U&e(7^jzBl&Tg6jsT=35DN4)T@)puX= zj&8p|4fm3ZFqo*J6*&*6m_2oblQI{t z3k;{my9T%d=T7fh!|&YeU5j~hMtj%mbUoa=?m?e|vl?dd$LYr-nw$2Jr;({3;B*R0 zp4jc!6}tQPg1RQ9^Z}YMMu6eBd4v(*y5NFGynm?CktAN+id8pZH%KJC-pg1?8=O}N z`}27vg($&2JR&&$e1%n^oQWsyZc-}>HCfD8DD6_+nax3dOkGu1(7vrW-49t$^jPV9 z_y)bxUgxE1i7FO`eS5<4kV(bBt&imRf@0rb@~^W6eh6cM_O|C6(nUh{x$mfA{s%{jYKkW|IM?ZsWF>4fr%W)e00x9 z28e_paw3wPtRRkOv52J>4-tL|b9lc`CDA_15Q6-as4JWhCV6v@WPqSw?q9TT{*j-& z^PBtS?iTlX`(-G(gZ+{K*?BT;)XJPJL~SlDDZ(ryE80HUX!1{?AQtdGxm1O zS6Me5Dcf4>zSk+j+0lBrFRbgB7>>F_K@|d!T?Z7_TLU?H+}Wz%wN`u$sAh)X1lkl%Ry_}~{7e;FWwcqy$EL>m6(?Z&oBZ^(sXL(&UOsfKD?V5Zf^qO9I zjudh~AR6q4g!h_pxUy()UM3otu?0I+WHYZo1F$F)2;7(@lHm~|qtFU!Unj?jMzaG;@_q(8GO0CmFaGqzq zHMNy}*Ye7l2M@dJH2Tuou4-JaH=V1jw??+Ewy#>w(dw|f+Nqzk|4z1-CdxJqbubMT z35sa6BM-*tf%WoK(Dyy}3^1H$M3(}ZZ@B3^1kFJWy|!xe~w7(F=?=$gSmh=KKzW*CF^YL!Pq`w>u51fZ?m%diz8>UGv z87QZV8HZ+Dap%W(q)w5y7nm-}fK+3xv*rYhqLHUHTU5tzYFXqT-QaxOX9Fgk>91Sz zGg?nMn+^s4_%B|fMld*UzCe(BNL(b;ID_7!tBQjrg%eQrU`UbneJUd~Orr?-05K68 zAo{Geas*qwtP!ASQg09dFu2yJd?fGYfV~!$BWw*jXe>oPH)=nL0q`gS{&NqgV}n~{C|cBCi5(Xda+ z6JrWEIORHO%Hx#j2O`GDYGA_YO0qYA2U68N7@4`x%e)tPLE;7Vuk5l?uM@J|DspZ( zOg-^rf^~nRr14^nO#<2(Ct&{06EuQ z)ZE9Jnc`h39>6KeN*v8M?hn`+@S$cRz0j*Vw%Y9tIA~seMrc1Wu3Qu@!=zG3>HEm} zK)aAIl-WSC9%>ycb{=V~u9(eiN^jLxJH5CdhQ)XP*)!z~ z>?PhPyAQIm+?SbR_fp=-K4O`luE{SJf7%f|dy9LBGxoy>Uc`15NeP5=t8h}=9G23Z zj>~-0h(fq_N^wE-)^KWEskUi0Ub8Ptds(c+UHp-L@!lfyi4iwHBcP~?6HcR37E*tr zr;{lR$v0bYb={Z~!4?8`5!{CW_C+-d+}?cQ-UH^j75b^s&lCFjw`^nT*^x8+&LQzz zYk$$>(DIBB8;{b1bJSk`Md4*S>2Xe0}87P&PWHU8lBFiCqWU%(0qJrpQ z=HTBj&xBv=z@T28G~&M_#2aq!>2 zr$#cJ(OS4-d2FFbRb7Qj(}HE6%T@Ye{2Lc_HcSYCS>0-$xySO8H@@o079M$O8D(2D zlQUlZi4G&28=Zw{-A57i1zc9fz^3)IYsM3?YX6PXkz*s=OC%^2CMLZgult2=0MP4} zzHuvg)RO+^=Ifc}`J(Cis6R7bnvaK8va2v(?Q-+QY%pcVJ(HWVH}1_&S)XWT%05*~ zx%#hcu78~BKPH%}tTfY9tv4V+(>k{gmo4GDY~+H@no}c(S7pvGAEEfH-OC9wgp4xt zEu-tLAIj@EkXQby{PG|EM0rSDe)%(-%SVZIWwNuhh=OUwKT|C@CMh-?OxW_8&PaYc zwEGLAVfQ||mfbux9P6%1_V5r$TzV(DDC^Vz@bGtmzh!$19?tdWzqL2HWqXq@G3`C_ zv}x}NM!scxuTE;w-nf?S4QXzVKp;Oc9-~^8KR&$bOG#!0qO%Zd{9$R8l$z9oWj}W?)xfQlAthaE)z+y&Su;J)#ZA`MW!r<+ znI8z(>ts*HlX^X=-)>#m=GzC0cyP`_tM+4FDa98DYpc#sPl>5-rBQ9pFV&e7r4`>R zLXaE?kOTdMlx1tWzVnj8QqfC;t6uo|bF%)3!4(d{gsgkN^vorlX`oH$mJ;p$x zFC+|A6r6l|x-4wp=!;#T%4)pIOlFsNaJ(RR8de(<{ESs*#_2J21u`Dh#G9~34n2=t@>)8_I;i7w!zV@JurIo1EVKM_5$>9nc*VW%41w83z8 zhMuxRG|gK_??p&C%9v2TUVF}$SDVK%h3fqd;xsjN5$*JGYOgh1it9W>0p2b1`kT?8 zfzie+K*?H_fGagfL^=~%@%oQB^lDFuU8LMN!Rs;U=|!A&%q$f7Tq3wAEIv>Mnm&aW zof4G4f`hw~dQ`ipILrSwU=l?x)h%qL6uX#W!RvWK*%-E@CUwkYVznVn0D>7nz}~2! zi!^7MmKmK>)LeVQPNxIZ(SbUQ02>K%`T-v7A1v9*@NuYiqN^gQl6H}be@EZfH)qNE zuhBW{qdmsS?0dQA=YR&<#3i7Wfg(CqMW4>T{X~69^vb@)EQU|hNgA6=V;Q)tc#Hy> zma&%R25%OI%DpT1p=klgBg7U4aTFFd{oo<|Iv$qVj~49K>^5(Dmw{8cP45X4*28Q} zvGG?Yyma-N^2so=Wtz?M156a-ut31!) zQQmsDJA8h%Si5(v#8%MFt8`Y={NF!W0M9wAsq%3yI<`TB$6o|wuNCK> zXN>VmqR#Z98jCZm8SS(GQEeKIr80;)QLj_6X2c}z0^K>;Yfx*!>)4mkfjRJnH^JuV zUr7}p1qV@0zeH)D(y5m8l$I-KIplG7;nd{u1Z+!1%m)|uK;F!D6Yokzq12#CmT0U4 z7e!{R9>!BIUB%W+WMm@0QlE>x3So#@5+6q^BdPNUz9W0uFBM0AXY>N63+V-+BRxH^ zwS={He_$aR=|xNUbU=-d^{~4|KgWS_nV~v?*9Ok@)X}2Wgi?NFO8reQ$z&Bt#l{=c zWU~^~f8bSOm!gm~$@oohS`TVL6X4z4^rZ6GQ|@YRsJ-c9H^P;>R%fVrIeK;gdiG-r zS|(jH__vNRH~1&+jYHoQgMT>CLdbBjOzXArFbOn$0yKXem_fixDAA07S^7@VrjIEW z_lm_(HW@m0j-g|D=+cMJiNG_(@Qgy2ztE6raV8g{6}d(shrh{GBWTP}t}^6GjxU)B zN=(clR{W28DXbzuD40HPiul9ccRw~*TtR9GX>!P2W_P+T))~aQ(0O>g_$d=zLHMzZ zqaz`(XlGgMH4x9>8p#cx)6Db!FT95>8fT6}3KAGeO`H;ugG+xi(F~e&?*>d!NoVOY zZ;=^C_Drulr22|2&{Z0?-2UkGGqIBwj6oh{blXtXO@gmXM_X~)j9Oey#5rI*ImWjp z_-)odDJReRL?t=Jc5_%2=1@6Uk*T7R#YCsG3wp1arwoNeNPwR% zJxrg(`rRD8yv6r+|DdX@*v+{-$H94?-FE-8dBwP-ZM0y*5oO9q>z+69k#7!-jQ9!ZEabQEK5GPt9?(v9%*AM~EHc!qbF1;%G+d?~{m zi|RysuAv8On^rNgBPugXOQN#e(rQU>H2*3FAw*6DwTy34zeNRSnEErs?+z_5Z5wN| z6?yW49IpIBD=CE+!wxT=lNfa4|6uA8^W+padNYk@hw%Qzi!{@!5@iPAE+>sQ%}8>Yqt`MfI}~J^?L)Jg^0>$E2~6o*bCB3)cNSm* zXerM#3+Ou-QodpxYx$b+_p-s7C*3(K=Tj^GcM3xcKz#`5pHyQ?gcO;Hu8HS$A;Pzw ze8ct2x;|0YrvK`iefA%CXtsu0+H%8urSzQ{lN(WNL9 zPPZEj>c|SPdH?=j=(PxLhDK}c$8Hc;c5XA7w9mG(5Zy%4?7X);4*-(eU;8OxFkmMW zk89#ceQ5>>1=n2e^ZlO=!51Pdliei#XMLsJp(_oUL6gG5S-Z$X7~&MD?=xwr89Ysp z*uV_NtT0tD+%-r`v!x7GOblo)H9;@!Hg7%5D4M0%ssD#XT(U9=Q$9&2<8lN%iXubM zLg&Nl%#g~{E<^telrk;_o^AaMCKO=bY{6bT>X0NQ&Veorc!M&?{CH1g>f!gyxtGiCo6xYe0$TPZA&O)SL zyH*CT-#7YdcjoH{n~a5yGnp%@G_u?s6gOGy);e3?Imjp=__KqM7<@1zRCJ135iIYk zU}|EqsY1*}8PSEl#3BOkj8P+RnO!&~Y|FL)C(ngVwQPXTGy8Y5)yxh(yJ`)j5ne||Fp4kN`yp7|cH zb4t`2?Wg#U#{WuXG7ho(zuArWH&4&l?~Nv*0#dvZoxfYBa2=*o6Emvtfqr6YQk{0d zzSw3E9!Jvi^yxZ1%k*XSlEO0?;GtZ4VvTID_T*6fpR}xFQsxD5hT<_QJzLFZh|>T za?5l^+9_eE=?cc zjI*197(t0{s$i@CEQm)_wqPcnn+g)o?a&%=Xv!8Oo|_8c&!jd(E9I3+hz0zah%i&N zk2Zhef|3bu&l_F10&0scz?4ugQ(V6y>nr=!9jHNEEDWToNzXM`z~-sFf6S z*_b4L=Mp_30L^Yb&KdL}Hn9>FLX-c9Ns^(@GOZeArgm`ot?f|+4g|+Em(c-uwcXmj zRaNPV9V14EL z7sM;}iX2o;5ke-&Y^caNowu%RlS3&z#HRmf#XklnqA4h8U0e&#tloc^hr8U% znLWkAO(Y~6)Jjb}&9~NDx5=ANaeen{$;v8YqjS{BP)bn+$gFfbGFv(543+hew4Zpv zOi=yaP~2zs#$c(|xh#e@IQMqr^W@rLcE9p)*+!ziSJho$;$3C~wkXC#F>Cn+4$^!E zc_tdjqbHe0V_&+DNaSPp|7ILn$##12a+8Z)f~7!JCY1{0o?i~POD<&Sasgk)dS83C zwuSn+?W2VQ6XOmD-fDW!p=36-SzqzPic zsI9W?&aST6k%^uYG69A-6h+E#6y7W=8;BBC2u!{+!|%o0D318nvP;EYqZ&p0NP-aC zy{Q~c5%)RfMH7{{5#)0(q`up?RX`+s ziSGz))_cZHYzs(M^L7&!0b2>$=0fNAdT(Pm(rgUmVb0nt)l{(=V6?xOD99KVF?Y^b zLeQauB=hA|;rrW0$iVK1{`Y6Wf~vZbvY@yI@%$|Dj>cvetzAY0+u(fIna=%*uiQWK zqm!2GQJ%gFRiX#1@(FZ$>sSMCj~4J^SJfPMP@9||I%0Oa&bn}}pYL^J4WYcHBJ~Rj zbeB7$rwa0_JuEIPBuaA@5-}O3^cdaXQ~;D&rq1ve(-blbc8NZ+_(%$h7V>@NmwP~& zT$B6c<;Dmrxi;e764;1Rd`4h9ozp(TXJKFu66Kkw`pxu&?sXe0wzwXb5DMo zs+`gtmV_J(W>PTb$#ouKWvS2`**LoIHkVU#`g5f6pCdID`+M(d4K5;y(~QD(F;PgcXuv`_89F>xEIZ~-T&76 zb)vXf+T5Ry_s(V)IddikUne{#_wXGV|k7&UkCD`<@27VX|=(Hc|bti1OyWB)Uqsk;gaY#7=~O^0Rpzm?R@qC2owdr| zD5>Xti&aC{*hcYu)*_a{O|bTE&bW5Gq=5aav9Lr64G2tO5B>)22h3y7jt3wxb9;|4 zn})N!ySTu!c}6`0uMxU_zY}g{0-BnW-7OTtq0E|dEf-;QZGl&dsnWP$RAE%DAqgjg z1mE=eAJBE`tA~#cPd& zhwVRxgo)TUZ)tTCQ%R{J_q@A<<8+(#!z5-ct@hFkk_wevk^5;c0Eb6?)tO|2b8hDu ziFI%X01x(ZI@UoFKiW*P$c4Q2QaK)_-JUSW#=Y@ol|TT_iq})dO?^nDAn<)z^uJq zhDbTW5aQO$5cwQ8xeSpV&ZT?+cOz0nejOkjOE%G>QbZ0)c6^Eykzcn=5xH4CkQ|@G z7R0lc+0j`4R^mg`%pzf|w+I4bCHX-wpUeL!Kff^f9`o}*GJ!4fyMcS1K_dFYe)_st zoZ7qn1+SKJA9w?_;pv~Wt-rwms-SlFxz_9#PT$s)TvA()eH;Ga7lH&0JaKC%Mf<~2 zy)Zu=Rpj{tRY@4EuySpMU>tuQS6#L;3JxeDE$+Eh$<+aC(Dneq60JdadJcXssPF~* z&J9|FmRDiXojN?2jBxxl7|O9|tU$Cc>+z~!<8TtOCl--o7hpaIrOpjmgO^6E!Aq!= zWVAh1H@0tt3{Te{B=iqrhrp441@)SZ5YS#Zx1V5|Z!v^73Guw*ePru_thiYrRNv)|T-CyzdJ=|8+#- zCl1vrR(8L$&;Bt0Zcp{gPO+LTqB=R1J>or93DRnF0H1^Gg9S3Vvm-lC?M#vag)s0B zpl?ZC?I(ixtUXH^=H%5lb58=ITKBw)_bgjxw34?k8C+7}p2|&bJni1e+r*o!b-L|j z+{O7Xvf_1oippmO3ye%A05@+tyVs1|?ll9*daJ|9Eh1}*l?8;nQ_^<6ivTh#gFB&c6Sr8SZ7P(FW$)(wAI-U zmgr3*CHSUw)E_WDhC@=(eaOYOI$vfA{8=?us^(NjZ+NfD8{Vtv&Qa=)dtT3aa`~E@ zP^wqSl0gjcJJgYp4+%viTr}|t@{zAulhllSlXBSgq#4^r=Yzj_65;zb@pkXWCU{fz zXHPN3&nN>FPuQ`0|MGN5L{TM*V>60n{{k8zB zc9@_2B+xg)&<|tMPgHAJbi@SPLr29=hq)XONfnk%7B z2V;3LWsE($cg9$_Q)~1>^+ch{QiI_Iz2QTAT$LP7XO8BJ%n;5%(S4E`JF|XT#3VOD zyjP%_ibHkFmHVmoWC*G_fW*h4>d{J68I4|3E1!%)PxjeI!iFXckVH&?=qFQ`*$5hZ16>oiBq%^J$Z&lkw?Dd z=gQ=nG5!Y1t^&(gD{fm}c=T2J8)Penjo&{Kqqtd{UeJ`=XWzTDMZSt$+;4mVlz2vU z?KIRvr+6psJ*s<;M^@rIvwTP@mUAEIg|mP@k*Y-$OcEL$*vFAu%Q-IdauY2}cv@^y zB1;bt1l1IS1ed7qoq{91_|jtIYxfa0VVfC%PW9Kqd|%)Gw?W^#P3sS#|H6~buTc>K zm}31U{zpf+9&@5QBtaN)d(@#>i!=h+ZKXl+5*}>wHrX9iW;j3tkuV7VWJY*vkbyxO-jPniuadP`ekV z?HdNFD)}kQXA$vRJ+`fpXDEi8F5W(Bjtqlo0=dtei})KsTu~f&wKG*2l}{DyKaX-p z1|zPMtE$4!C4$tJIWaUjzxjcMBSR25B_y5$K=D|twGOOHqIvfSRqVGCeFZ?~knqV{ z9Q*7}ZyH;RGXtrA&ZpVhgPalC018xyBSIi)o)Te2L|ysh2eKzBIHyN{vquDzy9J8` zEB+PGaR5N%NiO)jeDZSykty*nQ(`2J#e2Pc@~e>9P~#1`632_|x*d?VT4sRVlmwN7C1#p&pPbd@7SqUiPh_S$n+G!ZqAvx{eISM`@VXA*qgE zn?y(1bn=%eoxC|KWCkQ!1g_1I4p?>=R=l1o7E;SY1C)!$EY8&oY<6+tx;{MBvCuH= z#_709v8PA)L$$4ZwfoqGZTR&A$QZ3bKLo77D8gHWCrnhRGEIgd4CHNpfj8Aev_K}>3sJQ82p)ZTtp|(^sE1s!H=C_ z%vq*0gzl^KA1=JPy~O64ubrEZZd;K4!cZDbXZo4f!O;Tud1yH2fo0lOGv|TtdE`yX zUERdtxHoI($kVSV-Fq(s_m^&W^S8k*;cuR0i{R+NXQG!8T6V97;5n@e5oLBU;I)wN zWbA)9FZ};U@3#9h^v>nNN#2>IchO6-v`$iv|3>Rx%BOXZoKW)pSSjN;>xb+(#&FRV zVn0CjjNuj#Id>j_>SgGmm6)qV3q>2OFO7OTx{z%2Z{|_5z)wm)3@Q5qUsp@`p$u?2 zQuf}ad{Q=AYsiqY4g;RblCt-$#9t-6&XBTp3q;C#Z^s%UoH{3vdUHO=QQHJ5>myP| z?nIF?^VFK-+3n;>JB$K3C+%=@Wav~a>MSYyxyXulZEpo>&T1(^b0@NCsmWCIgzF#k<>M8G+1_x?C}$%?Eet=Ch$>~ zSO0fH0t5voRg|byV~vV+1DDo_R7NH+12cl6h@e7^3$CCfin0YWqZ!8m+p4uyTdh`Y zYg@ayRRhQpaYZbGqJj%>-$cZfRml7Oo$H>-1bv?W^MBv>|Gs|OaL;{T>$%Q#&biJx z*Ezei4BsMUqP)77fIe2vrH`>W?)ZO!9>7Q0aGdVv*v7kJuP(tjrTj`jd~BR&YMj2@ z^E%Lr0v64Yn~fc?>E{dBv?s7N?u1R>g^wL(op9r#b~c^moqsqrjo$1|uF|e=w>D7pMlB9AXUb|@LoreuuqVet4 z-p0Ck!*t}i!Auu1-`jI9s0laq(u=((WNE`(0duJ*F({V=aLpTqlG@wN98jI#8w;SL z)t`utS_{_{w7`u5ZeP&CnQDQ&4g7h^dweHg)it!%KN-ILe+bV#a_}q`JSSh%4o?x8 z|2aIn4Ri3kS(C-trXxK6y>}j-<7JNz;Cb$U2hTwr;OTG3!}Fkm7WUl@o`L@WQ2iUW zm_K`GeX|zMUvM6=!=j`y9ZCKV;^|=q2k^8v58i=S=eTnyc>>3T99y>Y2$bx<#?!yW z99(~|Ny`W4x6p}({+u)J<^fyI1{fnqa`F>sEuq_v{DMma*88 zJSE77i_!0<`ClMyl42r8lB!f0BSH4u8p}-dVwstrg}K&-!^k&@^pLI5^l`8|?#JC& z7Hgc@rzqAkM69a_@rS>Zc0idgFdJYc5AeED@HU-B=A;vu;;db5sx{{Z1`*HfyFahw z2a_HU;wgR7_XLIXXNmN=*eDC_9-&m48u`5_Q=-#!7s%6S*yD%}k{kR^j;ZWs|9H8T zBM$uI=`E<4Y{>XyFx>j?;#9fH!LaLRW_rv5%(J$+A)Abp+4oXG9>=8gfb)4u_qdS1 zF~%!aCg(RTVs8I)-uUkg3fz`rppq|ihs4{X3oLFFPey+YkSX1vl4ce^cXRe{KabeS z+#9vd1YVq4bum9Z0gcrn|L5>d$p0z&#?Q;eN*R}bxdsRX!c4|OCW!IA#aD&?c+LJ@ z;4fBb$zRL;Bh)#(_l?dBOkw5_!D}_rhAr@lx%5~7|G-YMrGN$hAJw*CN3GMGwWAk+ zRSl;>kFL@i45yz76V1Y!UbmZyCGd;lxZ(Yw3nVM>D>_6qGn2|T-(n<-?1RpN{l2$g zjg|n%%|-b@aV7P8$*Kz3lfU`5+3<0BRBey1>elO#kAwAEZ`l+^vtA2Y@AQt_ytb|N zS^v+x%+ZJcAK-bN#w2+DG6&Du2FL#?JkJvg2;h0J+A4tOWqEi`Uj4rf&saM=!Rw1Y zG8h6mvh|W~f&273iD1?B4`BdyBpT(hnf1_gm(78@0LpK92M5 zu<#Is0a#Xtlyv&Z%tpD9bw%G~V{cS#*P=0)TLvaY`CkBDK z6YQc)i`R3Yy{bE?!&Q2`74hXTtH%QWePHFc>d$um%#i_uF&;bK6Ym0II|kz#sD;4YIIhi%@hzG?lW%5~qPd)dlyP9m zosp_CNtU{yNNCx3dQI!9K;PZ2Um#XP2fqe+bP?H(jRv}~3opm(*vv_8usFfgofyoZ z{zUJ~N;@f;MzO#xs7Mq(?KAM%-P*TT}e^D)^fW`}OAN9*r z!yg0)q99~S4%2T{EWK_we^oKP*-kL%j=SN-Z{uE05HZNz&lgx{m>28c@luD-f%NYW z(Ia(c?1MsF{!@>)I)j%rVIfa?L@_G)RlwQs0}BPt5sSF&f}V=#O>fk5Liv>Y%{NaN zQq;EZef+fwUqVqKte=Rm9`VImQUji|2icEf^V>SbidQ6vf;;C2paFh@G8dd=-PZ4u zNbmG@eS!gp+urbJ@#qhxn7^0)bmNb4k#>Gz`1)6XA$-L@SXaYl@_$_k;|%go0W|ZN z&BlCG^gFxn-6dTG=V_=+mlfSKtUl&lTp0jJ;i|p}m3MxbFWwAT zjN1sIGp0sr*#YxDe8rztX zPAYiCHPB#D+j5akg1w)#Ordfii8;pIO(ydFmAY8NpLV_}gfbBZWCR|5- zT*2=L1t0Z(v1zTeTCaS@E#mce2)Okxn;}X=zx!cXr!Yl@l23`y=xmxDu=QeheQp$T z+-cMu7{SnX;BjALd1HwEmg&xCi+9_I&ESC93Kr@{NCJimGN0KOS)LS}G?#FWN^8T; z_=|>UU*Wk@a=a-dZ7qq!0)MVfZGLN`L7*F^cP|y)DC74wqZ3d%DDIwT4F=3C^!&nAwvWkJr`J zlfCB;LxoVn?4cE{tGr!M3)^3iy(x4hc>Yn1nN4;fY9K!2=b0#~+lRZ3l3{Q7VMD3mNx1tZ}L zIPc~XCo8s^c;hhFZrv!x3JQ8-p(Hua^B))z2BwsxXNb>&Q^0GFd2tbG=<=*T!9B{gryeHrsO=rY~%N{d~BN(wHgVj_rTKh*mNT67Ri>&!*{a=lU`qjX$mBA~z#?}HoKY=J z74G~I?6x>khZTqLsgkABG;KXcCZ5Z^x-3BI~Vrrg#$p3$P}wXsc#IW1WWze zLz)UaQsia;GqTulZQdjIIP}x`+?+Yq(uI5%@NH=Gru@czJ;>TsBF2jY1dVd{WA-XQ zscSt=%{&mvlZy-S>Ni4ju2aWKDUsCOQF%y6pZXuB9=!p-^x5LM^bQC zD^_4Sb@Cmd9ErM^{in6?CGq_1x|B`ma}6y04ik#uLv%a6xe29?hr-xwuC}=^!=ywS zkmvc1p9IcK#a}ACHRI{QiI909Osn}LSL(FWq$orb(Nt1$taDQs7))UgreJ}J;7%7_ zpkzJhIr@2%bx+1N!Ef3(L5xjMVTGfX9w@^^INfkBN(n9@wyV8c$Ooa*gZ#Nnb=n!6wf&*5qXPoJ1i&RSgQ3_t0-itxnjJ}5 zXly)9{H#A)@-{C@n629_o{aWKs<&;sd8Dl-F*!kH^|NFK0Y1BTRlr=#>9nAGL2ceE zet=Mq^DcfQ+3Od&Bt7KB)yPspb(E6qiBsqc-yDB$-sIO)i%{l`s&Uv*3ikPXYfQW@ z_fB)KlYdu#-vYucf(8hcb@46V9+KEIW5lLc$1*2)uWiX8>3!d$Q4@(mw_Z(iLR2CL zloKZ+lwHY3VuLF}^oK4BD`%CauzEex!NwNFXvfF&2A_jTlF38$0E{s>5dn7xF4i)S zd9eQ%dmD*yz_q9=oQU^$dVYo~+l3$>h?rwW{>oTBXjWxHhN`MYrMyEZWt`b!#SN-cQlS zSM|;2crop@zMqG0v}KXz*7{0tUh*qx%Uk@>TIR4-6r|}8QmOg>=B*#o(=h$%!yh-^ zoV@}EB%K(|1=%G!E;unItD2ZKY)Hb7xON|Y+CydTp+XO#)Za>ZuR~|H$3>^tu*dfu z*bnD3B%(?eYGH)CX4O|h(#hUlS8B&yI4+c|5I(S-Si83RK{BFN(%fNs%QHbZQ~UGG z5Hh#hUg+NdoSw7E`M*n&3S;ThSY*XSWg-$)Y3^+rU^ ztx2~7ysN%PO<{E@AhR$J2ka{}hYORkXCz&F)hc2`CkRVCbISwNvsf}8^AKx18L{OZ zp5laKpC(L!Qsli66z_E3Rl4tZmh8RR6NJ^?b z7_VT}9;5NI>qq@e%j2&W9_jtLyeC>#3vmJ|o)uu!r^y+MyB z{Dk2e?ST&5aDkoVQnl;taO#=CklCHsUD!eoQZ3$~khn6v1 zGSqnK$6c9%^X04GlTbgz@@&@PwHE+y08} zM`)Et*kS_rbNcv_8ethf*u=lQO+KM1>a>Yg)61wwxiPY~(Z(Z->v{(VW3p1^d%s@2 z@5N95XVeAt*FNsHoqmphc>R7r4I9dlEVG=R1u3gPT2X^IcRAv9CZU2-^TwQ4N0?tn zxJWppi`xOAnV?}gLX%XkAOBol_{Z_5;JoY37n|FUomh<oE zSq}dX(G|ecymxxyB=vF|p)BU1spFoDOThT9<#OW!t-uY0gM&0|V~h9WezHtYS<-JK z;AGz70t!Wd; zGTJAR-X2rh@LLRicQA_%QP&e(sF>58@eRwK_&tdRPyNwhi-dCpAaaE2eUg}2bDUa! z63f;RT%D87k=qet2)+Igf|>a7Y-x8mj4R*-SJyxFUiuLH*T#SmUHSvAi(f;5FnH4! z6Y7;}lXXvZVo-@A&#vkdjKM`sKh_4K`Id3KqAW@-YNDY?$=i(kbLD ztsCBDIiyFu5s-M_Omliv`KfA^pCjU>cA8zXL(S*(VX)BaZG8qjPHi-M?D_Y-2Nr`7 z!PWd9YHvxb;j;O9Pwq@mlA`p2Ak<7kp=MHL6e-fB%MVLGNp_sr{t*b+HaNrCu%X88xN0VNATr*Zg+Y<4_bY zK{&ClXinHovLd zL1Kv!n5J34Csuuxh=*bx8u9qO4R12U!>p^tbz_84 z+keF8K+^vd^5|&CDt`yhwq5+S*rKCkj?LCFjU(q-mOXFsI&37`TNY1`^_@#8|6026 zTlMF?uKYQOL3iYj=wFdykz_6Zt8!Tu$g!3^C76F*eQxe`S8~tj-4lbft4Fmm7^9Ui zwQ7M#6y_KfGmb<;B=k_Wh_{xXVK03q(*kK&I~RGy*Xh6j1uLM4t$+!N=yJW9J|Rc% z?h!zhCjv^xpR+kl@>D6-QsE6g+FWs(##$lA%4ZyI%%r%!UsMSNgtld&W{KrH4DuzY5UR|MAs(^c~wRVAgZ@+$$w?cw#fH8U{7oO+XD*r$&s>gm7lL#$Ia%lfjc|P*yOiC^FQhOiHUjed{J?mG^6^v0viz&# z2tzp%7%r1H1oaVn64g<>4+_Lw=cx;UJuk#g7YOb{tPWo}3gT z1kU7Y67l5LxhWFCLxYjrqN_{Zoa-I4c}0WD9@Cduw8KF0YyXkxc+WLOh<_AW5Ic+F@> zYHKMZSo)Xt<;fm1ma>M(F$UrvFaBk6`Jt-GSwVVb7fjlJn)(H?3gt?ujV!@|^K(4& zQ}Fw`38Ca?>gNdcQ&6JyU4OawhW7Ce3b?=`Pz%T2>TblK)z?VehkV7vc2NrQOp=ES z6jBd+7H)4_JKYeXfg67qt({si)*r}WR@ zfE`!6funs*hjR+=&2R32R! zr7U%JoW8f;W*E$m^H)+&3ngC@8fiN3^AOLJ1Tt|vy(eLFsT)flO#(+bAO&kwaK9g3 zeO_~WSCWA9T_Fb2Rjm|4z!on5acS5Uwxew_<@8T=vx*qaY%$a>RGyi=O*)ecr zl)DF_fl_KY!R7@X;+dmj%8)6I&5K2`P{8pHs zAAtgW+$LEd>+A5D!OAb1QHjq5=DbZV9*p-jpv8S56v1=rS#QOwYZ1~uZvEU+4}MM2 zO6iG~TA_N5ggZOct>$eXy$$ZKFXC-U-4YiBglGdFsdevus}f2+3+P=}t@r6{6zqeB zQ0jEP#M5i(E?V76=;ej}6rn&4pX7Dq9dT)}fA6vtB-_K35o3K_%x;fg{&nD=1nfFL zS|*|fh~Nx^3|8j`X=Qn-buBCA^%P|%zWyvBaMFug z&u*t*;>1=mH^fvUND)*!jcR0aty_pe6B5)QjSBcTUZYBXYJ`M96>pP$h*pi$PXy6r zHv)rKdn1n741YW*mL0~Nm&DS0;RIsa1t~!B+zHHsO(EDX^+jCp(N}ZMuNxV!UK>gt zp;Dk_m(#>4F?%ekzu1&oo4hxF!Yc+JjJy6v>{84RM9Lw>Wgc94VAUyX9j|jQpvDc% zhIwrAJT;Ymp>?kOEjRXC*7~GNDq78OERpR|dZ6G;71S`0sp`QRS8ONwA}wt7T0MaF zqjSa3R-KVA_D?IevF=Q@bW*MeEgeM>e+plXAK?l8%`P=vQ)Glki|%zfT7-uX@OVXX za*HcgNAgIj*acAkay^wYNaT4JuS+EBO9+Rp{*h53&4yaPb4)vSxRV#7V}xZPD7cOhx04Qbtaf(%*`xFv_Lxa$qNX zL(iUowZ;41i>9w-LF?+pRi_F=Qg6};Qv0btKo^<*0I;Xu2Zt7|V#fteR)oEwUEo~z z6QL4=UF@y>heT%Lng|7MQlezEyz5QLyRohp2O@rc>Wzaa1%fr90E*mP^2IJph3>$oEOfQy7myzzu1^J2oT>2JIKo97}+_fd8)oN#xf< zRA+8qCg&}yu)w{cn^)xpfzhuH(nE|i*RYl8C0=t1yuj9yZx zthf0_gD|i{d)MNX5_p@rgp$YV1#A)CD36pQx4;Ny+=z0kv~NvvUMRhe@0W&Wc|}#q z&3$P^iag?@u{=_M^)0SRE(xXIbcK8?)QLjzsvm@s^0%PS*?l|JB$tKK+l#EF4OXax zLT6W1g;M`vmj6b%TGU!C`Vj>Gd6u$r7?fHD#67F8w(0MA=}XI8pue|B4OXcRCsk=` z((laWs8i&1y4JQY8E=a4Vum0bw}U)inloTZ&OkM|9@K5xip< ztiajw33_AtjA-^mQp=WRnFj~;VW{IrMx#f*2z>{hV=E)+)s5?WllB)HCb^g=!u@=r z?68{`usZMRsqrHi@V&|m`_$PdM8oMfXKiS}i?(t5%+Re$6BcRe4Nj>?ZrY&6>=bL9 zM>NnkrrigeZaufm*RJa%`)_(Lbgf!yTdgAf2}6mP-}9}Ogc zb}SUx&X{|L!r5Om9NN|foNoBTe+8q^?MlMszsVo(odu}eHtpQh<|m9DEs?|8TZ&rq zHJe}b4#x=QW?0GHd#~Hyjf|KvXqFHJj?Xxw=?f~n`+pWpS$Chs1ZyhoEU?L2P=yd^jyBLHh|YAo-mzS2$bXeO4uJdSwOk zQidaZ=MuNf`bHpFq-6>Y6&FBmEF93``N7p)D6?-))JhJvflbxG`dcrx1p}+!LrG=W zGwknRP*+=dn0e|#D^4x}-TonbJ!qxOt?=jK1HpjofD-TtgO?lVr20GI829sckNQlDYp zjwvT%t{e@zvuxgD^N}Nj*0}z>XIMR@*ef~6*qyEVi;O`G`&7cj8kcP67sR~Am=JE* z#x`C>W87`H@%*wPUiaQ(aMSsnA&~Qsw%63Zg_-^^mI8`1VU8hs$ON+iE! z1&RShx|}lC^EvC~ug_geO~GNI&33P?!eDs78*?IFRA0;}ip0o}IKJv10p^0%GH zRi&@!@HsoIDDMQ8DOQc^rmd$IL3;s0rL85(-P87qO)Z;VKzG9&JXY#6m|2e}oiRz_j zkzaX#BSQ1ohsem;&fm;nZK?-xuqzfovL_u_Sp(9n_9piY?te4;Cp8x!GMwYHyS#KQ z(3V>WInEFgW)HRkx=EGOVu>~_ZT-~Wi!X)xhur=N{FxM?cWy6HY|IEaJ~F_e+QpJQ ze%TrH&P;+JbRncPwu9it6s{=8xeX%CVn8^(H;HUy7{GW(QZt~MF;UISZV#xYvKGXk znOb8D`;|SoooaqXTOEkguQe+oT|=Da=rJ=DUa0$Cr&c+tk&-FeJTkKT{^O!;EMZhP zj6x|<4RD$8Xyx8bq!7k{Rl7|-Or=$k%smf)KSY7x+O(p2hUE^EBJ6~{56x~v!iYmR zbZ~4$eVLS~kEU*;vx)SvQT8H$CmUg2Jl!>vyhk;%38E|!J~D}c*ov2#!ljtv@l3D0 zO6Oqm?MQ^l)^nM9S6kgUTK?MI8-Ab3L^Gj0oC*7Op-DR%Idtx9t2E&O zU^(6Ur&^$ESRhnn7iz8?88cUwdvB8-S0M~*GQUw{Ze`x4F}E@sYtr^UH2W|Oju7yY zbPUvUC=PjSbt_|Xq^Vz5hzw@WaTnUJRtdKlC((dY&@MO9J)N*uZEbbKh!sOHNomSW z3vX>aWTZ3z{gG-zCF*W=^{2S60kj`N1rzWmv_`;tu{Ga$^_OgJWRukkbiRE%mgtIjS8%$Pd7WF@IDDb)zQIhIXf6-&PAo>y~M)cr51#ZKMre*5xP^l6jZ z$G^Jm?twr#?68aYJ~^m{9bSRF1box&jCiIeS0I=Ae}%~B^mS^g^;u%7_$d+Y^sD}K z*Q;O8zmEB>BodM%eK>U?dWq)w`|C8D{@VX1{{mG1@!4uv5}5XAPZ#MRdnn3_8jkJC%*4WYr_hjvhV+&$c1`*}=97N} z<@^@@a4Kn+UjqGb`x*So&R;rmKVO^Hbo6j0ud3Wckos}nZL;*i4^n@y0-L=3*TSvS zEr?IvZ-!eblqPi(P_+b_-6#d%v}0`obwi_>6LcNM#h{F)`_~m_^ATIyigkn5h^cPn zf;(G#)~_t^H{?s}i~e~G!9PWRF62+^Q|<9YoDFE!CtJ0XK(PYtce2XkB?3;SX2Rxy zm2i{l-f%4`Il}0hHjwVkR*&$6i;M>=C)4h#4#`I!qURvtzzV15VE>`&fcvng>c_)+ zCXkjdo}NBFk-o7ak)AT4t{PibC96B-4eks=>LJKw2&7X!SL*CJ7&-D+%8N+IR}o3Wr%X!q7x$_9ax_jnWtKJ zlb?yP5Vn(6IP(wP!jtX$M@%xBea<4r_nY^O+Ka;Dfo}SrRsZ2vzqaNE{_$SNp^Vm} z(3&Us9ZHUd&GE5ZAOGI|@kRSMfyJzWs5gz_Ay(TK1wh_6*s6mj=2@w|S&qph~$Pjld&g2;WHYn7Kjk!%agfrC{eerHI8Q@8$J6v@WShzgE+q zCCM&iNQv6_V^_Xe5i2>jd~>G~c8=B!F|qaCJ2F?6_1hdyZzhKJA)t48taev4+kIv% zTl(VWA{AvWDjKQ&dge#b+J9C($0*~OWR*snJ)<~%yS<5}dw-UDi@LBcZcONOXu99V z)RJ&|$&~YAwQm!zcV!I*V~c$<9w5i)kZ`ovR{yBdOZMBSWU?36U>pr+hW4pREtxSq z!6{2+hh@)?l`x-Gw(`JlpUp4O#|-)i&zc%^@^dfPib75A3OHP7sfgEJ1)B=MG(2;n7tUN$ zhBv_M2PwgEGOsU;)xHwTT*#5|PD7!1ws&l3_UKh{QfY0j5iEvv!*lzB(lCJ@=Wi{a z1+^AXHUd37c0>lpbfwSQ+pC^d%h@waVzt|2)%Y#`X@7J!={xOx=*jxxGqTh6s0=s# z*fraujOjOxE1tiDz+?+Sqj8;TsxK|WgArOy;+?YMh&Xdt-X$ryqA9p7_l9BZAi+}l zB4OVY2oe2ocSUtBkg|i*uA=L#_74uQtN%^?5MhS5Uks zr3%kJUiAQF;@OAI-WSc@S#^)AW9gCBp)ZN1dscZ9FEUkHGS0?TDk)X+PAO+oW^T6{ zocHbUhG2JIrPaO9-pAmIiS+p`72eT76Wt1%*h1o`I4j~h^=XCSl1hmt{^?$F1c{~V zS}>BYXG^3bjN*}?iN?YvuB8dJmmkGC zBIz-N)lpW}UJ?~FmOfjf_`<8TCh8*j5gczLaN~^;**eNrb+wAA6>niNdvfq(cARck zdxyFqq`IIk#*xzd$8*w*9cP}HxRcgG1!IZK{bRq{PS+R#@rfqSe^R)c{ zrHQ>b>R~fG1JRjCPuHo06P?e>m$=DF4CeT<75d1TgqcZn?vpPuK_wbLEhScWTivm0 zqfm7IzWa(8#^EY;3;0)fKIJYS@^jDb!p86a)*AwQ8;-=;^WOIJit6XjEBuILZr03U zw6Cw1{QLr%lJ1Z#beE0hBUhA253i_6_q;crKK1=b+Dc1)=HPs$8q1sm)4i@w;dYUk zt>3$DyKK9^eY@x?R{J`t)Yx$j8x>J1j|+$EQg_DTzFTsN#xr9pbt^2MZr>EBx!u0# z88jmWRlb?k-8<|H3WGec%uV1{fTkRWV`)}EBYA_|5MsSc1dQCixQ`~HnP3;CeQSb| zoWZ6bgto&_0OtA|kX zUexirAzJQVxhIz^3-x8spc#O*IsST7(&WEz`lZNGcUGBdi2+ba5IOSvs#G@`4NcO<| z^SF}&l2_uckI^DQi+f29sO#2rp+tbD3p+^)a1y}f*hKto{E>Yv!3hkC2i6dQh@e^+ zfXe(D%$GU+Li)81=XJSTye1kMe1|t!-5|)by!a8(=03o9H|wknXH zbOAF5T?fkd65Je~^Ss`po8X%W;FN6SiC>GkKXI8?3a*Fu>9Eh3nXAf*oMlADfJ zL%zH*!*(Q>{2D3VuB_*&1HNW(Kjx3~*NGH=U{dGFJp!pS!9yT*hEfR?p2eR8nVj&I zJ$ZM!)B7z4n2NOuNut7!Y~bSHe?chH^gUH`ZC`_9p>jSh6@#V%^&f4twH3EJpD zcapS`+w=LYt<5jmSxBOd0C@F58y)D*Kx-r5MD27ZGaMRE4#;-q;%I0;Yombf6xloi z*=#p{LPXHr>CWfpI&9l>n;=c(e{cACQYqH=h5EBr19xAmN&j(cb@JW8T5O)qOJw_tT0 z+xjjlz1RfZqM)rc?AScRc$pJaUfi}@JV&lHUjALo2Wd56KK~r$5Xrn3b90d^N;w zdSCC~%XS89nyhMI;)%>9Tzv1689h+e!Q(kaHcp8YLsUmZYxZA-6`c^B3-*!4{q@Q) zC(THxW;Op}Z?9luN7C;!zQn2O!}4$_@@5!2c`P$y;H%QcdV53PX$K0tFW1ndC}kjYg@0ImTw^~D79m^FGm?iClp8_0)}J^DSq z6}9e(d_{^>j@0CD0J=?zR~pasJ`U$oQq01cV`y;e-;JR|h;t00s4Ts(q;hbhqP2yb ztYtX`$>9G=LGs79%&K40|1z{AjbCj-JMwM^?Z_<*T->nrUB)BbN0{`$x3B&bO1y(V zz*#yFzsDv~<>6)i{^#yB;E8!oP@+!aQuYA@cIS;aF4b|}88E*{J5 z6V^Mju7!hUq|rMOjb6h=v`h}KT!$HJVV@2yEF-E4JJQ()a;mX^B9@`VM+4SxNxx-i z$6UijI3rDsql_6LHO%Ok#rdXnAo!nf`c>|C*LJTWo^JW@?1?e{{~73VO>sDLeJQH5 zqGeyV4M5c~Gn5?4#KXl4YpU1QgyNrsH+Ml5b|YQNNg~s|DqKChZ00}FY?9|&BFzYC zM@C1|AL8E6*%E)xr|2{EWDTl17mc_7IaQ(AzvE?u+b@hdeNI(V4f5W{Gj2p%rx8ar zV(tV0+Vp>j8xlr?mwq)-yGS?Yhh>i*7|Zr<4Lx~fab~gxJMxYEV6Ov-ZLsSY>{pvh z7;EQJ;qW3Px`|~o|1I;O4tk6fM_hV|q(8U8l1d5P;U3Z(eza**TYA0_K){zfTpO1g zBVcZy@JKxd|DV9WD&AXz8mRsvkKQpQ zX!jczjzB|Ca7VliNMjjKS7ASGPhy$8<4ZOr%FaFPrhf7|e(K8XBv7)h7b@O3R4N9Q zLdk1B`KM7p*WYm9m?!5*_%Bq294$;PmWIXlumTrX4HWk7pD>A{CrxaiiDd~iNnA$$ z!ZGoaAyMiC&H0Ix_>>adko_@thOB@itSUnX#3(*U$qmqX9JY_R;OXc@mU3;DqHRBy zkw=tR^Hv3%PIVPyzo4CY?sX`+^Ycw@-bq&pa-L4c9v=!^DE@)sg=iUDd7JaHAxli2 z-b8B$bbB9S(FUnelVY2Ynrquh&8svJ;ra}>o1kou8_iD#TXyS3?C86+%P&bN5n-p=l++pB_#t>yS=C168`}VRr&F!md(7|d-QSS z^EoD;YoWmki=`iSmNNfr_9W@YFDwo>?6@G5e2aaE)#28G4WxRz<*)W@?9agGh8>+6 z-ziF;T@{U?ZQWc`$=jHK7{ ztyANBEF};ZA#;?$Ti%NN@#L^#a<(;Wqx&SCHf*E!2^xn8OaFaKm;w9Hb^1w$o!3PXc5A zadggrk*#$ij9cxcF0(xv>u!FH6IUxvEq6U7zA&_m3~cq$l%rMxXGJud6`o zdvn!_ck?IOmv~(bfdLMqa5PIajFutY%UQR)V{wCoaQ)}ZZA&q?VT{B2H*3CHasI`! zi1}ZBEa7z!cCvY)+N?_cpVtQWrTiTnOR<&~ldP{`(fnI=^`M=f_&3;Z zBinQbsG|P(Z@)_LDwb~b=c;eACPP*880P=W8HPK))aKJdG=9>_?)%_mV=BO%K`+K0 z(%bzt2sJg?v#UzLk(%naYSRCKw|wDqg26MTHP;u2Y#oNv@A^Nq?pFJQnIK{Q{j>1u zqO$dLzp4qN{bSX?YgY(fz1+3D!6%sk66iH$;cTR8m)pDhQMP{#TepX*!!GbjUFe@o zLEMAFa}lhH{2FE+o(s1t@=xKB(CIE0qklBNfb(kr-krhy160&m`3OrPL*Eq}K#{$9 zjn=}SFoTHc6GWZ^G}-if2#UXqY#DZK3;9~is_Y%uOI6C}8ZHJK) zYBK-OMdNS_VlF{L=p~l9qI__=Za}#|nKDEbx)ubGgzaDR6@zPO6v0{U&MTukMViVN4 zT%gjHH*&)qHae|7uIV zuNdKiJ4`n;yBjrdxMs@p7MBigTO1jTr5R_?>iIJ_UB0cL*KqN6KS7sHKNj5A1U22& z2wh{%a3eG`1<`RrA8+iNU)vEinPk)9kBhLyJxapSp5m?P{}ngr$Yc2^ID+{jzM~fl z5Uo9RcC>g`+q!_iORDHfg4cmqX+x=L6eSfkmEL2#+z>mCO2cc<{(Vsb18>{fcxEO& ztoF|S=nHj=+!#vkp`O!=L6z`x(}0K9^;36jPVIv1N^99JZ+K%Dfov>I>TbX&?Akzf zU2_*%>`gqzj=`bi2e2s9R1y&7(`dT1%Imp6`U&a(LQOC7)d_Dpbp#H=ifCiIa+c~M_(VCzqVv}w)D7gLs@A} z(|F88m-MYkPbv-L(4>8-bA&9)?xx6%j9;6OpB;RwI?flT64t6bGjyP!`#$9zbjSH1 zCNYt>^(s1}w(1d*PHI6024DLLHrdV}@pX7@_Xk{ZPlpfBO*f2ltMJ+f?W>SvQf?Kz zTXAI-jFYpaGsT1E$uD+c*K;wdLaF7vZTA}T7xObO|LNR1L4v5GM@gHwW{F>R`JnXK zN0s|K3(Gs+z4&AL7B4NgVWY<&kPIxnsa>?k702(oO+ zdx?JkCimO#PuB(Z3d`VC@H<}n+VE`8*csX0%c)lsoBtuagsZ$3foMGBg%eOHc`gsd zoO9S9B&$x>cURojH#QiMiK@a^T{uBx>si&0BUKH$n^Vi8N514G?jq_7K=hwv7~Gmf zM?K+WhjEYNh(gHIN4E&4dOnyaek0uWK_XKTZq_j|JXe~(aO2d0#WkUtT^1xPs6Vi^ zIXpMbSN~r$8h&nu9&bVf2+tj>$KUGh+@I?4P9EV^%IfIO45e7K@&8w<1cLtmg3tb| zeDwdZ4jQ^he^&9Q06s3B*RGr!+Lv-UjzV)XgDd;rDx3_>@%h{MlLIrOs?xulr#H85 z0^?AYWl#EWGk$WlM?>E}4d`2DWVy-G+M{UNg1f8aa(@U>P5Lbpv}aa&C2u>r)O3X4 zgsCoY!SeQKk^dF3j!DD${efH|^b^rR@MoE&Z03?CY(su-=)Gie7M?&9D0%(c%{sJtHDHL9it@edeZUG;>8C zZy1Ll5E>Q`N}jL5n9H75wUX)CEt(MWv|;>D?CT57SFm!L!Xb-;i89$I=lOdxBjOe0 z;PcUn06txVY8MC9HY^INSq@`=6~ixB&wTxda`ju*YEU`rc~ zu7YdA%9W~jC-IKuYTVu;EHk#;lE02X z18SKuuM$XEY?pkZopywuzK20Pb18qG)gONsZbG~B2ZukU!C3zAG1!->b>4lq0BXCt z)wr`bG-o1u(0F#bZol9vpcxD!$$go(gbk%>Ttn3;V;h{A_HR_$n{c*k>lV88$20;T z9|`IV%1nEn{js9?N(Lhc9J|o@7M`H0*2yi*$+()oHzT_A4u^rq(1w7P?fk@7y_9eI z3CEIh(A613LumcTpj-Z|mPsA_nLv-Wc^0v_i~MHFHG}K+?SmIx=TA~8k-5;&IF^|j zO=N2Oc*&OxjZMC|ORY-2Snpl19M&a9#ua;wnNFLo=QDi?r^eB=cisZEJ1}%t%fQf+ zE&fpTiSLQ^d9~~FE+xtKxk1s^j89on>&Hxln>Jg#=^UIjksr_|TJ2^)&W$^K&!%^C z4IFI^(D-5+U+izBd~=1Gc#xwe+Qu@1q7aOMdW{O3*GEGKGwf)vr4TdjqLRam%XsoX zrV$placWsHq-G)d?up(V3vJ8Um7|}1D7?55yg&#!kyc^g$aG@>0p7_60&fDa8YOxb z!lo&VqlOt*IetVeAG$Yuo`ZOVPdL&5#1HA4iZ*x5&pnQ0abGskH7iccKK{ciI$51Y#qd z_U*b?1$BSQrx?eHc=e8%Eoj}}vx>h7Dh|@u%o(6u7{6qt1G{{J!}{I~%iOw9VFWI? zTfCMRGz*2h2a8|ux6(=u^W#B_pRZwpAkniq?EVKRV09K!XQ984a?SW56q#Q*{_f7P zDq@QM;}kn!V>Epj) z_%$|!VOq;53PJhiIWS-H6Z49b{jd^3G$HfLm}t)r7RbwX50Q`#gO zH5zOK-D;8>L#cXxQNkPu$kwVY0hs8ImHD8|8yIxBcC~PIqz1x=56iqGf)B6o!8{hC z*q~yZb>r1sAx;kCR0(dE4bMzls}T$g-Pw{K!I_$sMqpXg2l1~f)C61@a>tWFmP*f=oNR?cLoLO_iw(OVsobNQDEPw9+0ojF zbPu2qZdea}DdEW>ZY@1U8wcz;X(%iv`5PNyk6jao7KP8W#lOPVN`f$iN*(;};I2jC zG2yZPk<|362=Q%V0|<5)U1BNh>xJA)Bf{l21IMh+MOmh?ee+(h;p6EI&DRA3-|%lY z@YQ_Oj!<8R2NhoCT|e@zY-qkFDE(Ye`fq#@6Mz9sh^HswAb%zQg2H)1==E#EoY{;l>*WV%9sGK{w8{g!=e9S%5%bs$xv|Db9~+%id`1GD%QV|!)-f1cGJ|0&#tXg{R(wQ)kpi&$?= zkbO|3K_^0~t~wYiI-*WP*YJ@Kk<6gVXy&AMt{%#H=yKOwi1-Smye^a_8qV!S}FqmiObj>8KIn#HpRM8BJd^I)IIL z9I7fUT&>mC;`ZM>B+4z!A3^q-M+O6UJ76xo^)e?oL|&uk^a6>utQ0W`%k4t6_wLh@ z3ot)7tP+wY`iOLLvVMfFBk8Rc(Bl31Ym7MF6YchbH|+VZVFX0(sOLtx8DF_kPNSKl z42=?ySvGb&-Jd2Irhgz~ZpKHf$bW@>kudSvHgxlNUdA$K_3^v|N*!sp6M^reUTa3M zEAoF$jpl)RxEtf=qU&5PXq3>;GF>0><<8qeFRO;&*ryF?!TizAh}=hiqPVO zc=iki>I`gg!5P3dO|@d}BK(D1J}+w7cZP_f)9=4GQdXxvz7w#TJy zgY)&h8?A1>*dHm@{1bs{thU;Bh|&HEJT*eMTnTG!++I>w)wsR188Nj8g)ue!%a~ff zWgvLJjsEj&fB%pCvBY2gP`<}%Uyt=C=s{LFvylW|5pH;Qe(q*o%>;BQrFA8zHqj~w zI;^Zd_5n!!U9FbbS~7Le#P2U(uYOA*f(^2BrIlaAEZS@FSrbD}kQ zyC9wyA)Jk$;N8Rq&>9b?P=0$|61+Txm$*hblA0hQW(?J_qp5o{HycAYHwImYPwqi^ zD2~KF$(vq+$k=N9ixryD^tSNx+Q8BDsa1KL-~OEI|8oFJWu=e= zzgU=%9k9;x_9&04cf__0JYef%B#KsXnOyj}YmrAW7g(lb=%Wh?VN z|17W|*cwysZQokng-|!ZnIiOAoBtaMbI=n~B20W#=B+{5E?}qBN**cy362Lm-2^jc zSmymJC_1J?(H(G@<}h>eKhvf=O;78zOVO}OjzU*MNF!6#+^-RS$HB!PCb>w0E+oU2 zQt?s?gyU88oFgyC1*7=Sa)E|AIXZZEu8z|gJgPd41J1q7_~mU@y2ns{jbiR%n1cej z8fg;=##_H%*P?OZ(f&m0#WM#>Yo)ElGDpZ*%&`}hib8ksgx$A-r`(9{$BH2kN|tJl z1v41!sAlpQI_B~Z9I(gQU$w6a_*v;K47OS~%H#>&!B&xTfjixveZ(8&Z z=MPTQoE2ePvD%&D!$-uc*H1qX+SX>Y?P*s%c>y(L8*W|ZFHs|xseV*X*3wV(^bH8& zR{*)dKiKa7r&qYJ1WMyZ7%zNJGW+QioSg1Ra44lfM-I*}8+5NP^G*+X?N1r}(@K`? zqY_<0x2ko7irF9cfNygGU$J(&L+uZ5a)^k zXD6Y}PIKS5=?D2q1p`ID3cY>XX|oU6QPXsJZotmoP{V=X2MHW7un#`>ErmR0^zxeY zw1diRI{wj)WD(pd+xeGY43@oT+gs4j44DtS#m{{uy=)m}1mL>;y|4Cinc}j{nbmrc zqJ9F^UHJJ^dE;NnW1@Ct;>s^cg14FLqd#K&pbt0~O71TdES`t93r%?>J*d0)qyHGZ zLdjj=6dsQ%Fcv*}8{CG>Mcq zZ3P#!nx&AFO6iAx6U`-WPt^t+THS>|o3d`1%%I zlqjR@eY6u)^L3Vx3g}|%`x1`uABX0w7Xvc}H)TSM=)AZ$xmaYe+8glhAKtzC^H5Tu zhqI&1=yfjGIECKg*;0&NYf9q9Ee)a4#Y2i4B@3j-Vex7pq*xcR;!fd(_ zGFVf~0(frm-ubKJ!@X=erB$3#PhivmeX+s!;35oE^RHHP#a|2rP7Hq? zY;N!0(U-fIXc+@vmmY75zD)XWeO(kn?=!;UIeS^Zc{y|05bkwEuqfp56{l60u|eo= z1MC?X&q^_#t$|ORiScYfqJ(?64SSY`x&CeI9ZrvB!3|&>tWpOsUSB3cN1qXcLdjnM zB%RI^oX+zI)(=p{YKJ%kd$B$hul0vzueutns@e!3ilXKx@o}i>=w(b$NP8#`#YnK9 zhSS5ld&M{-0tA9C>AU$zR5~At5Al&`yh)alf6NIpWrJhKK~ygFgbn` z%*Q{9S;{hy`<FYvshN@M8?-}Np-!>2Mqxp9JxGQ^J?c*AC{#11yhn?KCuT%qQ z1cjRS;avl@n;wcpar5H+i0;C69BL3{BKwY}y~ z4(;d3e6*4lnGB#R^3MR9a?gKfV9@wy_^kP|MlR$K0UBJmwJ*bG!gCpNJaf1R#B9Zt zPAF0xQDHaYdew??<20ygwbsX$;nU(+^(XZoa~&KR>ci&qZ9JR25pF!mYpr1aqR{NW z30|mJWDNfKM{YHzGTmrn|KiYW!B=9czSad_FK}Nwg=Wh>%2#^WA#f{#ot*S=nL!e{_i4ppmCmSqYNBuo$gRz&TTozD~cndvR0w zfjj)Jwwah%ui=My#u_!@ z^rA!wbN-Gw{MF`wYX4N|Pa-pMLfF|@X@$5$bHyedZ=42ite}kJUvIr&qqD(~e)d&{ zXwI6Es{f&gjBj<0g`ty+5V#_>xkeM8a(W_jgIJacCaB*!u&kylk&p#{ajf6k*x^_W zLbuZx99eF9@eFw(l}y0D3gg}PY5Ylr;tOF>#-ZTEa7#)}=)an@Ww;8bQ_igX+Fm#( z@5e##s};!57RoqUd*aWc#h@kOn$pC(g5Cd; z;wDSW8}+(!@3Nr89@~XnqB+~1&>Zy6mLhU~Gu0w}mv>T|+zA$r*KKB2eV-m;mF>heL#b!Od zsA$GasrgjyAMkC_qb@eM=|#meE;a)LpY91hwW2PIHBK+;G$Y0*jH;Ww>A|O^!KacL z$MVT$dr|P|Uwm@*-B@i)tba{W==K=6oI5WlsGlZtDE*Qv%4sTfa!#bj!;3GOV7cG& z@)S2Bs?3owEgMOP{e++WP^|sluU5I4oJz-x(R8BT*^dbfh);{K>o4+uZGcCz7D-3t z)E@R8*P*S?$Q>*Rj3gDG1ED+}=gE1vG%gXXW>-k?{G0)M#{_*Xg`TJ{**rY&(GGnb zOJ9mD?X8KLuDFhj6erzz37OvU+&lWZwFdUdG;M1uSgdE{EV8=t52SX%c_nXI-u#j( zaBYTo@MBR|HV#-i61|jZajP*zOSB^KCBq_ji%YawJnl^`KH!xV~-iR7i zCSy+{;Y}KM5ekB!!*!P?GNZ9wltc-d!rM;b1(k~T5ykh36k7yjY1~ypP?oAbb*IQ? zpp&wK%JaH3ftI;%-J#|uPMqJZx#ns58)7)NAWQ73Unk6GrORtFqe~;zWBZ0?zu$xL z;(=oa+&AF*Us(I_a=1 zvjj2?;?V}gNMwXi>MO>|<*U$>gDcbX8$amXuno)Gb>Pusm7(Mc{W}m(75;6Q(f5a; z!HGLzB(A| z(%(AZyva+ua%s*H%mVLd?U7h0a)Ni@o7#(UVh1T5h-_lpwmmbnQ3zuyN7 z#>mE43+6agMXQO-ehC+rG?DHCC0`Wa*a<;LIUK79Iy#W|7?qJPuqfXLGvO{hL9N5a zgPM;8qWIA0bnLxVOL$@nO*I0f3w&S*!o_*$4Ywk%chj8Zj|2XMk_lU&sb&73AYVEi zJ^Wj(!E`Q3EcEWlKQH!f=b8SsRqlKN6vI1ZUZm`WP-+GZ3j34wJUFx1lmPE0-0R>x zmM^$1_l?y~p47ODut5(nV?@p9{B@;_EnfV7I6Z7q%V5>xnDa=3>Vq}j4a?o251@f& zn1JoP;{!(7nV0hF)-BO5nlG?AQzpdIm%)w3PtcsbU%UQSp#e1f#U`4TpBPNMduME_9e_MQt0>}%Hs^WQs|mAh12 z)3^Ct_W|0@?5{)Wm^8ub5s=k2*zyH>%oO3qD<|Q=G`X_h64onL`xU%gt6%+E==Ouf ze_-mt&O_Nx9xmW`^#pAB{=S&b5lL`rAm1!!6jPsybl|;!>}acUzM~AuiRMU!r?{lK z%#5faipA3xMoo6OMhKoA(0NDKB5%({X1lXs+kXZhf|e}z)STBG0{OH$PTPS@H83&rniAO_`|Pmc}^rG@}x@m&rv zy=Dg1EG_%?V0R3ldy_}>@|=KF{~XC8Pj%-#&Ypx?BZge^OJeYfFm_d~Ap!6Y4r+aY zHbd9GokhS~Ne_;X?qvhj4T!*-j^;2QhOuQyIKxh%&}pv>N~S5ymQT#G+sA9 zZEkO=YbV1y90$Fp-{~UUhYA1Yez*A7@m*i7B6JSNS32>uVhWUwbkZ@-Dq<*W25;R*U zH`4&6SEBwX9n?6j^Ms=Mwap_KGcePzFSq??!@e6WB+Iqj1~%(;2j(gp*y7???OU<_ z=M+tQAIGV_ej`P(E)yaE0sIINu*Lz`M~BKkU=NWO=n}r_I2#BxLE;mF*51+)9x~v) za1S5~$j5wM8Z0FqOm;)_{ub=yhph%tYcf6dqXQbl*43xEj$+<`d)$J{Wq~f8fU^t? zGVE!-IcRE>tqieSt=I*5`YNBgOQ5f{6a0G-dcuvb7>V)@*Vv5vF7giGnHwYQe6+ox z)GMM=8h!q;ShXW7>)IV-56D ze}cd-s6QXj%JCWrW~mB?vDZ;ZpU((74qM0APy4mC?hgWNw#rK}vTMH{%2)XW1q^FT zU5P@mRKGTDd2o8(U|T>9?)2K~0D0`^dJ1sr8SY{VExJ?H84Bv$SCh%^4ZePA(C&|-Xq5Zv z^dG@jr4pnrnxK>2*GfTiT=4bpB4N)%!_h`BkM`dubo;(@S->6?HSsX{E6qZiaQdCJ zBO-!yKTT~iM!y0#n1H-5GG`z{Hjubh6_7jn=*TI1SebVm$Y-^YGJayUgTq{xhlO0^ zFn%F$GfXHM=5NF~nR(ORl+B;&wmV3sey9c53a8C!B7Vm9!SP7~$0OGV0*7~du;X5* zU{2Z)5&pQHcYKdAM;lLJ*@R6x4E*vJnwbs*i@glbk{jg#cboXSmI9+i;0kwBu)cNp z^6HCRW=J#+NjV)2(InRQIs!cC3@~+)r8*e+Z_WV2IRmUOjTf)B1Hh0ekVy^zPc;~r zxyM0Esdx1beI#sN^5@5i+Ff;}u?$g2$l{e<#aGmn-x%TeWnjVAy*G>F{F=L-`dj+) z8`&z2GyC8|h!e=1n_(_quO$wno~3;AV0G#^)9ZI>62_Unfwe(({N?uVbkdQtINq+2 zJKO>S45`+rmy<%hWeZeeI;?XzWr!D*fTGM|k)#d4QI~DG3GXf$_WUb&9c@&?n*)T@ zF5%|q>q~It3MG|VGf%HhwIOlofS2y1+G9ywyEGYYynIq|jHs60L%{}H2cOge;3*5U z5lz2>1>hoL?PzGag10Vy4g*+rDm4A0Qn@h|F9@fnK+*?I0XFEh{?x!fh)P_PM&!gu zCi>eoT0P%foL)DG9~Ov+Q|QgCWN$W)c5w7=3)tude8PPw;C(uT_>UroGJ5_bgsZ*y;opamUB5z+MyMEYm zKWF6kIqVsb{BfCKBxf&R-C}oIHI!@!5({T}(7ji!@HBO=h%RzfC((Fp9FiIM-D+jC z6M3fxuIK?Kl)l(89{;J?-NRgA!{LXsY6ChrY93Qj8cYuy(Sd2=Zl^nd>m7h?GXvU+1$p#g>HZP^S=QUS>MpEsya?1({=Ry?4^<@?;qm zmUfN*gp2Et@4S?5A%gt~&@HR;x!>z9rD#H?-2Er13oqB>Dzo>XT8kB&3rSM^GCG?F zG2~Jju{aw_H%R$F`geFh;gE$pQ1?xEb62yIT&`Q5?H<`OY z4xyMm@GS+BGP$+~R!_l5^x1g|S+M*qyGX`o1Bm1jk`kLKa;CE9v1I{rAhZ6l20BMZ}h%Z@=dV#W&A18 z1y+g&=jhqEh7_|7DOIDfbWmpUSyfP>$I~pVataJf<^1E%qB=&~ENqEF?QgbVHzsYssG|Xp84G z*dcmaL@raA?(!_V-m0sqxMj&6a=&Ielj)`#6pVR}!tRIsQ6goJ=MLiMXqm)*NNtDl ziG_EcjfnRZgl_;%__i4*> zowLGwRyzvkotBj4&Z{lYwa&9`a^*XZ@CJQ&yA9SB-cUbO2{%@|4HSV(WCQZZ5;Koo z{w*p8>cDczf#jdxX1_6dmd1>sq_tm*`Z2J0MpA1L6QtInTh&@buUU(po52sLm+!gz*Sc|zO{5ir?iE0pjR+o!KwFHW4RS3RQU^-(jq4m zcp0}T^tnoDNA)c)0ZCS0XAPSMDYuL);?#kJP7VnJr+B>K1 z$06Rw-?aUBuJ@66IL!;kYH*z6y^qSC-cyJ=dEUp3vRbxoLNkigl}SAg@2O-IsY-H5 z%d}5cn?>o#GPMeF6i=pz@-;jRdG-dxDeM=;4CCspPcY-5UYmd9b`>`D=rI!`Ah0+&=jMqv+z6NFE zC@z#EX)`Zkyf!#5;;T_Mp8J6(k`Cwdk&_PJ3NiOom!>1>5rurbqA=q7nEOcD(!hLI z@8J$gWU@#)_YgU94^Wp`@=1lWG?M0{!MBcl!f0bk$4CyGn@VB!wrXhvk{v-Es2C7F z#xscI0VzHQn)pqCmmfisO!{D;XL)lR9M&#{i3ol zFw`bd_HJj{3`@(owA|pU>?$qyY&241Nl5JMkg4@^i87H4@G%r4u37FXmUUlc=LoGE zsoszYW^U9f*($zLg&3AL_O=YlU?cU%)AyJ*UM`D|XrE|YftzlwO9WC_RgrAMk)tw#3R~a#6U?iER z&PM7bzToQ&o^eP`m7!D(CQ~IC6Y76AQ)Q8ddK%PJrKCW5EK>#QcO*l8MLDyviK&X0 zGs#5GWRjV~D+?=z3L!8}@v)}5B^8eC!P(VriP5`6#*#pOFedN z|GM3t=_pgy^1p53ub;tW&7BD-ke)dgaM>%xj|`>NZ%1LM&70x2!)w@^!thWH_Wif) zPi1p@`~7$qThV-Fd;HKBhnhULFXyvw$}Cwwv(u;ev{;Za+~uVDc$*`<)J!0Qgd@e# zR~>g%?mr(|WC@Tvk14surPd6)`<|olbwvPALR=fE;p+Px4Vb4m9Nqtz_#P$d>R&<@ zpDY%HOP#QF7sny@6r+nCmxguGzCU?gSE`0Q6lg`)Kdq`SXzFOgz0 z@gqLxTO@t_gYu2>#}+$e9iQM0&(KMJBGx!G;xgOl8}jxgUgn8=Lj##FMA(Wu^}^(6 z{VOZlCg<;YxQf$|#JdX=6^5t(#5|EWjH8fy6hIZjk$-4n<^j2}Hhn}W-Murf67kzQ zK8q)-TQ+|~7Vd%Mh;#u7iQli35u7v0qJKC1&09aEv6p3WXS-1U>>Pn+4AvX< zHF}wSTS)<}^r`SeB<~Xx_B9Z2(A>9}vzOh}iw#Fe;>;!gE`7)3ha~p$Jwn!S%z20S zLv=$6nJA`UNHIT5!H4`MQ(oPWB1xzyH51i za=-ey-gw&GznFV06EM2CewjOgac(dFi1;({nov4dMPQcg%orgbk*zW!5XLyHGof_0 zs2!7a@@#jzya5A~k`>rps5ClhkM`pq7kS83gdF1P($y>$Vs(+6B$@b7&E8I@asn}? z#cOeekn+TFOP!sAMa*k!KPor;4z^74Wm1n!>V6|RST#HnKrgvf*uuG?bg5`YF4UEW_&B-V1W5hLYI4QvPt|!>36Z0gLR~bUXN%O596ztdMYMTH^*gCabjVfAOO1v zRvz4vJ^AcKoJI6;wvQ3&XJ;+?-VaF|s~7`PoqJ+FN%p`c?+P=zOqkK=*D}m#YwD-w zE8#{+jKAuico3uAM;6PH{76mSVk32=>L-mHG?Lk>pOfeXw>&E7>OO?e^kCK1Bk2y) zEh4Duk8HKs)6=Q7aXf4f$8OD>C|<4ygcA!?hvMhrfB&Orq%-F^C$x4(9f5JIOOJG& za69SLf1X5rk+{1U+L$Y8_P}r7k^YU6{%v|V)4vY%Ps-^ow!!}lqXh|GlJYXZ&&Y!W zb@gWMC}s{3yCyE@!wA((jP)~yz1PdsOMzjkK$HS^F-25$fqY0T@}{VmH|G4n+>5|- zwqWNvgGaZ_Qv4{Xv}KYa2F^q#-$63%ZFTc0+D=|l)t{=`Q~L`wl*Ex2~;!cN{G5kNMb=^L{X}m34@(4%ve?~^l&v&px_+ok@AqZ%t*~ABZ>mLMIibz++AQRIZX=N1K+(0JFSvm zjN~es$99o}x_vW+fnPVui5zqY9^D|msCxce3$bzlqkvKPA3p9X_GurV6j+AK6il|u+Go*I^OGyOvjC6 z4oU8BB^|bt7e@2XZeyEL6Y)q>;v}xBKXui=6-u8Iv9Fc&Dq@|6*BSW;(*wTkdCvM$ z324qN#~R#mUpBS1H)Uq_)BKzTJtS*>J5GnRAHtdRSobHj@Av&6Xo)BI)V?W$P{^G~ zk2DbR5=_M5aGd#VKT~{`f`T8q(nY*7Fv2jhu8MyuMwSmFJLQtC_zxtD`!avp(}MzN zod&459YBQuWK&-Vm%q8r%a9W0ojty2z{pV%M!3w0uTTujFH2fIF((7qjrIyK!o^(SebV^T zQqkgtvT*fOD^F$eR9Bij6wga?qvK&!B0}5@2{WiZeM}5(E<~gDLr=M~5{FbMEC0kt z=kZ1Rnq|2|Gb@|9R1}qvY9zG@+Xa;`oR^g)^{(fG=xobEwl-){+D&KwMO&fU{nm2l zCNa%Mj(T2>KJ9^jEgqWXgy$%YuJWk(BHc;T{hp;PL8n4v%T zofAISIp*jO#m?`@K?!xC*BaE@sb(^HpR3dRIXBDX^5J#;q14$SHCTf}AuqH@1Xr{l zlPGZ>HcKYne^i<4gvj%qFQFdN99<0;31MuG|wc&fsF#9%Ia6=Mk~Xf#Zl}gpq8Jpq9dq=o_oh8#Cxa#2Qql ztj1D#oDsF!5hz2v)Nl9}#Yi4_&1O+7=vZs)$K<|LzO&^F>Gw8{iFLn!swYfPYKQ9g z?GheV5b*|iNS~i~iu8MzGvm6}ejiDa*Y9u-?=uoef_?|m$N%Q^AdY3R5ZJDUkUOnK zZF;^;dVcbg$H-8ul}@95rqfHDr}I^(jpP7|so3cB_tuE@vY-rBIAe5w<)8w^CVgur zeva;MFEs`k+l+`8heBqn@pLFlTjd$5ldLa5`Wj8BPX1jU(&wLCB%N$_o+$TvvkWKx zDwe41vz%*=^*%2q1O}he11~6Ma$&p+c$2+E)gMq6smY~B%Xz>{Exc3u`g;yTWy-&% zmrI?ucmL;I)Ll;%B!;S!x$qXyZ_9@n$3?CDeWW}E1RK~HG##=NQv1k(L{<# zXf@AiyT1`^sPJQe0PYK6We7kBi6xv9)xSs;9yx@>t&NbwXQz4O;IVia*X#G3i;^}?m!0?oT4e@Q8FnC5hJd)6oSWQk3zaXrYU3}9j|rNC5{#f`2f-u z>X0x|9)&3Mhi1?|0b$tU5>%=K>LpDs=Z}6qLoR!aHbdS7G@2}*rQV-r7&FWXw^tbph}@vWTB>)JbDcgC@5JbL)(SfZI#Eg7A5r#z%WVf zWMx$HD*>WoNCsB8b1yN8M$&+mWVdjY9|0nd+x1MV5+JVs1x)e;i2OC08?^`!%^&Lz zGJRl(-}xG|DUk<+i}In^`HCF8w+Il?N81Y!XYt-nfcPf`B9vG`4H@BqnnH&Q5G)lE z^eW$Z;^g)M#LHV+Ifoy_Q4}=mpoq-pFFIaxj^86PD!her{FWq-b7aYeUHZ-Ej(lbz zU2~$hkj`Noln5bx6%6q3W^9KIkF<&qTLc}hQS4)xGXgVLsg9{egwU$)%SD7x;)57S zi7YWv2@w?qa!1``n9XX-1FuoSPaSBduqyciPwoQ#a2vS=Nd<|Qw<0mjpLuL6EZ(n) z$N&|czn;%FWIekD_j&r~j*>r<Ql8rEPqecG^YXCub4K-of&s395Pj+(W8?RsBvTLqb&bkDTs=_J5q%OsMBN z=iSw+gfdgmTJbv?#IBER>5r3|nmOGul9yAN9)jtrTKwB3mga{`b{I*)6Bwq%XYTLZ z(x$H7k~7^>*WWUA3CGlRop*R$O2tYw#cir_VO(vhxk{>G8+Es?;zv>=_C1)ZU95cd zSO=YY9BF9WlFNmYGkq!21zD*mq6@zvRdapJ>q|vaZ8l*9qV^E)@87n%VSk>`81`}W|Ab^n0%A7vVhgC5AQDL>do%E z{Aq(PsL&{U`;Q^($VmDUwAx%Oue-!yma^*Svp;v=UA4DueytBO=5d# z1ze(&N>;EVJHnX#GjGPct9=nnDNXx&2^LjwoLNHfwoeRO)JCk!$zC)RiLE71wrP(! z#JR|li0^ZEh)1Ge<9(ZK^=JGl9JKL{U^Ws!qV7QDnk-3<;9eiSrA7qZR zm5c`{KZvYjosCO`G7yW}hGa9j_nkF3>yjA*d`85oF=lOpMRDmi+gu=wM{%D4z2n!B zxqzc!ZuNX@*twKeV>Y{ktih?rsaGc7m^WR5t@bPllx#4naUTM)?yKln-`yKlNmR8= zB{tHL&WC4iZLZ5YiDp8mGTrwiKj)6%>ww-B)%APHJzN0X+Did=L?@2Njaeb-gaWX; z0GP)g_euZ~YNx~~-Tzb;pX%$~>!{T2&$D|v^FaF5QscwA#^bmZ_PH^uLraaNQX{CJ zrM#of8EMQr0ZllEIU-uf`nF_Bml+4o z;&K#)#x3Qs!U(-XmGW-}l103`^XVC=(B1(k`8VAg0_)@Yj}@0`l{erwM)Fx^FSXXZ zT&eO$SwD-8-bk&Xwvf6l_=Y@T1*$Sv^Ws#DrvwzQ48?I~qe>dp_p6M`*LeH}Yo{|z zWs7qn)jwNhshpHKh8jxpIXZbX$vHZi7{2NpDt;!(`8v6u`5po{rs~T=7_{5p$VjE9 zE>+N^cBpadzWg~@pMCyCAE1UxU+A35CbUnDr*nm?w&^b&s^pTj>P-9y=bz)GBk@lG zL3g5ZB_N=TZ;p2X1Y0M+)!KoVG98fQn|1P|tsO{bI$)4ITqPSx)YG`&(VfsPcuv)w z;D(Zn{{Y^|?$_BlXN$khEO^_^V>5+Xz*3!1~x4m#t zA>Sww;EI6+fKuZS60q&=<5gw(BoV?-%Bq?}R+(Cqm(J<4&pq&`##Z<;`u>^QMdl3{ zi#oL#>7>%N^{FxK8A9vjiH38GS&pzeyW4pipw#&vhhjbP((;9PX_-LJyUKAZn|ddf^o=oqB;x z`<7ul^NRE_F-?xo{;j^1hCN4P;$k8%eyM1U8lv_ei=2>EA6mmv=Rwp(yJ6pO_vWVu zXR+-JB|dBvzsC&(>LMaKSqWLoy{Is9`HvCnbbM&yl3pF2v7Oa=8qSVp&|sGH0Y;l3 zyb{U(PPHwdE;+LusL4@Guk2@Wf#HVbS#kb-%Sxr`{Pti!g4KIbLzrUjm&ccx-m`v+W%Ioe^=$+ z6`QzOFFXKlAM(*G0?lvrE3A~JwaT<_Z^nnwwoYdMtFq7z zLl-!1$d`a>Xeg@4By3c)TG+2>(}+ZKcKl{M;>1Ve>or~~UPw>JJ#74FT}3W=g*2oZ z{bdiM+y2YuUwv8qt1s{U>Wi4|w690heySbX(^es_=&#g#L~Sg<`yUq+KMB@{L2F6; zrc71=D}J@vf2==fmmP}QH~8Ztc1wW>V%g+vsci{9jgvjR1!>GD|98vqpBAFy{g~wrD zZjsof`z2IvVH^1~g7@c8tQf!f93aPE5f^5AOr|kV;u^C*qT|7m>kEwPno|3PC#Y?R~%NgGdV?5}F(WG?7w9Y(y{QPq4 zv6-rHJqOOL6DVvvEuk5Z!3mc@iG(IhPLYX9U+NFX#?hs_n1kFWqIR#kAWo0uK2TCL zHzq!ksN_La$s|#Nhb=Pi1oF3T^e--ebp@dt?orl-A#rQO$@XB}$XAl(=!uGgO zxMV}v>PZpVYK7B-%A&D*Q0d%SINa{Fh*+gNxrT>{!nx8=MXzvT>BMNshNvnbphshv z4BwF#p0olsJghKrm!G-$8Er-RoCO@7F^cJ2U(92Gy4ZB>tcJ>o_tQ^h8C5xGzg!CZ2kveV_ZDzlIq@7I#$J@-kn zw8$$N;xkg>qS7Tmq|AD&{1G^PH$>vDLljrL7q=9=kki~^b)&NhC2BA|rNAT{R-oj7 zL=wNIs8}I|$wEQiX7@<`L^(&3iHyW{tHdxaLZUepg=YF}>r8jMYIO!9qvgN!qSwjm z)Qmtx!-~V5JYBelN|*J{)ViG}S?jd*XOiq$i)y6MyX0lPP|Cp581j(yf;1eeo3TJL z@lQfo2ca0fs&EV;jd6-9C&>20k~tt6YHpJp<6I^Axaw(NnkNo5l255jm8=^5@o$gT z;PZ%8-cUDK(T(1%O01Ek&gJ9wG;4s)5P&R92E{=8%aHZ51}D)LoOzJQVc?9XrHGwq z1t((VIIGDg0pabDdC`(J@e`uQswE%Pno zmr;xrr*AF{X)Zov3AhUgUG{30LqIO4#}#2jo$dBH{35kHp!E|_{AKGg(A-t>+DRyyXRA*SII@x z-d_Kq<&||FS|qmji^xHk-QjQF&|ehRdBS7%<<7y=*k=Tw;VdlCcp6>@n4U0N6VU); zn6bbXP@mZ#^uy2uB^0Se;k(s%yBI3((oVW%s2MyO=3F{@g&({~)!B))yl zIfTk&Hq?1-TvCu|`^yQ0cro1@DcNcyUKhYEH@tsM)b|ZWjfe-`S=mI%F{5!jAstCi za=%MiGKjL1%S%8=u5`hxlOrc8ved zm>0|%K+V}wGbT#Y#707db!xBbXw0h+!++AhrTWq&S6auDp|t8eNk@Q3cM~NPJsHHQ zMRKK4HGuT0E}7(veufNl$q*Fae?yKy)iG_dT!jkfAXy~9KoI>))qZ9&Q1#n3S%PF~ zAj_31iYvhvXbp|3{Ke^+P4S3r&yCB|Vq)Tr_f2@G2Qp zkBiAckI8a%2eNb^O9$QKw8}z{JE$zbCCiYGWa&tjj=IO!t1Q6rE%+9w5*Rv>+R2zV zjk#&2ox$Xg_-Iu%f|2$#g%+h%cwgBTv6_r~zh?o9oW4&y^z3)s`x;sADi9>g1guWxA1V3U>@5uYZ>Rr~b z8PhuPo>1@e)q7r6e6msXvU)xuD?Z7ndRjeqX7giIJ*=L)WW`4sRkPG{*R1#uB2lU5 zZdvjEM%69q`N*vJIYw1XJsVl^lZ~p;>Ny|o63u7XtQx|52<`if5{Br_{W1zQM(SN) zQ7*iNZGZTit%@OwZu40ZSdRKJ+$6PPp1SCVp3C>;p=N7M;+sv01E|GqawiUqGLqs} z3Z9-ga2cVgc{USGr^P$-_ayAhkUzjopRoLu%;T;-uZFD;!uvl7+anQEH>xOv&C`jX zPR3B8K0AZ2UBTB6jno3_lf}ZA^*M*#?r@~d{|2FZ!Q-GE*aN2D;xp?yLPY`-l3rrl zrbP24@$rdfKpjVQiRR0~=s{AVE`VSrar7d&g>9LvG8KW4J;@ieT!|0K`ml-f7<&8s zKDiqr-R-NoD4jipCnenKYILhoPyIXwIzFFfblon?IAR+XkkRy+awwa8g6hx&{(UMY zhZZ3|#Io$!<3(DRy%Pe_C%{A{73a3h)XB%Oz{>n}WFnQdGZkD*1)~2gS7nXVM^f*9 znL@Wiw+2?hI`?^me5L`=u=<72?&vB6aToUMIEq5z-6@17?C11D&WYc1i9%LWY+COB z8OAZM)UP&|){>eZvIP@5z2Ik~fl*R-z>V6Ydx!1mp%+TSMzArQzMB0h8$k3mC3`Ec zkUPall}|I&tXR3YLYc}ILe#5BlwTy&^BL2gKRp6i_Mpb^BsMkp80LT63>;o^^;(z zhdJ&F5KJIN^EI15E(ScW8>RuRc9ohZwDFSmiI;YD%*mgSVetd%8H2&6@)kA8tI~-ir1EKCe z)*6BwgkpWGLa3}UixEj&TuY};7B+%!CkFV*Zn)Oyq<~S5MCLIeb%XNB;JKK`6Pq-E z8oNLpCves$rDrY^NHR>Z^?ok(<5AH_$?)QY5o|ucgeF7|c;-_*ntf=3nK<`;HB;O& zB`xKpb=PUX^U_90+6`XXfxW6+XD{u1Msue%SXDjP%d$?g=+Wc|htaI(o)f)p-Orfn zCU(I3(LIS#22^%Rs3w%9hM&f@WZju3Yf`?vRDMVRO33CL>jzkq^G8^h;NN|;M6$2) zRg$4>FIhqwN%D0%IlFQ;$%QS+;(A$;+8Df z)~Q;ub(RiB^{Hfe7s)A0xz$9OyRH>t_DL%Dr+c_^xzrbmeG=|}?9`2}xCqBGB9DHm znwAyT#u}U>JGFKz({Z#H|=_t!SMBmL=gzXY-8hp1RO-)&u}iHdhXO|?_7&jcAST&IsLM(;CC8#;GLnr$R>0E zpRoEeT8_zn&oLhJp|n7^Nl7#UD8QT#h^^NG$)R}~lEJEKE^KhNaWiw*20w+~t);0eC?9pwX0Vo|B)J%G~}v=qD@3%QCrR2DPB z6y`bNYMf`+7+mbq!?2u$dVk(;ys2&3G+^=6I7{jnNoP`A*sDQ?m?c3bESHK zjk;clmtiTnTUAC-q~~b`&uY?7c-t7~-#QmkxJHmwKVy0ct-_$I7u7yH!cy6wxmG>3g3)MlSuzlb1F&CFuY zBKoXWk9+*ii(ks+Ra_QX%R)Gqw+FL}L>%fw_;~~xk!HjsIQhdaMRXCXsK~kEk8Oy~ zdP5Uke_+*fJfMhxPyaK7AwHhL_T{hy`ecVl6QMu8OTjX5om3~O7R~Vv7 z7fI<&jJTAJFL9qDSv}5oC8zUKH%`Py^W=)tHMdfp?&6Q=m$2Jj`F@WqE$Zyo+Q*sO z8^GUo>$>PI`_vr1ei`!(d#1SeqqUQbS*z)kG5^PKY{0)FzK@!>nFQU1vP!UBjB*rR z|Iy*)IdD!ikYfT?^eV?I?evLW`5&>&QK_>JD<4f?$7~{i29e(jgU0-`18_NP(^+M~ zdA2zhlm|Gp>B_|!6{Rv{cTGuB$hRVF_o~H$-ftT7FDOqO>TArJ%80OrT*_z|^ACk% z1q;GB-9%Pti7)2Cb0^0t0*{IT)%HBVOy5!{@itPQaFC#KY>=^ODNl?UKTuu;Xfx~2 z^#P!`;JV^i_GR8k%#LzZ#7GU37OY(^oA|c&Z3L(TbN4&BU0E6ITYr)J`Nn;$z@9#tR_!0mwz-El*d1AzdzyMT;s^uscq&hI;lRhIk{RS)9Fe&=s+ z2E>Anpaa*ilrfX+fW{c}F2a?9Ipd<5>S+k_h_DExkquMTVK-?(G4v0IzZL*!TFwn&y=`^5^CU+ zv*;*K*%e#{W6it((nEXpp=pPGB?Nq~u8|Ij4-n2tIayp3whQ)_&%7|mEXm>|p8e@7 z9f(>#afn15$1vE*rfQTBPGculZl+c+9yRJ{<|SlTz(Mzjth4MmWGAl=Yq7MDIIDq@ zUPVFn$IxP=s3>R+_6MzD!10D4i1m}&O@?D1M(myz&QbhC)!YCTTpaYpXUVY?NA19J z7=4$s-RpV*C#SN?FsWu5d5uxQp&onk>ib%uhyX;`@YR5)O7Xl6Uh3IyoqVcpA@d!wbbYf*V$|?-h)z@u^6% zkMGCyn%I7^6_L!Xz?&~pBO&OC5z85LDFXd)Iafjeu6KsFCi@9*Lb4hyqq>o5Ma6SX zQ87y?Yp){UAQHR9HKniEX~aGdwh{{211wz0qLT01zdUi#$;`g+JeUe<%3aQ1aYe{z zO8eO7z69W6*b@@PgArq#o&$eO&N zR$x8HlBfgwk1r|>SmV*hJs{gw44gQg4_ZItkXNRpI1~eRDN6-N2xfZN05g3BCuoE6 zLRP1c)zP^*sb)xV;;yug`@{6K0@E7iH?7Jd_fIH|^nzb)F!0<_M9oOr#EYr(=b5Tmk$XP{-wvZ$ z!aVMC0;Z+|aZ|2%7(A;C?-talj?X4gt;jyKF1yz<=RBQ=<*rH@B2q@E81s6KU&gFn ze2>_tbXkI=XUt#8X-?m+qL?b+dn*LHJO=0_03g%YZWwqFzgiF`ZbLD}{t64hfbXj{ zO)9ilUk0D3bs|SqPD$)KvOLj@Bq*`-K;!j;P$w41NW9F4usv@s$OP0P%TCX5t~n%` z>FO$yg6aFj4nVGK2!E9A&n{rhGnrvHH8?9&{L@sD4hXv*cR5%!4sRQmp)9FIlqneyWe!Q?><{00WTYfsE( zE?AH!)xQsUXN4v;6eG6~WHGl0yeTOYFdF2j8!Dx-0F()19SDBoqSd{UX4>z6v4|4x zVJ_Zzg6Z37u0cpX8R+D}&y59DrCzh=Xwnf2SOlLD{6kLQBz$`Ou@NinRpx4irk3~@trNQ^}Nhqp14q? zP~I>h>OG_623V?yF6qniW?XoKky^saJL7KO9Y*R^^~7;f>S>w2 z8*sCcJc2F^0OlY0HsfxA`5T_h_eD%`#izUZK4hHb4p5I|&T{*xM_DUeQOD`|SMD&( z_YnZHTyCc|&v8EZkH$eOAOw+yV~Stw)XiIEU%p@QqP*Vv&=8~4=5$b&VSJC#MkGB= zxL+90JYn1dIWuI17jzcvOh;j~N~FTxc0h|9^5lhj;+9fZ1X-#qVk0`Kl_qK(lEnrz zMn3pbEa#A{MVe%xh{5Gqs{QCfWbr5@V;T7%vtCcIZtrwH{aWKN9zBvHnEU|iMp>XF zQWP*!s}Rlg#)b_N?gdTlq6#|{5$v2V7U9`8-37K9vPUrC?4ypU=%OP;ZZf%%uF7I$ zDhdZ>g8uu8PU6wAc_cgi9T7wdWWUDEGGM#p7{n)y=Lh;n3ylXZVUQ!%cR{NuYV8lp zOe53mBD&G*D@AbL7IaQggk9%1=lC`jMddqtD zrt<0FOw8oF&CAEK9rRa@mbFGTJ5Ly?QB`RD|@qd`-73Xld8=b_xNr`Sl5r)*BGgZ`Y{Iz5fx+W znD10$&L`q4a$+ZAe!Pg1TE^G=&^etDaPR4-37|L3wg>;zkYva9&vrY&7bp zuxt)Iy5HnnzO$o(ri6qUcgd*UNH=D1SQ1e;<~4Yl$YJ=K+Bf56Kx1bl=A24^bv74u^!Si$ z0oU>!&cN~5+*=0oy`PhHmez^-Hi;JMteJck7yORXOY3=Wq;Yr8S13|pQJWm!4n3sb zgUryjDTndY!#2p=uh!gK&-J7x4v5dDthx&?n~wgYN)7vCa))DU5!Ka#H)&OI0G8{I z;G5M(=(A;MG-X6tkg?olZB3M3+mt6FaqxI^pQ+((Uokvs?B`4GgbckBZ~ zXiXc8pWu(wHX?!n;V|p+6?yerG7Dah)AfQU?%-Ph7TQ(-kLAXLpw>VDPDcl%NA+vb zkjbvEQI9$uSD0`q5sjw}AR&DdTb|W&*O_=Q)HOG)nK_T>*Lh(Gy`~!rlmF3 zPL9Yat0H}~8nPl5J6GHxuuxvi5m-w0x2fSmuZBNRLkL+ST~UypmhX&=Yp53p6^Q)% zgQnCMcyD361S@rZaLFKx%0ZUsOz+$E@C90z0T{q?PCnh`36}y`OO9dF`9cs*D5=~d@SLpT6V#tgzP)ZoI5jZ;=dYbhN%Ry7J`LS9A_JJ zBXSrEKVi=mSi|}S(}NjSwM!84LX)-5IlDqbb|&mou^&YeH2;~aX+`)da&Lc7o_NEV zR*#~}#L{eWaF7J_%$C=EmlvU|ciT|bL6K&UJ;$Rg=;Bk*fRl^*a5x5k-lXgzLX&=k zn&@gc=gyGxSVm8@1W%FVRyHJxaFnS;z^XA5HQBO#e~h~;i}Qm02bWI$7h6@ft9LT- z9|`+*?)CaM9H5+_uF^k{;k9oiF&MOyGl1w@wEFGDemt<5qIl)@Pt#iEc{a21Ftx?6ZgSR z$2r=pa8ZNyfTTKST}Byd0&sI+B!ARq-tD{PeY)s-g@B(Xk@JS9)#Q0Z^tWqfu%Y)uYMlRiNnm(M%<^WTO(at-;nx z!gi?4dCsfoZ(c>Ys-h#Qh)aY5N!b3^TqesInyKqot8SE6T}M^j zA}SzgjjrwuQ3W^$w|M^}2cBhsqwd2v)k05-P@q^YM3TsFeQcMOBi^O;ir6A5he# z;%?OzG6cJWS1D9Jv$D81R-}WAGnFVSiTg9PzinA&FtH#Si^c8M?JfyT2d-=)nm+7uu{_OP;wm(-HG$?4vv z(VdDS;{y5x^_IBR>CYyODpWW%GjUg;FK%&>kS#i@>)yUFTP-6MCy&hL2j8keVC7*q zz&H14s*}R9^)8>29xTV16-R`yp>dxkZ)VqJUh%lh&He*IrhA1jvG9|%WL2@ZmcZsF z>bmrvrM?frVns_jX&={=?(jQhnWmBFE+A*X+H5A4Wh3r23HnT}%?tF86;555zO+Ey zKHEP|e0Zv*+w=V4UUi08Qna-{;`}#ksrv;OXN?-kl!G?h{wx%ZP|d=JFIa#1%znc_ z9s|8WVhZOQspW`reKulj|2_l?-*xyai@-+pUOsb5vE=WGke8Su$1Xop5ho5}kY6o# z^vO{sIeMua*YlJkPm&|2@*YyBNb0|&)PgzW=jGl^6}gpHmd{);m#>oNDwRi0^>{fu zlcz)F1?D1PM8aJknzW}l0xYs zqwuvu2v#f{LP3dTA!u&Dhdk!h?yH~=2XcMc{$4C2!46NWOgF8x5RqOdVNG9VP zhHxG{rFHzrQ>}bw=XbaM><#}Q5?Y3T_Dqy`?om=@hF?a~kJT`;jPgC|l*$DSMKyf|$mLtlWoOBJ|QS6)Ji;!KGgWA;~4Vx%g;Y9@%o>QLyG z&^hjZ=mRB+jN~2AL<+weY@yalRjW{yhb)J_@|YRB2!uh}2&B2rDDgbjeIkpG1nBL< zXThOjgq5c63K(acVq5El$@-n~FKdIPqsW92<&KHSG@=_aUlGOEH>QJ5P z_fq9%4XKO0)LuF@+e`hAq}ttHmeh0~Du*usTjo5Lt`|dIDCsKmQn&}_q{yh2RZjWW z42$RIbU(SLcC^}9I%j^T0Uk-UpfYQs3PUcEIOg9YII_I3P41>|b?)Q6+}z<-hT@C? zTJE+vKk;(bgSb*}PCOtD(t4#|u6MOU@S>Mf?Dp02ufwLGd@K%dq}AJaAZu+)|3nQ3 ziDA!N=9D29C?dL z+N(%3>dXmk9)-mXLJd0feDO?+n_Aoe?S#!6sbW#jIQ(gU9-x?hpB?oZJzfC8I4^AU z;FM`la9Xtx=HioZvl*9}LNG#4+SjMxGr2DvTPI;7A=&lFLS%7&MmciCS4PTNgRI*H zm_;FQNO(<`FV$vHg2A8@j>JAwmB2;l=O=mYdlclw{e&{|d$afZp!a(=zwEYr?u^Vs z&&-30)+R|8$`^I(pwC96gC^)mSfO^{B1VRotw2ETqaQ1->sEWe_j$jS{JL+*pAYyG zC6fDh-tR{5_Y;0$K>;nVg{@zdP+(pbN#D$D6Ek)i`@PS+QS8YWKzjFXE5AvSI~Y?Dl!w_Hu1HQ)qTB6K9~f$b;_uWiG#DJP0HYQd}N^#8f?c z*&CYWGBm>(8WC9}$FamNmEmvbK#(k5(Z5&dilj^Bx+3Y)PO^DjD&No1jFH*~H}mSD zTgg>GpJ?bqb5VZ*~^ptt{RtZj7ziEtAo<38i<#UtqAx&EJ36G z)<=R%Nh)DZL?ySJ4|4F&vW>mw@h##J+8jT?iNSAQ>DtWZW{McI*OOm-Rx0sG9{f_3 zJoHl!7+v6Oc52Z?`Ba=qE0qU6gyfg~G>-+|r-=MUY+~~!mb1~}z($Uj$`mU%3HE1} z?3{XpJC`}-bAe*Y(OB)JcEJpy3Hd{dzva$j&tr}G*f?;soxB`ijq3l%*vxG1?2C8d zrz<@21P0Euhxtm}XeOGV|k_;(9?Ih`0dJ>z=n-H~jIRm$B(e~r=Qugl_ z!@Y^v7%(f^aBm=EB(99}FFC+4%C3^JoamUAXD;?3Y=|Kt5Chi49|0BI;_@#GD6`9X z?>WsX%2#`K$;msZS2GLostd1>Y}e{Z;Urp$t96T21h)aT*-A&nO>}!S{uL3_7%Ss} z&lFGGj{Ca;kKH%4yaP-6f7R%goN?~;({PojZ-htmV8r$5cKWJP)PLw z0rU0$s8jlu@?!L?r>@C~|E7h?{1tDccEn$E-vUTwD1?6o)2{GAs`i&3fIG2$Vjdly zw7S@s-?MZ1%=*s0^8HJjIF}9(wrEF5?X+V;u|u*mA8gF;n$3_MIJsh)qU@U~-$L10 zt!+Ztawk`5la58+_VP42Umn*2S3lHx2x2%!f@xfgXufMtlJqD1d9e59zM&02dS%Ivg#it?3-Wo_|0lZs?f(A(L5PdgRCfCYC%0)(M7(-CgP!gu42-U%R-PD~EcZQm5{!4{PJ?a?r{t}ZyuU}wB=wN+sW(|6&5N60Sgn&B(2f_smC(F+CYf7!aVpMO zx)NyKol48@0eQWhr#AM-N`H$%F{&XvIEWb7q*XA*2wu6K;04dejrA(M|iLvO-}I?!_74O2ML+5ZuDFy zQs$;8qvCg_KcyFsm1^8%uVGKdVrZAMjsp`YQ(ZkxQc%d-U!JI(a-NY)gBYQiwR7c% ztQ#>DRz%F<$5^uB1*l?35PUCau8?zs2v>Pgn4*EWOeFbyXTw9go6RxiSXnUIMi6;Q zDokXYlPDpa;z3%LnsgmhW?rGIdE=L?tO-}wzug9u{Eu4r35uEjP@mGYh>FdAT?8NJ z>^8vulMeu^Hc}Oj(S(@FVtVX>J4!dx3uvz#>kbEVojG4}6vlZAnDzyDAoeQKiF}!< zVLVPNbe^i!c*dCux3$__9>H~`6p@*@TpqMTL?*}i&4q0zFEUdj+9=h4H+iW+;22y2 zByM)a6JD#nBy&C>m?a9~kh-hYja5~aMA1^J4@dIho3RgqZk?1-^3^RQ-0c(jqkf=LGQMghp9}n*e#VQC|IP8#8nXOV_O=FjOu~-)mmUNcHJf;U} zVT-H|c&(F@%0jhK6=xI~h|X(Lo8Z|T2<{W zmHFCc6AkN{2Kz2`IER-{lh{WOJW5u%ITEpptf=+XaQm9?MPWUl=qQG5ItI>ymT)NU zW~8oE@IW6ztF~utmArr&w8;YEmmKuU4wJ1|t2pG|h6To)ps**RxlqyWt{$ODMS)C3 zJCwktEXn1NnF|k8)TWj*;hyCKnct+J>6=qNkeN-M%A?GzF+ZARKX_2j>kwm>5IQD# zd($$njo73ui27EvyZ=(ZqW%6~CL5g-hX3|cKS(`nO>&J{-_$AuS@l4VEK>Iljdh(L zlIuWoIDKK%3g$6npR^8Hq&j-2a^!-=m-4@|5L}L9f237 zW+ZPR0i$7U>9&i?3Zy}a{+4NsId%6R+j4)=l%Pd5J89N@22aU!qLu$l5p6rl~ z>T`L+q~4#QD81`u&IV!Je+L`wnGGjV=r3Gd(N-t*P>bT{42!HVQdp_c*_Vc6`y+PO zdEv$1@?`CaJK!npwF*)H8Lv~mX1~1A&4Ttx7g~j_F-^4nQTkJP1 z6)ywrDO{qswetIDZ2P5l0K-$e>vG|cVXgw?$k{)PkI57knpy+uBgha@5qAlb#lgb` zlY3C&o_yz( z1m{ALp$@=ky!{(epaL*x{V1zS&{yl(B;V1k6-ZeZ72#!72H19SCM1FDG^O`_h`S5B zou6twAjLy$&}uZn$Dpqf%m&EDV1KAK8ruMrU*}C-WKxJY zLH?WlrZV)DITF*{8Xu>D*yA)fcXVyjeN%^Pw_D1&)U&m~^J39%x1vNgrr zsq#(p@_7{V<6@uU{u~{OPv{lS)9o}RA={S=C@?$T(Tv5hGrhhWdE(s?vc%Q z(W$6&c2h0d@R$tnnrzTCa@-zrF4N`1mZBK6lYd^sEUaeZ^k3J2weFf#Xp+^cd)V@@ z*8RS&BP+vAg=$NMeSx5gX$PCI(UDCHJ2NMT8B%;u88lr-Gtt;qYzO?&Nn47C+v88G z60>emAQGOGE^|5RY+uX%ULKSl05_Nm<*ad^QT+tWMCMT}>fh?@%^qiqqW&f}Ai^?t zZ_xe>vI95C2*P%`!)1p$Bx-U(k3}YJE)K_bhbFC~b#BYp1^I%ZoSR=>R4lAMc>)WJ z#63ujf)iy300XOHXa7<)u_8+K#`z7~CfSQB1nsGfh45jk_N(nsGmHS3&f*FGxjZWi zar!r^F%h3-I4TRB=Z|O|kAtuP?kS0(@jy>QVsmtF7X^X} z%sPcEYA%r#57E8i#_Vk0J2VXLMO!S0bad^DWCishh!ok)#o zjp-esKf^s0v!W3})2(C(5ik$Gptzp!j`UCMcg~^`Ep(ahA?#%Z`cFfBvIBRZYX=(1u{riW!ltQ1JX;#C9;UJg0-uAWg>N_6%OL5et;NL9!D{a9NwZ_*1fBXG~(2sC|fYpoy67ZoFJLIkK z4-%?TjUqg98@9II3V(^HL1TEyL6u6kB6hCD4Urn>=tbVNiCr!hS1j-W-wz^%$oh^# zDHPj-@^-(HLjKG8-t720sRoVI0~qkRajH=(k++RptNVr*GZNG)D(8C=CoLJ!t0`E7 zBoAX!gch`%fb|XMh%H+MchN9GWM%IZ0>W_tE;60jz?br3%IeAEjN`!+svu8V3zae_q}Py$D3MraGlhVJ~DCOIAhk!3wC)y$UoWqVpdiS$D@z&Nmgu%K#5bzhGJB9YZ-%t zaO14}!b8lHs05cDP|NL{pInj0?TgMh@;rxo7v#eTg>5nKXK>d7odT;Le|bMsEm215 zcBNAA_M$D!l0j)5A@>zWV;GmN`w%bTaAm>5%H7QaxFq+?e2hQr(qFhsEOBh2lh&aA zUWfV{7LtTZnd+L!;~ZWfZL)eIn`{Y`TqBl$PY4fV=|nAiN1ncMaQZic?OwL92#)im{}@_P3*Co|op!lkeH~7}J43oX?=5eNFQ&3EqXP_r zKT6`l@MB7!mCi%|QmB;bsj{@$BaGEhN?wjknve%tq_awOv(`afH%5cX+d~BTDizpt6trimv z*twuZH0O$txaDy^ff5ub<0&MqD=T*dBI&IsvDZ4?hz>(8B}AP^Mga~zzWb(v>mX;@ z!M8jey+jUUgc7w=oYCvOy0cU_>)dC^j_xvVMrAgv=4LhwVCwK!o81E_Tvl7)?Ltnfwa}!S<@e(0s z*b?1~H8fbVp1bHIiFIqdpIl1{4lItQ&ytjZ_gh;r7+Ta|+@wfHEAXE@XqoaP*_7 zJK}X_aZuvD)AB(%xbD~FaYum+DAYQ|uMgwu61dUb5F5(w_WiXzvYg#-i0;Py8j!rj z>jc_#Z)6TVQ5VMe>w#SrR2QPpp$p6C!gji_1KyYAzK-xc+@9K{SoAyYNUp#wL@v*A zALF~bO{SFd`po%)j^{XY`wDUpwWwp8)2pP4J&fAQ8c<}~bF%0VrwBwYx>nH9?(p`V z>J)*ZG3u#XU zX%t9ZAjL9z_7x0`I8Iss#BCfW$<1^eC&|#Zt~p+OMzzAq&3$2qPGy_s?8BNN z5eb4=G{$TfbyNL=#1ck-zlb<HEZ7bC4d|8@gdom9kSEZ$q4B_4cr9mf!NQ<@yN@7F_@%EdXW5dW730A? z_Z)hbu|Hz3ul$Q8#m0-=+Ww2|eb%aN4G#SLT6@3_KzW7X{>A#CjoT0e-gKplDqxoJs#Mrz(`@Pm(3 zM+1y~i+{0TdNlQkx+f@#Ga~%(1`$l5adqL06Y`;AhoN$Jy{3MyE@R?ws6is%q z8gJZzhNUBN+tz+tkl5)#e$nEi3B^N6z0X$%nshX|2+0Sd`ZucjAymIWoys~72{_dE z4s)2L+8`j=PG89$!`{U>L}II?xk71Df_H^;z|l9nLWNS0GKnR=`a1NnVvqHINP83T zsEQ?Qcm_xa2u@TYQ9(x?6%;j5Mu`x}Kms!`ksU$yML=0ZmU0q#W4Zgr( z&HlZIE->O_gJ!Ynf}8UY9hJLwp-a)DQAB>VTz2*h1g|f;e^YBNIn?;&DRAD zH@N@}EIT}HXPSJ)!FcOq%)iO;GBcOEjiG#uk?3S-ecOctpMp8KQW&LA>1N(0v~>ap zQto@}0miaZP<50$-|_`(aIQKr%(yX#rH9=?(Jkkm2Xu*LpcztI=Ioe+1`f*zFN!MeNZlaceh#(JwCCg?c7YK%{- zKd0!F@eP|J_TwOxO6~*)t7lprp<5}TVBHJ76_2VWrrjD@i^?jRI^3!N#{N{v5^&Cq*O=^6eN0`Y@EZ46(u&2e?d-C1V%VP=DS z@m4EkF*a=rq%h{OQez*552kl3C`EP6rQh0i*_yu`HA)CiLTQLyt#use&_@v4W9!0f3QzT@W zkIqFA*e;@S44d1ut+2aW?*g9=V%xcKhb8tV(19rRG%(BL(gIcFwP-s~PfQZH!XCTX z4R}k{T9t2I^A_YwHbTO*F3X*^&4YXQP&erXEf5DpH~xLd**_dBKum4EF^6F$o9HCX zfg3pmn#DWf^WVRqL2yOK`41*-5WI$S;0o*mv}tRvF1SB;<_8{JeF#2sfbYYN#;AnE z`NGY$7Mz37$G>ByEJijLfB9Z#ekU^bi@bonXHAxcyI3&Fp>dT(!5k>l4@1|JDSw3i zFhf4{aavcQM^Yr3odJPjW=%#xf?6P`D|I~|!C*1({cum*-yP@8yvEx2F~yT!6=+oU zCuM~T#j$~QdzvE=Bw^m?wV%D)F6*>RN8c3|q@rXv~fg^|R zy-=>aT&9-Q@ghVN4D0|^+ktfs`U)OvVGcbd6Y@Z`On=CP<8}mHmXl%+WizuYHnu?v^4LFv zlH?nH++2A;Yl^D_ckwLqj1FFe*Uf`r1*ZV99l;^H7+aOcu%tFSD(V77CB_eGJM{+- z?5Gl%GgBrH-YsgINnKS7ILmuQparO`Iq zsZDWliY?AJ$PKMniC%RCoe?Uh)n$0gxBT`a)jv}+lpgiVL!xgQD+4~N5wt{H2`NW7 z^_^m46HJ)J_Dvg(Q`@|PI91*RzEu)zJg2>W}!D^n^$hey68uYhb^^o%ch{}l720eKT`QCno6Q6&l#w1=oF=fcz&x zjVS*&DIs~5nWG8g#JUulM@)h-HS-kg>=bQLFzt0(R+_PGtrjQ( zg1}}ET#m^7Bd*4k_RGJ4=s0v6qXo!e{D*%(%n?!_b2<$P=(ufM?70gdHDRggRuS(6 zSeK$F*%07UmZh*S&~7950*0>ww#XDL%FS_GHPJz8lnA6GoruHoy^ZKX^D!x?`lC)G zXHB>DfW&%GGH7@~E=3x)O|9#IW&Mt?m}z;~Zj6`5!f{J;N1XM(0@uY><4{-Y9BV(S z6wE+t^u+0f9$w?9cg2r&ytSLI1pooByv@Jz&O(Q&ZF9`ti>89ZtGa2&k3(}3(mIoO z9tWC4vZMDSw2ILx(5C-kxSJHE%#2==2HqGD!0=*IxkIio74AY@|B4d&AjyK) zFfY0bwZ0$skxd1`ux8+H3K07f!A5tdpctK-0ps4A5tGp=p&EKR16O+Z2}{(CRi-ym zcz5%Tw(2Vk{K8$kaHzaZ#jn@Ek)=on807jo{fM4kN;k}NIF^k5&HBs5=>ABCu@9KB z4kGP@Jsq3@xIpwpvZmtz>u>Eum%_l-=Ow*ZFsjJJT~2>>F^3 ztM)8GovS~*3@MhOpV&r5AGZx_CJ6Rh4!`uZo<(%c3dzwW_zA@%%^!i`$}AlSX}U>FUDHpa+(fn3w|}W_>3;jvdtyN zM&sHynN#H2H63sx&6sa7*ERfcQ6^%Buk;suAzU;vCIY2w8u;c3u7$o?lWRSp@+hv2 zdqs0?1Rl_j@|kxqT8UPcwSO-4Zqy6-M#*^wFlotRVwJryJVmz`gP|BH-*HmmO z8k6EkM%I-eG@9eXq~I-B?+E`4Q6jff;wB7KU|tpF4bOM|`ZDmNU2&!3pVh!|%svRN zMhC-6a>cZ^ZEY*6YDZf@GSu1Yi%iJ&6&whR;<;Q8uVj?7xjth`Rv-s$udcmFT|bpX zx-~0l-L1vsD~pYdCD9SzX8G-(_;7uCi7}*^HwG=hW~*AAqHjd{LY@qQ%$by3^(HE@ z=~q;OhIk&0#c6EZrBNN2QH(2rVXw5*XEG#%-o`Eqx`~W?H6ukEm zY&PeMSXtq}rlALv2^mwed>_58FLEo6dT?U&Q*ZQ18~S>zlZ!{;n1Jefa?^(ipqy6(d z&DUZO7=xP?8=Ww@cEy$ut7fx!%z>K(kwTjb18kQcHw;4{qHk7M9c_W}J}m;lB}l(Zy^aqx5 zH&XZ`4d1yO8S@bESJmsS*YS-r5xerj*Y@C9_g~|XaZ2^;AKuwhJ$87fW=v^4Y*DkpQ zWB9k)(E-<@v-!V=8-pj?U$7!D%^T^L6|}>@=`74}e#4g)a5BizG!kKK1p}KYd-clX z_>A1sto1!DCO7jK2a2O(_hsQGk1&)e4?6Un&3rM?&Ee%!IaK|3o;Tvj4PzcI!l*`% z51*qUFJWjO`&kd|?jRL`6LLWX;s_!KU&NOk9G#6x$%~U{T=ID$_h3+u{oYo9@X&W= z<3FO_m*OvM5HULtQ0gm^vR@Vmid>G%df~G6)eHNps~%>hzQz-TtE0jXWJp(x59g(v zfG)$Y4DVgUFjiUv*)G`Ly~aHl1SW?zD9rM%fEhLBkx^Y5eUW3)?|6GhiP6tVdi}-_ z44Vx?$AIs#oz)Lwryr``1#+lMoKlZ*r;ECHv|nCvv=Mx)FtUHDgP45CEjli*r1>VF z{o63s?{~tW(hnw!?pZ!1DG~nmdB~uTWIz>RSXcUujCX#*u)fWw$0-?QZ3F_B&$$@e z2rJeLz3pWz@70i<1$;3^V36aiEU+9QUUCs1z=@Ggi4gmYg`aMxm&)PFU>Wg zov)_T-EV;=eq%Qsv7n?6dK(f#u3t2R*k**8O-TuL+Z*q&JR6m97zdxDpLP|JZLRt~ z%^rqfs0*=%qL6v0ucIOxiC9lewz$j*VhW=ayGj{PUX1I+BG*pAA56eV>Ii?284vZr zF)>GYJ}5_&BM7mKI;gchG5x-PE*c%g>G$MK>C^8NOuxq*A!U4xPr*0m&K^7nB26bU$ zU_xXHmM-nHVGoBC$_*beCSdZtR_N*>xa_iPBkiFq zK=bOHW&MN0K_tkICX^t%@GE8h{tU*1%#R{IoS>yRG8&3Xw=Cb%xQ5_?QtLAg`lC;C zyvN#W4dG8}2phudij5vlEWEO?o^pi#K*>r!xC_(BUC<90&9Aqn%(z|Y2kjw7nj{p2 zk4231hZy-Din4J#6ok84_>J2kLquD)zTtYCeSN3YD#)Wx4mK_O3 zCDc;Q0M-ah#t?uIIhZIKw*7&#emM|*F^{MR#gQH^>s>NNQZm$sN?E;&f+)+p{4h(! zw3}f^Vv#@C#b<(=3PwkMOh}teyI9oG6hw<^NnBr$a&M6oh21Vf#!~#gc-hvJry-nD z?B|?F>YIZr}1h{pUGAjnQ? z-6!k6&U{4I5WU4TfJcvCUMm$i$Ip--#5I3d#LkPiV^v=z>&wpJx*)?^2Kgq!w+eyB4yio8-N-!hE0sQh z5jmwT(tnPxs41>Ck@S~P#-3+=`35zyRQrHbsp@By)x+_ulKKGF6CUG4Pq<-oQGv16 z78AfNkqfce5J1?t!1Z$6MXd{jGBq2$`jQ-x4)~-aU824zu0S8t%IE^2vdbDxksG|l7I=zzOoTxW!@~zt0k`4;b4sJP zJAJ_~FpAiTH~Kq0|5cTrB$Y2V#=teGXHnJT z=F#~SKE23Ih%Gl_yLH=Nt=DPsw{5O zob*Zv0% zwc|XAv9hc_wivU}Cm5)n_MY2_8N3FD!=ZS>QU1zA8$%PJzm5+(d(bvKjQ1y+2G!d4 z-$F8Dv)Sd6Bj}4U^YUjXL~zIG5$t~{y&R>P&proM;_Mij2p)cyn{Dd;0lM%)@52?p zwhL_xWa6I3I)O%@f67RT(|GZSnqHH#z*b!j<e|V?X0CWPy=p^~<;A=!_M^P&0M2urfCcy>ayCRs_dod=z~Co8k2h77-1N^g z@^dT(awufnV>um`-|rvWx`3R9}D+g_4$Hx4mY6cn&%+>$DFrbA6LD zmgB2Y&bm69MVKUgE6jE!A!P6mWFVFU^C8J)wK?o5FnlTHAO6im-%ahx=I;;*=)a<) za4{W-XQ~>wIkUrk>eW^qJf+N^2^nzXT_iT+eGF^!19V`F;Ox&k+Lrx+&SYdv-+<3W z&t)jRZUFKK78cqDh|8hWl!4|k7 zFmw>T2(%0W5`%6CDM8eQEq|h((CG(EpQhMvj?%DQ3f6`&TKbUG?4n_-6s(05yx-h& z_=K+hZg30k+yZWTlDveSQ3aWaWmtIUKiuR}V*GB7Z+RHo_@_Kazw;S?dV+guTDbny6q~zAS4`vQuq&v=V)PhsaDG%-@1Y!xN=}&==?qd(kz;CTU z8x&$TP$eMyGi2RBvUV3Gvc3md--oR0LU%c8u7`&_s5^7o^;pQlm|RDvErkiCGy>9K zk73%!|1Rz0k~U}Um#RuM5R}4{;|tc-RbuC2F1P+&F1I2VXo3$Q7oU_q6gkv!*-N4$ zsd|-QyX$O8f8xwFI9t*;Y_F+6d8xcLH{S3!wda+C{)jshX-f@q?VhX>=p?m}i8q*O zH=p>s#7`hGT6EnPK1BKnxN4^sD@_`vw;%RUegTHJb<_FyQ`W{GxnefoBZcenM{4Rf zu2{uS!RyhD7&lRObRusfm$^z|x0AeAY3yp8euV-VI7^Si z7DTT@^d}U0ZW<};1wBE^K4?J_L)RRoun*poO3F*XP9fzTV#DPS_pvDK&wvdPp-BnU zAZ20#y}m+!SA@*oB3UyaAkTLDUH)fIRk9S`yLhg^=YIm74!sG?k6_=pv~?IJ1dQpIlxZgN*iKdLhQ>G_U;L(Tp3h@loQbA zmm>}Z?vJ}(>bX?V<6OBuos{Lo#`#>Exkh0>4(w!Kv8R*r0I{*{hWO$Ndwd!xn?6tH zN(Z7tgxkzJ6?&&MQeF}C1XnVNP4{)PwZgtMjg)(Vox+v1P`#I*L+pkM`}p0dT=CW* zr6Pg8<2vEWCP9yL<$`olIurY1X8v!5{U)%JT&emjjg$t&Zc6M26!wE@q*+eN!4KL()m{PDw zC3+6g3l;j^X{1aM^aNKfBsOB?*i47Q_N9^1Ih~a6vA4MVLSp~WLb!5y8YxX`kn%jy zFCzN83jGv(l#~|&aI9DE# zypz&)54QWvIWI#sghQ1}rKm`wW^g(+FEc@Znw5~?@HJA~A!!6%mrl?yB*0mmwFS}*KvOf&^9s|MM#Z+Z#Jmnu*dgqZsmZ5IA!eqP{%;_vd1omQp}h|Nq9dci zL~h3OFJo~8Wd?3aQA+45t9&-tlcVk}_^#)G2}p1Duaspzv{6Uck8BWN{D3|IyV47P zrvNtFGe*7+rwQm3J_82`pmSlV?6bo&h+&eT%u($M7r@?S-3Ajs94n5jrXJ8etLjVZ z05*tH_4Qu8LBwUK2b^FEo3lRAoP(q(+HfEKpfCcl!OuVNMx^S4%NsA2k4>B5Pm0Ya zRnqBg!dOV05b?=o zK7?f~+Q1PC!Zp6URR>3y2K4eNcIdJ+YO5LJeJ)3dHBhjiG55j)T@JICj*zTjXxwKO zW*?=N9=ch8&$`M9irmOui%1Ut7^ADI>L1p^JyUJ{F-9dS>+$i zLNYm%g!s)-6il;e_&3-9w95Z8@~If$I?McRP8|9bpwXV#5ffN1*I9yUex5*}^*P$5 zR%#A@WRCQv6rbxJFR}N3_;9oNx4^|*`DO|zm7CHiUX`I@H^}_ra zrW)n!(g6rQ4q1E5+Z^69f0TXfjnr|Ws|EUca5jr}$keEQX9FKb0liTyQT@{P%V566 zl6RjO(j^2sF?Vsq`NI(&1Ws1HfQ|=C81Cb?ptW-ejQcvn*NX~|odfBs^RWW=#xn7Z z4t@eX(b0DAhb$ZaF7Xw7;h4P$pW!tACfRO2)mP}2AV7~0-@xrUvR}2sh-aOP ztUZyNF?AKr+GoSy$5jTXl!n*QhnyLY+%jJlt4%zg`>QTP9VGMoAAZOOVnL3{(-4pR5s6{_w5 zXGx?kPd0>#kd0@Ssp@x3>NlI)cI<%x-U69mzl0P5t=Pvvt_Ztwq z!q_m#iyh10o&()_`C^s34i1Oo---$HCuXaK3xYafbpNi}d&%{guh@EfuWg1upyX_? z@zcE*Eg}6Ja_0}t3(#k=8DASaRA zS@GO3LI>*ehvkJAK*HF{&gqSW=6G;@;F^p~e6lM~(dA1XdK!eavz293J%)6N%nmX^ z_4(<!P))a5z9Pz&H8T03^PA~V%JI0%bx`7m~=Xj}+QVBDz^Ow8_%C=%B>m@}Z9 zVBfxo_$V`Qu53A(jgf+lzL`P@Zma~Itw1L*7{KVpyfzG<%j(J5=iA{pWaXfA>m?*f z-+zNFz8S_x)j*!lpv_p0+?fGI0IrqZh=ZGlwf&Jy9}ZQ`*?=7B-z&~IBju%MHasaJ7hv}# zP}>)&<%e(x-w#OsM#aRs5P&3Run;pfSEf=0+KVw7t}Jpq5yMRsvHl2}su?sJxK>xt znP7{9U;5*V)tXP|;s^c*;p*y&V9N73DbMbd=Sx$b8z!E^a8Ch8`;b0#CC1PCW*G&h`N$+}S{a|9N1&bS zdyNa>ae!^1^&AWd`NP>3zVhHPj+FIW)(i>Z&BWUIg#94&V-<*KE$qM*Eg$w4f!b*Ie}E*!&j2ZYiu$f)Ctdx zS7QjugChqV;-%jtpqzDfhZ8yMhUO5~nlFY#-l;h!zfuEb3?je)bkV!|t z{!GQc@u2&FF$iTL46rfMg|<{By{}8^-P1VP9ed;G1Z+!l4zmHv8pLcg2&hJ5577QZ ziT3KGI*9eClWj-yq}Le4w(}d~(Rd@B#`r|rohI)@0jA7*hWV>8@ z^-1*i%l=3Hzl=|*2J+APf6xC+{o^TSr}_uY$bZ{E)LKJbwCCwAOh#K8n~l%R?mC-B zF&pjZ9OcL=J28Z`lVNpy3lj4s^$51tAAz0_x{y49j*=yA6oOPmAcGR@4E{MTrM74^ zoNPztBiTF9b`VO8*l;g~_xPlAwJt^0Rsnu$`ah@2lbhn@9}aku{Ut6@W~G*UL5%mA zq;{5gM@fj34CFR1MIJ)Sa3l+82bs?Cn3PzTGJmk$8RLNvh#J(0QgJk@G9*nb?w~%f zOZ0(M@^3`$XBbWE#-{MAaV(P)(f=GwDe|us@XR?(tmGdhs4+Uv=-VS_3C{gV`7Haa#&(FFO$6~F4Aq)UWp`h0Pw^h=WIDUkm@efs=P3Zy6M z`F)(q3R}WZj$<~OnB#Li8Vz%NoGeD_hG^w^6LeEPg+@;g9)Kvqg$_RB^I`+X zCqFYMu?%#KCNUc~Vf=8SMa>~HN5fy16S?jvEJDm6N*_s;7Zm!!g3a*S$wHo&s5~8^ z7*-iE8)vtq)L?!ox#`J>uL$)62(DheTgI4`B=6t6t_nV2u$=X!`E2oYda z>!8X|CQxNF$lT)kM3eYbq35J~QSb4PIwQ%~#7x1S$o#cQrgu+I4~PJ^nVOTZVmv8~ z6)yM;+_ggiR|4%NC$+Ro;}Sh(VwwRii;T-dsqv;1K3ku1i56cUb1C)*mSXN_-iD@a z95>Gz2gf%W&^CY&E|UJm&Jl4>68KKDYOIF8qv4M$coz--EDnD}!+kWAMBJBa`0H`_ zJsRE&e*r)K7R%phM&j_NkdEc|ROvTq_?S36U(yFIkCn*ukzYxvgBOY~tZ5J8kxDEc ze@6Cmbn+JQ24Gz(;6!gE)Mnh96MXYopr~D8RE_UH(Cwn`e-9``ljHsuIi-`b z?NH1!L1uSL-Ny1y=8F3O1$)1F7d}IFV z1M`Sb)`nIuRuN54lPRPZvoOCz@Fkp5MqShGwq>1@cEXjQWlMijzTez|+k@h?d`$;J zxK}{T2`vvuQHWf`??TI5JXOuLEc{7~Ka79eri(9H@bf--aSe_XZd=$9@jTleQzhVx zHM^28(geok?SUy?IIn<`u|f&_rT3d2Foqiqp%sY|7vjl>z%ej)Y%jwtKTS{0<9b?B zo|{ZrH=c4fQ%277;+#UXGs;Dz>9ZUmpX8?xD_W1^&AJyq(*9T+n|+^B&Ho_rqJ;&> zSlq(Q>nDptm_$FklRz}lS#5BYeKhCy?%*K$$%IB=B(`2wn(g0IzFI|+i~Fm`GjZ}2 zIuxtcafZ4D#zj~pXVfCpBIiVGaFU zLqAo}D-?8+hQ6htZz$-|e@VGRG<2SZ&Q;KL3Oer8xl-;#4V|E%FDvNwM-^4QG_;3; zPFK(+8hVq4wp7sD6!c0B&DGHJ6*ON#*FUCm{_AyB-(%eIisYQ7pv@jp(C;+#TLt|I zeGHs@UZ-8Aq5oCT{+3ffdbKi1Gb8rn-ik1i0J7inlK z4ZTT0Hz??18hW9I<|^px3VJ}-_r$+cegAq=>Kj(jZ!~m=hJL4@gB5g{hE{6mG6gMA z&;=U$l7`M#(DM}Z$O+ZkLmK*kg8ufZ)M%1UJ5obOC}>PU2WY5QLpv(yiwat-p;v2Y zGXnZ3Dn$PcQ=)V>8 z$5*6AF%5lOLmySpj}`P?4ZT-G0}A@2f_Q4Q-;K z7b@r#3OYzbPrat+JP(a_Es>Q&H-6!c#YtDIYC=+z4P$4gS9r!@3z z4Q-&HUnyu%Lk}!a+}MW=dyM^mDd^oAx=};dD`-$b`)la?8v3q+4ph+BG|m6e(8m?@ zW(B=Ur=6mq_bTW)3VODN-mam26}0L_snL3OYhVD>U>$1wBXA z=#I5&cD_qPM=NO6e5vn;52^b4HMFyWu2#^eH1s+RZK0qqDCn0}Ds8rgo~@wwDd^X_ zjSjt{>U-c(;YLpdtlE~#3VN-Eo~xnR3flj9=~uZL`uj_&zK7;XeccLL zOGCG4=+_GBP|!vix8 zbh3gzsG&s~+EzikE9e~>dYOhg74#YfE!EIE8d^(1GZgd&4gL8=#f?1=3paK?t9YfM zYc+I@f_|u=C-oRyq@fEH^f3kfQA6iw=tBxRPC?gd=y(kstDv0}^gRvjrlGeg=%ot! zsD|F4p?L~={28G+<1Zyu8foac3c6WA2k5j%aJM~s`|orMisZblpbciL7Tl_#TNKn# z(6i20IWN`FB?>xRLEGG-pwDXP(+XOsp?@mq3=N&8pp6yuYeSVgL_-HD=)tF@M*r2& z_8MA5s9`D_sx5WBTv__J>*Y(oRqN#jF#JNNe^jvdo44R|e2uz^wic{W$YTmVqi>J^S0Ib-I2&|44=~0*o$^cB(T%h z*ypFNvE%FWs!yz&kws#?oXU?p|KIZC9;X-sLaVsUkGg9K_I~r~6#55AZIk@?QY8r& zCFrN?1rop7MJ@P0-l}+ffL5ERd#?Vx1)t+QuCMcq+X1eIt2lYQmq~=jFNnz})$Z^Q zIB}lQ?r=d3o`|Q8HHMr1qmc{zxx~Jy>?uy6=6~8#?3(u3iuOaDRh2GGq5Tg5CHb-J z5@k>MhTnzuWh!x*PTWu<4Cm)~n}IQI4Uc}K_(hu|K3}XqFTm$Gzh((2;HpFGKvOt* zlUXDAQ3_OG_bQ*FwvEp4pDM#Q_2=Fx8Rij0H_Dj#C0wtWUE@S{i(n6mG;rZ?Y@JeL zSF&fCJrT|1j7@M>N)uS^kAqX)Ljy&)>x-R^B*d6_mA=tWt_u(&Q1)^;TE^I>UVGd+S z9R$uqr5m_P3x1j20w-kQA=A>;Inw4Y9Aq>Z!GLU7fXefJ-@L9y@ktzBirK5aQl8M$ z6*U)YYHn((+PxbrsBBhlL~#u5=%lD!yjfL3o91Hr^H=yBuS5|IZ*X2YGFw-offSyo z#7YSjfC}SQi4!b_mB_F37wmG(xdZQtuA3BH9d!Y1b-8ac^QilJ{rR?(a@WELTxQ33;W)HxuyA;@_=SKYUbyVdc^XDxMZmeLq*pttiZ^Yd7*ks_ z#;F-|hlW4*wPMUbmF!mic`-i68FQ6bsk~W7W@*M`3w;O_$kxRX-8wFF0Rm$HA6*!s zWMCPrs}#Rn-gAmx?~U(N;3RWtJdJQ%Y}IZ#-kFL}Tl6>7i=ePS*U2T(`2Ofmt4bwMUfKOlzmm3FHK zC_!B!#i}lwHYV#LW-Qdjsq1o^&W;8wRTmn`tX0UtI+srk`SU1$YV+q5Ogr)YtAxL< zlJVblU~yW;qs>z8Oh0_JFk!5Njq1K4bd@_ny{dI*^7Vq&lqovqzv6a*y$Av%I_BYs!SQVXfPy;Zoq(>(B%YS>%V=N0;Mz4f|bF}>`e zk&!)Fcb0(&7Q&J$`8_z!hTVn*e8hMM%FpJ<@kS}JIYO@iqJ&G5&5m$OC0tTj4Vqpl zQp4!K=PRY{4^|atNA>42kSd)GGgAOT(4rt!d zMdUF8oq)2qliUP2a407^rFd8yAd;As((+nUSmG_08CQj^$son*$)8*ClhVK7JG^*m zrYsfw!*|P$E;W&8&Kvj&g`_X~OfU9{NMQ;7;1u;u(nAokDNTTQ(OA)p5ln*2 zmmi{X3~cfrJVa`XWA`3ZV)A`(;&z19esf{yVID=xKVp7%S#pE$F(y@)0oM5wXY0B) zI+zgAuMrk?H;}&n3F~qWI4b*v(2!rJkIdn5`D!2M%t zmgzCI(t-)0K$Z5qj1?*E<PZ{^;kICaWI-mmsEH<_EvTDG8LJ&J}IhvxJJKaVqw)HZn8SM&{zY zY?ddIA=Ve+QTMgUq`N=U6?l)J(>6&%l3{$4bUxm!m-vbMyDRW;I{kLi-yntlxkA6% z-@Q-o()tTYyX@}{jT7*^6vc=)%kZRVU-fgm%8t;(gh$;6+a#)eWjyI{f=;8orDUjS z$1d?V6A^KDDi@jO0g|@fk@{SU5q)}n3LZjz+BlQ#F$0P9ezha?Cn~4wG(`xLIz>O# zOua=&kSIQq3aY7j;HPArt|2_?KG`}^rylX7)#xs&DSyV34-xIN%~ucdBx|K8JO>Dm zx?f5rZH%N4Qx&TdDWB6R8<}HLQZ800y~&i{uTv=_gy38tH_9cPmDgzP2(^{`5`4^f z_#TKndaqm003!S4!oPpw?R5Ux4e;;8#Yz4>2{yAogZMCJ2D3anIh^mMP{sUsOM)Nm zL7EI_) zRu}F}jcn&*|PLcnb&cSIuNL^c#{}tg;_j$>r z-gwfN6G;c?q_~~X{jVQUcyUVMQI*3xtrFyC#&Z}-P^2~5)gSE&;e_CQaDe#ZKO`wW zwr>TF)eS$|f6Ed2`Qt=;(sv`+4sv>c%zA|_XKOiqdDCRWo&dgTmxiD%Ua{*{lP zLDt+(r?sugd+T!Xof?0vtGx~>GJ6WzMek5J`7`gJ$q5I8C2X^ z%onqNNVb9;0gAcL5}Rf(jfI%%#sH6>|dm2~ZmiBi8`sjIpd2~M8? za`4s4=EQk3oZ70CgyeCv$`c;)@^k_kaPGpvF2(NrJlw zxGTU&-BwZuNpTXxCm4f)(KF9#gBSAKoQ(-C_$g%8l)>6z+`Q|nBnR+@vj|d ziGYBS%}p8-xzUG(H^RWKuR6>C+WS(^&srZHJ)Roh1I0xfPM%1CbP{&~Fsw4dv|_FQ z-u%q;%?2k|^ROi(3<}*~U5Aakksn{3=E|?>Qh9qngpNZkB&;k~vDwfquoF`XrrUAZ z#l|u(JUSmu?Za&4 zbp1-JJ)W)3_?g$uyc*W1+sXBz$Pnjqqm!Gh>EyFB&?gqcv21hOx`Wj`RvF$n#pjJq zZDlT5fEh9}wJ-Z2`%K?>KZI>TXrDR+AV-*MNZ@somp^2|kkMeIYWe=U|8z$OX@$Gx z*`R1kjMI%2Pg>#zueO)fm(bP5HB5Ls9gw4DP<+IMMFoMgcdTk(}0ZoG0j=5DRrF<&l$qm7^tdlWLj`65{s4|en z(6j>qMFZ567Mq9{xyh9s64(I@^r^XK=O3VJqBiVXEj8_1fC1W_{a0H3@MzJ3VLgYR zd40-fdU228QaqQ>M6qbinYsO}3}j+0$H(|y-O2706pp#gL2_|qR3ij5EV~6^YfmgI z!O%MDLwEzT+W>^_!C4551(pWBRDg%Ey-2F2CV&nM2=ET&<63h+OqzAIC9w z9ukwGxDTA!K%f-helz&APw*G~R5sEd!F_lL&R8)FB=}nocTNY-cba!#szVD^EW=lC zbP|?DxSR?O@8i~pxwT>ev5n!d;r?Q7+ewDwzVDR59A&z=>Rq+Xx)Se}mp@bZGY>!5 zqQ^|->E(}(YDKFS&f5NBKKBLZ(#lv#9xLq#bw*ui9)-X6uoW!2>~gtk;1@HfUL8P% zwHp=NN+z$gEeR8%G($5-*a>jixp=_G7pUw|?ekRshy+d+BZ~4aKh#1G z6#A+yy8r9LXp|pmk{Na5P3b z@OnCDDK7|q4;X%g-Y9Lp0uea+`i(C>tb-AZXN8Q{wD^fWKzeVfLw81*FvqP;tO>k-dLI*_NI=XS5XXRg_JKVu26M*O8f zkvBL!8?>5%OT`%@MaXYp%W9b;$0NOwfuO$&v?rWPDTOq79vE0lu3?NZbN3d>wCZ2h z6{wa&-;V@A#6b4hm}S~PbIO_S<2tv}8_73+Xm_f54Gbqn48gP6Ryp2CW9mrlmBpd1 zBXlfI0uKFT+=H~}Po0^?I&TEKiZ@}$^%=G?+L~+Omr^*IC5V3DCcg`pJz$@ zeQ0k?6U}HdjTMsutSl4|ufMw1cbh``21raCN8H)=wDVaCf49cRJd=w5_W#1KQuvqD z$baVl!v9_2&#aMu*VFOA&s^!sbN^Injw6kx-@F9)ij&vY;N*THV}!;!@UCPGUA54N zk3}+6jVG$p-ceMi5!*x5>1fV6sM6>&r)fUao*PhmW-KwK`AlDz(7eu3S`W9IG2!;Y z{!2}bc)?2P(9l|v@{|3p52s5W!n_I5L%fl}*%FPY`QcDyS)R9G)3j@_IGBk=#ikiI z;>bI$7QNW~sQ|lSMvUu*>Oftu9RtHS#+3w7zh^+@s$cVuSkJqmvm2YRq=@$i)GHTS zeIeHytZ-l?Ha@;CO|%c|j}c1E{T%XSafe0=on^VvHgs{Y_4gRZ zJe9{XeU4?vtaD(O&p#rugG~2BQ1DUY#cAUp;AHyXuCIb?vnx6@s`}9U7^i#nH-1=% z%So}`j=>C6^|kOHUGWS~3aSyG1|zgkbA;<*Tw(ihj=Ei0j`$ttNQ2kik~!#{ky3OH zE!uiRR&(m4`cjQd9N}enE1x<&auMq{ zKIP*{$rs)KbL0IVDuwj_uZI`f`dQDv^_S}ViS}3W_ab%~T9KmeF+&P%*1f<}`6+nI z8t^^|xM<#J!e&gKrXXL{l#(2q-mocm5rIoxCsh1*o$x$y;G(yp){WRLJCPe$WImOLH+;>;5lHpyO>WsiBQ1cR4(@HX%r5% z#Yy!b)(@e}k%jS%`C4zZ0G(w!Hgklo1kj7C29-Z0dRlXq6UhTv(v<#aN2Sj}2vvhB z5fWz0Z-g{hkc6s+tBNs}qd7l>MI!XUpwr}JqodwNGAUbFq9SRjY8+{g(7TfDQb#e|Q}&x9 zmVgIRMK3P4L27gp)F{{HWY_o|OXOn5;t}XJYdYR;_k2Vpr=(&ALXLLqZ!f7B+0Rox z<92)*G{6z6FD}CF-KbNX?+{YS)_m7dl8g*y8{?;xle`geCwau^@bW zFzsanpvsf}HES|-13);o08okx6nY%XZtc&-)>w`T_nVt}I25Kl^N%9k(ABD&wE`#E zV;R_=E!>nu;Kqy;8h5wWG{Q%Bo$4Oupa)4~1NiFV*4S`mDI8E8Axd1K@?}1N%1N5a z>;#p0I6TiRpj8ZF%kDQ_|4Ou=C#4%T)sn4gUp))yAc`q?8@SxE@0a#c@(yP88@L zh;rbm=r|bv2XYQ|Ec}ZtGmsw#p=(UA@oIz_dFVm(!lTGx$AN5vAfo?L+&1_ZK0|<| z`Y<8;AreGkr)j<>yn`PWyDn}v#?6!E{+E$!Dbo3j2PrqKt1(F?B-Vc1dqcL5t0QAV zMsBzYAFVnd-Q!r?##I!;0B?Y$YEgN0eO!D>0?Vhl5XL!l1pc$ukJ$P4l(%t7KZgwo z{ePPD|Nb@@R65>{?%&UBn8?3KUG-X$zg-e}98avYenEjCsfaQzWZ}gecut(2ZjR9K zO01k)p=?~QP^|(;uVRW=$8M;Q&H4Z@-srU#+%2=Fu`|DtJjI>PuoXU@FAXNsXFe!} zZO;Qd3@o|Hg%_WhLtdv|bYnuXfXB!|pt1o^VN=x+`U`K?NZ4HvLp9r)L8k}NAh%#i zZ+(kbu%@9SybZ`Dj>W~edIVPig|_~Q7_8;TKzAhoG;f+BR|dyJ3~Alhs?^AP#@@C$hH21{)A@~H#Sfha(EQ;j2Z z4Z19EtAWolO5`;*;YUOOyB{5gTTZZ~$5MR1`5%Y}wo7NQgKl@B>yV*8>YffHEkuE9 zK7YLyYX>P~BdronBUy+viloeHQTwDEI}VPEJ1ydfiWzt*g9cLihE}K(YY!on4rBim z@}#Z+CBB!dCDex&#nfp1!$-LCFhxLV$g1e&a+u9O6=w`b=sDz$`0mzNuG*(MVWhwW z3K0pDawN|@bRFn`?DR$o5@gnMgzO{}RSgYh>PW6HI*Ib%Yd~ghA-R#MQ?PuV!Vy4$ z-B9dO$z5o*B^(Qu69NB-a{+cusaWuzpr@L}MC_keY#d^k>v0E_QFFC!jL<120r510 zVm_WcRp#T4{ivavU*TFaq4hoV*Q9SanB9i$9W8vXeq&BJtaPz)1Sy_tFaDZdL+D}k zG0ag`v13`W%YlNh2F}U+N(%9)LhfQAR7G$OW5;fB5Up?{2^ry!G(z+hSg?CeafII? z=Y%_n%9{<_*T!wTIKnajK)>;FxvCB|wX&{Me_JIMB(Qlo!WdW-w5ca8K+xqU&%=aJ z_yx}1=U1X4<`z$CHOk(!-i1WKBv4i#$9_t}M<4)WFzZh!hJ$`^txA1(aw zE}yzi3cb-6x!K&dK=tkMKyZY_uO#X&X63b3HoB!|a|2N4kJu8<9AI=OBvO@5bO}e; zE+5a-6E3XT6YBXRqhQdKGa}-Z;0RG?!tC+XVNo+W4>80FC5Zy+)59MjYBXUG9;!XY1K1#`R2Z{TebMQr5e#2s6)R~1L@ zS5_mGIBA0MiCI}CoD9LFQEd$Z%xcY_C;4-dKP~w40xEBPz@M8bMRWNr69dQkg|GGS zn!3LRIf?TxJ*b56TGd?hnfZD$J<9IHJ!4!+87<6_v*zDoeU5dTx!^KPQ*i!?FR0Ih z%}2TBTE~$rH9jboelQtFx;B8>K282|{THcAt2)+FSq4m5Vmg2r$WlEKR;|7Y#3kPbf+-8|)F$`lk0i7)FLK4bxj zf&!OoV%(Nb9Sm;#0Y#FdESho7=;W%j@M`G`vf(mT#<<7@E)1jY7q67yLFCUynMEq@ zka5a|D{d@P2f)y0JIhxtJ-Mfi^{NQivIeCQkOEDD-XvJvI3E5tM`HoDR_g*_gFiYAr&Kt{_>EKM_}#MA6h6irG4o+rIJH#?4zWa=J~p(FIzLACYJb6C80))% zxMBlmmG+rO;ZBK@g49aq;L<*xhH1G&Nvb_;B1$S_l3MqP_kB`4`y#hyk96$c2pjs0 z3;2N2@MrrWpX2JU4|yF|Z#(1|w24h}$Z^hN^U+QL_@W5E>U`G zY7X&7)cA*tWB>gT_v4^pnid|$07SnQ`5VZl!ps{y2ZJ$izR8nu%1zobm=5;C3{`BH z!2?jK{H`hJcnx&NyP36`wThi9)vdl01}2DKcgT?)B&nqTi$jjV84Dme4>|g+z=sy5 zg+@WQrFYR`J}KuN>lZwO!DUxs760>1ywcfy^BuS$4Sm)4l~d+T=JKm3Ox9SBFhC4Az> z(j>jH^wGaTI4lqyO#XF*?~yq-?t~;$=@LTl@3g5D)9S;?oueN}51m^glf9h4f@_@C z$J=V#()=UKXHJOYIKp%$B^rF6kieS1v$ib_eqB0z7c$eq5HVgw;X8ws93%LHK2*{= zWywVwPDIOZj2>}N;#6!gJ3p#4zJ|=4W?XI1b@#^MecAm+PcXm!Qemkbsj(dI*A}^X zc%>x_C?k+cU28t}eldK)6`m@AIv<<+re52N^J}y)3jxU>F8<|G7tS8!NF9OgO^j@> z(E-c#2beZmScEwcc(Z_qja825gJv7zQKRTU`N_^cjL29oQ832WOFn+1KY~QeWDwx% z@kQDL`q(gBJBSN6aDfRoE@0J@ZJ=RS2n7KTCj1AV=N|KFwi>pXpQ15WNs*PvuOq^e*(Rx>Ma>}b>5C)iYBccgBLVa)q#O!s}d8S;@tf7>uc ze`}ijHvM(oH1#BFTrEH)9sAbVoDRZu1#`?4YdAim%c?rxhc+&$x#QBCgp-d0^ZkHvt8oXYOF;dJgwC*N;& zUZh!O6a1PiI|T(p?-OcXfopK(m|_n7O|fh(Fu<~5GAM;*eaRZItOl#z5JdNV&;7r% ziaW^hjxYXk?0<;p&c1iFJ0hIV`B*Pbo+92!Lw z2w*5a+$wE*8O8{V%NQGh-g;Toml<(7?Z^l0$3DZc1OJSh%)zr$1`ehs3>>=M`iy}b zH`pGN_ViQ3;+%yd;rW%pnNC{(0{ymb zUf3w1m|=75nodRV0i1S?48iUg^F&Bkq?+RWB2la@k|YNfJj$To;1V z=>q3P@8@KAq?{T!X2%=&px?mY7bkJs~FQ0WcsI_ZlBYU7fvcJ`T2$fswUo;Oa)ntT??zzm!J5j9juuY{sd zHUfPym%E_RQcy@r58-ULNtYSioBgRZ6?G{!J|QK(4ZnJ@L0DREy{4&er8S(A#Mt38 zwvl@8hJBvk4|ZR@gT#Q6(RZE2Tb9Jz$;v}kRuwX~9^_9Qyi(p%AI{&%Q6R08(tMs# zSY>i!CfamzVGS=Ok;4?h5b@dO=!j~%lj40q_Xygap?3=ZQyT0Ueqe(=iw9ruOJ0um z`ZUDX6;Kt4I`F7=rH=WE?j#)|eTA z0`*sIrsi@dW=$>G)TbIFq^k>2C!v4L%e#qs;0S*u zteBc@O+nv-zbp@P#GOo^lUZ~!SOeSJ3KBBIEe@_Tuk*H^kR7yMlT*}}MZbg8iMlr;PJ;Et8Q|#Dgg;97 zoBtc$gYf7X;3Czc?swY*KJI_RClX#-6P`Q|gd@;{Ayjr_V)Gaq(81YDaV?xTc#C}| zJd@x_5&Xm{v#~^-*}a)_afeoL`j$Q;-kG1sjG59ubpEF)Lf&9udC!hmP2P{G{%$%c`M4g5#hnmSPR?vr0f(7VKb4wS{B9HiH=AxErYgya&!$X(> zZFLl!rU`7giTzWY(9DNm#>X|)hkM|R>jZR%^!_dMM_v%MgeUA^9 z^u!}^_)i2Mj;D!Y5^eZNADaDlz|3lP-O1s74en51#m+xTI)9%$tU7T*8YIG4`yH_( z)3pU*Hx0GE3s4;qrjF1>z~T{5ZLuvi8n|e;=%wuzJ@WjKi+s^Bz=uG*#t}Lj_?A~{ z6%yi7>@&(ZlQxWCn4xP2HUA+*$KTQV?^ykJ0{`Mx%K)6EU&nY*4j?BT;Yr+gjb?P| zN=>{I3={)pBX;>h;EQeNA}sLCIir+8-a^vy>9oa{0IhubU_5=yp@!L`0-cmfg6!l* z-5+9LDO2Qr^ZQGL7mm=K#HE2<9|uHokw9P_#?k_e6(%v?RQO^qx`|0d)d>~I}`z`Wj1q! zj>7Iw4aE!d6w30u;APay)t8HD=w+ZBDi1Z1)&A%dNPgI6piqV914MJjR%&2#@0I8;RHMssKkF>AvfK_;)0>0~}uov~KNBRqOu1VIEWzH4ef^{nMw#eLHdpL9rwA@*6HKqjQ!V8t7 zOtCxWOyo&$5{*Fv-8d(2sBFgkj+`;k7?%0%MKr>}Frt=uI9N*ER{H?c;kpd_2^6X@ zCwG9uyDtJwYa%3~@?rRx=YTllOQ$fuGf^RWnXo@5O^h6C817G?-A}hOB36jYhl4B4 zkNfP$7@x~}3Om96=7-}$(yHLjFmt6xUFxWdZsDk#(o_o1-)>FBCT^f%8OtSAB!$5lIGpsb z8<~6Mrt)5VO7dvUCiFL|2*RU=Om@xaY|G+kmEAFSBgEK{8S$B1kyX&d9idffDS=tE zX-hPt+E=jfQFem3?tAWY?kucInB{w8!0v}2Ag4C0R)czm%4Lc-`kpi$tjDH1jUXrgbfMC^5HE@kbbukKueV?`?#YdGg)`l{DKH4F z6@yUi4n;UB$~uH^7ncK?{t7nF>|N7%2@Rq5wH?u|c=zitpa!R+tA#sASF4LF!jG{V zk48stsTVEtq@%2w61P7iV4t`7W^e7Dt@4j}KFk8wByPx6;h@UJ43Zkrn2nq-y_ZnrDQp(c*`_8%dCPlyB^XGX;@0~Mu&VJ6EnK?5M z18f0IZ_xw`DaJuGudA06Vls4u@SX;X7b|u)#BHxOIaBK*mo0uP!H8h59tItkD0!g$ z>c#DhtG&lOO$Vvxf}s7GnOMssU8uMEBkK$n#3rV7Z)v!t7LO0Jce6rzykBp<1Pz3ZW{|znNR3C6Kw!l%YYJ9C zM5VgP^ONc(1LnB;A9#s(Q^@S5r@;kCH+={kh`zni-q;{8<1nM<0*C7%^fR`uqYyBM zr|qBMb*J|97L1vw&AydiqOW3A=2E$8T1R1!4@<&9y`EW>#NL~;?O3gGF$Qbwr5HSm zLQ#n}3Lh-hZi2KLl0dW$S@eM|F!+-&;**Y*wmlXL8%;pd$l*_K{3Ob6(2>}mE!_yt zNDl}%@^^Uvjx?!y$In&&{fX)XWQg;u5AGwK71ZX8W!cFpT#Bv?Om2_$a1Ro=9_iQI zBAmukOJM^Sdf7x2`ynouhq=#HaR6h&~$fBh^Q5Viza zVNOlsUID?fMo{|2XFw zz7)XM@GiI38-KRy6EQteme_m79We4X=JRI_fA-+#EcsQ!dNlNY>6*HNHE0khW-(WJ zz0|yeJfo7kPzJihVf93aH)lEG+FIpgM~nfY*`|GdRBie*+w?EI#K%42g~_KcgC&%4 z-$6cum?wT2jxufONlH%8lV@uETy~VY582lH3%wwAzlUV*!kP&2>3Oll;nqqH0kx3N z`g;+c@>jA@c5gksRZDeMA&YxraS;wD2 z_(`yrRD5{n`=ogxeQa^}khA!3Y2{zo%IM5meZQ#@ymYl{W%_Q`=49fH?fY)(Av7tb z3l^N_=7wL(_7chMS^X>b<+M4|_$@YI_w;JoAN#uEfyTzZYoNU>FSf)Fx%y8H%;g?V z`|3Z)FmoQH+*HZ6D*Z}bA9ExD-cF)VQY$IKnp%an8gkFU2qWK>q+MT<1rUPU6>eJx`Z8#o2J#`FrXDe1CT+& zz_uBrbA>V;22h26G2UXI}`z2O!t@So7!pawny9r8??D;_`n-&oD*9U3!NoTq$Y@_t}^jFu+E6)^&KrO0|qXE zm8`S7adY#8ze7AawLX6H4Z9P*NqBNuBQMZ0@Zz~_3~e`nL7LhSEdld3v;)?0EZ$LH z%S^0b`g0mSP7|Fv-eyA6i_I8MkN>z&3y6vp@sKh}8W`8sz~!m9cFq__u%zb&0)-mInb z^#@en4MQf8G3ngJD1WRfYMzWUF$XL}Ubd6eM+ub_Dx|5}-( z@Nj}e{ka*~YQih@2kYT749v(5RN`AKbdNVfZNmG3|IGb=)xtRRQtmQ|j2XK1N4vE} z7jEohg-`K^4Q4ziRZo=XqyA#L0^2^Sb?e?L3uaN;3s)_;u2_NZ&FhH&b!4JExfu{o z2qy(88}`x){ia)lH8*{jQo0%5?moWBT~MLD41WLj?!k>P#`zWvfF7JPi4SeJxtG|p zEed1%f@-Yp2h?`HK4fp_SgpQ)FS??1`(j&8_);9a6h1iG? z8?k-N=^~c}xe^3wr)e`Q*CQSJecme`j{BF%`SyHr4UpSvxO%d@Sx+$&`l~-83G~g~ z5leW_D{x*L{1z&bVs7$8qRK<4=%RdI~Fwa9m&4H+*vX z$yyX_LL+@CI>a4uMA|$HBO?3$b3iP@PWrvr^dK6sujGu_L~P}CCruB+Rs`GUAW$Ov zRfcEL6yWbL!t~(^p^PukCq}1@)en7&Yp(CsT@Ph{2vlb10rV;e(eB5(1axL2a)c8E z4k@yxhGLs7;l4vpV+Xp;OA1|x=*U(B>>RQ@APQBtK7p+l;XS}E=u)kA5|8IZ_E$h z*v+kdbjFjk)SXo6!iWTmUWDlde-oxH6=YYFv)_Rir*S!2=mX^QPNwex?ECX^kfnrG znpt;;BdewHp4h-Ya#*v2F?*wv$J$n^s~0FM)l(ZdB8tX(BQKQm6AZpysycF@b;+;q zYU6UW9&WTH;p_=X(|4T4a1RlFg4ub)FEG2sFjyn z4u$;_Sah0`R>uvX7XlU^@3c=um}G1t*p2$4yAh!o;{p4L^N#Ey_}jgiZIG9TX9|(h zhMU&cUy^ckA|z6U=_sG0GO1_H!ri(oZG9tCBo@C_YW<8SCKCw@8O6G?A{fq$t>22cjwmT?$F=5)f6g1 z=tmzkkSMkLqMO4NX@7BX2##TX-i+D?D$=q2%tNyOH@OH?{yjI4gZk>e^0hW+5C9O@ zH1Nay*Qe{?UW0<371*N$5t`UaeRj(eN(v{+5GIHq{unZVrU6*0M=Mfzg1rFPk!gio z0klvDmR9*a{M#)RwX)fFS1cciyuKO7715(CKv#Tg`I}MgU!@itnzi9t6BOs8zyS?| z#0y;N0~y$)JYm?vRQH;2-q&ulr~X#vA=xy>??E%vzikltSx+>|kq;9$91lxIxka-M z9aITpejqf#xC~ez@4E|IL}h(*`AG%7Biy%;p$IU+(_Mjrrdn_nsZ=h9$^kc-DwABt zD{B#99Z`gTVg1L!(C62{^%vvT1Xh5)8QRQy{{REhpmcbf8Kp@_;b11hgbnY&;OpHj z=&s0ZZg0W%sjYDFC&{yHZ+#DUor0~}?D0tTg!{WoBX^ad1nE#dBT#cuMsjRcU~(Y^ zl0d+EfLpO84%b&0g{WMAv`iz~d3d8YEOZA>z}%{I6g-{_p?D zZ)3HUUEhDm&Noz>`3l-3Py^e5dJXo$rJ3fxw>0`$mJEZyO0;rp+?CpbW?gIJE4^~RvVKr^o-i%eUSV_dUd10R;Z-KK8V$?KXmr`4S}9B6=8Z* zKE7=(m-`>H_hIO&b%%;Wx?b1k zXVeGPB8;dhsaP0bO@Zw7=M^*)hD7?hTWf10Q!r|Zvh`2!jE5XxV{-!bx1g!ttFZF{ zB{QW3Ung{cf`WUSqHc^&B(zXL-Fg>w%S8)$SS+zrtuWri^GMixL8-_63p{jkodY9e z2zu|@6gt%iMu7`XJ6XT2W-nK1-=$oe(T}KP;t>EEPUawj1LJ8tLOz{a+eaVY4=a9n zB~NUy%hQpd7ddc7zMNzhk!_Hpzb}u5E!ZJ`yOFvT|0UFi`855RBurntZ!|t8dE3e> zw$JbZU`)f0$O|4j!bya|q6h zgIx+dh2XJq@Kp*tmf&G=a5DuSN$`+3_|&sf`N0II$HDs)_y&R-#lh*RXA*o*92{2QrUZA1gCA1hB!X!{V|K$}1^#Oc!0qGUVg>${;IcTlg92|M zxG)ZGslY1f#J|mU?jNo(QU|oUVAeii;S(1$kEKP;;z6JhLfu|8WHx7P7fyWX& zI1Zkzz#|B569@YhxF5mfD$Oi!SKtzYABux}DR38pN5sK73fz|9@o{h~1#V4nS{z(Y zfg2K>69>nhR97e@C!z25QxutH56od`TR8 zq5{81u#y+ZCU%DcKTq%jaqJrucpkwm;^0mSTu$(9ac~<2o<#6Pad3(Pk0N+@9DLv@ zsr*oa+r_~@C~$9r!4X-NU#h@Pf=lAycNMq;!IR?Pe<^S#!B@w@lNC6f;2YxL5el3{ z@cD6YsRAE{gnH47n->ty65}Y3gmnra#1m6?~ z7btKyf}6y_mnv|3f-i`J8!7Mw1YZ^h|Mi4azA?dL;^3bZ_zZLc3`1x_NkcO0Cpz(?)|IAQZ@s=#{)&WdB# zJT8^rMsTY*c&`GlCb)kb{H+3iN$~A)@aGErDZ$sr!7nTD>jZa=gJ&x6zX(nkgJTsq zMDTra>{}FgGQk;fa1R9@LvZUjxSawIA$VLI++2bC5ZoXRK0Qw=Ur4Yk4*pGna|oUs z2d`J)%LslX4qm9h83a#>gI`nNMg&idgCA4ilOqA176*@0;6ntL$H7Ascpt&jsezj1{TI~3v)7u;0-0I?*60W0-Od;et~ z>$Kp+Hv4MflYg73y-1L+S%MbGCziFu@tCKXdx0%+sUWn2{On2^4kj1#*s~NTAYU6d z?l8)ED=mH$gouX3E7W(0QM6OfZFLG>>yayb^X@gy2T|((An(M1YZ2sNEV>BXvh{1f zl(U}}Yz8bOzl&rZx-L?1=*Zx!mvx8y0C8UQ1~tb;e(+i!3#96=p2k@k3@c)9Y3eT^>m|=Wu$ZYi+dzc+p;qMIOLVT<5H_TS5@MR(gAX7dy z{d`~|mX}bMC{s5fThjz{XzP6-3OQD-e!?Xb(LeMs>pVRi6rWNQMS5HeRG}(TuXc*+ zE?|kY{h)s0FsVvx(b?Anm0HmY@QqxXIS&u|4@dXX?{63$dcG<$CEd8%*ALjRg^oc$ zI{*Uz@lc*QC+3_7>9fA&BpS$cc-IVQs1HZ&MO{x~BzHG&m6V3h@m+xdK5JPkh{F)i z)ieA%_n5;O?)sgx0@pkI?->6g?YHN23hZX-hA|Fw(t*@R1T zP&?J<{>WQyU9p1U&NKuQ`ssJ*WR9cr2*(@-8`7BYtDP{G-$nCs&4jgfLb6I|XC{1d zcET{PBK4e|a8)6vOx_jd7v++m1s?!QjewoG$Dy*I!GT;9Mj3{g=_6Enft8-kccd4Z z>7T1~mzADsre~VzZ>V&Sm9EQ@xl4DL=})TkK34i_Gky2l;(;&tvP!>&>Cq04Rhh+n z%|u&dqRmohw_0STo9WM)=?|&&J5{>xE>>ZRnKn$N-EXFOn0AMm)?1}LY^HVaKu__t zI^ONlyO~JuVUQufdbTIBU=;9Oh&YY5^#6n<;lvOWIJ`6P9afI(^b1-;NqRfgF4NDe zPhnnoI+bFpyR&OL{O4E+qL)HvP)JXL2j74uCwZ4A0?BsnHTowCI@BS$Shxi6(^G9VB@IQ?j9NXo9Rf!>8ovclQv9B=ip1TJQ-VxGGC{ z>~xI8*)(eAr3KxGR^Yj0^<*O{j5YuWZ$}S0(uvnyxG!2Pt>ytr(|*Z?ucn8K1nU z2ptI=c()-|vPQy8&*1G ztqc!JJv$zn)Yrlv8pp@z!SMMzK5A&XSn3NGl4#FRRrnYJER(_C>?@HXgO&G&*So^& zO2Ec9BF*qBs&1-$Z7LgZQT2vLVih|Sz8{n7_Kf22c(~QNUuq);LdM6SYplV~$a%~U zEVp7|TsNycX;1@gira&NvyD9At*}Nc4X-GMP2%(G5;D9J_9umvytawj+zyrfRM z$F#gZGu*Q?%8@PQ$T5AdxNgVI6s&^r_3m%^hfyq41)Py@2n`BZ4zmzHz_6ny*N9O8xs-o*se=RK|#0!v~vd%hZD3 z0RUeo!{|B=>ykS>VVD+r0zfq{aLS6;$EFwhTz!>IlOBGPt%X*a-z1FBIDSmwXIl7J zf=~V(ANnV(9$?BYCGTdJ61-(o0o*i-rNn3mPk<)Asd*F99nSTo(2%0SNCjF#{>onF zG^T}ncnuDTxHNf6bX?886VJF>aA6N*1Z&PeUAU0i1?=Kz6_T1P%epcsy&{c{Z&;>Z zY};<*9Qr!HNi>eZvG0Hz9JPM$2j)p`l#nfsrN`b*TtB)0AhdfnSRa}xLPoz0cj zZ3Z)s=AAo)95MWD@7GtDDW@R}HJwLJR!BD>6XbREHeB{zle%Xu zKWn2;74(y2St5CNDD?9b`cfNxw2eMc&|%9$^lKFQ4qU87VP3S+ud~rJ1pOtV!$^6d zRQr{?aDHO7o7rf;q_f)N71|>pCw??p{g0q)W%Uszi#aX?BC6k3<@n19)Q9Vq2H*`8`|ji*yx#p{+&W^r_h@# z^fzj(#_ejO8yf5NvO+(F7nJ>H#($4Ge?M-aH@49~5%dQX`gaQbWrcndsdG8ff2Js0 zsybQF3l;jy3jHR9ej(Ahgz6vK=*5EGRG~kh&>afBLp9LJVC&Ot^fW==!)wTqyh4Tk zG3RO2d4gpZ^fDWLYZF%WQ-$7Cq2H{~Hxpe7bBT@qil7G-`X0QXW$G*RMr?OMKSIH` zRCSb~_gCnjD)beM`5twale)Bw$oB<3SJ1Ce=s|@ZQs`bA{Yjg8O&ZINsFkN2=%*c^a?>=t`gIEZb)ri{zH6iJZ_KLFCpysYQRpWb zwms^cYEysMMxQU}Ki3F)SB1Vpp%1XpZ?w@T2|6N&ka}Z;y%+i0H)T0^2m z^Ok-pOH$xYb4e<<(PjwR-V=hhs32iUY6BRTq)Mhm@@@kndUOU*Q2g)NDl%U3Y*L+s z)Uyh`qeAbZ(4|MEiyGMIry8;zqZN8BUO>H?q0pnwfKB}e3df~&Rtoxc3Vnk@U!>57 z*y!)r=yL?UkwSk>q2Hs>I}=?BGs#9DDCj@&QdK1HA%)&fp_h)qwFRl_4K{kFp#Mjq z7b)~V7>pf~#$(n1xWGm?&Sh1nD)iP&^cn<2@g&g*UJLv8dlL0_)W2PyP- z6?z+@%UI8`(YL0us!u5NwhH|rg?{ue3q8q3e?`zoDD)b2A5&EODylO{RT}V48-1am zuTC3oR4PoA;rt zmoETM8nDbp8!u>|0?p!F|2nGH$yfL(_EjLDOMTX-E$mOohSdk|b36COipGD$ao5Tbmac=?%r%fUt zB+3+t28u){i^Qsk)fVlAMB4-sHP2cV$rlo7BoWQ4_&_>SYX>I+A1v+AfzJxYik%{%$N)T84evriY>Xp02xBA{7)I#fl62sTtXJqrX3 z%53Y?a{JTq^66fnTc3XRjMa({JJ^?%NaMIxB(@zib9dS#+6jqQ6G%L0lek()1W6*A zcb%%h)mC5Dgspn+PGU~CC6IXekm?AJ%6$nCP=TP8`x5)p3o$@&rce0v=+jmOmPzgn z6p2R^iJlgTM{E+Cq*HbwN2?9y+a$&di3+5l4GI*AFAkV(P+*goDI{J@AaS2fqMeW^ zS0t+Nf{Ki_NL0zvi)<2~35i@q;%!AD-y-q0O=6`CsfGz8c06gd z#b_aM;DEHn2u0%5A7)#Out_{DBr1VswZ*eGiHn59`-;RRio_CeR~tA#``fkc0s z#AXPcwcsd4VkhXKEdmyaoinVq_!SMU1ziaw&a+9(5)zjy5-%tcy(|(h*d(445@!(J z#Hz@8aA=B0atet(NW%<$_H9{W(kv2#Y!cT>eHSN?IQ55`p>OlkNL~w-`}UaGj2GIU z9+e!*6F%)@=icQM+hBwuu?dK1gG!6U_K?*E?+6KJ0*NLzi9b$~#3hQvTt#BAMdBHo z#BD;N28FiTVC}!GHh4`)>_i$W;#DLrv`F-`Nt`Dn79^0EWs?{nBwiqiXkMSUq#1Yp zZni~Jn?$A5*Ox%zb2C)RFqQjTKtLP($NF?@&}xIAd|Ht3X+t~rLdpF?MPj%jakoX{ z37bTLkf=hARvT14ZneR&8aCs0`tXV5WhxR^StQDA5(gxwPZLN4Z4&PZiDwjvpMi*q z{BD?SkY6an6p7~*iT5oM-vq3-7$hV*B#<~W&#FjsA<7G*=|rTO^8Y63Zp0w-ZQAv`I`A5)nmWBM{LR zf9PggB-tb;2#FC1B=T$$orHv2k(i@Md}5LK`cbPb+6#$G5=b1GYqf=5&5EQb5;rOm z_gW+-+a!LGoOT-Vw)n^<@sf~Ojx;br6R#vAl=t8pGQK|@h?B9L7;F4<9pRDW@q?Zz2s%*in&k4zPp^e}X|!EAnMRsto8>X&yI8 zbWqqgBrjz z;)f%2mK_8caq|()yOQOC?h3jZeetz&}Dj16pnvLPs>| zN~o%#J1pKrGN|8>3hoB3@sDOsn8~5?&iZ2CRdXoZ-Nl%LHqrHNqZ|X`g z;>_QN0u}U3g=a+oU}=y8ox3}C4ZT%GdZhc3JrNI_s4UY$+5CVFX6d8Qbh&oy!vaem zbve)y^ik0Nh|`*T-f*yj^oL$uK_~Cg4%7QHYn}0k+-2w!-`(y=E3ppi1{$@SW!&M` z)s>Pl;#$M&9LOMAcfkR;wZmOLZ)DDH^pR)!iH|P10Yi(JD7Y59h@XVF#o$_QU}ja1 zOOkvqn0YfagYgr-HQvCF+{fDtB-EuRtN?nz2xcH$$-_heI&{P>ydm{#jsi0lE$;p! z^or9_z?q)b_6G56`g||mhjvH0>zTZ@SjnZwA!_Qxc#2TN@v7W0jDba$&_6G4vEx?Z zH2CvK@EVhiL39gDTCBPcmWovBd2`U4;@n~(s51lrd<~$C)2^o<;?QQ)MOyADrixR` z_X&cX5N_m|m*R@U)&6l9WBJyNQ+gGIx0_HFQ7sptG?Kw(QGfc>H)$l*O?lXYouL-I z$t0Nx{WNrJ@L}{_hQ0%4H1s#?V(i(MfWhdFvmW3Gg@4`5q}Yc>4xq+ZK#ci#`n&#J zUjWZ|7~B7+k%e6J!%%sQh8neqjilx$_3`=y^*zln{OIztP{kT3=tS1Bz0i+Wu^&#m z%BX*DMmIEVrzmeMvwUc5|G8*K|7CD5egS4j%P#EcysLX+jz{v*H_oJ^wSm>O65s$jakMft}f_06)6@q*jf-qdX zTgqX_WA{3c&#VqA%mG4H{si}>`g!) zbDELYTfAG+z!CfCf2V(m0>tM2Egk*Y3t<+l{)A!}S4L}}5vNGpK|LMOPjH6Q!!o=r zO7|g1`Zm#*R~WfSPNb>cS!rVW$OMgAuGQe~)%OU%PyffFf$frBH7!z{s`LFwbiqD}IR-P!fggO+~& zp-k%NzXdFDd?6jW`>{yNH|8sRzRUNo+TW}94Y_}(_Z49Oi{7gW-=;SY?}_uF&S=I< z-*ilY>x>f-8OxVGj#u0T+|Mm{GrZ~(UX|9uBfj<5iHsW2y*GXiu>bEo1&dloEe9&TUa;lFza z7K@u-k5tqC3_~*ozAQ|H&O}hoUVWV~72yw7J{e#JW6Z>+Kmb?*F{pth4a2E~S^!96 z8iT2I#-DwEfopL1FIQk6iq8m0&P|2r&)W>N9cR^>IWY9BTG2r6T`x!F(7EYbF=du6 zA&-lY8~SS%=7FLJ=CdP#UqVmu!{PP33@`3T2@UOh)7%m4E3mfeo8yBArh14)Sc(e! z%iPh)I-I^>@kL~e@VIPo1Ou1m)urKOo{c9wffHx6P|elgGNLV>&Sf|3Mh|TB1XkC; zK~HsQq_sCZSocJ(LZ`z}YWN{fxLa0f6OUYA(Q?>1v6;qU5RjXLU^F9EEF3-a9&}=a6#k1Cf}o#eD99B(KcnUEM$94tcJIA z&&FyG{4r{w-6$9wYX@>l9D)7ly!AEi@I*96Q*XFTFO9VFM8>2d%R}yPDg1}DLi4gY z)D;%2;-g|u)L9RBGvbIld zJ&2EWIO9axqQ`{ul{+De(SW?3A5!=-nkKMautq$t@Z_>d7lFZE+=9U?&Jy`{mp)p- zaAW{LAB>6XX%Wa6hC_5UQ z@8b5l6W;Zc`%S(*7Y#wiiq3QHM@Dc*+&@Q{tNO&-tnd&AeFeg;uQ<;A20r&}k55Jl zu#BtlQ+NKE#(^e3N-mW4XW)c*#{%9MwYiRK&^`!+bQzsTgpRTmqA5>q!kU2XKKLMx=%C300WF&awn zBM5?bGt$Ws2ebG|ct1O55sYqN;Oz)k z*!M!nnv}vTh`1ygm=mag$CD<^=}$IVM>K#@h##~Z*LOIcqLYj8QQY&8DR%rJaE!u@ zPheZYpnF;YMw#4q*{MIrno!eQNhcO)yfUnXvIL#41$)Z}=5#RfnbS@9vFEqqRq{&C zQ|{i4At-&F`69ebUW%38?VrsDR8o6CyBHi65qlJe{WOWiwA1eV|pAq>yL9LJo2i11*a z2e{wiu*ds)f8n~`N&SL+xlM(@Wt~|b#M4U2cpkHdK^|eb_*?C~d>n9O{8acZ!yv+1 zI!I4}UW-F&*ThD*;smYcd4(|&Gz>p}?D69o0IyT~acrU6G@60-bz#u*01`gxEjX@) z9$>cUJ#~i(8~E>NEEl}AoZ;l3xsl1y4x#5t5S)0A)ahXDQ>)pa%pd20c|rg-^Q1<; z!xcDHPYXRql0f=e7rWg=?3zox zTJcHTTtOg*;9^vY_OdTuSW_FQ2HUos6^1>`wIvQuL4Qb7)&am#Cxk!gd_rm4qUwbvs1RnqMk-O~c@Rs;?sNugm>w#sLm3LJv&$WH!ErOq=s5q_s$kXg5prmGDXfaS2`Mc&32<-0VE9bzLX2q2hP7%a)fJ2Q5i)=> zkqRRSG~+S+#5Nh9;g75bb@oeBWCIVmK`feQS64ze-iD!}WRtt}S{4ygoEuWZJoJ6R zkgQY>qLILMyow_R-F5|?oz;=kXrV1kt1GDSM%tO%*<*WTxS%1l;4>VDh(m^LPWGR} z`s|;@lhXvaq;nv$#1WOEUrviVbzgGUw``3F?s5jYt#bGWEy-lR{MuNxX0RPd;v}Er z4QG495W1QE6LDYxo0q{A2|+?5CHY_{!7-MUCEXZKuI4y2I&uU3p2TsFE4D+J9RI$A zpy`OU-3Zj>r_TB7?un=pCfoWkIP~D}`Or*Jo*LRT5ez{}#y92?P$BZVlll*^UC!ME zBXLaAzKTf=Z&30SW&gfamhr!^j5EdurU*6>EjadCmhBrlVs1ebJPw{Agpo+3Gxh=; za6Un6Se_!m4+4*9&#*_LDRZttNf0c@U#u2u7IypR@hiw*qLba=lH#e~ek=$0SwAra zJ)LMoFITC+UxI;Q9wUH)i)8pU6Lyal!IZ4J!{Xp`N1ds~K~f7|2N;~hx5ppjN&IlU zs{K2f=4;F;YR=DW%+JY1XU$LS=bW0&F*TdZ)Lhm@P0f)YWuBh2UW8&P$?XQv*ucpYpE9r+!n=T2++s{I_xS6%PWR}1kexc6uVexpjjA;3fr`dVl| z$D#7xWi&&&aXx-V&Lck-O&i}x;x$VkU5VHHRSyWG{vmkz+0n2$)PKBI)pM_m^da!% zui}sI(qGB2mYPbYg_kLgj;qkW#d5oD5#Los%;eSt=Aj(K9oRe&mvhzH`VJ0Y1`uvW z$L2#=!)Qv!g=!@8`jwJj#@4ad;_@&VvLq1z3E@0)@hRA6Cx!p|eHQcrfkJ9e!f^Df z_f;vrOEHu}$tt@g3#^HQyf>LIvBSnr6x=K?$BQiF(Y&aOnhZG+h{cbDP^q)V!9^WB zV(ZT~R}J_z>yOwr^4$U5WrE)(n9c=xT!1TE3did@t&6IL!*QiTZM%O7lTESMA2*aB zIz~sx#U91ISx(X5OkB-2kqHygW10H*$FcNGKg}z-;i5;h;Pcl>rqpUMM|wyOBk~9Y%#CiP zZ{~_fuSa6*d=LP%n6&!3=V?ZP{U@%Ju0L>9iN%@cqNlz@V#aSXA z;DemSZ9%*ix{zgHNx{i!!78$an9*>R*G3ODI9-cfvJGzh^N_X$X_StZe~C31zOR?L z3pQ#qbMQTQkW5#26+Fz2EiTxt&3+4*S}+}g1yp+?z4K*~Vm_SA=59$Q%aZBE29;j| zrxLh^mB|lFhksKF4N#Q16lq@+H%h{9=SHri6^O7`@Y~b|uE6qou^$6CQ3Ri1nIqG% z;`C$qH(yqc{^R$_=u*_vJ$x;Ws?Af&Ym#vf7>MP+V--VaS{JSl&ToFc^lIk^dni>vBL72iCQ3708%vrwcs{3LCql8U7(}| zhrmS^Y$GoTf1LmXq4lc)M$}!eyyjM|Xc-n!@9=G&f|FA&LWP=Vl-E2w{=@Q`xmxfV zq4>NOY>S83=fwrcQw#0HOTo_YcCGhTFsiw=u`6AIy(k|wD6awfM|>(cQLNpx9)MfM z*GIzymM0bLbcJ^oYo%4i1xLWafsA+f_Fl{qSPxHFgkMzSAw_1O|G&mBKry0tH}2)n zQl><2z*j%^9{$yfY$JT#IKL!1X@;wO|1QWXqZ z+*)akF`@e@_4!CMK9WfEQeG|KAn%pxzZ%oI(}$Q~oUG93{Y$PFcj8Q#3LsY6uGnb^ zv=yZzlHvB_rdC*w)v+U#!{lh%>hii^pR@Bl4 z|Go)R5Z<+sE9P1zE5U~hKG4m4hF&-XMZ{A!n01H;^Ex|W`$%=3tb|?+W~k>%!-j|6 zuW_wYpQ~{py!95iSU@r8&m!~<$#UX&qn8g`hP4cnE_go6&ZX>L3`10+*8nz*8^?q+ zq|m2*HYZ4iCy>MoiBP(7>EweO51z<_;B#j1s6`1>xfZ+%WL!!oS%?tuB+8=%nLT~S z7W5S-2SbcxO56;6!S`sNHL4bL6tYWCc@I_PJjda?jd}R~gqNWMbsYL)rD|3mjD(_> zqfh-oT0L~88#|-Lk}f>%;0OV!AWF8XCbVN<^w`tcq1d-rD)n}T<>&ykP*h;`ECq$XoTHi%@60pvbqvC&=UtSIP%ZYTf8F< znS&p(%+b6m91_h6vUXR#dkEL}$&S8?a{X#Dd zE+-Qwxs~_=tBu~QmDP@L+>&YVCZO>$NSvh~!XS(0y{4NU0*?pX2? zA&y@Y=5hYC!^X9;PS9+~0yl%#h8aO#b1#R)abJ#pPfzi66PiKaBGDF4v_?WS@5N5k zwq2*c_!CKq_^=-kVo!jnj3u6D#lNxQe<`;54(EQd!1}lzDcDC=U;r~(aRhCG(+4E= zMRFvCh#X#7PT__mVodp_*a6-GNER_*U%|UC6E8S0MLPt)rbK*7jswwGkOYD7Lx6Y- z)?%gMH&B}HZ3;$uKUoG$m&1^o=-P)6)gcy+IqfMhN5n;5%S>d85otGrk*?<6-EeXi)XU($!p-^67;G2`>dlHpQ}zSv+>6XCc*?eV zbR&ino|+PT=(>|QR*iIPQEMyqp5w1t*0eK)91-?@ch`s)LXF7O4} zJhSA)xg|`_9L%tkcB*HOqc~ix5OMADWmIED5QDd1j}`=XY^jd5(0Z~Z~p?6SR{Yu_lBp>}4-$rkcHiBCYsB20vr?If+aJ|M7`*12RgCkg^7KFDKEO+kI z(#Ysxa^j!NvIPFi-5RsxKD=>lKVQVtL-FRZ)B51eTd-dX{tCVfhd+H}548rY7e0*( zUKZ}+mM{cvC9bLqDQwW^l8S2VSNFVu#p@{&g3G2W3g8C`HbFX_;n1Kg$!9jAy9j{} z%BO{HzysI4UC0U1S5)*M+Nvz|WtaoA5`RY^=C#(81FGpT94m)pVV5@N0R5?i{$jZT zD+XC&KiI02!j}swhe|LoBkHpQA7k=};DKj2$QQ8#|ECyzcGpt#Xn=F+gR<%RvI<$` zHV;D*#%jQxr9bk3@}kupEwM6ImS|s`UsP56lmolj0?+_c1~JVHd1(qct|0L8`YQ*w*+a7jz1>>!S zt`rQ}V>0ov3>pT~3Gadfe={5uy0guZVlBNnA}O!n13ChKnwF*WcMzO4>^CmQo(cb5 z#sN$x`V}#D$RQfD2Ls@tbPN~#eHf#nX=f}|O;JY7I4pFouTcPpF%Z~Cv_Z((cpr~! zaey607-YFy(}hr5&eVd&%$bn*jg#f;FmAAzKi2cC_gAmKtgxul&&po2%2 zXb0D@C4hlN6UATT^$l9^4nPoy z?C+CbA#T@G93j${fckZ5)wSY7KpYO$#1ZmuUpT}$G2WTw)Qk) z*CNsQ7*vfM{Jp8~G6J_-UXq#GY5CWr9!je-R_FqRbR|6jJDt zJyJ{WRd>IIY-yx6FlBw`1`e&QxgnuNAqCJc(8+ni4<6=wbCdI&uBc{1zDIg!pp~1? z60cJG1a=`(FX~Q$L$!u}`p?_7#qH1^eswP@iE&LLU@nl)0Pa)0Ge&CJ%P|tz5_wJ3 zRONbu(V+M5exw#X-X13q=Pk&qxa~Rm;ivc32J$b3Ar2^k0P$YBA3_L>D3-RfS=vTc zX~}kZ{Pcf~klCVKfuT^VwV}1_l#iN~0BA2Fc%_EIT(9i{^ zWaW4O%pQ}ta4f+nz}W_I5Xwmt{AS>fzip84D#aBDyFXSC#&4LpgmXB20%y6n>Djj+ z1t(vybA(A}q)&#j_yWuB#c>6$3E_N;iW^MTDy&~P?L1u1cQyP^fu$q0Xv*9-F>HA> zsWULN(ETJVi*<#xTPAo9c=#W7pDDkr@O2>Hgm%Oztkfr_!C@i9f>1~xK4fVK?kk(s zi6&2;_60DRyWT>61qZd@vnUqC{vfO0*p+(|$Z4TJ!2oj~PWLFQH)UW)E4I?eAOH)o z3Jn3X03IP9q_t>j16`^n|n7e@+? zLf0R4KJjnXo%XAzjUg1WM4iI`ip4--NLD7;P_$rU^je!N{q0+GsMCd_|_CZ94>2%yAB#N>B3L$V~h zF?u|oJr0G5FoPSq%cQZU>+GyqXo}o5I96z(|B@iL4Tx~TwU%M1c(cmfDDxop3rI{Q zKN$rH;s-CsDAjirC_W&ALl$SWLUs5`#X5x!+s*n0UBd$}+C3Yma3qPr61bztP9OA66cKOJ#v z?Q1v*I-v9b7iX2>7omFf^F0J$Di6c2H)|9NHcX$^6|-7vUyX_c*O!pc5F(_vxFV;4 zqwVz|xm}yNM$t-Z4HzJ6wV4YP1R=Qbengx3Hs0~HPMi4>o{A&&U4iOLefjvk#MeQJ zL88c2@4c6cnQCaP5US6sKb`aS3nIK?1&mS=_Xn|^(n1yo>l)Y@%lqwD?=?lSboNR*s}*q6&+=9 zu(19V`kn5BuX?5HuU>=O7@|YD9{B-Qf>p0V58L1?S&h+4i+X4d#EW!SF2xAK7f?oO zB^9&~5q%Snv_cSTLdv)88aS{mPT>XB+^QuEvY-#zi|E5jOd0$cg#mI=2Bj1taZ@;* zEgUfI-vGxOOhgGD0#6R2e65PH`t87h`1%Z z0-A31NUdMmP!wjQHXv<+{Oy=V_bu9Ev`f)KgYnB!vmka!Kip%M6s72-N-^{HX5b+a zt_~sYj0yNCu8WfK6q&h!r@d$ycD`r$sD0r`h^ONYd`KYuUY4URP?H6#@vhwTK_096 z!xkxjhD`PR(+Hu5D>I@n_yQ0xO6mHggi3F{K~U~Ccja=`A2`Y(=%VV6GP$V}an9aY z;;3!$7Jg}G8ZWbKg*f^88v|1WhfEja9#uXld*D4zPk3wX?z7})B08oG2$zxwpPtslO$P1ulru20z^GWJ1+E1ex2x5Nk)~-gW^>OAoPZlQIoJhG zWNI_+RIoyAhVs^Wf(6oMv|YH89^T)CM5OVkzK$kn9<`?O$BB=m;f z44bVRvxikW?Q?%PENOC=3Y`ozsaVy97r13iZ-+?gL zj)T^@zVp-pDfyEpz$+uL(D*nMEY-V%00<@mz*K_1ij zNY7}lg_(R@CXa=Dq_M2)D?y+X*UA|q7WT8o+Vf*|?17Z)#N0pox`z)%txiF6hN%3IVY%J#Z2>lE*2%9@zdkm(tIhM&5})Mk5= z4(hLQaY_#yrtIS10Z zq>8>6!qEvB$tNr6AQHxq==9wY_#cNiQxrz7hN-iNTn#f&Ui0FZx|$UGO67;ESOMpN z22RAIg|*d%9a=%!AMNlo%;+mqx)F?jfyv1ZUvt>eMaLmXmp%#ER2D%N#&KIQpMMHs z{_Sw-c|Ja1<`+>f>aI+wZxZmsc%LR!ZhCC2{RKiDTmMZVp!l;7pQd%?^grGKJ#5y= za@cZ*gIVPLDFS3GM^kz~%{jZ5VorTN2DvM6I;qvB>3e{*Vfu3X7PuWS!@n=Yb_=qNLSWQ2Fj7>FLh}(=Cq)t>POkcq=s9}Odis#$x4Vd*878Y~Xr(eG9 za?bjGn=$kEJaj8k4ZOwhw(lV?7$2}oT3eg~?s$dlZFb`}A-`a2nP+em~)2e7%+l%ka~2g*LN4zlOji?QvLi#5Nk` zcu$l0PMMM`+G=Y*(%(9SXJ)$_i@|f*c`G(@$ZD-EmI<8Xgsaus z;$-%>+$j~TlluiKcW(CO=q1Dx{=AMqS{#*Ai)S^4P1jPYC$(q*A3)TV+yGjFt4mut zdPbU0hlM|a`zHCJe%({gw*f(IpSq#}RjSGLi)SUD6I)LE_A47u+1)q^#9|-Y_LZ<_ zoqDJ?h+m%u|it`1<}S0K=XFc>=kJ< z%Nt(fs;WrxuXdI1#c`b|LSZ=`Q11okYDK6AK0G%zKXJUAf#Byq#Dn7JDtEMTml(8; zm1w;6<63H8bU`lFH@1YjF?oKn|2N|eU>ell8qeW}@)~~6=l}ivLi77`@cmqVI+Z`v z_gdeJ?)QJ@KhgZYKE9vKPw(N+g9+dB`G4o1Z+@SO@2M{~=nC7oO?@9t3H5L0u-79j zG5$L5lt)3q6LG%221n!Y9*KHZXJkV(rRS}uKGFweC1y?Al%B-Jz!TdloVY}iuyv3Dr-a$5^(bV6@>PfBjFiNFS2;Cco*+|%*?G4|T;|<@H?+uq0y2A)W z8@{cKb+-0gNbzNtOQ^rvZ?Vx*um!dQ*RyeFw@w37dk4P7O)jz&O_EcJyz{9@EOXUD zDxt&cG}vW?y9CQK)CK#GXTaFQ&3^bdj^&CZPuDhCT3{N0Gayi0J$`gX>jx77e6z$MGHp6a^@fLQDc;ZWXK?GnIw)dZb`1 z1Q+8kj?(r1g{(ylxfP7ZA=;qDHq5ii_n?Su(r&xjD&H^yq;gl#E1f13WFAKt)=1H9RBk#W*d7VC8;nCgEbb$3ErBRUW`5Amj3e) zz&e#kWSj>G0-AG9UnvF5Vd3Upm2VcPGo?VK6e6WirQC0(T&z+sA}705N zrA(zEJrCd%`II9!^NB8wc?xqSw|M4NQYtVu(LTLh~A8X81=vVWm_rT!`u`C|>84A2! zI7J-NLgheFQc^-W^$LDMkPHlx=or?1+FYM?I5fOrG zsOZY%9-IU^?~65TRdR;#c?su7-qujoh!R_AbL|!!Nh%To#eW|)5!%dWUVT+VB#Qgc*l z`8JT^zskaVB32eMG#>sG%AfKLpv^*7mVeJb_~))H-yMJ4W-N(h_ER;U_)=MZ z%6_67d<9F!6aQ6~vnkZmv-Z=A<`eSc>7W1b_^O@$P8@iM^i=x7ICQCvy4!yG)qc{= zr&}xLalgcUKeb<;p>*Mxs|*)xJa8gEkBc;R;gTheOcVg3o+dk`+1=s#TJR``Cd^Us zKh>Qg7`$v$m0t4E7(A`r>R1jsxUzEKr@Ci*bVuzh7F+k(BAft0Kx98tUrw#3SDJ1 zbQtC8^Wz6@*ELyT4d3M&T zc<>_a-}tLHyW%LLa|Qk=r(M0WA;XEby+fOo1hv1?r_Q370gqXLQldfLVVJI~n--$_ zzrchJ(l=R9EZW(iKwKKgYQZsh(?3nP`#}2!CPP?(&VY%_Qz-=+K%$;1#z^)*rv!uWT>LEPfu7xLhA2HqGc3QBO z0|$)GL@;x0K=ZZNU+Ly^0DWf>--|A>%8W*8=BobS&*CDd~ya4awy}z55}E$heesfn5qEX!bp> zbYB5jf@f0bk;J+BDqj8h1#OEva9tmwXNH7(m0EB(zXmg79&wFvc(?4)VQ-9k!Hj5A zcmuJ{p=2+CU*%}adj=Qfc}?m8ln$oq?;JFX^}~%)EPcUz>`&3W9P>W?YTPY!K`Q^F z5_3*N@dn=}xABd%dAy3BKwq6Ff?g0JH#7{x%^OYb;w`Au0yh&1{YCedFvEd(6>55v z)Z2Ec`}l^y?)t@%=8xf6hr4KGKyb9f!Q=!+O$j~1G~~B9)`)3=rvUXkfFxtuUb~mKf3&vB%hbq$mD!v@-Jp`GpJ-G`8wl^Tk3hD zlj@o1S|}eW{G=72^-&`qkDBIp{!89T@;{A6B01JJw1I2m@H55-B``ENjjlDS`O^SI zj01Rz_dm~b9RTKes+&9M49vgIl|v|LQ8ySkNqn?@G-ao=r6ZC&3z?Kkd>z{4(n^*xD=bz8#~<2ZtR<;+{8@t^ zj6XPHiaIy+g4mj_I5PC`SYB?!rd~nG=i0|1F0MP?i&z^O@7O>3_0L^OCQ9+T)1VB$ z8^MWw_1*3cbanX8&#l!9wwPAO*fcKTrx2;>K??6g#*b+A0C4<4nxvolRia3R9D>-D zK0BWK7T;s(u>)xIcfcWt$=OvH2d%0IC&c=k?4#dB@*vC0Vw9gn&cR&<#SGy3u(~|# zKL@9yRCs`(#s5-JaYH_<+zp9r+@y!g4c(!SWnuuH{(WItM?VtQXUHG)!r^Q9v!t?I+qd zyO`E1yz85Vi3wh#I7=$2JCDjq!W|BfSJHwdvSj29fFm#rnydMzGGMbP;Q)0Pv`kGw zE?ii%h#&cs7_fD6N8T3%+O=gOXYC6=8P2d#7_9O)ja`HC(|$<%A{PMPWrgKu8u|~o zhi?ezU_Kjv57R=GD$F6j`Pmz3pOsJou?1X)8t|H4G;PUmtm}4nTi)i=mu*ot&dzud%8r-8UsGcHDAD(69)9aN8U^o-Es>GY@#C^q*c;*Y7i$c(5)s(U<&WnH` z?~QuztECLkHX=QS`TV!R!*OA9*wz5~X+jDe>dbm>BnU?HZmVeOz@qV10ODZNxN#a% zl+KLH$!vP+=Ddf-?BD!`Mw6mZQ8$s^AwSFO0}xK*er{kfS?i=}R|FVDFrH!~>eFu)W?f7(r;-q=omrIxfx>PaK5YAw{L*Mi z7AGfUUl{aI3y5KZtuGM)4@WnKYwy;FA#2HJ=VgK-R43<_&_?tiI}H}2h2C}}AW4F5 zAxU2j%YPXI@MCs8T9}){ot!6-WO&i({L+GL z+M}}oj6^vEC?3lwX}irEuAyIm<9d$rS(Budh*g>2aH*0$?#qYE))RwYokN$WS-q_rR|Bm&it)x3Z@z(U`F$4^G=tDR0> zAJjdOm*>xBAI{(({zEiYRyXq2LI5by!>~PG6245|P{tO)svE}luw>@=1a=XqEV&s! z`cU2?F^y@jCQd|fFldx!E4+@o1S&srh1s?}Q^9x*C+6oe+R>~H$8zw?hx&o_z^e>N zM##$(z8z&b>Zt)fVcF!-d<#<|(Og(HsS7?Rj7qdgaip{x zIl<5oDd-RwGquD07k6}Wl3od`Ppj*TSUQ|ZAhbi*i@cyxZ}|W;O{x8T7GjHeZD*MN>|HLctQ`me%^<9`1bn_ihfOU*l7{y zRun_wZO7MxHf`a@(5ChEW$QV-L>_Uzi+4S%n=H^T@p({pJXfYfiHCncnS)2HWWIF0 zn@XExr3IXq@X>#n{^(wzc5=RjdiXnbe#&nE@ZaEy+#T-GCzs+eypy6NcYP<*^b>pV zVc?{T9_*ao6S6>kxx)N1_C~z?N}hELY@a1!uCu^Fw9LKj0*d${+b0vjo24&ZC8E|) z_WckU562Rte-B4vvWC%~z7N2Np9Y5vsakY2UX-_n`4&!vuh={Mm}kto#@?h~+<{4r zF>9^?8g3dij!bGUUYNq;GIZ@?(-+9T`=k1dz-RSGz_~{6 z<^YTS{R8`I!Kp=3zQlW999*#aj-}Ka%!e6MF`73LEdq|V^8OTu{>e44@~y57SA=sCh=r4BOB-EL)1C{!Um4OTGZbu zJSx8X9EfmGgz1OmckqIHuag)VFXDV2Z>L~SH* z10E|=dhACZAZ>cp!~vZh?%YG}(bZx_G`;fVBM8zRc0LI_gE7^Nuke#F9(gShijKdH z!f49R@46jBC+%uV;V}ujA{3Oiai}iqV(EFdbf`mcik6(u` zG41C5ihhYWGm)TIfLi}DTI!(!! znvPZZt-)6+znRDn95=V+d$Gns#nKkpzKeA1Ho6C7i*b+RaaoBh zch|QUNMXrHEosTZYP0@gA4iWhfH0C`fyu(h7wJQb;sK zxPTy{qD3wODqd4T5ok>!J;s0oju)rvgtJ!>1QA*aR2%^ZKx7s_GuA3@m~LQ9k(94h3uhyf-%^{W`zw2u$6SD{|5 z;8`eG)4C(Cdyto+?bTLw_ang5VI#$?akD?kz8QuXe`Pw4RU&&aWU%+M$HqmS>$l77VUI*eIJxEfod7tgWOGf{D zIVLxV9=DID;X#j<=u4Mgi#;b}E-pyN{w|V(gjcJY#TJ3|L6<1-8s)kz)RGet;sQU2!WY_AX zI-vY#T#UVLAo( z3|;Cfr>=VOYdCFBH_7(hLsqsos%*7DOC<1yl4HjwutmQXT;st$s7v1p(+Y=GRm6{E zXXy`OUzYs~o|bL))iHEO*`BY_j<^{q;P?Unnu6_!6fUA=xyQw{OpO5X7%hg65B3~9 zFzjNdB3-o53#p^J91i1wgNGoiI7hceEntmkWu!v9b9O!-fH9bJu({+uNsb5EZU+{u zaDr;(y9oL7kKhD|t)%19iYyF-0=0_3SlA30XHSu45uYfpgy!SG)x};%EBDCy=dk_%O>M z;3uplutSVQdJi6_y68yY!eS|}OAC zf#c*_Q27K-$>9hUi2NrI;~O5KyS(Aijtq>k^#^)FXWF+(=}g%hi)b#vO6D|FVrbiP z{>a!d9=+$!ufdrbTXn!O7w_X=f$#kKAFye)0d;gMB?1?!0C$>BC*W+-x;eSBfp0+M4liuPVBV~*k4GLo7-;y-x4kX1Jm$t%g^;&l*%SfMv z=}3h5zBkCn4>KL>7S6FDk;G8iVl0~=-BvzQa!DJ^6Yk-h0T(mD7Pmji3BYd5F;iWO zRL0U>W@xaauw>l6KI8c0dmzgrkmdf8qYStju4c6^4SNZH#Qj&JD_}~Saxy( zQoH@eNB1Qu%7A*e^AW~t22a;k8;9?O^@WEN*YI^%Yzi==FKUb4R`cEAQRJWFZMEPm zB!IP}VBignurwczUvR;5+=AT^uj5v?7*sHIOy|!L0EakmFZoJu2-2Z)d$O}~TXK_c z3Y)Ca7Mv{97HsGj9^J03x8t8)+&S>Xb{35)Wfj?XdUd?u&RdCb19S}9bBSGTY`FcK zIgfcX*8!}(PT>+?bhhZ`&w)AFmc}>{8*ADYsvv1r>yA+@U=U`ZboZ+JX9y9x$p#^GqV8i2|_ zHm34}BVZ%pAo4GtY)U2`7iR&TZ6g@eKg(Y81lIAdW27R4tIX^9U;2|U#+w4;05p=G z78Xa-s*{esrW6@1@D#HR=VaDUrc@gfe>#EVm5{iM=CrhV?zUy7;DqGp@9h#0L(6XCkO*$ z4;;CO|Bt(RB`&%F?W?gMF*;8$x%hlok+}Y7{SRSV_6-8=;3aPHmm)KS%veMtvB?Cx zj25>^$_rt=L|t*Nx@@r|9C$+#c9+xUqlP}%dGlX-6_PHT^CEs@rvi1-UpoYf)f%tg zE@uL?;58@)@6-ItYR9_Xs~cMI9>_FGLp-o_YIyC10*)tuU>bW8f802F{^+f!1$2nK z!!*PeXpas;uI`SwQDU<;Bah#q7T`!Z+!Wo$6+1*QfgPYc;TeatSVh}F>dUBZi`+P> zCt}(XuNF1FFvv2!`e+UZSYf!S0j@r{hygp*us=OgsM1J#j8l1xBzA0_K12cHKYooC zEXN~^^d}r4R32YuJ08auZT<%iT>*0(VfAIPW0pLb?RZ)K&U3uV2cb6|FW@hQ16~g} z$_es)5~Z-oHLlB}sTf zGN-z<1(0mpjL*?83|$m_3By@iuwtbvaiUFMk+IMwHxn84M@Ce!Ba6CF%-l9eUVv=@zqAD)IqXdN9g)a66iu1n z=;Xo~XnkdNh5U9ouEnebahF9;l3ZifeLNtxJVWF&%>F^-!s=wm6ui&4{qa+O6)46eM`Q*{NV0i=#n+v@l9DCX$L$OH)Dp4$FaF-#|xPn|7POE+1jn(fa|8)>= zyP*6;9)j)_spYpzsS9xqiVQf0OEHwo7fIR$H=dhj?NMDA<&bd%T$MM%ZwxOTG4 zxi{6_=stJ=ufXp83T?(@jx_9lhkJgA=Au4Fj9p*InpB48&3KI6T^$=&E2%AhSt6@L zEijDl@k#}TDcdB>>zLG~N9aNxx*W^CPZN)~jbtR8idQ#X}PCnFptYlX(A(x#ui zR-*P&71ATdg~PDv5921HMIj0~rZDa<-z<&T;to%=;|3J}kP}!7*_1u_nB^v@ucI-} zc#aa9y2-Cn1WXFt$X;piyb#yAGJA8ehfN_kgD_FJ^XqGS+DfN_?*jJlN5ZOCr%(;T;Z>11lEQ*Hg4;{#e2NPPzx?%9;_Mm z913Fb5Mh01SJs+tb8&O0@|VLLlF75oU@vT(8A)n&2(LZl#uHZ9+Lj(^%?)S?rA0$L zx5yC27Vc_+Z&)l;(gFyd#%p@QiVUV3;>alN!4Bd>_=`h0bZV+P={KW&k@OHl>I5ES zM&V{R&4%)khx1({&0;eU&&)XfiK$kvDCyt{b!W~z)}ok$Zfy>+dMncnC6~{$l0QKbL1|6!ka=(y9T#iapI?vr% z-YwGtvylnRzC&qphl83u0KdRp$fO2A3(WYWVAj%;&0w?uTt0}QQHElC{pf^a1DzW@ z;X=GsvH`ynRyJuT#!%wv823IT zJW4H@jD&>9-q?xXGR$G~*|$g{2;lXPVe2IsnHvX22~HZ`sE9uZ^aSGZUnLhNJPdT5 zGdc`M1ujI4mS69O*%7|Ph&559LxcJe!qO8OfJC+Mrzy%qe3z#IVf=y8h*u9mj8*Vn zp9X{A0*~f8RAD6O)&5+8dbfUI!4lm&3YVP~pC!Xylvmc#y}Z|KUe1Kf3W_6YB9~z5Lp9-hY>0 z*Pc3L28`yuZ8rz~H#m7sqnGJf@@W>E7n4u*`M;s^&uAc;;DJP;l4|^XQc1|0gg8D7 zRIGvF^D)Gc$b!<8GprW4R-WUj8Ne`^{#6L0tyg2n%Rx8RC*GSw$PFdLl$WtZh6wH9 zs#3WPDwU}!l@T)l8P}S%yB$0s3(L}JoG^EQ<5*AZC=G$V2two@ZsD31*$O_Twqsmb zA|0m%?3~Cj(5}4%E^OhPBS|1RH36($mK*nn7+PEl{*FSh%xr~D?IPvTWW;=^Hf%P= zA!L?0XPz~=Ve0$@FThx{Z>Ag31E~hB7J5Ox!_UPVYUc^xg8FTA>+Qfo@(51Bu>}gJ zckBAPs>qXg9$||k&*H=M|4`m9IDB&yCJ8wpE0=au!wiShMb!{^l$*PaBeiN`<4&Qz zOdPZzA9yEI+?*=8pKaf#|Dp6vT_R?ZjmQ@jj5Cr5%OKnaX)f`7phH1I;k2vnfdZ(Q zC}${}TtS9kUaJyWDs#G0(e4u^5!xoS4zArL&@h~c89X(^qvJq2L&F(w-^-=aSJf=Cy39MEd{ElLwQIP!~bIO1fr4 zT`=Bev)*c}v%A&V3?MDye_o1@rQvMiLgdaO` z)@U2DbD@jqZAtJQG@BmEuMOxuEUR=l|t1CDfhi{G+<^873{2HnJ zQM<3$A5AE^*@+der%vbja&Qf1z`vcmMCw4;{RSi$XExK$NDl5D1$@#F>Z0CE5$5Kr0cDG-!T>M-Y+RoIHm-M+k&22YPWh z9>&>GCJkMPiomHX8ItG0WMh8OjwoDgVe;@@?9Xq+v{+QI{JyCpZmC^eX|#jv^#O=X z8Jc8^+dsfUQ(1)(Pa=XV+7{A23gOG0G)Vur#swsxB-$4_t^9tEAPHpX%pLfv%||GX zX8VmKo3^Bz1Chh+h$J37iYMWzIQhntLePp&VR_gX!y7P$YhMJdT+%|OwthUw?nF%Z zU==9pVF-(WAF1#SenU?ytdY-$--*7V_)PM3$LD#zbZx$`5soV?X`SFk>yfJ?yAVhE zrsJEd5esM~53B-8#{8ET2K=`da{kK;ZT`y(Sm~jOno?rnsqiPdil-)_nJ zb!%bP?O+MbbfX(J0yrcg0ch*?&b*&W=1D<`Kz#{~VrgHIv=}Hzn;1)5E@{t`v`JQ4 z#J__`lJppTNPnJ{9$r=IiK|hvyu+{r$@TBaJc5%gGNEKwl=j4Ftl1TAnD3I&Ibh(P z<_td)`Y=`yWExIm@P@D1fF&B_5AD-tymLsvK8RS!GvtU`@+;O>i>P{FRKbn$`$Bz1 z9J9F?%G|iUpNynH0<*{M-*{VW&Un@6tDeb5o-;h)PslKBMtdxh3d3V|XK%!|Z{F{| zY__-Eg^;hV@VM2^(lbpaH4VE`SJPduX0t2&&!x`Nx+HBz1O)(JRr6=~6We#uXj$Fo z7lWy1JOCU^E8$UUHB|MKR)bTrF;!2UziWlEvk}5}V@(ca9Abp$Z`qk-D;mGC3uvF% zxX51R)i;(==Z*Rl2T)aa@rMO@QOhp43wX#V@Z-g%D+P*ipx_p|%Vokw=>D9W&h#q2HStp<_|-5(=WpuvJ7ocLF-yoZclYK`N`Sj zRR6G}k+bY{Z$!`1W-P{LqW??}ZN^N{A0cjfXtSudAw0`P+N{sXhNMR6^$Oj zi=|W2Z6$CY$hqcD>UeGXx9M&ByHk%8>IYnUWbjSSAqAr+tN{J2`Z9VGZEiw;y0vM=nPyL00yx`5IsRD|*(v z5hwrs(dL7+KyUQi^cI}7uc%JopcIZDQRR=eL4;3KTborw0!Gt(TO!Nx4T<;LOFC31 z+-oJSS>um3)q>npu1;tjL%)nX3#49$vi$R4Y{P8IbJ^;mw*((AiH2T|Fgr)w`OBNw zY}0RB$mNjxMR)B9cX)WTCJkyO7Ku2`%w=Aa2gz+Uyj$#{KcS30JxVEKY8s7Q5C(=m z@TH5I`Ovx~%$B{46I10jhIQ^W$GIZJq|K=Vzr<#QbtBeE97(NRbQS&*XouxG$O<_4J=$_+4quO}>ciSRHkxkfImr5)k&<**jT z7NhlI8~Z=PHtIsPDtwQu$45i{1kKI8)UrLvV8J-z1{}vR$I-s=gk!Zdf3}_D! z6#(#Mjss5jFl>kC$x#+=&-OxV-Qf?!YXpa=1CDt}K?ekNZkR`@XFKQtr%qF^=QlY_ z{Rh7d@#0l1J+XP>MW(0u4c90xc4VL~&S5N?GcSA{m|-ryvWO!{W_)GH4$?#nn85jy zF@hI60>Ggij!DMO*kTDmm7vY^Kg_;fEGM>&u@`_*I6n*&RGs7Y_~ zQQlE)*8Na{AraGV#o)`EBgRNUT64C!7-YN0&WB*W5Ims2K|vUxZQ+jQTIQxlzs_szK_d>l)=)4Wh<=c z61am_bTgv-aA72v#6is8lT=<6RwH}>j8Vu#j9JiTw7_S8a6AK5ttZrFGQ<`OU&!rz z5oQXHB36q3XhO^77o+b`ay%Lw{3lj!^;vv~H+X7_j#_BVYxv_0DQ_-UXr7}Kzwwlv zPH(VBuu)DsFH(?6VUU>3Kl2=O@CR07n7Q_Ii}y+Vq>0?k>x@QXLLTM94(@Q|^a2yQ z9Na%1jjfO@JWpmpZvr>2NrA^h@eqd#277K7kHwo4iu65R{d?NP@y1`hi!VoA(nmvOI^l73_KQObphaw6;dh-0M9 zmt?fT)jRk;9B?|P9<2V`xpAwb8xEwPj2pLRVZ&%rM>W6$?bWNJY`z;H$p1iiPK98Q(b>dTBJgBG9iH z(8Kq7i+{Nx^vEx?L}-CcsJHA<&H@KeqQg~gyYUZnm(k+79nny-|3m_t??2H>dv=*K zfXMkiq~uL76UZ|w?E1GgA0k|jc_RjT;INFLB98BaM&~)$GQfHAnH5Cyq5MqOX3WEP zkAEc=pw*H7FoZKaQ?hwK5i$tzaY*b?Jq-l*#>~+JK4DsL81q1p5jQvWOi>{-=gW8k zok0tfGD%GCeZ*hLDU*sbZR$p|XCVTh93m9XS|aO=Q?rR+7B&vz8~Q38ef2YV5q+fv z51`Z7ugL)C<2%?-3;dnlD#d4vf_2=VohMTe79!ou#aDo&EL+Z*%CaHCBgU<7qEyst zI1ZDY`Y$z|0~ICd=(@^%?ReI=nF}r($v#|;b~<5t9$YmZOf9t679yN^_-*uUQE@G# zmB+rXDBQ0lmQl8_dv)oFCX*Hwj{mNy2aPWbkG8L_*+~;&cSPKFL%Gz-CAfLugzv!tw={)A=iwRW5(zU=x&=}R8Di{QO z+q2df`jYCEtP)%^x`X>)xe*U~7v2h#9iVJYWF&hD@-h=y*&LhMBQiiAoym9G|7d{wkGb5hgiicCBvKtSPsS+#@{ZZC9pz7 zQ%W-{(Tfim*55dhlVn>O<+m=VEgS({jax$akCwW&WwI7#9zP-_rc#6<86CNBjKF0H!d1#Mh^E!N|Rpg(V|3tngRkre@6-?@pd-&mnqajD?SNQ8(%8Ew5 z1zjU=U@ybcZ@I~ShN^#XZRkAA2Pq|eOTSCj&ojC%I)ddhSU&|(yHKmDCGCemPnnHd zDw#}{XGUF5+Um9#SNvPtHPc0Ph0Uz=kJ_3qmA!%9p)g-Tur*NIk^w*m{(j++=#nUe z5L5~`sF)8u67CD|@%ZU=+(ofhD<8)ZsP9@Ca4?z8IDZ(n7cgBigP6$9+(-tMss6c;0ZKH!c0&j?wn?|;2H=A<2=@NKk8ccBW<9@+h#ZRO*PI(W&Kl9@!oo^{6i#`?uq#eKrL_f zLL)AUq>toEuBwCQ?k0M%i=h`ig^sep;7gt`ax2x|(puy$&K>1H;~P84|BbL`cWGP0 z-uM7Xq&FJcqt!Y%j#aT7MF6DeTbzi|FVw%)inHk|ZhFPx&HQ#pNCl60-N%~;%BbX@FLfj|&?31snm6C$oY_PIRB~xJ?O`-Z!#*LSNXNTJ9Fe6Y)ox2nlQN)NkrP$ zJxR51f4|i6`DVc687#?JP%BB9o`kLKW|6XJDUO4vN15@aV->d$; zJ>*(lTGYM%y)8gd-q6^4UFE&=_@18BODZXz{JAOIxRuwB_hcWW9ZZ!T`atq!4{ZTp zH-5uYNP}RNtjp5ARjJx*e4VKlN~(Egs+U!&q=G^cYP^+Kg57vpO3Ar{5Y8uH45FTG zo_LU4 z5u;QmcBjIc5aaMBHb7yg4*-MmFW7YoJ4%f6E7M(}uo_}mMhezKVcUpN4Pd%DT=;?J zts@4DmSDRTHkp`J=U){zpV;|kx@8J`j~LH0F~5%#_8PHfCiarTo+oyJi9M#US;RCG z`=`PlB}Qe0`Q4_lhkz*}7b)ODCW1aGiSiWo05OYrmn&={F^f>m6*i8TMW{2^2?2_U zSrv{b>^5Rng?~}l2x3;{DiwAkF={NV@P`WPL#(BVy{NEUVy#RpsIY5@(Mz50-mkFs z#4a+iTNRc@EZxLB3TsLXy8!ZTj>7E3E-|t83OlkNSUVGIrm(%h6hTkpZV_<6ZYHw0 zk@t-N+a61_P5~R3$fA0c!d4TrsQ$6SzKzf9UkY0u|LzQhEslTp0m0H107Kc!_y;uE zi+LAAe~Cg@ndmw}bE@%kQ5&;mT~(fo;<0uL`;b_gneKdry%vwv;?58h`V6t=X1W~; z)8nxp6*e81qTUh(Jj_HE_1;t1Bw`k^o>Q2Qm_@8d6?Q){Ykc3UuzQGEY&$|>cN4SN zwx7br5aSUZlIm{?8$ryfOIw8vCuY^9slo;mv+8mTmxh1<-uQR7E6g4L?hgvJddxn@b86NB=G|-7z zvU`)l%7|GqewD%=B4$aI&lPq*F-yk3uCTj_S#%C7>^5Q+6Fj7_zZ0|Omb(;oJuyon z4N_PiVwT*`S6DA%)+F3fVb>CKm;)$HVOJ3=H8H!wGKg7yxwos(;38sHzim)h%lLFF z6xKLC-G3BzdN1C!+WWG?ju9&`%heUOpO{sb5{2y`mSLv5Ltz_;S$$Nbu+_wDs5E&p zPhnpRR-mxU6;>%2FSS6r<_cRP7z!bFhIbi-a~23@@_0mH9}8Bh(*2^aH_iMq_->`b zUM6PI??Z*n2Brq|90feiL>4obD{LAut8;w{`zNu{CILn%Y&@~MOw6mWTZmbO<|^z) zVn|lX$~hF~HZdVUs=}NmCXG0qEd;oZSd=>sc-K%^SHYsucEo;GSf_ZbLSdH^v+DAJ z!ZL_i4D^D++7YvuKA^DH#4Ki+sIa!gEMYJ*E}fO1TVbh8XO-JcVah=J$1j%BBog`*4>0E^!CuRw{*$S&AW(liO zg&iekY1I=Hc7&KUpoc5$Ffheb{S~k`23)IvJ$%ce$Yl!KNz9_i1q$0ttfR?MC%Z`N z*AcTQ@~6U96SG>sR$*Tgvs$`DVHL!z+Pf?lk!9mLw3SdzlF61&XA4t5e6Y$n#h#5O7HcVZ3`Tcxm# z#H@CFt}w~Z!d_R{pG;@z1Yw2kBxdOt55>J}rMpXEQm&CN%uCQl_<(T<3SJ;!p zvQ6yFRnp!tG45k?EJPGmPOOiK{i3h{u{;y2RM-?^-A(L6g*^n!oc|T@FcVqQp6jsRaie_*1$U5Q3%kB znAPEi!g7dNlKy9fbtYzYT7|-{B4*8LA1LffV%D7Yg2Gx8vu25a!qSLY#*T>!y8syO zF2tsch_Dd~ZLCo2cnRuK=&9ZH3$bhk9VJw~3`e6R;iU>S6pBqZL6a1^NukF~bbqE0 zW35856Dw&qD70Fk*f0{bN}-DtiW7%|eyGsT6nfl5pI7L+3dO~slD15tuPGF9as?f) z&}V_h7-5*go*-s1LSKaiiCLZAMPa4Htf}Ktg-s!5jr_(6yO&so$$*Eil(vs0W_9`& zg^eO+MYa^-(}uCbCA%H41AHpV=kE)QM(z+T#q!Q2VC0R@MVIV-}#72#YAu&;C2U0&@X(GguOd>YG*=g zv-Zbie~Nc-!gC_YsCx*9QPo8@JbHx#vWRgmw|1hdZi(Et8{6~ra<1PmQRlbo&)Hhm^DP8Fi@M(7XG7}v$nMQH^p>lQp+!(O8oCm4T6W8kuZfW zax2{8$FK?s;h2Q;-B%is&k=qvjO(6cf3I&Q-0k`?q-i**i&+f!_23Rx^E2WtS{F&x z8iO7_jp&_{oejRw#vOBxL~(JdzL|T9Lt3ld%PM1B02{3vC&PI$Y0I^$+OkE5UBJQ& zIFCoSHt>Ij|2U%~Fw~y9ehfQzuKF9uuva?D1|Ou>*iNMZS3IW3(>CqZ3RjZ~Y?`IW zrZOTGuKw2%`mL!mUd|}a0Pn}+WMjSma1%z-L^&mfHZ^_gD(xvGVpD9N{CN>WHf$B zc`cb!>P2ua$nw`EYJm;XaZ@sF)0+6}z`A*mUXpM-9z+LcFlz8fU~%y-5i?FXi`MM| z$Cd5*0yKzYF%_~3Tox+KB>TZp(d+1h>QcXluh(|*gvBW@44)Ylhv4l{K^FW054rb_ zv!S>Eh92Le=)o4FHumNbx`7TW)2@I!f)+fE3L0;JdNAr~RG6u}0K~1M2tHRcPvRk1 zv=jY8vS4@a1z&qN9LsW5OjX&wWUqJ;9SL!5kTko0&YS8cw_NTezQ~?d+n|fzbytjiZ=u6%p2sLq*{<)`)F{ z??vAz4uT1>`4K=3*Hg08ieBa(+@;Zy_)`8ry&O(Y}tSDV%Ti5Wp1OO=zI ztR{+?fa4KyB$Gf3ASHEl8OCZnLuh8;2Bq~3_Saf`T;Y;z%zNE(nz;Ek-}NM_R40Qx zlLcoht-Rvyozap360X6me*;(!7@wx24-Xh4yxeM};FSACHAo4P4*Zz@Rq+?;Xu)@w z#yT5c75M-^8=NPT^St`6JVvE|uh@j4{{Ip`*BJafq#+$9_Mxv_`XS@*9W8&3;nV4Q z;+t$}Eq9vW2=LqL5mB-tiz2o0j@{Bu1jMF+Bk+Dw$6%(EMg-X8ERHKg*YbqO_N2?zR zOLkx+oZ}dZ9FL>ONJU?A&axTZ7pwU!lO=;`;0IA}O?wV=5PJh+*!K_gQKE8| z3uB)j9djdwJ|0i*N{75u%)ns?8io^i8!7-<5D}L~HaLRv{aDhAht)YYFw^7sZSX$? z)wGSKeiwNizaw+;fu5w$G`)3Ns0M+f|9V;5++Y>KbF=w-&u35TNCD*>HSpcWyPq*m_7EBfkNI7u6qd~}fNlHRChFWM{3!`+@V&EdL>|Rrn_=?Z=?5b=#OwxW*5p;coCq(;vJ4i3sf4B zRpRua2Jx8BA$)kCmeWZF$%?HBkK9qUswJMM#4vT@75Qoi*wnCDG)1KZ2Ew#e< z_+`}zJT_0h$}p*;1(p+`m+#fg2W*qBXw}&+Z}3-dgzgq{-ujp0k?fU zZ|9xyPoy)}zprL^IGm8>;NRQ|*Jf#fXLx19T5aY;W;Xt0iqU&weVn43_~vcTP~$+n z0u3`eUaMv!ZTbc$m=m6_I25wNcszr00B*J`jT@)HcWEjD_6JTNYkDb{H$^tMr`vEL zG6IGIWCw1Wgn}V1%rD}LGgOl3gcnL-cpB%t=eCkExcB@_GD>p#cQrCRmqS74Ts{xU z=^UT_6`y&+x2AaW5V`m~Eie#I=zkiZ8@Pujct_zg!PhzT00JZ-+uo9`QRgtT>W=#H zs#Ew?R;76K#7y|fCR>SHsKjfm#7!kJ!#t?O9pe-4+#+51rj>XTE(>8)AuI7!OpJPJ zfnQKJtB8-)TlZRTy(4cy79h3_s{14!hX%7^SA$L5R;p*&I_4dE05Kx-#~~HE^s400 zU>u(_+FQv+ATv2K5PEgXlagy3N*}M*CvIFHI1X`telxzq6e@~Ra0w?HOd{hpGuFWDvmH1;?90P=x8yuid+kh zabwYif|~l;;S;kOm8jBb3AU2E+~I%Lxx-Tvj4rcIM{6pUwB`$_M}?*9AavtgR6bOc zh)Zy}^!*VBR!}2t!O#TO>YHS3m9}85(GC@oyUFfH{c+T%D?(!8y~sE=C_F8}sJlAB zChLw!Q#3nb=fk1+aEFH`AloI#R$FjjA-#GqQdVaiibk%%yK(&~@ha8%Dn$7JwafO* zMd~<$2jqweXbzE&JD<(-FZ_~)gfdrT@(Tb_5b>7{=I;#iuT0TU6**};81}g%+lzTQ zi`P6ve&-xA($NzqtPuQB1%Ms>Jem&0fpT&I^;k&gEO%LylPxY}fP8c#GL}2^7;F13 z{(}K}OUrYv*hrI!@pQxtz>PCWCCI@W9+e>qx)-X4r|kG^>ycA%H=YDn!1vZvfDXUU z<2WuJ(V+_O#oq#B`x8gdF9?H#wGWg^+{S|m$5`BsvrR2Vys^!97;_93yVsxwP{y{6 zsh?sD6h+-C7s08LHsIFA;Kq_cj5viW!w|)ZL4$aM(tZgVgkvafF_%O!m2s%OfVUei zL!M!NWy?vtIKdYhj8lCNq(e)AfNX7)VtFBR9D>%~0{((D$q3y5*YErnexp3+1mn>w z88TIKRfECqYkLR>JFa28EnM4)HxT(r3uN$B-kz|__~=%3`&~0Ya+*sEY^OpHx+OEx z5sVqh$AgHSAM^16c}h!zJ3Ohi(hC)HhNi=6Gun}I4ko3wX5n&6ZSoC7kD$Idt+=oh zO;yL`nzX^`mLVZg|B)V*We_!gQ+C9DcEs=pq$4JG=i8whVBpyYUDCK;fy_5XeSPgKR~&vVRwslNxN8)Nq4XVw2O^jNe0FZ@$6Qu#PI z{x@vHhggQVLw{+52MHUt!Lq-dP5<>EBj`_>#v9B6a^4Li9LwuG)StsPO_ko7eN~Ws zOnQJ!pkGRN=m{J#qj59`Lm~r1?Ty9JD3{jO;+9jzti9GMdlk-m`12Qifc+R33?EsD z1O&uWe8%|l4GEFM1!Q15FtoQd`V1iz*=JwD_^d>~ZbsAnq9$$F?q<0IN9szO%F^LlR0+;hf5KNwELyGTL7tHpM_s3OjgNn{ZPTUV+kZ z-W=}eB{HA@~4+8NtVnjEg{P=es&vi{Fgq_6l4q~OFI=L(-vF_ z4;hv2$@|r#_50OGMCCXqjs!Dn3tCF`#`sU-_}4JXfmhJDC6}WjB*YiVNDGb%@;;S? z=B^DIo2(j3W3=RlBr|yk2@P&)lLJ1Hrp)YLs78#R5#I{EK{IJM?exz{JQti3{1r3C zMofLH3(lJQz6QW~3(B%#|4^-NW}`e(rhv0adiE;Qsb`;I!~Bj_-#v(<0FHOc;b(97 zp2RUYDS`OH$59RA_s2*(A4fI$UaxX4jP~XUqU|@i5bKI7qhT1vJTSbP?ebnoIw5}6 zy*Ocm@-mQ;;>vdfp746r@DWl8W9OYTjL&wkzA;J9BNxFp*#~9I*|JzSpEdt`^g3nG zl`88TltSShyH@2b=s^gU`<{n735k#rl5GWAQzxb9sI=->TYo$$DGdz z9>YFu4K|TL{4u|9!9iYl?R`byAlGkbYp%o_Fn2^Y8?SRZ5;Y(QyXH6~LWh^_DVqg{~*oducTa5&3g zv|+>zoJ6%1h8}FiwU1N#9v4s~#t8Hy3Dgz;rzGe%q?1l8FY*%@+J77&C(dvL&H4>_ z`j4k+ffm3c>u}giEazV#DdRmIdz331=wV}c>=HW~pCp(eZ6TVk2S&XK>yw;MelqC* z9muGWPUjsSfp$y-aZy0EVdhN97BM_ZdqFmykFq`fGvl=x{6;~R)n}y(>aR020JG7Q z1m5Z7Uy(3IKi`;(sk~6{4-dam9*SZ%>KWOGI39T%Subp^U_GKxW2M)78Apa2K#SY%%)P z$b<6jc;GHRZv2UE{)^&pj!7A>B$(%i zp65$A{~Av6PnIJ@cizM!L|fb;?4ICoOi2?gKX5uKoQ9p{R5T2oR4G{gOW*gh8Eu#BbH%e zISO+TD=@M43hPO%)Wn)8tQ#@QfAmDMw5^k16nd!3PK7xHLj{Sg5iD(7GB_ffU-cXJ z4APe4kMYh0s`Z1WvUAer@=-WvG8P3Sp+D(40Cpo=<$2p`lnvP--%gtxLaZU ziCOd-s<58KEZR5~mQBo}O=pE&K@3HdvfdXf>=F|zAeN-Cmc$Cox*TjQbU2?_sfle; zSR;8CmFByv6n5%ImSNKCbA=ri%%s=r3Nr-5DM-E>CdNBcV)}=y2bv{)+e=K{5*kzv zJuby-&<=C6H#X1@GZ{pLo1%luIXC!Vh2p5#_07B0Si#?)y_ zHA5H!C<+n+0s5ISKLPRRRv5icZjbtNo8U?;yhwZ4y<<4aCPOHv?MUaqPk_<%nG2vg zIVPCYSlTA{hMe6tO#I0W+jjQ;3hsSe1^$MO-uUqrGt}i#yi#3|j$&c|D9Dh%dR29S zXaUC9QgcbtHx(DTW2a1P@R4e~B>VkmWWT@9E7EUT;5m*W2>pZ4nXkb-^e8cG)^l^^ z;vT0|a04Gfg!tqoa7kS+!o`w>stU0E(*+bkg z6FD65+HizpX$=f>aTH%u`lzqiQ-mV{fYV6FXDTrKca;o|NP}wmF3w-b$c8r<{O16B z4;c=0>)dKRM78>5GkLXE{)Hr8>^Ok@=p-^xT`8iU!un@j%~;O1KmoX4xqZ=V6_Fo$C*aEMo{*VJNevU zthw_r)FI$be=c;%=TQm`O^!l+OCglM@>1jAXq>v zuS!t$&y3X{OJ}3AsyQsvvN80RdTYTi;B|+Lda~w{(Zgm&xy)!O34!&E@drd7jtIN- z15VL=kW-XZ+U5;DaavWWx5~*I%P9*vF-m;8^D9ai=MrXC6uvV{uJ~nhXChaRj@TN< zof1eCxz;h)9Rq@MmaAMJ!>EU1YA-6@>8bo9kvFR#gfPP@JoE+X8~Ik)>&<%hc86yR z&!3yk(RmGc9JMoyC5p$vw2detFlfl*R+K7}$1yyh?4>x2g_4{b?!TZpNF^8K?PUsKn+I~_5BuG zR~gsaOs2+_tHznzv7^=_5rNB~cN?>CD>m2lbHQ)MvPnnI&Vy7(r*h;Z#^AaJdpNg{YeTE=qtc zcIcq`k?;o=vfwxwcQo4Tydck--$QdmB1vQ}pJO<@VDyiZ)M#q1@<7$FRf#-YSg%uh zfh}3K&In+x&=VrSC~F30!yLRy(>p?38$S=MuRyK5tRx-muTsx>3s4%l`9a1b5hLwrUh5fm{7KyGni%7fO`-rs!Cit`8hW-AdNU^v02%c!x8uwF&3_EVf(#5uZ*#I+>Q?CEkL#P!l zgNS^GrFOjk9V;dim}*sbX3yXJR|K;qc8zhvgci65*^?T0M819%*$6@KTL@y-EY*B9 zzGgNRm#z~ZY2|mBZ)TWpW_Uwa3N_3(i=YmmRNT9v!A(w9`KpFaQOjVLEh^sUsoa@Z zWIyBdPsP>d`aEoeBH%-$DYGtKEb)^V+XwzTuR1{%yTo z9XGgt+T{*DvV5Wzd=HevWR#LX`fcFGd=!I_nI#KUXBcXr*DKje&Yo3`^Iv}`7IrY8H$}@O>?F>joL!jbKkD9UoeXmPeA2djtM3>8U3FY{YNhX&8{stkrQ0FHYg4TA_Z@S$PtT z+D)QdBn^Q=u+tr!fQBI6S@76HE#1YZB9CIl9%nDKNNhYKnFfU3MfwijB}Nju^kv8v zxjMrssmQe>XG3p?k;^9{KD6Dx5h88x)KWByCj^_ zo$nv?{Pc&n!)U<D`wYD=)@CllxnoBG#OX3xxg0VP>A1ELK0`@F7xlr4w-iLDAFH zc6MIhVZxD#Zp4y9J)DRxSX8{9oarS=6>pX|LC!S`y&eE~GFgls(i>&m@YCBsh!~HkO z-fFOMrjN?LEt4-M86uaPqc8JOR&b|r)j=UVlvg6?OVM0+x;uOzdK+(>S`FK;iy+x%Ii zZ?!VmI-o<~=ZUDY2iyN<1|yLKHK?Fv8#Nft48|b?Xwb-jKdraH({GCAO|~}Qo}k`- z6mNUEjqF?u&B0XWJ>l^KDKLynCA*biYfD-PJ$AV}EIz{8xXtFUvpmInERm5eqPP4C zjaJ&s>qf5O=b3gQz^5gw5iLIy|p0iyNJ|n@{+d^Ospb_zJgX2 zfkG{eB$Hn;b`hkft*Osw=~O-a8jP!q;rBFY1iq75HkRC)V~sxwRPy`H#Y0JJG`fFA|4312`<@N4||H$Up|q3j>|EB-_K$4wH9$;jP@c+=3p0ydNa)0ulY zO=l~NiKiseX?cVe>~Q{5%V0_yX=1-9Y*Pg=w~19Mtm9H(-AwF5g_V2-EW^ZJRM_hu z14}WnATV4q5k`Kv+~`<#ROUf%=yE?!gBXuthfr;cVrO68&ROymt#`|0zpaB@+*9u4 z6S-34UuXz&>#cHIn|*Al{o1>h8@*LF&|tJcE0xW_9?h+6?l-eJ2{M_R{VtVHEn0+q zGe!bmG97yuOQWk^>R}v&xyq{4O1uM;;y){6mFi&T_5q(rr3{pa9mvq-2dZd)%-;rj zM$^tGvFVtHI+dzi7GH-tnIY3x7F=vwS#XJcWx=H|buC+2(Av%>ueeM#c|d(#AC~Nq zuP*t1#zIUdqD+hRGrnxEDB+6L*eNBUh}Ragh;LAkMc{U-h;NrBon6F5 zD58fdq6do5R1tkpL~mobSp@F}G+V>)g`mo2PZ#^%NKEb*D#@se}lmociOn)$rQ zC&Chwkc|)}ADoIBUjs&qrVZy0lO^s^xxAZuPNFE5xD?zWY+(^)WkEZ%F9ZMEa!~YC0 zRC`eEvfjpJW|_PLN40i5iUiT#MYqHg?On|IR&%GRqPH!K5p82TRrS$$ViLcV%I6N1 z4_Fd$N<*DTz}dpM)yfNQu7ATD(!$*L*}^;VT(!`H+w2f7;<++o4Bp8JhqW*xTTSP~jwe2E6Eh1Zd&RZDtO{OWC9x~kA-Y{HI!v<2mV$_pJx z;V<4}`P)$oRen(@1;w1eV_ApPmtO>PhZf-FeHc#jucc&?^4GOhG#JGvO2FY8YH}NE zg1g|dqf1Q|>aNtS+w*YYa z^H1SBv7hl*3tTy#J(s_kAUxgFudmgw^VP3U)vq(~E7xlDn_wZl7!tZN_gr z9i#fsm~|<~(d6dUNrUjR;ybxYH?j*vi12J&?0&s7tjH_OFVfBIxqFn8R31O6HtuhRc-Oe0N^X%$g}6YX{j6@P zF?GDE?&TDcsBWq;<)C>4340E=iRkpvJ)qjy{zoEwU3|TThTV`h#n`{ytnwkV$}?qg z8ecyIs8yB25u`{O@{6>?N4gm{O0qc-C+2JD5wAcK2R$=8Q_2Ep4lV{X2AECu}cB$CjnpHxLu z@JeSz1b6#>)C?BOd@aQ|krtw z*r_z46huZLSG1N6nCK*JL8pn4X6PsdEd>O3&8)~HeSE8GcJa&Idt-sD7_ zdT()MpHRdsr| z)^0@9Wwa@>8HUuze5|D+U-6?IY8?3t-x~TG#NEeKw#N|K#ZEt}Ye?W{&r1_TsfeQb zoW|xCWa!JtOt{3_ydd&@j5JSpK$a(bFNB6$D~uF{#-zHxRMm^N!*y)%rNiKdSb7WP z;C_ibAtq~^tOX9Be%jKUfi3cp%_9ywTn-BGz1loOikl?hyvD6+h(B-MHZ43BJ&Qd+ z7mkJ|78QT3JyC%H=+CaKD&Ah|Z*n-g&I2vnWz}+nW^gacyB&lOiweT;X=uN`43z&h)IE62mzej%gK33WMFi7j0Kvqj zuZp}4mUL-Lhb21ghn#ueX#NH0CAO+&u{UprqN+^s#;$9r`W$d$^KrefOzf)P*HC#3 zH!@P(J{cN@;jjf|X$yuFL8d=#!=Jj zzdO^|WiB4SISE#SX{8ix$C1d|Iun0zhydSkkIemd&CMMc{$g7>S z4*XJZp37d{@kg++1G@oQpfwwS86uJQ|3&sw9>YXKKL?`00m>lH6m@OLY~2lBS-}y>dD?<-vj3Rbu0UGYvkE;yoB(5*OCse#Wc!@`!jhiYPc(o~10VFKNQ1t2k;#YS1z2V>jN8e2Jg9 zPYtJwUa|Z&_pO)J3NrHLKxv4c=t;*UT#mtebE*%0gb#P^8eAwJH5$DQB{!UtCl$sz zaEtMuEm$|w_bz^atX{qj@`fg*dh!qjVr>ws*+}bD#HTQ&ic=Ws?z2(#-+?rDJW)Z66%{#1xuc1&!a$HQ0L(iM0 z-r)@wqrsjvr*WmuRtUqL$Pep9v$R_DTu~m&$;ON5qzkeu;0+eLa8I%dw_fkDuki4^ zOQ@?yM<{&#eB8WJ^D0!{nx|{NkF>JxcEee&SVp@%Q^7d&n2O}LWBg1mFr-9Yrv?4by&W2=KbBe6t4LdeT zZ;ie|@y2yb-lGJ)H3Z+Vo@pa5hf|Cj!mTo(ySqbwbBFTW`gI^s%}1DZuip;`W%G1@ z{kp59g*A?3O&i(H5p*%K6spv(Z_NI5&iy~>Pm?ePBImO|ryx7_CkPYkPj&mR^eNWJ zx=9Cur0~0atxk|@^?S^pA-rn#e2$5PHQ4RwGJ z@z_@u^#IRl!AAi|4g7m}muWxv>l@vg z-x$Wtd!e>Pp~hbQydu5b^dD56aZ-L}6hc_u@q}-SvGIl*LOq*%!#x!%zvxyq?9L{s zy1j(ANVqywO9cxEZiJY-?ncCa_CVl-dUXFN*}fy$Vva+5vx@B1SVwt6z1e6T4wmpcdF-rQG49OD?tz_<U5b z7!Xdm&SU>oa_mK^Op$z{59e&BL~+gN^`UMjv)3|w14^(Nub8=2A`7#QuS#xO@D%>? z{67O4H8emh#}n{-W}Hlplmd%1L7gJpLW%RQP=<&>4Mb59lDI?nr81BJj{G7p*Dy{- zT;FG}0?+L}4sTMAKha?~UcOEYOF!!+cW+SB!3*BNnE^jT;_t*TJQ5^idpFK9u8BUco{p-q$@j~QbR9IFs zZtRw$-MA}KMs>~m_3{y|z@WkD%wHQAsNi-_|7SVtmCCN?dG} z=P9n_H*jDRZcv%jy|RqEhf#`*fKT+r(m)t?=z#}00cDl)EW?;jMV1Y#<=zM(WZQlr z1byC($t5{Vo=(^A&5!cZ3)$=g)e5t^q%ODQV;Q5tpEH0JnKjXdyf@6KT%P zq?2B#XVS6E2^(Bw(v`-`eb2?DS4-V{A!W(`z@#-Z&&iNW>*ERiKk#Gn(+%lA=d}j( z-!R0Y|4%f9o{Ro5e*BN5Q2hAR{J-$yfYKO0e)i|N`SC$zZms9XZPy7u{`8c^k4;va z{OFRTbf6pYDo45DvXzEy!BOBrOn)kF<*;P2rcV(s+hDQO zWr}#z2A@$s3i#fIc&{M#UNWOs@YY*on`=GJjemS29uMMU9ubwdv*I5Q!($rprwqqq zE!cECNiYSHT-8uEF0C4>$eN)k8P?N`SWbw$Y1Kc|dYT#k^!DWF;H>Nlo_s2Zi^rLL zY>;`69H!vm^huDH%%d~-t%|5WTvK2^S8c2=P>rcB7-ixE&A)E*?{NMd5j$@M{g=^q z#-ff|@QU%$SaydNG}I48hOg8Q)fG>xAF3C8tlI%|RN)FXB_#JT#BiXXx;iaaLA#Aq5fe}#r|u0q5>oSo{E43)Y+r0bJ& zQF84veBe0lH5^s*`)7c2QW+`e8T|H!Z^w2*H7tW3t?*QZkszkw>{a?Q50?1wxklAt znD*vXYT+8R%74;caubYLtu$DOrf7lH!0>G-7P=x$GpI6m$M83Pf`J<=1?s`@A>eagnZ(w0vfG=n@cSG5D>kJX8yzRaOUtRBL zt~t-(pw_)oW-VH41;fbpUMd<`?X*D382%&u0}4XSYC#3f1<`ZZ16aV0>N}Dzfq??W z;I5PY(_m;ILA?-^<4FqY1fd$nq>92VStc#r#1><~?DO@Um@%ta?5JGryo?r2xIbxr zcExtOdMof;e0u8XhcjBF98Ke$cjef-2S9$@jFS#ZU}$v*kduM55irT})HFpOaaQQr zU`NeEvis+F3cj?$gV6vGWwoQnIDdZ#;>&2Sy^^VUY^mXN1i?mKO#;1W z=C{n3(=o4N^Tl5hpKbt6;*|5_ zdZGg}fL`j>oAZUPA5>aBT+!5k=d8=ILa(DYs3wCkobVa(sECe|HZv;LW_YpEQG$*d zER!ynE%A0IEv}=iHHw@3OkFWVWQ80ZCCiru>hY5$`7a$M(}PG>V;C+qAld7HCWjDB za#_ksEJE@a?shSw$BotK$E;HqGnTut<%xL(fGC-mM@kly<<5`k8REl7?-^|ISU0Z~ znh4}D8ibz4;ZARilDi#JxTfcEzac#aJu6Glu!zQhmVM4 zHhNvARrwtg7r>7S)Ra$H3urn8K^gL|@z^csf+EG&3CDt})Zi8@NSN6?ffU|?Z(!4E zE#y0l1U-$1fe3Fz5MX)(2|6J1aZpEI`zk09L4yYe{M%U*BnB)V7d|s9{qLc3pZOY> zVby=_ji#auFiB((z{PMfyfsM2CJnAHvqzyUXy4=di$XA}mvzgBWOBCiSK|Z(s z;OghwL1YZ~Cz&U=!5(ac!QcOFZunch*QTC~Qk_i45e{nm&HJpcU( zb%yRj4(Xsh>ZDu86AkN7iFJ75b)0bPxRJ*jfo)E#o;YkZDni-e{oe06m4Vk06 zRbdKLJDrf*IRLj%q#QiKPhLlhF(i8t;w&kFnP`UudP3$ObW1QlI4wFIBIkGb>o9QQ z*$1A+{TG6AFW4}<4Gw|XUb}lM;MM(*T&)Ez{WP`iN7n3#tm5p`_!}Dzopo%7MlWdx zFu#xeQ504@kzf^C5`e41^!&@QD@1#!LRg@2G}AD~YV3Xxwsw9*a_+-@NyujBkCM+I zd%?n9jurNvbZZ@;frbV@Fx~tV-};{33dG0!gC?C$GrCm;=a!=Zee*n#w2pyW!8q#y z527x9Q?0$f)kB|7w03a77SEfRoQ6P>>X)bX%V8^Yk^=!IihJD7^q&oN9G(wi>K&0| z0dQ;SLevwTiZgT#FiPD9)ns0yl)8JJ6)2zqz0QsM#Gp@#&~)O2r!$RAk%~)0*#hj0 zO<{EG-v9vG*gJ)D2ETGedV>H#2Tk%0zb{r zKN4F&^u0u=xA2 z2nM@oXz+NWBI}u&NSUu&)p;i)fvGZ&oimZk;7_?~7`?Orxq_NO*8Dw_P@>)C1fVPv z@@zB~7zr{KE3}qzk=^7O)u;niG+YpUt~mUMe3FBFYRB0|@V=Kh5(bZ>_(=sGo|+Vr zJ}6ebrxS~MUP-q940x2vk*Mzvy-dVk?a-6BZm*{Q4iBT_EH1;JR&bsajyawQ$xrZ$ zdewZ*0XEm)1tr7S6o+z(n{EJm7@iWLt>jMTv*;7A1XH#ahow>aYVBf-U(EmQ&oY(3 zH2{wxCSn&kT5zr>Wo2o{Ho17To`y$OzzTnk7Sjy8b=@pqbVNq+ksz%h(qPC(n|6R} z-7P>mqGzxeA>Qa6*<=~)Q=^vCI@hWkuS0WmXemO=z!tTqqc=x{HF`A?Fd<#c8aW#F z#eM3fC-i!)Jb>+moy}Mv^Miu_@Kg+~I$9?IFydYgMUUl2*K-laWd&B4(sV52L>8nE ziePQ%ktd5qzHOT#!IoP@!}n;BaXgA1QZi4q-ThPC9^QhcGTR)T4MP#QQQf9nVTC71 zPXliMt9Ad&b*S5a6M6+gsgu^)2o?9KrH`BLc3=i^+7sG?CgEa;3(;8v8O+dqYN4C- z4a9rlT};DPeX47GQiqxv*O|~TLv^u}@LK%QE>NxDlx7^6XGZi%nVhvMCDvaH2`QY= z2KZtKhwwX>vfgdM=qAYZrz*}<8F2mYxbLVhq=z}aL0=cvD5Nfy({Ypu}YyU{wk@P!A8 zVc;kZP9{U60&=2E_1sQC(IDR0OcrN)TfrpUvvnj)Y6E9V~~M_`J;70E;$ zI$8fsHIXySf04K_swwKhZ`CPFaJQ(xDgy7npl|hCE0g#tP_pj=qhr$s!OVhKy{;j+ z?U<+28c*bVA-aN2#WJVyA>6Bia|8lvlE{G(G1MPjpg` z=#X;EIwlbNH*dl8(Of<&{0K|cCtxdlmHyx&vBIkbb;)tx3U`+(X3mh9 zOnms@pPM&0C}(ZdR@NgMv(cQm9HIWM45f#{ivy_K=vz%){qTN$C`Gy zvcXRd&K!ZVsMw6L!i>ABnWtw-QCVcawU7Y78p9cOWe!%^2=7NH&Ci>9q%3kt@ye?* zPGS-w*W`{kk5B5cGVKyf&i*}uGkJOdhuFRia%)aTnVS~?PDyhU%Hykhadyr~Pnekx zqOE8Qv<1@3UTp*q?pNjc3b2?bppnjf@IaElpMtl5MBC(WQ}oJZU=ZHU5jkBZ33r4gh_~jd42*Y*XW6zi_2k>IvW?EkR)0jn5RIzN_{UfP znq5Dci|r};ZV}*H2HlcyQ^3*}op}sAIR#-fme0w+pQG)6&Mi#|Z=5q8V)RJ+UHDLU zAR}qMxVTL8@;{}27f2`)q@>vPl`lGazc+FgFqkTf;FwfXqS(A>`zNK~x&KHQKXnd@ zu3O}bS~0iiZLIKUsJr>#)4sTVc%Fc^p9Ca<_Iv~-EG*|tNs;^-tH`-bIp+vD8KnIk1!FC|Fz&M>?~2}HXg@-D@C;IDUC zr+=40@pZwK@F-F&R{PLHvuEacj~@5f-HWh5i&XCdS&R3(i(WRP4Ei|3hU0WVOPucb zav0>i#>W~yhVh~BAielIdME3R(?zS$lSJsy$v)_r9Pm0G&qF*^WOG34w8PW{ipYxW z})xFIP#f9_uC@f$f2rlZuV_q$b5ndI? zm;pa8XfI!HWX9EP8dG7pm6b&yh`)-#`lM15OFqv|Gr2D~vk5iF3P*eo*Dc z!?`HRn*@StkH1uon1MoAv7!9@6?=%;`l9gtR`>xFP8~w%X?cVDQmsfW=@T4Z$^1D7 z-Qi(-(Vax;BE*H@lHCzl<2sLB>alAOX9O0gFq;%a=m!ivHv1ezWTQne1=(8NT3H!D3R(B6PX@=KFpZ<{YAaSxcUE%*xfnQA@X zM)8fLS)d5bZOSipJ#c{r2laB@F#n?>fB|Y1JYP3oKEHRxU0=%QQkQb6dtJVtbpY0RBK=}cmUZ{VAjl{?~DN%yin3_?ML9xH zOcR3QQGBQiQ495zdc;h3grL|4OEeG^xcVffcGZCYi>*n4C9vNUf&Tkw<&A&^7o#tF zNx3#BcCT6A#V{vCxPlHUhF)v0xej zxr5~li3MLS!CIlh=^P8*$vxeS*#_C)Ig)4K%@qtfX|dqlaneF;e01x6meAo;@o*I0 zxxArkC|p-sH)Y@$1KPZem*ytC57kOIhR_C;>+&aL6yp^f9L_!FiGp9}`e0*fnW-!o zj=xTTIE18XsZ>jOTXfc+_a{+p%web-Hl_RFEtp@#KRPFTmexD8MigQuv>0z7VU7VN z$?_IsC<(y`mF7SS+};GJIe3aYdJOq6G8gd;$cN!O6Uc{7k7@E@a>u-3 z^5Icwl@^eQ(IfdMxu7B1af;?yVd5`h_uf0T8|@pI!G4R&z+=nKU@mgK1g7(3v6do1 z9UoIpN>HiAJbro@1|;H zW2{f^p?$E2*3vdDGKp>ha&l0m=Ae&Lm}BJrlpx8!kfbKKACdfl>cM``rPo4KrZIA{ zHCOHIq2U-Gvhu*hwp-4JLZXMVDj5>+tS~I;J2I0EL=5Yy9a&d7ti~nh4C~5hFVdH4>2Ls2IxSw%kvt-b9Ls-l)#y471HUh zf_`|8nS(R)NcHq!GXm`)$DoQ+W=hJ(e5hk^0j1OD`KMy@oB>tFnv#i3TvH+}E~KBq zPyEYX$JU(RhNA|Kp`Cvbbst>~0Yo*GC@XvvMh?lxBrCj`VRA;Qc3#E1vx1K*KI#}1 zJ`!l$t*RP!-&Jtidt6_warF{#!i^T|Ud{sW8lfHd)e$yf2DB>RYTn;O3$UDTk-*uC z2RWmpzxDmOG-J^s2$}@_O!Y+?wCwW0&g>`_*0mr=U_1`n9kr{Y=7WVQXdX(t_y|l> zR;Y!){Yo8ePP7_-D<=qu;3|<;(8_t9z=3?zQ}FfNpKyIHKE0G}(JUAvnc=nPw*42 z-S;4HKoK^jhC6KoHD8eE6nWDQXjLC(Bsy*X8@z}8w zj!4#{HwICFg;?!B4H@CW+Ai1>Pl0GZ3qADd5q z8nx=;7inolhsELj*sTF?@B^WwL$V>XmLZWT2*Fq;+}Bq3u`>$AnDd=(5GE83QCX|+ zYhWlQs?F&?e+ao6hex0Cc(bFZ59fEe046(>$QFtZ-``SS}wz*t>d%E2K!#abasZmWDhoui;-wRbo`#|GAf~X zqw`-xfVnR0ZIn%FdgN>w8&3aeWssKR^y0Pez;b}#+|GY%7?#MRf9IgUi3hS2SM@Gtb{8ugA&Xdq{Bpl?%-*o&S2io=CO;ol;)Wd9fqCq%?=5XGr7%~xaf5{g zsfc(CP~%ZQD(~pUaWdCfAj0zm+Tm|OmAnF2A+(lyVL5}T6_-|G>003yx=GqlF!4O# z%5RA|d9m*)xEAThLYUhHSHW_>H;aiJ=LXa8y1Ljl$QQkd;04o3Z*01Qt71vZh8u=e@g%y`fl#C@1j*$9SCZv%xsD|9EK zFmO9D@&pHG&=*P`qkdxj*}1zS9?!eff8~+ih#V_aZ>h!#Nu+;cU{{Imcm12 zKPj%|Jt)poP?k|-Jq)K8J5E9qbfpi)MJDC&Q_vB_2!YdN`$(6@K&U`3_C)x_TC@te zzz}jYfe&vuK;3*?{SFCtt-5HlHX@B677R*S_LdcVYc1@@{9$Cc8GFXfnf|sga`M71 z%m?eZxB&1?=Caeze-CX0@L){U(Pv+cjO)rGtvXtv736{f?D4aV6+WAJVnkK(wQwHn zJdG2Fb1xzi=bNh}0G%<>n}bdn=Tvk?hAKX4)PlgMnTf%xr~kNk&ID&K$jEc_KdfG;?T_Xf9~EFM%m z7+xIi-I$5v{TK}0_LId!K(nc3ORyhdesOJwnn{I!is^DSMzyjnL!Sy!&MZ7cpGtQl za4u@zFADyBbF5GebBj^tbSS%|q-r&n!%(Y&un&agykEC`z9{Mv=GQb38@oK?4ylee8zjA)w~J#>w9^N{?8H;h7t8!olmxbu>cA6Cv<1-i zAhc(lSBC!@wi%5(3uwn@_r<)Z5*5F;3@6s3bUP*wb~a)bB%Du&K-h?8#dOx8&c}SP zY6|zUgazegbwfH|^lt9V7#pY&+bu8qwl9EDs?Rs*vsnX8>JE-0INA8zeTkbUBuojQL@hrlM>mR7VpFUB>_gE{uMT>@vCH~9A zdNQ93nhP}TR_}~Gh>l{f*0-+u_c-+rH%@6lpNKrcZrLaNXSu2qv;#4wVGXoguV*3j z{X%d4cbb96oIKo5OI()Cp~gf5b}W1a1#_p&P-k`{`CX$nq!9f3a7s|tS9;&z)j!^X zO+f3&32*)X!0v)sCWrJV7zZycxharEgV4Y+H-9?l8i-(gJ@3qz4Tb1Ikova!)mJbr zBTy*%h!{+xEwER;4Bk0rWtLU>G+`fs*Mog(r;>vnl=>m54^2gc6zzo%b&2K^4{R81$xKt%R%Qc6PqOe1q5%Lz>n1 zTlB)t|I6KUSGCm(cTf=r+u1>w=23T?V-zD!VdiOt=j*weD8_W2Mi}=q*`IN{9*$km z2X)U}g(&|8Rs-VVpTmv`6dqwI(9XqGlMH@Hg8hF$(06C*qgRCvI(?)Zy!XKl|I~p0|z!Wb-6yKhxY+Cyu>K9hd{F1&wmZcpy&$g z4pDQ59-=$mpzrg$UwHJR!Wtbfd4*bSisFjBGKWnB;Od*!S}0!wzY zf!NL9c^~e2HY1%Ew|z^d6|9!~tk!oG#!&F58A$@ZiNpz4xwnh^Cz68AR9$byHftQ) zVSkzjHGQ;XuC?&6#_3_I?Go47`F9>mOR2yAakLoxAq33Kl;p?axGjBOd zaJk#m2WRQUk#9v^7t3ch#$XV*HR{JI5ciR405QDLf3?hfoc3}svuZRUfcq7@=>3Yj z)D6=Q)_=lNhKg=S`(^LM4p`5A)*u+eo}h&#-=cX-HhYr2tIT)okV7kYG&B4@&{pj) zSb~wUv(Epz0ozZ`W;l2dC1k2E&eka5vlxK6aH195eC1di=*GW{0JY|U=xAS%jL)p_ z!+J2GOj_;Ocz0gF!=2Br{+?ZUCTJ2uYUw8;+yz=Egk4K2GB8L*MJ8g5yH0oojfa_f zWFpANK6u5s!ezV$t3WvQNm1wDfy<=}e&UMFYCWCDo1s8D?RkQK>|=8|$`65-qoK@C zip~@Hq3#f-Pc8|=32QZ{@+meQ5gTIk9>>><@s;BwDBV+?CQ{+?KLNgWv$PaY$?Vy1&65i?!r3Sa|x+EEjTGXlC#b zR8Du7T>gWAsTbHT^?^I6$2u7$&wGix0B_i9)sf)9y6fIi;kbi_At@Gv@c5cBFFgux zWz&%kOLwy>6;cO1!L3aa4$x!VTFESeCkHG1K7(-_#OdH`ygD=Rm>~8J-uC)-CwxI5Va*71j|i&&pESmJRBENFSQw1G2==hiSCZUIM9 zdk)3|nR*7AV{U@Ps1@65oUFkKCIWmOX%qPc5YjuAQj`eN= z<>X}5!@0XhR&w(=;&0-KpsM{elr9Cqj{OY$W7*Ph?({`(gi2;ROe9Q*9RNBRl+aSh z1$VGp_wLqy5%0OuI9L}p$is2luwH? zP#R8TV_`SdClktDxIyt!v(-}PA!s3R@~La>1lWU*WWp+GNN@} zTqjY6c_6w8bt72gp0Y?F(+{~7@7xV-L!Pqe4d89{!ae8VH&L2anL3YvppGl7GzR4{ ziE}!FP*rY9V7Bzf3s=DE>i?K-{6iKNu61A&?Ut9Y6_MPAz46#r%ANrL7kpV<(e_--nz^Y@AEz6KV9{;V%r46HCD2kz+i`*4l6m!JTy^Y=v75gvP{N4>gT z(;*Y32vjUYI#lX8nY*E8Vh37%V2tKFS0a^Dibn!JDuGbRR`u^{UKu=w5!I&mCQ&Fb zIv2SVNp~#%-*LWfWbGOt_d9i%dkN(mf88*_7i47@UVH~zbyz)go<1&)K7ivQ$N`+c z35{@DtSwYu1SPF!p9docjQ!9mf(zS3=o7xc1%1VtC}TI2_HfSIeLorv)Jmq#0JH=; zOW9=wKUv`ym{^>Fg$t#HdcVj->3}tWPiJ~|KW2$+Q`H;vf;tc1LVgPjf+alw^Q4Vt zldM&<(dcc4`;Tmw(P`MiA+w6?R%dO~L$j92U2`$w0eTMJsXFpbpvVfR4`FI&< z3xOfzAJdsR=DbOy zVGrkYI3MZM2~Yb|Wq z2hemYREa2qg73qtsyfZE@yNhN`66qyTmFK+(GL-vLb7R*4V3Huh}O#KJb(c;o8oLx zz?n=Ez1U}$>7!_KZj|CGoNh+S!aw@6%CLWx*^>~DU7-sY@>N0Pk@*+XB2wKG+Hxo2 z$;Fq|b|YX(e3605$jf1;-i7K)8TAw)vlDNS;OH7}kTCE*y3S+Y&OutgJuOAm4LOXO z(GAe!S!^s|9%>;S`xKs_srO1h#m^a)Gk zM%-XvZb?6r2V+o*JPQLkj}dAyQCwz)*(87ygdZqjlvw~gB4~p83P5eRf&x1Qh#_pU z4~dvoOS><{xDwyIRBR4t8Qf&RvUW`x!8Lus4kbny1bE_nnHjJK$L)%{RgJ`XT1t(df3ypb{en$?X8mvj zvLyjuCB}0@Y#1;5sm5iea3%tQ5*8;hRg3v>t$>A&rH|7i{17xk0N`2oaq@n|(;``% zQrIDg`H@>YC!w!{v&sF^1umDyBsex$iU96Ekwd=|DLf}>VXW+0fMH@8dN8qnz0suq z+CMCMahB4Oso*Td3a@7tJALPkm}Ze}GT`tpQhW`L{O@5T>bJ;zjn2jCPP^&QTb)qo z&q>~_et8On~?KG^b= z6`Txo@$?*%H|O%0?-dch0dku&q*Mq6i|fAuGz;i+7$(lW=WHvBzLNoE(QX^-mLg%T zBs|?sXob&b6PUPQOx~=2)cwb4jR4KhwhOy&NlS6Mmz@;+>0Eq4YD&WVan5P*-Mqnf z6e{nD>1Q_hKHeaGU4!q94ZiDeHFjco8ykGDPX4yu8Q$v1r_er}fH`vH(~LmJBcC?H zh)%DDY88$c&<>z_zMXy(0xGtpd92c9b;=ol)TaMgp*<8S=C8Y`x4E?vH{4V?!O(A< z-<*%C%_HU>g|0FYSH6#HxH;yBUeFGl6728GOQQo@!SH8!RkJhaU+i zfC`-LNL05ydHoIoK9Umtf?9&dnopmIX46abIwTJM(qa05;M|Nh*8H#dIXA86^parj z!s*?EbF))sbc#-I7d%<-KWpB}DWH19eUUZ)LKHNrx~6YCG*XAbm*Ns+cXAQqRPk*+ zAD7`%_6HG~f?K%-8HDYcurY+hgE#hovu2CRNjQjHIQ{YJnAbPK_h|UzO5l+`*1kP_ z969K-I>Th}V6ioF1>dnx;C;kOb=F{z_R)u>xEP}V2O#7Io0C<`egQGhP1wO={4l7! z;t&i**XK+a?TfQL=;eZ`uw48|LIz?P1Es@d2@V;nGT`?F^gi-L27(w~mI{vy;dOJY zGQsxQy-|%XGEj~pK#rFfC z-cwraXQs?(d8BWvA}RSLmTaeIKCU;ah78P&j23B3wU$5shD%*gY^J*9dtq0BS_)k3 ze8}O^_qQDR65-M2v5o62NWUYR5Qs9Bo%Q8Pa*y&`Uf3J_=J!)_*zaBH+<8Kk$#E@& z44!$%c&Y}sJ!W5@;U6nRZ{T4l5ys@xjbTj5^mh8RcPI*l)?N>l0z*+bQKLM1Hz>;h zaf)*@`r;m4!E=xk_w~pOWVyq+952pXJPdyXC8nZ8E_-lzqj{KVKg@t%A2^qwPawPH z#`!!&t%6b(>o2GdSo*N~3P0f|rMm8yM1F_M?*$jl&L3PQ?4`_v`78vD2U`ymlQ7Tf z)o~-_%eWWi86vOp0{{_nyM?eTLpuaqq+{tZ0+{XXzPOZ2_^WJgXEfKqQK;GjY#50; z#TPs4iUTFc2-)!;)j~Q-AV5I5`pa?CCN}z~q#w0v(b~osBJB4ys`5C|iWr3utghic zrwtgci5K0BVrFj62Msgh|Q{ ze$<-W7pPcuU@FrW@gWV-UL8avD@kXjf6mj@jLQIZRdCsfdblALK>9nB75qHw4az|8 z?r#Qb1+Kq%7fZ@H&PNjz>ty1g;Xy=R2Ng7+{@XB2AVTxt4h%Jv=r?39+5M5v-phwtOJKs95H;5_c74K zu)~8MZJUwO6;V7L+8FZ=cN91C_Piz2T0mIB#@q@W1o?p)cVdGos+M`b$;1w zQvirA31>X3@yec{T z4LAJ771oxqD*Z_Mb8g@lJu2eeizY|C1IsRCi{5K)}9OwjH*GSs#AIa~b z_-?Gfz5Fi4cbfh#;CFX?r|a)d{DxxCbxrhlTYkfP&~;7q_i6aH7SfxFmpf1sD1lOG z+0Ob`U+^vM-7o*_Y^4j5h=(2hdg8)#KRe zOFgNUz@C-IM>;F>2IpWdMTdZXnwA3wB7>rHa($`wY9}^-Vk91>`(t5%>pTdCws+_< z+k%=P57>)M82a9SYz8I*nQ&4c*&!%Jy>;X`5?z85vX}QjiH{lHPH`1f>5hv3P@JiO z-Fk@x0V>@%ETCLq1Te~C=W>~n&S9Kvv6~2t7W{`S3U>|#ev%vNohS*M2T-^3I3LUS z_=b-NBf9Z%J05cWp*%}WkeNz0T zoYik&ZtC4P@SIvq(IHQelTn>F*rj7?pas3eWA^MSt{;Y#k^aU4O84}#K^T&PQ9478c5vZkxlH{S z(bdL(KH_B@;TN$eHjdc&F;HNq@IWEV978^8lY`Yb<;3a7x&_JSff#?_u$uQD-HOiA z3W(!)vImJEK1N|`q^D4eL@ogcRG|c>p#kyzU&@3}p2)YVE6bdbkut}J&7~W>*0=VI zg9FDdpVCJ3QW{g}gS30(#Uh8jsGP0cpo4`ES0HnWA+NmZs!jtwd_k zR`vB=2Lx07A%mDXef+B!Y&&byE)Z9C{)@mMSCx|a4O{@tg#ROmaj zdr8S;^xFBWm$PWN0;^RYnOtKL4UMH&J>2kNFF9A|nuo(F6^PkuWP*JQGgX>QyL43r zeRNgJOs2lbqS`i&f&Ege+L>IhORlah z(RVE0vdBlY+*Sij=FRZ&qV==w{9TQ+kVJY{J43@{xMVJT{mGu}oj3BDWIn@Weo!(? zCu_e>b33`nP#c;d6&Az3zAe@v>B z>9Xez-PfLytMHZ=`yy5E6qt(Jg;#EEm7=`P*s=*y+J$TX zL14HoyM8-LJJ&6Z7cXC-TXv-+GcY@iEj#vk9A-3v2h5g8A{Q8QzeK8aZYs9yN1^_^ zUX5gNn0>}%FY9DfQL;ksAsGg@O;XGJ1Z~JIjV-xEf2${XN|UF)U-%>E*Y zx=xZrZp+SLSv}lTtnxD5vR9BS-m(|l0%m6m3(3ZQUv1Jropk*ORW=8Y$%^35}ZYs2_iEi2aq?WzC4XM)HRBRbt37}=i z7AL}N_UEW_)4vl|z^h0Gm=!0rth_Z!dq*eJE8uQPR@lsK*%>@mstd-7q#g^?e;p>+ zE2v8Y>r9DmRVT7H=w77wVUO6g6>{tG>x|4h(~M+}tsMlVwc;9f4Y-8jm>6{qMsIg2 z;L-lU>CDH4eB|(P4j;6za?ap`231Z|J{s{sM}^KYJ`VA*mk)=JANi=|V*?-G^09`G z)qJevV;LVG^6@SoZ}PE(4;m#ni}-kkk0kS2nBP=?SdY|b98ipMCUNNR-I|${-Wb9l(?}v z?#OLA-&H#942i4IaT`n=;fX3wEMb)(Hd*G!Chl|{=SbYMI_`NBcMyF-zHcS2O2^$} z;=a>ypCXR>mGDPmB0ka)Z^j~qnux_Z;`vxaPZJT<5f4Z;q|s1X2NQRzj+-rU#P*15 zY~qIKxSJ%7xC3#!rfP6puH%L!=38yz&e3tj5{J3Se6N|fdQo%E@5(qpQQ{slaocs= z*^DbPanns)jgD)=xGGcTXcI@11c342D+IrZ>uur|>bT8}bL+dn#7)z2|7M(9UsDq| zT*tk`xE`i0b+_ui_tbIEGcL!(eP!Z0=(q)p9{{L4nrhyB_{469oLz08YRGf&csdEajg^Mnwz-M zIxa1-%zd}$zW3H~hhI);%hx9E0v)%Vac=+KHE~UK+*-!DaCy?i)zK8!&R@p39Mgxn zChjX8_ZH()Ds=zGnYg!f+;b9#fhVl{nz+Yw+ygqUk;GkW;%4f&yLBANF8C)kao6d% zsXC5_g<5rJitc-fjvK4vawP716L*o0D@UAOt{y>S$@fPScejpP&p6QW64%ElaKiTc}kvdLgTY)^#{3Ve`V>cdG;Q;LqkS$AUq`W;(5 z(fiyhs9Ol93!45cW8QK$Q%>(m`~mJi>(ku*=a%uNO?k{?7oG$InJ4GJ-=>?>R)Vv3 zG1$&O3)_e^IQ?4$q^dl&1@a3IkIseXgJq1qo`Wbg!Q}q|_WU?HH)RwoR^D>+9|pHE zRqel-`Lnz`<$N4ED*AbHIQ~vz3NJkuWu0xxvUOSKAPi*{#>zSk0jX-S&M~GPa;T~1 z*r#)N5r!N~Uvz7~90957cIMFIoWMV!VhOe6q1H547!?s6#F4=w~Q8TqWY0E=Wb)lp3|H+0Qz(B*UK$J&d}~obHHBrVq%_ zn2~`_G(K*4WIb68vVZz-a5Ko^=!^i~Qc-~c*7iYAggL4j-3^+GO4e0imG@&NJALm= zPRKEkpuwGj(GL_!)?PGI+q);s6M2p;zVtS)Lo!HplFpqdWsp#KatkQUvJ zsJ&B+V0{>NPu;@F+NdDQw;Mwsd%v2j0@5 zb#UL`1^Q4Q?1ou%WNu;c2SrQ_o_ZyD`1CXphT{ACc!#gmY+qz%PATqsj7);|D%|`g zv&|vl@sB98uj!cTE7%cw{REF;WFu>g@{*XfSvS@FIp2WIU!B-Y|f$hlijlg_ha%UqTguoLQF^0Ya zIpT}FOJ$jlijdJ8!PT25A?3eCV4L6N1%mP9Y1YDTnbJ;Qy%?r6kzV`ZL>4PGzXjr* zbC4E|fV!IpiM){mWswc;`fXY2H@?*GU=H6u+G0)rNQ<>z^v+kXF0juNJW&KSMMx1Ki0HP*X!bY{A^;;x zrX@x3@Ku$`Takh#q_3zf2C>0m|8%hIbNkt8O|<9Q8qeC3!7aT#%l0+#6zrYV6RL;W zKH+J?%x(ug;6^Ym@WQ>SHv+9hdeHg{g{Z#BMK~?8Xjhs$z=q%j`E$I>oF?8*zre80 z|B)Bk4Q0_Y>kfL3ZdMOK#)2zo;gFqI(5~bPtW~dE1o%hxQZ*7^w@^!x>iST3q?8Zp zj)AAWzzP{~aMJ?&6J$!zTWnER>4D>|vgm^xCx_~yF26iJpRcay4e7-dn3f~sM?MVX zzu);KVST#rQip2A1`1L@nb*~7@F?J(Xb(1Xg*rUSoJNSFB(Yf{e-+8op(6$iauGbikiH1UH^ZxLl z?k&-usdt3V%bP@2kBmdAm(DvRp7&{!cTK$BF*~yvXF_N#3-0JthtyRfJmGCe*6=RQc@vH?VYg#<(Vv}{S`utG5)`-q}Mm+1u`*mk&9c*g7&SV{;9!SVq zs-{F{)oRN@x33U~<3`tbw$>(Frkl+_gtZM4hwY|Ga&n2F+hd zzKaX7^-wg|s1^6@o)$xd&htp&g!ov=$6b7EG~UhPCF~Sqy8zw?2Fm2T70cZ7v^&Kx#XC`B=iw zANlqr-!|YaPOs2@0T%xCub!p15^?_1@D>LcPO2f-ZL5EO%lxgWbh8Y(rswD{kT3Cu zmrT!1RT3di$&ODV8l9Twi;m5evk-P(@6rEIpl+2OQC)^08hi0PC_3%0-p_ku+NP+L zCX**RQD^cT-DGm`-jy6Gu^$`^N8klNAw#DW>ppYL{^62z7qJe$j?{mC_;0ZxEJ6s* zp)kEh7_wTA2=?wI2@9tn&=)xfrC9WC$3)5eUT5frY8=1lS_$zXl|IWJ)B*hv5Ie(e z)?rsM4EP#(Yt_FK!m!LG>>VA}pXq?DBlxJDT-Oa3 zZQ~G~s?L>mWevv%l8pU_oM_aGV-D2Uq<{G|Qb>BK>W~+?4EqjM%B^P{;CjmR;Ve;;yvE$3f5W+bS?g`b7>`;WE#6w)61f= zNx6NjJ&CoA+=ZTeHsJt?>kzBc^~sT^30eZm>l9WBLwVqV{#eXQj5_j5%s`=xV-9i+ z(s2rU!x+YrOn*!F$RQp_c`m|X5!OOG1u!sH0tqej^mYc=={MY>se7j6nW(#&K%X$$ z*fvz?_S#t^I`SkfX3=*3kf){Dc}eFqv1Nt#a@w-CQ=WKhi(pC8uE3gqE-(ihj)DHK z4F`QZr8EVNYRBHO(Rj~IXyC89fqA3pLI_hUqB(a6kvhu4^;IT&kRRl-3I*-D9(T;o#sLJ zP$}|36Qg#}eW%bzI%VY z8hs)4mI0lFT3IG$K{o972w$q2&VN#X3uKdUcNd2prePzFYKU^X@d!1ZzP7z+ah>;7 zs}yKbx4h?_G`c^{=8U4oNG3i+e;c4UXq|zXqZVDQUH(0zxBH>24{*BA1dF>iJO2z5 z9MHkx36dIvpc<3*1xCZ6F?6}KU!TEcL8w08$kr|#khaoH<{8*Qs4=hytk4|{wez?A zmGuJ8?^EYh{#q~0i$6(m^gMGm-^S4jGwp0wdB+L~N5sw##Ix?4Z?YaEmJ+8mU-1oD z+o{jm#0jfRE>^Zo9%FR13miJG5 zLuWcZa1vufPo~wlix@{T+?6>dg*r-os6-?RYKdmw;FrWLzfW@WpMsK{#eBShM;xEo zg+0H3i0-Yq7+SJ}c1VrYs?l)n)U|5EQ49<~;6F!wVl-yM%b3Pauf0jndh8GHNSWea z#x9)x1P6ic2D8;@mg_qH=mPfKtDFMx6M2YceGY3_KL`L#))v2m6$p=@0e=MNH?g)L zn}stQN8h9=jfH|s@}k3x6-1g9@=AXW5qYHH=HW~@QElh5`)6P6vxgu6SCUl$fLEhQ z|9(6(rMMjNEs6&rMaGcg!K&BK*v5j(^T4i}7A?sx1rI8%_(SrBgOf5-gOl2UncA|= zBc&;rX~pyEXwC6N@zLMt{I4`Jx>aOIc3>>VZ7k%XZ%l;tPr)v~N44pUd5epk5HXP< zSE&3~$ZRXgg?@ufE;tTcQDnUX2ZTUP3Fvb=MiR}@3e{k4K((o^Mhq+JzKP+}qr!>v zcp^KKKtn2yHh02#i|pch#+s{FFO9%Ji;YK5l7`m4s)HV@bCpUx4|5fqHyG5BMrkEm z4Ca*;F3_!jTXXpN)%fM@$4Dm`hde)xNUGQajsiH#uB*-W-`42n7}=>rH}D7pCy^v1 zsn@tyW$Q*3aNf@n7fV)XH523emCuPLq*0#aM!n7y!R2JBIZxx=S&Ya1q;F-yVB&Zq z`$10SpNXbo-i&3HIh+=x~_o1q{=&}8$KNc(=VmI3F916Q`>uK6GZ z6s77?hQV331?-rW9=jLWG%4!w7X^vPN%9yy%+u(?5jCS4^<+O}Ag_3(e;gV7Jw1oP zINC)Owf+C#ZEpLN!aqk9qhvkQOExcauY1! z@Wq%rb?-SL`eD>(7aqDF^!T|? z8lL+T%rI_tD^BHkHN+a~{2#H!jf3hUJs`p{nmR)Vv_L?PO4A?cKaj-H?UFPNA9-rG z{s1zC-@Z-!fVV!}-TS^Esj4PV;Gj0{S5>W(wL`2&iholF-_6>I0gSaDLSWnvQ}a6)v}RasSdTyuW_vf57`|vsV5|@6!qJ zeiDvnWXK;7x74`blB}Kv@SerE{}bM%cgFs&`gy4V$NMrArLHdJgsH9J@&X`Ns3l|E zRb+*7q=lHd#>}q<@;G3F^QB!wWgckU2oKca#a(cak*83tRE~=Pj5w0PdQX~upuyDe zd|3_Q?~$F(<}$!>wJH_9RJ$$Y<^wmD*zrygz2DcWMs7B&pjvs>%Q@ zz(<^FT)vI#9>TZxUxTz|Bix9vadvv=zr;z^+=MxNJ)^}{jA$pD_6vGH#d=n6y|uqS zQY|BOB>)sze__i0l$64h3Yuu#46?2;rHHTZA+j*#S-vik*Ri;*^)D$YDgNBTlpF@% zEy2JGR%nX6Rw2bSq!1Rm)n{#Fb7iZJ^LFwyifbPFw5=)*Zuy`%Sao}GYBEYIhjxTl>l5f&ab#n0aC=cPe4Dkc3T}BjSTzG# z8%H)5N7e^-=AhuV@NlvvGq~%6V9o8txC^mQ+s}$BXJNY!Zbf;^P+nSTrLSW;JZeaJ z8&FY3aqw3pWYKRI2diiBp2Q}R4UyX5wlu`FJrdm2D7f>3;L6)^;U8LFRO#>76xE=> zDiqj=&4=TFTof4Gp31guL`f(J<(!5?z{kzdFV(asS7PGHBG5!5JIA5p{cDjuVZ2nE zH)CT{hA2p>=I!F>I48keOO`ireATWuV(Bk+)7M)_|K+LEzZ*~A1L@~&XW`xI=N(U} zf{YlnOO3PmbehW+@w|Lg&5x%)J30NcZhC)W`r+~PzoCB#j@Il zSGeh0C8j_6daS>lliO3|rvDMQq_O>2wsv6~1uu45!|J|1h6B?W84U+!#*$<8pKx~8 z6t&1n;hzZih)4E3Yv_F{rmf-q2zFsxBvC^zC87~$0m6za z^wLe*KwuW}(ZN@a)#IXNZ1kX~ZuZ$gBZ4?!cHxce2ydKGq_yci(H5Wbo_9DO9t1wb zZIJR5s0%LOLfi(+(b4^oEUtT6h9`1j;5GcqGl` zVKIz5vC+FrmOl5 zr6J<_^g$WYTJ@eAwmdMwxd?@kj;cP(?0ePlms0}=(g-*DDzE_Dr`~!`yUomGA<;4% zac;vt31LzIBflO)F6OGn0cCS5v=A*8?D-DjNR|D?tzbo9p&F(wQ>^gg61z*4y0O(@ zfVN0w8v=K!OLVe80NqWu=3gwp%zyaV%#;D+(%$it=W1*k*LvR5z?j{Z2eY*_IZ$7hI1e5HXoMVVC#!c{bFF8$6t22g= zd3`<-Op-F^&suC4Xf9$y?9tfX)a7u}LU&-$9B6F>2qBh-`!z?Kd8B7wwKJQoA*>Vh z8?-(~a4xLFL+8qHLHZr6ulEQb1Rr7^jymE6=IX5i{0Ke|eN{q2Yh=eB#CY=IP`x zNrX(*=_M)vtcVu1DCh&nvGb4*ny_pvZ^rS$r#Zl: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

    d;>#Q4cWIR%?AbYj{+eDJCa_^&< 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

    U5Q`xkrrxtm!T?enjpfP$N8=Fu zuIgR+TK{wm>SsGl~twRT;-Q}sYv ziAXu9XK%i^Px~cKZ2Fog{G?HsZUbKNm#}m`hE70v`uIyEeezcz>EDu3@&ec+f2Oe6 zsfNtj6)xI}w^!4hIq=1{RusiY=f|gYVRf%3XRk5&y(+qxs@ZM5=H$7Pfvl|gJ7pYz zqE(S>GrwLdYVZ!{k%r&K$L7apsG<|82q0`~Y51aHW5XsdU!dCbr_HbQC$~j^#^lE< zRLy@6_RnZNI=}Tazdv*GTF=UJ*9cxGI-k+9Ki@E5?+1;#`Fy6sTb!W(+)+|0NnV&j z2%RY>v;e#_0lbR_5h+~F=G?Y5eV4TT4*=u1MuLH?`L}gc^Mcl5@iZW{ zrI;qytjGafTa2;6;}jL#?j~4$eBUKw*+<0(Gf^TQrR1&w;sS$hy6d~5C=75mD6y4S z2}c}5%>vs*Wa8jRpC@&22J)pzp9dObbb&RLOcd_?suh&^=h6th`Y7WxrTV9LvXRE5GKs0em3O&H7JMjK1?3ZyrpnJHJpTK@5!QNxm4{UEB${>@*vlT})D8_@)jL z?!m{|#Qr$HuUM^E0I&_Z_}kz$J5~JQ$hoh&@oyzeLwESw{HQp-2sVwJ>*efWeSJDo-mQw7bjvFZE zTtaNdf@M3Lj#q*0f7pFp!FdNBSnA4qgr)b2$>(ig0uNdL?;Fhew8tD4QE-gI3miKG>!F$iw z{iMK`@*tMze4A~Y9n_Mc0lOFBqZe>fJ>8_R zXXur(3_@c3W zK*xM+AGuwIo=~$@z_D#z+mC{i8oh3BD@GNktoeQ-b2slWlRlrlz_m2*c(36tjxq0~f)N-vt%#XGmTf4m>(os#wr4D!3_<&w;K4Nh9a+T$HfLN*q3ON-TJ z$GPW@_2pc3S0%X{~cF!(TA-vU_^@p z2hqIjtolapda@j{Kb!B@w-|yl z`MN&de{f?U`j?x5F9N zhUsYI-J+|%KcBoDJ*Mz5CtvUw+S`pvlU$HZUuZxeZK_RUK_deJqdIRJJVwh^8BYt% zsZfaWO7(RMuT-a+de&LW@ieu0E)QRS8*6TDJ23sidoRcT?{2C!t@k32ADEhTS?(5p z2tlE4UC43^p8oe%jaz{&mpRe)ZaMDV)pSV#A$pXUG_ubOiSEaFo?zf;b95FMoiNS2YC1KoqR$v%w06@S7AySyN z^f-qnT-p@R)2LCo8!g~+s>-OpG}e&(YdAhh5XU%%PprN{d`xcLNs4YJ$B zvz*!j983fbgNMNs^)24@qsaz7$oP$ZXG!Wuztj&agCVmKyr@*ZJ{guiyg@M>@B0A^ zRE$RP_ow|}eaDYOs)DtWWme7%C#>41Tl!=(7cxfIxtw2mId#&V=yZ~F-b;*L!1dZZ zy!A70Z)!Ps3!1l%{x`HlV7@J*OZtXBByV^4-$wEl!QF5B6%#BUHIMuBsCqyW;f7y_ z1SPg?ISK?^>Lwyvf0fg&t$$0Kg##+m~Sd}qzN1`oG5jeAl;}!W$zj&5k{6#|twEuwO zOj4U|t$@-7K(BD`HpS0s0u%l5yRK4deYxt1)p}!0aUDMcz&3HWnS0B7&ej{Y_1>K% z5T~toqubBai$C{kESx^kiQb&5_xFCig%pRDssR}4Ub(uHA+(?qNCZmeo^~%VzfL{m zWxX{HEA8>c%lwIyFo@q;Y#i|f;vG(}yaUwUf6Tle6-sKCAU8sj_8iC$-VG7gTk(KrJ~Y_k6`&eLG+xjL{hV{F(U4#c%-&??$v z9bZMk>f#4OFi>kEX&G+mkH+Dg6BUG)y~?#{sj?dLoV)hwMBoGnTV#$dsLi#1Hn)?u zO=Om`oiVF52MS_Bq&*jC8N5^@R$~k#BYBVU`xK5H?7QCG^sr2x zXI{_2ZTRC68SaflPGn2486x9^cufo?X6C!kd~K$V*h7(X4LZhtJE}vjaQz$H^BFRb zp#~HJjQ_)#bkMvzkxXv865{AIJyO$a8JAU=|*2DYj8hlPpeMx+IqC$nGN)f;qD ziWhHo%$1Gs-<|g-v(TJw;>$9_x;-N8gA4XqVfptQ)N+!EX&DjTsU@KIs}X5b443SyqWloK*BNAdn;ElmuaipSgFw#Ll_i46Z1G;R@B+RYY%;kwNMuAD zwI{cGr;_MR&|^FEA^hc{F*r+a(%L`6Sv*VJdRW+_;fYR@@YS&B2OU3hOp1N7&TDME z6n!swe~Zs6Kz_2OHU>bZ-K^e+{lri8mDaIB(b3bPTV*v?RjXdYA?$?au40~^($5P^U( zSvnm)q?H%={27FG_#!nd)}zIvj2Xhi6lr)l@VT&#8<^?e}=p9B?$&A-u2b) zoNs&?-X{8F^%>3dPGe`+yEoPSObw@9N)2WWK2*p3tJ?Hj&Ema6N;`>@2AOP=XgQBQ zD1K}!yp?hd+AyoXCzlUbup-}9rgwmXgN zujZ?qwmWE+w0b|?fGHpl+Ol~;;}Q4{li!NGfFep zxVye=-juVM2Xg_O%oKZHuw5B`X-{(^aYHMh`Xakt#Pnv1nb&A79?9CkghXw#C_wZQByZErd{+U$I4;wU2_Zf^=Jnrjc-*x|Y;L?H zwk=lIe3N+7K0u#y+Y4sB-}cx0a`u2^w$TQb!2Q^KbgC5JnsvUpz<1t$2$7~%h10RJ z$Ej(nu;4^z3f?3NH!s(*{mRA0!XDcd#8IPqyE(S$Y{zFI5-eOyM!~5|QyF1FovmF# zOeMp= zu#bHIZgtOjpTS^{M+m-1Kc8=LP;JCEcpC(t64|3^J6JS`S=q;udcV`+?$NKY48{91 znLTN0dcV=*cperWSaYp?Kx2{w&6$}~CUnT~20R(1W`Mzg>b=LQ5ADlX9?RNP>93u?cL3wj32&S?IoZJ2@Yv0>i&m)S5& zP$j$aWbKDcY|?NLz6^-qHfOH2n_^CW#VPQ6gX9bsHAL?Bo8w0x)PK8=31 zjzoe_y8nFrNFT4)UN`odJy><4PH-Z&W9qyU&Ec1znjs-B)k~uA=2~r{@7&INns-}2 zKCy3>o}^yvARv zg?qD|+4Aokt9y-&A7Js)r9az^&i<{G(T2H6WWsc4qa$b(-nM&fTBFCN8r^M*&SZTC zRn7$6C^pdXkOL@w26DuxD3)>7138~WL($@#xwx83u9qZlytKoJufk&bF3_%>i z2a^IOn+Vq;cXUm@#kz!IKP2bNPu+9gSQ_)*<>AYFM!SFL0>&gv$+}CZ3&u;Z2KE_y zP7{K0bOi>4Gja?SwN6U)P5LU5O`x;#_y$(E`7Sf+CjZtXNCibGK@IcG65mQbxA30^ za8~_8X;$&@@uPI$0A62H$nE535NBIlY8xYlD}5?oIsWcww|OP+Rx_4d?9E>E*`aKK zi}gW-;tl$dC_MOI^>LHCJ4xYq3r@gjlcRI^MD+r~^$5K;5w0V6^R$n=VjhR!&->vc z%A7!U$q%Uojp8A8tvmc#bKF2HX89518Npg@b<1fvxSf6^IunK;zvb-S2qk)%_!{SgjqRKPGM^`s4*j6Gc5n&%vQbFn(hnaZchh zN?;2IorO>G%w$1m*YN) zu0#TIRsy8X3srtkCpPh^JhnN6spRl@yTfE7xurbbu{?1pH}?AS*fAAr<#QOzUZZX~ zCoc(50*J)#FJbdC7aDWpSH|qQO5Wyt199u~3~OeB5SvspE^i>eoB3PT9)dMHHx&OZ z@_D@J$zhkT4A66@h{*eQ?iBYMN(4MG(g%)0xs1||A|FxR7zr9P@oBk11ra_@a}iDq z#=41!*T{f+H>BV;%$ps-*Jxe;=3!>qI@t3^93Qj^7QHv)XgrM^6-=>O9D+_dw|~UM zxR;;*olFU3{*2__5N;6Y#ea-)Gghq@XKp?bJGH-@vVCHMI%S``pIxpX1Dh0s%YB#M zp%`vvu#n`MeM$@Ahcj}bf-q*wq~O2A;70%E%+H_-Aw=9*g)i-eWB5H@o?u`J4qAO3 z@#pEy7&5cf+yf6;NqN-*{EU&lVFTJ~IY(HBo{NkrLvhdllJ-+ao3`sildtd-(l+~P zU)r=Qz98)bKkYv@?O*Fid(}^S&8B_+>G>IN@1kyZM3%X_jP&Fo^Re@r>qXlZ#@319 zToF5{S;;*Q9Nr6%4Mr1 zSE+T|;e5#;7)(x2+n=fCv)Hipz5S1aa!{7nSKTqiSDOs($4y_6;QgTa5-Yp#B)-yE zu(DOAJJ;{PN9HSB=tSYMX`e6mKfh={V~A7OG3|4S|M?z1yI-HZT^)6zCx4(BFAV>M z{R0^5HQtv}44UXff1_`@>l4MH7dk>eUdO2yZ4U0UjismD1A~NF)wxHecEup@^S`TH zyaaUqq{FucK+E7rthepl{TZBb=I-l=zl#RtqnxO73lbhK`USOVzD?L#>kTPy=+Gz6aXab~bG-XY7 z^}|JvzQH0g_&73s?NmJ?*rLlJGM?_Aa{{`BqptNA16=hATSp8fXm$Vg zraHzEmtNmUd~En`2?3*x9C3pJMG)bnut?&IlFhqaj}dwd)uT+0oqBw#$47d+r^j#x zXWcoaGpPiSG&kf1{5XzB{u)DoaWo4NmAuOw{~f z!@6MGy5w!%6MXgl$pd;2PG~-Jzu$>X*{L$Kax)^-yom!b>MxCrV7-y}L0*qrGYL&~6P%>(-C&NNQ5KB{SF)83*npK9u(%rfX9$6OWuf;xvmvwR59? zqVtQq?R(5BH22@i))U2_4hF27$f<}U&0NCV|HT|5rOBZ=#5FcXiQE30OcNaQy#tKSaQ{d!P>K1{RXLpK z@5vslJOIyUf__!~FteLB?(#pfIa{n22HTa!KLs$UZYpZCiNf#SVkzPmxCLkJ18GTq zJPMa*l;Srl&pl@}N5IEhq{v|0zak)X7D@CE<%8otLS(=rfbl#$ z(M1u#z^2zb)g#GmMB+pE5h4Ug64zu&M49^=BWp^}yQ*tOMLiPAuADcxjuU9>*r&~g zmmMUSP@M6EWWIUV;B)A6d_>;RSQbY3)9Ak(JJ+)3cP9S?UE@T5*C#cqk2S#>RXOS= z&7%rA!}ntHN2qg2YTbz!HjgT%4r7$omw1^U647qvsiLKr4=CZEm?NCi(VxkK`%h4? z%pXll+xSkvm~RXR#OK&Q2c7PF@utzG6TD774uO zM9a=*3(en?g~a|W{c_nj|Uy)TfGOs>OhNdA{3-U+oEn1ju0j#dw9={O#4PG6v2c0Jo5koZB*!pMY-+ zOUy3J4ENma{^QB!2|JUvL-M0?*O%u~655mfM%8thCRBnVus81~ZP)@f)gHIA9h^bz z&liK6#VIhSM3G}+SM|u_w7|#<7on3Fxz^m7A*j&6Yr1X-Ol#O{_3pzrny#px>W@#= zT(-k6-NvDb+3hpJJwJ30JmGh>HgcR@*UQKi!l}*BSQoRdsGTGqWP5n?R9xGH#?4+a z{F4bBL%*$;Y+X`Ej$Wu*IQ-6C{}7B|pNxo|y*Y#<66{sXKKU9&D(%k#a(d&j*D^=0 zbJLN#A$8+w3u8O!j3>)O&;p5c7?jtdb)BM76M^<#Jhvo_wF@D7q@6i-l? z#Oz>-;=URXq^LaPTJf z(fngl4A$LTKg=6?R0Nax%B3JlL=qwr7UTmqH3cz&GiARo-xW7afbVbVc%2#kkWYNqjY)l-D1Tt-t7SqCGng4l*Y`5U@We@ zjcfdje%Sz)u=LN*RI!u=No0qpU#bo9drbAQvD<^O*Yr~(8|i*=!EP+j)W4+!kv)_j z3pThv7jatjogHRB@}AUtr1||5SSH?8&F{5(zsP?dsksD~{9KHJMEm8FnY8#w;~b^P zt?vUx4phV-J0<^MtW3n%T;`d@4abK-&=tQ=VehL}^Xjj)fFpxTZ+feax+TA27jbpvyR0tRDe zhGR4v8_}=Uq~k&s?U$nW=hP(s@6h#*~m3t9-B0cCPwb401 z`h5ZQ%_t>#In?KM;i2=V_F$-*COKd^h|^0Rc_KqvT#b)D{6q%o6N9w+gYxnF#MYWs zfS26aLnNL|w143Pc0?no7HLQ)tBBlo!2^g??;%^6zA6r7RF(rQNhG zBH7`hl@(tLQ&alCLa`ko_T|vHQ~=+P;G}VV#qwl2yfyP1PF!B1Vf+4g;}@eRKA2;{ zwvS(&PPs>WRI~c5x14=xC&tF|e=rxgfc9`s$=LjGY&hR$6oiX5!WJVt6NMCg3@r>P zzz+i-mWGXq65qnH@ytdAY2ypj`4ttX1YXZqA%&O%WB+*PQ^bHIzyA}hemsD2 zU+~`fI5gh|+BEO%puP{GHNhbpO0G#A(W&a0-r**hawvX2suz(XbwP9xE@Q8|skEYq z!pXmT&+_vScrwyGPY@`PeO4QwG^}F*;I#X}ZvO`N?Hi7g5Zingz0$Es-QCh zcn4o5kzJo{>lk0_Z8c4mAnyQw0EBjWJz&n#XY5{gZHS{DtFw0*fm^`JuVKI3m_PTd zP|<(qK+z0p4ENj&-yliaq(%xMcb5jo zasS8$Dww%0)Ub<4)R_p*W}a2 zU{59P0KFxOJ1=J2&ljNct<%;qS<)>nFwB{7Y-B-50*MVQp~(V`7*;2Q;=mXDY`F$) z%?b(R$rnRJKS(Vy`Qs4RyZ4}EXIR<-uQNm~MQ<_R1;$~gj;f^&04r0G23ymGqtqFW zO@Yb|_~r85H&g1R5-XfaG7{E)sZI_;uyPb>V35A@1O{`)5KI7}l%~!5!_%%5B%mc>z9oQ`qy~JRWKItGTKck1`A6L?7d> zI7G|yJ|#)AwJgu;woFJ)3;YZ_mf{DtvAC7H4NR+US4#dwagXh!-RP%X3GaopRgaT4 z-cJkJwAqi4HpEZsW7BdTBke3d&Bh8U{^>i?y7_4bVS-R!$xhM^_tU<$X}vwt8g|*f zd|=b|Y$WY#KTW}bDEs8cq+7v&nt4#}kK-yS8Ez72j`yFY6{IsO_7m4Dlt|sjaKW(*5+YWN* z9_ObCuOZ*;Ye_rIPkYp+{bLGgJAblsu+XMm^df1S{InZv+U6%od*4qRW7ER_ByF*u zHo&IM{5@$;_-QBFv}l5~yZp4@*tC&ak6C`&j}Y?oZ@}}UUE`;%vuW2>lQ!B<6Mva} z7rjl|1%4Vj-b#D)P11V#X$hP5!BeCi?WaX-+N-lkYwf3vw`rwwNvlV$F33F4rrrH1 zY3u#8o;Gd5out+IX&~-uw_qA+|Mt@w1cegCXJ1L$BYxUOn>O(t(&B#Fa+?;uiL@Dh z+H*GT)jyCn$xpl2rad{Gv=M&Vtu}4deA4>+X;;{^F7rq`#ZL>`w3V8_BmJ~9Y}!vx zlh(Myj`t{=mVX;*Nk8oXAfIu3a5-sf{j_gv+N&>UV!2b=b$=5L{&Hs7WND@mJX(vbWliq}PXpJd;!=6&TyypOi;0p7=b%=;kw-kJw0~m@vXEC*(Rv)O$4Pqh*5fQa&eJ2HM^KLudR(l>WqMqt#}qwo*5ejE=IgOgk303aPmhQ6 zctVe7^>|5-SM_*Dj}?0SM~_eSSg*%ddU$$l*P}s?gL-5OZnx9pNIj0#qq`mjdYqxh zIeHZH0J%a>0^h~>J6(bA@ zk7mBF99ipqN&=mWQda(93HBk>45YR%&A$0IlfL*uzs=%y-<8X9#C<~kSLfbz2BnB`i4j)H%3=(p-%B(n-z=&2e9a+|n9d7^v*$#Y z+A+WLrcd1)VzWCVXFkD$(`ZX4`Zw}20X{MLByZ{RBGC(dml&;^%6HjH*m4L(z;wLb zj^~379|vO}1!M2KpAC@CPs)4H?MwuswlGnm2+kF&M?K6va_gqXw@>E-+&Xv5=1q1N z)xDFX8}7C>UM{Q1o=0BTE)eG;s@jKBpO#b@+7lH zb~IY%Py0(DX`LNbGszL#6pDTCMZm#o^O_s*j*965poywATr;lIsrPQA~y=Bx6 z^4#^G_;Wl+4YN$AmKrq)!?!=fq`^U~b0=xdTh6p7Z-1Vf_6r+XB#YvHeqWMCeBor3 zeY~-sVF)|X-7NZRM(`Bd3VV9zQ_{kWeJj&YLpOH|LJAR3-Nv>Z(nnDyovO{0G9tdt znz0`XQ#-$6t=ERWgyX|_SP8~&q8~6suQvU7+waF%_2alyKj7Zq<@cj*xS5LT?k)P!;MTJTtCp0<8l38F zELo}_n?mt(f`|!>`;K#*Xd!)66kfO{xVkEj^(>E_XCxw_*cle)6;QD`B~J7>G8=Hw zFQsOP%i3V&M~!aZ>1OT?&>bwSAA*zRUg5g0_^ZdFOjAv)N7IlS(@>e+S z-kqX|v?XNTHOka~I`y-pZ*x@2#RM;>D!=|l_jwM25XKkz>O|Ky*DoEhj@$QshJh;(!+^vpd#-ba+#aTJs4>sZ>!En;N$&`?*PHx z5T%<4H~Mo3b24ut`BU4}-$`&Kyc!Cy;Zl>A{01;pJkn?)eDY35ncgby)CKN?M{u#Q zviXKvDei?Nzri{-58Jp-6Q2>PE7PA0qG#)_BZfEApu4}Si^oHs5 z21>>i+v+V>8gHTym({sIF^(=xqQy#!yVL1y>FQVV)iQQ=+4%wp8#67- zvyIH+v=}b#&0r6I5!GCAt1$bDD`me#+LlL2yTYao*TGm`<3p=uPE?43uDXw(X+DPS zS#^I(hmP1ym}s{5qdK!-cNGW$Qm9=Lw(v<0EW)^UJwo|>kR@1XUpRNj%Wx>RPAb$x z;{)1g9$-Fhl{Xyj+*->ohJ%s0!hM$g!Wvb)!yI~+N*F|V@1?VUH#{D0LkyaCBZs5V zh}0@EE;ES{`Jh(%8Xg|Ms7<~Y(Aj7)R(wTzYo(t(JU*dKA2E_i|GMHm(zBG_Whk|k zptlLTr0U&@|05l~$x~>_e1~PY^5}Qq~Rx`ySPhu zVgJi=XN&JR<3~;@7q(>w#v>cJ3%9yIa(r}af1{(v940@aCgHnax&}@7H7zu4pScFu z4u;piM=X9C!|fzpw*7^Xl zE1_(fJKczSTrYZZd)Yz7#0O%8`z?|{%y7>Kq6kA zACd^8wRY;~vpFG0F&;6LQT~mbs#AOtCqxtM)`!j3kH~?rB!BO0ww>^%i^r@bc++;h zT{-XtKo6A1p;IFJ>W8CCE9o_a6l-P;Px@WwMP)=%eo*Qma`8}IL#H@)>k_EZGc6i90IRIm-fZD+EK#0+!qv%)alUB=Ar4O4&itRL(& z%MECdOR0;0DG8#o(Z{7>RT8`*Y??hAmT!Bu@7Bms0<;}*YAxZK(CJ){@X6>-1d-al zH+vWy^!E9HON49!oZ;BY*KoQtMpOO(@9)EggvW> zQzRRBM_Esz78>(#ZpSL6&>HU?UcH|TmM$ardVYC#1LeI2ewo`^vC$Dqi4l*BG9;^4 z5ropf6Cq#aF$9S}$}1nB=l%JHR*80?1Hu>)*k{fwom=n0nZbq_*{M?g~f8 z1puNGbFJoYAh`q|kP68Un6=*nS&pOEVtP5uw5`LfUVe&=r!bw=vG>lh<<0pt{&K#0 zAi$N3)tBv0*A&j6056mO0)7y<*>D4+pHWgm1k=H$Y!dcgplrwb*<(|oj~>rMjEp_i4-Jk-Wg0oRW-i|4F&d9e0w?x9qL;9&ajS zJzv_Yt{O%b)|$R!%-bap#Sxm!22996I(cFK=enl^-Rr7o*kyyME0|F z9W!F9gOl3b9n4(WxEYsMdEuhV@+!)ZLHE%G9dUp&{375W*v%^G(kx?ggc}oKsD6U3 z@w9}EN{A2R!Yt35{V5G>_}qs+24&&SD;&nQ0phiDPnfFh0SevDsnQPh1=Mi~H`=6q zGY~eB{e)|4O1@0nCJvy$Z+knBhEShsrn1g`ri(f;2bewtLTHI}2qL|i>*^6?AY|uK zbs4bdEZXN4-w)Q1K7xmC*xl%zM#i-DlD(_7>-N!NZDL_QCYaH!_tW7qH`={^xak9j zXp{Rmm%a3MxH*kWZ444t*#%7Z|H`IjBXYh^`{R8&-%`fnpwu^?;1IUf~zNCRKbB8|t|&b{iN}*2h=P9Ac9lYk;j8 zpJYf}B8>nP`ie>D=1le(1+Xw?vOq@jMO4cL1AS6N`q8LnInk~B2+7ZDIQE06a>M$| zBbyA?rSktM<>3l;lGL~0b>xMtS-ra(d^Sd4Qt;Ai$RN{GbI~hTzA{wo^3mWGkvUpV z=4XXl@|3)o9VJ##%AmbN#qdyky4VFWJa4&)VY4z5_I0Z=#;!4+{!3 z<41xmmcp*4aB`V<4}ZLS_4r1Qj&wJj|LD)9;Y;oLhb!WWhJ7W}ftnL?>YULDY zW*+g+d~9Vi6`EQ6o5=^1Tqr=~yYsI~aUUYLnp*s0yuw{nq9ZGvql?+Q+=XI1 zKd0(MD5~eGw@N=yBKyZT+&ol@{V5&UA)Yc`FoHD+rCF%G#tU*}}I=?&*%Muue*~xT(Jb;Hn=4mnIh5TN_d&9-Ir4NKw+1-R z)g%NA5qQ1|X^Rx{L$RccNseYydRG)e(`u`m_hd5-+RoHY=s=)hzI8ulAY~Eh{&qBe zqA}Ahk}_J(?=6D41&sSA^O> zR4wQl5(@+1+&rqPS|YXdbrdR(xAA?=l*c+$m@r=K+}l^sS>*csqW_(U(DV) zq~M>hiTcycndf$~Z936~05+?=vpnd$fZnp=njE~`?-6|cn{0-B*GnbByUJ5yqImE< zx{GTJ$*|3x$$HpvFm393d^}v0;#1pn$Z*5NUogVF9i$AvrZ_bQ06g^If7WheDbwI_ z(|T5ZfOJcS1`ECq8aDip97tD7odshL_2@?;EF2W^vHF85dE+Xxqvf-u)C4b#HSBmE zR#<*J}F`198?D2t~mL}H=D_1!Yvt*bVX@8F8kE`17!lO0^JVn2t= z%%zCBd~Y*#8v~!vlvM?x*7t5V@8=l?^}&(a-;jR8;fY3wU3#Mr3v|L|`9^&5{#pz+7s#>`X}R`C%|~TM+Y$eCM{;R7Q(?(4Fx9 zrpDokaAC&46{UrZ#UM1eMR0FlvWZ!z3eGAO_FZCRfrMIY-xyfYs&`<;z|8zm;&-in z$@mF?tOwpOpoH?d<&&0|_YXiQbO45h6JrjRRjtRk>pN}uf)!;MJy(=vX1M46k@3Xs z8l;iT`OE}*kXo+PDkF>VI*{!3(c?@Whv+A9pURNf?R2`uyn3pRO1$|nUMISWfxAVx zc{SUM{dclHGoux=gmM@!*R?IUghoD&Ryh3|o%^=N#e4)47dE;B-`qvb#+$at2P0~O zdt|IkJ{q9{6|g-H8on<0{d94zS3M_V?yulmzr2Vc;~^@J^{>U7%WE_3SYunE{i?|d#c$5@Mv&*1^E29Ac&iT> z3hC$WlKc|&1gDTRyjg`sH?)xfCo|Klw;d)sp#_yB;JA>#|#r9r|>A=F*h-LDsTrSudj!QQB_^g9K zL7#kZ7A*yX6@H9&h{D4jk#`6bIs5+L_CL#vCDM~I$Yp?av0l)WwV>Egwg z%=GOm!WYq^wVw!(rhh~%P$II&Mr%L8&ykIroAE_m+@g1GgoY!2*1$19@*jYsa1Wad zM7onmQZOy)ESrRFiTvZxCRC5_Jt_Xid>Yn=4(0>W#v!mz6j*N7L?v7E5k($`L#cR7 z_yTNleImWa#;?$yrU+u=FM@G6>#BbhmIkCjoW|;tE1Kj#mY$G34yfVIL+x>n6{gdN zMzLMeJcucS`UBooHharS;64#O_NgX;D!>`BdL#4c8eVKo<7bd_!|9;4BRQ2+5EP|4 zRV8)?@=g8|(!YFfX55&{RM^N~md)YXcH5G-dH!Y3v&XbP)|FjJat>=1!CB759nbTIk-mnu2e?SgR%k&9vLm7p&2LhyKSUo#uY?is@$GgrYRSh(Trvp zQ%rIl8yPiY41bSws%|4g(UdIg`x4@&)Fz*f&&rZVyfFNS+x{ru2Z|BZE|N{HFc!#_ zT({tW1g$gL46bU|PwF#+dL)+xDt|&pno5szs&2v)SN|zlH)r>sk~94%zPC$0NpbIH zZWR6fo&WbrVaY?u?3M9I;d6a=k4|IFk7H;;>T2CiF$*@h@#KdUa|r}nb%T6v{h)$; zjTKe>ZuW1=c~S|DNQFO0at3PU9jLGcz5!>U_<`?J4rDsKt&<1_#*HLAXCskN)cWA} z4IiO;i%ITWr{qLopC!mOW1Dan^9l)>?y6YL*p~R3 zgiQBuw#2zRDDl;MwvF3ti4#eqjmMixbR;3uyDc6vp9GQ3~Mbf{ua} zI3+HR{S=O0n_HgwJq~FMT;1w!`A4%>p+c_W9K4+C>JHWe#r)k))ouYNygroUSLV8E zgPj_Tb&b*uE8ZQr>L-h0K{X4-vUrZcm_Q}|rHpYLse@)wQKx?^-d-5L&f-2V{MQbO z8fyUD>0+G=qGDsEDzT-5U2gn>6G4bDR-%c5w3#bY6GkndNnZ>NsXWl^y?JirCLbm0 zL9U^((gXMs!{!-p8I9gzlDx-wi2r5vxrD~F*ae{9?xVCTI9Y2Nnw6VbG1o9>;RX6O zY`WTSVLVnOA(ZPBGw4L|G-l3v(b9nb{G0}C&`~I-f2%$aMYBwI>4iZKI)M%=^bGTu zHpnTaZ9f8>_Xplu?hk`+T@7j#PZ zFu2xqNuUOPz{>8XX)#ytZk7f5Jn%&JF*9|Z2Is)b=B(+q4_xM5RUjnw24rQ2Wum!K zUi7VV=R_JG8jpMp{H=EfkwM5~lXzxKM&t-{LWYn{me@3%tn-R_OVh6~j1Ql2bm)RW zgkuh;ZJsE6_H}J2e2}C&r6Jx+H(3xyCW&>SDR$pH#q0y%9exkYZirxsTo&_y0|jgBEMS;y6{WstPj;wcbLVI4jl1R^O-)4#>}dGKj&n@0M*6H zY=*wKv^aJzWZ_(V%eh#VnS@v8Cja6QSm%)aCH%&1_&q9#iu5*aE*QH z9`SWbk2CW7V0=u9n5%bhS!^aEa-p&PH0Z!qb4g7-QuNH(Js|0Vv1z##y|Go#*V&u# zAXR}c95Trlt21yu4GHCy^X6Ts$7nsS;UV||eCBZ7@;nreaocQIcQSk(*JAr3Np~~4 zTJzR>DXQ349G(N2^50I(X|~1>i?yYj_p?}U?foJ~(~w0z?FoO8DFR7EMUvW<=w|8% z5Dx*w6HhW-0KuPG^%2bA>>mA^rf@8aZk@j@GPgsd2NAvpbFB`~4aAnDoMgyTOE0QM z2-hc^xY&4VDO)T5Tgl@C@ME2-Gx&_peaMYhD>;NkPW|&waX*)04V^TUl3Vi4A%JL21eC zT&LD={_GP4(_ zs$LT!eVcop%@>(n`DTwlQAOsw8DVT>=krq|?-LNx!Ow7ysZu!rf@=IsM_zf+Ct;`b zsvh|vG#>7&LBI0Lvc9X6M?m4U;eWRffgQ{G)|R&Y+-MRGOAP2ZEOB|3mOid>a%nw()#Pu@=LLYx2ysDs&4?l zpE?)(3!wCjt^G$U`Wbk#UBdJ_i9`+%30 z_>oydWX-MNh+miy~4>h;f`5%Xj|NpJM z2amGtWvZ5@hO8*#VWEnLw6^(DGwuRNtdg|x{qyPnvAv#tdk?Fg=Jv9*7^nS8d$WJN zy}sS8~N+)wfQ(|y@|9?tt;+l%?_6}D`z)xux4cg!!^ z1K%Yi16Z__D>40nwibTYcRleZkmcq^+66O#XejP)AlWT{P@be~6xIFRNC;6=ygZjX zFNCt-1k|KqKQU!a=tomxDKDx9dy(iQS`H<$_5zBFKE_W^=0UQc6X;ZRwtcc#Eb*^C z%PYqhh^+NNkXC_YEX_>5kCOIhU}mi|N5m$4%n#Dy)GO&$j_au?y}=qbyi`abZNfvx9|-L5yc#d}xR6R-6~Jh=_%dVmLbAcqHU2$!fKfRO*Us^1&|_WFJPd_GLx zdtI+zS9NuDb#-+WDmO7sHi~3UwUGFvl7LA^v@90n?hfqZBiWk3E%W3}D2 zy;Oavoi$r-`GqaCJi^+2kiI_k)T)<)@@2zznevn<|5JLVA1Ta z2)_;aN)9Iqsm`h-v8}!4>#P*I~e-$%FFkM$K z5*jR?eP*k+nDtI%*eGr7P4ZIUE$1lKIJrYdK1t@zbM4dKq!)BD#~f2i8D23xq|WF` z=St8lHr=htb#}iqob7IQ7I*v^a>@BfSL3{dYxoa5)MbQdvUwF~uDH$6p=`_#b%)E* zz{rge9$RAarnt+^sH=9fXR?aw)k z`?9{nPz>}Ec4I5<5Vwt)0N{?MyFcRS&rYt)|4rJXr(@JC;xtM0e{GUF>&W>&)1;#k zO@h*T8Z|N{-lU67lZXfsnarB48fh@Okib9ubrb#WCZ6F=K!6wzYejE(DAz;b(Vj#z z64S3(6frynmQ&V{qU#bFh{ds59qTrk6BKqooIrJOuCPMlVakfSZiVgnOoyx-I}1H1 zWMS)$Sk>alcgc%vC-ze#jX&go)N>O-|Cp@7eAq!bjZY9Dc!%d7rLK{&4X~ERh;*L$M zCLWK^&$4Fc&Y~T#FCp^ve;sYab(Zf}{JmJ>f$Z??J2@hcOP8kZO_LH9oR+G!5 zYXuQ`Ud0-yir}JgWbFO`xx4l(aan(@#Tj*H_*o%-tScQC%b}664)SxQ{7mO(jIR7d zzMJ*(y&JQg;9{bQiC)k|Lgk5MVvZ2Wo&|tp{uSwzC(;S~a?7}Mx|zDw(u4~HO68G2}6OlJPa)d`w2KPmGaj3e6uBdAYJ(N<{jNbyD*;rJ&E zEX2Ok%^tp58{vN^?njLcpVN_eQwF-_vr@i`m-PKZQWHf?$Y#;LTIqtwkE6HQ)>sys z$xDX*(7C-R7SZfSHI&^K2>vw>wZ@{iu?hLb{+@HDQS_vpaAN;8aN=)`7*(9?6p~?+ zuc~`w4~G3G?%E!@h7;+Tm1qd;C>0<9SPwC)XSdfc6LrnZP`M-dKJ7ZpZcCf&IcJzQ zxJ?^AB$~ZFS=u1e&^hu@HaH?Ux=GK6tFh^&^Vf|9qiGwCHEqzm7%Bct7#afG+)Yp~ zf%EWkGZvW)GK0yRSeIpLRMKHINd~}UR(oPYHWnVc^@XOXt+Z9_)7y)7nCWugrP5CE zbHXBMjDghqy*`z-Z?x0AH^s)km4q{q>z&9BdHBl;#LT@l^Bzk>ASwbPQK<+Zy_d{y;iW6y42ny4M7?~Epd>Lz3jx=n_@%6fySU*?q6y;s<>K-g@W;A@1Ip*Q>$@G48Jz%0?qT1AgUu+}-QNP=k2IzOiUbDk~X*MIhX`n*? zbFt5O#T&VVLC@qcurM}>w;fkfIoo2l+-qVL1f^;@S){a$iRMj{^sG!1f9T}?rHp(% zLUQ}PLiWg|SY9&Umh=$e10Ff;_!;^0;2g29aaxx&9kiDX5tuD>i?)hHW|47pyv+9- z>`irsyB7c^5^`rkF;m>Anj2Z zI~zqbGZAv^C1Ig@x(87~4zU@P2z_K>&e6s__7I{8$nNDk@-&*6wE$s+R3~ie9f|p( z_|tn1v9~ZqxWk+62YMvFdW`II*~b*5GftXH->c2{+A~n%_P4tZt&bIFij};1xsj&D z@@5hl@9Czge=tqG7!_&uY26KSS4p)i|@FUo?|kj;-ilw9I$r(FHXKv%GBZ?HYWGCYoLVji(C zyujeMUcaF>-0>)FGo~g{SxS*X<$D1Vp9b(4onyCX?#%8h9tT#kTz=Po&p+on7-YmTki}wq``Vk5-4MfiYr3H&Kq}r-21Rin(2>EtMU1@Bvd>$j z3<~?n!%%wEu?43L?vz3CS4u4tzbJ{%(|7*&_>4K<^vEpzOk#XLJUNNac!~@@w{sPE zKXr&-$-!yGMu5QP=u~V@I2@bP^)vr!h@VO+iyO1QlPaIL-SMBsh^!^sB?b!Oxt)sV zS)~TO{bDQ^Xk@?j^|Qt{G}Xue2T&Dzmi`IN(@5N^dpJ>+IeFVm&+(JxCFU6l>c&NI0^ra zk{ZY-n3ckRV;?^Zo8Rk)nqZT{f5%aJ82^o#```25kLMYD()2S4d`?cm=Z7J2e2xaF zDgX5%#iU{*KwvZL=oD-oc_)Dd^51BegQEa}<6}pq@ZW+*55v*YZ#BWO3IAnL-h}^lM*sW%I`>@DUp4v> z5K{HVzSft-pNFs+ZGpn;1+whhCTmVCro2d8S~q)!zR1!w~tSexr#rPhq`E zN>k^fr2Ok;@R`^|n;R=S=^!!nZHl|7*jE)BWS*4|MKd2gw_6$$a$tCCCrrLrbjbT_ zulDGHi%>utG%&0F7RQn5Q689NTQju^&L)AV{nHgn4g7*(wVXt(eblc`)b)a~=S z2*rHYs!?s`KGAel!4^dGM8M{_t%}d>@-E78az;u@!-B1EuI%qmIW>GO#0V2t#yY#6@+NJ zmnHY)b4-U{C{<(ipm*c#wx4@JwQg;*70efiXxVv*c2_+tz0suIEsosoUE-V(ST5~O z<HcQ+kwcJyzDwZC`S5$WFTU$(ym z%w*`l$EZxuf5g9~{{}V8tpC}a?1Nu)H_8frg=5a4IE;NYwGY%qG+OpbdK`yUe+36+ z9I@;w@7&r=aPTSbm^FiXm){Y}!9_n;Oo<=|-%W8KMJaH5u2FWnsTo#)qy} zQ$E$B!sqWqh=|^-%u!|1v&GIvL{mY2p7mK2Cha86OqAoH{;E4aLVt zOcVL)91|ZOPo8%~3htM4xBq5*oF#QOkq`gZ@lkn}L3tiu{9ngM!ON)(Gg8_dE&HAm z-)4O5yEnC4Rh++m?h(;Fxe2;vd^C{<1B3s+@Ez=Il`Z4|@PEcvMoCg0l)jXT?=5oF zIa>D1zBs-u4#&5)_=x!SkXIAkdjx#{9ylD|R{usIh_r8oFoE*uLrvtLvn{vU;M>Z` zKiRNlyC^OY+#EL&Nq};<(*AUy(e)`s>OEnwJT`%4{ym5F>ZUG7#PW(JSSI!NwYPv= zVB3Gz-=8ipyxB!6((Ttse!gt%I6l~Z^b>qYWRnJoxWnFy^u^`%5`i_^sv2IuwR5^V zORPO|Zkv1>d$rGyq6nvf^LDWDwp@0E+AAWd`Zzl^L~D_^68iXC+{NDI=TLn-MSpb} z6#rNKbzw(?aG8vUg#L#FRn@y_mA$3XYDw`X_$mp-ZTDzr*JlDJfe4t(>iZKgujAJK@GZ#>Cr@m?u9a1`8PubirL;qb4jWVKsl$;#EI&7!3|v}r$2~~e3BUY+^Ek&N4utl^n-X* z&82pCL=GW{4^=exxIO7Ojrhbv4$iaBt5Gj&D|oCb2e4gLc$XaB3zLaSEKGKX=?=s; zne{~7ax6A*tgKC<{-O4rA&D{no_)+q+PfSr5LgLQ!Gi5u`>w~JRd|Cq#hpHl+9Gol z=>+AJN9V~aGnWf_;=VhOF=hXp5m&Aj>FnLlU64vbT*#n|3Iynu2f``)%wcgmI54Ai z+^NHHIU9LQoIsr&v{I#sM4$X4&+Ys0v5{UDb4oyaf9bCk@$;^6hBZOR%~9w)1R_ zd3FE}u;)9^-Zjsz;+Z)N+55YiU@eWSfwIgj%7;gyRFTMxBk}T3optGPC$;td9LgZPh8-f z=aST2aYvCX`Q#B@88ZjnkK+T}mM0FN$P&Bl(MIU~UFsLXCVrw>_HXHmGsMNwjUqWW z+mS=0vX^TGAAn2k`+w42QD>_;0>WyQursuhRclq(X*tubz(K5i-$)mA?+XsmFJQ#L zi_P9PNF2QR63U8boZmdkD08~_BmoTLD5_D}E_-$l8~x3lSVZ1%OW%boqGlf>UzEd5 z^Guku7LsrSw?~bqmdf+2Sp9M$lx>#8`P*14-j3}=3dh&4dOnUrRJv{X1++ZE38lqg zZN_T3;}2RbqU@=uMwE>bQP$-#WH^MFIFQt|y-HN9k<`xQytALolnwOdg|Z6#jIWC< zs}|u_F0!daEaz@HVbw+C+t8}W7^JmWeUMcUimi|edX47#{0Y>u zleDG54t>ac6D{5$0#(fH?&g#&lmVew+DD@o4hIZtLu8sUW;GT=CbTZ>djP=_gj`3#N2Wq%VT3+n07<0eDXU zV4w<vTrowDQi{{AM@f36X+;y4NU$GH}{jc^h75T)#NKX zGOtdJAIE5;=HxG=lElOzWAqB<&y_q(8Kx2tYm^wcHDuKNokhR2LgOW-siFuuKsU{Y z*J-2uRlz>81kk8h6d#|e$Y6JDtGLZi13b1-er}MTh4OPie$MA7xgVkDW3zw#n~|r8 zF_EW4Sap2wzMIS-pSi7u@1;zR!TgCl5Sb9nuc0OG+F<@2{FQ%lEfyB}C)YJ{!9VrS zoTFeO7w+SceS5kHVb?I%#a7VD1U_vF8zeZa-6iIJDh=l8kAq+ z;WKOpW{IEC-4*%AON#jgiy25qtf{(o%P?*!7CmfKj3NN`aJFq?7 zQxNl%uJT$vR?TM!e5aLNG(vhZZ+?cJ1;Jef*GLzKSNcZt?~!gTcj2_!mL&zy!rJ91 z03RY$u~4b%D`SAfBytir{G76m{C$KL+XLUwiPL|q`1hB4OFy)3xf8}lnTY*Hd3=65 z0+s#~Wr9C4eDrMP<4PPW^utj?qJLVqe98qx85%eMg?=SeUS;G$rBGFPvxe;H2Y{e| z9L(&B2>KYl=4ZGhSUG25Do5lOg1$GJaj!59=$C+fB`lGG{g<3{t72uys~Qs$0zj$5 z2yp$w2?9{82RPFV0qpY#yeixr3Q-laQ<`=AUM3tj#CU{uxVxIsY6X477!(ea!RQ|S zoMEVf2KW8$J&1rM-mqN(>#vkj=P5xb(Oj&MrUneZFKdmbuhE$n%3Hx)K?Nr-IoH~{ zwjOcRD!(e~V)i9%PDZ{7F-gm2Z>BvGp8A^hQ@e>e<1IxH%QzD;;&nRNn!BFp-8ED5 zk4LJn;nGXhvEvv43HgOQ*6pIGuM?yHCc(1wRUJvz?c)^ZxAQkj`&k_kr=CTXrD5v( zQN}Q}beINRayR-RXFxghC^+Z|?58hJqdjDW1P^KHbeuO#6xaQP{FHu^@c7zByA2JDU92zdsz3;7_0-Ke zo=SvF@}>QilK<&5!84ls@zvseJTS{YjXuDPQYr~vAE$M^Vh{LPkG!Z;=UWb4V&8Gm zWIgGPo)p$vhG&r)7_&>IyKA2u-!<;=M|KW1@JJXjG>MQe$}N9)sMM<3ZA@F-r%pW>B_khkztCFfM^FV zd=zlM#`eU^rR)dkOzny3M-vOHj979}K?`BSNTJVn6hXCM^jrkt7mE0B9};P(v|O~oxj?`VccWu!Wzf^cIqH_PPV_XRdKW11@WM9a~lD}XEg=ZzPQ z=~`fgilzFnGjjx%G;?IHnHzj9Vn(v*%p_GFM|0?r7@X&N~VS;e8s?>*yU2PMOKw9Brl zg7*#bZkesCNjKiCPjq}6w#Si`BFb;w4((mm>o@w`pg*STb)1U%g?4J$S5l@16KQ2f z>-EwxJxjaYVTGO$2=h5B^opRx+%(F}Ky>U_Z}ddsB6{KS4{hOs$GqtYDFR2g?4515b$3N{;RjPjvM`Z|O%<3tST7%^s)D5)KxO7#9joD~()7E@J1!@A}3sD&rU3;uq&|p_AOPOd8Bxdg4D6 zVj`o97S%BvjniaLBlOj;2JK47(05 znqgNC5fa>f_^`Xce8dXgM-7RgH;4MGqSaZh$k+^L$jOu~!_B(&VIXD14V9XcBQB%K zh%?E!V|Tbjqv$&xt-@#yGCo|yZAl#rfUd$K}j_r71 zB;%fnQo8XR0f-NQ-r9=)aR?wzQied?1TzJ}{Y{3zB4{C<*O^2eNl_yCUzM#xT*OAj z?R#!Ji3hq)%p_ma$&uFNG%lxle@DwRkjx1TgW@kZHg zOe18W>=rRs?R!B8vglXVju!|Wnss+b@Vod$4j0M3ka7kz+&ac^Yh~n8xRt9poIoRUk7Z17B1A;_o{ZN8FDoQ6R|D#l{yO6akn9)D|He~L zCwNvxho>7meu1s?mf=NSV_)1Uu`wl6M=IjmMtw z`EnjlSt${bH}<_u5i;lAz)NE^A5~%}CHvjm#YTn&9&e818Tgciys^TktdcR7h;6T7 zti}Vx1m>9DzyE0m`k(AgtWqYxx*~#{vlAO+sO8z8UYS%SpA?X2@meYoQ{4P-P>(sl zsz%iprA!u-GY!yNB(oNS^*KcTJmj>K6}-y%R;nexTAms2amOBP&VVHi!85lF74Zzt zm~ATZ$HE9KgXtK#NI^cBFJ=_17)ktrsun0=v!OzW16K+mWXDF$oSmX($7Z6~k|*0A z?GmbtbPYus=#Ymm)r2V)P5229B020H`kpG~Ty^k883@s-`4ivxy?$j~!a`x8c;i$d z=fAK$bm=bB>a0mp>5?rO_6qXfFuS?KMw_>Smr#PO4;xxgO-hU*IQeI}eUX~wR<1X4 zE&p7J5M#%HvbCURUXbO-wAQRv^O$^?z2}!(!Hf9o34eunFSJ6J=SYXVt*Zz7^JRRW z08tyIGO2j6T=35dt$-&njKscXiqW&_$>}*HDU|tMS8-Y{X;xQOHTr!_X5AMNW1pj(jn(Y$&XK&(x zw{*RtX0{tWR=>K+qE)P9Cby_6U0-GOU0)UcvVy*QjyJsFB`#!4NtN}&lJKi)VGt2C z8PoQM{h}Goyy=7!o|9jrpvIIYOON>(5;gx0p2~Eht2{^GTcM&0?8f3; zkYJKsHo^`M<(J4n2)~^#=gjKr^1COZk^*3D4G}*VwUZ|nrG6S`@r#-22iNCE%d6|m{26DihiXP@ z$PU#*(&6kqSfM^VcdR2;Fpa?}<98un;+>zQ%o*E~ZdKOk>v^V0n}sBw$PES&(+y&b zE%?b(u*(=kmQu*e^QlTK+{1+BWISU1D9fVyCi}l)blqcTz9!pVk^rYKu!Mb)%p&&r z#-{MVG13~LMOQ-$QgFg!iLQ1iB%K*}iX~*Ke^x>$S)p$F&f8{;um|IWy}Yqh_}F1Z z9=Eo$79l{I@RX5q^6W@FWv_jg7qG3!bb&3Vi+TSACOr>TRsD1Yx-j_k} z5raTvU)~`j0S68HFSj`(LA0_w(cwtlMv%H5pbD$Sexm)*6IpiCP{*nymOXMNbQP-- zX)e-|cAol;iCx{$)o@VEb)Ia2LNC%|%6$R%p6HB;_M9AcQx@>ZJ^F3K{pkl{*K=%}ThZClt7f0e9c}k}_PVIpU3#|;JnQzyDE89X zivHf)y!M9a5|Lk>_>HxHYU!E%( zXT|!Q*aT)#cesu$U!sn*kNKgN=xLMj>M2?kyFhN~d}FS|&bwGIJ>;hRBSi|N;B|Lv zNF&T%=OkYtre^#Vf`%;Ck0oD;UCOr&XT|;w;gqX3!CsXjgIy9wFeHKVDp~i$g)q^J z9_A5Cgo^NbStYQhCES5E=R&&Cg%y^a2eB*EVORLBnYUnryYyp(@m^uVh}LyvVeCx^ zW8p$sEF`$lUy+c-!iGoS!2TnZtO;2R2dXUoQ?cQ|YZ=_KAk33QGabdI7yhRgrJUW* zz-fp`SEL`?us zyrX@U`K)@($c$6yds;qu2d1RhP^~tOBYBxT;cedV3f*tEX*g@ICP=RTn?cggdq+m{ zL9=Z^xGG+6isT>oqAYVl$HT`}VY_ItD>6AFd~oI#UHaZ=Y%A^K=FB{I>4!IrC_mrN z+**H*pl@amF|I56<+H^JS#Z?emDO(?eY>4$h9Ye(0M7T4AkC&ZTcuPMyGDM7$BkRD7`qLQhKJi$g=1E5k$H$ri@m_}*csf5>|{wiD1U^gjI4*3I_u#Rbv@iK>Yc{~ zyhh*D1+lU^i{c%^2jf0B=9}H_g01urNq;g(9f1wf6TKNv{C4x0$B`T;6!g3mcul&1 z&lvm7b=YslNySnmn&Lu64>azQUlD0_YenfXRw$q1#Ok+58^Jb|hIAE_SX9 zvEAInj**{s^3zzv&p!G2ReoNQpIuV$6ju%n8Pg68mmEsNC^T%P&97xU(!ClPd%&72 zA;M@E?=FkWMK5e8vy%aR(d=G1|;l!%s{;pyQ4X!D_~Y)h9Zr4K__E zxD#Y6t=GLu-DYDdx_Yn?hiRjh)>5iEzc1 zq;K5vBi;9}#NJw(k5RpeNO=DNBN9q^@5mxy{w<25&v?)#WS#|9m686bI~x9k2ykV| zuu%CoTz529DlHNMPV51LUVl ze%$=X;AVtZ2zL&W5ia)GeX@Zuk2$iDB|r%7e3-9!!mHR7uPS}tnwuf4iOH*5e!}9l z9%2crcuIHA_z}daq8Xof3)X-Z27m$SI(WSWpGZUDQDlJdO(8tDQ1QoD}{?a7%?9a^3MRLqbC5-urTJwt7fS)1W3A8DeD?fSi(^7tplAm;b+~JR7 zFJRzu$%|-}b3fqK#Wo?0hvx(~9?cq?7}D%GKFed)*RrUVy}{Xca?h&TTF~Guqx;nn z<{Q<0K8VXd7Sf+57u&3?J=O~cyy1*9Ab!!BKC9$e%|6*Znd<+P6Lp#MlvTPUD zm1yyW9avRIJ1rcrpR6`s7Volbmd)xC{@OENOfH^(Itv7kw0QPH7hOEZ-la}a<{$X; zK@+EY?hfP?mKpirn}CT$W;uUZI~2yA=R)K69U*@cxpbY}O(zmoM#7}9%xRUHgh|#W z%VK$KL5#6>E-qTEds}0yvwP)O4=lDSm!`yDjb;{1lugXE^kwqB|2bciI8woFSg@rn zdh?UqNUnj-r|vUachdhB|NLY=s&WZ8NZS+mkSD^V;W~ybC(TZEHBYJ)CjNvL5^qo5 zia+VblTl5cbl?e=xJLi+>K!O9(n6BhA8H#KW2?m8uRov4)hF`vq5Qnh&ym{a?@D!U zsSf>4TjM{E3u%PEThkA`^IijtqD}XG8k<6ePFMNfj$O}Pylio7jC^r4KTZAn|2O*E z6FzEajFk0iS&CS#J@`Oj4TdXkrieAMv?F)-i{L zN=osc`Zw+GXBsITb!hv8rbrn{u&$1`-xyY%&eXStCX3EZ!CKxLl`J~e6bX-6q0M5c z6f$i1C%Idj=1=+`@jvN5;UDXIT@!yY8Q-xhJIFYz(dLmKW+da8m~W&<6xYUZ!?N90 zPOqGp3#dCt=S1JL;8bcwbI-~V;A+Br$sUj+22%X_V;@{rpPCOQ)^c={dwhX2?<*le zU!+9newJJGB*Rhulj9+-j>FEBBRTK9;ml{VD$-nycZwu+N6P-n9q;+c&{`HY*W|j; zmUK>c*JfVFGx>*yl~P;+%3fD^apRA1e=o)>Bqj!&Y%%PSFGogll)G1Zd5ga}&fh%! z8(!y@oV>Fo0w}Ar6_^w9S7-@sPlWdxqJeb97bqB|uyi8<&3yx<(3ZkOGX)0fGTmg?_7w@l#wHL>YCD#`0zqaOm@9?wiTaLn$hDr4oceLBDLM{6=X@QskE3+``iQ9;T;3E=Sd;ifU zKjyOD(QX@=nZna@>UP?6aLKj(W zLGw81F4z;;ax^+>@9>}{S=O9=g0xtggK{BW?&JAw<{QRubKiyhX86wGH`52D8jtd2 z_l>k#-8bxAokeX2`bJLVX2fdZn{Q3;%}wv*O$Ij=rlfD=EWpOcZ}PdhJbshGjRQuj zrcS^WeYJ-KvE)WS=!y0?P!+xGHxk+KJwD8`c|RKxtF!plmsQc;`}p3Ml$^E16TNsZ zjmV-7EO|?^`bIJ~QSl}OO1r&i+Ix9&;wsv@iYFOgqJV#yHSI4NOi|eQte+%vr(`dW zeMK*giOV0IkMI$W7N2rYHuTw+m$KoAW^eWq;Y1EW+KsxYN&sSNFo!}|p5!of*tuAB zk;Tm@;WTfB zN~8|WEVRs?^7+9=0^@$;%y$e8B*s7jr-$k%w^ZR@ihSt%t-JJ7jI}dbnZ!<|TY0wC zU9eu{=gP-X+{3lB6wzGZUh-XYf-mBp)7XR^{I&(+lstVVoBIKl_f`mk+Wn# zEUK@Y9q)e#z}!QQ@TL7|W7kPJR#eXXGHiY4LvbQ(5?D3bY8M}ilxoJ)pxdasovk!6|LsxF3vN{2)g#_FDFGT$ownRLrOErvzHKidyZ;;4;G=zo*X znz*WC5pizYSaONI9jR_W7~xKati_};RRE)9e_C9g7TAnzdLR34b%Qr@v^QLCdm~m= zq(2jNHIblOcq1o!!hNzN6P-iv!2?|)iNG28{f*Q_f;DQ}9?nj)EpmmrhUzijuXy&_ z?<{sn@Vg{&_}#-Lad``Z1_ZX{d@|^BQPZMSiD~M7ZZJcNn|jI!^>`_PQ*zWvAgwE9Y!Ll!v6xyiS4%%ci@$Bl7c%4v;SC&SZI(WxkKM+p z#HWoaUYr7A*Y`1%tO;yx7S5e5l?2MN8hf%ol|7w1os%QQ*K!%o_RDYaIDSd{N9I71 zO~Wk94)#p5FW_Y4o==w8CyN9~J#V?MuP`^M-{8Y0^n`ihp_!Q-w+I-0_1>xGa5-63 zd-93fACi-XwYFtY2yF)}lD(bwiOnq74vef@KHy@Pa9Y#)3bInCUuKoVDuV6PpMAJm9G#h*`eu?u-rWz;RHhbzLz`rFac z#u*i9_5;0@Swgo1Nj22KFW<7S^K5_!XJ?jvo1Uhh&yflxg#e$}4$$TDv9q_itb3R8 z*XHlC%95{GJx66fWI${?^_|7^kUNC0Yo$2_&Fp8|%VsMUsT6^KowQO;@9wsSE;rw* zdxMU=V1O&le&fg8I#;%nwGu7~?O}a8<8@8AIs4^7bk{MIP(RXqj5X+_r`KzHnSwN@ zantoSU@VP({BFC`zno7mEBOsp49wF#S1Z`&&q{~P0aPP{bKmj%8W-vQI&#UL`t6>^ zMO_d-NU1#g8t$ku^O~!~6RKxN`$K@;wYAN4Gp%Q#T?GL5A2QujUSgNY>y{3*p5=CD zxhpnzZu=CcvSFsOYP&|h%vO<9J=AU{z#{j!8)g5pUJ`@!9BZE$4_d#$pDB~pve?j3 zDf)`)-hY>n$x^HNVF!^*N6g#%8U=hu*-}#DW(%H!a`Ke*)I|35xEI)tbN5`AU z-(OwTlJ)Y=w;GUCjlMrK704o=IPySoGfHp%Ave+7;pxcU=nbRX(LQc(v=3*xdU6tt zoRGy&G7g#k2iOa@2r|PiwL+uio%q7u$vPca*_bll8Rc8-R7$k5O$03A2kiZC(kht} zW}C(^^l6#o&`UJ4I<=XS1c7G0nig*+cBE*Za{P4rR9{46-L&+k%UY)m7=p@xveJ^q zG8FQlewEZng1Yh|c6s}Z@{;jIvhav5CkahlCZHTEGNGeT8P&`=5HGn>v*l@E`B+Df zJq+&;g%ss9JgshNZ0ShpfO3$?{CkU%w1HwZDzT>{0!r6Ood4YYEoBxz-yX*!Nsv_f zfk^YRsfCQtEe|_m=Q2J?$ZsaDxV}VxIvP`OI0H+=K>TXoI8ohP$VHEm7`EcVo8=BL zP9y`2c(r!+cj8x)61UhVk!9PXpNImLjK;2N)DN*;e81^ZY?BfjU+n^DuicUqdyZB9w`=akf%s&G3_Nli9gV{$^VJ(-h7U3Xq2 z{JNUziWW7}vVW8HWm_7{FsJ{UwLztPNX?U9B-290=O z$_9q)cubD(vU%AopG^n)%B=$DI9!1_qhS@?tv-}i!9)3rfv^f5*W;L0!E^Z=_5M}k z`d9FFej1jj)1Xtvu6r*rR25Hnd6bjDBRbPHNZnNd0fbzGZkiVkAu(z~R_T8)Pbw>Nr zfC&S6U!4pLA)>{{Tq;~mRC-TjC@bwg?d@UHkZ?*S{o>2imk4!G$x37=%OasU)6sbL z!THHE1fa-nH4Ykx&)H6%*?pDb>Vm-rwL3Ds@VyI5u*CE&RH@uTkYV}BcxRj2&XISK z6iia7veF72BXBd93qQq$Wnj@Kv@6Y;yIY1Tb#xTM725y2dao=;--)f#p{PMBWX{?T zKi6YvpP7eZ5VNu{xzX!V&_RSM`IsrB^=Kzlf#^Axn~t(TOau6<54$?`cI3+biv#>46Awgq=-aMIBJ8Z`=75%Q zWsh}0-%`-*`)A{L9C3(n`5V#%A;QZGX+oI;dWV9RUASB(tvC_x8yKhUj{_iBYX|mn zU?IXY5G+B2POrs@Fy&RM{n2fRP^zH081T#Vc{pp)UhE+5wep8xoI$CM1Z^{pd1>2+^a;((Dok zG@_to=`G7ri1135zzQ#>b7i-3U`GNA5!SaTOA=u|Y-K>}dqS^Gy$lh$C}{3wF9^LH zPWWqg0ToWDy8zGy4(Kro+TmmcO>n}CiS9i(gYFGGz~5Y=L|A&Obgx5%%4u;<_{&s4 zFLgj)Qqb&K3hHpe#c-?Pg!!E3THG(_mEpt zl?cb&7ncb`?nNdvb6^Jp3lZulO%UPRIdRalxU$z)8X}ybpt)H*OK`$DrEwz61Vj5d z2egsg1q_Evc$Pwh(_nbRVZI>Eo#6nl0hr++<0(OeDd)%OwTds;gB;MO6g2y_=Y(Dk z5efrwB22%9S_>S|sR~+lz1A9+2|?J^v|vpc)gGuYm{n_YGq0iA1QBlP5+6CW=P+{C zIG`OAH21-B89B~yIJPG(utH}VvJdS+D;{&e>xu3UA$}VsjFaGoOBmv&8PC21@Qn`e zDu6{U(3c59yi9GFKIZe;`ph2^bHF)V*%vtP-Kp=DH8OycOh2qR-u|b+#BSrjUZD-j z9Iowmn1076agOW8mA$2>q00FRn)~9{U6ZIjcB`~pM*dH9rv0`9YAI-k?GQT!%>@(U zO~~NNp6dW_miYeB%oit$pmIk3vlqrYX0Kp&xdZyTf@W`jHl@Eex`aDr4mg`DyVL=l zqo8G94a44)m;>%UFW!R9=hA{~2X+*&F#U0sH5!yGV$8n*+Rls1l*=Hz^b0X}89k;0w`&kq+p~ z3YuNbvjo%szL(HTh;S8@v%5H;vlO&!#WSg#&^Z{dc3OaHvmDsrz(Ry!JWDYB<+sE^ zU!Do*dY2(Wp@Qb#&a(s&?ynJ0A;Oj!fWGX2W-4fhWjsqE!at|S>pg)hJLCYb8=^$0 zpC*_&oRH3q85{kk0(!9n`n-Z>pUJZX5zd_=phAS;&46}xKyOjdvQa!sa>CU&#j9O7 z8QA6y>_xyrgu8i`Ai~3w;-K4a1aw`wA;Oson!Ac;2_k&v7f>O>sa)C5JD_O_+TozD z2@#Iw)?haH27qfE;7>J*cxDmL5=7{BeH`?*>i`|>fX-LY>@hq`5aGIs0xCpUbSMAL~H8p%9%s zj5NOSeH>yi@o^l8dx1c3tVR0-V&+P**lmDjb_WOGMg_?IhXLps2WVqwH~@ncAp4}x z7?=6v5UFGhEfGU7^oV8YukyAU6p9a28yaCk zuq&Kb=jp4RejO*T4(8QqET-6kl2`jAUp>#KhXi={Z4*~T=y?dAmW>@f!Q zQU%CeZHU*e)&Xc^*E#_06(D=@&5C+G%Up+ePdWg5u+Bo1S*Yd-;@!hGq8)MozEFU& zOVg12bl{2XYZ&5P?f|@|0G%ogKtKSb7eJ$j1MwFi;MGqbS3cU>&*7sS`xFP@dIjk4 zfB{$+2Y`r;R~SUA6(ZY>ib*RTc*D>NCivC?=&S&_#~T1w9H5Q;jstM40(ANVS`0Nb zPhr&u9f)lMrI{yvcAG+6yFzIt_qao@nrJ zGvrDf0QR`3A^SQ5a8w+iwSBw;FjfJIcl`lo7b*%b@45zFuD{$6qL%`ceO#+;$QG6` z-SN2taGC;i`bf?lM~h$VtHjpsc*TLp0D|uLg_!|}#|?ysA$gYr@ZA7q_JL z2jUWiI4NqXI3r#~Tf1(wAw@R;=#J%R2{ht_jt=AH*zY?4zgK`x=TvJepP%dW7vGrg zK^apDOl|Dm z4#0y7ko}lx;Ox_#2DY{f9Dth@pt#wZl-@oKQrKAzz%T_U^RO7A0U1Ii)7x7vGc+gx zfWB;hrPAQrpzNxFK#u*M18}?oWREmd+~sw~UTgaa2cVw)UXE~GRIS|b{22~F8$0L# ze69eU{%WxJ`ZUFYq|9mdWe&tE3UN|%)C5}jVEh|xZI=UZ7Xb9s08>T8R3VcFUfvNpCP76 zvN^0~F)KJi-o0MlJ-96S?%?FR-JN$W=iT#@@3xkAZ;*GFro8*Rk|@}>r_}xf?>Q~|c!Rllsr_>_ zJ8E~Q)P9#!`*%Prx>9N{OsRcVvi9qo+FefVeQl=nTdt0aW?*Tg-Kl**vi8oV z_Vwen_CKc7eu7i`IH_HBQ|*O|la#TNweMYT+P-R_LH3tEiMB5RinedKT5DhHPEzLW zOAK(f)SfG~Uz}3=OH|=d=0T_SaZc^`Bx@gNYTqF_7Q+t1@Jws~$TT1N`{?KXrhHngIUKn7I{Ysn? z1Iq7{P3=EiuC@Q%D@mD0M;PFr0bZ0XwU?*Ves8k&nNIEfo!X}+Yi}tn!z!O=^KP#5Zh7+E#ax2-vzKYhu1aZHmeaCfKrCu5wLkf8lBx%AO?B|z^0mSH_5KEx z&Fa6Zcpqi({_7~M{SPU%KQr6_?+19%HB!4fUOVfihm*C3o!W;vwFkBKGZ7;9)3C}S z0x|v|OM#*_MfLWpU*SOzT8sy!#6cVnfG4mbi;%lDe8IntDE8u7j2jNQxbc59Ud0{) z33+DzrXU;L(UUf`5J#P^Y5oZ;4trc(!eKh9E`5S6C<&{#!Yz>iGpL*5@4B{5vv>UT zlN2GD$x0S}PrHIW@L6Z7qZXT_>`@CJ_^Rc&Ab~7*+Fx_TQe0$C#y3&()cZJ`VYWip zoz8HA^8Y5G5N9rz9h115<=3Dedslu|$d8Z@&zWjw_VRa1(p>#r)gCg;hdGgqFX2zJ zr4=oHrBYmN?AkNg*kM~3e<|6E`L(~e4-B9oxDQytS$u?@bhA<4iLsX0sBdO&j6cCz zdX$a&mYZY_7k`2&>PsM-_3YKV#iL+=er~`J_UW}X_NBFn&3g8SrnqZn5H8KS%{3e49zGlU1c2E2awR{9_;a-P5_{Y} z?|#RJqZ|nFm%hC_LdG4bWM>dQF-vc}Ys!ft0|XIPiJ%~1Lfw&Rd3I?hxD6H$HlxfP zn4FWrA$7ToxaEDf`jX1le;+q7vw6!Ksm`OI+F6+6i&%{(ByV^lql9gSn$+eYcFji* zwL;rv07fRVojGNc=C_x+ZWv{Sp3#C5Z*(M$CO!dqRA%WT;P7mnj%#LCedt-bB*%B1 z_-PicG2Zd-c9d=k$LzkpC)JF2ugtlS7yVvubTrI8Zj_8(_Efjn&u>t_{A)m@9<92 zJCgk3;tWY>AmOewQPMc+wlT#Ylk$$H+~1t@1X|oAJ_sjGv@_llJtk6~gTr8IK6UjM z{!BM$BQtWuuLnxu_W6aLHk0#o9c5e{@jTs)QYGFiO@<*(mg?sl-qcu~BWXo()X5eX zJkC-CO4F=)OJ#Q%x4yV1&L_l^5p~e)IC5hUIMrFP*ZJ7lkYLu!B1pLC-1r#;i8izIff zA~!|6BGaCJ41b*Eh^@%9625X%jyo~|=dtbnLg$={J1`|L%^$M|-h|(pOl>{sh$ULX z;1b*~aXRXF@`lE`+DKJeXqE3QJVt$|;3vwAMqAzC4UL1dWPbaeSL}cEQBmM;jay8P z|3e!4VBP((8j50)cf#?X7wr+wcU#>$#66$YlXPm{<6nFBsY*{E$U z+KxLsj$U4jBSU64d5Ys9?#ggbmdqdFb#=dtiThVo+qZp>8&foM;JGg5_Ox{Ap%nk) ziz2-`N)!#vJrWtxzP^VrfTVF77Oo9!IX1Tc`-ar>0CD*F(zXQr19A9Pu@8<6e^(Ru zU>v?h?7^n+>Vy@!Hjmgw5Yx6o?}KloA7gyKH*#f3{SsRDni!c9%=#2}ff++##m9v- zks+gqMN)HqxeF%sq<_LO>B8vrCFM1Zf0|T)siAIg>og7)f6R>5B5nHdF5z8&PDS+6 zzqxAmr{9=gUURUAk4RZ3^|*uHh!zirET{X4amm8we8dWy*Pys{xtAiy1xvE zWPJB~*@5@TVlZh}cnG^BwRwR}=oqU=NYHPcH+&TO-%1aj?VN{O3C+^%dsgjjB*)6K zqOa>3nvVDW_RY+yF!bzerD@U3mR*v3RDo;Yw@u;czrfb+;?$Q@v+qyVtf9t;JQ$mZ zwE)TUvwL)xJKX8J8aG-C&MYtKEWJb*$=ne4b~~rMkv{m&|;uUf&;e$jOAmotU+mwlN z+C$>dFnr#VQP*a!bS27ac$vQ?wsPQix*7)*s**~;b6%4(WjG*haWxJs46lp1Mc)|B z^OX6>W%5TU0obJ=9 zKiOxhu8OV{UgFEclPUa_aMEkUe=!L8aIssKUbiUrEicEG@Y7^Gi#T_O4{~H(>n?kM zl`hWaueIC_9R0<4jcRAe+X9go!jd?3ehYuO-6CsGBWnwx-ZI}AC>r=#O(wqMHU=b~ zmaGDz*U=Uv;W$t)>|x%~uO?@7#;uu;XX)3gbKIpv z+FPL-y_-=OJMqmuP2zi1TMLc~*xkFqN}~lPntP41(n{~>jN82FOB**^3%U=DWxm7$ z&3d=HYglaGi+dV}X=ILA<2{^)?(P~IJ8cEUk?wUc9l#wW8WeXw;+lQ*rLoej47Jz0 z*R6Gr?q2t<+gjAUZXw04i(}XFnjEP8*}C}Xx-WP(H1^vYT9a#d?0R!GG95+yFBnluauc?6hXr6=Ly8&^lM3E;0VcNvH%bc$NB$+ z6e$tKD<%x^ssZ%183s=<37J(#Q#8^ydA;ThMs%Y)eW{y}9kWh>nA+aDb?@qP zPDjpam3W8_yD+T=;>@HFPrz9}VelVgUU+JZ^@X!n!67DbZA+k+UDQ(_ zSi#?OhoxgxxLo)D>~$CJ6^R}^SD^Oy*bBX<$y9e=nJmX-E%wF09n3L}v2S26`Eq@J zqN76B@@e~X-jap{2XI&SsKBgAfe8uBOL3U7+&K%jJ@&IHV1JSZ+!hDRhqSRlf(>y^ zO}tW8kfNBd$Iyz#)5Kr9IZgE7eO~Ca@?2VJ_jIZWwV{SsI(6BF@kfmS#Qshz^yo;I zeY`1P_%m5pp^Z|!iDQyTQt_8|)`T;+HPAmP%DqXjg2Se&%(@?!I=0{Bo8IWPI=0b4 z32R}0L&o{{>2i503$2Zu*`^PnC!?@Q*itPPDPlg8b1u?a>4kI>p+BN3un1kdy>M|}P zIYzjCcjRu(7Q-^6onvwtE$_};E;t+EqVCl$H37tAaL(L2>Vd~-{x@>Nn!fN&S@I&B z^kkB~`#t5V*{3TRg84O6#1c=_Q)1~D>y3;fYVI6$rRIFGH!@|iH~M(~I>3H@LcFnG zHgf!Os`iP;mk|vz8GJq-d2ly|(58G>Ikd^pEU4xf=*E^Me)IMZIu& zs6n z5f5X+40ZOFemg0QSv<6??xOAX3FC<9C@Fn-A$Bdo!4o;!9epT&qqLcrW{dT& z36&gs94TN#Plgq|LwjmkPSMw%(hbu&(lK>C*iOQH+IJLFlNBrgz!P{wM<`;JJJror zi|BlSBVMr;tiWT>%5twneyZiC7_is~epE9`NE;MpBUd~~2lNF|?(2KWVoZd2V9E#@ z`zt3JrL~cZkPNDW-_an9rj>CX)q9G-!0EZ_Zjhy2qlclqzagN z3QRSwnyOiry6q`PQG+fta*^$x z?wpm0Tws@yZB||AAEa32arg@(l36{lQnttDY9mQ217&9Jmx*1~(#a)O@GGR4%X+uo z4v?i&hVH8()*^m4=ZANZs6nN1Ek{!1akQ-LhjRSK&(|Z#+yuJR7 zR@+>Qjf|Sg8^mI{dapaMmjlIRC_qfD^|x@Kcq2=!m6)F^@*9MUJ)AqS)!znLnI~tu z37A(!DF>-@s<0k-!u_*Ugxaq!F{1M=8f8)eJ*Ta{gf9NtS0Z}KDu}va_dh&@c-ym9 zBJaI2R>!avd{6m>Totu;_pA*Bdt-b_bPLI-IBf(tzOlJHt!K2|4EN~Wb~bsp|X6Q57vzp=22$|N=MJ|@7Ui`m_EA9z=u+JOjMcEXDH-%i@$b}H7 zC&VeKicEkw)3Ri_#n~v1f>trQ^E`-@LdnNj;zA&ldw4b$i7Lusl~uvo4vTttpe(lC ze7ri0eLg&Vlso*F8d`+u6!CzS9M>ld&_}^q6_E*Kp}C@(lvb2hPiKZ0%q-Pstc&~w zo(MEd_f>czy$S4mfE!Pi?_5vh<{a*b5^__Hk5*kweA@#A2N~AhcY;f|$ULLhx=3e5 zqt;ZG?(~GatoCnn1%5o>syXPgLRT#GuSU<0=P$wDu?vbn4wu%<4CS4S~7 zR(m78R~`7ZbVfWHYv5OXh^04dbwX@(2|CJ)(eA{ zH}ng)TQ0F%>b_;F{H1{{niE8c{254t#1zoocQqk%TmwMEe(F5a{8)v6mGaHlW%AQU zZF;P-lj~izXCd1)EP})&vQ%Pp$kcc1jccx>zarO_Fa!MuXotgwRI!>IO7m#LPg&FL&&;a-_}o zf}khxPb3YHkw1Z_?T)k{moH2;WtThL*(+mwYzl%xG6%^+N!K6~U$iWns{eb^)jeMK zXzWYgY{Cx`pG53qZU%3#y)-#8ohJPZ(#L)RUzhIjk$IxiWgp4)PTz(0x~JrTyO{Q{ zVKW)8H21Rog4wwErti&5C)qEUf_6^9Bb&6q3VliwM0y&_%TfACSS!52ex8}fEUecG zf~EG1N%HuM9XeBr1?V!l|M3gw9xs}Y1kfZe?%bNUMPZ9hXI9}UhgrMnGCcqg+6mDy z&P*38k?hBrt+;6B(-LA#&nY{M6&nt8>=F5Snx7{2ESdN*lnfpi_^`3ReSvA0uadc1 zRS+3Mo_OQfKA*|^+PIzeT{%W5us59-+CJlRwd46)$^^nhvxRNJi;X!~3@4ZBcZHwz zd*l)c%Q;!?7v}db{s}kJ7p0KA77s~OpZ$dd2B$jfz0V*liEVt;_~tMPKS+jm*o zI&dVCHOvBQl~vuBj@0=IBOtrW_QXBx_B$rP{$PSRw=MD3CG!T`9v2nH&Eu*2F~Xng z%hO_AI!K5U2ofz`1zX1Q%AvkRz@Gd6zf` zvgzo-JV*azl{Wnp>WQpfd_^s{Joq|m4WP|foW(|#lz5H>&``$uX*jUG{0MV`W{KQ zKx`WE2Usuu=fVIx?HL0#C`M?GJYr-LhmIN7Te{o7B=!T(Sf-nC$^`sF>?qD8+>sa$ zqIts+XMK*sd|qdrw8%#UNUG9EV`(ie434(!D2(=#L1$Tk3yDPMuNAmxaldcNm;^VA z>N=>zc*W%CL5NOI{2qoz9s4P?Rd+smshvSO6PY@$>*lzfn-VJd8X30 zOv$KZ$q!D+-?b$3+(nqiO4S$?k|&WVEOoU{M;9X4tk7lhRL0-;ICR9f+D!PbODRgq zca`k+7auWFWPIxJ0SE$yFRM0@5~_gxU8z;3*JL~d9o-N>9MR>XW-Pig_H8rtVOLNUU@GFZ5UklM!t5tCD%?n zO?p`5`*MsbLY>GI*<-fmekJcmZV>WV!4DLAi@lpMD#Y%kkT)oq5OZ7Xn@&<0ANm47 z5BUY!i;9CP?8tUK+-~Q0Q=s5eQnhKCHY3`hMY3tWqb7<90!mmU4ISvlZixbd0)pa#io$5OMu8BfyCF4gfjaIR<2LH3qvL|;C=vn* zh#(-Vs6kYyve}U&fROh)x2ls4@_#e$d*6F}+Nrwt)?Lp%_v}~l*(AY+?-fKwcQQYM z3x*--NOblM(wxrD=$7bcbfm0)Om$3)+{=q}?%Pgw=cdc7-#}vgTQl!^hXGLHq#{+> zFh^JZ8|}v5vR;$o1LQ|IW~)CxHvOn9F95Z5wj~)RL}ald9O9#`Gr9avQJGEq%b_=a zA61WYqw&z#Ep6?Tg!0DnW%(j+N@<)|)J)zlu~Y8|tH28$B|qlEq=vF;0JT+ScR{}3q2OI*RO>@6sB zpD~)Ywh#d)gd1U~FdaV(XBURp$dI zoY^%`hTg}|ZOd@Be!Y#2wb*3ka_gDYa|RK4ZHyMGHnT6VI~f(8)=~4$WBA;{;;4C* zR#O%)FKO{6+KbmKi7)lZ`qB}(WlqVC%ynPbyL&Q)<&v`;KT;sziKtV4{Sd-dEoBPv=e-sqY)Ddd6 zq!^U_SA}3Xpt!^jI-N-pQd$rKkP%s?atT4{jiKx&jz^*|uvGZp;EIuA2$8-FT&dhA-5$Ky2IOAdh})P3aj(E07`$iGBG*i(pzeg>6BOZ zUtK{-xf=mnNc)MPr0dmYJDjFP{%${|2d7ddBX|wJErREJVuRB?7Y;~w|C?G;it?9n z`>}iGR@DZLdGx{Q($=6@`+0*dZ2wGA{uf318m_!f6d0tpp9itvl0pMw>GK9$nEs3> zf0M$pS| zi{ROw*fr^%w2|rV1p@0Htkv{N)spI_M<16yD3r>)so11JbYO(`joGRm)`sh*$xZPYJv#d!w>p{!>b`emp88_0lk4x(H~6|$ z`SLgT#m0MAX_nWR&gP!>DKUF*^A+q4-4@VqA)3K$&}ZAZ*Pag!1iJm`%Rdm%ze77+ zniVjL8U}`^&E|v7fr5Cbv*?_eu7KW~;S+OECK%bl) z|H_)jR9P>{&j#HrHIM290Zr#gbOq)f-gw9{&pT65y3A?F2?E-IucUnyNd8QmesBx& z){V{{B^Jc7fr>UNZ$qJA%h|C` z)n zlJzO@^BBOqdgT==^!Nb@WNmbK^#TdA_#3oWSH{>(q?Q9&qhLEhniKs~ARdAoh&TNu z0_t+Fbsq@?B?7ZGGJWBxnB&fEEomqlF@fxv!rc+JD8hX0pTElfh|ZFdWM?Wfg%G#Z z^iY=smuq~7!g9bZ|ttKFOYZ0zhi@qtz z%I`%Hpyr!>4@%qR50PG|J-!sf*j@2iiB9h7elp_AU1o;U!!9z3*Ky`qJ>_R4ud?b* z{B*JT%yV@O*8^3<|17dziOpT#u!~YQya_pL4sKl!xp{HM$XS@ubqby4m{G0n<|R5&d)TN!a!5@|0BBf{7eo0JEr-k2h@j*WwUz^1QBdz>`C zgcgro1$Z1)o@U|~;j7ry-`#Dcna(Bwj+E?WPfJ;r5M>EN%TD%IG_afDRqOrTL)rfB z1G9bkwZ43mnL8*Mz*XWQxt}tWJt*dXzx|*B|A+0hKg%7AKC!uq=1~Y~mkM`n((Sg0pXXU4~kO~@FyJJ(imoJx1$$I)0to+jc=d0W5 zt@tI)Z)82HU;P``v-$JC@^SZtEPCWt4$Pw1uzGLB*3Q0Gi~ag)r?|dRzq;OU^!+^G zY6#>X=7Ur+xnNa&aOJP|2NiyOne%~LU#nmJ>y<{|N4>5FUp`kJ97`h?$(Q;9J(y~u z+E3r?9=Y{3`qg`f8twIfYi%HZBVXVwLZ@V3Fqob4g|`((JxyQGtDQrQEPCY(L$D0a zjC{c`%o7g7Y&MJ*3?q0?QS8c}q;S9}t@pJ$ei%O`4@1OJ%Yuczy6=4z+fxIs13uTP zkHsl_a4hTJQU~$-RSn*{eb8?M_4I|l@E%v-&eg30`D<7h`98E3ILj6R>INTx!UB4` zt@h{d1(Hfn@x;c=A_}$_rWvg8E5cMUbjvoMP6)GsTP^ZXh5*}ifDNRnANE$5z}qkV zdo9+Y=Svpyzw%Z*h{;#Bx&!_IyCo1S%?=nNiPI}+vW#wH`KFcM0F=Oz(o|7wP{$&p zB*Q(kA%m5=f4nbzF|c?Y1$>xC0*^@kXS_Tx1wB?^!dD6lad7!6e#i*8R{79Fm}g}< z*k@^|k2PqL!bsnRooxdA-bg>33j!v|5f2`t2J@FTiO;miKWMHfvdbqnR~OR_CA4TT zXYUiCz~x+gYg~({g`l;kY7x0p+6NcR03vr{xD&goqhblCl2ZN=DJbD?$I&J|x;%7a zK(Dj4Hot9jv^FnMA`t78>-3|fBS*f^xRdj%B!~0br+2{)_%=q-+$m5XGkQqYrV&S~ zBbZ(@7^W#S*(~`>U4zud42IeS?Aa5yK$-H$ceG1kMy6U0U1t7~!wE6EdiBQ6#Q%*k zQrjh=mYmdb7ZA(n2NWa6j^^q$bM&eH~Kgf03Nm9 z>xBZD(;17sW_v!GMT#(lkrGze6Pq@tz29(y4jO`YaKW*!0J7y#*%h(_szLXF3Z1NN*@zdSrhIbXHrcVttWEqstOgR*T`#hi z0R5A{aL!8TEG;sT&RAdL#v(VwqA?Y;5M4FX9FI|`^-`_NmpR45QM)~FyqJ*93+WGzvbHtk>yVX`(2|-rMcpt5xMF;lKlmvNnWlNj^w|KHYOS-J2Qzk+|TM4=eF&w4oZ}OODdR_tE7>F|i9hBc5`i0y+z;IuT4p_frCq zV@FXKEP^{?(3Mu_`+=HC@^d#o$@UCNz?&(jdSoS8ihzwh^*W8s{E;75@N7T#a&_Ax zdeyc*xic>MIpySrobVDli#1!N^)o3BerR@o&c)NDMu=Ra-`i&scI&IuX7}fW-a84? ze49oe{;SaFECk-QU@wj)BV)>Mydz;wzORP-yhMKSiSs#LL1gDlr)~MTIe)wV*?P1`e{I!WU@VmPDP*>9T@rB2aFX3N)V*hdLPTz6zm*Qsc z&irHWPs{jIH}>zK;25mDnz1}c3q&R7V3yFd#$lUFMmZq|b^}F%^<1I;;HP_u`h_l0 z-}*85#*yTJTA%RRDCtsJG;zvOVF`#Mp~4CjYEc&%!d@kBY=RA_HBOlG89l3C6nlb= z<_;_IZE&xUw9|`X}r`Y z_w&W37pm*DWY8lRbdU_ki@S-Qiq?W(YUPue$F}ZyIR%$SBV*7UL1BZyRSU@xpL*MJ z=l&dZXhc;-*H^}Wei)U=FfDR*Dc`Fz!yFx_N48tPLiYp>MZH@u{46m$)H@`2iZzG#=KD*|+M~rXE4C>@jQhtpi+=uI zWOgVD5q@BfbsZN?VE@?fsSVkHJD#H%YxYqQGbgB@uW5QwP!q;F)IpN0b5p+nYw2vkIB>@~B&f>^{AlE- zsoad6Ya~}f-+cKXpt9Bafj>#}X;0=pbxdFej9;$4Qn|=+R!kA0mk7Cc@MD**{NG0FPjdV#|5 zk|_x!QHcbrU7%p)^bh5;0H1+jzG%e13Z50IoxYI0y;hxLCp;I4?|q;UDehLeEea*X zdv5!TQ^yAuW6GslaL4j7Y}VsWwrO^+PIMn!g4Cb$*?(%kYqRz*b=p5qs-}I3{ZV83 zPtbUq#>VY<4mNAC_tXE>-lF}<<6T^6k9V=`2^p{GZluZ0qkli%SENu_EC)|;z7XF< z^e;tvwP4?sw(~c>Ah!u%Wht$V=we27Th3n5B2Q75KX!i}0cwPoAijwq?npiz2go3K zzJi^a;gdr8&kC}-@C*|y=Sy};Q2f#Jxn6UF_Ru&fRPduV_gWrc0loPfy#+_ST(bw5 z6~WjRte^G=5t6e7JM(U?+9D8#2PX2zJ!baoLk%8Sa@KZKBRir+)1|U-;+`rc-SHdg zz}%AQuUjkFUdi;i18?Tdb;5f|c(2Rlb0HTv#m?mz(aQU%lp)wmEaT?e3NcBACb(3h zuRynqu8i+%l8-0qYu{MkNx!S_loQssZSRTd6MR~%mG7n7_U)kCdD7-jyFBMQt8fbO z1LQtrMLCWq-as=%FiMEW2Iv=wy?`s=Mrk(O-xcgBP63tU1WNi4qD>Ak!~qIyJ!&S? z9ZlWe)E7&}%ia}QzW+)aS%nrlYi}DcfysoZFmqzI3ta~_zBaZJ@N>!K-wbc;c2szE z-h!huF7>+LSZmBZV>T>%GN{lz)5-sUae3XVvXk8;zQ%Yr{61|FG$^i&gGmF0Zb)>7-01#h8&J#I}A# zh#Tit2sx~8-v3Ye^M$u=t=H&rny=54>`*FK;oetADgEnD zB+w$)`IzbaiQNZNwDQSZt01id!!&R5VV^I{)`MyFpeT? zefp+ujv*4!;E)5LaPdly7%pKb?r9hhd+USMR6-b`U~hC}D~TuJDlEU)SFnmfb0_qw zIJW<`H~K*CG&^&k-uLO`UjAZ@5HNjJrbP6-1e|Gqfw%-zM;?=kWe-@z{4|GOIp04P z;R73)T`GIoC(fH_CX;}KDHRA&DtGQ3KJY5Lr(3P^nbzi?8bJ;G3RRRHK39v17!}o~ zI5MzuU2+L_ac=NJB-X+65W0N#SM+__{PhEC)Bl!(4&AFoUt%#lF?a|p#4pii&*8O5-|Y@B%?!AzJUDsdrhSE9U%vmJ z-nun7{GZeyREEpCo1rmSy>PB!xA96a?2spmXK`Gj}`P~a6SUqoN7=%`0 zKx=tI&~*+yN3`w&)&ttYfQ(}EfZFtDa0|YGe!9yJU5xmKzS939u5k;V-1ppITW$Wb z+VsC*PqT$u`ZCr}9+2&_9AGG$p2CP92JKPR2!f6rX2>0R)#hAAA>J9YXryph3Lj&@ zttA!4DJ_s4uFBN$*o}2#Rg|l3ojqs~AxCRVGk}_DIDHab2$0+#aQ*7n^?YCQPzT* z(!284-kUAOmYhu@Rw3;j{IFKIt(i-tv&r%(!JtP`;Q!hM(`o2J)c0aANnFhjvYYn+ zCR0@O>C%)mY2G-}CXh}lqh@1lj(-9)wmC`L4dLLSJJtR?5}hdjptLKkci7g{$}Ff9=oT zq~huQjW7JJ@8iq8pV-aOUjBYx!CGx@RAp^oH^i<|yTPX;Q@dGGjZrz>8sg`>%e!my zF-fg<1&k|QWrygAkLeR9`9Sy$K%FZlr&zOL!ygOLajh;!k{wRWsm=U zw6`~n*1Cyj>oI>tpx!v=j99+N9nNmEO)& zz4eH^!RDt$W-fs=PAkm%A9@omq7SkS#95 zk;SSJ;S*lsiQrn*Rz9U0_m9wjA73CJ!cqD3W3pZc93+e%(9xd&JmUiu_yk;>>HTEr zw4p#G^Uz4=+^H;}rj-3qL|a3Cb2xU!h!g z*-Iukj})k*n+5CNoLgwtFBM@L$XaaCOaiegH-MU|NN$CcG&kLCBhCgnnjx}!`3rV% z!RRcRKmsYKx0Z05D$a_8$${P*liO9Kh8I0xvj9KxsZy8U!dFf-*aowqR56Oxi=o#c z`ktpTFQ;FjoOHzjy*?1TA=_85MKe0^m0yQ6{7EaXlNrYyAb%S+>jcGF%^Z~C7cPs!} ze9Wz6JAR|2L3LP>1`y{SeY5J>4{*6XMeM8}vImWMj=R?p1`7$WTU5IZp>J( zPj6=W25C*A*UD;J7f1(#BsJsD)PBBJ6!mI9|3Uh$`2Jc-s{MQ&0sfozbFpHA%-qH= zj!7fxi|-R(oX;1H`Z*9Dp5XVxdztSHQfE7KMG(>MFtFOa5J&_^{QJH*)1u-Z9w(2n zrp|1pe^U4}Hbcdt-S{&6-aQ7*V}18|A^PM4c$W&?J}!xgFf<~pH@qgu4thky=Nr6h zjxk*XJh;*R`2M~`C1BaZUl7fq*pB8<*c8p7m}m~IRWyeyGeuyOZ2u<_5eoKc#s$=b zH30&7Oj}a5@}5$&zRJqFe}D7&PL7ZE6q}+A zNfSrNh{_xXH8KMVi8$&v)1VNundYD(XQDm1C0b;(nD@X^6c@|6O2rb29^d@h*}_$) zV=zTc#E;459&~ma4%$Pfcy*io#t|%d7Iz_Mrl1h1oBcW;@UIhuH^G3_0(>=B<{H;U z$xy7G-x$L^(ZnVzBSpBhAlc)2X2S+^i~aay77FIg^XuZsN~9g1{;kqYmEQsyb(i&r z&B=o?c9+d?<@t=Eh+`h2m4LpZ+ZOm8DN4-n2Hf^=K+qOm*HCukLX52_qRm}Q4P{4i zv`BvjRd(bYEpm+EhmTxAb$#7b|pJwwROC9tV4fR~W&Ez6fv6G{=ur}-aa;GS6XO) zON1TcqHUKK0<=Akw3TRD1bh4CknEaixg|=mg$dixOl;q1YdqMe-(N*#8b9B89mA`v zd#3k7h67%#SBGU_TcCr_}M1+$)p2X)pA~TbGQ-c!FmL0iBi{vqgvLju!=oNI> zx|KJXIW1~QD`Km{GH4IQlcw26WpyLZFu|fI6B^$H z%ZL0*D}SwA>SQ;~zplYu>lr88Knzyd0zoaHf9sYL#6>@-gI9aEKE+4c!aw?r2V81{ zJ<7WT&OfA;-$$?PCH!R_M276K6>5(SsPzn`^2kLxz-x?N?Ot#R8+M^sp4yeVljq*~n{I&zuswBFTB--X%YwKmO7eetYl?|M5 zz@`d3#OR(-(L03l-)(MuL$)ZuuEWeKhh488NRh8_%D@-=TDJXGCA7D`=F4XE59hJZ z*7qniqI4ViN>5k1;(tq&$8pjbO;|^1vjz%WMA6mek(+JiU>+3=mU^g~Ucx#CoV3alD*-X5m}Pb{EUm;B?Vg`Cu>I%H_zf|DbMns55`NR85Yi`&IoJ z{^tgQmVjo=iozAdUy{chJ1UeuIZyBy{xyuc#&q2!(&uFDqcZkACaW4=Qj$cgTiZyp zuB3&BZF#-Ye>wAkn3DNuNc}J8BR;{Nk4~z;lkBi_fLBmvMokDk#J0|>r{}_8G))Mk zwt4ZJYDQRc0&tThU%=#wXi%mG%m99eJ*zW+>ZazUWE$pNyenea9NJglK+vyVM6|k= z1QnQ`g1M=f!H~IeQXYL%+!D`k9qOGTkT|SJMg0@TVaDai2yUB=K_~4V`&Cn zj^HrUeCZ~8BIQ%zCo{GA19KvaH2qH`xb-FOMLSd7;h$Q{`K}AjG=_C0pcm)6S1bC3 z=o{Gzl)AydnS$pIF;f@~m>2X><5ql?7CA|34=>8WeR-`2jpAcH#&xUR;orba{is#= zELZr@3~lz)4-19c_RVR?ohPgr80-5;VQn?U<3CxHu+`NaK7tS+NFnqQTI5b1+!a3( zW2Xunxj5D1+Fb7MiY|1$Hb*?o>=vd`s%%<^lpGa6jJP->c-2Y za}7bR>c;ZHu}*(+*H$9*F5+Bsm;IPZ{1l_@tP!r10m$uJ84t`0TO-~2if}_lkv4df zbvDHc%XZks#yQ1K_83>sbK^s;&3<3#Eo-E85#@vhw1&w;!2xt&>}!-KkPVIOuNIv_ zaW<1<@>6N`qOaD^f|UmJXY-_&3Sr(k;u9&R0+!Ef8(15RQm5|6YF-obC%kS~6d!ymfK8rlX&NEy^> z-TSr<`uesF7O{52FHFVyBvmT9OzP=2NSp7uFpab{;-R+=p2ct5;OTzjZdagyV8*+( zIrHfbrTP-wyrFgI)v~_b+xm@CS8#Aq6eIYeIx)XO6;T@uc=K18XZKS3K-v5Li(^!6 zk3HtIt?U>L!e%LJ-{54X&RPUb!2FedP&Tc*t99sYDo%~R#;nDkQkNqDlHJ}Z#2M=9 z%+QNy$3*>Ctf~rOvY9NH1DS-*YJwTZ;c<@&24m&Xs?|+?{QMw~bKoV^z7bwHRcG#8 zz)-O@Untfx08fs1~vv29yc`>;}`{-^Mb((wu-2 zl|ZUaqeyHt{P`V990WZMO2tCIP{?!%ySEuKUfNXmlA+c?C~kI}WXrnVh656seZ0uS zij}SXIl!Ru!-xulr!+heYL|bWMGphSy^x5X;iGMQ+Ev7}%vP|g)}^)d3YKk72R^go z7ZZ~NC>3;7q}QqFG~f?U@BS!qN%tG~zz`hJ=E&GRy{C16O*+F)PgUt64U}|jq{T0Y z@@b@(PLnjieIMDRrAyjGNdv)sXQyRI+HgtB;8F}bt%al&N?HrFzjj(nN$VnMEn(p8 zG+dVtly;OfhycS*YegC{qZpyGA`uTXZ^75oE*0y4gE4vYH<+b89b64*BqiZ`+h}up zGZ}>R?s%o%Nks(4@isdE(ImX4+2$5Gy&h7F52CUUFa%{C*h0uWN63jd%2tUv_ zM@9lbP!Fo7X=hOIdvl`Q8Re^K2-pbGM^9$|MS2oKegnR_O3z&-b3iZIT>5l@5Nk72 zY_F5~e!7k4BGQ8RB1iv4rge*Yt#Ya9Laf&Y7wTi?_AF=0aF1CfY=pjxBL$;Aul}9C z4--uoWhRgzV9ru{8hiU@!pj*QN`oh-pjv+^Q*K?UcEx`nTZ_oi?l*2@qyAjley}!w z%()ORXIw*B6xh#Z2K@-YLTrzpwa8y+OguF5kNI7D%*i$}3>6dXg$H7rQsz^rKXZGU zJ(x}uSAqG6dr|GOZUjt~Qu%RT>{^LucsRbp%A|~Sj{J0I<-|e)n?ZzT0sX3MYcY%x z4THS{`Y)wBun_q7y$k`vfwSGU>2GERPnP=NXJ*8;=xi#9S6XFK*LCu9@WR=Z<(h?{LS)rc;a5c-@uiUw<-MnP=SrVYiU|^ z2UN02mL2iaXlhlye_Hv!*+jyGMKT0-X$u2uM_Aa=eBf3aZ;zBhz;&SjxA^FZ5R#Q$ z3rN^bbP|WcZxpegjyCS6dUJVe2RN2!ks7*z|1=hrLFgEW_hg=i$T@^jY%ufAQ&3(q z05djr8N6-&5x+~|+%&o-5S|}jM!a@pbJ3bMcbwX0?9?H8CsR0l^da#lm6Ohe(k)$m zAF#iNr2=6#e)}Fz5(m5EP`xkmj-@DyvCfbU_t}@qAiw-NN~qmpt{7+IPnrBA{J9lB z6jFXKsgW%Y?KZaAq#R)fbjdZ}fdGKTP#bkAU?HYLVw#rWViH z;YGc>oCzIEX)jcDXm5NqmLq4n#7t0!Z=86EJxQ>PxH?lWtHTT(K}sRfS;0iXecsSGI)Rmw8QpJzl3c)J2TY6hv*`X6Y{i6T*8UHc(ED= zhIo{-hfq$%5>|_&E&YIWKOR{M^8g~&SmAcc%9$L^mCS@M0f&Rq=m%nVqsw3_%qfN% zfC9FUq!BwN;y6`@H_vhAokR}kN1X+T0?_&_7Mv~Sc|I8~VJ?s%Y2_11h04A(V2rTu z@Y^DI3dUS6 z|h>50xTCcuy;I-sNK{k$$?TJU#JE zmZY?A<0)^SNa@kr?yOzJC&>O0dYELtO{Kk^o^&eU!PDF2bj4pF{TSXm)#*sEAXT!{ z>}~`L(#RdtJKgDory!kofA0*Z3&RUCcn|h&VRyh&&_do?k|u*5Q-IF~{%&+A`XG2y zUMgsxrRFevuHbMmnp?Om|OQx5S! z7-{?1DYLkE5um86F8Tm^&)I{kP3y8-H7h%vWtb8gCM|m?YQYVi&e84dfHg|c3 zAksELzWoR+WlY{drl?6*>6MjNH=t=fhijB-wMbNU$NIig>X$IB`*xS{5!+on=h1$F-S#hsx zAMORefV2b^ys)S#o~@FiDr<)iM&N9AB8NCE7nG5gEVtR^s@)Cx;%Pxm4S z^g^Nw58C9TszuXfsA1axK3SicXz#zXPpK5*+_6t_?Uq$D-wX&ra=d*?5&p!@*(Q2)Uyhwpm;FoA58iX>w;9)kyMa(f(3*xY63ZpT3JY z*_GBN1iRKYeiWo%%?0NZRa;tl)?<8NWaL-ayGz}aDrUS3AgblxnM@tXN7OBu6jg%d zzHe&+wi$JFLrk(^bmbuA9tlocEi#g42`8H8{^Weh!ItHHel`#Bj_5YIA@gi4GL)*y z4xjJQJcL?Vgyv+~JwLLPknX$pXQ#v=qeQq+>GG5h6{4k05%+J$J>_VLqzS(K4t?&7`Ra2<%7%g&-{B32+KE)bnBQD0CP*@bc;|9gRv8Z%bK#SVH6G^Uwy zkA!Kk6&)f`6V|t|{O*SMa_c8qw665pS|(5X%ePTeMMY=r+gp2b-lZ{f4*71 z+V7zM_UXsjv-Z*dlRfJrU2N9p=f44V8276qt~*`e-~q;0oXEZvt5(OPb)$U6B+2s4 z=UJBTpDIn(eDi;4()tKr*e0!wQVnnZUSGjtZSH+4OH5kDItJio@llznCRFU~KT3gE zF}P>Cfcl|%GK@eT_pZhB-Q|#9-4r|<*SLTqdU=onJkig%6ctiKUrSfD@GHD)^9#76 zw^eAVcfzDxqK&L2bu+c-&G| zAgKn;3Ck+4okyS`%Kh{p?(k%w$~NWz&-qR`!DY^04j7c={^gYej@G4FE{ z-V1cKv%LRaOb45Jz4T$`5*eA=YR%8TWc^Xe4n+~5kBFr^dMc!8 zA~D!z-t2g|-}t%!S#B1BzT;0`FNc37TOugScX+agcsD$QFJLY`Yugs#X;hjh1(EHnl&5=r16}^gV$kk^$0QE-C zfjfnKk(;XjxOEroDCQM-s7gm!XNkdqv`g;jV6BCYO0WkkSUY+p^n(qml~yM2)^+l8 zkNk|1pO58dq5Qb0GKn8@2MJQo)H?a1c86e4E;z3wrjwKUx@&JEbR!F6FiqS=rEL0$O_&==+p`(+7|o? zwbG(AflIJ@BF7d9?H0hrnH|9%Dg^9YLiAO7AIYHiG9`s#B!Gkv&^I3)W^a6xRS+>( zvCKrF5_7Sns1-=Jbrf=6f*)#0^cR`V(Dy+)^jA0+Sqt)#L+08#CxGN<@}d5nM{Zc} zo6Bq<;t>?cUL0cd5QlFLPq{qnAl6;dWeKBZ48}8N(TtO<-^dn82ic{o2lO7(GbOZF z3FME-z}rq&1J@$kR51kd=O}AkF^3Aoyaf45FYuw`Qj&Sp&|)bVe_R16qEV&eHJ9&} z$OS@ubBW8fbk-ZrcZHT)yI4NI-X+(|Jq$kLYYI9NkZL3WVSYoSK}7<8NqE?&ZxMMk zP9jM2YDAKA+cecnMZJkI&Q?>LP5pt`WMny>pGjJR)a^DJ0Zp2>`VR@Gy5v|EOfy)CF%Ef%H-YBZBD+vt-E9FLGWVy|Gm$59{>Ou_4!3HyV6SV`wGY&kf_ zo@}pA`3~W+WX5ZJMwb@mh^Z<)c)C3mkIEoyNZlcW@ws-z|7v|js`Ujw$KeAs@t^`_ z?O>BfivLS5Q`jEE%6`>wtj&-VwmVW%o|vskK#^f*CBEmw1J7kDA=k`0Y0GP8_?-%R2f|Fq)5kXp71h zt13|}nSb-zG>ix#8y8sA+oymuWRa4PhBaAzCSrGEVAE`{E9*HV?n*Jk``cuN~aG%lW~qgh{Z-%9S+*Qs(oKGH*9m+^;4_ zp+qfG%ICJIxh+pz%P1JMw~uW>vPjDj66(LkAG7Y3c9MI_y49QC?`!JhBb2Z^iMr!E zq}@^>8-Sd_3|kq8$X}(Zl;or?{vk@#$I=@ zd#!FG8boFGfmg*7LbS#MFFwoa!EQQ^e{(MoE0JM-y~4-cg+|YJe^R@~CY6Va82ra1 z`n6_Af<@qJ!Y$uc5>b=5o&gnGBqQf5;vmD zJ67UQyEW!4d5=ApP(pWdWT_BKA*m;cy1g1Z@~vB6P9fM#EMxBUfiNH7l6IxpC$nSXCGpkMM0A(ct&ShP-6q142fe@Ow%?|KpeF(!rvwv zM_11^~gK9KT&u-xaMC42Vg3=I!A$`7TGH+szSfOtBBVChJ-?- zWSVCrTJe0Bq7EH(1VN|C%2UPI=Lp22;uDle3cQ=I;CuVlCALTK9=jjrAbOB!{c`8i zYZ9&BLqfo5Ju_h3Nb5VySN1u>Qw?)wFf){MZWr7BY@%5qUmKeh3ks*jbrL?o8ShfT z@N{X;O<$cs@C+oEC$PExyFZT(HbH;Gyld)3oS!{h%a( z(R;u|@jnZPyvn@jZU;)hufa)L{U*nIo>$MxHCqp~d53!0#W1RJ!ZXKYTjB>CFiK>Y@qu!l6YNPHiC;;e zwi_Q)qw~3}K{a;j+V)p84 z)99Ur98(M|-rmt~<_mmH12@RqX(~_HFYJ{NYzXHIgKqS;fw7i)1Rq7}J`}OIVlelZ z;|e9$S6wOOu@-$o3JIet2T~#O40L%ln(+@lL0P2OGlORw#RK`<`~_>Yxte5g-;)+y z@d4NuWQ@r6Qf8!N68n&G2KjZOjq3; zN5vw=ID`HxdDI8FvIgu)8_W9jP27_>bBQct(w20F6939N@IIh_RDL>9l{G|uKIg~n z_&5I~(kA5*y@XWTzxfrOlt=X7vy%OrMc*9b^2(TdypU9pL!Zb83o_+|L02PhfRxem zPYwM62ei5yy|K&8@N;YzQ4C>MZ5QIqVM(yx6D@Rte;J0IzL0Q6#(TN0l(N3rxPngl z6!4ut)K%6uGpI#xP;d9Ami6s=s}?Qh4TgHK7|CA*`53MiI~fgo{a&FQ+-Xy^sGB0y zY2YeAc624>#%a->q{Y`#s#|CRr7qK=r>jz&FRa+eR0*kc8YyLmFCt26DHm?p59eiK+w=lTC|4bxK2aewdev>*mbEE{U=Y=Y3VdZ z`H`tb(ws>e9t5D^sNaD4?WBIM zlHbJoDEokKNwEV{);eUDx?e>uQyg<&lSk7(C}wVHtzrc$y6A6<;Kbxae}NqET!p@N zgE4q7^W8rwWDQOXo{Dw`oLXh}{RHk;DK{dg(7F>5z5a7~Y)*KN?zYH@V++w+X=#)O zUvm=FT01_iPvFmDT7CC70Nd!<>PIgP9P_2L2TL4RhBwwq$rN z>o18Qxf-*?Ni1B%E`gB32vbSABjJA`=nEV!#fA%D@YhI(|%vwAs<)Hh;I0x&~5p|x8QDuedbdc z&N?Al_^?9ySZ%(NO`1>!f^c&rI;0`U-fQ%|%x|QNs{u^$Sk8#P6M$lD&d+Z(5!L0FYLV7+{uMuTyi557rP7kE+p)hmq23N zU`C=cdIzK1(jzUpSr$5+6zhLLmvVHae7a2Kr-Mu^qcqLB9>kD2zl#`MdrGK?8PBrsl$V4pj~4I=mmS)wMLScB#9^)?eFK27h~+QSqM4*3 zjl7dPEaUF*kE9+Ubw9J?uGpG|nQ8y<&;8vqx2Eg`m@BrmC~~d#xRyFtVh6=M#;Z1r z{AR<*Led}}ayqH~5gh3y#1=RG^m|Z|f>qwM;Sz=0-22!rLR3OKShM)Rs#wU+g^bv` zOn%17&n)?QT{4z1-PU*VvsZpDlP~6yp|Ez7{3MD0}Hb%2Khk30sUd3}0hSnY4!PabGYyQH9B+N^t|f|Pd+-jN1CdE7+tM3jgRsmE*FO}_`(Q6iQq*hJJ$(rB;y zQ*qMw!^21fkIXBLE~i{&ba|Y#6zgFi+8$+969U>!qK$yovCJ~cO8HwTzRq6FBdp{{ z=@*3STe+)J&U054y3WyN-AaGL^$gd;LqB`4vSs_(LrtZN{bZmYXESv7#~C!P&7MqI zlxCmb%v;^Q@S?8zMmN4{`m(3pb-$6JSL*fdx&vgm*%#%7X)1?#J(OBxJaAMw3($r~ z-%H_to6K-sU6Jvp-x4*YtMW&XJ5ZH2rmJz!K&J(ett6yxr?AnEN4Mfl z3A*i-L_PyoEv%P8wkq0y`(q|5#X^d%*0!Cqws5qX2V+w)#6H>T?BwpGh1WTFHgWJQ z21WJAvreZXMv-at2Qqocur9M7(v|luDJ`vBJEessQdpWNMVgl-a(^uJqLnWA<*%QC zEuNR3GX$4BqVPr;*{pSYo#RbDPK2Xk!_L|?w5YcKma!KK5wF#%|SKT)oV=kii56k zv&eCX8zOR`p+=X>h8SJcL2rp!p}o5n;gt&x;Yf%`#4(=0Ax9Xv?5%(mZbgNEEH-+`*pW?SHxy?Izj8JeFis6j;MqA(pk?7YVJwZ#EZ50SLW!e;0mxEWotYI=ykENA2@w9&V6rHS11_5YQOUEo@eVtQQne@a42OeG`t_w8U?1)F#Iyno0l}Z;o5l z`DZm1UI>R`ubaxL`3n(p=0N*{@$U74+yt13>eng7dRJPTKP*Sz2#JIlEB%z~*m$C! ze(C38P(=&r=QjGe4G7&ZfR3J4+CQj5xo zT8DU{{i*KqtHFDM*B+9%6aLugXf=hU@$2Vs&zIV}(7-_PZL1w9Hn-^l!U*+}w)2g0 zd^Dc1l}vTI^)Ne*zNIn`Y~1h9$YZlgxxBCucj!>CKa2K2#+cP07j2)WTk-%*JJEX$@Ch zlarGT{nc`N+lXIk<6gSp3p;Ve$FlKj%poh9_R>cxt=b&qYU1fsIbqSg7f#E~QBcj@ zeW~WztsKaf69&j04`eT4=H~M1Hzqoe{ZnB;D_Spp-Z_4hn;oZ1>uc!0IUD-V#a?qoAC#&aMAAcLT&yrpsP#YqVhYA`C|fUS(!!ULmJ{Aa2nuf zD;%R=PtzhB7BCi05P_%;s}d0P@ND?2H=u{C)#O|28y1EzX`tX zm_!db_&Voz_*%uG$vF4c1ilX5WW+WQ*wEN6Aa(6_Pfx173rN_l3T zNNX7HE$lC4_~x#b&Z2c7UzD$$L2#hw)w~?X0 zQ;1s+_UfWrIN*(;OuB=(bklpK5JX%0L%$DJh?ba3uwv7_oOciya=cp$|54juy-b-~ z6ZJXglZyGBaS1h3pFegJR*IPQreO0-VZx?vL6G?3x_=o;kJW;+%h~xlnT(8!HyhT4X6DP~wbV4RAnL z5%$oY-|x+yE7TMah7?O9WU+uA@B2z*9XoqvuC2TRa+XMCj^&$?F zWMRueL@^~8##Iiudg5)lkX+hV@@lz%P}z5w{obL<#0bw)wm8bp^`M~L<^%heoO0AG z6*l<;(f^Ih>Hlj@BcUX1WMye8jXbP!1# zY03BnOAe{_D1!SI=rEvpV(&`e6|?3k_N(l85&E#P`s=ib^Po=zItV$z^L>{IM}tdm z>@SP>B=)HKaC;dTUog%RE?1Tw82wJ8AP&HYh1n5Rc0Lo09iY*6=ue_41M3u+54{Me zpqU6>Oe8yxs{oiyE%F-g*W0%ix-o{*E3La_wnS4T`tD?T;XxtmXYMSgUr7?f zNNx!UuoTW0Su7P8OZt zV=lhvS3GeSh=dAf+|RJ{iobfR;4A$g6D!x=91&}d=${o}4TdOgyJvP`%EFt~dvT7r z<`rA5E6yv-uGoHr1`{?}N-k|Isn>X8*W{S5sKUXUD2P=~ZK$6zs97i^wk-eBmsDMk zS7`Gql+hSzCvQ=aNmp8*EHxXn+~oll|Y==4Q|F{t484O8j5e!#rCtewxms zWO)j(65i>Blt7N5XaRyzD8mO2mMQJc!dFIg9x zy=YIUSA93NYq#ZS&=!uR6gOB-4Cv$O>}?Ze?0=tUm;6~(Hnpo6ec8cSS$ylKdaiG$ zAh!=q^yvf8?zktK6}Z0(z*tM@G}ewP)`PGyig6|0hJV6gf1d*Fp*^H=8n%bv5Xp`$ z44~CAr-Ik1z+;R^T_~{=XvH^St(orheH1|c2smmGf{)P9bni|aA&)Z$N zRW&rDtGQCphb+o)Qn+ke1!wB&!gYpqb2D*;6XUZz@TKrA_1HXpOhr7Up~>b+dXy*Q z-M-Nt?@83sxLj+T#6zf8jJr}7{#CwUJ5E?{UTeco^csd>Z6@CnV*@B7A1T2LdOZNw z{0z~FbnipTC=+#mpZ?lIUFEZHAndX70Z-JJw>nMDq1ZxBZ8f!L+4v#aO*nv{s=!&E z%bnumq-7(Jx==1bq8{IbHRiuYO+Eq^R&6HRjg! zHWd7wRvK5~SsSyeI488FqT??NQ^LGj0VAQYt6}sohqFl~_gME0m1=Zy?GlzYiP60W zug>VAm$OsiSNI_{I7QUO@M18x@OG-S)&Up`C(6?ovN?>l7k#Hx?{8F~7nJZ3oS4@u zlhPXV(r0!{Xle+_6 z=YPS}INZVMJlh!1T(QocluVL{hyp?t23dgiMmiwNwR^e1_LXeoKTY(5YW(``V5_NJ z{SyXHVXw8*=DtG-0reuo>+)4>P4~I#J^Iio?&`u4&>ggUZ9sp$j3+JfE=w$x4|ke< zgipC91HlgdWfRs3&W-d})wT1Z`iMS5`2d$8tK&pCd7pB0ob!}C$`+K$M*eD#!6P4% z?<$=pd5R0|F7d*wYgP!9etXCz1jy(T=73xH!#3a>q9 zmy7T*fnPbC0u#OZ?Vz{2)VbiDP&y^tz(n6c0S~T+2sqNct~!rCXiD|q5;@!#Uai`E zr%e5+F_)+f5iDJJjg#=cvqN&EgQJ|p7o5a4s^KdgL!a>NQ(O=kjh7%dZp+Db@#vL; z-!@j$7k!&DHLEdi1|13XOAs6DQ?jg&u}u{Dee-XPZ*fYrL_mb6A;6OAAxXGe9r`^H0c! zUgyIS=fjyK+FL{dr^*6f@uXe+HdQ66AWm(+KAA0Y_e5+Ly9OqB*&>Hnxzj0OZ;`9n zB0r=DTopxnF`%^cWb79!Z&Ikyv?loV(Gd5f=ycV z-YVHaw_57z(g($Xa#)A^1)u!`Gu~F8w6G&4z-5M;P{Sx5| z*+wb|%S0dnf5otfOjfEkhfD!|a@j>|{)7usw8s}!3g;=kid?=zx=17$i5b)!pB9_n z-2Q#T^;~;&X~iM*3B~3=CfV<2t9OTghkbW~6~y{0SynR!L11O)+;jI^=UnQWmw%qX-0u`>xRW<`I_Cn$QAH5=7qCDknY?J={DH( z*4?y@z`|&^&}qmZMsjitVwMWnu^LOQ_t2*<8Y@5Diog6_bfKZMrLv62E^af!t7Tl= z`VwsWEhCah`tYmr7y@$Yt5^YeU$vGFsX3r#jTuNqhbyn(fG4~)`yFG!C6dDC=NSMxg=GSWfb8L8GX2buO{xOpI$Wgf3MbhhD zV8KMgs)df4%g+*~!T+AK9@77+ynXSGMYSDFVzL-yxZFwND$5gCx%cMrO~#wRMM6k8 zIR{g@ri)-z`;cB{KTvTh2;QGASv1u3l*+R~M>ZwBX`_r#r(THq_<{1S^>H3$c~;M> z50$!ayl$-&U-om1^g4QwY;}|K#Ss|jgxq-h)eaK;T6D^rZ}!s|;aFdMq1amb?> zF*!>U=S}59)j4>X^cAh|6N2bP;kBFpMY=}KbF!v|O*f>*j}Zc2M!xW;mOFDY)CLaD z<;XaNhuqX^y`#H|UQN2uKgmy({Cp=ryXEH)P)guG#VC=kFTdFhQw&ai(0bc;vQ+yw zgwTCy_dOsdn|)?OVF&XxW@YeQ_~&7Dj3g}7Kq_ihTc2o-!#UkJlL|6Cx{ONVq|=8e zRIL<>dr(*cj(Dbmy>oc4m+!vT#;k?%z#p8~n3QUhdzRcKgFg0y8oKcTH#p6=c{W6Gw1gciU%0D9Kis9TuCaQZdN(hpn|&%w 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⪼Iw2h{b$OLerL-x#ys5)! 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

    {9I4m2 zSTt8_Lze8JHbvRZmugt+#;Bm=_%$^&ttL`^F?jHUl~ivzM@i%aHqNLLlNj(}vZ{u_ z`WW-6uV*f5_HvHd0y&Q53@-pURZyMilaVT-p}A!;ng`{EP>@%$i&gHD0C^$8eN_h7}!fdz(gXV2&y(Y4@(ZENXQLClrZ)x7btmX?4qF) zjTAqY#}pqqarlvSAPjq07b)=;&Wc5AmT(%O>Tqa&0+#X^MH-{2waPBFX@Lx)*FA-K9FC!p^751f+GN?b3^lK z1xgNe1`7wVA4Ko03f4wYnas(pE+U`;MmaG(k-;F)bv2B@gA{XYsuKACk>1~PML zFuR5|xaK5+ z9>@pQ6jj(!!?p0(+F)HBMyF_m3Z6yfAd3bt8mn4R8KrQMJUNjnq?;_N9HhjN zmwvEmiVcKBwoM_L;Lms^ppNnoEfvr!u}qa6HCQR&6s2_;yBpSvdquc91j!O)Mv!bT z!)0rJ;ExO0Q060H5d!!-#bisnGs*%>TYGyTR+sHS00F1bqac2XoZ4ln$g#Kmk7 znsp5zW}~+z322Q{t0;jYLAyjh8R91>M?xYvzz=1F8SiDBlcY)(RCVFawo-z0G*;l< zb1W34AUYW?7ejV-kro1&qf-s+;K_~r(SI4<_B5@mnHb@9K~%{VX69C%^b`5knE+;k4k+Il8^u%xs(Hezv zFcexL-IP!3c;-n3qZNU8s~a!;_MYWR`D;Ex<&Zd2Mu@6)M4qT^)sT(Kx-6|On>n*o z_(CtG8waLMxO6s0QgX>rVNRll*@i}WxAam`Q!Om*C#)0?ssRX?GyG_?j)`zFKmAnI zOd=7bnGhuip3&XamLqskZ3<#{AeO_95=x15rN9_fICX*yBtbUMh8Ju}5^VNjt|;bB z%w)L1NkU>AzoD2VVvfC47-yik^G#P;*`ax=lfTtfYpMN{I0bZ({z)=5z;&^j8g8JP zAhO9zPZ9wz0NXnbVExB|YOLT`5Ozi!Hwr`0WVx6k#w%f%5LR_L%p{KtUIe4civOax z=8qATBdhzgn5Z8Vi{Qp^bL+Bx6hTB&6T$HV>yl`iiqiM{-qbbMFc%RNmf7f>`vI5Y)k-oJV&`055Ij zYA+}OC=DSDxn53&FVXOE>lr5$7_XM0*J2>;T;74R2&M|N61v6m{S($ja1ET^134~o zeymGolo2RrIg&!CLMj$0Djiu4QztkjCpDR9)%;3TPfPLU8iq`-6X78Va|8~-%DGy8 zXAiUIkFo+|bdQ!@uh)u+E~`VA08B#BmYW^r^+6WrI2&{`y0r=#1$0S20&(ID$QG&kZh zepI~;L(Wn$-5!jCq*N>GjMMQaG}zdBq4!)RVWqe!7O8)$Ies3p8 z<0O-`xiG*sb`y+uJFg^f44>UNAf&s~tTK4*q2{P+X;?}UfT~R5l`PyLSGeW@H0J2( zqD3NAIxcYW#UQ+3>a~kj58eG;WHg8wt3{fysGDr-!EKb~5{)*r9HG0`)GWzJ076j{ zR2zXYR5H-P;qRm7;jm)BIRaM$Bak@}LPY+c`Tzj4KQ!J5V)scf6ynel0|Y$4xxn~| zf{_slMJD)wM@zHi-E1)|o7QE`4_>krUO?RJE~&rBD1cyLgT25LrgT9e2{j)qpV9gN zL608*8l|$VlIZNXO`?-zB&HgBpcp0w%!yLgK$vy{dP3@I}JF2idHGq zA=UIrHEmKYrqU*<7Na}f^4ta#=~P%}Xp>Iul0r>VXqgo1!JAQ}ns%uM>yaj@u34(< zfyD)>u2rgACe?LHiFPT`BqdhjSWv>dA@Ge!@fv8&)WoDZyj>!ckfMoNsRBpdSg*uu zB2pDz;Zau^k)n;#?2gU~s4A_5A_?iWH)8EL8^c*kH=ej-$25zW*HZGpVi%95)^6y4 z0l;KQ4;*&F#BO67z#f=S=q5i56Lc{KcX4N9f?;7aZsHZ%@WG~q16Y-|kq0b~z&6($ zY3^KUNf7@yY{n*Zp0otA_-HjAQbmQdC@9s;#V>MLE5-0zAuWkX^X5s5fK^k6hg4H7 zEs97>8t@(sX-NdrFw?X`jW(7xgeuV)HPg`qql+UeW{;*wFb9!=7(JO-32U?M|7D06c zP!G$Y&4YPE)Lqf=kUm}NRdnKcr7G6lG(iXEPGwn_ViAQCVt9~&4335SuI$z>62mBq z%?q|H%lRdekd{-}Z-bD6e-y5?Omso@7sZiLz#Lx-<$EqU9+r%}nlNKD5+=1%rjkRl z5Zt=Nuet!6Hf7e#nKNdxqMR)k2X9xn#?^ch_R4rNC90F?rCu}>}g~ zk)p_f?|nJDlH4+>EZF!!n?%+|VVsMaH;nnSi@$Qef`o!7B3Eg3AWsfz9yHTJw5O+q z9Zyj0=_+RGjakt~D8-N)J7~z`OMu=BAm=Ke2njSJd5SJ6H8*9NmZcxmRb*2*YPQ&T z!dKy}3sRd!XJ8fv=rWkF_~!hh9B7)P^`qF-rmNXel)yN;GPTP4b6kamu_}tJ;!m40 zecG|d&peJ-H&aF-WN?Z>os98;YuFj;ZH3~qG6bMXzz3lX%!gKRtnig~oVGKUtDm=0 zVi{X0ZUYdL1?_Xd05x4)I)(;)cU%7y4B#EK5rc3ibWm#6^iVHpBii5?49}SWfFFh;uFtML=fxfNDDb zq~VEZnmmco#o&Ar~+C^z_r|N-(7dDN}dzpzQ(a%KcMqXOJPu+B!<3 zQCl3_Y{)%^SS9fh*~psBx+P zV$sY#po_B(n)l?x02;;k6v#SQIv=7alp>}qoN3B4ujb2}D?;_`$2H`X@~+KTU|2GQ2SvX3rT|~sbV!L>7L}k1X>!SKxE!_vSdT=P(9G=NMjf|EK)Y<3Q<^Y`p)HW%1K3f85gnRI zC?4J%8w1?Eitec^fn2&q_GZR6)Q2V}FVTzND5T1i z7xZc%yBWk}z>Ht?LBa|UhlDEPQ2^WTlSO2#ddN-?$@_S3L8_R96zjI^xQiMSF2B$f z=jDM#WF8jeftN-X2jvPSaL?s{xT`}#DUJ_DWQn4@3IbXr5epnYYua@A6l8LM6-9X> zaaw6R`mSaA4@_SHRgor+uD!XI#tE3}{71i4hig1w-v*2-osEDNDu`*>6 z%#M~-LW^Lp?}7AD5J$>V$G`+!NSMYt0?kKg8R#Cv$OJh>lT)1i7qqczZ_<;FZ#axbT^#SSk}W>lnjY+L~#O zlG_6dm1PE6oPON-!+V;s55XlEjBF@9CF62DmS9Fa=1az_7%490K8Xv}hmJ=H$%1i> zKSohrFmjPqD_LFO^pWXOR$qigwwSeeX$4PX5Ss^-Y$*AsN*i$+lny59F4k%W>ETQ8 znNnLjrLwYq;LdKbfD(oK4T^~v(X zN@#$-OZ@kqOYKFGyMT(&@G)9ZOrpaE{@!yf5;<6Zp=cbJwH?}gpbMmzx6ouMrrKO3 z5`2IHiwhgR=%p}!%P$_0wQ(%-+Q^Q6Q(!L6D?4Fi0~>vQ?!c=qB){%~H(c1>K=Y;) z$^!vrybTqN)xa|0bw9+R$~`mP!vx1NOLDn224=|ip5@&)4IDIN^R7ULAhJw~m%n@} zqL%xxS^?!i=?655VN9aw3m~Jf4q8}j!SVs2IC!NCjZ zmB0j9H|)hhN+lb4$FU>qdVy&e-ed3c5YWj`FwD9%aXW*Qx7Hro;j4D$cs%ULp@%g6 zgyW`7nKm8&u!)2fjuK5yo4QAqbEuS)9*N9FDJHGB%vLe~L(3%C1eTMoqE!LJ7yQ;Z zKfjeLU1_>ZfTj*iEOqUN?rUl;NwTK7Eott(ho|E2)u+1M-cr&mg zL7IYpSeo0P>ds5!ufUKRZcht`Q=tFh$*FGXlvKAV&Fx5YfB0xY3Oxzj3*?cJy~ecs z8Pm$cm{uOf+!O+Pjd^KqLz>%|<~F6d&8cp8DuX%{U`lzT!bP_$EklT&5)N0IJB|On zY5ea^<9}}&|9jK;-D22-^$Um#>=FX z%}2~;TI)pP7_@<~sM%;LWlIRz!w-_LEk7-x41Uu2D@cow>KrORtVBlklbXQDT_Z~^ z1)C+7;xnW}tXYPf)?`u%0DI&aN{f+7QFf)_4B^a5LiI%Ced98tEfFP73d9HGNljP= z21Fc2Kt?JV9$AU7mpmxh9<+;RjXt>Na99`sX8`ZP(;F%@tuEA>*`LJH;-)#%I8syO z{-aRsO4X$$#GKiAN%2)$;2`+fC~JNyH5Jgp6i6%fwEW8mDiedyP-qSG1Z58olOI_T z)6!3K4!iSb@CgsuPYco@nH54x@#OhNs9XS9SsryyrLQf z$o9*_k2nw?FvU~UI&~^n|L0w5fe(_?5f1NzP!fZbltsT0!hygrBdCo}!&j2m8m1OD zIK+u*@%IPPQW}DaIG-^FM0}z`o}%C2u#BrEKZ3Zt#0I9%i3;H(;!KFAf+NY98YvYR zJbx((r1PKdCc-HZxCcku=igLz_s>O4jEKTW@kc~_U}UAR2F4gVB$M?_pP{LYd=yZ4 zSDs25>2Ae;fG6sS#~2{||G2l7cct92J*g0~`HzktFJgg~`VK|GFC9E8-Gkg?Qau^l zoH}P;TxlPT!wvpAPn{0Ya*s9{jDkD0|EAKFT{7hi_Ol|3o+FAe@E-6Og=R+Oh0#4bFXDmwr;lmnJok(bPD4W~S0Q977Zi*InEnaOY;qARKWg|ZQ+ zl+k-fOkva_pbarv!)Z(VoM?J)8Guj<4+G$2^H%bZEo@)>h>v}V_g{!}kXRkEJa~Dz z{|hCcCHdb?UE^a2=zoCC{{oBDkoV`4z0k8~WJVU`?3kH|!^O*tIkb;LTX_y0V{|b_ zIo)GNm%A@2wNWm$eafc7gYw)bA_qIt!DaT~rZzxXj&y_@fXr~cj~FiE7Y}cwB{dTK zY`Gmt{4Wx&l9!S3r0su|`1|-AS+X)VrKLsWDQoVLK?>g^i!}hYLQLRJS@{kSL-rQ) zGdSi*LREH#A`iro&>b3ABu88f8DnUS>?G7IrUr{Cif}5{D7#c%(tyE|(NH;-!mRd` zF=Qf2IVsP!dW{AwB)os%J~Fcp ziKe8q@9}xe6k-R!F$8}pjdBRwVFXhK21iTF;^4@`3QeUrU=$fm3+Eo1djwEg9z_m@ zNkxq^O#ES@WtM&#tDKISdM5thBX2qz0-=2bWs36rpU$o5<_V;8FakFtpy6xu)KsWA zvK0wMQjiFR5fKp8cmQOwVqz*LJmshyOK~&L{rgb}YE%@T!JiubNFX&wLqr-pZ3-QN z!0>{FWV8r^=OCblKQc%msl`%!M)uU=r$eBV=0%j#yi%s5MR!`;%1GxFbw|AoQ%XhvPXA!6E%+;zQsG;{`>a z>FvON2Iof^zcd~O#~*HJHhN0dm1im~79-V*xim@#2g<_2$h`zsM;KX%$-s>0=?J6k zKJYDaaE>!FeBeAX3m86Xax$B$8$DHl2hYJl3O(Q>$AQR)Qi6C6KwiMu4{!kD!|>jZ zL9(q z{yxLnP^pj@HeVDWJ&y_zIgFh%2sjKRfdx;5J;=rAAdmuNH}hj|AsIP7^GPQwCe7)q z5d~BkYuK3-5Yt;pN`gZ;h|CZuqY^Bzo1R_<0~rXz;y_Cw1%2rJr6-pXeJBT|Iuwo& zt}(gakU%vPOrf3`JfIJYr-sT@(%V-G@hlEC{y_(ZUlqg0Jm{IoOfapCQxFhFZV@FV z{2)0Fc=}=jL%?E|2~~8D1XhyK;&30$JvfvZKO4S+b>N!6N2k%N%LAWRLJx{9CzGPQK~Ac_1B1ZBxh7B4j;gN3O`qYwO-lFi7-7l4m1 z01Fw#vVR^~a-@#8BLM_1MiOo0xcfdIjy$b_VhEW%0N_BW9w`5eEa>$5oZLKv-e@vg zthW3D_HqJ`m(2C*{Uu*I?C>K3M;oP0{Kq5_EeP-VDkZgm9Ey!kb?(OBJrc!K=(`g-=;z&{Jxxtmdx}zvr+L|T2|K7T-LH|`HI%FR<^Y(-lP2N z*nfJRU1xXq^y>9}=d9AN?mzdu^Dod}c+tg|eC1MoS=nX!%dfcds;^#s&9&EEuh)MK ziQRDH*KfM{mRt4u+w|X9v-X>M{W^GlOXH%9f7Wj(`?lsOKyrB5cLcv|AmQDfEntLx zMCXn>@A@u}_PvcGj6Ukwr@>jMq14;ELyH5r6 zyLRjKd+vYW!G}<@Wn~XPQugR$KY09!Cx576==D!Mo!+YJpV2@2oQN_U_(uZL^8!2o z_`(4G`{w=QeT#MgVo^B{_W4QKi-QHHhyC;buqf8l0U&>fhf3g334BpXpzNhD3MYs7I8*|M zO5jil94di>SOTOFqLbL`{`3S2a9EnC`nL%1GXngs06#0he-z;7q+FHGdjkBNWE1=~ zc#^=wF)~but&%ZE2Y}!X>CBwvcoNSsA+1gUeo27;D!@Mz;Ex43A;3KXe3rn^N&(K* z5jUKNJOR$t=ST`1=uIx7YlHqfKw#Eg#u2I3{!$sK2$ggOes_Ol*)0*f2xj` zA@}FJDgFxnJW2CE3p5q~8rh%Xwh3^p0JjTpT!6bpSjbC{0Cx-d>Ji|x1e}!ue3pQ- zQhE7~yjFnM3-AU3zC(cT6yS{l zyjg&^2=KiEyj6g=3-Emcyiq3 z;9-Nn!v=we4FV4v1RgdBJZunnxI^IK4uOX|1Rm}Xc(_C0;SPa^I|Lr?5O}yl;NcE| zhdTrw?i6^qQ{drFfrmQ<9_|!)xKrTaPJxFz1s?7cc(_yG;ZA{vjRFrF1s*mEJZuzr z*eLL@QQ%>tz{5s?hm8Uc8wDOV3OsBUc-SoPuvy??v%teKufW4rfrqUE4_gHuwhBCK6?oVx@UT_jVXMHyR)L4D z0uNgS9<~cSY!`UgF7U8j;9vJpTNU?0uT2IJlrSn zaG$`#eF6{n2|U~<@Nl2N!+in|_X#}g6nNMv@UTm>=by| zDe$mU;9-Zr!w!Lm9Rd$K1Riz>JnRs7*dg$+L*QYDz{3uKhaCbB+XNoA2|R2Qc-SWJ zuub4$o4~_1fro7Z58DJDwh26J6L{Dp@UThXVUxhaCV_`d0uP%69ySR)Y!Z0bB=E3F z;9--%!#aV7bpj9T1RmB2JggIVSSRqXPT*mkz{5I$hjjuE>jWNl2|Vl)c-STIuuI@! zm%zg=frniJ54!{&b_qP}5_s4p@UUCpVYk4;Zh?p00uQ?d9(D^n>=t;~E%2~g;9`@NmDt!~Fse_X|AS zFYs``z{C9l5BCc^+%NEOzre%&G7oGYgf;$dtg^K=|07lnepG-T6W|{R@Z$pflmI_1 zz|RQqa{~M$0e+srv`?YAig6{Gbd!m`^Ugcl(_~PpE7k_fpZtMH+mG z0Dnb*FBRa+1o(0RzCwVn6yU1__^SeZwE$luz}E`!bpm|70Dnz@ZxG-c1^DX%e3Jm* zEWo!2@T~%Tn*e`9fY%7{S^@s10Iw6^Zwc^v0p1|M-xlES2=MI!{5=7_TY$eW!1t=~ zgGEoN@Gb$KKW*(arLJoQI3~ag1UMnUcMI@60(`FkZxi4h0{ox=KPkY^2=J%VHQwIQ z|B<%PtbP7b{|Xf>ft4~@j zohMx=T_Rlu_m$Gs(sj}e(oNE>(i&-b|D?y6zU;H+0`*?)AFw=68+(W&^S_m^dOnrqOeYJkRKB`}UTbGOUr|QqppQ&%sFVnZ`+w`5F+pX`@uhyTZ zzfgY(OXV{CmHMmo*XeK2-=x1)zXn(RHt28H-=*KEzgxdWzm4JS)bG|mpnq8ZnEna< zQ~GE1&+C7pe@Xv}{x$vU`Zx5y)xWL(gZ@4JpYE}{ft)eyspMl^&cvL_Ia71Wa%ScnpL1f)oSa}zWzO83c{#Nycnbdi z56`-scusxJ!koo9r{CH=CtIj$XS`wk#jbq)SGio&gz_VbI#vSy8o@Z zxG?8paQ>B?%MLLAR|@pMD#OXl*5zz~|LyqRm9sJDZUJYwWwa${ zTh7j$-8m2BJe>2`KE!__=c$}$bDq!n3F5w#^K#CsIj`lsp7Tb|oBKfPt(>=Wevf$X z=Da7zem{lE2RR?X{fX@NsT%fK&cAcm0zD(sIkZ&YkB?zQ@y)q5;M?UmE;X(<*OyzO zx`xNj;kieSFvjrc?jP3Cx#I`nYEtf$+-bQp7{;vJ6WDWh?#a0ox#8UE-1*EM&0UaN zpSvjc)Z8MePxK8y_WkrFy0sf>p<~0Qo6roe7-#@-2Nf= zz1%-DN*|62y^-eSz~X<*^7QxIe-4qi&vW+hngI-eA=7@=STwgP7i6yd3PX zg8$F*?M%t9C$9)@f8Jp!z6ZMw{@dvV^2X$i`~SKG2CspMD4WT7Q}fFHXUb^i{|u*t zm;Anl9zW{&KQV94sM8d47d)WU#gqsRWl60{^^2%bjS9t7D4kY3OGpF!7U!Lo_vO6C zyymp<ccOoq69yt~Tav&ij7e zmb|Tb+w*qj?aJGe_dwo5@P8!lvAoCgp3HkH@0q;k@}AH8ao&r0FXg?Q_iEm2dB4p2 zRo)wUZvyMBytngypZ9LwdwK8YeUSHI-e2=R$@_cWKk`1y`#kSId6GeI$Tb)YCWFOb zGZYvc2A9EOC^Y!A1IUal_y-BgKpxQJONPS@0mD&-qYdK>6AY6KlMSVYX@)Yxv4&ZO z;|=A8*@iiWQw$Y`N<$TN>gO413{gX!A#SKQEHo@OoN74T@MXi9hNXt)QQ>AlHir?g z%+P9RGjtld4Sj~yhVu*;8ZI$hX1LODwc$F$4ThTxw;I+M))_V!Za3Uz*l4)hu*I;= zu+y;H@POfA!()ag3{M%JH9T+liQy%~D~8t$uN&Sl{MPWc;SYxQ41YF!X!zLhcf&so zpBwhVK5L%QWV9L!j83D+SY-4Y4>JagV~pdB6OEINQ;lWDna1OdCmQD%gT_kZT;n`r zt+CFSFfKGMF`jNr8kZVdj4O;QjUC3bjlITI#&eAq7%w(nYP`buRpYhBuNl8?yv6tp z<2Q}#jo&feY5bmXv+*9|R^txiF5~^ihm4OJA2A#K#vdDhYJA!FbK@_Kzc#*U z{GIXl#y=Y0H~z)=SL5G||1kc`_#dOrlxs4YET(*u!{jy12+O*fiuHr-}gYxB$;!}1{mD6 zneAqm*=zQhOU#Fxk2D``9&esxo?@P6o?)J4KEXWOe6qR198NL$UTvOlj+z&k>&=VI zr<%_&pJ{F~FEh8A+svKjZgZb`wfQ{rh2~4lmzl3*@vb&sXTHIFllfNj8s=VS-eA7n ze3yBn`EK(T^EUHN-0*n7{IK~k^AqN$%+H#iH~+-^lKB<$Yv$L@Zbjb(Vx>p=F8XbW75*)Y4*EVOeSEu$*n_wXCxATh6y!Xt~64 zspSgGRhDZk*I90`eBE*j;!DzPmbI2|S-x$#!}49rCd>CN_gc1F?z8N%JZO2u@&n70 zmZvSxSzfTbX!)7tRm(3dzq0(s@|NWt%e$68Sw66QWckGMspT`vzb%qA$7-;etv0LO z>au#RK5L2faO;uQqpjnuldMy$)2uU~?={PMf_1j_WNU>rY@KVJXRWoytZ{3Db+Pp{ z>z5JUXl=GGx1MEfvvyj~w)R?ASpJTO z>+RONtQ)O&TknAe*ADA0>;2Y;pw;%c^-1WbJtym&{n+|b>&uAobL%gyzqY<H&A6x%s{nYwT>%Xl3w(hm+Y&kY68Re5FxQqgD))uoZuqA8_wnerjw$p59*pjwJTa&HDw%pcgTWM>zb=uBG%pO~xZI!LxcAo75 z+eNlZY?s3<@s~+EAp%I=jBK97vv}M7v`Uue@1>Xe`)@*{FV6~ z`Ca)v`K$8#^Uuq_ApfHLOY$$vzbgNl{Oj^>$iF#%P5!$4_4(h)zbpTH`J3|ZPDzXN zaZeUM9-{ni%ilR94&m+|7M4Oa{rN!t!}*Wx7lm|+gSnqjQ+kR)&#LahVrgN|1OF#N zoR{)nf$JCfzY_d3Y!P~sVf>E${vN-795RL&`+Z>lC2Neo=Kn4KANl{v{|^h*733CB zJY#`{Jrx@H1rFwR7ZkE*alw~T!WF!cK949ks$guvgi)b2SlY)Flom`cI5s7n;|j_P zPAWJh#cwbgqZ<|~2>+K-9^HKWZ%~_C5Gj~nP+JfySWu8CXed}zu%zJhf@Hzcf|i06 z1uF|W3eGO*Em&1>Zo!2GUn#hv;Oc_w3%*`(Yr)!r^#yknY%I8^V0*#tf`57>{k zPq0t6PqQCuKi)pueu}-)UTv?j*V*gsi|wb|&$Kt&SJ>O^UG`r4YWw;2i|v=$udrWb zzuJDS{d)Ti_OIJ-w%=<1hJCGloqfIi+xFY-ciO*e-)P@#|Gs^TeXD)DeW!hweUJSC z`$P6e?2p+Ww?Aor%KnV~Is5bWAKPEFzhr;e{;K^o`!DUkvcF+})BcwIZTs)-@7mw9 zzi;3Fy8B=hXzV{1qetOm`=|EL{txBpKmUjFGJ3Tk% z;||ANj_)}(Iqr7cbr&cN~9k{L%3z$DbX4aeUdbfAold9Q>2(%4i=8FT!<b%Bzo%3tX8=W^fZ*kt{T;u$v^IOgh z&hI$yaNgzoo^zA)Zs$GDd!5^yJDm49N2@i6bao#Qs$vQnd_U59(D|_Q(P5P~ z@6-4`hwlsczKHM7@O>5EU*P*Ie1C)QTliwHiQjke{S$L3sea)62<}gupW^p3=f5e; zm4mA&2A7#%NKp`nc-m61?JgJGUY9S$S0qt_ki+pk65pfo9gpuMe5c?$4c{5~&cgQu zd}re;NhjmC0^cxmDYU9x^Wl!V7T~wuwFtkby3WAwnXV@M4*#=^VYj;4T%E3NIcA@0 z^@wN;KQ$5aJl6%Ti(HquE_Ge*y3+Mk*EO!|TwinD=(@>ui|aPm8rL^n-*RnmeaCf& z>n_*#T$@~XyY6w_>)Php;kwVY+jYO|LD$2sM_oT~J>mMH>uJ}st{=HxaQ(#fQ`gU2 zueg5h`i1Lt*RNf_asAfyJJ&m|Ke+zr`jhL=uD`fGa((Rjo9k28KVAQF{oA$IrE}-F z^V~+a*==>_yX|hL+wJzci`>QT68B;5Biu*2$GFG3$Ga!Gk8w|NPjyds&v4I_-#2%h z`vmui?vvanyMykKJM5n8j=1N$Yuz#Tf-G;O6Z8JXhZF8a?$g{!cawX$d!@V6-Q!;6 zKF@uT`%?Fn?rYpPxNmWE7ht;@;uj<9^uvxch1M^X{LzUv^aPHq-U&WqGyU{x@V^61kXvHpeO8!cxpWhJPn>D zo-;g+o)%B5r`>b5r_Zy>)9*RYlU`yMcrNi==DE^ywdXp|4W64kw|dri)_FE~Zui{f z+3303v&FO3v)!}Pv&*x`^ML0e&m*44Jdb;x^gQKx#`B!#1<#9~pLt&O{KE4q&u=_$ zdEW87>-m%C1J6gEPduM__98XCH`iV3`oOYg6|Z+PGI zzU6(}`+M)Z-uJxkdq41g=>4nr6Yt->|L}h1{oMN>uT-cn%q=t&nhGt2w!(r!N1?0G zQ&?E&EA$tBsqpZ^K;cn^7@G|yZ*jm_L z*j3nD*k5>I;U$Gv7G7U?bKy4%*B9PdxT)}-!fl236+Te-Sm6%~pDlc$@TY|@7yi8P zmxaGB{B7Yog?}piOW`MlpB4V6P*;>&WGS*2d5emRjwm{+Xk5{xqSB(WqFF^J7M)yF zQB+kluP9oSC|Xo>T2Zp7rRc1p_M)DmbBfNx&Em_7t}42==*FU(i@s6xt)g!ieYa?H z(LF_5i*^+4D!RYup`u5N9xwV~(KAKQ7rj{Ya?xu=zbbmO=8fECZE+;;B)!BKA*3|cZ6?@Z=7$UZ?bQyugrIxuiST%?-XCiSLKWNYJ4$Y!nfFW zn(xcLMqjgUx$i7ryYFmYpReC{f$w79rM@eCU-ez<`KUn+jJ_?N|R6u(vc`{MVCKPdhyUB%p|&)N|{OkSS_TTQm)Bj!nM*n92_x)S^Tm9SpJN>)- zd;AahAM!uqf6V{5|4IK-{%8Ep`Jeay*#DycCI8F*SN*T~f9d~~{|*0}{(tt##8y&J;wW*IcuEROd?k2k zY{}szfs&(2jxHHjGNEKr$>fsKl4&JnCC8S`DmlKSykvICoRU*YDoQF#s!FO$=9Scx zL`&*Q;wAMZ3riN4oLX{v$(KvcELmF8T(YcWMafwuZ6zHgT_xQmy(QHBB3XhUAVDyZB`6sb10pJB6pR?boCBD^oIn9{&N=6t_0_l6 zoNd|foO{kaaYHzE(qjqiW zUA6br-dFoT?L)QeY9FcHP`j!2@!BVApRRqj_W9ZuYhSK?wf6PeH*4RneYf`g+7D|# zuKl$3^V%x>U=%y1G|cQ`6Jc+ttU_ z&$WkZplgt8h-;{8xNC3MDA&HO{avG7V_oB26J3*BQ(OnRrnzRgX1V6L=D7}a9p*a1 zwZOH|wa9g>Yq9GD*GaBZTuWT1yOz1mbe-)w*L9xj0@p>Z6|PHMm$|NRUFEvQb)D-5 z*G;Zfu3KEUx$bbSb=~E<$913U0oOyWb*@KT8>+q8*SoIwT_3tWc75vl-1VjFYuC4~?_EE-es=xp`rTFIZtC95-NN0<-NwDSdrNnF zcL(=2?(N(=xOZ}!KPc?>xdZMxci0_u$K6SH+MRXh-9>lV-O=6Iy^FhxyQ{mqyQjOi zyN|n{dk^i)w0wfj5wkM3XGzq^}wHuIR@zj@ktw(zv~Y;E**=Gf8WGXM8_0_OiAPt=p} zq&+!L(Npns_U!8E>gnO><=NfS*VErKz_X`kuxBsNFwY3jNY6f={X7SF#(2hgCU_3? zO!iFm9PF9yndzDBnd>>kGv9N#=Sa^{o})d-c#iWN?>W(PvgcIKX`ZE?GdyQ`&haew zobS2NbFpWo=Tgt*o+~|9d#?3d@43-)vuCyER?qF8HJ&>?cYE&j-0ykN^RQ>V=TXl_ z&tsk^JWqL^@jT~w!Sj;m70+v)H#~27-toNW`M~p$=M&Foo-aIKdA{*{=lQ|&ljj%D zZ=OFqO}x##&Aoqj@c-$8mfqIhw%#qg?YvugxAt!9-QK&Sx7O?SdcA&c&>QkbyfJUW zoAPG7Id8#R@^XM{ycc>`crW!{;l0{>o%crXD(|h{JG^&# z@A2O6eaO4syTSXI_et+F-sin9d0+Lu;eFftp7%rVC*IG!UwOav{^0%D`E0&+n`AMSO8z%9r&Od}UuJ-!8u0eBFJ$e0_ZVeFJ@ieM5aC ze4~8(`9}N3`6l`%`wsF=_s#On^&RRv+_%7YwC`Bo@xGIMr}~!q&hjnyUFcisyWDq` z?^@ptzMFlw_-^;D_1*2e&-b8jo$pcKCf^gjr+v@)Ui7`sTlu%~Z|~p9@AmurL4VjE^C$fof8Jm6cl7V<@8a*~ z@9E#&-_Jk5KghqAf4G07e_#Ir{;~cE{z?9+{%QW1{yF|b{D=9E^e^-u<6rDQ(SM5n zH2*UHS^jhV=ld`6uk>H$ztVq=|9byT{?-25{A>Jo`S0~V;D6Zvh<~I1asN~PXZ={Afpj1jC=hUh*e9@mU`$|q;K0C?z`=nTf!Tq1 zf%$!QR1s!GXac!QsJC!Tp0{ zgA;>Og42Stg7boh1s4Pt1s4ZT3N8sQ3!WW3FL+V#lHe7=Yl1ffR|Rhit_|K3d?2_k zxFPs>@af?5!Iy)t2j339AN)A@dGPDt_rafozXzMvwWw=Tw`E<2y6x(As`JzZ>cVyL zx^!K>jy{&_I@fin>t5Hpu3z22x*>JL>qgb>UpKaHV%?OwX?3&e=G7fmx1erO-Qv2F z>Xy_kt2?{yyt<3(E~&es?wYzA>Q>d=R=2k9p1KF>*41sOd%W)Hy65X&u6w=i?Yj5t zKCb(`?(4em>wd2Ly{>7fMW{{apBa1VQ5k4*wEt8389lh zr-YV-P7f^$of$eibZ+RpYSs%v7ll@YE(u*0x*~K{=$g=Vp&LRsg;treTSB*m?g*_7 z-4(hgbYJL!&_khhp+`a+LYqR5hn@^Q9eOtOeCS0J_j2gf(CeW$>-+e2=)KT~#`?q@ zpNGB*eH;2A^mFL9P))d5xJ9^ic=Pa<;r8JU;cdd(g?9+=6n2F@VP7~9t_z35(QrJR z45!1{a6ViNm%|;yox{6?yM()jyN7#*dx!gk`-S%i4-5|q4+#$q4-fAh9u?j zye|Amctdzo`0?871=kke`IuIY-D_7 zVq{WeO5~u(w8)IetjL_myvU)E!y-pS7DN_C7DbMYERLKIIVo~VWJ%=o$g;?pk+UP` zM$U^|5V>J4bhkc8PY4c8~Uq_Kx<6_KWTj9T*)H9TFWH9Uk2~Ix4zvbpPn+=-BA^ z=)~xx=#=O|(P_~c(OJqE|()iC$N=Z;0L$T_tsIiQX2yBf2(vSM;9fea81d z^r7gw=p)e$(M{3EB}T9Gzl%?rywCiXxu5?pOaEQ{`2Ri6OVL*w$KhYPNN+^n{*NBH z_o5$~^ZVpK`W*lMh5tPI)&J5n|NCR|uatZn{UQ2u^tY(_Q!lX=v417Q|5TmUvCU)c zVjW`J#&-B0?ssj>9rMQgv0y9|i^O8FL@X7{#B#AhtQ4!nI>mO5?Hb!H)-Bc})+@Gq ztZ%G;Y(Q+!*x=Y+v0eMji%p0f7@HiM8ap^PJvK8oJ2p3VNNj%W z@Ys>Dqhd$Lj)@%?J3e+|?Bv*~vD0EpV`s$9ik%Z%9y>pFVeI1A%Gjl`%VSr@u8v(B zyFPYf?B>|&*sZbKV{2k}#_o>Y8@oUDpc$u!W9ws&#x}+ti#-v0D)vn5x!4P_mtwEP zUW>gEdn@)%?7i3rv5#V(#6F9C5&J6kP3*ha53!$Ozr=ov{Sj*tZx(MJZy9eLZyVnt z-Y&jXeCznO@$KU~#%ts5xHs;P2jii5Bp!<=;;DEho{JaarFbRYDZX=j*Z6MnZt))R zUh&=IedGP(1LAwe2ghq__KFWP|F5YTQT_kO_&!zc7e63ACO*#S3GoBtljBq42gj$! zXU1p8=f)3-&yOE&N{%$gQSqbW$Hb3|A0Iz4ezLJojh_}@8b2d`R{Wg!^7#4j3*#5Z zSH>@mUmm|Qes%oX`1SD{<2T1w$8U|_9$yo`Gk$mc-uV6T2jdUN*T)}?Z;U?{e&_;>Li;y=ZIiT@V=BivjqBh}9coY6aFcC7oNFtUB#UxH@rd;`+pmiJKFv6SpRAPpnDYnYcS~Z{q&MgNcU| z>l2SAHYOfRJdt=R@l4{m#0!a+60am)OT3YIEAdX^y~GEJj}o6GK1+O&_$u*D;=9BT ziJua`Bz{Z$k!X@^mTaDEnQWbGo7^JVF1b~5>*Th{?UOquYm@GzH|b9Xlc8iJ8A~RT zsbnUZOBRx)WF^@txpQ*YJQI@LC{MXFtDtJK!1ZByH)c1+c#+$nF$p9-czsYoi8 zN~BV$Oe&Wuq)Mqus#9v`)UK)BQr%KLQoT~Ur~0P)rv{|X_7VspC^8rcO?snmR4D zG<8PmtkgNF<*D;i7p5*wtxR2-x;%Ad>gv?Bsq0fWrfyEHPTiWiJ+&rvXX@_My{Y?C z52hYYtxr9g+L(GQ^+f8a)HA8)QZJ-lO1+YLE%ip~t<*cI_fj9EK1zL(`YiQD>Z{Z@ zsqa!hq<%{MlKL(6N2*D>S-N?;Wx92`ZF-AzyYyD+t<&44w@>ewu1&ks-n2g*Oo!5u zbS#}nr_z~pE?r2M(#+jTx>I`R^sedM(%sTM(!J8Vr~9V+rw63>Ob<@)l^&KJksg`e zC%s?#fb^L3xb%edf$7QVsp*5$)6+B4v(t0ahotAH4^JPNJ}P~5`k3@_>EqKUrcX|v znm#SPG<`<;tn@kQ<>~X&7p5;xuS{Q>zC3+p`s(zx>Fd)srf*KKPT!ioJ-sGF?4%q<>2PlKw6IN4iO-S*CfWWu|qeZDxy1yUbRZtuxzZw$JRCsm-`E-i$vJ z%!D$LOe~Ygq%xUIE>p;qGL=lH%+8rzGrMKFWqM?KWp>Z>&GgR<$n2RJoY^ZgEHffA zGP6%+zsv!dF`03h37G>klQUB@2WO^dW@ct*=4KAb%+DO2IWlup=IG2Znd36YXHLwV zoH;dfT4rhHjLcb?b27^_=Vva=T%1{%xioWm=E}^~nQJrGXKu{goLQZ@HFJArP3F$b z-I;qc_h%l=Je*mdc{H;z^H}DI%u|_XGS6jR$h?$!CG%S5jm%q_cQWr~KFEBO`6TmM z=8Mc%nQt=RWq!!~l=&s|Tjq~UlWenW^K8p(>ulTX7TI>$t+HEZx6N*!-7#C6b!WX< ze>Rv6Wh2>GHjzzbGud3WkS%2^*-qJ=v%6+@%XZ85$o9(ap6#3MpB<3hGdnoDS9Vx- zM0R9$pX`3w1F~bXUYuQ-y)=7y_R8$l*=w`cXK&2joL!y0HG6w@ zP4>?0-PwDy_h%o>KAc^jeKfl<`&jmg>{Hoivd?8-$i9?)CHq?TjqF?5ce3wgKgfP$ z+WRE?S@w(USJ`i}-(`Qu{*?VC`&;&pY?EBGT=QJZTnl|Tq#${b;|8*yu0Rh%XQ23Fshe1b~neL z|Mji6`WrRC9DAB$aBi>MFvAhKk>>yVn4_j>cSvr2?(p1^xubGN8~d2tak=AjCmMBf?$q3Axur&(VUDwM=j4{>&d*(# zyEwNpcWLhO+?B?Ab?(~S^|>2!H|JL8Zq41ETa&vpcX#gI-2J%+a}Vd%=N>gN`rpRf zW4R}c{Z#Im+;h1XaxWSEO76AX8@ab~@8sUgeUSSo_et)v+!wj8a^K{>%l(l1Dff$2 zU-SIW@V8t|zFEFSzIA@{e7k&y{I>ZW^0oOt`{Kz5^5J|upU&s=<$ULSmwfkp?|i@f z!2FQ>@cgL!{`s-_iTNq{Y57_CdHKWg3-XKdi}NStPsuOIFEx42%%7bUzNWme_j5D{7v~)`CIb0XrQK|5ClbmG`ZGTc*F2{eRx~ZvKP($N$ASewzP0|7HH`{I~h<^FQW) z&i|VKJzrC3TG*`6qR^_)rm%To%R>7?hr%|6?Fu^-b}G0Eo`SCsDAX0gg=isONEXtC zY$0DL7RrT=h0cXt3SA0a3xA$>_d@SNzrw)6kizi7sKWk*u~r#T6AP0Xc>b*W?@&_; z2Nk9jW)x-><`m`?4lNv3IHItiu&}VGaBN|5;e^6Tg;NSk3a1yA70xW2T{yRJUg3hm zMTHfGOA412t|(kpxTbJj;fBIZg;j-H3bz&RD6B2qRk){cU*UnmLxpvPM+zGXn+lH? zo-90Fc((9-;l;wsg;xu&7v3zqU3jAZSni!kHw#hzZQQl z)|8r-HY>F#wJNnKZC={4)V|cAv`uNd(hjAaO0JTp)|DP9Z76Lj zJzjdU^mOUj((|PkOD~sRExlfPv-Ec9-O~G|4@)1HJ}rG-`m*$O>D$uxr5{T_mwqk% zUaBcKEpJwCQEpXkQ{KG1Wx0L1LwTF>cI6$)JC$8!PuW)vln z$`_O`Dz7MCQogKwMfs}oHRbEdH^1J2t%O93ME`M77y!>VP>+-kd@5?`ye=h%8 z{=HmNX|5EtGP*LhGQKjg zGO049a!_SjWkzLIWlm*Y<?>i*_CrE z=T$DKTvS<6xukMg<=?UY{Ez2o(zMxT&0Dl=)w-rlTl38XH8opo*{-JjRvorB?}2Z> z!;U-E{;eMJYLVOH_4xzAx{&!rS*#{5pWTU0rp(_guF05x=#euUf5}{yPM!Z&mj5{4 z&b#dDoKu(ok56s4uHCx#=-I3H?tS|9>%Yf8?C5}jCS=c=nn5*#|6y!n!2g307_t{h zhYlM)V(*co_WAELu$YhAR~MceV3XPEJ8yJ)S8*1BkoA8EymF=3(Kz>f7J4;?qU4ehjEt1ul>QV8h^`X zIBII}tH!^%_cMr;44TACNIbZ#7EY5W?GUp0OmXZ&dTfd6)Lpz)*W4||d3 zXML&0uQ~Cn#;^JDYyP`TE^Kn{X`o}s8dQy6#}L12{B31S@T(qTwDxC~rSWTj@Taq@0Gp{uUt$yY- zn!d4rYv0FMnzgQe*1BruwQAyGAn(N7&K`l*`ht7F3TRsFD$8uOl|83*+<4ys?Y^pBSAW^_B5 z!(%Lse=Ezcn){^2bDva=Ut{pAX1-|*^G!8=jlr*)@z)r}Up0P>!LOQqRAbmjRpZwf z{HmGH8pC{6jbCH%t7ab!%Q&#^RkL5JX1`R;{aoh&_jA>Zr|v6^vuegIBKa9N)z2HP z^X+>}KWFLhEY0|6PR2)d+FBzSOS3O(e)dZ=pKa(foM>Vp^B6LQaK88t7alESFRqpw zGPiw(Elf_;^hY&&ziQT(YVIwnxet(UoaAT!!{!>mLxpFV@)~1T*M(tqz8h|B>a(uc z`_;F`*qXl=$%;p7&Vtd} z)^N+;+47S|``N>2%|FLz-Am?LdOItoZ0Yuv&RQD3_6NUe#z)(t&#GUvVqUT|?P^`x zRlU8XE0$)gbU)x6RpZyX_*Hu>-Nn)$TKXePrz}0d(p)cXi}6&AU)#d38oxdx;#VE9 zVs^K5!qWXkv)(5(uc=vN4(3Uuh57yybEqCFx{sl1Vup#opZLjxe~vlO#H(I!Y2xvd z|2ad=dB3Hfwsf?$`7UO25TCVl!P47WdOJ&RZ)umM{gw_`I$`OIrPmvMk2&ZA`UTM| z4et_tiKTC}biR%0zd5MOUwBr%ou#+8w9C>7OYh#cre?S~$b;@;=@Fv+hP#LkSbCY! zFNlAg;XR_)TN=N{^xoXGWe(c9*YG*f>l*0iE&l_eH&`*f&0i?(!e1$+&z8nNLi{fo zZm@LqZ>^em{=Ta1f5X_!s{vb@zm{wc^kasrL|<#T+|nzJ=I5Vn+d1ubH@sc+9+n<# z>EV{%$I@MmzSSI@$4tXnmYySemEl5j&@c4S;$Lm~(ds7;@#I`)sC~P@(km@}g{7~x z^yx-x-$LfEp{32iGr_BdMonMK6>t}RJOSiUkTT5?Y>8&i?+0wgMx{IZEvvhaS z^rf3=9w8y zxscD%aEx$})Eg{pYQ7Pi^087rUdS^l{*e;5k8ochpIs=QDm+-&-}vxP7kjA0Zzt_+ zFPtIeJW~_Tvp951`E;o_Py8YA^SnabYT+%yb;9+A%}x1aQxEby3&{`32gw7;19^Ud zr1cb3Ml*A&0%J*+uAz|#0N4}R6$e^j%l ztH!VAgn0ns_~T;#Ko=9L>qk5LDyWocL9bGUuW(`&fFk zrN>x$tm%WskFzxQUG;NMQ;lES!mk>?_8Grw{Ce&1s~%=_ovg39md3AZ3cqUnS{J|S zN#)t}#r#;J?_r>+f7vTAH8nXuCWQsK&2t;a81c+rqCJzqW;6HSOxpLTFbt_syX6 zll!J>{F)QLYW$iLzv>M}Yo9;1G=A+fe%1IjCw|rVH79=6cUWV!#?ss$wJ!HZ)%b&Q zUiek>{I8m4Y}NR+E`HU|8m;H`t)=nnx!_lgU+dymjlY@n2fyk~*10@p=@sVMX}c>e zjbGcsuNuF$gZQh~`O%ucm6fx#rSWS{{HpP5PW-C*xv}O)YyS2oM*F{&rSWS{{Ho8g z@}M=(4p!YAEsbC6;#bYj;k7?#&EvD``YnxL>*809U(XT0YJR_<`O%s`YGU+!W0uCR zIq|E;uQ~Cn=63{|AFcVbCPwq;ERA1t;#ZAdbK+OM+{%yE{2fh<=I>-_{F)QLYW$iL zziNJ$q5Vf|{;noQ^LMi}e$9zrHNUUXJZR0+$Ew@c()hJ5e%1UwMf0FF&mgPrU`ylI zy7*P&*K@?Ln%~1{&XLBi=ZMz2XpMi=>JM7$j<)KKu{3_ogI_g%&52+2)mDDA=AUF@ zv~QCwjbC%(SB+nD;#bWcRn24e$m`He&CmWU-}T~S?P=T%;$uFm??&-4N7T1Td|W5> zJtjWJN_~%uug3JNm*^&zZffafmfpams{XX){l zo?z*TmOjwZ%t6h`98^8U(o-#ckfjf{^fXIPw={EEpHI>H^M)A>Vzgc6yK3TfP26V1 zFST-_H78oah2zX75vtU;FUA70>-r^PYk>`L4Enr&+#g zF4OKUgqb*>VYPq8*A&CBnIWI|F#i#o{DU~k+mlb)Dww{IGfi&egH>((s$qRz6O%Xf zIhvXn)m7V+m5iT*GSyYvl=*9%L)&gn+s40}@pGsq4h^gR&Hma>wJplgzc#&7pPp`8;{}89eOscgQ(W z9x(^(E4GrKKjY_I;Xp&$fb;|3AmLyk=ZW8DGgD_Th zZ-DG_)(Ezit4%%P)n-lEwzkRIqCRnytF7g%HOe)g+8VDm=SKaiZLYJ{XTCDWm`kv# zO+M9j*>K`ae3d31YP{;IZN|*D?Hqecjw($Ks5w+uZPN~OlJ% zZThX+E}JLysxa5yo~Fkv(Y>rHjlHf3q!=b%hA zq`$iuYTtWUx|gNicQM)%Vr% z)%Vx()%V%*)%V--)%V@<)%V}>)t`gqYj_?y&eijfYmheQ#lAq9YWl01eyXN_s_B<% z`lFhDsHXj@HrJK0Vhn8?pKaIoLE`KCA$EOV#IEm;*!6u9yS`sy*Y{0qyMH=1+8?g_ z7<1V3Vr&C@TmyT21A9UPoA);Cd^{`KHqVB(J-LC+bBtZibFpo6KeBD^L$*Dwfz9)o zT|T3MJ+py5tARbcfjy^zJ-2~9uYr9?1N+bh_WTAmzi*|#>|Nc2-Gx1bJ%zo5JW~?S zdor+(u&=P6kY`=Wc@}{@d%%IhJ%xjWgM~wcdkKdMhY5!ZM+o;8jui6jO*>}QPXbB0-aolO}B&j{>2u&Pa&YRGfPYjNi}g3ouHTQft(6pl%m z5W~mJ$-;{-cF0A;jta}d-Gn2B#|cjnt`M#j?q)7Bc_s*_3Kt2_7G5iSQ}~^b4`kFo zU-*-7TQgbk??Yh-I9a$zc$@GM;XA??%z%*3YbF`|#7r{S)J!tiM!2moBAhK8 zw2u?FQ23*;-M)@LAnYidCY&jJWj`nGJ>gfv--WaGcghbF9wq!%_`9&}0Z!c3!a>3@ z!r8(Hg{{nD;rzz9MXA79n}I5f+70&Emr!H;WFIg*yv(6Yee?DcnbRo$%P%PW=;wubM?mzW0SY zn8l0j6-I?w;mN{f!g*$q6Mv-e2I0NJ&xNm;O@O$!h2ID}&v*QH2=5WjF`EPN8-+g! zXCLACe-xIFa_qsvlZ1B*n=Ew7Hy3sg7KBF$PZYj$v=jfa@EhT;!p#>s<+VbuaGG$I z@KE7^#ZLTGVb>EJdk^6_;erz#|H;Cqg*7KR{>mv1dkcpN4;5Z09Dk}4H$%8uc0C@ zCA?gCr|?1HW5TC|KM8*mZh5hjXKSHPxU;aIaES0!;RV7KhOL_X`Sb7&=BCN|(EC77 z+24B^axd&}%9oo1J;2g?T6(ah_pHREyfThP+dc374T6&VDr#H~& z8JqskvixZE&$aw$^&e{a(ds|k@}t$?Tl_p<_)L?Gn`(`@P-0q}m=laX$sF|UTJfW= zxAcvczS+{NEq$w{Z@2UsOW$efyDfdMrSG@&LzZ4==|?R6L<6no__XCmtN%I6k5>PS zmLIMDS1dnT{a0B2FD(6~rN6TD*OvZGG~>@0az4!enynl*5ndx~D!fj3y|9^ZGhuV# zO~RXntAwkCw+L?)?j&p>Y$!^+g`jPM2F zOG20MHQ^gVx6mW>2?N5QFd~cz6T+l0B}@x5!o097>?+({xQFm7;n%_u!o7tfg~tky z6P_SkDqJQ!Q+SbZr6HeV_`Cx790FSlUm5P$ZNyFq+Y0mMd5w5J&%hmpO@y(Ljz2rX zVfAy3`HU4cO|r&f2KqBM)|PFvrfi!vW!tO~+iuywW{ue8tP$JZyn)SHvCCOAw$0kH zZPt)&cTn4W=G60JT~%Ym$2m6iah?r*oNGfL=iAW7IXCoi-VJ@6dqW@R-_XYxH1shJ z4SkG7Lm%VO(8riG^wI7#b5zHrr88Fak3EDk_L^(WQ7v!r*K+dJ*VTDs=9+ySn8UWs zT()iIv~8c+p#0#$e=Tp;pnPhB^8Ff=^Xz2j=QEsb^O?)G`7CDJeAcsVo{epr&)Bxj zXGYtOPx`CfxSx=*2Xe?sfNgx3A2W%EDl-fsFzpV@y}ntfXLC)(us zgL-K89nO<`C1jt0>@Sdg1+t$&_7TYb0ogYo`vqj5fb0*|aw3aZ9gW9Ut?L+{wu{zw(b_Ir+oc}u^4X6zx!!2n zR85v4%`1YRcO^BDG3!fS+lrp3?aS;%Ku$mdwd=P$_TSIB2q$mdqb zXI9APRmf*m$mdkZXH>}NQ^;pIxIws4xJme!@NprZUy0{4D&#XMde9ttZul4*VyH{K>%>QHwb5K7=JXAQ#88IbXpU-K z(+2bKJ#*COGd^NIF~@!8sK%Kb#L+J2teP>Rf7Sk*XH@kw2dGD%$z#{yde)zh>Cazs znB2Ba{pvXxKjTZTyUf8DRr_N4iXTmTkC}sWWG!LqIIlLEx*No`{XW5#m5i6;-&hWSz*Bctoj*J%36 znj{~z$LtAX)8B_EH+|Ll->_ZvSL00IpEU8D3u{cT%dvNuJmq{CQ~Z~jgZ8T9VEXyI(VPe8ex*68IZRu`QlBy8eAsJfo4t+tIzFsj z_C3Y~z0n-(Q`poYu6nLgPClIj#FOg|a}fWM*t9`^nG1|5b@aNuYBV{kwmEP1zG@#$ zed5v8^EEbQ^?kMMYP`wMS|mT`Rh_#gMt#-u6Pxkj`qD?rDWeYKf=xcg?*q~Fojq9d zR@*au#m79Qo@%}R)%Hvb>$JKrm>jA(SMBrvwT?}n-ZkZ%r=GXkdJgRK%qPu3A9U_& zyZE@?oFhKw7CAW=Y&3I4X+RN;G-CFk0K;xx$z=Yi9iUyrG(Vy=tB} zRP(%{n&%DGJa4Gxc|$eN8>)HUsA|&>ecrHbe70TR2Z^umhuHOf5xc%WV%PUc?D~F* zUEepc?f%hr{n(gtY`cHhcK^_J|FE@xjJtXKt{G&GG3H=z7;ourMi0Yp;>L=97Pg6- zZdiSmGTL0G>U$Pi|6pQF9de;pHLzD>n|gf>tND$dZ9coUAM5y26V2xm^KeECzhmc_ z9KEIS-)WxTnP+@%Xm^15-M@Lh<}(B3^n*U5r&*f6RiJ+QquQjc*Zqy|ZVu`Wu=MV# zO^$I!k1>boLbVUn|BFxh(3^7UgKGL!X@BRGVS0UN=1l>Y&M^8meXtRFkKwB^IsMU*oE_$!C{oJ&mP| zqdHeiF0HF`$1c;l8cW%>0q5Nt=8A1=+x2ta1sJKlW$au5Y)+ z-}YqnbRb z@$>H-$b-MC%~&%oX>*VRQr_Kgrs#2o9Qa{%3{AZrMl*Kgt*(J)j*opt^AJle>T*rY zvajk%hO~>Hb-=YkPc~$%(ESZLRMTfP?adL*x~AXw(bc-9A87hf?U$4tDsjY*MVmM@ zZC3XOv8h+JO+ETW|Cp0p2hNK+)$=p)lyeL)2Yo;f5zRbcp5foiaGq$chqli(W(>(m zf4W&V_f+l^)pv7@&Re=*Y3>ag!+lG2+0qqDbFb1E?o(B5+NP~+1G~O`DX;H?*!BGo zyS^`C*Y`*4`aX$W-!HN2`zE&CKianYhi&%{+wLFQ?jN?@KWw{y*mnQ0?fzlg{lm8V zM_YFPu(f|&TjnBjp1IYmiTS>JGpFDl!s%B!cG&pv?f__r_|goAug`Y4>#+`}NV{JxckD&d-?`G?%~<&4 zndLAg?Rv~RDfkDOpYy>_Sipvl9p`ZTi4Gqf>+r>+9eSmo8_aVI@!NBO45vsxf0cF~ zm-AS>r&E6WV27^{arn@9htJ4)wwHPz$T&4w=#;mR{_ZRM;#9|HzA|60k^ZcedC9wHE8{~ z{$v@KM}o#5LKP~M&vD7L5PR6CdIYyXAZzk$vO=S;u-k9+m!mC)fFK8TT9HJi5rZ z&XxJ{u3U$ohCBVyd9`*w$99c&xJu$D%lVvll;iKc&|z_z!|!Dt_mOqI!?}+CcTeJKW(inV0v?a_r?YzxO`bvG0?4QI`F(vy4Ye;T1CPpONu@Uh*9$^T#9Y-y-9+ zvy4CQ?$VC|(tqCB#ePQeb(QOS-!R8NO7_D!lIL|PkIVYlFwcqGMdtbb!U@9Dgu`Wh z+#~(u9cS9@u-M^`vfp)-dHkF33z=`f3Zu)N_**V?_`1a1F6VQDth)~eIpqVSzmLke zy(=6n*ZV>_&lba-_({U9a^6=7$M5Tu^KSy^_nD(5evHEP)dZ=UbvlQCzE9@g2Bpfc}_prpBDqJG$D)aDY;e9e6 zb)Rm%z^T_wI7_Zm^M#K8v!fl(U-VawkbS7V%%`)3O=LcI5fa{wQm^|v zavlGW`LeTI_qn5;_|LmHt)ABo(tcRh$*ppoCkYqIJm{siaJ^jrpM`q;hsiuxE_}Pe z{9i5epyx=ZA47#>M>%#>*4@*xj$RT@mi_K};frz}1IIY^S_yUjj22txQBl_SLvmkp z$$fW-aJbAbU7z|~TPyp}a3TMOgZZG(FS_r)BJ*!!gL&wg;l%5Fyz&soF3G&SQK6p?d9U-o!}(4<{ruLCFVHsEv#0R6f@5E}vlF*NSBIU1eTO*ZPx6KC zrrt9P9QL@_iCbdG&mh>QI8;xzG`CpZqtuvcnPpeYO%A^2mFYkZZWF5KG&esNF$aD$ zf5SxeRM86z?U;j&&HL#u8QvoLYs1^k!FOJ~E#$j5u=Tq(o)!BQ;j6;egdYk&7A8zH zwDXa%?>C3)2SoS%AOVpeITm&P7u}fRWVMVJuUq;}OTT65cP#y`rQf&o2bN|GwJpX?HDjupb6H~!#)omZS2X=pOA?1*ANcpi+4k?F}L&}ela!5I(98$hm$|2>D za!C2{QVuDHltao-m2!xEir5f)iP#YP1hFCZxne`?rD8+utHp-24{0A#exsB_$|2>D z^3_rfDTkCp%5Ro(NI9e&QodHoA@-eOL*gOvkn;Pa9AfkLkeIKKct|{?{2nQXltaoP z<@^mL>O<^j#D>_{iw&s{sShb%FXa$>o!Aij5wRimA;OK~hxi{B8)82yHpG5XY)C&K z{ZPBF*s!fx(_zDiIX1Vn`uTfO>PM@;kL5?Jzj}_6r+S{EtLJKIjjx`w_^anFx_SB-cFLS<|C>Jsg*o*_z97#*3EZxh}_Bipkwx}C5)VgS`i%wfHng_q; zL2I74(V7RXdC-~%t$EOz2i?yc^e17cdC(e<)_AnW6RT~ZH6EYlL93s>s2{C$(Hc{* zV$d3c)^kB?e94MItG{ftwuRO_Xw8Gx_=**SR)0rJcQRUYqBW+omVGj9=HR@thBHLxEKO|HZ=Sz>=J9F|V-F@y>;Vnzfeq|E8`y&y*yJL= z?tiqcI&W$EuYSf$HT_e~xuDsXG!I(ypfwL#^Pn{kTJyw>);wsH}GjrwB|%>PPFDkYfdzW-d9;Ks#!0pSud)| zshahMW^QO*wAMvyU9{FkYu&ifS{JQ#(OMU+bB{n`h;-{IGL99r*jsx@BkarpHfhh{D4 zIij^)wDuFNc~~zRgH}IlLGz$B2CaF}tOwdfYh8R=7p-;CS{H4{>-EK_bTK&vz^`q6#`KlkSe$H3@X!Ud5)Q?s_*I)f;^>c02 zk5)fxT>WVEv#!;TRzH0pFXxD+ZPnye&HPc#-j3$HRMVDf@}s#2>3FK9U9^s;YW3@Q z;@9y+>v*cxcpXptI-Y19Pt_W)ejh*ZitEPu1jCt?QkftP%CA=DHBWdLf3fP)$zNv$?6SZELx0 zQ;whb>b13O))Dy_H@km2j`*mrHt}lP{h|DC+4RGXCq~;tb5PD4p)C%|ZClIjc%6@$ z&$fxzYpmysO)TR@e%sb~&2N|Eqnvq5-}L;k?dxUR#OwUg^Z9$W=GSuVuRe=tIkw$D z+onCWwSVk48c(^}nqO^=*Jl>$aQ?PUeSKcxd~93$r_UY@ZEa7>X^;Ha%nh9%f6KPV zmvXgfADgyxd>h(YMt<5;Tl=Rr{nK({H6P{JP|IoG&Zqs+a?0>wvo~oD+tz&C`)LcC z^HE!`2e#e5ZEHN`c09Rsyotxwa{SmF^vAZz$FmWA*ZOgz$=}e{e3Ung$F|Gu{t$2X zN6$_3V>2FFU(3~If3frH{-E`B{j06(Rc)PLwr%$hKkaKdw9g;gjz`dBJ zGk>U~{k7Ytf1Drn$%D=HLu>!^`f5JyA2vVpA)a%1T5QI%-rmf)7h`j<_S%Y%e$cn- z^PKU~o{oD);xxBj1L_h_pZb`CocJh5(LTi|@ZC{U*+4J7Y6`knw|Qu^BgP#u4r&^a~ju{EP!+93bNW83)KXK*j+E#UB>N zh5R0$@|18FVHe@9LSEw{u1**db~WVL)n~|aEYHAvuGD8*{CgN%V+L4ypcRkS7(Rn) z9<=)TEUJFA`UhKnwEBlwel)*}^9uup{4NUO4~h-3>%@lGA+aHLSZv7evLL_9f|Rp{ z$PcmEGq54?ka$RWOv)j4Tx>`@Bpy=E&l1Q7DTkCp%2~^lL&_oLkaG4c$|2>Da!5J% z0?Hxfka9>ldmZJ~J~(lNPb9uNICak$|2>Da!5IQEai}L zNI9gO`!(f|a!5I(oabZ8A?1*ANI9R;D2J3o$|2?KuarZ|A?1*Ao`)%iltaoP<=pQm zhm=FgA?4hUD2J3o$|2?4hbV`XL&_oL?BkR}$|2>Da_%jZL&_oLkn-MA4k?F}L&~`~ zP#;nbDTkEzk#dO5y^45<-A`;teMo)C`lX)%bMP5iwfcjWAFck7!tTNz!k)rj!rsE&g?)s5h5dy6g?k7G2nPyz zy_EI`33mTK{!!(pm36KvT%xUs_-D;!9rdWrQPYm8N!*uSwi0XBaV0f;9McEdt&pNC*(Cx zIA3^}ko!OWBZNE$U@s6JXC^H6V#D@^Jg-5XcOcI@kmnKji;(ZN!Coo6RCu|N@6Dk6 zYT-LVzQYAS-wOdB6!KjP*p~?T4hn3(#|B;{yheDf@OmNND?uFJsRCCEZx!-g6!`g` z4S1*UZXw^Vf&YHtL&9}JzQ=*`4Z@AWO~S{7d1mD&cdCAy9jp`b`kC->?-Ug>@Msf>?!Oe>@D0~*hkn`*iYDBxQB3n zaG-Ec;UM8);Sk|o!lA-p!r{UZ!o7tfg`MjBu=QoFVJ;5?Qa8 z3a=C1D7->=x$tVAb3L1y8y446_dxvI z10nZ7$UP8p4}{zUA@@MYJrHsagx!Sy+pkaKb#dlHb+{Z*PeT-waxGT|A*Glgdf&la8|JXg3}c%JZl;RV7Ag%=4g7OoJk6n-nb zRCt;2a^V%iD}`4H`3_air)9w5&0?<-t`^=Ryj6Ic@OI%H!ZpIR!aIe0*DLMZExbo~ zukb$M{lW)?4+Y+KPCK9_?+-7;q$`A>*-vl#_Q>fL*x2% z#-VY2I^)o|-#X*axZgVC(0KoJ#zF6&ugZP&HDOkMPHKL2UcLY4g#}?zSQ3_n6=6qV zCt+hgXB_|4@#Eb(p2K*j74ohrdS3sodE9WG{&&~q{}1QEciyp2r_G@{DVqC$YVHN9 z+0RsSPf*Q$K{fXV)!ZLcbB|EXeWI$({U>U4H*>_yp?@p8djq>i1DoG_+420m#kPAl zu=)MFUCw(%w%xaZ&F?Gia^5ep?L8XUyl-Te^Lqo^=J#v1J*a`r`$%>sm zg7h6SHjpua)$=juM!%}DM$@)x@>b8u_|esNnmPTTFB(UF#-N$hx3$)X)$=tmhnw;4 zZw~&h3-9J~&>!B43hNqeVg*QpLTgtne7o_of=Q_Ol6o+4$fyCd*3^?4zytD?-l70^x z=h$38{QR9^*za_Q{5@T4{?0Ds@9M&qQg6noj=h)UJ9@rjA7)-+Bd(RSyKtIg^LK=+ zeqllSJ4?>vHZvibHgo>HSJK2V-_@pXw$0eu_KD^i*!G$kf3@kOUH-znzuK>vKG@|W z%ot;{&dxF855Hhy8SZM@h8>07gn=eatNzg}1XHfxM}DW+O$Ryt!-UI)`hDe3h<#Df ziR;|L$*13AK9mJz@{SiCB6Kx(;?_vL1I5pLA-=zqpCk5V!cEfe>%`XY(SBp8lkYq6 zH#1{Ho;M`_&SLi#a{VYjM7V9qvGx158-D+~e*boJ8P66%{W~6g#n$g>A0_r|;gQ0l z{tlBYSks>wGn{^GkhnL5n|VvUy@cb0 z$2OpTzxcJ{UoCt(xeF@iilFIAlT@Lf}n^3 zD#fEn5kWx(l&TavHWU?6Y;>?83MzIi*nXD(ce1-AFE7az4wS!aK9kvIB3+~2yKRUVi@UpIL`M(oz*@u#SAA6+)@@qba5r)hkkjM8_SJa9w( z&vbdHE)UXpjK&{p{E5bOo2q($>T)%CUJ^;P&X%^#%kel2&8F2AMmZjFD_czhq# zPV;68m)7`BP2W*P>EEQwXY^Haoi*;_E05OY=^8((@q-$#(Ri=MKWJ>eQzhS~6hD{J zxR=I{XuLz?t{k^SE_clYH7>gRhvxU!dt&iatQ|Z`Sx; zjYnxbSj(C3Lk#8^BlhI1r|j9U%fE6yAoNZemuR8NGj%z;E+5ePX6bc$j>gW-L)2fO z53|4xdYpM7z=<-_{_tUuO5GB`2WAhyk^F4(Dntr{;6ErS+s?ys? zm+KBydWLG;@KjYc-(lFK>04W=dcWyd@;cjo&IrF8i&t^Z72 zzDeUz8n4p0vOZ7faE)r`@^-471-ksuX{uc9TE#ctgXpTu*-uyeak@Om$aPfo!e=Nv zdbp}TMdOECsqzwCUZ=|jcO0SkmuPIhH!(q%H)~v~wUVoJox)8ztM*#y@+@68-wnH8 zufO?6D)~j{DEW07x9_UTe`vkg+bB8n-HIPI{|AjroU7y;YFu`dk}v1O=6e^-w7w~t zf4VN;rE!_=N?(`jl^*k*IP-ms{aUU{PbFu*|8kEmZ`9a)hv%ysl%Be66*k|4Idils zpQG`Z3zfcQ7scXlH9w)9l7Hx8#eeliReoLLs+vDee{W*j7{yhkEZs$Q$hmE0U%{$1mwaf<)m z6^dW+N`?Dq`f^uOc* zrR(+8_z_LtHcYpp>0Ku(J(pA&d?%)wrVrA1qQ<**J0I(^ zJz3TNP1F16^5q)$8>#Hut;>5gZhX3`_q#4X+enpHU$5k^x>E-|~pZ)o~+8XwYlujcQVuIiib+iaVl>V2c} zoih~wdyNasROLF8lw2uYZaPcRcWb;y<1rflHe2zF+^O*IQ&jyab5wawCxxHVAY;aQ4a{ceSqY5bDLe`)--ma8{k)i>YwX|q7p`%~k$JFD_H8uziw$e zNsClD?_z~#YW(bdO1|gW3je0de`%a_zoO^UxTwZ0G`5zaFAZsE1tru+V}F&aJ@gl0 zZU9~aUIyfRCIOJ246jgJT$XQ82%Yp6ba{3*0q~}U$T-Ph3W*{ckP^Hyp1cvw8bm{v zJiqKsa^1?GX|g6NXRkc$Fu zKzqg`UlLj(zRT+K-#U*BRjg|8iz8cH(@T2zWj%S3mGl#`r2$FF@XL}<)@4Oi`_BSs z!l~e)SMuZ?9{Q^I+AOQ>ujHdw^OS3N@~U;Ue-rc;@HSA5wrT*ifO^0?&|dS@dk2~< zd2;#4n>Hg;2cAi_Jarm*=!RcU^A85_M5ckKzLc9F*T_c`db5!Fr)qi=U!4}3-qJ&F z?#YWzNv)u@37{)3{};gf6NQmciy2R@69r4A+$G<`4a3;-F3`mXTs4NdT1k8DZwT&CrQ zdFVqud8zX*@E-6!&>#7Mz+heP18AQiKa}z?U^`G4y+u8KSp)3=GS~X_UJHGsrj79N z#`wxKM8#~{zK>^ssAf^x%4GzI{E9N{p^ud z9M-h}n(%Hweuj^Cqt7mpyD5Ms^jXxs(^r2V^pAm0fc=0?UHR5~RqQ-K`2plV1xtDx zx(z*x?t`N89viLG_UKMRR#FxZO;Ox^61;2y{A|>f_YQiKyx+>7@@U%U9!9PJee#aI zpp?faTR@i!dFc5(dC_qY_yYJ6cpjd-oik_En$-Im_y+hEs7~88f!f-J@1VWzk>3J62W{u_wf}}khAK{~t93}Bwuj%? zLsycPb;w7n?~yk$g1^vm4SoDmeDy`Pu}?;5&9z*s0D0k`;;YkA%bn_>xA5epj-=KB zw6-4FX`Z~QVOhVSyS>)`y&-}-1jwEdVsA&E?CDzWEDybtCoj$X0Q?C21RMs=rp`G) zUB>ih%I|3TbD?bm-_#OBkFaY^Mzz|*U4``nwe>LT6fE_>)^cM5@X)Ux*ks0pOI~@8bO}oy= zyGfVF`sg%gjfZwCa2@r%X%e&vT7I6!hJU-KJcax;Px(jke{SR|5Did1!S!dDGrDXj?RWR{(#9ht}DXujPrM zE*^Rf5B)EX?WVo=q3!n2cY5;gdh*NAxkT%I2)x46hS4SXBTt?GdGcPFKRxvQo_vk~ zog1LNpy?X}_%C~Cbv=30-ganPHGOvgf2W6bwkKcPbor~$q`y738`=lZ_IT*K zJo)!L`L*a=t@S<*e$>;3(Ixm1=xa3Zi2#|$G_5eWXaK(mv|>P4;Jg6-xzM_K=vV0c zl^&Yco~tyyUjYC50Giaj!ABph%QyPyB0Jwl`+)L$nzql!6ZyRXv`?UY2)wU(AA>*A zd8uR4{s7vS&<<+)w*maG189e!eFc1>dEbG*(RtIB;O~93Z$0twwI}bb^NptO3*mq4 zp_lgQH+srIujh$dLl;~>fc~9F=QFIQ6Fuwe)0Ec%*?}BDPErzX|<4AjPBaUCMj3{7MhKDYRyqE_Ht;KNbEN;7%U8@J#yJL;sTe zbdSC-C?C}Phdgwtd!eV^@8s|B@kORT^Z{D#50AX?OnO|?UkTt3gZ8jT?<17giX31I z_N6DGJqBD0tn$<|V)>yL08AP|el>E*;PM{2;lB#)Wnd(*#-nd51u%^rF^X!U_z znx`b({q@k_M7|BUZGg-HXrFrMqshPJ(f={!eVYG7=`JoR>KnNPrLJ@n55>Ka`?Y2J2^yx|Gnq3PKYy;S_G%iDbPEK>H- zq~!z`_#v~#8>{@ zQ~r*8Z(aW0L;ul}KkUg%TPFRc>EDF#&-c(r>ij4V&FFbAfF`{6HT}yF{#VfD{pRxi z^2&feRnoL70X&g?Nz=E7@Z}rp-c&t@D%IE6%aeQ~5B&}DZ+gmS`u$ z&CuQqpugdxosrwC$+BLgycyU8yyoMHB+D1J!NnIW@-BD5dNK- zJ|~2Km!{7R;Magw%R{e2ejZR0sO_QGC4aZ4?6vP6O`jjaU!dvthVbvx^!o$&4WKph z(3|LdLvUjc{S;5$Yg=>ZEj_$eI^P0(s)yd%llRtd2faOT8qgs?=1gdvfwO?K1Ni4b z>+YfV)cJ1U9v=Gnp1imHi=p@O@GjN)%fMH7=vR?n=qVc=mqWYKL+?j^kuERx(2cy{ z2Q>Y`5dIQPUmC(+27Mqf*ux)6ez~V?+8YFIh=+bP`4zgn(nB}$f*;cKhePIn-Y)?%A41#fp?~Db8$I`wSGoBb8@j=( zHT|s+{yUofb_hSQg3^>jW24vL+?rk~gkMF|+lKJlYkJ2JekV;I62iYs(}#uduhH}o zA^ht!{rV984VpeKgg;)>_l593*7Vy#_!BgJatQx+P5&f>zhBcI4&krT^wlB!HJbiq z2>&Zh|2l;KjfZ|`Jrxz5H8wF~a2HMQ8p1zM)4PZ8dusXxA^eLp{gM!VZ%ywL!oN(@ zuMFY$)ARu${9(|q0fqx30%S%)8wK0|j1J(Bfp!ycUjR>h_>-nT9Kv6%>1#vyk81kk zA^aybeO(Cu8BKpKguhH!{Js4A;4((JjQ~;x7UvT1i$`E1Q+w%3?zuY?Zev zINximbcE*3ROXvxRUuU4S@#-VhLf+!8wzUkc7(c=eBt2m>&Mmb5*j##hE^l1F}WsQ zmXkk)y*%*NjPFynh~u_|aw^a&j-v>ztu|I$vh8@HynUQZ2cD_#$n)x*;G7x9CHkCa z=mQuI>1_60c$&Ve^922Qabn$gg1!gTp3W2Vacl?|@a+6W*2R25tXCYnw{@x2$Lecc zW?k-l9mOwjr9-&NPuAsr&KFbE_fmpI1_qNI>L9+SGK8Ew;1r*(=4&d~Sl2q=PEl`e zjg`5MucwUSizzoaUrCAOsnU(0F;4cTIQGrfSZka^9UsS2gj=jzt=p^#)Yl=11nr6xE@bO6=)(A^8teMsrL+NeLI$Mr1Xxph5T0TF_k+^W77`qHr-|Iw)Sx6qulrCPw#7j-1``xKD72) zA3@$1&(f5SLpgHK-+t#FKXZSdU-UEU^O*bHV)IAkh{Oa)1hz{ zobR3cjKW3a4y5q(6L%)by+~o{moSDy|CM`Z-fRiPZ8~${H(r5134A!32miscpQ}#%14m+nEbPuP|mpig{9y_m{FG3=}?K!0~ zDm_@9P6$t))2{%b!nT}d6%Ex;3{LS-ZV9`jE%$+jrP2{R_b$({+GQha%YC8IDLEC1 z@{#-skzB5AM)3X5Tg2Mwze_ciE2SzCx`kggl3y)?Tivc<%U!CqLS*Fb)jB}kKz=>D zzTE&$!$2)4i4Siy=tfichq{-U9g>W$#6Muw$FmrIgYL*8|Kp@ zceJ|c+L)5ihsRJx#FX56DtBERcceWkjuu<%`bho_5!}%cJZa-bdrYLnP4>-^{IL<- zarSuomI(f>5j@rZ+ae_<*b^i9lOnm3Bf0!z7|BnG;7*C)Nx!Dr(;_9N+jm6rXGCyk z+OzE05&SzNc*^Hv!=SK49MRMd|c zn!;B!5{Xm;dNe;jf6~uZ-mK&s{3~hwW9VNUV zB$p==BKa>wa=DHZ$=?vkzbE-Wd?d->A8-MoRGyaU}n>NG|`Sq{81E$$uk~ z`(`BfE&J_A{yUM}Es zO6~U|`R_+^xgXER|1hS!H>M=EeH2647gO@v{&6Ii>xhy3{gGUrGLGbb8p-9pX&?V{ zU)kT6gOU6%BDuj&_q#286;u1`n370+6GQnnrsQf-x$h#m@z1oz*8e`0+CN0{e~jd+ z_ilLGI~*hbb4*F(eu<&{8dLJ>k^FCwT%K8s{8~cQuzh#~mOr`c;KK|daG%v0dql>#{W6JU#neZe}$48~Gr{Ywdpl9Q} z+RQsgyfim&o{V-WvAIT(wl$9Aa-BPpFJEPhN=+mA%_6y6?T+NPh~#p$JCZN2QjJRT z%GB`GI+Dw^?nr*yNG|t+MDkCIx>mv1;k@;gRyc_Jo~-zk#ImHJ5jS&>|> z@JI5`j^uLvKazh=B$ubcBKhY=a(P}llHVoWGNd8rkT+8Yg z$?qS@<<721{=i5s?=y+y502#WBtj&AXe5_^o+A0fBDvgE9Lc{nlFPqWk^B*nT;9GC z$sZZX<$mW#{`HYu?v#$?kB;Q>-&Z7GUPv32Zi?jJ9Lcq;v61|7kzAg(i{#%D$>p6n zk^I{txxA4kl0Pw$Ygv<0;ZKg_-yX^3EeetRDUn?MmrI2|EfxOsRQPv9@@GVHN=v@5vrlj+IjNO2S@b75niIK~T4Y2rakAu-0GoVqv?V$BY%7^Wr45-} z)Gg)gbI@)ggKVR-gd?BB(Ic%V<&?chN?RhM_c@^yPu(w^{g<+rwvtwg_mWnM$C6TBYNUG9~aeMyH>#F3HFgo{1w z_d5Fn&OWEJ&*kiMJNrD&KCiRS=j`)4`vT6sptCRJ>MGGbL}ohL$|2tBc^Q>&b_PnNxaXgIRZDN&1LDMzNXvoGW9%RBoD z&R)FH)#-KDY)-o+oqb|O;X2wTOAIFwjgGcTPA#XkY>u@BoxS6EB*eoKrAavxvpJe` zC_PYCW>fwbx{~bb$mh(V=%SNXFtE>=*j;22FBXc#EqNs)+PXUWCnxrEWCl6=k4oJd3^Ide0~nVV=B@5tQZ?4^~JiMJiePZpgC%JQx<)023TLi!?4Mqq6Y$xAe{ zC*Iiaa`r?idEzk1nMX-1jM7tQcBpxzqH(38Q|%|`)tY6jCH4}Xy_)+;GP|KLXW6s1 zAR`p%7nI4l9NTg`>r!6Y6brLD`|Qp>i?h$hULq$^?O9cbqRFz_NL)!2-zi4w-Gt~-|LU_X2 zPZmF0&MKNfPR3MPPjDh3!HI+f$J-7CIy%`Wz9+s+WWKX!U1HA)fOq#D(V!wEXJU5f zU1fzya8|#BoKEE60g;qQPEdI)lyy(+Oqg7Td=il)`}_{wskKtZm^dsc@#Ex?l(`{R z=~=J(BBOvF$J)sfGYQUUCcw=@-tmt!MncI2MLd~+r0m6q&YrxCoyZh&yu>p>4#jdb zSdIqEsVhF@IUz@b<*WcgFJwD==rYz8)`}j9E6X`XD9_uDHrvr=JAShrU)fHa$SZm2 zy=Y^fm%Yq2**mevUgkwvXD=RrxSJF9=Z9n=j7?H>}!Sm$k}S>PfB&&?~|feg#IS zl2zH+it-$nyH)k%4Kx}hl<^}Lwk*Q9n$wABCv z2SY8S;$?#Ch&@V=mtWm^7R~545~?+MN=?-=HEP6BYHEpK`;1<}!R`C&d23YU8M#_) zvUhWeqRNJA_=06KbkXLoulORPxJK60s>@S(Mo&HRvema55Fy^Z^1ApX80uyIwOujBL<*gf^PmLd6BO{c0saO%F zv!UhR8aYo^HsSWhB=Kh^-mR zH>DOl!>P8GM{=et6ay`Is+L-Mk!q_*+&M$D$_xvO$@VmNA(824_brmQR#omJs%zS}H0SwYeVQcLR9 zXWzxCUEkTOwMbT|b0}8S=Kk8$ETDoX->Fh90e=X#zecb^|u zPmo_}UBw4S`&$F7f$T*~f2*(4vUfMg%E;zwP__H(r_Wuw$qnYoaNo1P#_*ZLo7u+3cwLP^ zPo7MV--cS_*_3U!9MOL(PpQk6KKqWfwD>G_zm0Nw6FU}zJ)wr-p+ME6FlnZn@srDVK> zX0V?hR`zRh-@#*Qh{l;{o)y!7p(;x(Yc|_--L}w8Qtv{Ml6XP(qEq@WDX9O#@4hJjeU>0 zBUyz7JGRbEs%p~mLCl1fMHUg_ccc24ijoHz49^Yh^_Qe7j$GbFk=fAO4-tuI0 z8=5LdjlV0Ya(DBlD0k}$F+Bb=v;W3&(J4vI|9gn^Df&3T6Ua{7tMQNT|E##tS8*6U z|5dwAlOemz?tf5B_-SHF{P9n%hi?3vdE^@IkAI~%YW(BpephF<8jD1?nt_HAg_R{y z5t=dr3kiXvx=Y0DWYgH1i-lO_5Me#>}|-wFqoLXk~YK6$&J z{0^E<4+R@7=IEs2aG4X0YD^Sm67|xSGg1bddfY|t+hRSd`0ltE>CBIQx6enHbARK> z$WG$jjM8WK3~v%gJvpyczwCrpFLZvJetRuaTBVlSlt;~Zw9rJt-Mmt6EmPaY>IkT8 zb!+!@^aaJYl9}X;UgloicK?r(>*kVND>F0KjsL)uzLnOAz18CloN3)M(}Q8U(rQbr zT$r~1BHfMo`1m(RS>=~_erEV9s{M@UkJ6Xk{K|dX@2>wJPSG~3Mldz~8SzDYoz(uLi?5MUins5Q�d8dKaM6P2qCKpW|BP=8nz^ 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 `lr~@my1h(o!FhfZiF5RcT7nk(nI4 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%0AHs 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 ={~KfroMy6 zab1odw;PJ}PyQ#6e-io2M8bdD4_0Q@b!Qg4oyeV_eAW(5&tyM?yw;mvRDMZ*J_~~f z3(WF=;3OV1LeDYcvr`E4u`#mx%3v5=hmSg! zU3Id@q13`(H+Ht-=Zij0uw$L z^PtbHA4=sj*ZI1+s(LGItf*XZ>a_zsdm0VaKlznJ&lL3NyWfs+snYujVSlG3C;Prr ztav=2MsWdMj&Y*mVwmg*e|0q2NmmS8_ZKUbANg7@lfx9+GkZv|;QowyKIm0e#p-AS zvQIxd@SsikAIfhwlFFE7)bmGnNfd{i-H&rYLqcSx_ump4}-gy zBIN{}wBq3FGXJhft~{l#rmgy61fTwd!2bYp?7^8CV-|o zHWp9C4=po1^L3X?--F?iB0dkJ{3h~u{l@+dgcY~4?{Rby*9PSGlf0cI7e#Ig{(ej} zBd1@+u#)Os_4`-)$3ZqtAbKBi&B$r^C?u6L1$_nc(_9hXLpig^KaRahnw&)ejb6C(dypi5`=F;^=HwqW3~yUV)y3{sQ&t zysi`f0Q3zN=o#p3=yCEZZlloG!oP`Qm22F*&iv^8oNJggt0t>HMwlP|#d!XV$s2t9HgMHgU&WU zq5m!@G$`?A$ba|h;j(c=^ik-$D$sM#A4Q+Dor%BU68h8D@;HhfgnkwLg*FVy+!qN$ zUyuH;iQsNGte1)dl|Fv%9JF9px#G0TgVFmz$xnmFu|Ci^(T{%l58HVCyesGAm%a>) zqtusKCzb|YGnS|vW9VyTo@074@0;r*IbjZcY-}ig4~y<9N9hYiZT0#AnnE!amYX;A z7ooj9jQuInW2X=pL;uuk-h2N|A%8h~EA?NMD?@%K`M!ctQ1nsgD_KWPaL^T}9CVd; zw&>QlcDl1Y1-Kxeg1@F-Y+31RfnJB5TAL=2z6kWm@UIrZ(#Ksl<`>?9lU#zhzjojz z>%O0ONTT;5x9iPqW#gylN$79D{{b=DN%R5et=MtzFJ_=CzCRYPW&eKc&#&jRM3Phe zK8ijw-rAoUZGv8R8T&EF?XPjql6wxhviB4uA3^?RcWNY2FR{GyzxfAW7B z*pzQ9=Ia-Ftfc%H`OA=RF6I|+2N=5vTffs^m7^c}a^y_hEp>)J4gGHHeZr;*#6JXm zEA=_mMbAQC3%|47iofoY)GKr|e^ai-cKia+Z-VX|A2lAeK;QMN|L(if;_rfgE&iDC z$ThCGf1gDDB&hc~?C!~NAt`<-^!)Y1o2=_C6aV5e#Pq)m`RnlOPzhDY&yxRSmHZGQ zz8Lc@`Q|=a_3te+?*~c zeocKw>37}eJ+Pn@4D**p?+X0AR&@N`&GpK3-5jWNS48nn(k_m3>5o7UZ~?1$-umC^ z=elkxD~ZZinuT`uhXXd1ecxGjda*N!_^gy2;0vy<9S z7CTe0WBMPD4fMEveWz^xpY9^`i6bo z0{u3-KQ%yK1OI&S+evzQp?iq);iAERk^>6y8cu0~9T*dIn`c7>axk)Tv%H*VXALN3{x084~kZVWoEqfhZ zsl8w9YVYQuRAg1Y2<=hjc+%D>kUuH(UX4Arg^fSlPc7bWP=1E|r>f*jZ6 z4YIL16+M3wt?Ky5#$?&>SbAPg^Z9D@I2mHwhn&$xf1T_oJ^-1Us4jkG>`7nEf>&{*CaTsDo3RXmjfsX)1Ic>ye!% zRCk=i_tS`j>BsXcZG&6>)Ll>eV14?Ey^k?&zTydx+T-w|Y=su7S1TwZ@eQ7rAW?9~ zE;){n6u&0g=Un`G!ceS#A)pug8@q?|m)r3eH~yLX7qutbZzvb{QO=-dRL&OW;ZLJi zvDN;894Inbw?EB&mn?Q(yqB1@`eG4E;~S;o zdp2{7{o->L(lZGEuASxkHR@L*&@V#|VK;i5`(8Z%)-yrB@5hwls>8YE1PNRBt%57K zej|P?PsaJhdS)_@n&H=U^8#(*Sn-R}-WTCVQgSk=@Y*+kRNh|nu0-#5mG7*VW{p&K zxaXK|X!Y-N`93Q8RK`M*oeX;3-C=)s(DdK4i~U=1@)3`(Bj=pgBv*GM>s91hq|C^D zvP@3(`w(&`C|@6AC5bnL+}p@~Lxhsw)DzzWvfZXj^b}7RDdooie%?~hCs~r{3G^+Y z9zSR()<4nvq4&V=rl+B=tUw=v-i)5(Tzay${`a})bvN-{67xn==8h*3>vK2{B7xa^$zrUayRK3Tcw?O}~=G{wn-wo8PHFfImaf8_~mZ+pZ6NpR29Do35+;G4gL>9yk5j)K}^G zS>-p}V%6vIMfppMD*AM5vEn+E7W9NT5ZBzgk+{m`d~YTK8-e(1}I&wSAdgT6`N)E6WF zcI4RJDJJO~f&PmM`o?U1XNg<-c(Tr^FHQc-$g%BKOwt!z$@4?BPq%+z=qvHBnm!-- z6OeQ3i$m{l>64v4=v@`)Dd^ekbymIM$AY+Lip* z{P?Ei^bCsq=A7oN5Tw8z>?8hhTi#Q{3H{Q!eq@^LnV=`De(qX7+7q72H`c;))s$}` z$Au(%H+s*5?wrR&Pe5<`)A;*9{m>)u`wB`x@u#7;R?ss9UHc$z{aNS}E9kH5A&wRF z2cW-8`S*6&ZGk=sekWb^7J)wOXb;7Gre?41o?F3p#7FnNen$Kw4*jZ^KJ@H?{^g>Z zcI7Qzs49Pe{4=ZM6LQZG`R({UAopUgjJ0 zx!0c|=$c2J?OJi@fZj}doNl+91V5}$d`_G<0`0Lotcgnc)emN%=VKfflKNK?JyTZ< zThINM`oSDJ+44d-C0{4L3Vw`0Ux9p5N=x$kJt*EZ8($x~?^TN)GayKYq`GOklk0!0XJ^nDMy zjtfc01JGNs_+5Hx~f5x9f zERy*jTCCBXwVfVOWWcGl{Em%uk?i;&$-w)@|D}o6w!(pzH;q%bs};27C56 zR4S+0r}MsQtq95sD7_=M(J@GS@gV(W?2PlwJZ=Gq^y?(SIEdy#vr@h6KKM?che zyuM#)z8PK0`&c~p^fU3>NpbE&Pb2MVxyIL0J2cmg+(5a>zogCIxzyZ0@&491rp~N4 z>pH1&y+_dQ{!ZjM*nLHec2Zn@3Fb@s?UM4imik#~p5Qz5UOtyyeWFnPg}eFL0qmH0 z%eE5$yRoz3j$!LP0XjREaD~ecQ|}@22Y8X+2tFz&uq=3`X=bO9%|Yn{bdyW&V8&1dc$id5B>93wVY62 z-+ZKH`fFzpN|WOS62;>dp@%X`Z2EOlhtoR(6v6!NuL=HDvf*E zOt`n&uxE{L7xBI~e$lOqDacV0{p%>tTcT1PdtTC~QD3aopAs>yPw|s!u9&1}6g|zf zo6m~s>Q7R3onu*|IK&ovJjbKQCw@DL9=wn1IOxX|h@j#chOXzgj~3m;y|iDX{4Vlm zlYeV5Uvam7A4__B$(Mgq?0gRdmxT<7tefc!qOR}QT#vBB>Y5>D z)n8aufa##wV|N)rE&CMjN7W4LTce4_<+Zghu$u|rk&66FNyg(+x*Ms z`Ipc4ub7Eri&^IUvc}Y%WTmeQx&00;-{+9NIP_(VA6;UkUpoCX_ooP^cV7AZMCpq$ zj{SsoHa$rDM(>rP zxcsEDdnV|L60OcLEnMCX_B*(^mU_e^Lx`euJ@pC0DWC9eG&X? z=wpB5?&18kdvQW}cRQcyz2C|UZga;@afmSRor0a$HSgL$6@8|RrKJe zxt{yA!jt0MpPcMIjZQKH;)uQ15i zQLy|U!k=dRJVG}3ox#GsbQbz*`kPr-KJ$?g?$9Of0gzjD5v>eygtfZ`7+1ExBn`hx5UmnvSTN;hXneE(ZA}yiQ{tb z@a`g^`WmF&eH}adYh7k1(Z{g!>_^JyG0}Ywu^$S3-vTozdK2``4-H#!vGZEM5cF4} zA8M~Bo!?K=r58_^HCEd1=-|HF0_k`OL0(~jy>UM>sy6=ZRiTx*T+n8~;v>$99 z!!cuRp#ezGNSyD(pywR%+bIfW(bI;W3(DhL>Tk|=y0YdvCZ&s*l-j^)jO^Z@>?Yu{ z+j0l}+({ zS3euY&hm$OUqEy-Z`Hn^*-tmj{!~~(%g-S3NglPy`dw(wl_cN9!trJ37l?p-abLHQ z5BE%lz!JQLtO$IQlf(H=*(5!1~=uYmSWQQl0e^+w9lW3il5`= zZ*zU7=OCZh?f5dr`0^cb}=3MdKC7JNHooh>Rk?@$un2%O+c1uL)b1+^UZz;?j-W$CPg;(E~}YKPr_U z`by~Q?edSC2TVQHeyXO*esnkT@@HqYe(xNI+H3Ewe7$Tw>tOnQ=nnSZj@e}WPNnUC z2pqvq+ZTrO!`1vW^HuHfG}E#bp_;zRpXg(s@YqfH*KC~v^~;t=nGe1=Y<*{n&vn}4 z0h>eTvw2zmTyg;Z82-J3p0lKYZ!|l3q^}o!ThYfd&e_k^EA6-C8DOmLW5%Na_&Zr| zthf2icNVTJYYxW$zH6ADuxr)<;w8zSG2}NQuVbq{mG%i#?iS+q4df0~zWr&k2#3MP z=%2`)IDwPWdad+4O{v~Gm^W(cD_5KuS!AcTm(L_%=i?eL?WB10VP_@x&l94##?f{r zg5{1;)RX}>*M8S>_kP#Zk1h8;He}#2|^aiCD`Mo$UB(;mWCuonz|3$=7e>2bDc-NFSFr$Zd zbOCw}DkuR}_6T~GK{xFVKX^Z-_&%xZ#K@mQy|qcs_5S(=&KL7}Q&;>+_+{q+@fY9A z=bB_PpDLWhrwS*UTiSYA-_&OY{>kWf_rp=>lc3A@LXy8ZoBsk4Eq`07=mqtBj!V3O z&r=@a@*(BhN%R)zinlY4qDO3g=l+=NbU}ZXc5%3LaDUDDe4g@q$$z0rzV!B!|84Ro zOMVXfzKkPb4%5(I{rqq~D|%@>u6*6u?%iDJ!cqF;ck|vJ`rj`-c2c_v^fTVm4$XMC zn|3AtXCZIKQCnVmqsXg1>TH@o^ls>?59j?i(G$=E=n09@PNMfiUydK99`HjiJ&B%% zz5=>g@AAO0;v(50=xdqx5A||V`n@pISZd#-FBjk5?ksQIuuHFxcCndpVLy%wN%a)` z0?(g9KS#t_{`LG!0v4?#xd{0a@#lj!O(1#~^uHii>!5dW9EU#nOI(*I<3H8k+M0_h zUjIz5*W+6iwggJ=9cAyKezEWLD}u=!_E#`2{i(*XKW-got&c7sVrAOY7F9Urd`=RQxvcwY~speC5|p0_=%>N&o=5wk zPkL(D`dv9&M*L~$LHPH!X#&xQpdSR?xep|I7W%=^b*%RUbUl*bur9^;@ih0v>o_TW zFS^n?LU+8_DVoYvZpH6KFRZWqhpzgn<{wfQD9Qf9pC z>Sx$R{~{51Cq&^6jM9b|AM4 zITL4_9s*;~--W)f`gduZF6|pJ-`1XG&$h+;a^`Z$)N2>x)o;1pa`v|fss_=!;o0H* zDSKIZ$K9{t8ngI(BKK>)Frngt!R#=|=N$W>k7DNrjtfcj;8*F7tQQ#8ib?b^^kx@b zenp`#Ni$BX|5jSxl>C~;cH#Auyuv!h`UIGQuCqs7ujJqMS;$3~QgFT1vJGYZcWh zDk?rUh-wx4NQE_P*6Kr_W>Ky7d%mvw-0%C(``+yPJCDb>-(2Thf6jHTbDit_xz7!s z?O)$N`6t1X;s}dlGIg;q#sVbKZDZhi0=f%BbR~c3=kTB3*gtt^g8Ykf^SWjP>m8E+ zykz-<_A8>DI^ok1;?ubzJJjz8D&6`w z`{C`LapZel_&$aM^z+}+K1U1RCB;qEPo`480{#ZUf;bNOgO@}r$!ek8vy`)W1NC(A zS)|_+ZbtTxK5l3mgnj?PN%XY)nDgZAAzpnUzEHgUrM=_&oh2u7iIjGo(Sd9(M9G< zC0{4``=C>#e3wMO2l(o5@Auwk5A?grzW>Aj6&j0v5#_qUH@_5#nz0A+N62r6&ds7t zJtNk|v? zeWVu3Uj@CzD!;ieXrfE;N;~~zv-uZiu$b7I2hPP(s-@! z4sJ^9Htx#~(*GFy1FPYGK`71=pVEHjOVrc$?Wt$7eXPLs-9y)$&pF|OVb^&LPp_@e zTTK77_`E(>6B=&4_=o&U$X^O?KS{n`;12+w?*n-XJ^=iaz-23b((fVQHM{mt9uyEe zVI7K?g&9dExQ|NsrRecJ;M=;2%94a%@Go5;F=JhAkrc;q(d zR){7lixfK7*jvAChtHjqJ4NM8PiuWOnS4Fu-$(v3m(Ob?HlFkY|0-||XMU322Z8qj zZx+z#>3f*<<|vduM*heY`KovEms#&)U4D)5(XXpFzRI2B_Tq@;(F&=sr_TZ65YfNU z1KGdg+XCIU5_j8pX>u|2a5R4otE0;AB){3;S0F!rKTbXQcY`0F7YqQ`eCnJKKeg)+ z@SU{Zse)gUn{z%|6?_c%hbSMOFQ|=*b}&A||II2N^FK-VlT~1cP0%??~{_ecA^@9l7|n#Cj*vqjXi z&u&N0?7{<^T@-zl?gG8H21BDD~yg~$SkEP%*Dh%AH% zpMqc^h{9TUBu2}Jgw~SsZ%VQCq3u(xmmN)gCp{GVw~2q-zJ^@^|Cb<1_2s_x%tl>@ zT(dA&w;0Ql2_BTrX`yGs1;x-f^PYvkjPYKl}+ekb(TyYjBRIG2+D4o!`2 z?kLorH$D^-h&=f_V7XQkxvmX5BJ>I$i`wM&r(&7T0Ggf{h`3+C= z{-gMFZ&F9*+I;+|cIc)ZGT;{}-yN|NUKeX+we8cd?K{#>iL1bhdJj5o!5zuOOmUY1=WuMe~Ay|DR?>X2K?l)F?cob zjg;52gP*Maz;6S-S3r}4Pq1dbnjeST$lr;axL?1Xyh}36Zt4*~weO6#MBghFybrt- z@R#xMll;^!;PVd<7rk&i%w#6plzc29I8V|C|IZ=+8lJl?boEE;VgYV$Y&;Fh0z08|8(a$}BMQ`F0 ztQVs1SMl3Vf>-XO{WveRUV3mz@cNy6UyJf*`9Pk6w*a4m{n-4*u~juzN){CzOXCvBc`wG^7;~AwXf{a#vAt30U2H!c;5tm zngDFGb!4v2`$zTXZt@S(&v0j9{~dg1m8DvJJ1)}C>SpsgR0Lv%EIE20bT9mVCVDQZ zKTp7?3i+>eexsm2^S(g#5xhkqS!ATPg`(w3F4|GQ9XP1e5&_3uPbAjJL!Y`uScJRaN(5l}7;JWYN$C58;9MtV{ z&2;`L>R0hO;%4ZE=QC=b%3b(q;AcC!;qPiPWNy^DDDPR^nyb1bSF<2jcV4bR;mSti zli$aM5J~hpp*IJ8eI>(xknGi1OFuDZGI&jlC?YV?*KnW0O)8xSMYA&Uk84N;5cYrP_ubrAMjV5v1jrFf>XYO zFHHI4eE;daDOjI@kKRA2c~`EE?flx@YBtwb=4!6a&1ZWMwS|mJ z?K1(rHs~$qH~nnh6)MLRzJ|z4vAmMXmH#*ECX~BS0Loo%bdhgVrnRwO%pBKCb6XAtQd}PqF?A-LpiO=wiL|Q`Nvf5ByvQ*H)^^Hv)eK_!1w^ zL{soq;Kw!w{)?}&dFx-mH{dtxRGxY1Wpc%3UhE~jUh>z0SFC)OWUm9jTYzs9%sYSc zQP*r1XB;4ZjQo?8Z}!a9>8#(f>}K_vApbAqAEA7gM7QJz#LUy+Rg$m!EyD6h&U)ZK z0dIk5p{I7orv>-~@S_Ar4n4%D9k}>^S?z1`XFr>E6%f51@^>@-hx?m+ML+OcFJyis zJm|SNl-roHskA?gk)9tD?)SGGEUj0Gri#@^w=FkE@-189m+9 z=cNiBz2r;&ZwWMIzo*}lt^PXxG0ufSkM2V-KJ~uT1a#M2%sC^KGyCucNQqVnsB{ne zd*p9cK70$}LsjdJ=y0+DTw=G@!{E+Ng$BkXF(%~_#O)|Fjn zmLWMxsP_ZVvp9wSD@l&xz1&9yyg~re$MunRs38BBn;M79Q?j&CmQG*0LvGV9R2V+2tVr&;z<&GPznPtyiO%qM}Ys6_Pmkbk}v$88kb8d z?#BQZ&h~Cw%SaQPG^4N`&xm; zZ=7<+U*X^qoHiF0jh?;vN%au#El_WJ4=1n-TEguEtft=C%M$CUb{gaFhgU}T z`_=!up_{pCkLUl)j#tw#UoE&z{txI$ z&igY({3o#gr1#~x(&NO;Gl?Bw!R+i4ncSum&&zE-u_3qR#Jb$p6IW3jnxt~?5x18O zCr&ZXJhp}Rc0%*2O7M$*#yaUW?58;U4f_LjR#{fR+7VR^~xr}&`@uZ@1MMDlb)cimru?_4;4h+Xl$3wdiIqXjx1&skLqlE5k9 zuNb^Dp{L(|s^!OsqxVMvX@}(gpnHnGmK-dCCYtqqoYO;3D@Dg8*<3SgY4TS z$u|O@vVZ<=vPrPKd<5DkPj~~!_w04i^LfH6-H&|Wb%pTeXV&NO+P}d354>XKyHw4y z5xmEMPw5XeQ+ZdSTd;kWZt$Do`_`yG4f^T%oCYjT?vkpH?!Wlf^?bi4)E{LBW2(=@ z@4WU4>;Qd-@9AT~fVlilbCNlRq(5R*rVSoD0+5wy9&d4 zcgS!J$J*=5ynosnz4uCb?}kn_lEISI+By8Rk?ZVc(u`KH)f;R%+`tQQ`=30SYMftG3 zsC*~z&6Jnz_(|{{;5&dX^?^JE?+1Pe_^)E{LEuM0|MVDq1b7AT1tGZfJOTUy;I_YI z{o*oz7_m6ClnwDl@?R%B%MbQ9gkMd5-K4vB-}2W)@SDg#dm8%fg03wrp<6(M2Dd3-(x#jcY)7wD(8~gbOQXf;5P_H@xafz@0Rd_ zK-lhEDgW$^PF_bx?NNIGe+``(4yH#ve@(zQP3)h1n=*p&FYs^S__-nbrD@!owR`!u zc`pe5(!HN5`LPQ=DfnOF`hy$4xDT?UXeCEKvZq72EIQNlX~gWG`*-Z)&mKR>E{9*d zUX=vchf>4&dnyXz+Hk#^H3BBYwNA0pQz!JcrbZ_#oxgMRf^|DSOX1cHS90EI$8_}6 z9s}RyJL>e;uX{+o=&>jJwu-u!|*`sD932x-fCsh9u`%8~bGOaOs zPVdm`D3a5AG^BLNwF}2M`p#(oZv@^6ovqNZ`F4^&L#~dQOIhsxes1*=I|#Edw~mX( zxNt4mySaE^2ejcQ8}XC)jf)>}KOUH-{j|dVrQGU;x#mW@ZED%&7NX6!Y(kZM8<&p1hUhzY_dsJdpjXe%cHCcfc9GoF5`q zxinXIPOhOYw|aT5S<3c~ftcM6QU0Oz?mQXmLR!m~os9vnga6#9olVgnxg08~vd(VR zp8eR_3i!NCa=9dU<3aw(jz-Q03f>C*F#M0=x1TEc(Rq-1L&x6tqy5A2=S5m5zq2p^ zHU9@*=k4xXz3E%a>YVnH<8usDZiI4Qet~k5uNcMuo^o>>t{!UFa^MZf{T=~~k7C8U z^Zs>YfaBQU%~!rlqSpl8Ht>%2fjk9o1FrIMco*>X|BBxKt@6FV*8x8!MrQ!{{m_{w zIOjzCdk%+yOWv@aWk+Mc)&7sDeBkdJu<_fH;*-wp?4v^eI+b@x`l$RhG6C-t%=Dol z=k0lYG?G8-j{N(LW&Zn(t-#mD;9ZdD1TJ}3YaxDmzjSVHXHiRTchPydef;g`?_g0w zZnS7g?ht>6`P(pq6M+0}=5GssTlw2IHkIn?Ki zp#egAZu|}FJV%at?|TG#_V07y%{%PVag=>_QvO|cyLHW=yp)>1zgu+sDEBPoKF@FI zDcnz%#r$n0MGjDY2Xd^BmM5&$d6Vt4n4$!uqRNoezDn_NaaL?xJZeMqd`mSr^&|NA zf9#(eO7ovUKF$Sp6d~Vjxw^Vs!^Jw$h`Wl7$g*?2r@7CsAOBZUy?dd%j(ThnAfRjY z(8;p9Le&tR{@t99MZS2vGX|Y`#3L3@26|>*8GQcDHw5u5eU|sF;d@4uubtO9&+9Px zg=_Jx#f}dkf3eEDr1our&SvPmQLqT#wSJgpeqj*#wt@drhpUI$qu1fTQULHfg3rF1 zes;P1ieY5;#2%v?vDa~nPA38^H?^FFjwVQ zkiUs~bma3dCI9Mtzc2b)D)nCQU#onVq{kNU)E{DgN2`V%Nq$HBUN=BzhEIg2`1e6) zHSj03uw(LNKldW%>80mE^5@PTjo%lH{bhdSD_Zi5Q*IySmTBOEj*ELKm#ul3Uyv*% z=}YpzZ)0>lN$~35v2O{yQw6aih6Hc_6ZjbLyL|ZVp8i^auY9*V|7Y^cC9KKow~PG! zf8QT^AL6Qfgdl!{wDY^b59?QY*#+K%z&|K{Mpx%THX2>&WrX}0o80~$<3tCCr#Ns` zH+z{L3uZ6oU(qif#Sc?1BRVcs@+=2_25>)KDp)roB+C3My38YbP2lY~VKfr23*H9& z=g_l$g1r8{NL|3UQT_z+=3JQIYOh}4U!eRe^t%VRE5e9DKo4;nspAE@IaIU9e^dU)Ar{`+gL zy*MYyMzH(Xt?)b9k2>l8=)7F`-Qd>)UoM(Kd#H!y?=zC!4^VC{e0;y!kqN%rSV{f? z@>fDz@`$9d)q5380p(e?17E^u@I&(eN_OEPVMD=05`t5{qS-0xC0V4lBo?`5z2Rg4a z3f@0zuZl6wMFSU2KS|HEz`q0hy#f;5gyRy%=NocW7vyTLi|Sf5+QF+z59jZTa&|&@ zS|6{T`C*+Oc@{noh>uI+zY97wuNw8;Cy5VyOK9@)N z1oO0D-%LA8IH|+Dxw3()vh@lKfa{VbZXSy%?2`SZ7j2x`HRFMz2eS{!|66;8M z{_)VQe^ma7{a);HpI|Y4H>y{xW$$DW-nq`++1Z|MkG8$g)PI!<`$u&BMfMh+_elPJ z_@@{rZV&->+HcI&Ey^`CSYUaD8!;unQjC6$;NpE9bi?gi4XpTo>2J_w`z-8tE@B7h zCU%9GL$DjP4HdJgdTq=?r>GD2*?AY{iLYe;t3Q5-2T69-3EvIyB`ll9-{{`c>#U}i z*o)Y_V55bI*dn#$7~jQsPyMbCy(uXU*&}?* zSCsvMg7-*te(410yjJC0s^HlO{<;%KCm$Cq@ZaZCfv%X^%+6}}vfl@t4?7xqNX{PU z?1#=-0@%4A&JehXlk|B2JGdG=i;Go;B=`_`HvnHHfJP1OArQSW;JcxBjo?-JxK`_fHH7^z0HV1BLoE5-OUyKZTArha)de9F|mgcxgi&2EMMZ6@{yRQ?y@ znUhB+|4X6;?H|NVfj`z8iOkMMaeaq)Me#6y8@MIzU^;u{bf=CyyRH2n&S5_sy~nl* zmc8(Q`TIGqQS^fR84ohqlhe7wRAWQ7jwb^`Ci~YZKVjSm$)a)U_d(vvoNBxY;#Ar9 z(sXV;!%cckZoOW=y(V$6Q9Ct3_fuQk`48)Fx?bc%xz*?7nwxAn^+p#hQ|dhEtuA9wR6>?VKj$i8&u(Zmh%68QEk z=yG%Amz{#be#e@?yM7#;VL{N6H!ork9gcv(U^ z%n_pvn2rL~LsDZUe_cm19wX064Mo}7B64*?s)?t<*z98bm<6_L0zAppk6gd*Wxrr1 z{|WptgLy(6z9E|(D#~rj(k9tuJZX_^cH@+)@&hx3NYZ-?^yXBIdgt;3z3WT|A1HI?~afD)5#r;=a<1R>~~6G(FwoJ@Y^J(fZQD!VrCbgNX}if_le-Wh~Ivy=Ened zqi-0UBn&k*vQmyAuka9G6v9^11FzYo>^4C5|*ST@Ti`OVS^=DX-&g`n0h9PQ$wtWbDma!%}H zzD)a^n#cC$HBI2}M$Wou+!DmiL0oaZ)|<9W6Cz0;-2?`|Mb2-kU%Di_-vyt8*ufgX z0=rk_&w==8JSaMql)tRceXmV8B(+oVzu2Gp+y3}^5${2C6s@M6el$fpwcWz{DD>Kl zlJ`$Fk0$6nB0f<+64<9Ahgs>UAvqc?JbS=jPraIt;y;0(3)(qYudB};>dao9JKRak zx8c6*YW>2~c4o78&P;57Z#FXJI0R;NK|p$wuKz-P-l_4xCD~)`zp=-&MkgPYA4krD z{z5xvYiH)FSW!JESI3^ZP8Gf^lT>l>smG6{x3gXyYUfhmeeh{|GWq+Cl5LRuy2YcD z8~7cv1N5!8g$wPVn(}u*FYZ@LCYg^z2eY>NxVQtm4WARsa7ZS8dfn@{yNFv}3*Gk# z-zCZ43f;rdy-u*ePT8mN{HNr<7d#v1V-l-=ec*2)|77VUz{k$B#}j{YqJVi1SxV}^ z2Pps0=iU8IL3#LP9`x0raz&|hY9DfK7h+J3Pq^@gmQ$PBMdwF;3cWX|oJ+#51^*Ag zzbIIM-vItrA7ABKDL40=QSY8$%JKavCbaiN9E$i1Ju4!`{*z4d~>`9HuP0{l--Po|MUC3 z?`=i-KbF)lO4%=ZA9N~XbSg6G)DGzUO7JM1PbSf6fzG?2^ZF1SwL=?p9tQqU)Gr3@ zNEDdX*Qe?@&T*;x`jkw3iuh_5^nSF%-6Iu@uh7%^FTHqPmS3!pKF2A)_$zK5nYsHd z`mk@!Y8xhR3B?_y*>vg&%Dq$aQ;u8DZ5^o+_-6EQqu}U)`(Mbs*t(y!<1dLzz$;e1 zOR9G(c)J&k#@{Ci{CQx1oM%X9Tc%k^5}(1B5JRgT{$vW6_zc14(7B_NnIirZj2lVg zE-#2=vgf_PK2K49D)r>oxK||Pk7XOxMd{R*rK9=pO1U`E^sddbZ%r{?4ziAaEQ7zQu1pS^L9hAMJOkfUf<@G7Ag+ z&@lVt--wP6lCzSD;34ooJ(K?=={Hyp(w<{>W6{)tO3v2*Wt|;4@8h?hq~9L+RB>LR zU%;4MOTU|^&~L>c(^ceN=M&?pdXGVG8}w|S#_FvjCd>>%0iEP&d?uB;1pE_2_>!lB z7vBzp|D@mv@^H~)(9v9gA$kMIQvtm-!gEREVLSBdmbiTzlP8nECsBItA%7G3r7vs` z3sA>_skQ8l%bm3Q4CL70WY9x;DSA;lRf8RWS^$$Hd0f)@rN!Wz-KZ?7R)64c2mfd% zXTds!tq&|Gg8b!F%M=zz4;*A43;Gv{uuIZIujE7T$Npz}c(d?2BC96|%=Z{Np5a!~H{cT6{!0b4O!5PPztYzQ2y_xAVj;PT@B_a^u6aHap0dwg_-uv`!??zwnsv;e#g0k09e?h-66 z$DLl}7MDZqURum}0p7I^&-Jq)PGdd(4!Ri&Z~0ZPg|n9=g=uDAt&AJ(Lj9}{fBJXmhWnZL6?2hO z6?D%MKlIMAEo;Ye;LX6V79731a|*QMd7-fP7JhqEFdf+O<^KwN!s}h?k8RNVEbt4X z^w29?_-?)>yX&FcYWUvn%CT?9Z3f;3sOSukKLDK-g>*P)gP?9-bA)ogq1-7d$N4Y+ zo}mfg&jWvr;7bB{NiLnr?u_1xq54z+AE*2gD({lytOY(FIUiI1FuTm&!cvY2Dm=CC zcfp%4oEtrh6<#}dzW}~fa8yVAKJ44G)t~%L7mRxEw?daacWCOAvp269Ab$t>mk8hN zn%4I3&8`jEHQA!4e(+-IMf1?U`Fyhs zs|CK3c<_}zkf-2Hz>6tw`{Vcx5fi)(_$z>0djMYpyaIR^@H*-GqXX^}B&o+NM*v6ZZIqB5@ zk^df}o40r7DXjcDyORA?Q*IUYn68}a)k3+=$gxcH;_bv+6o_EHPuVKpt@6wR65Ewq z-W-Cpo9d~4(CF(~L`aqV9e~c&z!wS-IY+wG*~3HLIntzc19u}>6_F>+$BaMUe8$D|ORcQ0UI?ErIUah5PjN{)wVw0G zj|)J(3-|=_yZB(x)AJdEPcMAdi=Ip3(*~cN@OiC#YrrRIeZtP64kb?%^5+$`F5C~F zkNQk_${r5DrwV_1j^Ml%6xie2Blc8FxnsW-jeCV(`jT|&MZgycKVnbZi{zQJ*;6g$ z%KUK%IOCXi5f5nUFP*es20CT@_LKZmJ9wj<%balgtKsz%-ge7gOTE>>A&J2)vSCZ~ zMsQ3&roOlN#CSIHHwe8g+=FxNO#U-v|6b0SjjM9&*{)`NZ4*1Lo71Z~)lmhrc$YtC zw&_u9V*8QnV#ipmp0fETk?W_S0aEpBd8rpaHS=3?75Fp7YlMv~Oy}L1?4$?0sw0Od zUvZR&H?2KxO=sUWE72nDOBZTSrC2>UpO<{@@f+W!KflPs(Z7xomyvu`SSR{i&$$-f;bNxUR^29QVdfj!c9AWzVbf^{gqpOg80 zqIN=lq4uxrtN+B^D;DBY&I^MLXAMvOYbrj$JeRjKvzIV(O@^83yVp4^*yWAtJg(dk#e`)PFiRD3f8otFUb<+u7R{gI_IE`D3)&7;Q2 zf0X>i`Fvt`FWcgel9w}|Bc8oZ`RFy=FS*lGQGR{^kQ~+6>4VTaLgii3INk)E9n|L+ z(Q%wXHGlr6Ci`Zz6&c9A1`%D|vvxLgAMlCt6y1L4)+`vFJi@g{^8QrzF-JK+1n4Fr z(QRS;Y=f@(MMqouFFuZVap7=&9nASlEpEGLnE~9p&dBK0vcGgIbgptV^pO4=p`-cP zi2|7Z-ABY-ejE8^Q{+pIZt^vs@aLUj{p)17r~lylrs@aFkR!Y=RS%s5(76iuC!PM2 zvHQZwj+PpGtvcq5L%7=RUFUy0&@K^I&KC1Kj?2ObL+3g!8Yo${&m@R zPrV1L_RzjS^UpYEEje8hzaIGA`}1k`s{(#YbL-xjTfYL9a2Ctsrr5h`g6=qU=QoW` zp7z4^&`!)d86{RQO04vEVtz6sv4iKoA6Lz~?UloOCI|e=@Kk%WvXFcDs?o{&r|J)l z@mkDE?i|pPohilq`8xl2ne-|j`v`K}qk=9~@*LNK^409COAhSQ**R}`-{imNojK%% zXBd3YAG?WrzYo0|d}2IRuUcMAT30hXIeP~G3H)$y9*J{m;qUMLDS2GT>#v>liKpQ6 zq~vo+_3eYtRZqKfyq;fMVUBB2ZkGDZAo-i9mt@jCkFH(}t9EaWyT~!9Pc`LRq4y@0 zcS(FoUYSm91pa!#j1RLV{3FV+eqTxc`^mTYJoz^P7hXN^PXk{oJl>SQUN@vxu}H+k z*V>=_D&#v)^$PUF{J@>t3eI;fBfjJ^o+*bBPY%}eKLNir;^&g|Fa)2nYj{sXu)u%Y zJo+L(oO0!5ClmCC0qE2?m>!~2%8MQ&!21OV=-7FX3$_0eiq2HNp7LuC?3w%@SHJLg zG_pTPM>xwi+bO>VeOxH|fgS3+!g+pxDZ0Is`~5HYZcm;rVbVrUdN3~PQ2lcuIjSi? zMER}IwQ(bMj+|M6ca9vBm}-4|5Wm^^OLxvdvXMl$qKtO`74s%1M}a>j4(OPf&3PNO z`C-TK)$dxtSAD%Cnr2Bi+N z{{iB$?q{QZ!0i7-_BZH9-NK9Mk(=H5I7wN4b|N}@PxCJ5yj0~~YT?-eoej`wdExkx zkMHnqjhmJ%%WdKO{MPh^0JA;Rc4~KE{y^(tCGcl?E1#_X@SpwL@VTMY)PI%LU-c|H zDV@5Qe3p^I^>qDfer7CI&q~U_`FC#pz;P0vdf;aRZxD=oUpq2)<<}L|e_F{Oy>`^w z4+!i_F9F|am*bwVSC|_3>Hy2Ub19G?eY~+u`(CF)|7p=j`&G?$z5YeHhJ|+3H7{6N ze;I;L!`jiwhg9ymSp2$L-zVhjxO4bAE@PYg&;$7dceDdJtvwrab+_ai_;&$!kUfn}1wxq*kzB2e z^W)GxC1gi}SG=0@OENe*4Ml{~G*l z>*!>wfPr0OLYd_lGB?m*$X>W^`szonMbNSMA-sjMFmLvkFjcW6zP->_`PVs^9eFK3YGE$Ipv?pO^d2vsKA@l-EqCx8qgGv;1V{Thy;kFzm^#Uj*|w;+D5ZM^p1h zCHS4P-@E-8M^F8t&C$C;FthJW{^Bv!SNeGicvmVvv(#cQ*>xXy_W=K^t8aMxwR?8$ zoI&6Oz&gh&!ZmyBS6qjx|2V1Z(jA@P%1fU8U_pCOXZM~QdWhdg zD|)^7#s40Q-XA7-(QDJGJ;09^J(pzHrNDPnk1c`)`f6n8E4VO3bc$b;PCWvhVU>4D zbXuTOcB6YAGVn)UJfi(qZ$g{*KV8`M$$yN#*C@Z(2c6dg|A=S@^5~rAJ^pwhenXV| z1m#9lF3xY*O6J!uWLHHvy7|cWh$~;PKDUG=L&b|&JOe%yL3a_C>fOZ##>@V+XYx>y z2zW{IHbHkibWyvr^Cg7!tr0&yg`G9H*8t59MCKr>_;$}EKKM)YyE&rM3Y~4xdCt+v&pR7*R4zK;i%!u$QmIR!qv@)jM5iA* z4L6T^=gk8<(ESR0ZPjf;huUY1eT7rUqwCMo`vi10LFY^nzg+Q3Q$Aj40#wSt@iOps zI)5|mI2Bs&;FGKCIfkA--+Mvu4@vH|7W(bbuY>=Tajy9Z4yz^Af5c-b)<|NcYI4WePb8Ze{b>d8oYnu>_xkO zHNLrszV^MY^ZD|zAZJNN$@BxA2Iz$2tZH&69Q_`rp8`Ma&0GE*o44fsR3GEi4e&L8 zWZb;@P~#ieuX;Q8XGHBLnCAuYjU2)kr;9tfpj*oR%*Wt!i|8fK{}$=%jR~VTm&~(7 zl9+)XN`zUCSQOTkoBn*N`$*Qm4i~;x)e7DU;2)H(rW&_y zj|LKIr(Wm3 zA=UF&F`xPSn}#PJF6KYT@BBf~uEG4BH(N6OiF$M|9?34pS-=0=-wW@}>xR!!@V9lT zHMuz~+nYb{1HR*J!v)``+y(q-%4-|VPojSS_$KU7;`+(>0^g7TFMcEARRX*m_&VTm zd8&bL0dD6n90SpB1l~!#;_|ctzZv)fm2J+=xqy0A^0QNPfZM*Wjn|=bVlF1ePZgXK z8vt)N`!cT;J(t9P2zXh7Tw}mHVsgpP6uk-m2A!p%Vg6}}U5PfQR!jx-{MZQN+Bx9c zHWZclU{njYXeVxz>8x7yM*V&{TXukzEV7xY5Ii^bE`z~=#fn+V0)jc+f@ z4M+I2V0X{akCXUFjxOlUg`UlGtR0vVdTzywhi5TQ2S2>eA>Hf(ucmr<@|>uDpkF%w zVB=^8ks_-@`Tg@Y#R0xtstZZ=F0D+bZU?U4ep0(s0)Gea|Ce?VjaEl5tVhx71b)^3 z4|)UO&1GDT_rD?F^0VRoC;v4Dd@Xvqm)~*!%gR{?H$~3R=)1tt1C3ZjVdSg&jAJ*y zXIwg7^juPX8c$EB{s{bb!D4n1T7Qi6XKR1(-hkY8?!?+ZxX(&<-A8^M@k~vgZeZ6p z`sSuQlIW=)91A@g_bKYxqh)(`54|er**x6%1@~L4e%0t}KlKRvPtmP>GyMU)GLbU8 zOCoW18+d&&Jke_fZ!2*9_LF{h0&hN({SzO^Q|;9Qe3ba`e!qMqzL|Q4^{nzez#pT0IBpZXANV@T$Kiv(*CxP6 zfHx<=CxEX`fR|Kx^NTqB3gC*@fBle>?L5^%*}2J_fuBI}07_@Y?^a%@V!#_t2NJS*Ts((i7CH`jpsekU#NV$ zAMzUI+lpNipmOr(&=36ia(LYdzqxUS-NQjV9a(l-JX>EF)S;gIO4Necb@kh^@3;o%V*Piv{-;8{}QNBx(djR+u^p9%&M&2>jdlnK--^_J#B9I-S5DrTl9IXDvupCU_6<)o&e+e1}}{e&7#L-nUD?{2=g6lz&`wTvGWF;P+DA z#wqlm6V$5r1aPfKyisLMKR27r=)c0NMt@g>7xtIxQC`dczg>tfRr4GGe;)n$ z7$--;x)oQ%>y%>Q=FtjeybOP-Kz5T*-N$t`Ny>-+}bxgYVY>0N7$GEOzaek7l zgW#Wj z@D70&K1U?HM({MA8$1E88@zvmcdqEVBt3S4H;NvaJ{RawZz?`huv_D`S1;@A&qL4l zuN*zu=>h1;J~j%*d5Eq|Fn_QU5upZAeTtClB=j2Yx6)bp+0+O9`EnKbKU*hR$}%i> zInBo-vQ8TEdE#z%)m6gykDQwg;{7AOozU0#BOQ4C&?`ScyPbkO7Vod|R9{b#e#&b+ z+^Yb0`nZUf4zm|$r-_Wjznyg)wIktRJ_%l0gFWH*=LyRB*(T?g4#59;slnjn+DM_BGylL$&XI|zi)Ymwu~sq7*+zpeKXcO{yId2LTW-Ru`#2EUadyO11} z3)86&q6a^|3Ev+n{WX%`L%uhH0wAefTY>Lqoq=W6uzlz(IqRX$;fL&_=xFx$pkr}~ zh>%35A38f(2f9aqz|ORfuKh+JQ9IMVR|9lTQ+byp=LB?a0RBqBz>~8{Q!Js2+t+yx!uvTxDR?$tUoicEA*(MTYL2KRh5VUI z*8h=fJN3C$ut@*cJD8E~Z~bPB^{wC|7~7j9?amz>AE4!F%L3}5$ErPJ|wV>RV=!^h%W=4~BZ0qFa4$=#0Lzm0q+@!Lf(W4PTD_Ge8T-&Rd{ORX-Xu;)0M2J|AuyYm*jD& zlIIY74$%(}3ug9i>vq($gL{jXksemOKW9*(hZIfwdLyM*YKFC`8K{t_p5K|G*O zll>#wFV*jwznppss8C_D?^5lf!RO?Ve^xyjp|`y=*#C9oI-42c z{fP5;OX03`!F&mPCF?(L=Ck(cz213p4{UbcFM0194Skn1bDtmC2ydMBzYV0PFcGNqim`9F!3v0PJfTdC%j7FrvrajcqWIgdh@=Aru;_o zAD35UcE5any+`Ml{tmv)FI0vkx_#iy%C_tVPf@;0!Yf+AdNJ_t3TAks`=rrT+n1By4BZ*(|Kz)Qt&ZLg#RCrU zDS1797RTPT#+E?sHjs8V4voP@XypUkHGS)(eVK<+QK6K_FZ&)7HqX+n`Y3fmW0_SzI(Rx_@!JEIyy$56MnOW>>K>SM3 z&us8)KJFw@UoJkM^)B#M3Kp)<{QR{C)(@-MmwJYJg!`xbUOo70!9U)O6K-A9-WOqO zalKuDd7gc@aj|_{!0A4nLIe_>Hy3@L&qqL~O66TrJu6ud*bbfRT|J$D zXMPnvkD?cgvvaWnjo<|xJi%`c*|E_aOrRq+r%Ay3?#X?|NPEDtN4gbd-t{#$W z7x;4?48L!Bp^ah67hVy1I3K>p2%un;B)kdmW=(@v4c_Y#@G37zr(O-*;(GMJkpUL_ zbV|wN*GT?6^5f%uEAV4taLLgLeES0~&M>`R8IgY%avY%Earpoj@jK-2h;cF(hW$V-MOza)FbR-F3}p z-6*x!!xs&b;BC-NVRt78Kzm<7YYScp{Nb1!@<+YE?*Wcm569;=kKi>XIc|UYZu6`m z%I`z&uQ~txQ2f4-U>%tAmv*>z%88cb>S2BT3i$Vno=ehC^=j<=A?Ke0|AJi3zbwLS zYg-ua&wPs#(fzMV?DK2%hc=%m&wBp4p}UoJr+2FZf#u{6=7~(=-21eANhEvS6t6lP zRmrb&9N&jeJkFkg&mQ1&R1zgFaqUoYG51vg53dV|P6hC%fQQ#@1g`}y`tknW1pGF3(EiQ*4%sDx+#R{9MY)_exI|ey{ zgqw4#SLT{8vQNBZvxy;q`1GB|`aXQrSN&w|51$nGCOkb=`v>c{j9}T%WD?_K?}a1L z);SLOUGqO{rDBC7;Y9`7kaESBdj0*Y5+>;Hv2(T@HOkySMN~td0JV*N|8x4wCq(Cl z!lH|3w@>^uSY36(AKeZhj+Y=o%Kd9Gpk zZ0lEJ(A~uNyz)QMYeVMaiE8Ce7$vn|KkNE`q@D{5;{BugH#T|x`W9y=F7Ch!IKQBK z?`tuO1jit{y{w!447yjw==MQ(J@!2!IG+wGpv!w$+DV$XtZ-eb5|lCU4?>q^Wu2p$ z@81=G>gMr5tjLO&zdj;+EWeEQ;J%I8|447y-PCMae>%oG?RMl~c_W`BUl)ATe|HN? zyBE|CyU%0_ZBrEpqRRdhK3Gxd!Nl{f6{Z4_xclzjW7s0mf4ro8q!-g_HY#R>qN&T)uZGJ)|Xf(eX@xEOi!P| zKYL{I&IX-MwD>zfJroD*7r-U;lXmzh?tiJ%SAjpJ9=uP_hh`%4C!-*`1K{sQ4{B>a zHS%K!_>K65M+9t4up|134a+f`Up|{_tET7)(o01%{{P(J$=m-ky=;7;_8n)R;Zo#e zc+RIves#mAjCy@Ya6Fh>Z()9^cj(=qxNNo-h~0k{&(`=@4BkTK^{*B+f^s)gvx5T4 zA0vM)c5CArbmRNh73l3`@Qa1-lJLscu>J#{?Ry#?mk1EQs)+Jy$=^)=`2tuz=a+1j z;kAD!bf2c4Co111;kARe13dFb9^P^vPx(FMA0}UI>gXy&v1IK}e%0paKCSSEfX@e> zgs1#*^4F0c)aS~4eagu%xf1*(!;}9dPM%!nQ($@cJc9T)p-;_&W~v#! ze~|!&&qk4clZ2=C{R?&<*0bPU;H^)nPcLxEI~BbV=*8#HlH&k)o4~WU$K+_t%OQK7 zAb<3{;mKVuY|org$j()qQ5ZXTBZcJO#lF*N)a$5_Jxh+3tJ0~mDdbRoC;9W24|{&d z_2FubuLW7TyGS-vH0f_wj!v;f;$Q^4uzbhquNz z0O3`lmoJ0&V&%JJ{l5kOzHE5%til>ZvuLlZwM9#Lo_y^0Fnb4I@KxT$s@gWf3gz9o9r?w2w=e!?aZC4l-CFrI*Cak9#gD)=kE zhWX0--90red4J42?|K}tyH?0byY_?67ojuP!Ss;*v_fYKbo}}h#0SB=PUCjxG+~tK zt&#S-8a`)+_(;*D8%Uw;`_bjlT_Ak+zQ6Om!9Dm7KkO9L^wJ5R4e;^b3oOt}5YI6A z;856<(WR&VR`mZe_=e*_)n^PotLum3-!%*Bqs`F|sy=2{SRC{9P`p1ve?1bqH4@w< z*-h1)N?N4Xy{0HeiEHt=mU=kUc&ra3FZGtyk+AO{g+#lwWV%J^u`^%|5UCKE||-Fsc`bQz~YzA6Io}0&xhrYGV5|{xz+6=_Z?cv z-6wwN;RpPV>66oFh5GDa9`!_mKF6W6?gRfh9i1Q97^72(2-R!=9EQ%1Bv0UK`mJ=U9jo(oy+C&{d95ou90dO~;*mEA z-zBxv2=MujuwN{_BB$$LQ{A_+@`c8&*7MS-e<8}wU!obH*a>5fCU5xUZapY(eIx^>v^l;6V& z{IT7`J1~u6r2k6zRKdsgbsZzwNlPpK4f$IHi`j`>4zF&P#fDk)@9pg4X&uVW*Eo9W z2mR373cdFW7T5{;xHNAXPOV0#obnGrCp=E5FHZnJ3>`nNbbbXo!Tr7}SAHYH>co`173ogx7s^#N_EI z^fdkq-F;woxJq| z_9^9I{1sf$sld7{gZo$LLqSAcgDW&LFJ2T%L(Ht$HX zbG^^8J~}+9eRfH1@cj8#(2l{q<0>~sxis^;ePSB4&jpM}U-H{WVR!buQ0p90gvpkT7GlJUT<7G@i!R(&}OZh|7YheGhJNE|GCD=dqbRYCrIi7l`T^pgZ6S(=O z7@hh&nflq8&`Z1G-v!?BFWNgfJ8BP%AKrNS=g@0JveN;|@Bi@Vp@~gi62x{`| zV!v-MbdM8VUF940wyIcJ{_P}pOP7aNdMoid>j0Q>68+3KqLjqW;xCN@>u2qq{I~$@ zQ-sM&?l$NiMDD*TpMI!wiZwb=A8hxU{ZudKTq$(I`jwvg!QYDgq$L-h-3!|}3;P>q zSlmUZOm-uGBb5IIbhh!EbM-aB-Q}DKolo#SkF$ zvGHbra%WI3=6~d;BIC^n<+f9<(?fsa{ zKEK7Sezfan=~tLFevTDxUa=B<1iU%Wvp7$$90m@MVdBo_@vN+c=o%;2Y<_C5QT)^dHuP#F|!JoUhjgI~D+sC*0Xb@20L7bVHx4ty=}(*&@7#RpdPnSU;M?(+ zBQkue2dd0|-1$rI!hF#!XFR(Ye#i3LPnG=W1izW}-=~Bh#0xf#h9lpBRQX2W-=e(PD13A~h<>*MUr+f;(dT^F8v4~z=cJV1MgA7@%`f`$vEHb~ z8_{i9LA(XsmkHk`;q3x%GkEg^TUI!(jF8^~p4ltQ1v)ofPtghBo4~X96urARH0hj) z)~r|=t0IDq9UTaL4?%YJQuu6>94?7Z%bob|M#fVaPQWKA-fdvnxjs3rUSgV(9xB#w zZUR0xIv#pd^EU{eSr-mZJ|~9;pMv!$i~lWdk8CLFl~2)a$8p{O-Am+{T$23d?fCm< z{Ls<-CrSQbee&Ggp-lGl7r+1VdoPK`F~S>w?)QOzS_F)) z4s`bB=^h||0QiE?;4)`KWDdLd$RjxJ$uqN zN#y1aW;VJ-2`89;YscFxg{Jg0LLAZ$->@HS0p10_ZFdh(o+(RDYLBp;HD@P_=#cow zSchCSTX!raWaQha;xgX5fWM79uu@Wei|=MUdN1$a%Kl^hCsf~?|6l7n#5i^&{KDf* zH7wfUH?NEDKgnJKel}mXd5qnwl0BC51(E)$r4;G0g7Nt)w0}crK&k{j1l>QwPjwRA zg7rd__AYB51{Lykcu@Vacmv-@e3?7<74$3Gk&oW+fB9k2ucX{Dl>36CAD;It&FxHQ zdP2jM%8=woTEVM&czAME)DH&zE!@7mGFqJMM{FfY^&fmVl{yPK4uL%uebN5ER11$eiau0C_a+Zs3pobN#Mew=PLjTgoxHRMCdn50A zOHWPE+5dj`-XeMq>*+j*G5d@U>n7K(=ToU1^tM97PpWSp^t2xpa)(}d;B&g8_g6^| z2Y}C|y!n`*9>f*-+CKjBBp~JJP850gRKGY2K1T>wM#t z%m<)r^HWDyblaf24!x94NB1M1(I?TZKb?39y8rTpN*Jzs_5*J~e*>Zs)Dyqq_QAQC_U7bj+IZB5pFJLa#lpwYU=VpVoBek(EF&QsBFwvjKU}R7vmNg#3(6ctyzfe(=Kk(SlEaw;TQkgs1g` zpL^>7ZS?0mDPJYHOY&b8_YuF+9v8XsVVZdHT>Au5V!-GrPI_)(eSRr?j?uut`fwHg zFE*I@%S|@#?1R7dmjb^VyvHrOb_%nbYSk`7^oM`FYOnVlEvCaRf7xvA?wredD9Yud zK6$taCi^PcNc+R*7yJ&{7vq4lFZClf_acT9vUAST4d?B>xcbf588zDvw=-;}#oNEpEwt zH#(}SuxFPg?`FRUe(x3_uuFT7E8}equBH42flWl((^;PMS-y$-Z62Qd)l~H9JG?-qfG_Vye8Ux=Qu^Oh@UeBLi(&;scGCr) z{gf*fAD4vR3w#i`t@B03F+ODJw5xK1l$(VfZW6AyKIFZEgpK?6=t%Es-)EsGU8h+7 z)=hYw{49PC<16^zj`r_hp2pz~_uc`{zAd-*^4z)w`rO(EuD#Gl%HUPrM4E{TUgwM|Ak(BJ+vHnH*|t^qs$tAT$a7mlD`kUQ~6Ci;l~R| zlz%PNmLzn}6J|InXBUiQ)td^7yo1z;V?&Hrh~3@?_s z_{2FN(U<%U&+t`e(-(|-h9z_NqBwWWsv6%!QiX2XQ0{T zyTThJzlr=6em?JS3vUGYcKE&D!TBC4N2fgt_x1C3@XD0$lJH6&Wd4Ai3<_rT%sds= zPZRpPG^QW5Pa}BS!5a~tjh}Y!p6z312BPtX_()H$g3e_szb2n=C(o(@^+K=VW7FQp zRg?K5tOX0P{s9nm1k9=f61(Cgl7pnqKM8!LIj zYa+kqzXA9@>5;f8x&GO&q!R+aCQypsNBjWa_iB7)d#_+zAxMLM%tqul7qnazk7J{I4zI|@j(#31moh8+`)AAE6MAb*6*a} zA=a}uz~>L41qaom@?re%N4Up=-{KPQ^AYHjIU0IMo?XysMxM6{5TkQbR2;LPG3dM#I^pp^`YV1v^DF4w ztNB=%iYaand6@Cn)};8U+l6pl(K z#g5{_oQl6)(A)fG-eVQLbMkf@&O3o(mSN9Hk?R+j5;$>4*$QyU3sK;hMCKO$bQAZ@u?T2p7Cx^Z7 zu!^oe-RA;U;mMcnr=DSXWOrlW?WWy+5VgDH_1EU?TM#yJ&H^d3@3uDXS%OcEFSLU< zKEgSQs%U$wF0H`3fZrKm8BzhbVXITch}u;Ew@+ zCGdy%9pYb~Tg`Pl%W`WM=GIA;3w&8r%-Z3DeD5MguZ6s7;C0yV%cs(3(2sR~mdi&r zrS-ABbNR06Lib(M3>W%MsbqMl-d(JFO;GQ5@tbjNQ~I0`k;|bBSnWHAJm(|lCY7T< zC9hM~>#NLl1Q+MpM?_5F0dF`Bqc#zaDy5U;~{8#}99Wl^)Kkih1Klx{pKPSl7 zm8X`JKSciPLih-r&sX0VCw~L=vhRgW?|+x`e)&CVtJ5XkM4lDU>Do*7(#5{aH)yZr zv3}9|XgW21M$|4hYE=le``D|2%<9gwbfPVyX+xhS*@in&HQZO%2JCye@zJcE;p_1Bx zZXVxHls{?$PvcFG!<)u`C@x_VJhj7+9DUH6OTWF`(JQcrWmExwL;dq+rgm#z!Fmz; zvvp$Ok_4ZC-v0s*x2NDG|3!NO*EY1D1g`-8lNem}tOdT0_V?GDr>UpDceiyq4tA6{V<6ICI2kWAmTr$I-+Cz#@6YKK>)qB1BDfz!rDSut?(fsRV0qV7` zazXxlsPg;BpG*E}%BM~p*sHH2^}|8oe|&iIm9d6i;u>W29DbH4^3i=(~bHjnLw z&t~d*T-2Wi_jWB8$K)4@eBV*XcgDt|uIvN;kfeI5PCtn87rbOE>t6J;7Rf~4=F^7u z-bmN=jH}p3XgXv5wwChiDE~#35A?E}-uQ7pmNI^KvF-)GVwH1A@J{d#f&Wq;$W!nh z;Ddg7=rVCJ{qzIhM>{Wx>W8)r?N4zdXv7hO)&sj%G5$mMSmC=Qe#IYS-;esm`+YfZ z)z7yzp{QR}1K+~@;1oF!?5&{R2lK85?zh$|VM537PQXpoZd09$`X%xg`Hd-A_!~r? zr|{EH@H=Gx#0%kjS2G`qn!O5p`Y!%B-^V)Jy(gw?ZqD`Ey&U*j;4e`@=9ju5RQjq0 zzWdX|1>dciK#paUFH?D!RKAt+7sTjD?oQxk*!y;sO&VX&quuKg-e3x?hqdGXj)88I z@LiH^AAs&^V3#^4c2lgoT78N?fnS8qy(+JxR9xq*b}k2g2s$ixzEC?ef5_f2 z&2-)R%NYAqHSjr6^s+gMb3P>&Cs&fy1K(Mn8TR6N-h&VO^&3OCx6r_D_Url4LHb9g z#+`4vAyg2W(#tq>oAG0Io|AoxFx^X|#m&ykdpTc%9BVnVKbM|`g_Xq98N1JLgU-KOa<&@-K2PnUvb<@)YpnQj#H8c;N zp#5KUZuH(S+1ogH2ftWzjL>KSK64hJSt*IWHByOKPwBPtsoK^(?{Y zC&7DY*UH@7GVy}hi?smb@HB39f;R`ezX&$Hes$sEo}@5I{i~LB^lix1AUZAyJ_7yC zUmY&E&ujwtZpw%ESLBCE9!sab4&3Syv;(~_KTS7(Q%$+m$o+_T1$qqpFk=U2=Og>V z;rU-Be&S*HEEc{?vV(5uZiTMxH$gXSpBe8QNq+xb^&7yRAA*kgrx2Y3(Af>0g@Oh3 zK)&1J-QVg{{5avW;|YTxUh$YJj@2!|y9Z~!`5zo-%bEaJt8e<(#C&x03V z2QK*(4e*uW$%Z2E(32b2ll+~{yD!&9J7ZMLg`0$`XFcn)pM+1f+SMh&+u<`0`4$O= ze9T>Jzpfkjlj!9}!P&=PzwRnO&{e(q$=^OO?2UKqf9k6@VSR}1FTsz;Q)9sQgLi`H zg6DtFsSo%r%D+Nzm(&iWPk7}&FIc!8$}(J;R@e?*(0LR(uW>Z=P(53q)9`h7t_Qxl zg-3SM4tzcKzC#7AeF$+gPej&NRo|w&)2VBryGrHge`yPz`%`W?y-{004- zbqwbJk`#wgH+xa&x5|=4e*!zW1o~!gI;o*M1>A&5@|V*g6_1DGUcsw@Zvt-XRQz8_ z{jAZIf0gUU)7a0sxqU^Me@|^brYF&j#q;}$!YlXWOCGh^OzL6loBUQ%{YH?d3_G*& z%Jhu?a|WaQqCVmQ^4}%|%WwD1&1jaBUxVG8;qu+MhDRtkZf|mQ!|%n&F;C@Ps^r-U zohtaeN3fusY`w`ANN*3Fzi@b}SKH;@cx!g+;FA0QW9?nQT5@$?wZ>q|x>a zp?k-I;QU23{F=ev0)CIxFCyQUCO#VvW*c;R(){&6UrT#yuEL##JVLe2-o z&pxL7k<&>3@{}-5N5mh_)m){slkgb++L;rklZBrm9p07#R9#w>+am5%_&{HRl>xtl5q7`W`2eO*V~U&PtxF<(U;{1 zf4esJcfO`7xR#?lS4X^ZsJoDL9`rMI8&W+z{B^=FhQ0ZKIT+tp8bwp78=r}emk=EIF0@$%EV zZ%FCy$V;-=8hhG#F@7m}Y!krIh3U+UTfP5Sl-^Z5Gv>6-Yr3iEBbg!{eWo3T9gAv-q)U(GjuNPzKo zQ1uGqR+{`CxRw34=LN?ls&AFwVt*ubKNcPOSijC|Ctm-md4ATFXQvvQ%q`d#o0iGi z44qZZQj3l1mDZuAA#aX=G;NFd^iU&qj3&X#mtOQZk@!o4{R4XV-@n27eeevPxSRBi zLI2V7gY{D7Q1Wf=odEZ*hbX@)z;}@D_lW`Hk??-3QTY7}eZuRw4bW|%eVTn3WZ$M}KO7Z5AyiVvgLibOl&rH`}M1StkDO^v;-tJXYJ>n~yoPqC60_-C@ zHws_*p9k4|%PT+s{Wgv9pGI0aTN0AfayRcOLe5LB5I!ZR{%PiycE6fEJi(8N>&a49 zX>}=KggJEtDJ^{)d2Ku8a;gSsiFXyHHnD|ZbJ10N&Vn8gUHBV7?k&H3HGA)o{Fqqo zqSVGIiMLOR6r3(j9C>JJ)0A0w!R-9j7b0IiiEnd(uHcj13)VrFetJUXv2jX)@yScq zaZk@wherQZp6y%MU)^E-6w@Ac`_Vn7K`OkP@HYs*Uj(`EyK>?EgwNQ|{Tpt5iT{M^ z;+?y%qJLO%TX38&zT?o%{3q|(&e3g$&Y6!_`8Gp$YKX2Gyy`pn?{6^fIB-5MPwkzQ zSQ6b~r;9l#IWlQ(YTu*__?)e%2Nm&cIml{@6v*GblS28cc(NrAkWbq*Pn(!M*)snm zpR-^NXxl&ff2_-{=VG%sYh~7VN}gf;1AK`h3Sa2VM^u2Xd)qE&AC&P|A9b6fDZez~ z<)ynK{n;v5H4(m*@b8K*_0m6|r}yB|^{C&WWZhLttLHlIw?Us0(b-4k)(gKGZ!fIR z5aBxtgiD_>!q*(WE6Xr2LZ2ClOR+X#g;XC(nD6@beZh6pYVh>4$a@F;_^$Nj`87)9 z4Tbxuvdg)z8@~Q@sw}(UyMcYj*NQK>WBm=i%#v9U<(KDhNWUR$!3W@D=DS40BR<2@ z4?bo-Fv!QA3JdZnV_x=X_{=pNoPWyq%0BLU179l$K5c9gDUV-b)TjfhBYZ9SfLrgk zKi<5V*FV;!8rMV`A8THX9Ur=vdk&EIy7<{g>FGtzd+xXQwukD|^=>_~@s%&b#IGT~ z>4(luO+ABgi|}#qRp9PeUnEuhm426dgTPg`PJQ*>8*eu_Qc-6YFZ9V$`>TU)g!F$x z9jKSj@gF-=R_6W#$!#ItjH7o2=8c4RfX@W?4G)Z--QXM9PycD+xR2uZflr}a{qx?! zhrkDEH|l=eNBAiCNcpb7xKDWUd)mJe^e=^%fh)e>?-X7IzLoeXzPpd`I`A#vZ*@UF zRbEXt{^`O)<;6MG+ZZQL+wd?TH&+*-PUd{%e8O3aMd!Gk@p?}>3=DFWZvCJ`Oy!bHKgkTf$(YL z8VoWdci(}^w+1@@IHZcGJ`YNBpzaqZ!PVJkSVtZ=G_E+#b;wyHZnyFFINv|g8bY98ii)eX-w}Mv_-|V9| zsDpQc>wJ*$chD=o-uBOTa=wB1kJ`BU5TAbHH&Pyxm9H1lJN(A!w=>|w#Q&2bE(gB} zmF)Xtl%8?IXJS8a2Xy{vM&jX|o9*b=!TQ_-+q3eY+(+`Np68ye2ZQ4T;dS5-fcv5w zU%Ux?J?pKXmmJe?C{b*r4E0}WCXgl_#u(^y}8kLc{9`0d~`z>gNjdc1p|Ru_0J zxZnOLelPf6rN81M-;F;2J~JZzF!)a*;*Wz*kBDE|Px>O_SAt7_|9YSFNrT@(e6?BW za!oQ$!==33e)!>)GuS39Eh-gREeC+|B&OF(@ z!aYCBn-8FJ>ttJKibt^x-)`*P1MoHei$NVc`GcZZ7JRnF-1ueS``@`M`*;Yi0$*RY z%Na-d_|$>_6FwTIxsTG*1ips)@`wxaDZCZ@cf@z=rh>H6ngB_?C$H_2A`{Yq%XZgRB08@pf?Se+c7U z;H%*u#(TjV!NdN?0Qky?_`~2!BjS&PZ^AB>kVf}WdP`rTJre&x7Zk={CHQIBm9RgQ z2H#A4v%l8TD1HO@+alt(fY%^5?4NXi*Mf)B+im0f^;BEy1D{F!izUM@_)}}-Kb(`Br%`wX;a5OcEDCdPCtbCVZ<_FO z^zhf$I-)j!%YL4!0Q9@Vc@H7_-Np?3^o~hvd$Q|M%bC}1nLNRWK>0cRFm`Wau>Dqn z_ajH=GjHL$PmVY4@aE51w^1a=FKuBx=}6MGTEM&sgcEGa|A*Lvid}j8#na$hk?&vU zG35__4E)3Or3GB$F@Ha)eC`0>20k^{Pck3im_H+bfb#wY>G!vD(e*?3BDnEa%zC1C zv8uv{2`@&E6Z!7+S6aDo9_3&1N3C2?mCqmjf^`?2V+B@eyT_$|W4{3$ZQ{cvKczm>P_6Czn49k_SZsP5G|E}yWll<_~ z<<)O5U1qlQBZp~BKnoBk)L4?FSl>p`>Dog(yUh0k>OACo`De?yNO#WR>5&Sd4M zrG(P6U}c6JCi{Kq(E4CK z{Qcu`mGvn6R(^C>_O$~1GVt^DOH9I-&vV(&EygJMf5K0X%AtbwimQ?5_j6Tm8h(NP z_#MAf#6UfW-Y?Y2y2a<=^M1v*kN9-MXWf70`IlrtG@lH7*1*SKuauvo@R@nquIvX3 zq<=v${YC?&FA2Yo!OzT-8x-@vXZ23()5msYPb$EV`96Ps(l>fP?QuMle@*b82LF#( z-uh6wyWqbc{)dTwAphd*lF9FvwC;6qDBa>S44-w}`}W>^K9PQ#*1cY1{&ps`?jt^x zuQH!eW9R*X`q)*fpdYDqub;rj*elCOd|KeMbk?qHO};)$qSDm^pYOxRU!E$LKKSe; zU9uUn*B`fbrHb*;6U0ASc%##0DE=t%r_J8w%mWZ#y@~0ci2nfbk5ha+A=;9Co3E|k zyVxg2xW8VCUp4rC(qYCuqU8}@555;U;dRMo@RjK6_dg`R9bESfYCDC>xs5|U{(iil z@>`C47gIFR^+C4*Ij-GrV^zqFBR$5UJ2pfodFV%L;SFxlL4OzUII_|QT-bOUr)JRFECJ#ZwyyIqo>xr zN|4*+GT~Evsx$a|@Ge;vnYeefU5W1Jt-YY2Yj zl;g|7--KQztOupgYj%iF*&f zJE#yZ@Sl+1`F!GwTt3pHo_Jf4XY2`5&ZYiJ|A8l1&xO8_o#}vX8gj$+xEp*b_*>xN zKH}F0J_Y>C0!bI=q`u^|KF80<5U%oDMsuhAE#-XG%Gy-p3bP|K{yUR*(s%3>`foQ~ z;>9EWWxpc7X+OrkY2xAaTy~p$>cStr3%V{t;rtU_J#_nM7mqt~XZWsXGIT@Gsowhg z7wORfoyxD=VP*ac?*@N&1l|XJJhB{K6+OR#O{3B+K*B2V&cC~IB!$cI-TlA zaxaSF-`yoV><^#mR1w$168}o-(?0a~+jrT9I{0j&+`lQmlXZeTKT+HII`Q|Y6FH}F zX|dUF74QM+f1D$88;(JPaS^)$X9=OZIU0PV}f}_Udo%eFM68PaU_+_ z`tRePBjD*8cN(4CS%f zfefzl=!F0Jg}bu95E3d6?;3AUPql;D_&w(t4$eQ7eFi?YjO*R~;r{cUOme#KgH(y& zrsuXL8^%g!2mV4Wd@mPEoWnpY+W|`7^slks$T9nqJo|E%=Ia%O80!e5Dh9Pe9!&pi%grLiqCv_r@{a`tdSsM0apF zBEA*Bp?$dPY}DPj<0FZSNsspDKLB69e=NEN=(Ijps`AyzjXT}d9EYxMHu(nK?Y{CC zT_<#hZ{oe-4&Bm3b=);;#xC^|e(Kk^XaCpQwZxx_0^vi1&saeHapmfbCBA;5AGv>c z%M$A>5?@ zx70t{-7>9zsJsqlMSvX(uAK2X+*GS&w!bicM2KUPmo_rm99-(g;xX$;6(@_Pk z^T1)e4t(e0V1CGsHd+2=zSOH9oY%M}r@QLk0Q#MTelz(VyE0gFq-PI&=11t?556Xp ze~O<07r$_N$G{sS;+Krze?-Ku0ACu4FMX@Qbzear-)S#3;rBeZ|1%c*742n}!tEoy zTA)*Tm$)FG;@1Jb6Z~(&ZNEArKAc-88>QX+6@KLkw@)>n{m^ZseqJNY^E*7dJ{ucz zLCB+UnsrR&(}%r$2EG@Ip8K)_{)w;MRQ{g!LA;|C55Gz?qo)0XOa6Zg54A(RlT`K7 z??0&>`~*I86yH8dM+ba%!ly@=*FVwY*z;_fXS*|$4y&Ki(T-h{eOf4bW?QDS0-5u( zY=5o%A45(#_v$InmCy16h4+HL2))1Eh;PLoieldaZ?f@o+c3-RE)&|Jc-0Y4=lj;$ zcx~}zDBP4QKkZ*qy8Y!|N8EPkW}wfnMMt{x{5JXsyH7;ts(M+bEqFpo>8NAg|7zs4 z`s}pQF)ID2-*Y90dcrGLu6PFc!PVWkkK(7n_kBIMpQ#eO0enBW z@k>Mb7+>x-3x|{Vv{V0P!@t~t%zyFehR@W;^49-o-|_Q;R?@K}(*H>KyjL7%5raM2 zrmNtm%43Z18SuM6^#i@4&ynk%mB&-Hy!GqjsoL56K$eOm=qgKZ?Qi`V<#DX9z6o#m zBmQ4ca9@2DcnkQ8=(nEll5fXJ-u*-JiMUV^Nx9}L`_Kd3e)M+7X?c26XSi?uGmeD_ z`o~5e{Dog4_d}9vpERGzKXJb-_*-m#*!IUcQoB#fTi4epdL*iHO20bzNWa4^pSu|h!Ep@v)i#+c*R}aGzlh-A)c2Bp_S?W;w!nR) zck<8J!^cOQedAtvcy?D;V=gbOcjiI%8^hPkYgoqO+W_BM_}(t85MRdEf&RwY=`u*F zzRG$Ve2*3VIl=q&so~y)}Hgk6zI&G zmHh?(Q{|`n?8T>D=uTk2*Xh(R=|30#{{BHi)0B>9d$0R?1N2HyY5InY3q@bQS*yexLc1D%j8?~uh?(O zceT7>ZB`;+y~+7pI4MV)zEDte@uVMb|&WEFtZM!%Ci-^Ht0^Uy!4@RXn}4o zbQ=YD=|#`zd-;Y**G2G|ulV+n{66@sM(>XcgHM~@sK_{1+Dm?h@J)o9`DXkz?G6y$ z1>OL^cZkkz84$k`2Gk?yb)s;??@~88hOQ1hJ_?ITW zgYI1lw~xsm=%#_2{Q}6-d+mjHg1;49-=&Ant0~`lz;_~Nv8|8n(@o7hU)OodTaaZ{ zH|IEnqAkN8k-dLIeC#8A$D}Xy?R&!DZ~ZwsJg2;eenLNw{GTh_K9XNKhJUfyp0B~) z*mY&v1N)6H4EE<~;x`a~<~K&NL*fx-pG<$Hfy2`i+HLJ`U4h*1i;sPzPaph8n1?%6 zn5PfzrY)%&Ptshs+vKb2(RNpV%cq*pTz7hsAfk12n`R}yaggz$Um{^lmz ziLd%sPd!_NoSPiT{IBAF3w)jd-zLP%58A&S=Pbuh*c9}C>WJC{-3aoJ)cg!|wjc8L zje6q*%{?aWo}eR=eo5xB-#`yz-}$Xaa!UWKCU*scEhenif)MTUnB1zzPpd` zQSd3qdyfn9SSSab!MR^`i`i_!Z`zZfAp?jawEjq7$U}tRoFqehR=d$}b6!WL} z)GPSnZNVDjFs$Zd7=C|)UyC64S-+X~5x5uk!U*@r*o}&RGOyh0*<-EXO3!NW>E!1o z%h%RN_*%c&tB#7)j4*zg7SF6huyXF?yE6Pa6lZ4~U((+v7-TE_k{Ipk6G)N7xMd0+1v2U-s-W&Hd<=wt5Jv+1tl zGyQMu`!~JwGg19J(_n$|yvnnR@=SdvI9^abcEWEd{EiCdqc`62&S9jr#x@k0HJ%?h z%KYZzTUf^wKl@0|IC9h zJ2y4$wgmOU+Fy3EF>m3lyyd1X6xp!@rSud3e#VaLjKT7)R@x3n^>_d|n~-DX&ynNb z_xMS-H5snXxMz%Z@d|v6Um1To5JTl!mZg7Qu`7!k?Qa*@*EVjAtBHT1z&xPlIjhMB z|N4ORYldGf`Ze-h`QX>jzIDi*hBS7nllprod{!&IeN=CH;nN5oGmnE^Ta8_l9T)(g zPyEj)F1Ca5m^O&;j_1@A$sZ+r6X90}(_`#S;-j=ipW~`>D~rWrQ&#SB-p|Lq0)Bn3 z$HGjbE161HLWj;4gBM;LFmFh{InhBqlb#LGuZDiQuigo70l&MC`_K9AKEgY|9{@ka z1^E=-4Zidod*0fH3GV~%Ccclo$%i2u-^_QKeE4L*uPP-UE{85S5g#@)gs4~ z8{*7UQYZ6 z6xaCK?AE)5n8=jB^cZ8^;ZEe4c~QmX5uS|4 zV-JD*$F;)Cz;8J_c&=FbRe`Sqf0*w9dE8XsXqOv?I^~Cc%i&+5`1Xe25Z>;FjuMc{)kB(K6N8!O#}TZ-+lSC zBvsBE#hqnPr~VS}4Cp62@$A4)Kb-z>le|-kdctfgDQXRQXyr`o5eC|0pa6W0${o+WuzI>{qe2YT)r1BU*&Pw{t zN0k9yfA6Kw^FMembmH{n1cEAIkz~I8Yozbbd^h*<(eH-*k2>R15v=%ilV~qb+xtPh z`~Q*8E9DmYZ#Qx5Ngw)Fk&dMJYd+5xr3$DEe$xoQSmELR!tNBN!>A44zdHn74SF<* zj&{Y|jA{R!;O~c@nNL<2PXm8R4hqyzKA1(E*NAbomv0OwuA&wfcx~yq;kTYT?Pr{N z_bT~#hw7bulwYmLUHM&muLsxn`1_am(qIRp^6er1&To6`a@Jq*%GYaeyie-v2};+| ztA%x-OOWqhA6LGYz9k-;LH=DXUCH-6e@^e2N(Yx$)gFew!+JaXjuV}Bu(6^;vBDuY z4Q0kpE%4t#ekWx3qw1-b4qft_c;zjTNii3@$_@@tPxsKDeaKWK33u9E203d#Nq?qF z>dA?+Px9{)pU`<|WQXebnIcztl`_xu*w*dY0o4;mK806d9r+DYsK0C3Zyxl&qsnU$ z_ZTM5jXsZU+L+SW&qmCDJhwf|wu0OvKcyczJD>l5_kJ{`D|t{nHu(j+ua$fX)Wg%= z?$!}0c~!(;a|8QZtv$2#!<)a-&L8Wi=E{G8V=0u5l0MFbqOX}Zci5Wz?SOCXjk}!p zn&a2y=4H#xerjtS%xkKQy&ostzlV<*ud>PZg%{<3ap@F1)m}32TMNIxOUA_IKaYN} zJF@hBcDI`j^&#XLe&Wfa{7WB{4=8b!lKV9(i&$}yM#-OW#?vP-A z6jd*mrWy}CZ_`S@t@NBOz3n484aL|u{F`qaSPuPB{6~?k+?W4a7pOvxzurhrKXTTQ zo@r|TUO7jlhyFG3mIIA*d#E>uA?F2~7JbM+t}KbiX14Eg_61PRtYew{))A9>!s`g1 z#<=9n1E*K($d8y8hJM`a#%4!lgm1)63~9;6?xfLYoA}c2MZ}y{ocQ!a(+Q@Yj-ua| zwq4GAQfR(qMb52WVj8OIX({!jvp?wfnf8AO{w3-B5^Y z@a+=4eZ;o|zB}PN!{%QU-%F#}ns(I=-wya5;WFh@GKS$>L%JW*#sRN>MD+s;Qk&z6 zOmu%k9&fKrZDHreR_;sR#@`Nl!JS;{vX{%*Mp*mX$A%y1rzMHS4FKHb?Zlc-thvOR z?Tck~H1_Zs?hB!OU-Au*8l-!Q`gZv4?4)2n>FMqHC3@RwqAt1y)DRZrYdgqN9ctx~ zo@pEZLmEIujcK(aX6L{rGfg_3O}DvXq z<%7GO{S8K6z0Cy!?;Dtlrk{B0p#LwIm`~vu@I#Or9`BBUALXVGzO@vk;+Gs2kBuPD zf389LSAg#Wzl85GsyT-50y~Xs=+cDOAb*m=?IV5-;L}g0{< zPvKSIM-tyx9SvRwJ_+2vPOtb);8Wo!#W z8;YL+|8Ye8G4Q<+@k`i9{YXUo3h?{DKNsR(4L-eUw{uS0hAF-E;D054IG>xrrT@wh zpLXyW@CoNn7x+6O@~0PkX+-=1@ISymTrR`lYa-&0gMT+7eklhQ)v1+rcsuy>;P14UK7@CH{{URy-ACVh z!Jh*U&sPqBYyXbf&t?f^zlXseB)&OEz`ih@9(N~peB~3!yPfauBfJ?o635`GJNV{1c4z0v06YC0A{-4xr}8}n zx_Z95kMKU|v_CDJ-XZW9_*IIm^y(fKpa0oK_+jvy;WFb>dX!9Kytsb1b3X^OuuND^ zac&=W%AE1)XrSK106P@i60TE+}*-wz*hq5kFwdC{s%v(}>Ae%SZf&;j#y{Xa z6xwBBu^am??c|^7T`>caocw29OLGA+vJ-kbtG>~*u!hmL%Lst z9uNB*9#j5DQjW>N$ovvrJK;6#8}^rjDSz-<@XL}!DyYAflIxQN)HmgvWdGD7$PfF6 z_e9EfF3lZ^v&RM$gYfXZFc3uaw)-mAl=^saFH=*$s|mg-_?q#8;_!&B z0lIDE*D(SNop-N8HBc+zI|(=Adarz$w+Ot)=2nJvc@U71s=)a-cDhxVnhcwIA zle0rU`&!Dn^6Tj3wjGg)e=~fx+_^iuMu6(dWlp&aa~^9q@%?sHv|YsCPyDMD-{{NH zH`z|vH=n##=0_fZ-YpYFS9&wh&%A4Qwnl)Vzada=W#q@Fp_6Xzqx6=t@t_8}{|NNb zyOQ)i5tUx;ADIK6&$~>-gTDs&?1ztEuR8D+@O|LTwjJ4d{HSrg=Bo~m9@aY*`crx!u4LywoBR0BI|Nk8#3xNY zs(qXJE(Z978vfPg_@nq4hgjbFQ2cuEbrEH+?kr<}171 z`xeTb@;%SAHRXrw%Bo3&&iseZ?zTcV4LV~VabP$KLe}cEf|HM3gxBJ?yo=xNBYwT$ zW$@Foiu*{90r36z@Ame!$#L=3=Q`HA{s;ZTb}4xb^#MJM|AiiPXrT5}2EH0R7R)!= zX<*;vcS7blchBqq{>KBzGyR%XRD4_DJM}^8Uy!d?-GRWET(C+L*YFDf$+|DE<`;NkL(qTDTVNpJJAZHbFZs5E7h;P-g z=>ITwCCLx!tDUFy?8-_`!K9gGk1#Ca+s?e^t?+Gfneu7m!FS}*puJRjyTSK@_bYxn zHS;QW%m1~MuT%XEeI@6l?uM_wzLY^S4E>s~@6P_#p`Q`o0A1R2?}n}kx@)16EccN< zWfjtg_pJ&fo$OIEenbX-mlOX3!u8S&9>uRC{xr_}oiBjgkeeX9pMCmQ5WhsYebRik z62F%C&kFO}y;r~JBikm=XBsqqbAG#bDz>Y0$Uog!RKP#|U+lxbtPc8+e#!S>uh1jh zPnCgBC*S_d+GX2MQGX)O#XS`{EcE$*!>lJL-~96o>JQtIGZpz}pEUU}L4T-Q2~yP8 zi0NamKP+KiK^<}oKP8e!^>!3F8y?%8tqt}wUVfW)7w-zSXS2gj`6Pej1nkZ`eEo^= z^l^-z9}m`B)w>4p!zK^r-j^wJ z|G=r7pMg)<-t|Er2fttRs-G;Ax&m5(GK6n~|BsVS_yO|ujH1-)y40H4skL+IV`sCi zd@if+i&Ks9*9v5Kyte>_qqp{3WXZ2$**W_tUs{f*0G{0K>_?X$$c`7+PAj~V@J7Pd zipGv9+;HWG*5RL=lAj*~&^-vgP;~U`{`^)w8zp>X(**00-oDb)*&ow*pn6upJo^uS(SnW{P4)YvN>doYCleTM|?fzsUp-DdEp@>F;a;Vb?5!p<#! zzErY4dPr(8FyF3vHVoZH=x*Y>^!bEqKRI;cr!RRg^B>r|V-=73r1Slz{z3l?dYSRH z9r_5bw($*4zv-SY8z=tPi0`kj%Kv8KZ$ghJg6+@ikI4VF$%|8KFQNX`J3ij)1q`3$ zcfE~uQRKYNclW91%Mfz*_2O3)>R*kVWvOi}hwVVnHkO*U7A4+Fd54`V>peL2d5nF; z&mxay)ZC+TNuNNuJ-yr6r>gp@i6cuXJ!SvzI5e0aqHBfj2JonPkS4;r2%kxPJ=^A2 zp8Z9Zy%!*z+E8>g9YrncW{X%qTa?;TG>=4aF;h|Eun8)%^wYY}rReb}-`z+0m7Pfc zM7p*M4n-@F9%2A4dnAK=*&2i_XfRS&Oj=%4TpXw^k$r({xEkc(8rvCOw0sNh|_>DP2lTPw;0d(aGw@($H$x8Vb zBiXMCqu%@Xzvu=Bw%(UJ^J?BcCh;qy{T~58|9+5a@Ot>ws6VykX8j}Y{0{H^&`2_H z?%7vg>abH!!*{y$v5)e*2fjLAZu(DW+`@Rv$rnPO?1baS#Jaho93$5c)1ho|&g1jxO^k@WJdX0od6#Z4bt4ai+g?yC5)s1H}6q z@%~rwCe}myet#Ub*{vSZ(v#>f-Z7X}GxU`g8(gnUt*K3|U4(gFgnKX#}88+7hTBc7fr{z_)x?-Ktk0py=; zCzNAuzGTJ?!B%Vf$24?rg`a=^Py8CdXToob<>$963sdXj@vr*qisJC7o$CqJ$93_x zq&Zlibg54CymQbQmnbri+Qoq6J+(Xgkt9E&%HQ*EOuz8K=zhU?>_!gjBpZ=)x9Wj? zWDlx7ApeH>VOx&=be);1U7cE5@4RmQGx>&7d=Ppw|rGE!}w|tv*DBEvO z=&!EPL|{afusf0^r=RinW5{{fCr9mM3_1J0vpaiv&_4UeuPZN1HP)MomuMiD@&~fw zU&nahFYv#^$6w`F|3N2zP7-d~t0tBl124Kx%Bl9KL8qQ64v*+MpxgHB?(A&>9Q)3= z&$I6;-;1HUSK;|d8u zvEEI1ls{(DPk8c}!r^s zIfZ>w6Y#Gjd|^dl`E`WfKS6ji;rk{C?;w26dkXXKA^aY~3#D&>@U0Vsj}rce3BpT0 z6pxi2S6F@};g?JhUPt&d6NEPte#r5K`F9ZBI6-(1;ZGF^mt7kmd>Vdpsq8Z633BT+ zGva2~ncYA=S8w{v9k!TN%q<7GU&an;UF3VnG3yCj%JIUBb$ENuzG~U8s#B3OeK2rN zSn}(@PXPZL-+3RY>qnb&Tev{nHDAstkld*`=GY&h1N0$~$;ax1&s65m->rVY^A{JT z)=x_OfQ8y=VD1W#+NGXQf4P2=PhZ){&!N|$CZ_XG*f?@-0KZ3&Cr2ZW+gu@vS22@* zkoB+XU_3l992|T9j^cH|uOEIh6_4I2cjb)FhwUJ!1%5-syGrG>YQp)hS*aQ}FBCj* zGPgL9G@W>X11X$uFH9^go%z2H(-D%s69mu;>TM}1=hlOmzkaWs7v&6%f~)jr<3A>V ze&Y5x`_wxUyl3v_v}L@UJ&}aDBc=l7L}U#jZa43VRvs=#-Z#b9KGLHbc{S)) z?}B_PZXb9p{sPnfw!g%|NxY2=QT1?k2#CJo?fB>LmG15%ea1x(-&%pDzgl& zw5o??A931~k!#L>nth(+P+O97?9=AkM?8r1toI2ufApYM~A5FVp zRmQ*GLOyFgzcId};7pUr2kt!?#Xj^&u6=~}z<(xwtG>IB>QO&<4S2ag&fT@e>)q|S zCO?wsyAplhuJEN!km$ytn+~0+7mUK$x8%B;hOQdAQ=l{Rd!pr$>?#%n%31$4{HV7s zJ_f&X;)lzliTE>+bDScQ?-#iF$iC=*kWPO+t|Ce&@pYe6kK&V${_%wlige}=D~w(x z5Ac31_?;#?`$*qm_|>4Vw$Zzf@Nw{;5#Lz}azd0ZrKdURTO~+sL$0)Mex{R&orj?d z*RMM0RwCyNmu`_={~`W$q4=_2t;D~D_*um_?Vk%vwOK9KyE%5Hn|L+QoB5Yeeq3id zD!UmUHg)_B5q}2te7YJK@$EP&YCb~8_?cpjIQ8aBZy)7)2=XWU8m#iK`eTm0G51gL zTTeBA_26r0uPNIO^6ZUHxxO4Vs&eXACG+DCA@6I3qw`PpwFkbcuRj(P$_JJZ>nBk&KNWN?2v$0qi2qykd8^{vr;5+&8tgrM zZWV?;dFfQ$xjNr2R?@B>fuC7FwER>bI^Z{r^vRa^^x{yPcTckPk^UQ??^ZnfC|v_q zpFayT`D4zHnf^*9$Dcul5A}ZxKK}M9JxXWM{_rEelIxdLFIg<`)k{N9zxpinCrO@t zRR8LsuX$#7_9QhBum0gL<*gf<^PTUAo}V*YFD0jk`Nz*9$BfIY9M!Wve1CtY^rper5kHpX z$HeL7+?TmkJ!0a*n;$4){bU((zHDXdLvnhMGp&Dj_6;fE$)SAn?pxBLapJY;^Q7j0 zmq{m%hw^omuU&V+x^xcf83Vhs=g$bpi7LOvsl7#s26i7tCMfaAcM*b97CKS8usCtM zXd**?Ii)}d%Gh#ap8I{Y>l1thq5K&@@0H`bvy0Wyc=;2hcbYYlL}zsVn4JO2pHbE? z|2$(bdu|Co>{H2SRT{fO|1?)vz<$`bQ@Dc@f~8jz@ym%{riM1LUYsd=E}0mdTp&Xo zzZWjy@eWkM32W&uT|26opYr9Curc(}`6V+??CC$BDe3snLKaZ{p`OtAiv6$Ncu+Ru zsdR9ki`rDfT>NX!^SvYnq&vEOo|)P^Db4{kRg%2zx5m#Gc}V`=Nd@*dT#FuY^*i=a zJ`AIW&MO)_b*6Kla})SD_}cPJw%^V-M(d}}sy9{3iTb&zl{jy@_NpyP-8i$Jxmdi! z+Grs8+TS`ncQE@cgE;@1`DmTTeBZH|?1{no&ZvHR5%cvoq*g9WH7+qr?s`)P%Tkf8 zj;jM#G7*2Ki3p()C_S23S2=9nVD=ebdslr(&S!i}eVC`1UVXr>aD9$C4PSj${3_zt z9G7wKul3@qlVB|0&*3ZJ#1b8B_ro#5-?|AnBPqaU<(j{73* zx+j|@60cz2BQwI4Q^r1sn~{IiWFgKYIpfIL^8QS2KZx~{qU^;&mO5BWEGWjLr=Inf z>P3Uu&-n6J?Vzca^FGX%Z&1DD+=G7~7USicHU471*YR;iiqpAMsGK{6rg1&p)Y;o} zey8%ijQ;)H#nvC66%~1IF`gh75xu-!`I|xRe(L?fe0Lw=W8nM1{r$f3qhtZ`Ps(H; z4(5AQe&`0m#D-|QZw}~7PMZ1FZRE%4zWh-C(t@0I$T#P2JbUQXdv6_xd`~8BN~AU< zm!vi(XQehJYg3z(D?zUSqn9%nTlkabgR!KwAvqf`O+;4Mk_~_hBe3{Gh00R4Y-mF) z_HpvLS^i7nhjAEizBV9daQ9x6)hXSdBd zmIZI&$)(AEmY%ZA2R>%M3i>L$G%K^^?TWKTKf-MG9J~eSMQ9t>_c7fcZ zd>TXVH8q*+dbLN>FOeX&!trdL9S+*P}&cAu6b$?Nm{Si+d@f(2O%q=6?m`&FN_G|%u==Y}Hp z-l1fUcd?*If2?%&L0?Jw&AhF6@R;<2ucsa?aG)GM3Vs~%OMJNWNG?Ht;tvWB?GG{Y zgSv5aqw*zxe~9XQrigt&r2iwLXYy1X5EBdT{t%(Y7i~t)G|JO>B+Ns4R{QQ0-bMIY!j0dGe%wn>_&i-_Xy#@62;YFbFNmpE@4Wh~`G;$R^{$Gj zJ=nh`@V!fP;rc$exGt&%C>@o{@RyKxnCR>yJPm#){QUETmEaBFt3Q^>UZA-6-L^k6 zGvhY|mwik*wNpPYf{))X5&v%Z)PtM(7xF>(#4CULz?FY)`GxO~&Jcb+;TK81@`8(6 zL^lRLm2_+tZt`_8uImH2b~S*%*a4ltortdT4D1y6rvh{rnSJ0Cz&mKhwTbLPqs zAU<92-voctZXDQ@a|?Xbe!nM-b{+qYW6wIk&&58SA{_p?bE@FifVe7 zx#h2N8zy`+cG0X$dgVsWn}uLge;p}Kdg_V)JaSZq?qkaTOv)2J`STvE8-&W=q@VcP zh<{DcAMyNr+GK7Vw=bUPnZO~DF4eEbVyB_kk6fkrH0ejq-e>K7b)?UEzsR|{cBy@| zJD@Xm)Y6LIICRQSf4dZ3dKL=zjX3w6sD85cDZB%_@FMa3?OXEG#D5BW9p9o-l{SIT`}F+njJIStHTf8d8V)`w~T@Y@N$9}3V-?D6N^=5O?Rrt<^SAF>gR1(Op}zkS z`L(WaK83fQgMWm4eRm(z{=wIPhu%jPHLsvIioJLs`3=k)eGB<)1IRtfzj5SDd-+ZH zzr_1SVPD$h)-pBzT8C;uAOCnH4eN#m z)_uXBJFuL&I2jK_T_~!2>4r}Y`Ysb6um4_@n!(O3yE$I%Z3sOEkZ1g@+#4c9n7Q8y68}acWy*co$bZ$svJISBsl+6KK17!fN|~f!FKJ9OEjha z^H4pQUu+nNZ{^f@tO>qPIxKT|4}3S!E+oT!6u%#QAMvkpK|Y0Nz&8=UCxnlIpM1ff z^Zrj8ruZf2#bc*}Z}i1ipI8AtmHe+4PJQvut1+pj;UI3hQ$bY@Y6o|~$E0XZ(2rMm z3;Z^dKfA@x_$%>;@z@r)_f+&!PUk>x<~?|ylD0C5t_Qj`;1`O{>?>yK%lfm@e}M3r zvonEvw?sD#UIV_~(s3(k;9eW?y%xSlD%?KeS9U(*Uhruy$fxkC0(e~kyr}@*S^)1X zfcF%@`wQTi0{B<~yreNYy%h!U>H>Iu0lXPp{hir2WAjw`*$zH~`Vhvu!0X8WFy0Fu zi{LW=J|zMl20tQ#&p7!09|iSMeJQIH!~hr93G{k4!UWi z!(U&j!JEK0BWJGs1IA(2UgK}rbM*KdtbbgKy-`2UA$1y=9r%jATl&!cek{9Hm|kyi z$fK8D!_e2DuYX=h{p>jSEu`~}H{)kF#(x)S4t?hh+G`kxoNvbg@Yf^xO&2o$7-YS} zAkIJGt>81z>*x^P3BGS$Ci~w$e@gLtz>g+=cpTFYUb8S0c<-*_XTZyef3J_f%6ANW z9q~UdocUJ0x6s`%)(lj-iu@+LN%ENwwEkgqKhYS!Tm55!4XE>r6CWzFOHzY#QjMWe zhm$|*Ki`U;3zAaEd8B_AdW>w(pU>+BKe1`hdEbMLuX-{7zK!@MUF?Ii{-o)5%sDqY zGwO1lFDVw1*DpH>->U`KNBww36XgeAGrz*Uxi&vMKhayS((A6n9p*&iu$kcuQGc&K z=Y8mLx9Yq5PFHe2=gP2yL*>|qUR%)XJ$!fikyUPYVA3;AIbVA*<1B^SN9i1c?o;56 zF34vCe`y{EuSDA z{gmq)mju&c(huEV!Iz7d(;sSUsCg8gA$&h}qfq{okq?tr2l-0R(u+BV0bk#8vB~dB z@SX76DhZw+VCFL=FO8l*hVE$PA7@?t^LI@^&CstTolmP>P3(6v?m9S8TxddQUTXir ztiTqtGFUu2wZ6EC*s#>2`lBZ_-rsj{M0u#5RbM)o%}QVUNYBzsus_s;KO9(3&R0$` zC!``rK$oVrO-VBhu1)Qn!Y#>DE+Mv+Q$WwHQwr#L*JXp*YM-96rG4l*b7>~KFQ}(i zU%mMyU7qty^t^<3zfF1`>s_A=&P%9VD^@fAvBU1GrvH&kW``}NosFW$$1V@k9g+Ukm(srA zL$*chPyQ#|+htfQK~#Wm747e*n00qAC~%sA)g%zkE-RBds5E+40RnHKQZ_NbO`%L=>Uk84S;+k?e+wIm(Js6_A zN3XHtRU4#q4M4XRy3-C^&w1ZVJaJg`{!dQCJ;0WmTDIJ9tp?k1Hu7$#P5f!6$vW9O z9@V?vfmrMY^teS>qNd14G%rk~^fq4}kNy0*;QFTcw1fWue5SID^04y@_^oZp#Ec@h zc@XH>xnAPG+-lcvz4}Ld@7$X5F+;p9jJu8#p?UA+$8$ZG^eH31rd>Z6cpt9XYv~ot zGu)BMj@Wu=*Tv{p{r8?>s<>}x297m?bFQhsUu;ct-!yujBKh`_UM=u{1ALY+qt|tT z^6eyi270R)-ADP<1HSF9O!(Zn$)`A`-rsR4eM8jqpCRWHE)zb5kHKeSXRzMYftRd- z{|`s9NG|0KQ{&jjnwTEG1&yOMnZ zH&{D)f%BdK^^;ZLYbb|rT0Qgp7TwY{1)~vgKRiFH<^A+i@cpgywU0?ZeE$UgMPZ?K zpnW+u<>q}~OnZ_E&N@gxbn|Z|ODrF$kdH`JlqhN^nn%6ibZkmK)HRZq&UV!jnQH%X3H zPw0i>t^Rsa2mNoM_qTKLZGc|m_oGEmJ6}P82^Zf#5dZDM>z$^r_T2%#l6;&JQU7(7 zkH6-NPcQZOY4}_qKK4<*4#B5!Mtb!ZY6u+MMT3>pv7*J3A{rP!rEmjzh^lBwvjzsP&0^*x<72WmgyWuw# z`Tq4KrLzzGY3SZ5I`UtxP(5FVz+=RptMns3&)#7Tm~WlWwt+z3oi0x7wpKgWpS$H< z1*W}vHmJma2gr+zM_yxHL9+9C334}8tKn%y&_ z`dGRa{}?)!wf*%m%D&=<9~6JOKns$(vZH!Jc7EMKp?MC)Q{DLr`kZR~$;a>~4_cC1 zf6yvEXCX&yOgrjDzo}1T0`tkrrvdO0{3fQMjo$usDojM;Itth8hvu09aVb%UX)ot~ zVK5t0dhH{;>>9?yte^Sqr1Y!;-%I|u^J=y|EKHRzaQ8+UyVXFvEzoDh(`(mJ`G}KU z6dyQ1KK5T&6#Eu>-lp`$Kg(5jdZpE6?yI6C#pKTra@U}r*{5buCvQi=H-PsFGwsrQ zZ!{jJ9?=0iFOpS0kFy?C zd^_iI#Lqsm3th;0{EPOUAoOJxMAg^ape#N52>%V?XC(RI<*%oQci)q)>PoyX8Ks9K zP<5~5I{NXu2ebDHf}g+s#Miso6FngWi zne==0!^~spLJz#o#l^f7llf*jprT7d_mM9TW>-hiRZ;qWI_$Jd*9zSy?)|^Z>xJ&| z`~L6pMxoo&^?##N{#RU2e?~cP;CpOI&i*p)vimx)zs@{m{{HYZBu&u2eE(qfM&-}d z^gZ_Cz!qm=NSDi4?Lx3H-Q}8&6&^D>Gw*pPiwx)JeTsD6Ae-ATj^;>PC4y+ z|3q@~+qZ7$&ts|dbRhTN$Yr}|?rGxND005{&|sF=1)F@!n+Ns$=-H{7>#^GT2b8&S z=X%cJ5HmEMvXWHa>zO1fe=L)oqzOLCHE%osb=zc)a3=Os$YPW~gQ9c{oX!5wZpNGH z@9bmBAO1VO!TeaE{>MuPBXP5CU2yy-yI)QJGxrfYPeP_n;PxB8s_HY0r-?sLIj`gsGL!xKo73+}B^hYZmNp(W>!|`*5;IqCrljXGwem>e` zzDicbiSLbj`Wxf1zmva94F~6+Y5#5PpF*Dt1$p)seLTA_Gm7Jv>$YvNnR+5S`X~6B z`$5(O&4lW4EBr^kmB~&&a6RETb)r6czRkJFU-hJkeEAmgYWVIxO2;sAHgCyfU$*T& zZ~VX|zs5_8Fl46wk&gS}`-IDsPt$JNncsgVlf5*U&x`2|e;>+bJVY}xV69?Op$N5mnyY=W;_!v7G zzXMTDC!;Z+%BSom{P*uNUJjOz=f8XYrOM~x=<@OESrWZFkoP%X`m6Zfj-08_WwJdH z;}+&U6V<5hja!_3b}E-H^794w)%y6Uyocbo<^}d46)JDE)paI;;VVTe)pi)tMFYbeKp=7yJ^yfq4e&6-%j*q zn}ol;dG|&uGg`=ufIeRSwp0KA0{=(E-#*HxVfe0lH2=P>aqvsQRlM$_axeWH^D#fj zWFMT$58C}59KoG-d%`PsZ+ugi+L%aOH#KsAV-%D8CiumEPJieMkqrJ?!S}zCk9UIa zi@4t_gy{`3nk)q)Q3T^`~j zyb}BZ;u|~3`M_(DqWnsOFGb&Lv@vVq{Nj#{$%%7MDm)HT{nHbgFW5XeG+$u!A>PsG zQA@ue(+nt-911e5uO2`zAfVZ z2k=!9@k_qI{l5`-1^7PNLzsUx_(>7*>%or(SKCxMEVT1&&EQ+$^FiVEQF*k3?*-o_ zjQQ2P{&@-Z`l~W~p`jrbMl$-Lf0_KcS@fZU#|j@Nypeo3Ug7n!4`<}&^;Mq94*Cni zKdNxA-cTPd3L0sGRnJ=B_Z#FLW#SXX@ik`^FLP@dJ~d$t@LdVtTH6o##{uS?f*A)S z4w6M@GC9{0)ge?tUqXNWW#pLgDsTRt&Q7yjB;H2<&Z5+G7VUG8)R8?JLhcjf|5gE{ z*VZ?)PI?`ly8i~&mHyxJi^<_!sHkHd{8cdFcGTAgvqvZ$l#lHXym=;XyrFXpT%tBJ zU0^>blf*04SriC9@O`DSL%rzp2>Kju^L2v$X*T-&JL+78%6%L@S3hRg^SpNHtS5in zl%=L>%%k{~x6?mUPhS&4KKR>l{H0*dDZbjlOYk@QbpcA!27Cinxv_n(=U(|g1 zVD{%y(6cj6{w@xc*8vPor_u<&qn_YAx7s!QCa^O)mo+=JazUzbmAR##b;pU)%C77Q z(#nzDLI%m$(~3J;XG5d$-Hb;*FoeaXAesUarcA$?L z|Ay_&ictMMfW4^{&rbHU^^Z9FeZu^{9W?lg-$H$V@00f2U^*yoK`^@6pWg%j{qSda z%00fh_Ti1oyndLA;u4c|Ur>QO;N>jA0YyJ7)2u^pAwMoq`AlRUW^0ANVA;$m)@H1N zqGy{ImKO}3Q_O(7An&=wEa6T-Yy766yO~eG-@brkg#B$Sf#$#H*XI`VemMKxd5=tz z`fvp0Va}h5mPh4OaS!u#;AS70=O;LJ&Uwd8&QFlvT~GYA#5eMZrQxXj&}Q%v#tp0Z z?u=9QK4TVCm;?}A`m%WJLFoMBIni}Pr}0vAfNo`ut`)k=q4V!Ets`y*x|Pr|+{qi~ zU@`2yb7!PhUYUE@$%FW!krUF=uYvtGZ%2+5Vw zfdP@y(?b03e9QXl6bAcj$cImv^vJ*NBzy*b(4DG>@XNE0oO)Kg0p>aX0iRyJ$1n#0 zYwJvlm~qfB{Mx>4_eHBb*n+S0jD!CO-0Z6n&P6A}OE++z$J2J6PWW;MuLNHNZpuOU zC8;SU{ov*78$4P1dgBLLWBd`Pic!EmeOg(^x)MHSzYrvP()@M6XT#g}WWO?*AEetq zUNGfl_HD2QCZ0HvJ>ubVGBa4p7d@f*gS~~`SN|+}+@Ex4^xvfa%gmP^u_sUurC%lZ zCh+gtaxSP}QQ}07u0-l5{$mU9%bw+4Rn<%TNbe5#PkGm#Y@PHm^+LPn68~XdQBB0; zpz4pFQ2N+6=P(n0@!Ip<;5={@*eLubeQ(g&{}ZaGYzQujcl)LpiLXcPsN!DE!7X{+!I)oID|$N(F>aLk$xR*MX{67<1Z3mAIa%J&dOuXS2uoW_bh*^k-wbs#x^j+En6Xr-r=f}H(*dk)3QQGPevhdl!~ z>Gbm3j5l?Q-5p-;tlZeyY^UDVKVB3&W~MYYUQRx-0n|Rv}5Kr<3h_@fRY3}v% z?9f@%Ni$EQq9 zdHJX<+-C%H-O0xeY*)>T!Sk3(Ul)9)vHr&EsSlKoXL2~9@Hq|0RbDLzaXtz;=AI~i z>yez~1I+ic&i_JCj&~o7H{ZXE`+YtiZQeY4P|f`1dtTzawPTWVa+;B&`$1L(<#_W* zemR_PIb{MtN>4YA%@4K(?=M$+hLAIr{kX3r`7v?*2)^oa&AE`#&AYema<*sQOngIkOIsp3+;nr|n0B**c$`O5}7SXXDRCocT?!KAj^I zdPzjPY%MB^z3}5;yA+>M_&g1MlhP34b8(1|(pUCiJXSKmeox!q+kV0;FK=J&Vx{lu zMBxTj4ZmjiH4F~s_EqNjb=rcTSWpynzgkly3)-S!LKdu#bx zdzYs-KG+cvdgt0l%f}u5HDYX^20j}e!hXFvl6@f94!!#0^#gU(A2tB*ENWnb_abws zj0$x)USxzLCBaHpx}zwzk#xP!XJ_ichmc#dXC%8ln68i=Urb?N%-&J18ZKI5_mG-h ze&O=TrL!4>e(ukB-?vSpKFat@chf$9$^Cl*Xjklm*A=$rk)G}3^H-pIzXO^7qHBe2 z8+7{a(0S+Fgmu|)v;WrcwTC4L6W>@HOj4hE9W(R-YH`(Dz=0 z-v<4EyTp9TPLzI4_J(^9Z2tM@xf7o#GM2&}@G5?q_`e-`bMdQ)-$H!pcR~dJGnue| zBj3F<=}k6s-v1T5UlcxiTKMaS-}+yTWFNNt^6XTop3SrMY(9q;b-~$kRld9INyam5 z<%_cyu|VCET;+fN?M1QsemfnF_pGb_WZ<`j@fy=iwtgj+z`+cpL{~<>mG27r zwbG;Xk$CJ-@PR^lJQ}Tk9dv778_9mE5Zwo&^)KPz&}F+>zZ9K)O#O%7hIj69)@hw~ z^`O69Wzhe>GQsz#s^1!dZq2VpvOltVOi&+I;1`;UX9^Xy@~QJm?i)eQp&|XMH!&VY zzw4y4qu(`t{aVTY_?}??s=c&8xA8Y4*{@hSpWlBg{-Lug#8@4to(+?p=aBzS#kY_6 z^ucF8d>$4S-p^j+c$)42N$D6SzdGS_i{jfye3FkcKa8GczYFQG`kX2MqABDTD1H_3 z&v=vZRiB!OzmfRAji?vrs6Bi?zdlt%*9G08UvVBVf{ynLU+KPQIB`Ngz2s(~|H@u_ z{@EKxVhr1oTxqQdQm-`;Uyt&s^y~O_uMIlqW)14#mEiY)A8RpvD1I9JLGZ&ucmw#o zAzb}#3;12&7iyvpy==eBQm)@$F!Ma8P0Di@93hh12cO4(7o0B?{~^f*FAmPrZi7g=-wvX zBP?8e&m#U?gxg1W2l!m@@V=XF@U7GKWPQiS4WB;nY49&`neZt-L*P@vTSE9K_#a1t z?|W1HWDoWN{^9)%W#Fs95ApGlU8(|a1bi@_R&Z9Erj>k_L1k$E@WLwo?F13_0F^Q zVpraHJ--}EA4i`fBj*3WN5HpAANKwF`?YJde37;<#N-6MS?>0J^CmoQg@?@KkNDG1 z_~*HWcZh!k-VMGtgx3+j4}2Q-mtm8Coae2Fc;iWSg(NN^CkmN)qnGO0UuZXeKTUd7 zJQ0t*g?tLv%WClHWqX|UPvYrO{Ce+6lP&3?+-6qiEH z!VOvywZbO;z3|zKpKzS`*hlyP`0dCw{vg$*miDH68diMdzW+_-leX1IWRtVa)}(KM zdRK*R2j)m={5rC*^fR? z5kFk+Rm9&*d}G%{!=w0h;9nrV-(CoB0$=m)J=t=;yN}v;EBIRQodW6gS=yRnuah(U z(uCK-?{=4nPx0#o{~q|qgtN}5QG@smfKOqb`Xj>O$4(oJlCu|5pGrRKpqoUw)(8vrw^s*74bJ|i zR^pE^4lwB;exChe9h^&C(J!~X+@w=>bPw{4y=GyAg{E8t={E%5m)vma!XtbX{5uhN zk^>eRzlHmwGVr@1;#Yy+1n!S->Oc7Z!`i!m*Hu*g|0m}Js3aUKL@gS5g9NA&q)LP; zQPVbU(>5)kJwSmVp#&%xp=iW{5h@8#F-YZ&QXp#42vq`9jaW5Em8eytq!6`YE)}D1 zt5K>(tr|JM&v$0_*_X4^;{W;2^R)Y9?OB&uvu4ej>uv#V{6|Q?mwW29`^U&v4ZpJ_ zn4jC_x5=P{V{iz&w{i!Of&1E6Xf4S zelt#u)K7CRT%2EYzF}oiRj%@{GXKDM+W0eHUdHiEQ*&DnbI7J%I-oDTX!(kAc}Fnx zm*L+Go%isba6ivJ)&%%lRG)u0cWN{{u%xyWd(`*;L|4lE~(yzp{Mq^K`_7G zGW0FEX+z0b_%-x9yf^z;G+(_r6ac2TN?`Te#eDUt&|RebE}8ZZor{2fS+I!w7s2$7 zK)78=mR9m_h3`jW^Uu-IGBs>##)0urC+m3K@ClBGRNevTJ#>ijD&HjevWLj0dM|w( z`RF%SNIvSF-Jl^qI1ZgNi3^OsRUVS`kO6N8cz3G54e32~9KDwcghH1xi)Hm$)5$&% z=qwPxCGqcq&J6lPGe0A{*ZJRo9-4Sx3En$AB%b0w1iT(Rv(GQYUtb1s>;wIIzvHj% z{$3KD(yufA{uT3%0!Hfdy3ndVdC5|Py(xZrrShL0a3cJv`fi5a?|5(gy)PGjgzY4` z!w{UUb!WFkM)lPVUL$fG%3lt#{`EcR$N5XiHvydkv@hfT(C1aYIt`!V?Kb`}cD+>d zco!0Gv(KWiN4gI*P7b~Y&n{FUklzQ^2#oB@2U}D zIsY#)=3v@$FZFjE#!ngi>vIALuLiwMfOnjS#Is8Oz}t#E-*9ndT)dXNDK9oNRE!?6 zm#;wgBLTXCcS85Il;6mSJWLFm@lX%&1H?<0DZi1EMNHQqgs1vF5j^u=c}ObXICyi2 zi%u6HQt!eO-Foom=)FsVmwpp_0Pj^Ekf-34z?FZN;KYlX>}}#_9q`%YKi9>tdGk*G zc`5d1CI2@z&R$rw7C4da;`D4rGP%v&uER0q+)Uhr-ZqH8OKPtJl9&1R#e$(9e_n}0 z_^#PI_hIx>MgB6%VeD+B*8(lUIv%Cpvh=)tk9pJry!vxR3gJSb(!*t<`4cwQQ*F3GVGjuI0*a+GlbZO~WL~*UbC% zZy3p5k>Za-$+w{(bvzq?<}!wlSX6Gkteg3ZdGIsyFqVzc!w`HnRE%Ula%ev0JEq6Q z^D!N?>am!4)(7F!?|A5;daU|3{_nJr?6a=D=h++en0kG5ylM{`%C0K$J4e%h7t4R@ zn6^%HVEU+r;CDgM^6;pZOtxNn;XCs!BiT0LT@ap!;W8Q~V%StZlTGFHKI$KaX%~;f z=U5S7M`-RfGY`S#?Htp6xt-TGyXD#dd=Lu&0 zac%)wd8c^4mG@8Sz2ENqa`Tl~-JKkoTMM+iI_4E0g|C?x5Dk*bmw5_*@s5$~7gh1T zefjJD!FkzrsrR#&HO9@`4o~INy1;wkWA?T2x03ku!Dsv8k?8l+6@Yd1X z=W|-a&M$U>_iy+G*ENLK>G-Maw%%5T_zi)lI7)56OO^Z>0B<+&7X^f$->#CsB{pG1 z17{r;aj~GXiC^LOXphMGf&kV|h7i=8OV|4v^n4TL+phQA!w3yxR2z6ph8pnqfPb;x zTl{$jAKRHx!(~adSyPYD`4e=49h3v=#z52#`)u5|Di6acbfT$ zO6HlrhMf0$#CX>5uNiu?*vIoj!KsZv{h+B?c$b-U+!Q>yia$B}V*XsnHUBK02!|v+ z^g?F~bY>ce{ZIYf0Pvr~*W9;5y9>&z5#ipzbc))~6!{;Pf1a+tp^)x7a7)wsXQcKX zK+G$**`Ge&& z?ocJD48Q%Q*0Q^1okz==dUIqjn+z;|WB+7<<|Qog0+jC6%vY zC+ls{X%o!aIh$&HJk@Uj@&?;w2U(lI+aq}uk2b~hw?REur|Q(JVhnRIhS@}MWgHEh zHUFnXD^I6qoKwWb71O?5QI!0p?T>!?bRAz{KH|2+I}W?E@Z+hwRK-dvUk7r2nDUu> zSq#+bsrZMi*RB}JwyPacK4+g=A9&bm3IE|Pc#%F@DOWRe%((jUTn^(mWM2)?+kEy& z_K$~-!?hg$czhUc$Qik152wNJYfff8#HSxVWvfQA-znq|zrXSO0bjo?U?)>=jo(&g zu1NLjE_%Ko8PTQmDBH>)PcXicUNS#op9SzW{FXfv=jFcBCHgJAuRedoeYZjHGlV{& z=^9hs%xCFep%aWB)V6xT-vIun!f`77Yw#Y1R2n-9#i%lH$*ulsBXpnPx0h6w;vcgg zjs1~V3+UHB@qoL0nd*1f@)8KCRn~0D+I+rnm zJe2`D`rQSc%@>Yji=2N7`ZEz@z+GlLGg@!G9}g8)vtI^!K|dqCPe5;V!$|fG&c55Y z+r5k~S>2)w1I#?&z!s~YRg#Cfxta9o3yUytWwhpK%2_o){CP3`Ubwwrcd5DP-u1GU zvh1P<{%y!59VPrFA^m0ObwIE7-6Qt?p_QMA0Kcu^f2}ho%+j0vM=W9!CdP*fzEPOA$=)D+Tot)IiJ@+KUmLo;0!^3 zf73{IK_P#{`2#=x)Fo^W$NL>?P|`;i>pR~-9~=4YrDlFq{gn7%?MQb28~DTjUQ%3~ zt9wBIbJRgRH>0V-V?5WrAn)@@re3rTB{^yW1(qEB$WeXwNcL;eC*_@P+*+*=c#fS_ z$PHZ2E=sahY|f&vDJ;?f`@BIeDv>@i-Q1h-0{2Mr+eM8#C%(Y<;r|@I|EV1KIP_on7q`CTw_E!459S8d z!Y|&%IDmY?^#$p@9C#V$HkQfm;@XqnziM9bq4@UX%h|xZ*H4i11JbWcl{`D(Gh=9P z?w+=wzt@#ryMq4SIc&*Y%6#}={^8bd9X zTYEH_4z6!LN>VWGz;;!7dqE=`ToDTw0{`}K&mc3K+4x(V$ z_YfOPFMN^tP4#!FHz)Z94fDFmb9v4K-*B$v{|WdmD;Tu*Iipu+UjzYdg+`GZ1M!5x zvhij45CvfWz-i9E9zL2(z;BRsIbmMh@-U*{(f*~~R#8PYt8ZoC!W|1ufE5Hk81ieOx?{jFP}-xz7P6~6%f_(=A-a6iCz zm+G+{I)6c4 zrnzz{!>2DS<*}v1@=Nsg!rG&<5;+SR@Am&4FllZ&T#IqZEWj|!SINa|1xR>_e z=IL~A4#%fr!d?a#o76EOK%~Pyhp^S?u^qcw34ex9xg`CT|BCY9kKUMry7mM7g`)>U z-yc!_jLR?E@si-pz@H<3u?OTScsuYt&=1Zd2;K$!aq?B2z^oERM1Za)&=uUm(1%JEI&JouayX_rmI z)F0*BCg$+TTPI$Mh20S8Cjxe+d)7XB%wT99Nb>hVcka*WN42nfaQPRfcO+B8saVS} zJC7uP@nea^D)@8-4zdVdKEiwg@(1l)@G9U>mgm=J2Kb&ojfCbwWed%~?*9(dnljZ9Zu*^!;to zX@Smu=-d~k!`XU$GAZ0qiB88m+3yV<_3>U3oj&ON9=M64e0g-6b!mY|$03ySoFM-! z>hTkTS^eXU*!imgQNZ3Z*m3{KgQ51W`m11IzaISabNJ?iI=TKs_4_z@!F6xhX%l$c z_H!;k{k(6de!Rad=f5t{dAx7MH?-XSDdk_JJ;0|s(9XnX06w$+Hj=$H+@7c9^SyXJ zx$<$lXOcMjdfS^oJdEe5ksU|Ye}jKEe>q$ND(@i!}4^1ej6 zx%roX-YfrBkoe#m2J_~(yWuDQcpJO}`t$w2-@ndFSI2MEacqp;cVGwo@cF9fxg>ik z{x#!K`oA^Ot8Y&l(=0?)A;Xkic0b1a$r}f=e{eMPsN`P;I&&CbEE0hFcKsivZYzXX zOHB7?&I@RH~pLy*ITmy+5^vCtoK`r5>2J zrqwQ#qVtTYY3BRSuNchk2@Kd}cQwxw$Npy|`*JNv#o4!CKjw1e)8qYcZeDkS0maj& z4`y#ufa8+%-2$%hpLMCn;+5fl4{C~e{jmjuq3;2R zf5mTz|FOejetSv!s{uY|)~G#)VEoEO46>Hy`IYkR$;2<98&IE#AKSri1pmyi{PFE} zPeE$;K>|q0*@67m!>1}>N7B;-eC8fEnms4XXF5IohWWjiK+4~jP|iI2(uITB&GKt5 ziGOAseUy)e;ui6520k13cc+Wvf_Ablbyj>a{e9!z@L#iJF#Dkh{~`Fy#6Jb&CR2Xk z>rWZYz9Za@{Cy{W9I1O=ZjQH;K=}z2FJ8_#F|eR-%Kuy11N$X|`~`0YuKk&pI$h}@ zcsuY7=efARy%W3(`0fZDm7^E<{?kUY#~ylr$#UIG@=Sa|a`9mY7eyQg{}q7&ocNUf z4tsywX!dH^k>9R-yY%&C_7T1>o=>hn$uPbud^i1SU;?EA((UlscGjp}hxh%ib}c-f zbGw0cm6m??(Kilee;(-nL}vgx>)$b&-7S0Y=@4C}zJzFb{<{x4Eo%ntegsgIRPK`h z!+z$EW-pgM;>sPg(`^N*=i&`DS8kmb{~3G=UMmhZ)$nMA&kW`Pz4I~g^WF-MFFRJ}$}rI-$Gn+|leO!|gjxPv1lxZ%wNFAtOq(i zvcD<#%tn6izKT5iz|IxNRi~1uDn4)%{iY|m|MIr*_)_#6evkd!KA7Dlo_>AD`HyA9 z{tw6XHlouFo$o`(?7#Bq5O3z)r>6VY?}?*R37rY(Y^S_ld&rx|_U)N(xLfBUzf#Qn z>5K5cp5F=Xp^xblz3|f5dFBuFfB5Yao&Dv_d-;5pQtsyuMp63hp#CP|zfk;LlKu6; zN9S!e2!>wr#?{oH<^w|GMJK7~_Tn#p4P7m>c&ULOB@>Jbfgcdi*LPgK)iL(_2J%y) z$gGOK(-^aBR`t*V{T;~tr7-&V2q^8wc$8c>ZQSG9i4)`YIF!MdhKZ7zqfU+2rML877*Ze2u4=x|gR=<>f zbwe`s-grIn3Azob^hPcr-NbjnHnWLkOLA#?YjO#90Iq?dkxzQc@ZpGK?-vemp#1E%}OHpglE@W|Nu_^zFsBd(LC~`vD75iFo;#X*}r&3O^rN79%I$9_6_i z`L?hR%B{yqzK#O+?cX_Q?{_iM*?6!MIZnMRET8n<16=#PdzBaY+_;i`p3M8i9Paoo&!LAsh$CwF{2jCR1m{kJobX&CvS`5=SBLhXVtfO87MF z=UmaJ2JQESkvGpj;WeV)Ef!uUcpn3ACBIe9JUr?liYNUHfVUOA{}Y}c|Dm6x4p;&S z&+|-?|B`#${H<_E?ffhGvt57s-E{g1`ftW#e~52K>|<@G`OK%v=VK1su!{+7YNx zen)pQQF1SFUBHh?@5O&19{s>*mTg)=`*QOZbIf_9vfPFFJ7xHbPJf}Int~|l@(CSpJi`L+eNqA;%#!n4j;G7oxgZFxh z|1fk<>N+@owTHsLGQV{FX!alcmff`BR=oX)%Zm7%%gn{vh+S(3^b3nLvIjyB=e;`5 z`(gHz7w=3a{y@1~M33{U+CS$72&&f>@#B7;Ky$JC-+-Ttyr!S`+qaq5ztL;mqDhk6 zedM40!O`rqFU8+)IxO|`U#v4}M#*n=AMo@P~FCgnf(7ADVz& z`NwHDmwjf?&fnH*)HA2SjC~g6@_N-|^jrEj))~of?nS0P^5Qsu9H@1@XAZJG+?HL1V1bJC)i7F+c;d5+=L7ZA1bhPi zGwvMCZhLu%f1KZ6N?$cyoI?LrpQOKKf|v7++v$gQB%8?(QQLo2K8XK*U@*HXFfUTd zyXL7tY*;gI;H*znLu}9C3aQ<7} zj`bS89MVVS0R0T~&k+G`MvnT4F6jN4_fbF53w+N@luLeMocxW*_1WqAGvDr5Co4$x z9l}p^e}{1^{J$u_b3GAj4R%?FtuohKaIuY4jU67~-oQr(L+4#o&n>`9f&Vx4ta9{# zH}|*PU;7fv@wVw4476ki&EI7n=@I5f3i%^-fnx7kN>b|r*)=MO%2EDL&d+@%zZ_M- zZvp<_mZJr{J^Q#H+x6dhe$u~J*xb)N{~+ZscK3Wiq7FIE5xr!es|YW2R~)|7#2yOW zo5?Z>|C#rWW-G#RZrpg9?_Po>z{&c9Qr0j2gM23i z{E_US^$XtencO3ja;};C;W|LocsBg7IE`a?_#wZw7jMpch@wZw7uxZ+N{}^0fmW zB>x=oH-3Zf$G8hIWPknC*SjNlg7<;968Niy=aT3R0pA8a<5vtl!b<0;gg43iH-i^l z&n})~z8O5(h?kVV9Qdmv{H3=l;Isa)*WO=oaJ^|>h9GJB5xeTO1A5>3>Y%+x$kZ$I zcDJQWy*7Kjxf4v~>?8kd_?vyk_M8c)q;04rxu>Z2Zs=(m%}bU1m;~=rz;6-I=VRhr zT^r)!1|3v%Kdl{C{D=Kj@SE!q<0(Ehz;{A#b_Cu4d^hm72!3gLCYJ!3{4K!$0zA+h zZ2t#*7`PwLnDSe>*p412m-NsN-jURg*WZ`w@n z*GmiU6X3OY#CVEc2k^DP&3!}eo$R6;_!i(>1fzWJT$U!r+pJc?e>orb zVlxS^iTA$+FRG_j;5!e3*Twsft0BXb z%RfIxAI#>p9mXM}hV<&Q(~TFHkIduTav;)!8^r3?0>4q z3gGhRZwSDppBk6nj1x>f^5OYF`)@~oKLpR*`{i&={fi!aq{GC;@*C%c{6-&mgW%0} zIC^CG*9+br@M^>M&N$AUZzEo5J6tCOSEN^;pKe^7Udy?ZRs7AMXwLNeZ?vCnBm7o~ zu1k`wyfBscHuZ1(rmx54_}|8K?V@yjZF=?cbmN8m-Rdb*ZK(mgjW2LNcOidJzj@>5 zU|h9HcWrNG#&`=eWn1~Tjepzuw}boXHx;C2PZtC;wMs6FwFs-G~z<)eQ83E=;ex0(H8x z)4_IC0;#@diLV|H$9aM`AC^jNopk3F_*+TspdI*8_P0c&guDp`Re0=#?IxO8f}8e4XT4np z|9K3&4*2sCxNw_*{|Weq9UbRqh-;D@z=ALe6u%DgEkORjGP#kj8~CCKTzcyRzMJ~{ znCKG!IlA({vHJ)s$bT$!E>wP(BwyhX_%HN%i(uH~jp@0I*hglf)%QA08TmM`a60(K z4p$G!Q3L)u@NX9YIXajc@#0nv$miUYUW-mM`u+#{Fn(GvkAIcHR z`NLl5B$4NCD^mA3D|WHTSepY-b1O z;}nwDnJ=4cGdmEiFWFMSN}sd3dFFnozGL+rMR%U$gCNYujhyd3iQ;6Iom9Mx{`l|g z^A`+0IzNru;&8Yu*mkWdZ#M^({sX;@%IA{so55cVzS?A}O}d(Rk7I@BrRQ+9msDbs?4<|%cWrm;zs7z|JG1dZWZ>UK{$cXZ z#V+=Xg5Ur6>v?|vQ;#=4PeE>Do%#Cjiu8KsOz21IQ9lBz*QB0u!DB9tQhEDWM>+$! zOq?iQBtwO1a!Z{_`I;C)^QrXF=m$z7(@df&zS&ER(g-d88N zpvn2m2KM*d4gMST-lZCzL*VWA@cede;;|*^Icto@&ra7;x>X#6irbEA>VJxL!UpJL zcDbZ_s4Pw;&IbNLK_m1vD7!Rpj8OV%BLAnzADj=V1l|h#6Tn9toxF7{ojmzkc*s#j z-d^ywP`+P<@hG3W?`9Qvy6A&x^&Y_Xip9>cQ(5p06Kcrz+Bxh<=8N7ygAjCe9ZQNqXyo&Ti;L z+hs5C{lEj$>n8sI@Vzncao~Gm;8Vb#gKw06NjjDI4e%)a3gBB~=+pr3i^<;rd?Wc! zRe{jol^DOu)dGAAaL<3~{&vATfNuwG<|)X3wS#v9AB^GK2YhD?de?4}-HBfw&ubKR-;bZpKQ@-H*i91MLwpbmHkbY}f)Z}!tpzTkL?bDtfW zpK|+8=rU91XhcL87TYz6PYd?+D)^XsR7()F zoM33V8;PB#k=V?*8WO+m?=vqCzjTs6T#|m8jz*3?=Ko!}TzqWiHB+xG@bqIal)sbw z#ZPd~KoFx()6bjy$)AO?n|9bw{=|!JoFCEu3fkdxS*{`Lg)9Bzr13hVcOO zS_Jd$3A^Udr7F|)zpe278~8^!Ts_pDGT^WK*r;7!H1pCl#z1`7iT?Y+GxI?%!Vz8v zc(dXACK2M^nzp2F0<%f_9RTm{2%hYw-^t5%W}~m5-OQKW_;HT*N~OvUvc4xileDur z@HxJaKU}KhSy7ToyzM)K*#W_Py=2mJu1e3HpRQh#uFViIq4C`3drkXn0ri1#b3VF3IhCvi4wa^3VD08uAa3e~kR!6anPq{wWNI z>SL0ZCd5rOtHid9E82N$rn=m3mMEB~T7=eBAEjJacFuR*yr89{`_2~X0z=7F#rxTm z>(k=n+ntR^Ipq^=_i6{XLXTsHxg@=|LuUhYJ|d`3$N14EBeJ^*H$YPL)C;|F=oxzv zF3FT1dOM(Zp=)n>`+Bj5w!_b5%fbmXW%&=3k?R(0MzTU-otU_L8Z0;P?J8+)e}^0KPgV|2Xgu zMDnX1r+{At{A5?Yym~Ztl6pl!%mD%Er;3C9GvN1xgu@OFq8}zB-;W-ch|kl{MTgeU zi>$jL=WPKyRC)X0f8IcNUP167;EfS@9qt=oL zFz6)%`jNd4L+^#34rZU{chs*Wf8n_&y|jL|_%)0l;D3<-e)~|r=XO)kJ_2!UEA+2> z+Reucha|ok=p+u`m%YO2Ie7j*_XQ9U#;ll3(zt5n$lTE{bo1x%8uBV)wU(c zCI4*dANVZbM>}{uaM|?`@D}Jr?y+Xv-%-f6uiF$yaevjl*mcnHiHhm3N?wcn?W5WG z0{D73CtYS&q2(pSzZE`D4u<1m!873R0B*+Rd>`Rb@=Gtxz&E0okMTQDAGRN3;W1k7 zPVDt_&^cZCU6LL5LT6jssJ;I`uHE@|Os|~$!a>Z~$kjzXz85~CotPJ!JGZW)`l>8V zB|b|2lTCj0uPUKUru@9$#QT6bntE;qK8y0Jjskk6{8sM+lU4qgG>Yn9(6m30a_bJ63IE)LG~U%npY4|?On zCi@{7)$h3M5k4OkkN9&UIXy}Tt*;|~pd1e?Kjp~tzs64W8K97znig0NN(KG=o8f2n zA5m|iT#l2G3qI@MbAjXI+9T6ZjC+ZU&}}Y$lD>+mhf|;%Tt63`isNX9z~3)AOi2dj z+gC%ytyAbFeFOg*$bT96jXz@_K+Jd#r-s;1F;M(I`+5fu z^6zopTJ|~)ok9HCDg2h*nS0RAw+5y1Y9H;B@CmNZN&eFRNhN*<{C?s2^<(@9or3ct z$&F#fE3>ud2Jq)SGnjp!0RH*}cAC7(vuM?0JNZ6#h#~+-%=FOL3FRAWS z>;P8flpp;hd_EuOuhb3-%c$3(!7S5arkn?D2Mhoo($D)jwBuXDdV!xC*Gn&7r1h$S z;7h1V*ZbJ`s}Fm><`;wZUQ*~ONiU_xGmj3u{-yYb4F#z)Q`753?WY-fvu+#BvJ4gU zTg%iAQ`Zu0xR$6J8dYDN*zL;a;2)^3Cg8o$x#L%ydk(h?e;=_w-dmQg=O(e3+Tsw+ zEcPqsf7Sr{N|Lwq^~}fNH*OXn&i+k&2n$}T-dovM_TFLUg=I&Cb+QmN9vWFx@~Q>8 zeWPw2&bJTRl@_7w2lW;fU7`td>-52?;a?AUqu?3)_2r@5!FBItxatoV{I6UtW9k>sRMw$BJTW*uT$Ufc1d!G47KJY`77hDfsMsi2DGvG0ErS zuaD4fa_61uQ>Vqp!~T7u{j4wj;E#-BAm=67QByhbP|s*~!nI%5Z!E?W~x zKZIQWfR0%gaD*gp4|LW(I-1?A4Nktij1Tk9ftvH^AHx;Kn11fu`#AG(&3|GZ?nuXk zhuU4qiOf$wHEQD!_ey@K0{D#w2D7gb%=n>|q5FI4c)uPzGe3xYdHtO(zjD2K&J6|P z=^Ff4CG^dDuH&nA)eYT8fuEJ*yV^`c&{_z`?I(sL-vIe)=^sqoY2@R|K*A@X>3uQ! zdjLAG6+l}|=W#~U1#aR~d{QdW#rtHqo)rK8({tRahf4AdQqI2%H?AIhyU{(FpNY2{ zGi`13J%xRq^v}WU4%wkglBWwkTN$r?N-$HN)hMtzxZG;+3zMnDgD(z-#>v7T27d>t=Bc|d|qpIkaJeUoTC&Z17x92 zZw%>7haeYtkblMYrcT}9gHa->!l1t2;ZmmC71qj4f407X?&{q?+^^IJ#l${r)T@b5Jhv0Tn3 zUiHtWz5aeQ`-_*-PuC}Z80!_d2YM{_g>66b3tETz;wyHA&bg^Q)Vu-4e;Uo21+zFi z@#~56-l=cIw+DY-p_O^wMMv+-emO9Jk{|7X&*p!O+Id3L9%!1(NUD>>5AcKL?BagO z+sVAiVOIh8=ASi$}N@HrL{qSr2=V-QXx_->pzvlXCq<^m1jl{3qu=*oj~U;nthwI*Xi}cU{+!V^<&+p(f@FQ zdE-~_vh(V&R+8R^pkH4wmhBe6*a=%<^=&d+t%4f-Uhw}2esJ6){E`aI?~Y|Zql`KH z_B{Ma@F&2pQa+c|9x~vUCC9P}EpWuOhhYD(E_G{sd+_6m4(9WBz^BV&!c+Fw2cPXn zjD_}9i~kVtidnnteq{K&ei$vf@c{OqD^)_n0jl4cSFUF^+?x5n{8a1AI|Je{dHi^Z$|#7Btdek4Ur(K zzTRawI^5UZ0@7f~t?|vJJBPaH9~;~%wyA0W?d0wg8;!R4tt zjd-JI8hQSI&`&q=Jn<6s(}Kvu$g>@J%zcn??LhXyl2_=niwldiWE}xTFR@u(L~%l9 z<<(0ie2b~aN08I_4~|tvG8&d_O~^Gg`9`(djya4+ipO&2+Jo(k&%@-*g`<-0_p&1G zhH!r@F1pD3X~%g(w2!Bd;~r=yk_5cDjN1Q=W5c#;HMwZ3Rk;$K{404g_J7n^cGaQd z3Effk(O8F%9x=hWxVlI`!^nHPJRVLc?~T5P7=uE8n?bG`>hliDbDY}W(%77fi;};Z z=Ec&uZYd!yIcz+u_Lvs7V5j+;Dz*kv_<-%FTh!DWau@Am}#_ z0!uRvpCAs|O?i3*NV0ww!dzU$;q2fJ7UeScGxQ>F^()4*ADK>G6JI2kLT|^(!r>GhfAik$(#hGj!u&Eo?q% z4bud4dTab~6Y=1Y$L09{)Q6HQKmQlZ-Wu+<3Tz`N3Dh=XcVp zOY+O*mBfp$Lf?Y<@@ib@ylhzBPUQOPYj%asaVf57hR$5dEt|7(g-9?)Rb1jaz*1h- z5l?*w{08N_l-KNG_2MVR8of>)jv*%!m*w=w)<&zpry$687E^<6`5p z7Wi!YpE0}N+{9PxgZ1>_3M%|z_AA|d+^*3663N*MexhtFd)J};(+cGLP(f_9+Z)`) zX978ogHLs!-dll}p27OW31it)kLHhq$8lO88IR{vV+U3&jV}%FpU|x zcP&#_HL$Ftp1+S=7i)t}^4V!hky;yH59V5LGw(4@Ikdk`HfZgRgBw_s4(Z6=3eO}S zuN<@cAYFa9X%W-@YS8!nCo=96zMC;oJye0W7QFs&`}60ce0yPpTafx-yn@U=Jk>)B z^SX24bG!JsBtG5n*~Y%Wp0Hi|^K}0G!TSEp$Kv&24a?XS>j>w==i0yl;0pK@&t<>E zRPY>EVBZz)&2^b(T}^tcL@yi9+GY0#FUY+&jKrq_dNcl$e;%;~_(kB!e7z+89l-a_ z9m{@JcDP3EnqzcrspJ)|L1*-rYsccR6uGY?mqGkh-+zDmuF(G0DqxfFDSP`^wm|*^ zyLR6PGwV8R5xVU#{3iV!)ik7+#IKG4-R`r(;}OZw1bh(qkCfTi zmp)m80diec(9U|O=T_*N`8(w$shr*5H&%_=bznBBa!yS1j=A;Ce%@aLUQnN=o`J6g z&*S0In*_dz{eRU077$x}}kmlN+w15MCee zYk4pCGKj=IWd7r=Up%?hqpcCDnJplYc;L-hv zz;M>XnePzbXl542$z<4#o`&p6liC#bOE$GScM}FC{ z;KRV@((dX+&n3Ypf&b#n{CX&U2lEWTqva?E{!QRfeOCdmg>TSqMLz?)ItJbh{6o-* z=5GgH7L&gVxb_1_^Y;SZhMuDE0pKS?|3sA)JzVDWFb;eVahJDWLtpW!BFhx;_0V~x z4A}TV0{J^rk@d9XWH@FPaT~{0y_0we{eDCM@Pqq$1NSK8{ALq&*mFkMK5Ia2ht3x0 zyjBJ=tsLhtb+?hOO{1pZn8WYa`nl(374(DqvsEAC(7y(~9LH}j2|fk<0Qpa+jcfMi*_$k2O zq5QP3_0B#DtC=s1ftLdRKn%PR_YL zbYkG8z*k4$;#CQJCURabzk#0Z`oV*F^TQ>trk=nz>y~6ys^DJ>_>IWDT>yj6xwrM{ zxf~$R7~Oo>j0pAC$T$8v{2+8rG7$Tp==4EH=cAehf{yFA+^m+ORWAy$bS7C(`#bft z(vmR$%ianXU>}s{!-5!jk{`l!O_F|8zcb-~j0NT3Rp1o?uNDNno1DF8fS(=%Zw7u* z1TOyVz}tWuJsJLdA&EFA13i_qoA=V!Zyg_3&ZP_*Sq#lD=P>iSs^>=KcS-d&0iDNz zUnm%S932h9&+*8JUr7!91^iy`>euDd=M$3?5r&dqDH4ZoD{zsz^e5h%;rmWybg7PK zD}1)nF3tIixOU@@pO&$9nvCDc;`{#$AI?y@KjSgsDf!0XGYPy(@PK~Lb@f%aQ0rmt zz9!zE16+8e!1n_8@jl?WA!C;f=yNx8gMLE#%ZMKR$A`qv^oz_fy8AHPgo&AX)NARd z6+8YCbWRb#CDG}E&a8Kh+5I%;+=D+JOP$GJ(hbO@0nzD)&YjSi;}PLm$-i;vd;z%e zmwvr-PJy`>XFdyw{@qW5ZOXq0{`lb&1TlKM6wTNqehuh#6Ld`+tss$P$`78-C;qPh zru?j1+{Twkv|i#*!{*|GR`j?6I>B*|blwG>owUoZxqdiieWN;gpB<&;CX?NV=_H@- zSu2C?rIN!X!6%_RXF+~kTD+L^9^}_>-b>0~4!n%~vpgVA!K;9u6v;2SGr(t(-}K9r zKTmG0KQT^H7?YFRnz3mso#5Al|6TDjde{0L)65Zn)>4{EJd8gxepGo$;y(ob9`Gak zpZ#+bc0TtXk@2mGSSrD9Cr*%GGjRel(xGr`VbPK>KwRzoeO)ba$HKAfi*(aH!NX)5%AzX zTD7Yd;Fkh7`|3>n>fATq^P>&veJAf#?q&S8^?!}&54>?rFYjkk{=oE&@mB-Dp9RnK zlV+Tk$?Z>)JQKV>us9#Da4GYx)8I*-a^C-d_suzZl2?0`(r$N@#}-Rd;gwa z(P<{%X83#a3dD7xd&YXGml@ExOnh9D+}+^my!V?0qn30kPV`C{Fq}nxGp?aM5h3Qz z*GsNp@Ycic1>w1NG$+}U*N$pV;v5HbPE$UYvVbAC}Zl9pGE(F}Kv9}uJFMv*P zJRv!opmPLp6aN}HT0Hfca$am>(oZk4yV4*fIUH1kyCas57CN_Ski-og1P z)k`aM-w)kS^4m*lUm57^LGSIZeYtqp_XB>vu1z3!$Bv%@e5zFc@OhWw5tqcLPx3Au zv)^g;(0c2-i3X#r(W`{ zBj54LXY9$leZ%%klhn)Q@G(ijZvn4RbXjxJql$m!EAU5*GtD|G zdUorBX11|WC?HB&HqBqme&|$bPNaC4tHbG|-`ZM+F(^35HX4Pqe0ekOa-J=S6 zhOePwr+SM>}eL%DLKbk zpZKLGX8?Z^eA%-(r-MBQ_ZcinH=3N%Tj}8iiEn`aJwezfQAXXuj@W%(k=|FGW9|1$ zy{D8{<-E4FtG?q?iFcxR$>JsHsRg_}_^pRuihr!1=KNM5&eb~9?~!x2$AqWa#V~xn z1poQ6YtwF*Xnrpe2XeDoxZN5mvWwD{jDN6yGmi1~Oi7dM>Tu33;6FRy*ZK}Ok8G&e zxUdO2W$60|ITqw_{eeH97VHn!rJg%TSZMsT)&-WrXG@^HO5OqZ>|}m=t9bkJ>LNVu z>~-=6?5m0T`P@5q+3&*$hot%`VdKXh;Dh1%@#PK1vFq5-HN6=dzuqKz$aT3GAeWsl zVdGdNp0AmW|DP9LSCYMV3!nCRcL2Xy8@nR-&8KmX9Qa2npGz5@b5{o6O>U^k3%l?NB=YFW_UG{!OK5fEM`@m21lBD`*$fOeccz?A3 zemjFN<3Rd9{3LBjFKzw~@@u`&j5|zzGu}1%-Bo+0?J2+7R4?}SSLg@hdm|Tg>d}|l zfaW=IjGlWna!vAn5WE}oK4>S^$+M$&qH>g<%X~ic`t$QY8qF`cN=~=sHtQ+EA=U7& z89HlOUwtCi9?g8a-;bJc8J|2#{&Tu%Zd2~@H?jVR{5KiO_CML}faoLV4uQ~LUO%Xr zG1gQ<{ouT!%hR*Z4-9mKZ1p>YpZpnoYAwk8FMU*=XZzc)3li4f19AG${t?j$u9u2V zD|8g^{4$@;x8vw&|H$W{6P$llx%;6r2%VFr^DlmT<-APtg4hNd_>QvH1)AZrMRK_$ zJ{9LPeyL~OSPd-BkNJGeJ^Fj&9huoGCp(!aOC`GDb7R1dRRZsX&*AfT+51C${bDB^ z9?6}LA_fTr8q((gc=CVO^E*&4^4F|o=lj1Z^8X+H;yC4Z$=L5|;$7@C7-z{3RRBK# zeKWrF<%0gj9(7}%lK&CtZt#fmRJoeLUwgq=*7%5sKj5H95>Hwd=wc1F&QxYz+5{apNsrjF_4eZ~vwTR=u{f z{<05wzvX1rL-KaQrvv`&0vLH~{rSW9g$0&f_LILJdtIXZA-kmaa%L}nl7BmNgYzch zS9nn>(Fp!>;TwMbJS(?WsKwFmSVL0(B0IVbI+rOw;|j6xIwsM}IC`cZGx9*MP4k~7 zo(^`~M&FYEUg!neq4eDao!t$rgN5zV*LTq0u+QsI`+kO)r#c%xTcGVFQ~n0xf7F^Ae>^i7Qzbn9d%2y)WfN8IxzRiqCy-yyQB*QwN{h0`iJa=_Szy1Y=Td4oYny8cKFQ1uP#x&`+Cv*fckCkK(r>9yx+tyPG5xR+=k@-SYl?O zyi8Ctb}+#@&3^crdDoQzD!i8+6gD!xfWMg^^!Y1pV895#ji;ND^Y74^Ey6CTUTeUY zecmTn)PH=?3g`Jp*+(<=`g7=9sQfO;&O4y98aig42s(M=6zY|&7@A}vOdtb9MXwb< zxd(b?9@Np3T*J`YyKXG|seHZuC#SN&c(8Q`&Z@l^~5}RTcJX8cJAjjWYKG9{_L&L>k*zyqSpt#9|C_^ zu<7)5PdMDKBI_i0o2c&^=>@#J{r>2g`Mj(hDdgt!a_yxX|33xae(`ll^3<(iKPY;d z5X>*1@tHj-#yd-MIFAhQfQs_TuAof4$A#)k?l)%3t zkl&t&-`%+r+7pKnTD-QUY_hWs@UB|C%g$?|zbhEGF4ZXlW`T8FySB(p%92-h(MSIE z$Zy&s_nGJfz*$S2o>c$A zQzFi;#Ag^j8?PP9{?zpodG)Jkp^eTVG$6JonWSIcfAL26JQOH*1MterA^85W?A&m_ z;Op0qM|6pF>ZJI#Bj79GuF?5psIYP!jq>oAH+yk8{5zy3vmA|eixzqb?=$5Z#fA5N2**jy(ow}tU zmseyYM~3`6&)$_C6(CX`E%@yUbaT>AJNc_AzZp*uqjE8owy2sUdfmL=LAlKLU44Hl zQny;Eaj1c~v6KGfr21WU9>kKdaS(KN-!f+7Vd%8+*-B4`(yQvX3A|#5qlfsHUqyUD zy)P5Ml*b>B+7F&Y`hVUMAJ?Bp_VH@}?3-vI)6X9ioQmWaHvhfd%Z1OKfu2kpHq`JA_|T*s?E z^6kC#Q1eD+U6!3Jxj1fqkvS9|28nMgal?<``!>VZc8fVI*RPuLH}kz1@&)5tQ-0vW zkHVXPHxd^fF1jvB7p=e*??>j5@u$g;#kK1R%6lF3gX^NQ&wl9K0erq_+xAoK8L0S- z^L`tAjD4E+>(@UgUvl*?bkQruURt4N_TetbWiT4h`^xvSzCI1VO5SI9e>?C08+%jU z4)AJ`)6C!ce$)0Z7Y5{*$8S3);~m2>_ScWx%itSqhmv<3y6d2OIlrBLavu!Q`@(DR zue@KJd*5Unk2ce&UTe_bo1q(=H!q+`7KEA2{b#}hy zGUZz!`E&(<fzOlpM zx%~$0M@`z#DkGloyU4d1zxfK~b4h%Afos0@48h=QZX0I}LVda6%lj9ISBmxCCE-l~ z{|#`nkJHF|o+qw}H;b>sukqe|{|x&G_E*@m`95Uo)M$UTnBk2^Ah{_C!%=cHK<@zM zJl4seM3JAFTd@-}4v(~V&9{7dn)#MV z))Ox}XO|tHI=N-H74Nt61!oI}o?N}DzglE^5$sm_?1b;P!8h@NTe#+xiR7wy-vXU7 z;=m7xPQ=d8n!dYP&3HdFDs^F?nXjum34aLvQ-qIK4P^}Yg<<%#k?#iO)7%-`4rK?E zz{ex-3gE>pcK!V^<@d{{dC2>1@8kOo(Wzk`=#?vXWlvCkmsGwCbkN#O_ZN6?L|OPc;gYGb2P8Lb;kGrAKM<7Y}K{{!$_YasSN(aS)u5q>7F@$Jrh z7eLC~JPo~O=zRlv!Fe#Xmu~3kdlcqgP3XDy=if`htJkP zdl9_&de;3`?FxP0QuSF5yq@yB(Y4p0U-ax%hcl+D&#BqW7h)&D`C0L6g>DLdMt@Q? z2Nu=NI)QJ?vftP73y!l_xGUmRuf@+77ri=q%b!2M z&m^Ch)}F#~eV^M11_+pc!X)!gsr09Fy{(N8D?i9Nnhf`Qqsm7|^fd-(2wYp2y}8^Qj4fCbmai`}_S z(IiQKec;XJ`velhOM(vpKbQR13Mjo^ZQK0>@EPR4#)I=YTjg(Jey@}K#e%yec06*#7`E>e$w*wEhBheoQJ`@9=1YUkge*WSc8IQ)m z%YpaDz^j0lH0IOE0B?$cHv{jDfwu!MyfmLq7w}9Bycc+P4156iWDI;9c+Hx8`cuF= zW8ftpqJNBmR{*cPET2vd@b(B??YaT@5ODogzr)fSL4cjZH}%i^!3dtcn0|P78B5RR|1dfX9)Nf_?)Y}Cf>1jqWWDx{*wfEGps6m;Z2--1MbI1 z`cj`w;#1Ch>B)?19lVBT74XgQSr?8A(2twnW6JTo^xE3=x(m{4`Lt&0sOZ>fUXkeQ z{)^W_|5is^57F;}{#N{PhX8)u!#FAL9KPm)uZ~+z5dBulEjxNabX=#I6hT8n{LMbxF6i?^NZNgx#`+V()Ahhar;ym z`iWS8 z(&f4J{r(L1dBP`XPpXIV4a~Q$Xa9|>=e%*JS+CPocu!0>y=>&|I2U_?zL{r`45SMF zwL^aca%~oUurMdfin1*eF=__>Zb!f z>yO+QxECy`6#%ocp>hvUe>bfSpC=T&AG|^E)`^z<=XIsEwtzEkwn_nBnUN})zP-t2>oQ!8%4--Bo77tQzSIRE5&G|5rN`|ZeK=834Z z2E2&i#lWutFE|e*cq{O&$1pUM9xeh0>_zCT-*ZcP4kdi&A+7oUf2M))pO@@#_c4(Rp^ z7HR){Jwb~-kydZ*WPtlj9)g~kHw@70gzU+=^=ygv+uk=7N@g?ZVroE*0SJ+M* z3%y^-pSPZ>k=xv4Ge_QUFfAQVF2tAd%;x^=)`TxD#y8q&l2wj!C9lHD3 zPcgvnxcZ*1ekPD}8}#lFo=c)P1ieP&{BPS^72hxUJ@lgOqx^R6N5sGMh=<=kR_WvK zxer(d_-Dw!4gN{jUj*kbmI>+C`36@4ehC*bt%1+&j+P#3pWV<~_lkYlK>>XJbt3hx zNCOp}J{DXbi1<&@nSjm#==6r^m~wP^-K^e`M5nMZnRs`^uZm9PM&vpArPHZ{&g*07 zv_fYubheA3UoIohmKb?Dq4PWHCph0IdHSK#c+5+eXBax)fljgbx+FTqA0>W(&c6lo zaYmIAk_TJ>7azrPYcy+#>bGUdO6@7V(1E0{0$YO(rp zL~iA;BL7b0d#U;=zdxDyaHO1~(+-^tuX^eFYKBg244nb!%zpJtr_&3aV`Au(d@Pkn z1Ai%cP(9UU=^+GX#h6unE+GwOhs+=>3#H@NuFbUa{zwpv9nJoV@aUXgmE@m^{%#fl-`-?FEUxE{7urkFW)Mf!E-s8 z%x-R5{{Hteu7u9JJt90sr*sqJ#P^M5-bOx~lZ@sr8 z>F=LQttc=W^LEgwTpifwXP{%or;b(~&mQRPrJib?J>6yRWsF+~JBM}SbbPb)*Nw+n zANY8r+)eN)`2_MFyD$3>+`8gX$0u&yX>ocZHoJ)eZN`4L@NX+?!Q1!%`i5kx^dJY3 zRL;p43fL34EBg$^I;uVPxwxxoLSiF~fvVo_NuTXk$sgh^q-SpQL?t6E>ePzc;qHxCp5Bz=J1v`2XQ#KMF5o#I zKq_^3tOHh=#kb*1=I!Cjv`a3D?-YEu((X<_oj>CE`tv%AVV7Ky-U{DssY`gy2aqZ| zc3QsjlS&aiZ<$Wd|GH*Z_R2sYDY?7;m-hGh@cu*TzZdwPckatp^ILKU`*rOg@wSFJ z2V@qlMQ@z;Gvk)9KNGyL6MKi=t3}Tx!ApUUe8k=B9Dr9Ue+;}1_*Uo?dqjAOP80Bl z$#3Yhzeso4$X~Yt-$;HluWkB~r2Uwk!|S7d?f~yi{Ou*-^@3OZxiR~FfE(0rUiy^R zu~+hbi1!=7YZQ{vkH6n9S!X>LO7XrcY+R3Qz4(*tH$t8*IXs-MySFc?gP_Q0@OUpd z)DG6eN5A#mWcS`QHPLH;p7ilPy^qvWOD?=pA1z*jGd!9|GBfN3&67Sk)=UpwHF2Fa8g;$Qg{=UKS6)s75rJrK_0p3CZ zEM6{v()%jjujTy%{`>pAdJtXJ@8i&I(0iAJ*8<+2gV62Nd+^LYK+9JfHjKP=;P>)= z%a$>_9)(_AT(LCw9ZOUBd2;L8TKX9{ORX8NUhk@?}{yzp{{}X%?_%`HtRRmtVnfcoocscML&^aNJzY2IE zat7s5IWxdFL8nIfsXrI*QyDkqdIibRO1{mJ@~GW(0^b6@nQu4uUi$Gu@Z zom%t|87CV$=8$f{ff_wPr#?bQ_SFlWvTnW;A=<`25PIJn+SY31=)9J5li-)By}2a( zN$@v-Z}!`G_}ZTAFEbhZA@E;GJ^ai==2@wK_oF}XU*_Ua*Z-PwXo=~Q!EoILUMf%j zrQDkhy$Vy|mZ<2pLvO2*(+!_v9S=RkryD*y9^^j3m&S*iy5B_{bW(=yXFT4V~bAe9`HL&X%|Dv-hp|bgW+~rhM*-6HzK9zuLiXXdiFmcfwtP z?8SAepOVkwPbuFP9auS3{ZyyUo9=k0$V=`i?6(Jgy#lx-Ia=W}>u1xSN9&{hW>ena ze1YWa1#c#JZR&UrE#IO;$=3y+=aBDfPBuMcKc!oU|DGGmUgYd2Z~g{5<(xPg3!3ol8Z1JGT2mfz2| zajp3rJ}fM^u6n3wwel2uNIV5Ee1QH9yl6aB3j7%Om~jjD>8`+!iccl*4d}(}ui^Hb z8wk2HhMYR~72H?a&HK0Ax-0u$hogt^NAAd;s`&W8mY! zWp6?MBl=UoXGP$q{GTVD{^gjR4^#Qi_6s7sVeqboPq6%g*MTRwg7L8EH33hc&nx(C z^vTtKL48*6{vPmx^WAnGufap$AKfA&AaFk7W6X4B02%hR;YXnd9%D=!k1$Zzn zk?yO2?>%#0ZXVr@bC`Qf`WHO};laJ*(baTOi;_w#qJ%!&}Bm!KX>canpMa#XPv>je`LwCan<9*HFaX+o= zF9=$4=ZLG5k4ws@2$a9iuKfWfYJMVT=rIGKa#lW+N;K{nv){?Y{#?D|ms8Iw+5kk4V=G>EC;9J#?ps9nJ>Gl$ zVfEGyy*X#N{ab$g0zK}@yxiA?@~eJ($-j>LLHm{+4FKQ%Ywo4c0MWOjxOwZPieIma z4-Aap;xoj0MG117bN~FURK>r_t@ICjIhPo=BjT;xzR&99wusdP+ClL}#DmzUsdq!w zw$BdeZhh-Mdrs93>CmEfk=b%yU6aL!qOh)|u93KD10(+cc&m|LbribK-e#6#5YYgE6H``h%9)fJ3KYXZkuxPt0I)5^%M@@jo>1iQJO-(He_o1uH4 za$oif0&*^NqS{I$7jk%y$VmVc}aNV;O#)~1*%VjSD!9R{wWt1_if-lL-2z0d#3z7wmq2jMaxeS zq`BxtJQ|SmI`CS>j8OoMb)I?8onJPW^>0nk`5yU(lrQSvei-&|@?)Lkm%g^Wl<^Jy z;q!-BXB%L?_*m@8+^-=SNYd97e9pWrd_T9~C65sAQ11(r(IvqvfWMaf*Lpyn(nAgK z_W?Kc6{=r*JD3`m`i*Att^T9Czh`x>-(bFkkF4Z2+ge8{eqH2W30+e!8M`Z2`soF} z4mukY(8l?BfBs-`dN7&V8$W+w7Lq+%iL6r%CZ|~sR9t5KKCG2wCpC|<@AY=}Whj2p z4M7*u>FOm(@0)o4{6}3oF?RI6(EE1Y??0V&64|G&IeiVisOvwahk+-PiJyai2fw`} zx_#j7{pVOVY57*`0yT$b>bG!5GBNv(@cM(wI|<&7e~)E{WnV@f6IShqt97k_MPDhR zmkkANVrK0}w929XgasM6V425QpDNgseZSy_zGm_I^X3;zKgRjdj_`SG;dg?+A+;xK z?�qf7jyM!9y)JVyommC{di;QXM{YV_)PMYe><7j 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 lS%XT;#)q#E=l}h`A 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�L@{dd5+uU z(u+Hy#J1+B^J}%Z#o*`#!-c6!ZkoL$AMc(U3u7=-gI?fO-Abd=UDZW(?H=|>j4dEjn1b>d}^HDKxx~M%8 z<~Ot2sx@H@us#D5*c5>%t_#RiV)tc2nc51FCZ4j@*AhdLCgXYfkCaYg}m z5asX`1U-T8=bxg86WdIccuemKoiHMC)^UFgY|gRH!d9}1Fp$S+*NFi~&GA->icR({ zWlpGT1Uzs6`^&<5Lx=5~aA;CyvIf5h%|?YT#6kg_SP*+K1RP#or)O{Q2bq7moblXk zF|M+i=Vmb@Zv;~Wk{jOexbq+$5IUDZ9@*C946&4s`s zi^;Y!fHEJP!4N~>%?*B5MGFgGP<-GGA(S7Wt9~sFvjH%c3p4z6q_j`&Ls^w-XFUTr ztkovYBfClO%fm>^DgKb$$o65=?bO9n!~c#hG2O?_<_>PiUf7E!suOV|syrk+Ai}dd zK#dFk@7{E z!5E_qG;ZKRUicB2OVO|dk2o^wf~9pGDBktC14H;h5M+SVt?Yu6UH%GhhEh(LaoI7- z4yxoMU?*B>qa^OF7F{4-wb$ZUsoZ`caMTr}fQPHPO($atKC$PQ?X^AcSHvSMAGovF zzgTHXo(?!fNrbUJZmkc|Ge3*7G)dDnm9^rAMza(I`GXQ!3Z3DixMo+?5)U#Q080?9am_5$&H`tl#vME-1kODaghU$r~ zcEC+2`<3Ny24HJ!XS0Qfy+LDoQ^>bw`WF-=40u19z{s1=({MzoK7O;?=b@o4bvo(x zEL0cyWMEVXm!NPqC3>LTGqolz2_-i$j5_VK129NtwOAYPA)q`Gy+V5i`&0c??zOX`Xn%zFKv~a+!U%E&C``2G zjr~LiSj~bScp$Z4>5d+u5e>E{?y*X1un?M? zzKzO$`*PFxPFi9t;cf;>6uWy?msy3+(^3ys<9yT6XC9FWO#_Z~y)%C%M?DHoWFvl< zQigv^*`Hn$JkiMl0I}l)9(Op)gq2O}x{>eW$eyYCs0IO4=1}6()9w-Bj4N^^ozQ_Vw>+dIIErKcq zZ=yjB7Q3*c1wDe|P7sa_!ljH#R_0snR-z`@-M~ndGPSHMuoTOU)eb%2eH@+?K?!ap zV!{UvBFWx(DF=^yvb6%_$?V<%j<0loJc)i#nQmsksmhr61OpWb^btf52@*%#nV7T+ zx)%T72OduuYDoFq4s<3g0nFrZ;_#V{P)MA8ckay&lzQSQabAQkjL!_fZvYFt4CNrXIQ+wkO&J^FZ zg8Mj-)q;S#p@0c`^1P>QaZGS=&iTbd<`fe!Lan;oghtSA7L=6o5*7;3CEf}aTt5WP zSr;1Yt5@&Sz7uG9FEe<<+HxjWZ>FWPWz=Io?49Y;;0D2B3~QF^$yaEqoQjH5<#Ax z@+g`KGCxog>s!qj^@MnucZZ;tC4=s)PY2e-uF3cRrBUXc4kfSaIe!TC;0t_$I-xy9vx zqZogM4_a66V&4#qvXT(bu(J>erJVpS!e|bU;}1A3gsp>ED=PD5GFmTsWawQ!A!m2I z{lHb4@?rqy+^&%F_)pPKkA*-e>6lt|)ByL%8NPyHLJF&P_6|E9w^6^qCNyyTh_@z3W{46#X zEzpbWW|YpLyTN4()GpdWd7O>Y;7{hyF3hDYM8>8BU=o^Tckrnu!?{jZEuMviB7aMX zs&%66_iw%n28QQcKel$O4&a0bikDv7GdmQxS|a)4rj>v5bO=_M<}L<^X2FQ;UOVP@ z<`MR&8NZ;>3u4=y>hgmn(wP&dNQSkQ`aB-l=j>UK36f3gLs+h6TH+8<93++Om>Z}1 zHL+uB(Bs0)NXnTlB2eG`tt+lmDp&jqJ3??5XLt527Qdz(CkLL64eBS{|Hq+?MEM%q za>GAsetvv|zs=ck-m<&W!xyGi@=K~Y0K?H|)R`XR)f*b>9bSHlSw(X1lp|ssJiJ`w zBHd5BZ1#^&k{rVyTvD9s7MTea_RfS@xF=;V$a_$2GDe7ur4Yec1syiDE296AMnN|> z)y2doc#$SX8X;0~n1zZK$=FoMB5kCU0LdI0`A9G7+E*}G4^Fa>is^A^D<}S&5OYB- z83i#fPtG65#u!+BMTRYvaswd3C89w}60b~bG1=O>{8!htKLiKh)+Jv14{-eq+#Q@Z z=))O+egk;X`3wRG`c2uh=VUT7rr3q19jijA)m>UI-A04Oq?;Xw&az}XuqeI5BmL0< z=DkV`NV|)tp{j8Vw3tE*hB2IClH4WnQ2Ix=NF_y~Fu4D_Y++R{R7 zaDKl%X6A*=Ng!a!W%WPgvqcc^qN$4jxA1Ja9Ck&IBLdUwzMuQIhqUx%^PT5S8AH~` zHWfC6!qnrPSM~+ zkb7id>57Zemyu*qZP@x2lVLjVs$MLcJSf#mk^>-^V9O899KAD)6NcL88(KQ$Jw;}u zM{DSt+PJSAJ9?aQ+Hq9DlUn(g{L?-7>v2IwGb<}g3SLre5NvgX=cf@QmogL&>zRgb z4a6^AZvr8QA>PZSiUINXF0UYW3_3A_%?Vqv{IzkDV6XmmjhDJ z3WC#7M%2J?_B6ZiV#%vF=x*twn0i`tfG1hF^{1tYpgyYd;)uF5Zdk^7s%U+(Vem%rhq-<>6@ zs%#5$Dy#wT60$zjuhsKLGh0?NML4{4!(kWO9Ts+^Kg56^ z85kyR%LsL}g!y?~vk+EWTtSdGVbG-hmaJSqvu4E>oJLSkAH1CY;wn9UL=-_m-cR(K zzhuIn8t;gT9Ojr0S=wpx=n`qp9!5t+`G5Q%_; zKlerN=+XtS|JXB>%`aV)0m)hSMYlj2oeu)IV z*}y|?K4TH#aF1F)gm;_Q;VBK!D%*&Vp?w)U34fWY0zWAS;!hT?u;o#n_V9`qxzuwS zwRaJg)r{UdM_;Od)7&Bg)Z!ygEO5y1dKe%5b8x|yZnnY-p7phf}gA( z{H1MjBea`AIKh6^YS_$v$u*h>t!u|S`Y58*t5hL9}afn?f#l}jxC zB+<*Twpy4$Q^1^JZ4msWy#(J8sC;*$w#I7@1g5RbR~gRcxSJrbg?epHOatHmnl72p z5TZu3XjKZY0i=Uc-*Vk9plIs>C)DT~Wa=8w$-lS%NHgRAUVFSF$v4~gefB+fK!5)k zOMlS5ziHo3+V?Z|{eSEmx6QwwKCSJ1$@2Fc*7X0h^wTW=S@s>Z?@R4_!oL59jVIs! z@_X9y)3ui2U(T8TJ!)&DdOIE*nSo6L9cUitQ*Y~sH z@U`+k@=dE!_D=__-?jSRVc&d5Kal(VgSqs_bLpSWrTbSjeWo7gszLj{aQ;u+rH1Y@34JeYTpC)Jz?Kd_I>xN;_r&3z5h4n($6`R z#m^tK{GYS$ciZ<<_WgDHe$KuhvhNq{J7Mkpou!v8{nWd)pZ8k&8J2#&eQ&kzLHo|y zciFx^e*eBD_xtze((lft-=9l=IG6Tz{pHseEsyz`G5J1dfps+O*TJyo94gN&c6#E$mS1yr{=%e=6~w;Z2v=V(fmW!f9L+} z{LZ~u^P2{r&%9OhuQB+Y{|?Q+-ui#^2ebX3f0O3_{%^lZYOK98+y8{+k6HhJdn()i zg*R&bZ?yb#x%_jM|2l*JvtF(B9sV0{(E9JN{PVf|3+FU{(em$qC|iHR^5KdbFb6gyu>8L;_w`c7E>am#-&mw%zF?N3_!t$h2Izt`%ot>xOc{M#-6i@E#@9c}+6YyZ(kZv2*C zHuyaCv)T3&%YUuW|E14l>rb?`{gUnPug>l73oXrmzV*M9ga0|pf5v}Pxc|l*w0*~q z3$N1pUt#UP@IKA|N?V@^%m3Tk6~Au0H=BQMRqJ14`|pq5lpX*1hUWh_gWn_X%B}y3 z=HF=fPs_pgoaNtO@cWA#{!du`h|Pa32mcFoZGYI>fA3ixpX1N0<$tr)AIjH1t@S(3 zKYX{2Kfvcf&Htjo=lrX)`9qff_16CSN)|rnYFfW!@O#Aem$$#Mtoc7+`Aculj(@`P z7j1mcUebK8e_=`MKgIh0<$AXN^NX7Qw^sk$+jRWb`2MVF{&(H9Aiq3f^u_bfS^gVs ze6M+1w*3q9TL1SA{xh%3=AWO_{I^;C3FF_q{aMRjv;4pL?ri;Y6|KKu`M>d9+5FjA z&41YFYjPpGKIdjM|IcjwuFb9Ag;#3+^KJYW-l6p!e-g{T#qe{d;kWOvjR&;;=dJ#~ zIH%+D`WyFa{srs*{*#*T>zAC;{C{Wpuf02$e~;$hWAi^`^Y`}8pVa)Lmj8c#XSV-Y z%b&FTVavb9*Z&n-|1S(b$~pX*wfui=;~P7X9pCKTTL1T~{>x8mzPCSdLi0am`Sk~L z`NuVXhmG&r@5|xm%QgQQ2HzyNJ{y)_t||RG{pRfaCoF%``Y$bJ$G>q*+kcwnPvqpY zS<4@?{PQ{fHL?7^Gy3{xbJ_OKAJz81+Q$E-Gr93u{!iQf{qt6~{_GL0{~^nNOD=!N z^51Lu$=h@If0x#Oo8>=Z=dgXX_8WOzVHq>VK@8h2O@M=6}xeAGZ1X{+O`*pYrvqY5i*q z|2OW?`fs%UKXEME|GC>W|2EtIpWmbTVgDb}{7K8d)%JhLKdAX1x>x0w#OSM!FR}a& z+W1EE&E@#J|SpHG#|EQhMq5lI~|6a@g$m_G?Pb~j83_s7C{O0(vu}|xF z3_crYv-purX#NA1|L9#=_?^E^^Y66$)o!l-Ud^Ak@jaZAA0}?q{I2D{AjiL+-=q2e z-q!zXbNDf9`L8kfU7J7uZqfQbYx3J~n*Q_}!;cBe|FGpBGySXQpSxM>Ph0-^AI;6r z@~ycoKdwj27u;pz_upMloln2h;MA|Y=X*W>dV8H^rK4W%^;@*(^n{o42ZuAL8m|E)>~zSrRT z-T~q3?K?bt+}{3=SUdmRzW%#^^ZD<}>9@BUpSRQRyWRRepZq+${g3D7u~qp&^IZ@0 zTGJ62ks)v7$(M!+&ncR5uX}|yQ@^8(x|IOBJK0p7v=jXq9`2T{9 z$LE(XpHKVzUiDk5r|O4iUa#MN`?U4@dq$7@mG|HM>;3oZH=pnKDE;Q=9mi>hv8|zm-OHLn}@HL|L|$0TX}rV=YQ>rmh<(@m-l}Bo3EcQ@A>)Pz5egm zy3g1Te{AU&S^5i>-f8K-we+l|zviT_(=JOt+tN2!`h}L>ZRy>XzR}VXmabTO%F_Pa z<`tHHw&gEd+V6MUmi{Kof2*Y}IrMHzf1UmCVN0L1^v_uO6_)-LOMk1Sf5*}xUwe--v z3Xkh8{dJbU-O|su^n;e(Vd-lvy~omZOW$GXr(1g3(*MZP3zmL{rPnR}jh23!rJrl* z_gVUzE&WkTJ0JZoEq&JVf7Q}!mi`?}uUq;LE&Y(C|FflEZRx+U^lL2r)cX`Z)0Td& zrB7J;MV4N%^v#z3DoamV`uUbVmP3b}{X6d^veb&-1w)E>PeY2(CZt2@B{Xt9b zwe-(h`W8$7s--6^{TWMtyQM#8>3x>|ua`B};pJtN&$b_rUh`_bYrFR{yz{eu||>EdBMCeyODoSo(HL z-(~4pOCPcHd9w?cvh=#;zs%Bav-D9*f7H^)Ed7g?ez~PTYw6>b{-UKPEnRv*=X0l} zpKocEMu&!WTl#A)|29j%z|wbG`VLEE~Jcmn?nS(!Xix*IN3IEd4r5|FxxGZ|Tx2btLC3{VkTh-_qlj ze!$WbmVSe!k6HSSmY%cpn=JhrOTW_6Z?*I(OTWj`_geZRmcGx@pS1LxrT?v^=Pmso zEUjG3(9q{C{S}t~cb5K2OFwf)=lh@ShZkDeiCoTO2OP{p#pIW+V=|8h{ z$I^dp>2sF;3roM#(l(r-e`e{!MqvMirSG!zr!9TN(tl>@qn3W^tj_0{rC(s_ms@(m z(#I`*!S>s3b}F!P56y`v0@^eU=_F{mv;* zJ0R@)?269E>FWzD?fdH`mUeo4yQRIEX-hjlGizzbhZRfPaty6o+WCh!TiS>BPD?wz zd%vZfK77Q|&hLG~(taNNlBJ#A|E8s#f4E?2r=S1b(#|h^?VQ5H`IE%b&X3$+Y3D!o zS^AiL@3-%=eb3nUjrM)mzVEm1$L#y__Wd{Z{fvG8#J>O4zC-gmzHhMabL~59-y7`v z?e;xv-}~&lWZ$-Z-(=r++IPdgKW<-N=YHQQvjg4ummiQK6ThfmU%xNBT*tfdbNc&6 zF5mGc-~K19|A}12Bdz(|FU85->hB$`RR$U^#AkNHIL(M4B&*>7oix6!B(`4?FR^tJ}isjaD-C zqNDz#q}iaSO>KTeUV9?e0^Q)FioBD;+Y*HDU?3>>RI0I$vheM+x{Y}_{PQ95$&fip zH!lkSwUh`0=DSXRQO)A!0uOV?8(i_y%az*a!sOR3y7JHuyN#3^a);1L9WY$Z1oG*(3!EVB-=+s3mdyu$Q0 zfJ*hwaN9<)AA}0{sZK7uDry;b2s%a%n_m{H{n91Q!(0*gf_T~@*Py>I|?`}MP$;kh)bub z2Jw7M-fI$E@^-PL1uS%%IXYl{P@HDBj)!b~-q{P1X!i{Xea0aWP7no2fYY=@WoReI zD`%&U?nnHeaS~^#pl62AcTk7y7Cuf2PB;hv1eXbp7{(xzpfUnpfVFUf1_9to8=>;% z5xiVt=+#zMstYyHOsqtBF)2?f>1>$iYNM$g1Bjsjw&QVg#EkdxD~JhhYiqC4K~WDL zJ=6m&&d(=DO15`wR{)OA(tKMmQ(N?SCD|EnfjD^C+s>eiuRidIbPw@<#I+1u)fM4F z0M(`-C~Y4Chd_Czj+S-hh<1C2Tf=x<%OeyaJ;(=uF!AtjMJ}(8G9r5LSVn|rRi3Oo zR?$LIwvz}^0tK+V z?1tl1r&#DmUFpJ22&2!G=z_U1++pZZ_yrNy2gbDU7_ojbZNd|_xo<>c;XEz%sfrQo zO9(CmMQwN5dP0d$8q}6^%SM8Y!Rf7+WF&Bf!pMBlP;`Er62ZvrZedY4PS2F65O5mp z03z|BrxXRW2mTUvtc@tB^$Mm4zY8FA0QWe(?pKoG>xccc=JJ$~X;c}ph3k0bT4lT~ zTM9W14NBvf>3p}{!4W0n#;|l{g<+aohx029H;n+TXi-A>V(;$I!aK%gsW#zEIZ>w< zCEK5v8h&Cxv`z)?1LT>mN2j(yNT}BG4*Gk5)6^aEx_Spr5bsyxZR*CtbY$#`F_Fts zxR}+k!vzG}CDHK)Kyll`Jpr!n$yOf{JB$HBug{&>pRaZzd@#7Z?UwF=KnCNw4gfs`l?mFwIq(}&*J$t8hHhyuIt|85y}8%^oe*kGdaug zPE%$Ec6I@wQ5UKRR)yXbtCC8|+c$sDa&!SzbQl1axJp#d_#8sdd65G@;HTYX&&Og2 zMBSJ-5@YJ(MJCXsNo-7W39q4$@;z(11HVfx(2(5nU5Nphmy;C)7;A#m;W*;}DcoQM zxBvzVU>Ba^R~7_z9Rxye!+&)~KK9Y2$U$NcGEcAi;%Z-Tji8Vio?v-a`b1FfG6@Pb{)nPOCEF~8u5N{D!fp@ZNVPkt2)$H0}9WLw%9 zwigqMkj3lfzj}OAg%2E5gdT*e*YUOJTWemqddQnV(=*({gY+>2*ANTc`6}XkrzApT zx2P)-Dj|%3vy9x}$U(hYn?DV29DO5ruQpd5__ZwW6eQK!7(6*6x+LSm2&OL}!LHzY zk5W)NjZ&!=i%!YduKaR1*uodM22vA-fbf-JUQ?0*=FO*V8>1z;T#v=tMXnJcU^K~lAr%dixD+~k!f`MPMD6r1qOWNr$A0v+ zl#*ADS1Fzld&t_PvE$?8BeI{AU!#``@v1MU1&M!3`byiQuxWorLUIDkK4B0cH;_c6 z_@qRU2OT_hfJ#YlIUpRUKs1&dMG(D+Fq7~f$Dr}x4#*v8v&N*s*&;YLq7a8B#0Tmj zp@~J@01IU)^i@59EoppMj|`O$+p*^lmXA*W{vD887thv?Xd-+HtH>$9&B#QK!Z$+w z<6IoFj1MAaU$pueiY_F_@Dj@gdZQG;^bmm<^lW{ZOI7$F-nZu|HpoXuvk+1VUK*t`EE|R-swVHghyJ8$hV*!Vu6A4JLw0Q8_}OGk@gfT? zI9myafYsm6NJaQrlmxmrF{%{S64#N*-UAa@0R0IxK@h}m7)^GIcd46=C&H;mes?rE z4h_0S!P`EF_MKFS6obj#h3N_`Q z6Dum1#Yt!l9?6-hYTv452GY?LnxZ(I_{}2_2+l)Bu{x2qkgEPDpw(9E@c50H3*e+_ zGWEf66fqeh(tH<6H%NDA#(GT0Bg<2a*$OJ%7`+H)=*^>3HN9uHw{LtQWJ{NM+Q@-$ ziX<5lKcuRMsx1v-D@CFRgX~i&0ixf5tyGv2E3iIbb`f$#fntqfymMhS~qCMyssqm`TPSa-;)Cr;hsjhZp8Rc-sesRJENu05u zmE~IzWjwAYAWKqER%u(RfF}$dCq2X9-HJjM*TtcM2HWDSFoL1;*lofP{ zcci5XI`>kwwA3bTO{JwaX{(-=DrjrBjq7k)s-P_|^{TW~L0dQX0_Ejtg@R@aDlDcI zBxW_yMdDP+68bn6HZ65?f-8ZeCl2lrEz&Snl4vT_BXy-F7hK2IA&E9XOr5C>OAOUo zBPl_gY~c=Ku3M|SCIbk5!QQjG-UP7t545FC2mlzLg-ahzO2aca!a6tYrf>DT zgxPFk!x{0WBFQwRv9!~N&nd-6qEt1FSuFbXKl@m!BoO4OFZDeohdqg7<`h)&u6#_~ zU0>dXnmgg>pg^S(N;}cN?O*^6)43DD?5G6$r81^5f@sD`cqwp^HUO}VI!56&jkC8- z`IB(0QdYZ(OLKzEmqumkI>6$RdY<5Pq8J%Ze^b#h1%b)8Qd9qqmzWndDObf?eUmtDED_$gcBVOIaQkcH1ZNP{;L7Yjfp{Gg}4UyLdMYfXH10 zcZ(}xBI-~Ew=-8=sx{;?0s=7cV6R6()pMN${5Z9(?c~nty0P8L(R+&_2B!2yfBX91 zNvidwNxe-1Q_)t=2Mdgz$PcyUz6a`8sKHO2uC70@SCrkvT%>qQ?5*YI*j#|t+z@a9 zBGyRq(!G0c19}S)`4eEQVrf^zGSL6tzHtY(67 z$@v&;TZzqSV1)DCjNX4g%t^=#Z34T2T zPsfkz6}ya#rh$1OG$f$C0ANdeT;9So7fzjiU@r!O@yXD@qHc}?$1ibz9-SN~asYzu z@-(EQGYaJ+kbz|3u#gLoc(6UF8yB@W%c@FhIz<3Ll%NdkzeHFt(JeL#5)6%i1vuae z3HmW$Ahu6!G+DPT1X$D_*z50}9CM{SMVxrAt+v8GlYBH5U8c9oJ& zI%T^iBEJfs!w@%!z#zbKFCcNw6t`N{C5XYTv?lIO;aR)eA)+BVC?#)=WUbqTz{2H4 z6Sf98nkkyiSD=*%n1w!SkO4)7tas7W@}u(*{vP{$xdYH$J$j0IJDGJE}s*H&`QxPTNM-0$*+J1A&n0$aQxOriYoE& zNPnoJs@wYeAn^+~!@561$<&Dxmx}*~h<-R6UCZBxoc!*A z%>w8!?#FSWNLXmvfwhz6DlKJHg|gVf)p527H}C`X7fO=cPE&^p1a4gO!{!UngN(4` zKlV`Y4&t+(rGDeoD2Uss(azihx`VZ~5cQ0c39XEpX%B8D);h_04MPM93US2J+d!r} z&DAODAh`K^`t@00eHY3=Z3P__ki$p~qdOqgW$17)_<-7L_?Dh=ZU;W0l`MQnKX}P_ zQ2^Q$K9`}xY2Muz-kfzCTiu;;4F}pkJy7-49~wH=s-2+@%5G)#_#_P=&)0^+hnd(- zU^>ep)zms8@jb<4wLRaetpeXgn+RK^C2+SOuzE=c8#!FvP^Lg=pU!&kK>F6lnSyoO zs`^mh`Z%2jsZUZ^udacL;3f}~m17B;8C-m1h(K9F`Fi?}2X!TcutBU2PtD$`36Q;g z2pA7`VK*sq(QQJ3(QVLL5@J>qUn@$uBbIkKdB&6SjbpnX90A9fHnw+fa^v;8AMDfp zCF95A9Y3f0o)6OloewnSgrc<3F0X;LG0W?RvKH932cZvTK`7IC;EPo}ggQ|H(_jhs zGwua|1vvh}b79?;ClNi6igC(jK+z4$L0po8wE*^|91SiV^^`WnBqCVQ@}b^N%BJr` z=oIu9BumkCxfat4Gm-`6RPqW4&IPffbift1WO*zC7Y*Aeer4oiZ$rZ3>I^EFMdvJU z;EYKU{*hX0oj~YpF@dEbA{(d>>#BF57-~Glos~`&YHb)@q;uh#tpx)fmTpOLJyTd*abmxZYU6?dA*6Ta|YxI(k;~xscESrRXV((>G4_{*GLV0 zgd+o-Yc}fvt*A1gI7-D>gu=j8U=|h<8=D*|gr-txhL}td4H^Xy2N{SMM2{vC=`aMA-WZC5pppk4^BWUX+dI=7<#n7FhEuU zpCYzK*m>2~8K7j^JVLjaVfb}u?mEGi>*k?MYF{@lYBG+$QpZB7`lN8^{a{zAuY%uE z9FV6F7`{?-5FiK>7#8V506XD2T?E8vJ@bF+_|VVAj&BaK`TUg{ovy!uV3QFlV2E#W z&iTFxkZCJuO2zoKP+O{XHfg=z`ba&zc!5xJ(JMpv!w?jFFkU!u`xjzJZhlrFUHQ%D z*Iotr+@$q>^Mf!C+-K!Wn`0j5;xy-vqX8z8{bz4mTZ+x&4G5l;=`DC)$VX?j?upts z^qzR8S8d@YitEKL*;Wig1_mVll=Lnc*LK=lghs53cSF@yzOLY%7RR21*@PXty%-nI zen{w>jBAtm%lgQ?qmcv(E45`fF*ta=9+8M_?QIYWu8&OkqQ{ql>&lD|I)yg%j^#F9 zQ`Od>qm*ZB_#(%Y9fg}}ngz&h!Tb{&EY(fo(vvOqQqs~%mJLQ5(hm+_o)6Q}4TZ3W z_{Ukp@mxK0%Rx3*MI?ic4J;{6OEQ(2S~?7Q+aMZXVbs+c2nW2gygZ>=1(L7g+4Q)K zQXvGxk8MIoD;L2?+xoJ@NQZIpFq$5Zb{{|*7@O4GZ8|HRg#9Mm(sU$q36GTWaDnmm z%Njv4rCcCsxZW2FpPT@~K$2qFsoX#8ZJ@eZQVf*~hh8brENny)6!D@)odeC8OZ8^+ zba(Yda+ymsV}#O~8R#xlpNas9;J~0n#A6#6ZfC?mWKbb9iieXKc@R9C$%DYWzG5G3 z1XS*WNQ6mHE50(m2EO3oG}7!N?^mtjSeijOpucezXiBcA)J z4(h$Z0{+7efaFmLSidC}DiD@7J{2;eX&`2DBA%%MXuQa)6mZVz{)7Iie2Q~xtLn9Q z3>oZ@;edXNB1q^a^tH5e$LlXYl)*#u;timI&?(ImY>FeS!Yc&ACtQdH@Cv(NHKMl= z*^?=ZA69-HiI`f(&1aSG-E1C259*MN5=C3bb2uldYA4Pd%#|e!Hs~CG2e*T(HBdmF zn1|&DmVnfSCFS@fd_0xU*e+}=mEom}ZbRNJ`mjow`STvJ@4EP0r^j2k<-m4;XbPjN zRoTAfWk4Pzy1ELy1l&g$l(*7?qJY~)7OKjSu+&PTkWEf#B{!K+@?dQXj-0E}l8ZPo zpJRvE<7f+_6QwsEKA}NqQ)UyDXNgUrPO{zS)#8@ZFOW2 z(>?IO{8`}Q5R?{vSjHt%GUF64H&SAJ4?@SI@-fbIin+wx-kmg^v}#MsoiP?yp%*yg zS{73=!)_L586@rT1QNDvE=1p4pcIwb&4)Wmm8rw7N$pU8W@wm2or9rYWdGZHh1r7za0r+)wwctnXiKbkpwb zq+;XCfFb!AHUAMN6CDFlMMopO;x7^!y%ksaR~Q%j9rV&(NRo)Lg;TOK_K+O|{<>2F zcna_fPstYqMH$)q)HKSw2yA^Eh-jrQ@J#9d>gVO}Z!A#3hzL-A?UJ8wrsv_J6v;fb5yK7PO(#(~)4*?hKQyQbO^+!hL8eCu41ZUhX8~M>?i8YGe<#; zEzqBm=4=Yyh&&KkpFq@s>swu01(d+Mx6Awocl~>B-h_#V5?1ITg>saSIYlxp+8U^q zX})<#fVbhHt&NM?6-3*Nhj2%LM%ZtQ*Tg$^3DJ&(UYfc@n`A8MZ7%&7PsQ*&6CZb8k{`Q-n?{2<4`Ku74!77TzE zRc`T$pZq#f$bYH!DoekEjtQ0l(S-|cfvAk4%@5?12u5P^Xuq6Wsh++wiinwN1C$Iz*zfz!PKFA<)0#nTsjc1i)7Anh;#g@xaOw%b~;Ik

    Jv{J>3Io%aJE5u<#H4jL;*O0R^KvZQtsN!rx!*eLNep|vfSxM(^^ zuc;2zg#hgnFetfIEgfAE9gQ-8v4OH7I2lm1^7e~ygR{l?u1~<_1BBl@-0dum-Hb;p zRr+vi?;R%m<~zf(*TfFLR5~bipp;FeLO$@B$Ap%k^x$=-P)ToeJegF-c2Fs!Ai5#) zT2JHF6ZQ;zKEYUzX2ZN#gb9+U+~@=hhnyAz!YX!T;n`VnPR+v*&1`toRl7OuZBvZJ}2+*;vAQtr5Ba^KbjMNXC6UN_&@u4gc znF+XzM#zL27$iHfT7ZLZqoL2rkOk}4v5H@NZ9=LeC< zUejxMY1^ruJ-&2|eZ1R087l!k26lY$3oUBO1~4!b`3{nOy9~Kf*0(G?kzSDS-xhA$ zp@7>*R#*-!>>D^EqrN(oMo}4L%ikIc-AI)RylUYKCw9ZLMy_kEWfy1djMrCO*xjmb zhz(;()7U*w%%G%bEy)N-lcKPguh&E;jRTk-_Zl$LB^S{qwZPU^4i6`B*xhIb+YQ&g z+LhybjGO%XQtc=2UWJbfYW7KNd=z|;sC)v|Khm>DcDbx zg{kF%5ZE5si!PncMUjj4I5^z2Hi0pi~wRj&OktYSpHa*WpMV13ZrMJ z$E$R`OPO2{OfH&O!L*P(pY(LXk3E%vB)R%g>9h%Nw79-FqHr^)fJ-93(1Hs)Ld4%T zT!3KH<=ZI6|F{N`t3TdH_?@p5#9?&=cJOaGU#uSJAgP^Tk68$W)=qqt$zqq7;Dwj z&Y<<_hoEQ#`;uVrVthE*>ZVHQz+aBJ{QqSAxh zlM@;w8=`#$lOn<&1v7QvUQ*j|-!1G#Y&FmfAFZW|A?Yy-wy=)|>VLTcKPSdR=#rFF zv`UVQh2Fp^7Id^P_|T8nco}Xb#NTzO4f6|7ZS_SEw~3DAfjZ$}*Z?U{sR4nw&(%Rj z#2jXT241u9NdOCUL0sU%wF~geB8-$&Jf>~E!w)6d$(b7T00BHhCwkzIaSE8dUIs3? z+8iHkyW+X0tU#C%@LT+((MT`qo1J_(kRWU!;le;#;gSaP{EL^7WIQ?7c@`5jHR4Z?O2#Ow3k=>&YFTMg&kr?Lw_AJG#i$pA( z1_TdzP=sSa(z#Jg!hVnvcKOu7(d2<0I}QnFLOm{&oyOcxs?5gzUKBbwC|w+qtHFaj zfsKI3&t%&w$vDS_OBH=PDRx4QgkCK6Btl+Kb7R5}(IlJ#Bzu#C`0%2!r!}Z|X;QUy zdjMLt$uso!Zn8Tl5#TF)H%6-_(t_lB(!m_U$ZRx+FdAUty6Q^WbG$WPR%A^BvTh$489m8Zl_ZRB(A{ch5 zW9A+Y7;=o4ZWt3L=GMrtCl+!i`-`_2zxWurB=;7ExWo-ijGa+n+O}5~myt z9Ksu(zA&mwzgGF|E7zpSA!f59%uF@pP(P~yWYNJ0%#11P(9UA6Maqi=2RXqceXv+$X3MZV7qL8q=F{De2*)=Zo?;IB%tW zsF27O$=_go)JiKnwXA4HW*e5P<4faK0jvgVN|Str>P^Xb)8-c7Vz~u{F5dNVh^#`( zVkilPy$87sJQWLw4FS~tdWFQ&S{OJvJXfPnGPWYl6$lO(0OEQ9R+elQWt5LArCx-L z1Cx9iYEi?um&G%YsO?h!wqxh2nO0A5CK5eEhR8eRGga|WX7jb7;1wuDO^N5i8{BF# zi^O=CDK2ArAf*SAf>@Ej->{9zdz7$tqN&Cyg=-sEl$~vY+Uk>VaeR%Nw?e=>^7O$| z;%BF6*y)dM!=Q`NliATVHuZt@|L^FREn;iROzL0mN!(7Z2HcJa$;BhLm{r>r z0%GZ_E%M-G6*U}{qhT;I=T%Y9*VOLJ;;WH@;+~G`w?e*Up{0cJ3OMpZQy+s}f_FKi>6MhsWE{ zERnA=R^Ie>(P_uCp0~k}ad@T8^2v^=BgwJD`wkr3kv~v#>BG31rWKSt58;inB(_uk za%d%UgNl-eFGlNn8SkeFAF{e-IctJ&qqpzE18ZmL%{%G19ZVN>BOXm2e;yY8_mt?7 z)gpzgebhZSX-l1)Ne)hWRXS(AMuyv^DVh`8VE|)hK4HOzSNmA7E?O7Az+Vt&BKqgB zo3mqM>M-m_#R(`n7jv)-h|DRd^pf!j>S_~}49U89{ahDZe~BO=1H-E-@jQx7#xPW7 zxIpFaNjSZzjl<)7D+LSRQ1Q0JH;m?Z1E4!77gd!%4@dI5OamQ549i`1^p9nX`dRrt zUOL{5QMywo6gF}=$G>Bn(^Vx_<}m4^>Q*53o60Ufe5_B-{bFi1QVF|VV9&=qw1*Wg zjZ>Ajwvq=P@AOsNAOl9KC&Uev{XyeAL1op&l}d+1;j1jDR7yQ7@W_g)Wp<0V4=FKp zK}`*sg*J1g6ShmKbZ@guM^1B~;_FazFjm@G^6+S#?67DaJn9v>bql4&=YTaa7Hh(~ zN|{)oLvX$<&vR+pO7D@@br5ET7n)rh8XEge#yX6qF|JU;uJ?z#jnj?h*~ai_X?W`3 zK`475b&O%d)G7_Ft-q?s;2COdg3<7?k=T;b=t+2U3^lSGfKwmP4>8q;aEnVx?oB)x zGQnt7q}B&I{nsb#}H^!0~KonQY9dR;w> zFMx17v!jJ_6TI<@x0L2$DMf~48^{3c#9`wmMY5CdUPG=?usFFzF=e+3!{#3FfI9c4 zot-L|bsuH+TL8TMq41{`J_Bx33s*7<_Eh+BvuF5|sW*W?jioWg6&;rHq2;li z37?9N8lNTivyDc%*d0&fPB=zvbrL zH@@V>!eHkLbHb}*yLP^0H_DE^xH@*@4ZD5R=~pXN+H{Xjv&9+lm#B+De_A}c;M3aO zMZlFEJmqq;T6q|(sedS`C#;Iu9R;;CDMJ%)AL*p4B>jmFS%g=#CtkL3YXFZ*P3T+X zu3K#tbHWQWurT1mJA)3M<4O~maCXQ(QaOUREGlj6+Bv>+WW0A`rSdMsHr_R&rTP|% z%8ZTQ@Z#c@80&O*)?O@ytp4?QKY#c4_b;gk$uqxq8sJeQ%J(17%03fNg zo2Yo4cg21&&Cd-lz6ovZ17{iDl7N>NvvHnyIErPvc-)nsA&X`uN1jSOcw2u0y9)__ zf8##v^k8&H1OxbJ$Rn<$NsU5qBAHY6%4(YVm|U+X08_Wxy*y3?o10GwV1UA(v-MxN z>L3B&G!QXcy)&qRZJ!SIO&^$=;>l-kyNeE*{g>ijWItv07PKEh(H7o>@H%X}K3MkS zgmo|RqVUB(+wsA&zrY8J4nu6!3w*FB5`stT>w!gHr_j|w+hZ8v7T^69m=Z(o@WY8L zQWg-JD<>6wVWl(ho%E0(n$ZFu3YWo&0IPUWJACVO4y)5P;xOu1`?3(Hzi~rHUuf!x@yNaZcwyfsuqoP}L+0JVgA-EoUPNF(=GBvfV)W%9DxuLl zAfu7m>$fKn=xRV9xH;ilL=8p>x1bbIg+d#-;g+F?2BS`jD^$Q0z7rH85qVd!HOAfz zx1+~E{Z%ez)7l;wUpi`RApjQN$kW`9-Lrs_rSwIh8M#W3^Y#`FT0#dr^4P81E$LGb z%!!W^^KbCo$3+kVE6I&|lP{)U#uBjM_%T1ysdE;+mJB0?WWSknmvCZ76*8CgN@T!$ z6b>Z3^A|u`;Bw{UIY^fg49=<$jJ9G*)T6)lZ|Z*~;#KYZ+OJ+%lE>ByOElozpBTSr zPB-^(APyu@^zwU<@J0uHpWowu1?;}~8_2!KcibGn|H}R^r~eh`6y$ZOZGL}bYHv&n zA~M?}Q2tEije*M8;08Ejt)#rhj~YpN?BEnIFxxVY zz)V4NKfr@lyx$dYr5+zhS=2ezRYE@9#WguSbAbhh(VPKoPM>-SW!gxNP~vs{6(p2B z#L#G^C_VTvMX!VOJW@K@PrsS^Z(nS!U=q!6wi!XJ^!n?gQctcbq5VsFQ;KBlQH>#j z+-=r>z_b$>wgMRPo5;$Lo3KOhq?iY_k_i#M*$kxy42cNnQYw#Cv$UybAkQ8T<{dDc z!D0s+E<`R~QP@BmZ64Q+2apz2_AWe1%=?lduRyej|8xOYL4JAIPj9n_kB47O7fCt;Dtf2sR9FNyt)s7ao z16TwBrcNybMKxYLs>UHWyP&DR#{4owZNnmvr31=}{TmH$<353I2iGd}SGgyd8y+7X zmkFJk8?Ma3?rLs$^;Pm|wTJcgml@-$uY%W%VS&niyC2{5e6{2K@}KTQL;F>$ZI0W) zR7NUk)ije^j`h#3*_T&dW=v-rZ9Im>{cCf#+`qPS*ZphN#o@G<;kjFO?&2?s2(B47 z^JnccU3b@x#~^p5_@=|dx=f4jB9Iq#XF|H@W9Ow1AIYo&3*tdjycBaqD(i>$-;(Uy zb?}gRRv5ltW+YS6IdKO2FU|kdLos@0}h`zA6(-oh%^(Ty?pGvP+|NR z>wkGaWywO_-$nRez7o2>&HXRymfB4BNBqX)6*vxwbbs!wqrV>#QI<_=L}5R$V<~uZ zPb6f4y$|7n$u{^8s%Q<`F&$js3UIfBy5bcjt;wXi>7c}{K1uva-uai#rbFJBkhGt0QWgYwGDMSB;~woG;fieiC@Bc)S0lV?!{hu<%n~6un?9iy&_BsRth|N$H%!AP z1}-Oi2PlmzSMm?x9`GOJ{oj)a1Y1(59R%|);v)GX?g0hl!f*G#3k-)w^v6|qKWMm9 zct_|4H3h2g$K@TN%ysj7LS5JXcZE;h4|b~}k5d1x#$~*sQfFUOe}<>l#Y)`EdOv8r zVgT%U-~bIKGLAwVe9Qwh`0FcEVFw=}u$d8?e_mVjQLtS%sCxiPsIXydByw3+3|ONv zPu@Ser}>M!f3(+Mwmbs|Nl-oE5g@KYR#eZuU%C?;fY6;j@)8BS-kOD;WiqTh(4DY! zPpu6Ce&Vh}s_~3~MV59EE`zZh#drmFth}zwtfj0Y%KZqvf>h$+3dm9|@tcdu7658w6_z1w08Bp4A3Qg%V*evNc z3K-A89>|hhs~w?`=)R|e9SkU~hZ86`P6^mr`0Y1O2o5AYRglP+!Tp|eGm!b&!1vPw zbC;Ltemb)}(H*s)=;c#8aalc@?8J37|E(@QVDG|sFP^)x&Kz$;+ql1uM{#BEu%)Md z_t;_5b3HfO1y7YOomve)sxf9;VxEmW{Y@wm+x{(bUDUCisaLAkFWz~I%N zGh`ZU5m%AH`8#i3QIvOBCL9E6rJFj}SG-T5O^l? zPj4u|nHl;+!Erj{V+f1DRRq(DGtynA@b9n${&p7XnYk$o;h3g| zFg0^hwye$%QGow9&NNTMVip=O2^oTANGfylxU1T!(8-NegO`c<)0_-E!@?in za|Q+tQS>*M>#B1Tys7eR6XGCIO6Al7ACrlH5nsHb;BUcu8@xI~ zXOwU%wRtRqszhA_h==4&Twnt;XgZs1N8LTDXWfNbb7c>WVep@zQF369reHspESAw8 zL@fM!!)P)-K0dOC|7w9n_yEpM7k(vxL&R9ft!BS%-h8n+xjVEAb>Dele6c(-!e`Bv^JmecDOmT;3RHVqT`sdBpY%=urbu z2=fkHU?ScdL)fDE_1BNn{Sd$=(LyQ(*|HTp&Lkx(zdP`Jw{7>QGj>62!|Pg-cS!% zFZiWxIplLF6_2J6qqKmd6YVj9PxEz##OjY!39(9Q>a@y>R|ir-%MJ#GG}&P!6iA*Z z@YJbbel2WCUoloMHg_~xs>454y^R=+q@Va;>9COeVZPpM zBLw;bh*}rDLGb#1+KWt0)(-BX^j23C-2hi0wCeLBJZNJ_peyQ;KYJ=LCkW|Llerdb zj26kmT|6i5f#ZpZ8<@Zel@i?CUv~eC2;>&jPtIm{!zn`zj`IjbHog7w)Bgi#HaN}3j*TRb!THF^4;HP0LPznqc59D=l z*>Es{k+4}{0WbnyC{Q0^U@A)(Unriefxl47dBD9w>T;q^f+@hw7QD`avrtA7qpB~C z&#VcP!6F!?7O|azl2!yqg{)C1it&clIGwnuHI#NRm)R{bhX1nCXmZ`uuqywC*M>v6 z@#{d_sCtn-%a@HfFJ-EL3OpK}^^&9xfEQxY)E3v7S6u_v@((3k3=wH?cO(<*l}I%?2Qb%0<9LZGeRi{c_buj61}rVgQF- zrXIf6%Jdcp%2!*dEGgl$43m$d6C<19igwo5TU&Depo4)nvq|wzEZHR7z(D+u{agb! zkfsA4WdOG~_tL)ZeHpV9(IdL-0;Ta=I%yHOlV|$tjR?iHwV@9pu_E z7*XN$M=UZqdPuho+yjV&9++d*PT+NP7jHim8^r%cZ45d+bB~KPgpioB7?LN%9mhLa zA7L3xAc=Y@SuZ?1YmF|Nz`0q&OF66nBx<}}RdWqJwaq@on*$Zn@UnFDU0qwQfH5ci z#A={EjzI{a8tHc$ab>3f6LGK^FG>VIyuB8=0-o@F;BA~RfE{uI?Cv5RBi}ErfpBSn zAccS(|RW#&9P_-*cTX65RFJwX*NwA zLGX8s$!M`KAA8Ug&q$aM5@40`P#rfsdIO`&!1GOQwtcEZyp<6ygLt8$!HH*)!00%P z)N*OH%@B5WE7w)BN}v#S2<{!$hpPAm%vGx_>Y|xuYeu6wVc+{JI{qoIy)A1Go){-{Ki8+T1*HMCToSU(d!eMHBDNqB6pQXdY-hp<+ z{Q*GH0P5#K5m;Zl4*e0Er9+Frjj*wi{zqY|c&7p6xl%T6sH!?G*~{hHq8`4``joJG zu(fkwLJJi7ipe`eTHvg=pS%c_T{iu=us;(l!b{&`LOxXUr%oH>hm!sr;plBfXvDoG z9OphnmW}s|UIx)H1b>1L9^YYH5hGJ7MHGjM1|4-$?)Fl? zZvG7;xtn0`3wi5^(mHUEvm8*v3RU58a0O~6Hk4v?%} z4+*Sxy($KgJGN_FrNk_QrP77854IDDeA8A9S5bwa0m2mqjVml7@-0twSp4xt@! z?0cZH3P%&Z_u4Q;>m;IQY2kRSBnOh~&NMN^9oMO|YgiKFxUZOZa8m&(1F?>W!pJ$R zk!YwA;_ea>3vXo2?vnc8Hq|BAID0bND)AbU;Q}yV@s-R0Kz2ThXsB{8Aa0wXAhfZn z>L_ez@Hi{jE4YfFF5A5=$TpWCqZ(IJH6rU=aKugXfeOT-lVAvfs4y9B9ukNSKoH1S z7ZKT#h^5i6^EJppQvr)Jq$f)h$doLx;w7K{inP8`g_qSvtu1y>;FeFbXF8)X4M_Gb zAh&dq)Y+BEdV?B52G0;fiz#ZDf_yAm)ds%u>=0*+Bz zQG$C35(kB`K{U9a#SS9aA}TS_sh*i0W@MOYXAwq?wn7vXwWBeb#Apc`c`ivCqmigd z#l*b4XVg}oTf}F%8>6OOf+lY7-h0mJnR}-1bj<=Y`sDkV+qeF6&OP^R_f}PRl@OEP z9V+eNwTa@vC+b<}?e%DTIb-R5Fk1c{3-D@9dV+?mJZ;2SB5=bZ9#tv|ptu+ffvhd_ z?FTFHSzdO7(%e=6+b+eGC|EwfM@%wb0NZfkTJdnG_RE<(;aAkC;r>nP?4`qt>6$=v zhvI6GEw5aQ*Lu{(@k)U>cR%~PO0o<=@j^58;y{wt?wk}}O?W1ZmcOqf>!+NrVYK{L zPNcJ^z(T7ohp7>9zb;-0BYtWm79+ZHD6dP2RGuXi5;Y1QDWgUx6%jc_R5I}dlPMF~ zceF%ql&+W(RkoFRA|BB#Uo}=Lu0Y89R8uDCP`kTDbYoFmwt?NA2z|NX1tB7eFfH|PZ&{Vp!`MrJUR~Q3 zWmRl<>*f7S@u@-FJrh?D<&{8Dc4z=``YOsno7zGtImLD*StNM9P$qvF6K6IKzM7z> z)OP!rPBhiFPrW@{YSv}}u@J~pggRMpW#xdZkRw99&Et4~N<3*-+|&`<2(i-be;~Y5 zVZ3 zA!yU{I6oh9Y>X!N~4rH+CibnwCbg-)S5kh1eGg}3cC>46fA z3WpJHXp=`ZTI@yC7a%YI#UdbFDxX~^t`eyIKwAk_g{QtnK2%M9SpcOfksTiiCl+*h zK}o&*TE<0wM~q)o#kVP{(+pV=#fx+B3}0To$e$0(z!OzR6xe#)+KFeFix+51db?Sy z#uR?)Y)Rxt+w)Lq|0JK}Ax`*2{^2mvjlQx$ua`inWMWxyTzhr;9VPUXO}=cv$l7>sWr|N4gByWG@mA4sW~g zL`xqmb@Iwg{(CGUD%ICc;FcfW{zQIR{PA6UV#Sp43%_C$Kg*%zM_ojc2;9<;N`R!c zKCG_v1sfR}ZS*4h;Dku5LUMsrOAUO1M}0F$+_n>!zf>Tob9}J|z#;MCS9v?QynLK} zq<*LPC~>B*xa4M2akkXM6j`E1h%~IQEjVl z_~gILP+&wLP(!u_ulOWqju!yswLZ87pmq%6Y((tM#mRUZg)*&*LX}oxIhG($bmWwq zTzJ#Cq|!!h>x}8*KWo6iL4&s$GIZFs$XK%7*S6nb$H-1Q58q|i5nms<+wObpx!2zN z*!zwe4FtvTE{@;Z0X@&Q~`LjWf;JBXY zlX`PqrxS=Enw!tYIhpl4mC}9C0ST0PxLSUcu(p2nEdlpKlP9ERsN`C ze664Qr>2+v!{e1#qQ0(gw`08+f{Hmz!S#qATMKoC=;koGX^7v;9f<#h(Jf|l z4MZ2c@aw*1dl1YfHtYAlaryIMoh+JHsts3x?odSCI zf+BoOz2Mn(+L5s9v-hj6jiU|HgO15RAN14ulJ4dD64pQcZT~cp|+H8r}2aL0sq}> zkRN$O=MUZk{9VMo{a`0W{0`#ZA^AVl=Vu}Q5YErV_#uA(U66k^+Anpv&Ywd3X_Ozy z=(vse-t$2J+zVizy!;%<|6k{S5{!Y{(oP8tPlI=^)IiN{ZlM{BN(6kZU6RHtgHMy%XyWb$*~06Qe8a% zS%vGEkLN$pKOWPg5xuuNuP@}E^x5C)(Kun5?c>%fQrh>wiu0v)b#hoiA?cnvAM()u z5YF#-eZGp;2gG@O|2OIv!|TL^2cN+DP)rR|{XVLn?oX|=VLj}v`c3{e*@@z>uj<3q zA3%Jp-2{2o81yXP_&jIc3HGGxP7Wj37Oy*r+w%$`x;cz)Z^Zd^tQe!C>sS+*JYLm~ zK%B96xl8%=>hoYXo?pcTn(`xo`LVU?b8s2d2cy1NpQDr?U98V8*5TA!P>*eFsScXP zrTpOaIdaa{sn;iBoXnd&OH*+%+JO$9hIG*pE*(MA*e`$GZ0Z3M`_IimBY5Wn!IGZbHLF7VU%HsUWo0rlfL zijn1n-PD0lFn}p0)EHF@!9;nfq>iSpB&DQ^mh=y_4F!B{&SCl@d@__0RMxyJ_j=Z zC;PdGzm4+kIXZ3;|0vM!^`W}|JPYKXgZ{s7u0B5p@s)_j(7qHO!RI#!tu5=CB@fB(2sEcGvNOT;;S)#2v2E^-(Udq-TPD)DO@fS51fG_5|P~oZ9Dp1Nkuo4@9t~I3T+2 zwzU4-cGPqwg6wM#2mcq7Te+}Gkwm_JTBoE>VjSD)1)b7eyA0$7yL2w^UW%J{;ktxL z=pT{JEux=^zu58pYCvD|kBtmu$71}&aPm(E_3x_O-=RI9I!5Eo|Lyz)u#uQx^?-`@rF-#i@FPiH?JPa#hEW6jg; z=ODg2&ObI-Vo1os9xH-Mx&i)Ij$qMn`_<^0G)r$5$BS;o&YfR6pFcdi`;B zhx$SFcL!E~EyRlrNc*ajCxX8wPKNe1oEP!u_f_w~e(Bk70^J+z{PGjzTQ~`D;vaSn z)Jf`xZMVhxO?hRiA3G!64k(!Niu^+3?ZxET2yi;0FV-$uSEWcQm%@DW=TCcrf0~y9 z{*!vZX`EmW!0G=n--M#ll&hY4)H<$ zC;4=J{AXwA@#SNDnZ~8#v@SVC&R-}#>ZZat#LrtgA4(UI$N5Zs(r*yX-$WNyKNG*{ zIE`=j@%XVK_6$3J@{dk$V0V<0JfQKJ33U zrG@t^MAzN+4m>}md7JF>2>X7i$v$^8c{VD>>l?)_jZ6EO?#{!+_dm~o{r=vp*B@(d zsDJljd}JqpeQEvkvA#Wk_zR3b6|#O({Jnwu6O*14f2j{Uzn(*R^v!9V*EzDUT_lev z-;zb>OnMhPPS>f(&!)I3CdY(RejP9q?2%u8ObqP!&+z(i^a0qPQk>p{`vp4x&avwo z&thEA`FED#A0a=Te`gqOe;4+XbpE{C@w)yl;!NER-TH%pFN5dz9SFL4ApLu=M=|y* zFyG1Uyndu`9#=Cu9tRsj&X?=68U66)IlBEk%|{~hG# zz z%Jtt37Z>^Q>LAX^t~@@7?rV&07X*lp==NrGJdTKNETh}gAn#B{XB+5_Mmnlvv|e%j zW;42|LEiCHw1N|0kNzVhZ zf6rjRXJY&KAn3Oagm%*aXlt?EY(ak|wh?T9igtKlTfmRQwjAZXh4M}?*z0wcr>1-+ z{kz)I^-b?ASFuw32N?ep->DzyxQ94h-*mqR_%J0!d|xSK{@jY+{|W{yR-A*7-=7Nk zw`va5AOHH36+-nOZ~(vkf1obf_n)Nkdq)F)E7nc%AWIE*j{Yx6ruAhGh@GnOFy$#@Bn!i5@@E3On{hexEKL_#o*MNQf zB|4ru82ER_@q=ge@q>wgr_esmT`)e`Czt^E8k8SJ{mA|n;_r}upVH+!QQ+Sl?eq7` z=jics5a4&<{L;)nb{XK~kw0?-=tuSq#sgl5{NDM@e&YaNj(GMQ9rq3dd^E|=>Hf12 zKM?WkJ38(j0Q?6dp8Pw*#{zx?;tu8?>F<{UJ{|GM>x>`q`858kIv(r~{3jxwenrPq zh?kT6H+4Mt2JkOIJobi;JBT+Rp5*e!0RK6N-}kOwA1uVDVfGjRO8pMnV33dn2q*`>H4u_1gxV&L6MN=<#VI zPS=+rn1AFy6jQWGUIliwTVZ}h8IT~CfP4;1|7E2k`=^fqdvN z^~FY<;wOc8F}wNACn}P37FteEc=Rd6pG5la7N#fu^qS6bqNDvw`W&FA`3Ey#ezbpy z9;w^ML!9<6HsUmY7jYWL)RKJX6fgsOzr1~B>h|4XwEp`Q8}VWTk^kIRb^E1e>GG4Cb=;Z@crp1q%z^bk z;==w3s+eUt#{xgyf7tPOra$30e|wt>H5A#=nFstn;x5CzV*q~`@$_f9{cOaaK|E6l z`jLGDoZpLxN6*x84{?e=@BPB|q52){ug}k!1Nyy%^0R|rel)&68}I@3xIY{QIL+Te zyqNt7&kP2B>i2dVs{{MkG!E+9+vD`MybH1rpP2>BzZie?{W0%vx_@27!^XEW1nf`s z(MJBE=-HE#rw!lyR@v*)Zi|1fpm{&16j=SYuX@5Zb0&2;R#83MJ!bc*&>1cmIbhd$xeKp^!TjR-(Ejs|lfhn8e^SU#``6D;(s2v%V*2IEAP(*G3&$hjT#keJ z!jDrww|zLj(*9;u8R$>;NiERr^X#{D+(Df7r&AZP`6EvHm|7Y?#`jljd}l|P59!Cp z_i_Cp|5zc%C;z*wzMAyq$NBGnC~kQialWv9x_{#j*XJJ%c|Y!+23WtHi}c?UI}5?T zq{n~#qDpX6Q3 zbbiRV)|BX^bJs%HKL_`MK9pb9BCrGf{?&gF=1;hH0^swK5MSy0b$$nN`u(l-u+AS~ z{H-GUJ_a~lKT08f^lcEA-mi7}G^M$S`>20c^DcKO`ZWb@3iHJNPZ%%r0JJn7Z;75C z&;7P@K2C4yr|#|@IVSmZ{ug-^#-aM@qW?{NbiBLzWjBSJS6}I8ufn*Xi5gm3zar>w z$`9+rb&7-5m&g+^U&8&6_NDVD7whdD)Wbdnu zk2rn5GP^zSQ~sn7r{7OH47U-d^ONXs#=jWGr{7PeHiA8Ad<${<{$}KHW}lORpT3`& z{ZQvmAx_`#v>3mGIGtYvM}mG-U+j}WKK=eQ`7(^Z6WZ59|Iztv3hOZG?;=juXPoDC z{T;+noUw_lgn5zwBIrkApzm)wt3iJ{PT$+4K7D`lK?nRy$NBd*AI5si<<+qL#M89? zB=vDUMn~gxx25lgl0IbLXK&jW4j#WW?P_*{2KdDK^uJ>TIWyDCNU1lUOx7NDS+o*g?V@%Lf`)s zTF-+vdMVQV5L%K$`uS)F>i1UbzmDTS2Q8P&^&p(;yN&Th_I2VAUsT`i_nH3?r}HBR z>kF-~KE^MNV`}r`qg_qo|D#^7?-m>Xpl<`-)$wV4@utH2ENFePs$u?ge(f9yIO*pn z0H^qDVDXtkoa$?Gm2N)=ajLJu#X4>wPR|dD?GAM`Kffv%KmYui)xb~rlR})H-;-hd zHsZ9trKW)VJbxv~r|WCcH4s-czJ)klAIJ;_`{em6fS;}}tKwmDOp5N_# zUyncHr+J%Ns(;CnN<~8Q?fP}9PxUW#fQ|>t0H^ww{0zpY`sX2T8kde|FNAe1-=72h z96L@pZ?i}rEeAgTU!X_ib7(m|_3eZ{E*%fsrbmE1!qR_P=_r0;Jbo^Q_@MZ4Sp2xR z0#5Pcv-k)nft+y-gVHXvCVyg$3N_zpEFKI}vOgUPc|XQGQCUD&Bqe?6&4?K9x}W6rd=>fgiG z#jx@?9X+2jwh-i!o)4jX%71%NVf=ZdOCJF^?XRrcApdE96?Js}caV?H53}t1Z>!Nx zbpI$B=IAtip72@b}7gBgo5q3-sbb>G@jD z{YW>fFx>`}=Uo7Fx!*y{<_#6l`NV zfDN=OqboJgjY7JCh;J~^jbn6K1Km+bNBK`bc;))dX7X$#;B+T3d5aBns7}#l*h<)c zCijHzA5;8CE&#iphU2-j<4P9ca}d7`uRmI=Ag;&{Da1=hgB%y*U>ItYMSN$(ZH7ly z0w3jP1mldxk0DO^-Eacr6X9vZiyEMp2;Q;v^Mzg#+vj5P?>~LA@P6yl^Q)AO?nqci z64;XB&NImO9JJmhXr2FsHh2MXVqk4*-g4X&GFjMvB*#JD+c(^E8?s}7E{gma?0cnf+-VL7rq+e?dg}5 zV@C>iZ^rix6-LcR{SDtK2oAvK+o%3@gTn1SL67pMXK3`c)@$o{FTuQRY*R0yJ=#bL zexf>_dJW#c@$<&l5bu$JY}&I*v& zSvp@D{YCYd^QZoac|+|7(C2jht#9(rd-VMM{-$t9eKPnwb|UxDFVv?txKpnibiBW` zCjWf;1@}+zGd;ho&4u&DzT=DOpKaOmnfpsTh1Da?^2agwC-sXjrhi7De`=UPTzrlx zJKUj5?`zHGrs2kzOBAE%uH`+}Se>$QuF^u7s_6QF-m%uoJrI`!`5X6_qZE&e_$7RFO4-CEE~yyAN}seMUQ9H zGXeB`-ei&I^M*Z7?5Z}V__z<>t6?*N*@#D{+o+jo#5w{(l~5&Q!D8(@4m zU5pPG_5KL0)r=`u){++6s&<9CoQ zjdYHIZYk0Qc%Ga4XJL6^>lWPyv(Jb4u~{CHz3Dz!1nE43enelaHPye>2jTq#CLnrU zxcK&VE$jy-&WijYoIE;zPW=+%J9=JWKDcVhM``Q(7~ig2IKBfG-*8u?jh{Zfe%f^U zxJ6r&f9hwzeWw%>3_~rVR~5EPZz)Opmk!ql+4T+U0?;FhaawGA=Tq>j^9i)x$Iuqz z+v+&(yTXoZ^4~L9Kd64@m@nm#vj@Z zhr$7fG^Y;pTZw0?UWL*=k zzIJz_#{8x8`#Zs|vF{bp1M@fa3efrJm+tCCe02Vnd==zw>GOM2{+xyWu}Lv(gOK-E z8C&RXG5@%Cfqxcq$FJ+irO!GN~`Ntmy_VBRfd`oa03hN)6y>BtezAx#p^)Eob@Nv7_ z5Ac1n-Q^FI*pU;i`tXC1!RC(RU3?;q|xe(SE7&N%h1^MPKU2sQf00{^5o z7WPkW0oZFb31Y3kJ^07ju5i3C@}k|?qR!)?sDO|JCjUH-zkA~KExEFDyVJ0T{xlrj zFR#<-lK37<)BQ{LH{c)deciu%rgb@_2XEaS*25uc8A0t0;pF_x3rEMqce!iw&)@O; zzxn$)C^fNE>O8(u(*e)S*5xJVLEq#b5B(Ek{)u7!*ai!DJAz+qY<+`&qWB(6 zgP8o`i$eM_&(O^eCjUH!_y2kRWSLz|!@galzM1%p^^NV{GN^|=3;eubeb?eSKtGxE z=r6}j{`nk#AJ!p%j$E`wRS)Z*+;t~_9zS$L>0|E%`Qt>O4aL+Ch)n*u58sPe!*tBu zQtTTiEU)&054>Afz@8%`4I3On9g-D3W6?gRfgXN2_6 zGSJr^-n;&ZHTA83K7JVT$7Y6)t|(#`M&H$LG5=Wig;QN>9_!q4;tv}CiCI67UwzPjd78f*be{W6xne$<#Qk~~da0=9m zV)L4a`D3C>p9pfYr-qYf(f$AhW?24sKM5x%wQKj*p&05(`vdDt7_YDD+Xt9GHZyP* z?ZOWCTGzP#u=?h_3-!%7Fs(nAgB^oz`o$=JD*^O=T>ppoo?IVV_pkBJHTWaYbxvf_ z1SOjQ$@yI3ni~;QoWp zEB28tFT(QG9Z@(hgXan#=kj?!GadBptLx*=`YNRoT|XLz3Z~8~{CqpEf8=VN&e(t`$MaV@&8`$Cw;x|?bSU$kY2paJr45ws(xN+IKN8ca}Bw^ zz127Rhu2Sh9;9(xte;WT*Tc9l()UxqwEtL#{^_pTF?^q0SNV&={BtM%evw~4%7uI%>9ybJT>q58e@6dc{y09=H~&R_{hfA1=i^y6 z_{Z%fKc(?~j%LgD4r25V=1-IjfV9{+-T zF!^U7UVr^Fn@4hTIR6AYRVYqp6xNk*==CMKcVRh3|KRzRkNK0`2l#_Gz)!IuFrJV4 zCZoE1znA<&=U1t7L4IHD4@P{@q-NSv|G4BAYSDgOu5aic_xDiWy6PWyv>qR*M(8Hl zi2lImQzR$!t$#+_Nu@ilZ!Xr2ViSuTq^}1-DcHxyHeCYo&gB^M2lod7`iJwSw$tU= zll1(taop7YJ@XTdn_H#Jr{lfdn(Et*_})71pH#8B-$Mn9`6sk^x;~M@I3L?PehEE( zFAQFM{}%53cgg$p{7IETeTiWk{f&;(4g$>L34?P)AY+g{vps^-m_N`@{LC?ms8w_-wlU zrn_m(maP+Kqx_Bg!8p5b;qiLQu%`HZznA0Jj&9xf4Oo2%zM%1I^3T<{KJ)Vrdloute=r1VLo(!)ZYR7Tlo2{CjY#H`DxRHu}x0Z?atsHca8pG=btI3 zh#qtu9qHUd!|i{1Jb_*oVDir=2LD8k?B4st!>S$DKgp2(NgoY<48COk*>ovy}b8 ztbg29~dVH~?b=eNHH_!0O!q{xs;#Yz0`D!}V^ zg*#N~l+N$21pLQ)fc)%kz)$tUy8!TcNtoaJ%sw{a4t@_Xy#w&m{Jisle+k;}m}_+V z`B%WW<%plma2xUYh)-d-_kG|Wjd+yd7UD-BUd3=X4g3cqK7!+y1AZXlqZ#gB2KWHP ztsPQ70SP4UkCX=83lUy9{|2D z#*ck2$iEEzn;fa@mpTXVRdawpI75#Q=WM_iWBeq~X82ivzlibaGXMLnfX}}M;%76< z4-4@W>gRr4*UwoF{I^~W{QhXb2jTqO7QlB#`&i6Aely^=<8#uiy>))O3Gg+jUv>{2 zcNzh&!}+C#0#5d~&j9=#^ly%h?|7G6x#{s$JehEtviDUtJJd}Dm<^q#k#!Mse0f4Ptb$Lqqe)he~i_E{Jz>>R2udd zkz(sQO}v{e_fK97+h2HCuktwmfcpy{_ZQC8!v5iG{jGl{`XN;U`AhZPyA|T}sq>+} z9sV1AeRL6j5OHf9@Kc^yh_9Or`-kHgzjq7Be|Z;J|6}(-Jkt7PBToC9>mO(1v;ECq z9%c38KR|xvlc2v>rq9nteDiP^f5l&Q`N0O@&+m`^2KwdahdAwztos2UgbogF0)E;b zC5P$u@oxm2_D4Y!aN@TRUo`^1!SfT{KF)gJr~Q-rj;^1x4shB(MJ9oK+CRBB08aZS zYqdUq-vgZXPsw?@{tn_c`tJ|F*X^IW9{6d0W#7x>v;EZ(4Cni+Z5Yn?S8uZT;`^(U z7(d@%{fhCsY=8AA!}fKxL*S?VTN>*VTFW%0@PZzFj9y%_k5t#|3`!0(ZR z!G6h!(C&=!Nc?Ag3iGFax(4`ilNlb1#Q-_54hqFpda6V_(TtnU$Cr)3){_kNY^WZ=X0c(orUqK-__QB59HJJCwe}9 zU+oWH!t**>uV`NqguH)fAB6Kcq_ACbQ}p|PM9=+`x8vZ!DwKl%EbJfm7F}MR4?p+^ z>v{xupPAEz?fWBOetqSiMfm*NQl@Zl>>_rgaCiG#_2-!trs{aqdEOu&e?MVm!9TgD z-Hyy5jyN-PKXI1oY+=2l&wyS$fBNe8$qyb3`|b#vK=cg#xh)LNccXLS`Ok$uxXWVN zVed+iOZn5`_bpi8a_2W|eALObcCME*Q};_y#7`ub+Q=$=o($eU^nMKezRI5gKAe}h zgFr*dqtxx4+kxhjxj!78hw~;re|vcDk#hs%pD{QkX@bWff0E|{p7nIPBrT|txZS^C z4*18L4Xr&(_g6bo?c*?%m)@k06WJH_#P6>-A>&pP9->3j;roMS$-;3O4f*>$d(2`r zdN4Pf9g3?;D`0WTtwFJJEB}7ada_ks$?@Lmlb^VM)~$p4Qndf0@p7*~UQyrFrcQ_Z z=BXnK&p(r{&{&C{)-Mf|9bCUW{Qe8a-75Y2HXOH((Dg|5@P5AEQe?ai3Uu$lnXC@F zL*fMmUCijx+Z3j|meH+#uke0q??teG@t&Tl#`A_1mba0~JNn(i@}6LHHE$NCd!5mF zgA0#4;0%3zSn;>Q@^)i%cf3)Uu9VSz_Rf+uitA**VV)8zFxiH=BjP57{-S3&-Zv01Kd4FK??tP~)-Q$ez z>bDEiy~^mS-zrS^5u;20y)Yg5;j8v53w&jPuPpGD1-`OCUs_;*Vesu6VgKVW+}(IQ zJ5sotoZ)JK{XSl|d$05JAHF{ih#vRn!L|nemqD*6j+%7!@%?}3d=Bet%68JB>wnJ2 zI9@OR{)YVF-VEmx)VE*I&o4+t!l}>OrrIUVwaXG!%j31prTZ;wsA{Q8jI+hjrbP2N zTS5&j;=@5>OU92cDLJ-wX+naMy0*T$p>*sxyP~DpUS8W=W5&H*-%^GY}dCet4K69+3~u%hUJN>GOjQ0 zw^ycv`l$8ELR-73wZ5{Zv7x@9rKzsfZmDmst+N~I6Lv$j-7J(9a_ZxCO;W!DVD<+{ z#j6r^wPz+8g(4*-3lq&PjrBq`yQ#UcrLwtP&`BfMVmi(7+Il$&*>7AXCe%=G$18;C z+6gZ>7u3I_>D%irWXe&Mib9bST7*68tL(&zL}iN_3MWx1tR}T+u4zoft8kKXb~uez zIoq~Lmw-g(o;GU;PYJuJP$;u)>C)oybM)Mu`UFRK+ELY!QrdqQX^<^&VT2TyZNyxER7wy{bB=55g2P$Koyjb&0W z3AU8JUKVd!+NNYp!}4*qJd{t4S&8OKkp=Zt2Z_-tYvT1wL=NObOVLuag&SMihsIx8 zTUXaMI4V_JrBYP{uCQ`mj}v5UP`KF54KguRKopu|GTzdZXcOE%>L5q*g5r&hA{CmL z5MdXQwu#2ZmZV-kNU7?&_>#P8)4?iDtxe5|Wy%90WSW}ejm>sNq9%T3Z9_|=@bBDe zTe8UnoF$S{7NjI6NpimI}_CQ&bP5A_fSDq1nPWoV4E6GBK~8SR+Z%%t^2 zd?uR9m&cbTT9W0}Ri)KcW9{)r+0|7d2@@Fp)m75QLY?J}wav{!578@C1+ks;Aq&QW zqGZyN%7$eLS#m^nO||Q4D;ndCt->nxw(yDYnV7zi1*3~xtV>jiU~d$KvaYU7RoG-> zLYk~eC?tXL6Qso;2UW#dBvZD^Ue?ki?Q7RJ)Q_*IYp7f*vW+IYL`*}~m9`jwe*1`m z%BO<4vZb*xA?kD->VQlvIn5;^G(=^m3MB^yJ?t~%buBX4>V*b}m)Q0Rb7z;&oxQ*w zKi;lwUwWnL6$w>Cm((|iii@-}W*ys(wklB_Z>j4rJPa&Fi29wVt`?RO>lGn1(ruc%AdF#(FI-cWJ6^n>t_NHVz? zpfCuR4u3l_E;8nmLqwDsvAAiG0*tCGDy%e)Ogm1-LfoJ@3mlZxK5T@G62hVRxEO0o zCnp=4nrfvP+Pk$$!PxonJh}Xws@O zZ{@zBdATT2jZ0dViMVPyT-E04+C~wwf=+q>oeL=>_9XI<+CmUPyBrovbG&k?UELU8 zmQW!s<{`E!%My)k@x8pJwz4K~b%<@D5e7EIt5{PYq=A{TrGtBAeK5$+Z*!D-LhO`i zSu{VaDj)5KuuE}ap1Wx7{Fw{O7tWk2T#B8O<}O@x;?!fMWAR9A;c>IZ3iHcMQ}ctW zC=8dd`6O-(CQOraUtQ@B%#gZW^}+Ld()v69M)DyW*(PK{)W z;&fJ`v7z09+)!5qN-9Xj%pv#7O6E4(jq%zhQMBhJS}Pjjja74L(P^8K79{#s@o;-#qDj`T>c)m; zGO%eQEj=r``K`F}tcZWCHp}9zvVh0MuB%BFo`lF7;o>$Mi#eB+Hr2{)N_~Ue6qHvs zRH==8xmcU=P!jeF1y_jnOxiXxZ z8pK}GFzvhz7Rgl%PAlwWW5b!XRYKshgxnt0HZ4;NoLuZM$I%a}jFZhvX5pq&)P@oW z7qJMB7x5_>DJUT3#mbsL(~!2bzkOnT?Fyl0UF)eOZK>LhpVnd-qfM1!#xm3s;@o2_ zMprwLVoA~dsZ$q~eJZ`A)gTq6yJ%k{j@D~xv{fXfhUj*zJs?I?9u{fEA|}EYinz7{ zm$a|m!c=k$sU2Fm-2%h-U^l1+k&%gK5P2Kn7Eqf`p#)O`D7S=%WImy5OK4vvPMSpg zsfsVR1h~wrWmVLb#zeJbYpXj|v&0<_bG5O*Gag#HyK$S0>7&LzTJ2;Ami>Y3JS*<-MP8oIY>&FJH_HeE7kM za2>GpPH1n&{-M~PhHd6Hz%N969v;6G`_CZ$Q|zCHcoVi~W6M>@{sQDK_{Xsd%3tsL zc)jX-cK{x|QmOj%{dMo(fHx4%_}za2z8dl5yC9$VEyU|kFXvT|PvfUP1pXf&zsttA zHv>Kv@z_f`zw=MPPenZPvW~kS0Dc9IKjanAkG>^jBYrsY|LJYrKK}c_e+=S_-qCRf z@oP~2>u>1tz4w5BJ>oCC1vuHqdl&Fq5kG+8K@RX%9Df+vm+WUF&i!rbXUCkXplG&I zwHfStrEuKD_iNNIh4JDJyit)3MF!Hx#81bs-VEcWK7n~r`UEJC=)$%Sqh6f;(ADt0 zi0_{Sam{hwKYkt1zwizC9mZdlU>@S{zKQ;@35klyhgC!?4x2QgYSP5YNmbuGb1-%?i5Qd?IwzP8FLlf9aFQ;k(t)mq=wx(wRpMnJ@ANt3vCs&&c*)+kOO zBm;g*inp7JA;mK;%f!dBCE`bHWzC5d;;&fSYXwn5RlGTFl_hG*)u~{4O_dNrJzy;t zyP0?^aM0(|D+QTkl>-VXN;z>AvQjA2&@9IS*ea`NYEnv;D~pJ$u1m?1J!`iU>@wyC zqL|489rbB49@rC)Q^VtPxBz7A691xsj_6s|B0ONLUfUn47j$G_@u59`^FT*I&B(u> z>b3ph{F4N<`SZ^kX#8siI*RxjJTPpc>RQ`CV^O`pu6307AZ|3+>A{*fDif5rZAT=MTG{&W6w#W6`Kb(8&X7X-e{5Re$J!)Au-VF)x%0E>% z|A&wN3xP;W(fF%xYf-eTZ#zV_e|c2r;P%@nsCE$l2PtaH+HmoY)u#;?AFf(X&-)Jw zsvX6D;?E#|CM5r3f>-KK{P!ULJt6s@V*Ebx`^X>LNf5OAXSe$-KfWyf%h;#!BiF+G zBiF+Gqi9&l51K!Db+zDaufKC0@H^K5|2-0H_mB9geM?~N`7IClEf4se?b|VnkHkl< z43GBw&h0qqxfYFAg?XMV|O;KUQk7Ybh V&uQE1o+lC?zJufM$QW4H`ad9~r$qn& literal 0 HcmV?d00001 diff --git a/venv/bin/python3 b/venv/bin/python3 new file mode 100755 index 0000000000000000000000000000000000000000..6c9ca95e59be37e7cee2b24958cc323f6732385a GIT binary patch literal 4460272 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

  • gccDZO3xC5|7brD(3gi z@KwIa5VW#R*ZpR%e3c_9K}uhdoPt#1X*SW&p$p3G2J}!<>mN)v^$(iz5KS%6WniWW zWqg$t$`N4|gXM(p_u&1zryF{DbD!7!hc?mlv_E8fT27jKDLr}C^}Bg8#_0l!SAJgQlzMkzUo$F%Efs9HFYO zsp{#fdef@?Nq5|vrpn2x^7YHMx5pc*T+5?8&SI*_9M{o0;k0eQ{wO?rl{=o&dMUvB zR(_RRLTx<1*YnMIKHEm)i@e5z4UKnI;{~>H=)VeAKw`oVx)0cj_p4&StC-VJ@r|*l z27VsPL?X6eSOvRz1-D|H@@BkTt6HyuQ^Z-u2aQm{-7ndBu4pJYQ!PHAg2&RL^T}`z z(X}`2cWHN$<%-+2d^hs2 zcbBPpORxI#DtxXO`}m+IZ#8|r{d<8?(+qZwpTaS?i4u+MpzirPsO4T?vsFFMR=@a1 zX4uY~;a3&urFdaGOR*gG!IJUHQ(=SMGX8P42JK`klOQsW$akT|2Jblc2tJ*uwRWzV z>g~n9F`Yv>yf<&9jxf_km`)u)9k)v+z-UydaO{nL>dase`{8(I=1kLlZHiaszOJeD z=fx{=dx258{XgX1=Qa{Pb6>rACSeD&;}?DeyN+bq9#iA>2@c1zq)`1)10l z=>^UGi3ObryOemyLcc4fH~mtT`-MJ<-;566Xm|*)IBLP!c_!LvKv!KbSc!Te~iKG{F z=)1Y6WDi0C4v&RDCl-A3Oy}!i7B@bm#zxbabKO5YB@G(-C8QGLHFzZ?BwDBVu1Acp zj-$S+%gAepCgh&Wr-|IJA>ISA7gP>cs|W5S2Mv%RAZw4dgYT=HP2@=N4+sR~V^WTl zJX#?h=nJD5SRlQ?=zVN^Sd5SsOYUQa%1ixaz|2>*3GTGqa}*QwxgUxFCjK_Hhp6@` z)K1iRDgWZN8z(>2p0DZ=@wN?%e+QrGschS&Cue-s3rKYPGGK*8hd1D!4V?G}BsORG z^Jc~1Pkfb=D2A2#=!mys#m-kc>UNU{D6?Vg?g@O$W0QeT@>QO;T)?{~={L8?LcEP> zgJmqsI~pp#D$tb6;|dz$3vO_apscCpX7MXfuz>>Z6>q44ca!eV0JQnBHTC0b^P?`) z?LcuiNI_(*COmGI>2|5%G0k_9Zg;3sZ%$~0zoB^6-TxnBZvr1>kvx89AV9c$B8Nl; zjBdans6=6x5s(Zd_zcW&$RUW=u7bC#%M74^M3ZQSVRUtMJ$7~V=Y8zDm*NGR5DrBJ zkyTNUOM#~y0R`nYdB0UXGZ{Sg|MK~e>8H=??&|95>ZuSV=iuYf8;j>ue(p%gY0l!V1=M!Y z#X08LWkQyYG>e{xDTW1NmH_eW5CLL6*A`TU2su7L>gsnAbwwsfOIp{>zG-E&a02a* z55peV%6!4Z#AZWRly%OXB`8(3eYI^P@(dM^rsCM9aAH*Ry4|_7> zrh(%ura^tp2x@Z|rx#rywd&}7Fh1HfeMtS`lKh@Tq{cr%7Vhc$b7Y~PMYI_w-*#A5 zefao&!OHDN*z?<%D+E9lahSGMElt28 zurIwvf(h`3DGTT5>Rvf8wIoJ^yt^P3+flO5mlbZ8MH971t?+`>3cnc?(akK?&SV{J z_H|3ugeNe6mpESk`2n>v4-)T+yzXc!XetC&!PFRi;arW)px4a79ucD|>UWFd_qZ&YNy?{VCaUQSzjdm-x zl!l$MI)PRERGj&2X)tlU8_DHwUv9cbB*ymuj4uw1(t!WVnLS&$Qa%}OhoAjfBOdOzGyZw(XS^R`FeDsUC*%p8|RKaY(Ihcae?>^z*v`8 zj^w{QKCKHU|Lrx32B5-b~;-KK9_w5S=YA6O;WXNU^APu zffdLGCix|E+tlu`EtC0D%?wo^olC_~=k1xyT5~%LJ~NreWNL0f%@FG!)XcSEZ61&vXUr~-^IexK zSX5r~>m%jyiQksjjQzeme#wFIn#m32@f(hm*IeD0{6O*PP3gLHfLC09xYcxAnZ}8p zEREE5(?0ii0BH6JqfFPvk_Vxht3rv8f6ojo1f^RyK&0z@0ci-gss~Ij@`-|(H{m!- zVtLzOSiU%NK}+O-H^jy|Rj)8q7<(4RmehXPta58BUYCxJ<3027^2GMrB!&{4LY5Lx zLTk<>G%P--#!SgXb(LHLN9Jn=r@B3#CAGsU=Co&N++VwYojD9F#wWSr<6JXK1H)XC zM?io!%?OOEm{-Wz?C{N<_6;j6#j9j&lkO=~Oxd$ta=g1ccfmPo^mA1OldI7F9me68 z#ys#OiN7NeYUWhm*-kvk$OB>6aJ>7AF6t}byRlwiXB!b0M7tqI{A`}`&^>n|BEcwp zp!Y=pfy`>g7^gA$cz~;qphPqH6`So>scb{MMPv)bn`cxQP=R<@CT2c==9d=MEUDbu zwc=22^kfFFqnj8>CF9&@OWoL8(5WTDOAd260^}siDh}n@Tr#ww#1wLcV{4$v?<8|E z;BtBA#+U4FtC>zUv$dLUsAjcPGtw=K`^pe&yYb#`BHE~KZcu7-V`s~WQtw3NL}?wR ziZ=zgPz&0N=%5@-@xm=1i3V97NVs|Y2+I9U`9iics%cw$0{39fm8Oq}*O%}8$9 zi>tI4F|#!(?3#<-mr^91D*?&ep8#)?u_x6DU9VcjIF(nSU@uxGVj|8Mr z)?(zWXG^8UNG^Z-LcV_)P7FHBt=xWqSHeU7kDNQj<7OCJ>^qAHnDvTD6Wru~slZJx z;;PLxFUjUfS9wCxJVgd1QOYxXBbgK3me1Ace}I#-h>3R$Ngu|M8>OWdLF;?uJM9X` zC_N!i*3rxnG-8G|h?>YpVe%})9l|H5{o9}Sip?i^e(lvogc2?WHk!ONzYh6Uh5V~#oL(N62LvG}JU(1A6ml~8+p?MqzYoL%2Wo~k1meLXH6wVb z1$myEd?U;W_6{FoArvSOzZu%L#8+B#OJj1IfSHU1E0;9G%g`+i=>)TglL8pVnOPcH zlBbP03oksRtvCyZ9+768g(Dhh$J`;grCYzH=ejLVBcRh)m6|?~MK|5KI)$S_dF?cR z`=)6eeQgu0-12qMw{z)Lkrq#)iioK%Z&LaeLjl>D?o-%CO zT-l03PI*Jv*B~oHxio5vw9x89iLNJxVw*Td9Pd`{INwjlvJM-NNK~gd& z*U44~8y0{~Tkb2b8Qz%Oz~`~DWhe(!Gw}$ihXOUjVbaFJq)lufJ=joQGpaH9qEd|6 zis_Al>2PUpM_S9|tNQ~*hZ-7FbeKm#J8@U06XmH+ET;#f6P<39O+~=Z>V(j>N})%cy-{77w!9k7@u^cKcgdpcbr!(suGsOw5eF3fRqZm|~wM%a>x1qO|F0 z#!d%&v!WcleFHJ3kMst0vwM$8?QdOLs;9Iw`SIp9M_f%}G@bacO?*xgFC#Ha3tHYt zSnJ;Q)q@OnmQGMrQ4JBIXcH0G738 z&jf?=WBI(I`^-0&k8+IaM1q2E&DlTgcx*5{tb{Q;BsX z2Ih}0+*el^IZnlf^htDH$?{`Ma6;nH`r&@)m3IOv&@7qape>na?19EXrV9u_9%#j z#V}eF8xnyvQ1fni&6+^%SIty2QEe~+m0z?9)S6~oh~<~fKd+GE@wYJ9t*GQO;o}f4 za;M*~sJx~=P@8Nfl@%h3X(e9T1~4g+qEh^9B+F_L$d*9>-B}%+s_u9law`WFVexM| zNccZ23HdiqMgr>;<}c)D;GL?y_$^_S0&mO%L866~Te=3`5CK%h!Q4oPii3H4@%fq% z*)pg66B(VrBF%ex06r+NNHPatha#Q$o5wdf1FuV=a;NOea(~jf{chTj(Xnm(qH`jD-;$Hx5BS#yoMG!-f263ermW~n z^hC!v)#F-7Pq|>_Y*tJ&8iqe~n^RTgL3H=n1EMXQS9nmH?`8xS7AKpyAEU4E!}QBlZG zz^QzSL|0rEFx~m+el3xuE4Nn*B%!w|t=1=RQR|_ybK0E{ndS0au)k~3ysymFWT8=7 zofdnsr~+7=>Iqt3KU<%hxKE?4v>l}q6;ybS-pQhj)hEf6$vD1f)(>(Ox9%djM7g!5 z5itW}=5kU+Ss>aH1UfC5FEP#JW8rDIA&8&G_>U1CHs1S4t@>Q z)z%RQ^bTPkF((B;Hw!>BZ6;ruSvanl|HH^+`1#`yklTd)2rJl25r8j?3<>&|;0?dB z9?|@ErpWEJ(N2WUmAj^ahcKX|(?GpB-WSz6uujd()ZqGRUEew&5D?W}ZYa_3p;3vV z$K~a(Ipwi4Qb5(HY-D(@0yUeDz`z@FBj+Q8=mSVL`U;{47Don${BK3S6ar;2Xp1ikObSePYA&ZN^w;%YM+-eI zos9)Ga9P2M1)ft-Li@5`C{YiwmBu=Mz3@Xnru(U&|?H;J7@9BX!H zsss_pxl|$<3nXd(vDrQ7M^YJ!*=2{)j+DXnT^4u~hFe|{whQ6Ecl}@?w3bryUA7T6 z9dzL)u@TgQ;3~0NCr7wRZs_vyLdn}<+wrB0Mu4*SxUNM`(1(BjO?#hA-l_BL-1QaR*8!7V z$y=7+G-A=K)q1gHC&I z0`iTThus66*m&}0wbx!+NDLm1_o1MFUS71DWksxg(f7%@!iBVMp z%aXrI_cz%=LSH1?YJ^1-*?RJGB2HFEpO`>PMCWOAro#(T(S36w$24_(2C;ZwvP@N4 zy-&Hb2^zN&Mf+31+zl z^zfd>_;_6o?#IQ%J{fIv=Am_hEdylXf+*v~;x)Cqc!}mrE@adniuWlB^#+rinnyT2 zruN>u&t`kTWx1Ru<)x62zYl(Uz7tX^o6mH~NucT)0`$)H<9$1O;a>uq3xQC!$*H=J zTtBn$S?SlMR{AclxTzE?{YGiL3ByhtFF2(Of0x$)!OQ_ zuPOs2EL3ksH}*lOH}UR6?*7A&{CPJ>^`&laQT1|OI_x$dR1^)k@fIil?ILL`+F2as zdw-apA|NeV6CY{LBMhN}ET;vqdybDSl3ta!mxkbk_gNjG}!QF*vf zsNQ6u2a|+@zY5n_{`$Gh8zwPEx-uZxi=8h?^Phx~RX~D6KKv*_{REKGoLjrgPOZe4 zO2&|3O{h7;5rRa=KHmGJv{@+h*$pPTqAJG}2_NU&^$lWe3;bJBJfD)w0GXfnLcVp7 z+a%0V$hQmo&E;ernP?}^tAwE8uINjYvT$v)ypJH@?|m|ImT<8H__z!gcp=}HA>aE{ zMKuyX23UNXgRu?aUQ2bwUr|&z?>T|M?akUPkA15UFbMhOv4(JLbrU4A2gFt&vgr*l zet=QZTKyQa^s|fqvPPc!gF*3wo)%f0>TkKLbmO@UKNf~?Wik-16Iy4wNhTQtnTWjd z`M%);a?jv3PvLpVicS$t;bz3FqXwBLNKK@uP}jRa0MUV_3T-P4HooIl?rMgd>7A)qGO9Wr(|WbFg)7V8B|}DcjFEG}y>H5RHw| z^)6JddDZ9R$V%Opu2V}sMz}bk`Dp{1|1unAh2Ma8}wn>jy$P!{&fg+2J~qg z<+K4lVqcIe9+?9eZ^Gv#xtd?<3568`AOo4=9Z z-nLZE{%MmG4B^ltj4Q6fZ3s*B=u)61%(IP~qkZb-;C|w=D1EgAhUHLU}5O>i(3(#l(E3uYDq{=s5sbu&453N-B9t^X@4Ymxhn-k?}B#9a*2Lh<%>e3*`iuUR*PlvI1&EgvuYXR%Y&0Nt0inYgBDd48=eAiT})mbx9n z>El*|%*w$R24i(By-+xI00S-IT(O{e`47su!w6Zy* z;=shgV~23tv2-gaoXw;a;*>=vhj)EC4G2Eeesd~Kk5{?@eqCuu{3sV0!)=7Q;zRy~ z31#OcOH)7Fp`t+IWg??6;g7PwEvBrDzYjP~9@#>@JUV8YBT-g^OmVx(QTQ114U*+l zM`YW{^A^JzvQ#+0a9Iq2(_Ra~$cwa>uK#UhN606iwv@GK^=i_k=;YTj08qrA?WEE^ zaT{G^zF?4XPp49(d~+7Pm09j=eur)Msj^c&xq2T@_u7Ab6 zTIZFKg^TCWJ{$585md&$cdC=0fYU4agWZs8h5<+@KHD|d6Hw4@*BI_r%V-1NV6GWL zX09h(b3B2?is?^F`S=vqcm%l1x?1v9*1Kk%CUB`$q%kX+nf_nM7;`(Cz7aF8e+Ff* ztoND0TQ$i%N`z`UU$99c_95%!uJ8Wk<~;r0Y37na{KQ66zt^XJr}8VeEOK1U)7umK z3{IZ;6(uz`+aJE{#d)Sxs?uT#r(NMvx!^;8qMD2f%;|t$f-%m%NDmIj78^wwH5B_M zB+rO$(iXfk_ZJh|MuHr8(PD}TlW{HkJhKe`(z2)mHc-yP{mOy z!*5CUfl`vwJm?KCJtoOSC-tSMtEMYbopDh&M zTW(~Ts2eO3H0IjS)Dj59&ob`|g3C}j)t|Ekr0?6P$UbT4*QSQ!C8}FXX-eLQN%ZeX zbK?7}q*jPp51JDD*DpX^@%DslJkKlrPM4wZm5`#BNs=se{IZ!}J6sKoHeUeL>T!O_ z$eEvv4H{bPh(sW?#V{E={g$B6sZe@I!hb1?6BOiZj*L!Pqm|rDDc?pc4 zSid6g^;BYKd~X+WkT$s>FSzWQjuNO`%AqRFvegG-OXZG0ZU#^dm=i*0t7JWLQXWwC zubo?rb8JRQlo621%;}a>**I_JH&REy)B`(SPu=A0&<dyBb z|Gb@S#=2q3O3jyjwX0L}5G8}6qvu~2eZj=}QfxSDuTGL=%8OhilTlUc#N?F-#*))g zAhs%i%o>%bR*3YRsuiRl%|rgkG$AA7y0?Z9N2b>~5?h$Kv5uS)ZxiA;#+9|Zc1N)F zq2!m$X>rq>!iJltDL5=1sfOM^vB#<0zy1H!w`E&@x^IgpneN-)%u9R$&n-v66Lc1) z0BV*3$jHkHu30JA%B{WGC;>Z^dESY8bXZVnU_NA2bbyS^4B|w6%;n_5MyeoOZ4O?@gcusBpaFo zragh5fYYMMEl1Ta#JNV6W~Tm6rT%M);lY+XvB{@ZY%8d;|lvURXF!m(_JeQ z9KYHKgxvIg2o_@G_&seQx+>~BtYXk92+CZKwml-*sh=hs_HCKw5gOahD6nY zX2QIe*dWcVS0bQYH0U_#n(bjXRt>>IfJ?|E2JqxKvW#dBbiUo|PEEtbkFs`@7PqW1jzm*0f zVT+&grF37)e#H)II?5-H)$rr}X}6`FXNi8A>=QAAJDk7@caG=}FkzJ%GIxm~7ds2(%<*0U!xBWzA&h96-WHfhD zJr2HH6DAOfeP-TH+G|KzsR96Qd(_|CM7^)>IlsJ+!9yV+n?|E;hQ~}UkDnD) z)z6a0dT;NNC%&U=@K(od-^E-j1S`MyMb8vEEZ30(1d&r&cZ?0CY#3xz2Nm)Ub!Zro?-)Q3s_1;#8qQ&B zs7n|YM1o<9Xuxm!6qKgX$BOCD8*Tvl4UvsvXf*=ZH? zZXtIlaXC5)wuLCy>kIo7nTW)r24F5G!0o}v<-M?0op!j99c$2a-tnonXJ@zlg*k=H zsJDcc$>=_tV>0Q>~aRHjiH*s++ADfU@(yE%a(Bo~>DL~C!RX3~MH{~oIC!XK|q3a&GL z0L0PvB3cf=49gCH@=@&MyHc1;raFDAr}#6)5IVM7vT-KmlJtdi+Fl9S~h&*)yO()*+Yg4)BHlck!st5HUr5x${7GR_8~O;mL*s*<@VYCoPSw>^o(6ckso)E;Qzx!vX(ewR~y>^`#A@~32d@=FeToMKAWm$MkKnDfjL89}G|au^)> zZf!B38r5R`KK^^1k<%6M^J&lCINB!Ci26_SYpS=9EG0xE$&xQTJ;FJ1xA$lYv|k>ObLDRD20OvkJ^7Zq#0%2bi$bRNMpu{~ z41#W4lL&a1dKLjk%24unQZ@H zd&q7Vj=D%wOg|q`ynQ=tLwy9(We?24b{ewSUQAAN5`W?Y%?f_9YRYQ<1zaM@AnYuQ z_j{oXnb`=7W7XeMM82zvHUO39_yct0}`G@i2eZGFb_&|Q* zd+0^4ug#z%95ZlfxkE0%kPL8esTp5%lDFU+1ov{Ixjc2LAq?&-Wkn}NrVeTr={YDj z66wR6s~kaw7n;3?SY|6$z`*C~kO2xM0lW8wopuv=VP0jome&WA0b>Ms|@9CO%d`cDkd{G5oN+uP)jb?tm z-3$o_OAh1lFg{D)j-2kia&ciSt?MMxOi_1Qg_e_3bvz}I##J4ZdS?B-kv{1GCpfJb_0tB3?VqbGsDl2mI7T)c(Ht5?JsKA?I)xEMiR2;~SIDra}78jA*Z0FCY1nqGM z@o#hzAMuT^vwszmSuMZ~$9@dB8ge83_?x#_)DgLShg~e+YqrrpZryJR>zU%lH)TeU z_}=5_p`y0=F)7*WBJ!o6ytNMyX2CWpfdzC4*Tjc!Z9k2cQF@gzOztux1-{KvGR9SW zeGuUlV&VhAUTed>HU<5SbE-qWPeQ&;c5KbeX262CSaJuYh2Z|f;n=2NuaCpM4g~!N zoCUJ0g?tA?zSL}(KhuCv!Lzp7y|;R4qfT`maO+mm9Bh#c$Jz{$&l%b2h2}qk5pSD3 zEe>dSOy83Njm8cI{fC?d+gUM3HJ11P0`K2HEKwr$!RQ0vL5{W zPlOoy!-9Kd{@*sQ@}oHSQxn_%hlOsVnbfq5q*IWJt99biPm!3@L8qW^k3Q)oLYCNj zf?wRg<ZYMy8@-P=%5C@xGf)c4evbZFWfKCiT9?h(F+9jYn+o^$8rN6KoZiiytj zhSHiSHaeX&d&Z(itcJ1-dTu#_K~MuRBO1!Yq-O)!)i|;*PdKXK@c>5_8Wwrw1j3j? znw|vU>bYX-D0!|xM!2N4bgT0nu9CV7Ua{hnXWEEQK@6wGnNvXvO06iD`C{ZnI zF=<0>^xFKU*$?;nI^L3F!)-_QA zuyL;W&9SMG7)AiMqOMupiad##ea+tq*a28YnvUD^1k7IM$OQ8w5o65x8VI^(x{eYS zlhYVDHFvz2KrnuRYtAJg=FUjl)K2ChMoGIowJL8N%{2W#E#geMDW)^m1Bd{BDu^T)8 zK+PEJ#(oDH+}M~z$#a~Wd_9aq`#Wl>1~VB9$3}=_51*K3Z^wzCo2(JQ+5?!{_~fP` zj7b4CBfnH3#6W4CKzP1FI7}fNhQ(q#g^=Z(=VJ90^3}2;n8);N+w@na0Ent~NmyJCmfAA}PZfD9KPKNKfAPT5M=_nz1)g#|mLatx`o zjbPpOX5howVnM}m;B2_D8D|FK%~J#Kdo#{1<88zETujoIW9v1Q|6%OCmgS@NJ_D=#Tg57W znpowJYDlh@3sKDSUB8F9mrzZJWLf-Tz+K*qESG>8x=O{~%X}gk62tnMYuo6;7Md-W z#t$>h_(JGw*2rv%caFE{ke$}mZPU}bOha&>j}d@zkol@tW4HHozF4!e$I5tI3ws+* z+>EVIole)mpi}m?P8W^|0u|esE)Yeg3(T?8)rrh9U7h-d{7alW&Y}iZh@G-p)-W_b zKIz+l@9Vgv4_thM-?V0oPnYKnc(!_I+LOqX|f_tlNmmnO<$ASKqMULy2}b zM8-?EemJ?K64#|C7YZEo@1D`G3}>8W@d*G|$IM3a;uGxTmd65O?m1SB`EHVBKbB>0 zXZPixf9DKzKbPgk!z_8s^#ieBL(&A}H@RjG6B~>}Yel;_>|ZjYk0lN_Hesw0<3Boo zA!e`3d^Hz0n&*yzT+f1IGt>FQad8SKscx?YbTd16k8Eb>zcg32eJ&d$+w%;5^c2RG zVpqf>+%n1o)7N%}aq};Q0VqV}hBu9eZjO~b0ve(maXlj`>KA&FGjkyL-s~1olHOX? zEbfkF;aBYB@X>-q^BSLeF!C<#;lL{_E2&jKbAMbb4?l>X-&W|Lc;VPNrjjTT6(FTr z+f^Rnh+_FE4%zShkc146V=Cp7gfLIo!TY2gwOe28RVU)vRWu8FP#ZbIv2R6{ywF@r zsc^4v*fw9z4aHV@f4`!Q($K2&MM1mraNBw3vdg1inTrdbQEajGG_cBSkj4^&JH$k1 z{uXZ1zb68pRRG@1r_#7k>^Rf)qZH`8qspjx9f4mol?p{7f%@Q7ZNu}aFr-=Z(NKIS z>-1yM%Sqm&ectVDI#K#8*0_;kx6+VTU&@w;Jg1V`+Tdy@Bcr8*Wgo~eWb!%HClZnE zvaGFSNc6v;MnInl=quMS1PXd93wk(qt}zKZfc8yoTWjb$>*E zC`e+3Jx5w;|)r>NC>?8VSPGOM)Zb&d*aAwo-cK$)u=&#j5<1&3s3nj1Q8=Syj z8mudMP~4ut>5|tj2d#}k3M7^6_WqozqBnM8c$j9Pxv}0(^?uq#n@V;DwL%p*Ec5!A zgyQyDp*0%YRO&e`B?kd}1~3mw27z|BceXYZj`xh<800G-zL>+Yo?<+kadd14{!|(G zKdqK|NasS;3%tyFF?)l4UYr_taR_(~1wy)1qu6P!@;ll3k_%n@83Kt}_b4ELpoQP#iT| zL9B4>i0z%}rt4y(E)8gqx8gXvE|@5%x|*SID|`8(b-d2U%&vyjNxsbLxaS;Q9o=i1 zR>!U*yg$%gp;e^4RV%_EJ0~(l+@Rx~H^c)NsH-WaHxXI0K``B75}4pr-+_L4&|-t& z=S)#I2MDM7Us^ICfT)h8XgwcQ^(~qK?RonKhY{PKaQwHfae=F1YoS;_hZDbbqq!0r z#&bXul0k0|dcC@*@QcU)R)e6y#BiW4Dne5&wn2~Hf+u2WR5chP9pWJ`F*fQ&m~-Ly zZm>NcI5jWGuq8T&&ORY$XvLroIrgqev_O*Y!w0l}w@VHN;R1|Pb%dhUSr@CkhgoAy$YEq_>h>+xHfPA|2sSBc^r8AD?e9bWX&d8Os5h$R={L>GDxC? zwK~(I5jt*i>P+`&m#8!y)uZpd|Hz)rp-OG-a9^auobC~F@h~PR+M~BvVd-&}SHhfy zWf$j6t2{7o=45n9yb|e;FDEid`@*XxARl#!Q9J`v;O*}y_$-76`yFDVmjo4;?tfdz z;!ThoBv>b=GB45?iFtB{sq&dspeg;-XkOJhHjSC~o+msU_kN+q`sYSUliwz0KzT#af-2HCy z?*2>&;H*1E~61@Wh-HHxdaiIAjPx8 zSc?ldQ@lI~!BIOV@#eo#=|&bwdXET}#bIyVR$UfV1#+N|Z5)Xh$R~4EF)=e&*nlxt zXUkQR@Uy$*grJs2M>TPytgCoNJJ(z$Ln_F+!yB()MRD4Lco9mQmUBXB?Zi3N!xTW} zz2yl?rfum8nR%HuWnR{$pTR@}-p-jg6yk1Y1@4K${_~i`!9>XQRC>+?&Tz~hY?`z6 z>vhf+$edk4{a~!B(tAT;^FuMuj3&~Xurejwe`jfz9P^wGj8gms`F88z9sBc+VwJBF zSTpYrn91^)=yp1g32W$77ZC9y_R#!NvSoAJ|ArsQ=D44fZ;)W=+ZLdzZi*&c8=K*P z#^?$n?sGCw6&_Vx^S1;l-7I9I{r2eQ#GX}si3krTGvib**7ma}VaReJA|PmQX)n?3 zma}zRY;{{NJ9Y!Tb>Fco=8;V;FGag9Sb3P!+UHQRpJQ^K?9#;KythnN=l^2*XH!## z=}&X~Te6w{qF*VlvU4fBo$JkW`_YjQ)1&2Qhg2R}23opG=nXcX5Xj?xkHR9I;#a)j`E3yK1 zd*`RBn95cumLMtqH58kw?^S0ubW2H37E1bWMx14^h#zee8O=Ct6AoqF(JWMqJn1tI z>a$`yRXt6XU!vP{w^$tHO%_$P_ntjJwXT;%?&WwQWaR7Y)6T2wEMM23I`sibJz;zd z0Zl$5e4re#?eT`Cm3&(a;Nduac&>xAl;_}Gq`-T%bJJXJsRz!)xW*D5=J*IGXBEjf zK++l`Cy1(l!O(NY_h*D&W#BR-aytx2l&4e&Z@gK$GA|FqCmq2~z-_7IC#^=I)^7*_7t z*nKkQqYKTlS|torDCG;ib!{1cP@PkW8*dqfLZnVKEuHG=LP2>Dlxu9=Y(=RjJKY}V z#Qpz%F%4QJ-P1RhGUxpP<|!gmNPay{Ro8~&or)q;gE+F&NAgf?ufAUkiYA5lPKOj# zH5D3=D%9Pn7WZgD7&a(LIL7xmg8KFdD9sBA0s~!Z8};&kWcsoiDbPmn5ulCW9H|u% zT)#XsQ}%}o@}lR-GFS9fZxrn2W`oQqCOeE4^Dn&kxeRSK4EuHpA25*|`$Y=6gHLuz z*_qG0GEH=x>Kf`X?~qpNywc!RueY3L_a(%h#2;qnfcM)}>|*H^yStEuBJjf-l z$JpJS4U&`ope?$)KSXwY`DT;XzKtENz)rf$@j$j2m8%>dJ$qC;5we2 zA*<$mBA09ANGKicG}8;-aO~J%?1+)I-c+Mgy$eLkeg?;UMuc(;&wpyUg$Q+-D1UH3 zoEklAU(&#|uw|P&4^Tyh8RGdIzODHJGVoa!!Pq*d3S;ZfiCmOf>Kn~CvU%mUk?JAe z$^@o4^-o!(L&XjPe#*J?48G{y%AP6B+UnC}y$hedhB;{Td|F5J$@ED7BiuC7^Lco~ z9&UR{E%9p^?K#^h4KwwDye<^`JS+!NjLg_xpINIs!%f07^rd&{UJWXmwIL19%o}k0 ze=e|~)k}}AZt79;Roy<@>=nG(CH29nuu4Mliy?HsR-hH*L$QlK z70vqO!Q}pu+Ilz639O!5K(v>3Mp}pb?>W^$MCGDAVLEUhVB-8?#;W*1yzb+@*JE-T z-#2Ty>`$9f$_uwvc6JZ3=6e1F8hO2dUz#YXMTv=5YwMHy<-JQWyS$r4CthkB-)AzW znB#B58)v+1e*qp`$Md&d%J}!AX%2jpxUBDlapz-UIrduah3%~~-klQN?%8@F-xqwX znVP%2Wr`_S-^MkKZIkQJzpUpF++B;X2FMi~K)vC5IKOI)v}<~B{j$CqgBOlg zlp8$rpPJr)dAjUTmv8vkQRORMg@yt)%ussx@D6qvUP=7e=?3 zo8qeAw|N<-lXJNfB*zSXfM`55h%KX-tbP3`yEE=B#0!PId3q!D2`|qE$2%|YxLlz_ z&nbJ3l+7gkGlWsB_{^}bn*=@M`Z_%2H@6h11~1Mk|NJA? zSYwE{c~2HRPW7)SnVxfsK1ES(Q!2BHZqlN33A;URWrWda0f3N zf3SB;(@0J+?HeWc@(gg@=GBeRj9#!~>pD4V#r*`$KRAC<0$rLU=s_?X*D15Iid~K@mUazSz_$y%V z8!I5TzuIQJCDr+rsf_2y5|M7T{)x)_+cGm!mH#oTawaotOx~?HdQ47WOb+zWZrz+J zJek7S#^53Ayuz%K_x?o5#kSd9et2+H{})8DAL*Zy3aYhfyv-+M%I)sZ+>)|4B+r%<+IUa#+Sa}WBH&kabh z?!b^xNo}ZCE&8B=Vz+sK^<4{!Y{rA@65ff4p2#vPvo$ZiP#E@sUODv&o?OE$NqXn5 zHhunml75cYBb7eFjo+GjB)TwqGCTOUMT~9y0wFJJE|Y~E1fRR?ZmG55r1BiM5!^c~ zoBZirhfZ32bfJ{h)tJwqoK0(H{{OMJ5*x(-0~TeuAb<4-IBrSw-*C&RES}C^?(8A! zvVhEP>>Jk0Bua=M(jZR|>PzSEO&Ax9{WriE%`0?cdqau-AHFr2m5EK${%Gsq3f`PR zO|-kvTKgU{FLBBG6)C^>{3>}pxtwm#<0> zLS0{EsW(H)@JMlU+~@^kxm-NWE0D4{>YK~_tXLr{+jWA6<+#}s5*uoA7C~m?nb^UI!8^5J6g8$DO@ej1zt=pc9 zp98b5EFXn4bK@dT$EcR@!|?6Dw^z;>Z{S&nMJJ{CALQc<`_Vx^PPQNY+wqEWXTps0 zg+lyMJmjM1rF8He^MGy%?WeDpoRj2L>Gs!1U_04gq9Je4U)iJN`Vr+*ZYEV3Pkb)r zncD@NTGJBV%=$xCWjF3vd3YH{D$jf+fQld+tufA1n=%QDB|&5gu!JfXlgFi~>J3}t zw+hhU*=>P*O3C5IvHBo3Zv!S;3_nFF!2=HqMIGRc{z6w}S6M*qxeWHYf1)REwQ2jE zP}0Vn3+uDWx3uMFrph}%EWdGGQ~C3k|G50}lePUNr~*j)t9g_aO4QW;qgmxoNtYi7 z>PMp#j2#A{^I%mXt-Z2vTUg>qYvpKmyslGvC)F;-A|c1yv&l!rxTsI`AE+fmqDYAS zbbBo(w$pOg%L!-6n-rCc$wdE~;2^!PLQ-#5hQ}pCVsLM%d#BX>N9vZv@(~GQop@N5 z8Rbtep}gzg9T`Mj%OVoqAL;A;Nh^$=s*T{5G;Y7UQ0K?Lr_NWU&Y{$)Zw5e=hZTU| z^J!W9e|C~a!%EYOfs@uaAZPXH-@HK?Bc%W8AX)|_>6qtgfzowI2I1T zm0;Ivg{;z&S`MIlUkJuNb5{(tSh!-S-jnlPh@V=9_nKnD!uL0tom3KdRSLRdQo&VN z9i%O`ZSPYIxcEnW;peNlu&J7-smAj^zaPGPw|8ty%qawXnb0R?u(Bs~`pB#a?MW^M z=#{$}pd~UuCvVh2pHlCwUk9%s(4d^)RCl0%VEz$lr%qD9i5A{7gyflV+L=!kcs+sJ zyWI%)Xm-OnQuW1otd7BF9B%Z6Aa)d{oI9)P>sdOu4tQLCkjn26j=4Vhg-)|bJjU?A zJiE$lc9q%eDl6Dkb{z0(4#H4#Es}>GocVgIRCiUr8=I8pT1qSPImLV|3BqW$O0k1L z@o0BOA<=(kinsdDW?2tLMh$-ZHWJMqWth4}CA^(5$p>xJZzO6hVMJDB52HT&b})vV zd4ov$lyETWoMls=-9H@2lj~zJgclx=d&Hf=`4QO zMK=s@sOE815}V1WVWgUKkI& z#(HUdD^lpq{E$$5WFbnqFfxPZEfDfN9maBsIr5NjBSiB}(hQQYD>K_9I??}8|M%^Pj)eQa}; z>B+acF)CZx^b>XI>_rzvwvwvPbSpWTdOo?0=Rn8jC`S_ckmF;DQOS?I#eO!We!{qt zonyWE!jUk3r^?y~{9oKA9c_y&-sKqrc0@PUQFOa9Td#fTgZiJF1vy?iTzd;Y$YC7D z{ZtZ4rQ!9Bx&=m#<8Yj}?>6C(^4X@ubI}~I3&>wPK_MTTf_&u$g?x+mO*b8jbtScO zg6Ax*FRbc9POoA~5XJi$I7i}vqz^smL~IYw&mqw`$ldg#G%+IHkGBWDWTV`OyoHER zY-Mr-leS0|=h7WA_wy+m+0*>WBzo_5JVOH zB{qDWgnQWV00|#&!|f#8-iF^{<~*MbzY7=ceRrz%{Q-$LHhiOmKeJ(1!fR}Jj^tlv z!($};nhobkp1;~~zQjLn!y8~mz58wW?-GvLaFvATrs8G%Z?fS#Bs|rI2S}dDHhjLs zhi$lzgabC*Qo{Xhcrz@q*UN@qlyEm2o+aU9ZMaOrEo?Yn!Uub5-=ByP-f6?LCA`Ik z$4U4@8?J?i^4_-L1rlCl!<{70KWum>+B4o$HoQ{8583b_$)B*{2PFPB8@@@xQ5*gm ze#*PrhW{<$i*5K!$uri5^CVm@;mSpMats3TqbG}S{{LQ*6+H{v!tz-{81g2A>r*bq zh(a_267Ab`VcE)cOrn3gJFLjY@14G-rT9BV(-rxbD*ClzllU)O38yC61h^uA4XY=@ zJNbR(PoOYS6t@Szew>nlDIk`ff8klopUB6d@-LDUpD0Zo0T=9{a>-^SH0sgnk<^8+ z=t^?IFil$1gsRlTDw2TQFKlajtzis2g5Ue~+GFXUQ#Fx&%?yGrpvC1>eajc;;eIs9 zrG+$kTLs6=*e4~mcz}|#agc_M6w2P}%t=Jhi;JjSz|T!pevoaF8}@CT=>e)@Q06wI zn5{%-$yk3Ug@vnZ^xAH8a&Z19^~3W#CFKzK0mi)@PoU@O&T62yY!fiNsFfhg!vY#( z7yRx)rsaZ>hwcgxoy14vEoMe@QdHM<%02?Z^QFo}``JBv^3#7oQKr@*-fyMWIn*k; z-pGHsX=2z05<#4YJW)5xDlA^~o z62L6b!ZK!ksYBS~Q~s*>*Hy=5w>SN^w!&137Dsh!2FEm`0&uHPTiEYSzlHrurt><= zgO{cDY9B#t<5s~(q@?l=nY#7r1`{GumI;E9pp5XkRe403gL?eYL!{v8w|r(nZr1Yc zO@0r&O?0~#pWW(T>tQWZu5~e71=K^2Ik~8`8BQcO5c|%|f>C1h|JyM$p>@Z~=vfD4 zL%hA8G4|ug6vT<6n-d8O`@$P{?=^Z4-mG1tLrztRR3mD*U&>{XYcsJ&ZN;JT*Fw3tYT+a-4>Gr6%z#hkp!53t~p6Tapb71*(TC9@hMNcz6UE%rjhVpNmlpc%sf z@3r5%B)3%tiSCwZOAKDyW2|)kO(4aZPq2B2cjX4KdA+%h9BIFQLRiN0&00R54pQQE zEwQJhR@}7>@Xn@;xj^b{QWqJ=C#%AfSXl&3owTUFTGK@wG63$hlX9m~c%!AI!kgE7 z&Yy)%MX-_m!kQX~N84q;*R7nca9#h@1J#S6_>~-YvD2W_kEau(J?QQB^*wUDJb@=M zc+Z*4x9C=Eg~z_{uYfNPLQ4&i?kNlOONq!{&vZsqhD5?7%LXjL%lxy+HFAQJSxL{x zf3$@bqo3w*Rj2E5Zl1Z6K%nkOv-1)~SC|jdu|WwWT9ipv!JrhICpS-O*pL|9P{|h6 z>CEGVyBF=W-LeFb1O($V;OQEW3p&+LQPTXCKi)fU>#h>3&k!wUalkF3)ju08j?zMw5~;I@;-c0q_P!DNzM?!O1Sv11GC*2R zlpMyevE($C4iu&XnxwFRqe@TpUHQg#MMtCP6ztDahft0eo4g3l#N2pCIbDp9le!z@ zX~PE@`zvLw~H2Om&6UsrC$7p-N!an;}FuX&{*IXeJ9fL{#P#73j5p zpuJL_f;&$Ya0N`cEqZ7*48>tq9Af&Y&9U!}Q>pPB?^a3LY?u3mHfcRcLgOx%B=LEe zTIxQ94Wv(P`$C-CNcU8&?Nh0v$=>H3Y0c6(RYv(I-`=kufLbL6Kip1%yr9DJafes2 z9<>hXZBreLUKtTe%a5Y{rY+Ia()Yz8$49Df<@iTL@bn=vf&oJP3WG6xgGP#w@_FHt zKSTFWFWM4aTVjlx6YYSu0i<+5TFimpLyY(F+l7=<9Q%jjZA1RIBcE`Cuwp!m&_6aW zdbTTnPe-DSR<0;bvpCd!3PK0(*ZBOfTEY-=i51+7J`}9S!3&~1zAz(wKrx6}e$j%?~uZ{93-gSS?3D$Wn2o(Et zz*0QeGVd8ID4y`XZ@TyqBg1@8{}hjjT$Y_BV~X))0)N()K&X za$hi361kGIO3&2rZA8a2G!TOFApse_Z}`>WQ~hXA?{mq){N{(_L&5luWtt0RzNHuH zoLL$xlo=L~nQNlWM1h!`#aIGT3Jjqmwv^-{B@Y@SC84z>WfdpMTqv^&S4fF=vi?bK zXO^?HjX`4PoqXSZyBMQrQ<7h@3CC=?9J_`dRB6_9O%tYhqOGJO>rb!xHs_9r4{9l_ z0Lm0Q(5jOB7+IS&1k9$VyX4?P5TUIVd)+G1^wTb8y&{?~2_<^mIz?u7N2G`MZ9n0@ zqukhu9oly93;W%U)e`$F1saa}7C^vk7qv@W^UTX8S$yuZ+5dV%l&-XXmX+9Rj>LWxfdzHk=2 z!nLZ-YG&@`Y=LBU*)`loJe;7obw0(ity@e8FF=>+=Wa%BvYcrt?AUxd}lk9 zCQCD|$1-zM3g@fx!sRWH7eK zV7$7_4n|weJh-1Ed?X2fNhNfFcT!V|aC{P&0vTZ4$ihgIPPP>3sVt*3-P9wiWP^$q zo159(Ww&{cUvNG@XqTi^N=3}GEIF#~RK%JI#Zy;Rc2%YO$vmR3XhI(>=r9E3lSwR*%*EsjeFd{3#~?it-92uE z4ytHlu!(?5H~>X9UGGaD3H7vdZ0ej;vYt6J-@Yb?b+eNny)#69E)77j^1V@7c~njX zJ(NXi5y_Rtk$=~Ta3`|edts5B)(1a1k$C))g`^r0Bh*K@xQ41M_j=)G;Rmc}wgVTm z<(%p_DVBW5yY(&>B?CTVxn4{?rlZt8N899lYug;>{mQo4H`V64SG7&pcBkq?DFRcC zfa4$H1whbB=shTvruUYn^Jb7!^^A=Esq*I$DQE9xZ@$2G|5$JInM$PdL^|`4WJt7# zG*9)vR{Ourd*Myn{|Tx7TUez3@Z1W=)nYqmS#jM>-PqYYYOd{N1R=BZ^JdvE4oR;V zeW)?Z(tGC&fkEhT9xCSWTWQac>Ru3TVQVvKnPicj?fj2`rPnhNZWQRX*9HJBap0&2 zBZk3&_w>TdEWHSmF0)jR{wyq8Ahs-+xS36#$bn9EZ(Vbl*T>C?^36aZ4zo*0T4t$1 zCxo=fuB&ZjsE2Ozrh)G197y(J-PUEH!VT<@vTW_t#%8N!g%^RFk!0EAb-Op;)3Dr} zz(jTB*+eY4FT|UrhF$_^m~9&k$vP!zFFTgvN`nLn|->a#Alu$ z`35gw-a@f`-hHoRM&xydLj+`7q)BdQGS@Sy#st*f<%8aN)a7J19`BEga{OQecBzZND5}Rmo8%J5~l8;E<@(tGQ z$Q>CE4ThuG!i|qyPxsK87>uhVkZ3U~U1Sv%!)C~`7=e1E5U<0MMMha=8Yt&os{06y zKCV!tQ+A~UZMbYN#v%#++WQP38Hc)-C1|8@;iqxZ8M2#UStO06^A0z993Jn$V8tXCGa0?<+EG>_uTz9g2XR#%V zzcI6w44J{0bDABY-w4o&7Tuo69t<_M+UQM6<>?|F=e`$pC(*0^*qr(AF5LD-K8Iu2 z?cM$oSKYO!cZp8=C>LXKtq9^l-9sjg&-4{;N}1pU3U_D8LrdChqC7^N z94I5eO1kf#U2;r_%H+uw)0qHk)fuhFjVLa-Hk)69241&2WrN-5MT;#ObSE;oMb9kX z!()KhN-1ZIv5UDMm8=|P&n(4WsTPW|RCx!4GfQ9l?QmxK@G)7~xGs17R;BJP6t~wms^iJ2ChfDP1`vCz?@JX)I?JJzb*QF<~f&2u$!DnH-3ok%KV- zC!Q>eEed8Zaua1rTNA@iGk%2d3#50PYP)-k3{c|qQ?)_YaBy>S`VY@{NrrE-X@G{1yT6PtFyDUy)F;|zm zJrSW1Cll$BMWz9nI(Y`v)|si2*3(B7izBnNbcV4I4-j?~_IWq{9UMuXB;C|&nj66V zCIKfywwg37kaWn#^|V9Q7K}A-r7^8?DT2?9GB4&7YWwNyfZHGw)Ye_pUPN6IZMEAP zAA979oCtkdZVZG2#Rxprn{F~kmCN%@r(eML$F`d3r=%hV5P@j;;@?bU@)7%)MWmz{ zv;iT|MUSd~>mfi!&d>yyg*M)Z7|l#$JG zlb84#u&J+?$YmS`gfaS5J;dP*FNSlW^W+LBjJB#%eM%oWs;J;oRo^=BO_w&Era%9- zKb7`p5ZdlMi36;6n-f#G&>AN#oYw~iLeB(aar=%uyovp*l(pXjLq zd$%S8->C-WnC3Y)_lFf6LnEzo=^FFQn{|H2V$nP(MQ1o=$j6P?%oSz2x8Gu!x1Z8y8T z_Nh!~3N9p0|C?rF;h9kqp$=MhdAt=Pv$)A@m8t|c*+q7m-kL>s5pK0PshmIr@pnqR zF2+46?6t|i)p)6V8y)w~y4^Z#mRQTO>3yNSpqO^LOo$#iFCdtG*#qXfO{snfrl^2j z;k}7zS~Ys7-ASXS7t*18??QROKu$o*B5x4EcrW*QP9aX!no}Ik1Q6&SAdI<{KY>Or zcv#owFY=)p)!(WdXDn_jPdrf-i}Vau$>E!)FJyZ|NwVG>tCJe0gY;q zgDQ;=GsmdtT9L0T-~gkGWl|PhGiMM*%0!(F-Pp1SwwzZsaD$)d-+KmEm--Ns|5YUA z2hvj?#YLo@b3L7IR%}WO7|hrdautWz^WLAF9%-lgBuS_|gQKKa6=(U{`Aa4tOhPz5 z4bp&MK%A^qktDhl=5AmWlr41CHP`H76BX#27D0Lq3?`Z@*!>S7&#v_G`0~g?{ui6! z#8)0_&c!ectzJf%KMQMHYg+JQ){`vkjVvkM;Zw3nmqhQH0|kVV&)U(9Z(++*j)SLL7-0sXR&`D(ey>cSVt5ipKRI~IPczEerxiJ1PPIfh0<_TPD zXZmQugr;SFz7=))h{u=)UDg{LwKAl?!nPVJ*F&G}gsLvUQb}D-)w|NmfAUAs7C{9f zA>k%&JMh>#$bJ!loGk=SR4Kl9<<0^+d7v?JGa9U-U-oookleBjaT!XIE`cHpkxmO) z?s;Kqrt2fai7TXxckc*UQyo=-E`6?!o|bjJmE@_G_Sfy5B-l3jN^VO;EmtmdyhU6; z?_|#xMOm?00N50Oty3UJPw|?i04V{Gc7aLi(aj{f>4aX_@aAUbe7?DFiR5k#g>U}Ut$CQJl zQ?*$W`XO>y;k|C-ovKwtax^B+WzO@wlY@2=qytWsU-=9zB5*Uc zE0G@L2dyuWaIBRu&dOm6CoLC;dAi$hIi(fC)HTrnZebAO1DW}Qf+qyzuY}~bTIqx` z>3tba`!o=`tTPMYXo|h*yle3PvGyk5Q5H$Se}V}FNO*%14G0=BAW=Y~WJ!QXh9oir z6GXY?Tv0^vKu9>`HVH6{wXW;!>aOCA2>}9LfT$>_AS%Ai2m-F0O8&p9o(Tc6 z-=F9CKAwk6zkO6!S66peS65dv%{yhUDD7r)e`cjj^*sh-3(oPZm|Yzwu9fey&R}&# z)}!H_?1*2wT&7es`?2o#|6v9Y*<)o1uRybK@H{*Mu{8yVoJOnos9H_z!Ab8Lab*_1 z2v_l9Fnis*7$7Ws6i9MqbUQJ(U5g1V0vpJ|D2btl(T6+i8j1iJ-Kf<{D7p`Uc;a^J zbSnze6!x7=KvX^=vjTYb$p~GCQ4y#BPM3tY*V&*fL?DUWzP2;&cH|mvu}55*$P&{m zs(r9m9<4&6ZoJh>NPL>)cQk+FS_=%h*NR$9)|on@usqX?O{&KF?7mVYW;P<6UE+jC zUlld&Wg*vvk<(tq2-hiep6 zr2|Tj{E@Mnxs4IL?tgBWi+k1b4uep52W^fFgQqU8Mf?GR zb)|;|e1od)j;KJ5mV_LzV##Z4kDbNrWP~Qb#Roo6hnX zN*T3FmxG44$l-Z+clo~<#G+h)ccK!KT$@T`Op`$l4P+z?6c-vbq z(5(fZMjRH|Lcxpup%S(V-0A3suY%6fM$w|grOTY;4WiQ7PGkhEd0WH4_6IL63SDQ< zqAuVGOD)I+Wi2T8v?%y|G;?(1%w?a0dz>h?PWc=yHjQZA4^QXQWP+QgW|O6qPlZn2 zP=ki%0zS~=8SxYnA+Pkm$h_u0;@q_|)5&3x+0HhG8Rb$g9-7nkv(U-nkXhk2x<<$d zBO;X69fmUCFq7;Tu}e?jHO+wBrbBWRL;c(fev!d)r3{uOH_2cT!->Aj#O{W7)Su+q3|2q@O-0q`WOm!E)j@dYPW z0Q`5qQuw?{7si#%irDbyH13;|8y6RCoV0D1wk?JB(6m1~fwD>9Luei@le1um-f6U5 zS7aUVj4>N~^Dc|sQ4MA=)Y&tcLK%C($tapvcHn(+yL*sAK&kklgGj&e6EML#-Y!O~fAX{MRGq$xiuCIwIrV|{Z zCl7Y|(V-^ZaZ}N3J!!O~W&pDwuv5TZfoWIIbhr9HYHhm~MTHxla-gQVFs5_o&T!?b z(;`h=N>cO)L}%+D5t^n7(7QF65fqs?Y2hrQrk|%*bvTD*aF6yD&XGSs_2YaAjD0lY_nDY4=N&b>= zq6_goi|9Y*SR7G{xK>pdyfSV6(KSSd`hQv&y1J$?Fg$H;!^)!#LWxrga=u0b7#tk4 zx_3I#$d=;!W%uCOUzTofmb8;oQAV+|s95+E^gf(zyG%4qB$$!%%cFVjv0j@CT6S>X z{BJwB@ti}pI`cd2KHmbAW|=}}8YC`H;Bz_ol*=MdZ#Z2zqr5;2|KOC3)6rz&b}8Lm zyEj4FzI}v<_?Rf{c7LYN1hsWv^B{4m6u|6eZl?Q$0$RW*Xgbp!1nlrs&5?|E-%v`!-`jz8)|4+=0&c6D9(De*QY@1PP=0!CdG{;| zi%eN^NtBfVDU%{5r%Bs)$Rw&J?0qH(ojs)=vkc|9v9C3Z37;m5DGJxRYpJ}l70=#| z;t=w~n-5^aQ``~~e((~)C{u8?Nd>82-CL)D^q0~hRVw~+dCVK^6x(A!%t@vts2#Yt zT_PPZnLF<8wUaRkS*Y|OQqHY&$4b1Pc=v)SDP$ChAJrbK+s{0M?Dl?~MFa?<;MnTc zU_fLy1tP%9F39~W84Bp08;U87WZ)MaN0R?v&=LIO^qpvN9}-Hrp4}cUQ==Duly6Xf*VZ!~H zI@3>6()Y`z$|Y2pS)nz`q+gh!gQDycGDd-KkT6Y4xa>%caipeDZaKx=_WwPsd{?o6 z0T1}HS6?O&N=o=i=cm_n@47+;P>$R2U&xX7NP6utp$W<-M`Rwg#5aFuesH_qDsAT0 zZ)9uSt>k9}In2PV(LBL07Q9(Sz0u@NNLKw@ONffvhYPJ{jez)mFE`5q`N`ouAo}ev zmRNEA?KXT`?mCCJ*wf{g9+O@xW^z_xVvMX3p*g;Jy~a5A%d?|p9|6i_6FqN^cZ^e( zM##KL948H4$yNS>d~i+`{%GEzgklemb9O_|%8M9RsL%b?KD^VHUPi_rrRaNFK_BnD zY+^o>m=`1_$nzGzuov=%KL@~UKhK?b6+jVw`<#LexVY?2fv2Rv4F0$+ZjmVh`N!S4 zR9YaXo!WxMqtK1;$gL!S9HBeU9QZrM-4P>)6GfzOZz-LMx!-NfM zot-J~>qZm3brRJB4JC&~6NlAFvin_ML`HQV)!Tc6@6IDqGF;-VE|swS zld9X+Itf=RZO%$kWqzwY74ouMLe2TZ)w0A^Ny~Mw>I;r$BeR2Tea#oFk3Zvl*);qM z=U?B3w}ihAZ-S{ehBt)Qg+C#*HjLKept=i+{Me1S+4zEty^{%Lp49|xwy7j6v=vQ3 zwEZ2T=(C%MXrgDb9kOKYQYTS2{BoPdN(lIJihyEp+T6)?az{a>MiXuK)#)Jtb&O5W zrya*8ssF!hVp3m}CZmv`dK@5pspP|_5i6X;KvRujbHPP*QKY$2h&tiN_^?8m>v`3Cdc=fm@svyy!M_bo4PZ5~iu{*t$JL3z=6aQ9>UH&%nBDKk{ zU?9Jb>hF3?nd5ODVwUmA^j5T5mC|=yBm2T$?mwSW`=kCcHHC7!*u?81i2<9qfy4o5 zY_Hj>v-B8E&2}eh>eW?})W;^RVQ(WgQv)JNZcnCAlPB|5D7UH2vr_gyTcqv_$z{%$ zL@pA^LWFYRCO(mn!h)=9jX0-`UgshDbE5fq2=Y+r)ukK@4P;4(aE;d;Hc*!>mdKj? z3GjkEbB&egz#*`wbYaPbqDy8on(PhDjCF?()q4?6*;x=7xiOiIhOY)^fZo(_qC4?^ z>vAJA{Gl&r^X#*bXj88UUb`{XSF=LS4*CbKU7w0$64jNgpnx5Pig zdSpP=b2(+NYkbxN4-R3esdhj88aHIBJgYiEd4{yLh`b+&6}bE65XDe5Wz9vnx$W2y zZ1_4o5S8~D#rkTi9!et|)gZ`u(@0BmeOFlxozH6M5HIZB;6yQr%xpPwlfG-oW@2~b z%^~Q#b_RDa?b!5;(mC``G~T6`(SqMfaHy0!q$i7dRaWFu*=gb*rU$dIcx!kJ-{86d zt}vx^mm9iXq!3Xk6ie@^l7MZ4DhcF7Xtc(vKD7pyDG_Caom*ACwagM){4Rjn#boDd z`!v>qBdn>(?qk9+O!&<0?4`M}E~0etecE_(RtsDMp>y_&BHy&Q8Mv8Cyv?!n#m> z+!s?JN>^FJX+v9T&8(na_od<7T$c)~i?A-z*XquY#iG_iSTw+87s|37I1+wFsVTR6 zLb)#cTY>Sl7b{HnTHr)a8*T@2gohp_&FXAmI8KnpA2XUp#{AcHDq~_fZI>XfNK8kO z&(P)7s)Gpr!AU}t1Ynz2>>z%YA9ot%px{p&79w`N>nmNyi#tC%Wsk}V z7RuebLg&J(*-XfM^a%2iAhU;5_vU+b^mA>=30y4Mk!M?esxAa~@u_sx-A`_VL*iXP zwzqBvshOe3In}ODIJm;tqJqpqikS(JI0(Ona(5nJZuoO3q*!E0F<(e=)3wn7ay_5X zh2LDw$8r1bo6z;t`5_&<~$X2lNgwF6R)KG4)gy`lU~vNEW| z=}0K+pKRGr+(G%p@rIv=q>}ZFOka(0AODCkis`?Y#|gw7lDWVbN*R2M+;1ar69Jjy zj$=K{aNxeoahChIl^d#0`UuAYin`$H+;+#IR+Hv<2o;ZU(U%E>^ zY^dA!4N#Rc{7mTK-XrR+)ySR4M8{DqIm0@pg-{pGGkl0{il zoQ1TIGdHoD@CI0=@Z;m&Uf2j8{XYDb(12y!y#X+_+T9Z5u84qWW|E2^g}3E=rejZO z&v!dJ_pdO!h?d=l*(|t5)xxz$Nr3HLTQJCSO2Ioi%OhxJMWjGB9z5I?!x^e#$54=- zS6qVB>{cvq3SePVm@!YpE^++Q<%&ST*SM$kA4xT@MgXv3zt|h-m|puN&&8P5amZi~ zKqG2(>#Nd_V@Od{8}X~k4yR{ti_2f4p!~rLhiYC9%6Dw(rWXd3oK9P7gXnHApP z()2ZiYJK=P<#N~6JAdVReq?gvZr_j0;bm)Kl$Gv~W>kQJs6W5Haeuh0FK8YUen+^0 zo=4CKzVf6L=M=7~b)#24P`WdeoAo(e670`3o%Nv#%+}XxFL%)6s&W-~-}Kz>`MLyM zk<-fd+?fy1bD;fQ60c%^r-AiKR*{xN)y6l$h zbzcoq9XsonS=W=TeNpb5(_&1P^!>PrgM6{_GD!z>rhEq`a+0x&`wEkYA0#UPem$EyUZu+mg1&2mp0R~k!k38; zXHIhpUx zgKe+6F+u0F`?&W0Ko(BY@d2pqeN@}aBId(HaX~X_@0)`epO~H_dTzw#Kvbh6CUf7?S>3) zz2e$ao&d^BgBQjqw4U3Co+P&arha+ z?#1X;SD9q6q%AiEufz@gjN;&JlZ05H-9MCA9$|n7=U!(!e;f!v!@}ULyvA9bpfsa{ zZYEzrkDFskxV|$Hat=@g3BuN0Hp*?`gmHU$>0lgeHlA_m4_S1 z^TKzZDNz%@;_0&ArQ%nv#q}8c2ZpV1 zhqBK)c@07zlk6Sr`b17ij8pEHGBR$o8Y6ir;uMT(<9 z_h+mYrWe8$g>J->uwy#=yT1rnXTiTIkCq-Es z#QnT%_Xtx8YA;&Y#Ymv4R!z6C)LvI=RNKEz0;XGOA3FSTSCZ z>tDR_?(f9NoW2AeYv{bvUUi)felsa6&X{&S&9lR=19f2W#s+?la8(F8qoyB>&JqP7)Pz zl6&2&NGR3$lWZ)Q)SeD-aB_OGV7FE?P@+>PQA3 zln5nu6}LesP4)Je(xD`YzgHiOmeV#7-%oNmK^N;s7;O<-LRWyEX#6Pl2gS>Z(w zk?^)Se0fLy49Khy^#p1tq-3`-O)0Oqdbm0aJx{l=$6E3pB4$lR@lWu=hMPn~aB{mI zzADnLV`R)e5eL*_#}p!}3$d2Np?9Qit(i`(-SCWWs)yVn*w%}Vt5r15LT0z?NJhc9gWl4bn&KbbFI)0;Vp}T*oYdBZ|HoSED7xNw zt9E$Q-N?S&GRA-P zC^UBF)x!r@o?K7=Q>~}4{(3r}R}bAx(Mj#u+vgP9^X(h;w&$x}^|WXH$@ScOs`ZrA zUr)2=>gk`BC)bm8s`Vt*U(W;Q)Vw`Z{KtA`JkT~-g>d?(j4`&8@6 zt-qcf#r3r3`+g_2r_HI>^92@#^|a@%bLy#Q#>w@(UwDdiySe^)mep5J^ONftb*lBm z*I&;}Y|mrZ3)Vxo%j>Jhb82LlL0d zi-sW&Mi$0~!_9lAi=K`rXKK$}&OKEeUc+9mp0+MNvmP7imU)$dNQ^lk5)q2}|b&Go1dtEIawe@W8eTwZJ zUVlAp>#OI_KGF8p)>D3}_3Xtoub%$fc}6|$x&P#PGETLgK>hVBxwxLWu~W1j_6@h9 zp>takL0GhPZn7pu4;?B!r%2Dn_1E7!t)6zie0klmvULeZO2@{^J&qkK;1dQPE(#>0 z9N)_e3_iT!g{n}Yaz7sHlGZDVg5yxii@aajFt%@?cok>Y6|vz>e$LwdC1u4b=1o0& zP_J!(e28d%rawkY+k=Ll^p@ux=K zHJ!=JeregaEo028w`j?6R$y~cN6$?)JvCGO7x*vrij$G(0|>+1OD4elqUgZ zc%Ga}%^b_|VxBKhDHa)HuYiKw0dMA=e{|cgPsd=0IqD6bHPcI}2W1;r@;HqdURb9w z?9)IJ97!E2sTax8#kOGsH^gg*Fsl`#+;`s@CfNT2iBC=}SI*M&gmiL{@pAbQFGmk+ z=9If^<~KRVl4~*#+RO(?RQ2}H?i&wN06m5roM%%Q>-D+()G@*{xAN^iHbt?)RKzL& z8#_rJYVxWL-adClXHCKsr1%=5hxvIXFR(()x3g~(D~9Q5dQeuJ z{&B403pBAvURfTzynBW6bju zMir~84|AargXxH$)#nASHlmI7dBU+BXBKi`Yj0KRF`k^>N<&WA+kCnBf*)YC?QagL)lVctMf_es2!DO2)F z=u#>$-S}fI10Eq1b&z91d{BNo<=sSZApD(#Vt#Ao!J`6CTm%Z9rN*ZLZos0myhY@yuPW!e#sAe-XK z$89oQiPiXNxh1npER*Jfhn%^szlkP@{roqPh$o(MBA6Fn0)8*c7rr5}I%QR;kk{!-Tp92Fz_rqkI_NDm?~tmFy}v`@NyL~^ z{?xgJY&?AXO6MeVfRIkmTRNThBis7}m};}2nN*FF(Ki2hUpD7Ug7|wl;I@4*)pBO^keMHwiKSDO+K-YNp>}i0$l?3xM-#Xu!-u=(GFVnF(FgC5^LA9_b8=DrhFYI_ zrHt#G&D__JOXREE{tvNVq?h^i)3-;;c6hldY zi**YOd8WJLYe1rTV_hj}=4RilD@k!&xG5&IT!b(~zHnm1wvq1W0|njoU`Tj} zgj*4IQ*1<{D0B6ep^`)Vy;^Gg26wr8a<$awgoRhW_o_Ka;C}fQre1!$Y0wA6Q^`Dm zspPG-(X}wI7ai_W3)8Eas@+forXr#+kCS1#k`0iD{ujt?5iplWQIl^0^Wkw|-X_{@ zYik~dmbhN@`f5V8d$^BnW&`;?8P@rtW&X0KQfAZtg0(yX>y-$ssrAEpP+%>#utuYq zt{1ODQCVMSGqu-D)$Wi8+@GRwmmk;O)5!+ezW!ezD+J`}7UWYAkf%jJUL)Tp_e6+j zK;FoCVZB&hNrL-94<*YbnyK1-^>Rze-|7c>4%qyEgpo2*@`JZNqPu z?~}0<ns8tTKjR1>P*YZU18Y-EGW9&btBoeXs@CnmdYirAN~ z1|-7sb4WeauZYR^c6V!EZooYV_Pqp#Aj0!$wO7iCzkqmtzE!+s3OHfNu8cHjM}cin zNwh)7kFUpwc30#as2M!)?G_^C2KIpEuUV|_rN2z~hDKWZe1S!c3){@ckq{UhwA75_jZx4$ezpw;d{9|rZ9PH=jP7iH%5 zt?nDVoGS|Y3AINc7^DNWZq*yd-!y9rV53v#Fss4`z@gSWcB=i3I~$~Ut8 za*4+L7^@zj%Otzo-M34`HK+XVq=^xg#ZxS@r@y7B7R#HHJuQ~>28dpvh;l{qSGNTS zn(Ha*F3yH`b{T^egFDBDAH$TxolH2=q!yIGsCOHW;+nx2`nW@EJ|AIW#eDSlFAGe83`H66C_wA+oPNVy{`!xTTMY5*RhiP*B z#c3fYswZ{i^k_$ts@-fmlzqcG*T>5xta-y^nH3PJYF#8<%VNVZw)A`=9~(Z?={3?T zNSBXPKBB*3d^lr+Ufs5K@fRs}-(^;~9Nx!P z34;?#ohW>PZQkm*bm17+d@ba2%8D>vP-{l-TS$5G?_3{-1{TkXWAAY~ZV@^yhpuce@dTJ5om$Z|860k|gr1zC0Eamemcyn~7=?jk-mns)AU2kOf+ zPf(;K$mFoyoxeFUu~*>QUu-(xxIGqJrehx-{|tTzBWL9abHB)CIzBNnh9H{>!dNQ(t;e%f30-`!ZPsXSe?aQ-LDwOivvs!!X-&>NQyZhP=42YSUl$2$Y&iSV#<+u-! zq+K@Zd-4n=4?{I+(okvY5$Sd9k;4~jk0hViVu;`_;aEMQ9EQqM*sdq0>!U-$Z+&u5 zT!eC~q&zO97Nx<4ClX;?rV=|@9$Aah`tBi7T92n_eY9?)r};|jcmAoZ{pc^2)>RYg zrS%_Ow3^f^cOM~Sqb88g-9cEd6GobvR5F;FMMci-r2nxb3M)n@qPZ&BT?N-3?kwt* zI@TmJqa!oCIi3_nvhNnBRGe$lq9+?lZSf-5-vvhN%tY!HU1*cBDh*zI` z$%Cs>lbP)-m$yV?v1@?i1HR1FfO1wio2i$5k6Yt@-h@ zx{NjBG?aCjEq^y_xG#8_JBIS+XQTnT@=;6V$sO(LTTl!7&4|)G^19|4Fmb1Ll2Isa zeK?|Al2o2|et}e6;ymzo#d9v&UGar;;96Y# z^d|-3Hz1-u>SD3v=tX@}=9zavL@Q|;t*wF9rl?KrT@+vd3`+0NHxzdt=8LHqygKEV zybE>>_!DWtG@}r5p@z2S_egupMZ{=QTLPZaYz+PX@ixT*pA;dSjTbMFf1V+BlxfAy za8VqI7yq>kh}$J+Db}&_mLWA^ul(`UbB-a@QxG~=5qjo*5SqpxtxSA6MDkDDrZG>e zStXPn8_jbsF&3e_1iD4&N82Q+$XWO|;}WQZtbySm$2Bk(ZgO)MosM0jeE7XzYI_*8T26;mb|7VD;}+k# z27|r|@;Ax#BG;2*%_xF}nH31`(0RJ~WX*A(%lT9)&8Sua{6mn6)Kz*tOs^fpAxo&m zLi(qb_Rq49>7PaXiR7GYOivjog5O+8>#UUfj}xXG718_<YZZ z=@^&AnBA2i9ZFjAm=1_t584&?u`vvY9k8H!_VK7|Unc%$WM;W=Z03WH+T~&rnMG5d zy-B9wvh;0CYVyxKBRm{xmu<7Zt+1I%^8|Q+v`8zRJKBP$`CM4PbY%ncFfA=&@C4SG z*H=g`M%IgwfUrR63*__%SpB$y6N+1iQ#Z)R;Myl(s-(@9Ss>qB9X&F+Jw)%AYXRd6 z&7I`l`6W1X0tffmu{fnT!k9)PxNE6W;Q*MbMDT!!LXF5J$1U5dV59wP6HQA7N9KO$ zaa0?aHPjYM)&^eYj+Ii+%PbLU*He>Hwrm1oD62g=GAs0A+lcWvG0L~c!=sU!Vdjg+d3Vt??KTFj8&^NIo&`Kt31 z=$Z%QMg>5Rjh5#pXPZ=N_&2T7AnJfx!$&5vp9P%t#05g{WBJqK;8ht zty4A+*u*s8nqJ_&bp7J@9%9ktF93p|qw7+CojeLpci-m5~0QYD|+D30iyWwX+2+}k3Uymc&U zdA>#WnPX8SB2o7dB_0~*QFII!JXaLpup!yVg8*g^w|!4whtGMe>V$r-B&rUF+*hC+ zGE`6%hV(|pNtD_8htf0U-fFhlB(Gd3Yst>v9c~M<%eS2D55A{kg94X|?L@X2BF}}u zQSzdj{5~wdfkWmC-HTMS-W+o7?!eeId(r^SO{^;rLf>99kg=R}qf8Q^l+wS+kXE{j zNLuiX${UNe9K}$Ev)meaHIVzi59!46IGIH%xeUMF<}Jw*>eNb;QqERzS#b(ZC!d^a zm?8c~CJrFYVo>vx9%LRnEHuDNt=A;QfNpf{ZBK@xz;5$JiV)$w^hIQo0riml=4>sV z?#uaO>Me9>K{~59F3P5#OC!pE$cS;4t=}JaZzB(P=zA)U6*T^mhuu~e<$NhY>cy{qVal4Y%9#%R*3BQUK8olAH#d7C;ava zz57FhXeZh6-&=dPC_4UK&@Ha*vS=Uo4bHkK)l6tAtSg(mJhMjo8sAKjnKIhRCZ9~w zm!GsCbM5@W6UgQUY8FOG4W4VBN`hM4kV&JvJ@(G%w&=tJx!pFck!{X|l%h#Ylb89J z>JAmLA4fSj1$(K#_yc#Q&jVTWoR*8s)A7mDC6>=jy7Kmq<_zV5Hkl775A3{0c%X;d z9Vy7%`3F28EXx!&$vq%%=RQT0r^l$c$qo6NFqL`{!I_g%16ySz)htOLz`E_}Q5Yvm zKG6`UpeNZ26Q<%1d{v^E#`#WQqj|~xJj0K#dNra$jai172Hr||&98O3Q#w>2Im>zg z)JqWgFBO-B!JNpqCx@5i&XWY5e2n8ya;(XLA$j2$0EqzD3k3iW+vD;$r+ghBER@IQ zl;6$o%A!jm+<2#QV^PkBPMH`*73F;HED$HJmMis!*CHk$cMRG;XPMr4qb^$Lao+6d z9bftDX>gm&DS@M&#`{o=#uf%PW>ysCd_3h67&Se;04-Uvn?`YeFqN2(^PM*n`xS_G zZ+xXW%`@*0Vb;Khjn|iMi-koCa=y|#=uH^#tf1llL~)lPmjmu7U3qk>5-$}~QhD(p z*>tBbPvGe00`N?0J=N8$!eT%xlb;zaEr5fMYhiDEeO*xoX0- zO;w^9jgU|nIAVe#IDz4ENMkXw-4tz9?YuGD&i#?eV580z968GP=T&G%nm^PVq4P99 z0`xo(Ft3uuy>SS_V>J&r`$|8pF~h0k7~)FS-_1TaMlk597`z@K>3g;#?rp~6(!agM zbt_A=hAY5Z3%jsMKm=Rb>bOp%js_E%x8^(Q4|j1ChqDQ|yOoZhJ~>d?I6neqm-2vsGQ9h1dGR5?Modh2Yx{aTV-l=J)4rU*N6;dP)AUMOwf z1?5yg^MxK0hVbY7?krf0nVBbeCc+xqST}p5y_)|5$y$0#<`!{9kyrXd15W@y!RXHm zgOlU9h>VM&Z=D76nCc38@JgkW@CKHukOe!%A!NztJffYlC-@r?v?eGL*Gl94>3JR| z@{xr!?4}}=W5ph-nuMn*UnucyU+Gcqu*bc@C33c4gM~~m6#N(F2_r0kIckgVcBe#3v?5VTyiN&UAnd=0 z*83`taJ&6G=k6FMk)PU} zcg{+_3BPPsQ@|8K2=ktfgVyQjx6T)3**qy1yG31R*uHVfr$i{m&L<-8qEU6{v{W+5 z!kAE;Agx}`8W^S1f^h&Y3heENhl|UDiH*W#=1Qs5&mX1ZUxbdA@x@@Fe^$%JG_cEd zQC~jTSszRn_8Up3m-3!^nc>qU@Qj$;GVdGedA>iCc&ThXZ0}i7fv3s;E8P$0N3a#L zCA;@{bQ2*T5p0t!wzzJ9f^RUg@pA?nJ;*)e4AYqDLKBvfV3sji%cSwG$UU_S!U@~Q zei5PQEzM-b6A==1F*t+iEBYY@r_J4UQ{+~%T`QouhGiv?e|0zb2o(o}RDT7m$Vkbm zCy1_uI{)D%#NuLhMrX-O$;}SIB>q<<3G9q}#HCM}&1#(-oD)}o&#YI&>X~_H9jT*= zcYX?jL*j~JKlArkqCR_^P$}q0lV$khig80izhH|E*gZN+IGf$>JXn!XS#lLtd3csC zU7aXPxS0u@!sE9+SAiFzKoo1Xv8I=x3eyA-WRK0~vW~YSB{-Gigr0ADWrKT>;x(EP z68D5$NjI&Ckhy!2kO~Tm`0dL%Xx(xYAx|xk6dF4y9Zo>`ZROUfy@iboVL2fAstQOCdIe$#aQlSTaN_IPnhBDX%N$QURO3snq81IS5 zJR&j`20kimyjf%>Pv*YDz~|;n6;i^lpCGa2^D>sK^g>ke-_Wl*t}Q_Z?8*dFRHt>4 zNm_^Vh2j~sZ0aN`FHWz?tjR0eKmAH(&Q7BCyG>7io`po|#5sTc;A+Fp&{z!f%~`efj?5 zfM$wH4pC@k2ZWRnI6`)f zp*DRNtC;_EnHBQ~`jP3M*^?CGUe-Sr;P`X15{UU)c(F%8dfeou@`GS=i|hti9lD4= z*bd^sg^4yzHqf|qMKG?F{V7zy+?HIx5`%aknV7gaT&3*frXC9|4QTXQqM30-IJ{OK z#fya*C3PdT<{X%No_PhtQ4ii5P{dCMadbK{?!*1SJp5}CQ{@+?qZT+0MoXe(nXNo0 zawz=)dF43TJVu~LUvX~RH(~0Pa&$dF8qp=NPBt?gv{kaBiL^%>0P4Dt=^$;w+MY5! zdJBl&2~!d2RwSAy;Y{W#M53KevFm4RW*)icjw}TnrGZ2p(!#Er_P`$rI$7{5G7R4L{^fAZ7dB+?NCkg|J*XWX@Ft%ORCv`a78C9^jr!HwH z>0@OMZXAs|U2PG*9<$<{5II&Hw{Ogs=fWzDEQ{7ZOe*bVOp|EOuynuX-X1fPr?kiOJLdoW5}aj?N)I;i2YzzO z{;h?+!#c8OE6ypOwlLgVoA5rtmSGqaPQ!peeg?=-aMri*EYkd!^3IX6>&GG;;5bo^ z6wL<`U7P7%deUZEsC^pAbUPpA`>l&2Y${8u8~I8?AFR{ z$XVpxwEYGxt_}H2_G~-#`ZK`Q@JC#u<`oFdpwmtBos9Ms{FHk&V?2G zoZ)K(;y#al467s}KI6abV~U&YbB4t~JEdhz=$%*qxFaEP8P1olv^b@V1l#e>&=n?+ z2A{uJoCRlO6RjIR(Tp%dgdR(ZFdZNo>0=K zrAm^y=h)-Ni!Zk%*^1eXIg<+9o0}b|fi6yYj8@0HOZ=MOkTS*NcO(Av?890o-XtK{~PO6tZPYZ&H z>29yn4^Xmm{Kfm)ONX{jpDcaX&I;)E>Go;F!j2Ez^9eJ zrWOX)RPIjZ&-bvln^1W$uJNIQ0AyZSxf6@7f<*`|tuI>C)EgVlTXZRZ3l^QGf14Ht zHV{DmN-kK`bWw|o3Kq4PXp-qZG{)!Mp`G9QLh1bO?j;4y<;BYIw%TzJPd+`sHm4Di z^$@xatB@yaXhDr^-K7O{2l6G{J}a{j)%00HP~B)bk5o8?mGTIM9v9AEag-v^Zlx^3 zEzF~AnLMF){v^^ZX~Yy2A-uVR1kA&3o3Hq_Z7miX-QD~06+e>;SBcoZj$BbTVScDO zO)gN$<68D+ZIdl?oW4hygFTOONA87_lsgVO3qOJj zfVA3KEY1m?@&){jA}QV90Rubf{`J2e*ZpTn_n#wz5S?8~XCIQ$C!!RcE#fTLD=SD> zv(J#Orh5wl8!AmgLEtN9ibfj_dK&*m|Ju%#4n2EOqV2txW%3QhkDI5|8Qnp8FWW8d zZK-oNskI&GCH7zozuiTtR1UVd+3wo-I(_wD+4qLpteUIXJl@LAtvfsxn^>x)7uxKv5Sk9E zqL%o@nEOrrSls584+Nr^e?EzZ$m01pp#iimWZ_L!c-ig)7T(oW?tDBo!KEe@^AThd z^DZ^uBi!tvpuQ#BPa}4kQNrYb&E^s&EKQg}1S^PX!pkon(UNV(TzZ8(C^AKmvza)Ams-;?zOmGzo0_HmY$d(YjTCADq z0mdOEHEX(e4F14ElAw&_((%%y0<8FZ9GR=*_0~-tl-d@-=d)Rps&L+y*z*+yCrNidUv)FHDay9-k_od6&?7U8+ zJUSXhpEtn_Cbthhnac0G_!@*i!#qN}Wky@MppiV+xof%%LpmzYee@dezJX75?ij|! zHJUUm6uuT2tBx0FAcWuJsNwZ@nSW!#FG~Z?leVK(S4T>S`u&1kcXEys>yDq5BnQQ1 z??Vrmw}Kz{06uhNB*ym@9!#p5sZD83Q^b<#$6UR)7}rlo((@y^L+=apT#KbetjXqy zV~H?x2)8r{! zJe6t*eGXT48^wIeDE!LolY+rXFrnC$%IyQ$^^BEo`w;6DgK5PZm(iX}hDg@h%euS= zA4T>;QX;6ON|27!CSBPD)RLrFs7;YY?Vl+YwOe{dQQJZVawC;}sG#<-)K^G-YSrkJ zSMz=Rwb}QyKwUb%AbCPvkzm|gFz1nkZ6vsx zbM41Qo2$9x`W-%Vy^&m<>0h>mp7)51@y34VcYHg{W{mn+_@~<%H?*(||HD0OjYqJ6 zqvaDQ>3(q;-GBCo#WcylgFs@w(X*D{C)XWNRhUy+ZR+9917zvi8eEiQz{=vP zz#HJnkc7;&K5;)?zSbW|DEVH;B>p?rhQEaOT3A@OTUb*;Qebs=y9#>$hLXQc6-uTI zw;Arz&180Fg?oln_F+w6y=kYFalzbf&iqdQJoU!ikg97RK}jz8LM8{s@@L_XXv0zq zwt)qE^z>*O-pixjXCd26$q?8_16yeWg=wE4krA=%b>_-Y((u|GTeY}M!?SIUC6XgJ zcPynVUuSPO{@C|x@;&6(_fztHx&8K%f6{2a|H3y&9w^bak0Oec``9&FLZ3w~w(WNg z5<=JC_BupAuI(vLTCfc**tU_jcXum#N!yJXDDzPK?Kao8QCfLQr1EU{5pvner)lLT z7JZ`hb8-iC) zt`M~YxgdMKR2PchUaUm%+FS*-uo?)guK-hNGhARZjI0Io{bdTKqXqM*%@u2NwW$U3 zF1Z9u?kDVnmRHLZ6UTf@{UL2`?%Fp;u$z~giLC(be)Mr;5!Aea_}54%-UI@Bu4bwW zWXUGSW$H)Mjo6~eO2aXf%PM* zWTw9o1mrg$hy?rKm}Po$EYG6^r>B~@W#~u$m6po=kE8o*!1g&zg5LuB80W69WPtEa zW#4w(2cSwLs}T`zz0x7ZZF-*?E|upovlj6J6w<>^ci9_ge}k>DhpzGjyLp27#~x4( z4XE)12G+ixnzO;V>v_P5q_(1Bqfz{&>?RaZJ<5D;zT?}y^UwXVkW4xo;@&O9 zeKu2x`}I&zk{io)?wzQp5+n0FuTqV~vCA&BOBxyei%j~_XK2hfeENflN0D|!bA>j| zhkzLyYub;{okP>%$agBASy$4g$JIhX9v}(D|826cQ&xc!<;iz=SQ+|xM`=+HKf`ze zX9iWc#r*Ne^^n4ArM%o_WyzQI{@%Zeki6d)9F;tMv@Zvr=Rf zQ}$Q#$XO!q^_aT=>nr^u7Cpi)=_FruoV-jyXB`=hxH^PCBscI?7qm>U@jpoXIQ~$2 z@E9oha~3o}@b4i0xLHd6j&?`B^SnX)JLx83U4sLdkgp^9CXNeoI^wo}$vD6);EyoU zkAPEyW4{#eZum4A9Gcl;T30tK`-zSL;(n;(3`(fct0XT8XDm!v1+L($ogHth$kF zHe`HUGp-lW=yNiPPdvEj-xkUh!{OeG=N_&JrZmk#HpU{jWk$@~B9)l4_r=BpQ(Ej| zvIu3JC(%Mg6Gt>#c^+O2<(@|hLR0uBYb{J4x9c%Q%z5i^lr83uhgbjNqU6a z=Rmorx*S4ohMkUy)Y`onLR$=hB0HNM?vh(&M?)VvWiJW~{+mBV>|MoZK2f`NU>9~3 ziRKjrrq9m(4oPD|xeriad2@QzeY>O1 zc6SMRLb=&PX;CUIs*W#sZG_lj#F$&C(j9+rKXDzSaZgC&Lb>kEG{(Ms{7DnLIQDXz zX3KOnqG|*g^4T$&?yFglLRs;v7!Hi9rcAiVu}y=Pa z9q%^Tfp-d75b;VSGrT@480^iHgy56Usb$|ZeVwph8ZUzfCPjuge6&eSI8mKq@%0N|`u^R@ zTG8+L_wW3HZF){7`|q9Oo5g&PB{<5~K+Y(WQDn0{a0l<(U&H8=9iS*$MB9>zGHs2s zIDbMjRFk><#fJB?o0N>38b<_iPESYR=FQv-U{TMTGYH6);samee%&m+UL>n_YbI)` z#*h~*WaV_*NvRQJb|>!NUnBF+o7a&y=g91--oRmR#%7Kfu*BNgg=^%0aTY!eAiD1Z z)O9E|H}{^`^Bj;0Ni2E>^Nl7CCxO}3!mE-OTICBYqWzG7X%b@7xZZcs*f zR(Fxz-I$JO8-m?Xd7u?nvA|op8@<$iU!a>)Rzqn&R?!t&mqo=2ACa37=A}s%Nt?qS z-+DPw(8nefp1GPVe#H3RrL!Kzw+gG9Kt-*aB*=z3C0UFfZzS^u+r# zroKw5S`u7AYIvKFE13q14o3zWJ%o3}$pAL}_=8quVG?U1N*i-N-!RFpTSblCd`bF2 z+EM`e|K-=rn5ZbcQ>4rNZEM)43ko|g9-4qQ`A#kNLDhx00&Kd5;%Oo=q8ad~d$A76IUwHuuvDPG^JFT(YBAj2&0f+3E-1mrzgXyT zq|w1GX9C9;2EwYiiQB6B1FSIs90ag8csquL3XIn-0OqsvN;bg4e>(;&TY#mx*>!-W znfn0d4E>DRhN}v{?c^!*57p& zq}9&QUE>R!4i)2_4o6AEHkQyfjw%jFBf8=o3kSCeSuxQuRzEzbYrl&of;mf zA%=<*v|GCHG4d;kA&=D5=G`ya$4os>j)%S;+>&NcxJ$S>nEmDq%6fnrh!PJpP+SU= zoa+8-Nj%XVD;R38cNk8P312pLx0FhDKzGS#@M;5hO#=~qV3AtQ2%d$i_OOvDT{*03 zVCEM0VT=Q1s%h(;e{emXOpzjB^5QeR!C|a>tX>Hvyn>yVAUC)JU*Xaqh!iUiZc^Fy zzS_4tbOX}MJsa5u#@(!mNuSunb()yt9u+wwl-meoYkTcg&6#z^pTlC@yY3a{a>`de zFQA3nX>NkM2??F(!21#n$0nGW6mnx|0#^WUuyq8eLwr9xLLDe(p1#12CsBXL7#Xdy zxq$k~z3s?IGl?46HQl6YK;ZV(5RLN?P!f(czZL6HJeN6<7+}CMxm^dfjJdt#c%L(8 zqx?C{D{>qC98(JG@fQwQ;m*UJ$84X# zZkW`5U_r|mXQ3Q&3a0UU_>`7ZOq(TVF0ACTwip8mOAoen%I~mM7o=<97s!44n37Q{ zn0Q1%!Er)0Bm60^GSY+Z*%AI(JK>eAE$x(7#2N+f4kds*)VBCFIKKBdnW(zEAC6Cr zG563%_O-z325rfyc$8$a%8t-%+2KtZRlHg-9z>)0N$MqtGjccZ)tt!ib8;L7doXk~ zN2fOA@C47M2ZpXH-(o4{lsVF}Bebl9bE5DgI<_d}v5Ym=Jg7@+0au-V1TRu7<0YNT z;WA(G2d>oP%|p=gATY6=qSrf0UlOz4<2)e0xf{sE{8L$&y{5ROvXI-kf}WPPy6F;H zAfZ+gnng%v9XCC?188-5t_D{TSiXIb@n zxxb5)5Xw4wex1&}XNFV@gPPw70bwpbB2U|*E7;)5O|^HlXl|7)YG?lWGbymk+&UL} zY;FZ;Iee;_&DVQ;(YBjp8EbwMu+JuztOaD{*ppCqLf&9gQMRM-EnkagTBm#fk#bf$ ziC->^h%O097ugj3U{Qc8NM&b9inx4m$`=z9|EKx<7UBO=onH*-Vw&P%PmB=b{rV!BHBhrXcmKXVq(B1M>G=TpioD~OGs!^G|^97YPv zvX+<)w>Nak&L|ZUTT6w+^mk>XxW&KjuR&|l;_cHgw8$`y_aoIGWqibzDtm`cK(cOR z^*nQkz}gb{mAcyfvqy)RjIDfgF58Ts{pDgIQG@W&f^h zBmYS1i-0D1ZC%*yC0XpLBESos3qPw1`~pcAizJIS#lNZxy@Mo2TeSxKF8sbO^bAR+ zWF6=`>q5U!(xdIJkm7ry(BHX;eiYJNBzbJ}g*N0lRJV$bl5CqFrOt5;=md3Y@%KIi z)e>V17WvaV(^nS@hw&O_V8%Qq>{s|>_XgqG(DxEzB}S}}mADASBO8jQ6oXOCRU$X& zf;^Ob?iGKv_Jr%^p(uX;4xRe)lg)oLgv5g6jDLy^6qdDiDbeOZn=5{)6j{s%MjGzI zfE5G2ozHhfsX9>#>+x*LlcRK7@!B6UmvncZ=P?sN#t#<|eFSK4{coY0`%y75lTnUXQYJ zT=yI*oJp!^8h>?t;;45xpYF;u)wXOW9H}2Gq8sO;bZI9zepnmtrpWg@e9P%zM>!qr z;16LwV2c$5cBr<&z3Y<%aIG@^mC(4sLI&}Nu0>Ri1AC|?ZYfdmCgAWxXqXQIqGhxGdh>=A#+^Iq z`YzrsbPu(W#UP9b~@r12p3@_or?9d9*S{EVtTw5OQ$w9!lAB^)Obb?%^f~rT@@y zj@xlG(#b5u1QDYHUkP#LfU>LZ+YrNh{zOYlSK=AVANa`h(jLsZeg`$@9KiR35N5^# zI~s!05^kIA5PwMNkBB$V5?n3Irhpx4nsjEe`_i?^(S8g~PvhVoh^QysK}%FDe-CE$ z1+eYlkRfNCQ}z+b*vE1!`VPDgyw6wo2cJB29ct5^7SP~F4|QNI_6Dy)^VP#0m9B>i zB?2Z`BF^}VFK4T)TT?j~7^c;6$T|XVFh`27b(Zz30r+BokAsJByAZ}L1FL2+C)uVm zV8n!K8l{jC7O@2mzj3@n?WQuij+r}PD{)9N^ShT{_fLkRX$)k{ttus}I$_%9w_eUO zc^H6$o99SC3HtaG>>kvqthfdf+m9Nvm^hvTkC}dvsAY}}a667mh|#BtSGo7n$Bf57 zmD{afqnN9`%l z2IA7)G2gMsxG>_T-pa3|1EH>AN!FCMSb2 zgM2qJC_zKLr@m z%biTB4u`wz_*fQTy=?aGHv2O%BI5UQ^CQ4MXV^)uk7XFjXkxJG^$ZzmlJFlAEZ-&S zy9(NJC@OhZpHS7p2r&0?diOjh(p;v3HwJ4<&y3)@ns=Q9b_MyAoT`V5(9{YbH%p(Q z^MA2D`u~?v!s;y32wD%+-X6t}lJ_u(kdacqGpRF3ai8BRi_gS9=8STh7@X+!mhOr* z4f&XNh=nm3Et5E|JVK{4&vo{P#$EngUQu8(Z%%(c9*$BO1*S039p_ zL2brQ(1mJI4ILP92P?Dc&-#>8>vXe$GJ0qC$aM7HM|4W#=?Ly{55*R83yUA)wInVA zE!9Hnegd?IBhWZvbIRrd(IoLFf8MNCHBFrISVgNBw|l456nFFoHn}rKGo>+d5Dfgm z3w&6xq6^}&+KYwXb$ol-@q}OXvW&buUh?wwckKSWK6L78=KEY)@j2em%#Qw0e!+8j zyqN5B3ig!te85sdSOzmo=(syBY=jYbj$(`XQKQvKW9Am7W3y2rLb>CQ%8G-`;;!2r zF9QIfqd(*f-n>KRfL zSmzn+8RQ9kGC1%jhE}GLiA(-jy>gY@(RRS>{(L&`zL)B%1X}~ z5)&|m0aFy%Mt=^dDMsU3At2q1?}a93$SN-4Q_Y7Q8F&L{h$Vmy4C(rSiwfT}(lg34 z+A{|A*)XpucuX1gY2dp@CF@$n|`;C0(ya;2LZ}Bnt z7dKQwHqi?mW-%G-j4c~kVr%FwHT<_nw1%C3lNypp3on%eYhd3huvfewuy-l!7wkIv zbYvYBezPFkQp`QbWdt_Z@c0W$Ij=3PX;9J_M;8-K8K1$PFPd5W`h(YVdk0Hjb2Ech z7CU@}Sc}q#=AI}o^+k%l%J<#^Zz65O~9inmd5V{5)7LsC`eq8prD{~B?3x> zNCpy^ffoToo7889~`iqKxCH*L}wY_x-B40tqMqR8~a=Wf76n3_F*wDf9iR z`b-kM_rCA@eE&Q!=bT=utE;=KtE;Q4uVAnuiVIt`qq`BocCOm0&~(E=g(j12AgIEb}e-*DNUY! zYid30wCR0eaUqllIATM18K>XsKU0sZoyj+%m&A+V#(MTc12(y&e$?)?Uc}Ldw@@zneIV;0S0&NuyVZ!l z>Ha?lQqerQ;>+aCY?)S_dGW<1Y1vNMUT)SftqG|^l{{=U>rmx)wHT|R${k`bR(mar zX{_J1RCyL6*6EDuu&}NJ*h;9VJFAu|7s+S5;Bl$I_{)_H!{z-3-s=n#GgOg^Xj4JV zgdi0!$QFwEY_=~YTUU8!t86+P1>rqIh4;u=a_W)&)hjyTh+HIf<|A*ACpXr;S?hU9 zaR>h-9VYXl^DjmKU&bb6Ad0GK7p!H&3~xF&bA^+XZbd50JWJCp@|D=cHsyVXQWO89 zn)1t>`6Z-Xzi3dJ@4{444{nUjnXZ?TA+N&ydnz^i-Tt&l6YBWhOy~UGjCqv;+%@!NW-WsU((QSf=|SG4vK_^QAw2 z3lk7a;Rtt>*JU4!vcvWAUPruj$}2V2iqzu1)%{{ai!^TLn}`+O1ixuu!4*njGXFHu z0nzniR>EehyrVt5mmCPC?O597ni2_&O_Bqy5w^o86{-=0yXrBl`PLGLwDkiIJU21n zN!ob9^|HQ}?eI1~A>-u_&5EG>=e&@+JWuA)2q3DFJmOt_y8bSx*e~4#V;T3sMcDpL z2MULQ!cBXZ_IUVgnS`VM`u%$bn*}AlvK{>0;8*9(slg~FxepW ztfwwiuZ0g_Z_jOP*NI_y?5I$jMiH}L2U9K$8k(AzJP*<4Eaf2d{eJXW1~e(tBuJ*O zn$-gDW(#EoW35B+F@W3_jGpb3&lWUTZ)jp&bV$Ni6}eVp@=Bmq*OgPG_6n@KJGTi_ zn5f(QF?fVmA|h$NE;>@j2c$yEZI!VnwZ(0J*rV^~1>=3dp&}SP$|=uPv<9ZCmGVX1 z&?2$@PNb{+C%Pf>I^~=O0F^^xuIZ2Nm2q-2riP+vf0P)wbGE;fo4{mqzms&JK>QXg zY7W;Q7l281-Oo&!SMg~k5u%>T8KkCFqF*WGUe+C=t?J|}38KC#ly|>72;d@9NdXoh~r|nrdiwm7xu|{mK_FCdxE->wn_3T|bWnz(tI_4k!hB1?#5X>Kr_TeQ-P@2&; zJuodPse;i_CE=zx^uf&v>)T*-!Z7TO>jg>=)OYTAi^O@=7C}~y*M8qfcw!)0W#OQY zpbmc9;Gwke*>X%NLoNo>mc6YooT+!BF{Cic8RG{yW^T#Iv5bcCy2+6m;|VT-K_=Sl zT^pB>^YZG)(Y@#{S>4KU9+2-X?Hg}V;vXh+j6Zgc`|>8nO0@S#{7XZ5E2KTZ4hoEumR;pOalSNb_+}EQ zX@zag(ydVE52$k;Nu@8Wi zU88kmEs!l6IBV>8YZ1Q_x?bFbuTF5}1{)ogTj-AB3Q5T)S05(6a}Oj0%h9Z3&6uc~wZv7;<+_6%xzJNB!+MWj6{+@usGaN9H{Dg5PS%?3DKa zf;%D2ijif1(-L$8s03>26&9l(SU9X6OzAn)H#xy66!KoMm zqh$>L6o{P*FLtJ{qKH8KE^QN4K~lzVPln>fS(Jg}Q51=^59So1=)e3?w2*=5c2PvO z4@UnKyjl6oXU!Grehsj5fNgIGa>`#8wB;~bTBJ8CN4ju=19y6=**A0$C-l;X`UXq8 z6pAoDOhk2bJQLfNxQh`!Wt+CWzy6uhnL_nDCuZp0ubkM6oxnPI{Mj;avV-;INPE&RNs%?ZW(WhEY^nr4R{g+pgui-shQmt?83Ms_5TSQ^6Jo#`SG1?nH| zA%3ZsgCiMliitA(2qFvdK{O|E8r+5Pg}O1 z{0`qPWU2$)j0b^0>?m0bO}`p2{`&AU?v)%S??)zW`g3*CePW5srhT*g$%Xzg6_`*~ zbYlrS5ULPXIwhC>SeT2YG+N^>%luC90)J_KI#MPp;V}nu-~-)APtTtpil4Oe(=4F| zoW|@F!(#~^5O1Qe6pMj^8E&zp%vdz;vfn6RUl zrmWDEJ>3#g>dD?|nzqF<8~uU@D9-}AlWGL?f)GyD&Q(pUTQS2_2M<=Zsl zhZ(8wnL4MhuiuUw=es*IfREKJWKWt)C11RttxYnUB%*cuwoVdej~vlb z5c|olO_T_tgY1W4Hf6ksv17kjlchRNj95O_hchhHi>uh8dBmrry#|R`j#}-lZxwpi z+-*VRuN!hf(d&a0J#Tpzh^1@eYvp68CiP^%B?DQZu{TBt;gURkQxxOR`>z zEcp4o_Gu+O;htz zN~g?yBXvSmWJ83=cK4qq`hL8`?2s3DORj8^-ufe3A4fmLl=N%{bmN@)xA*e#p!czm zk3i`p1h)r%=YfZxA|}aKC_bWRy1#Nq=D>K5&jZn~Lv0R) z#;nN+q|Z0+K1as$$>@)c$q}laNI)=_xuvb#T2QcthbkuSd|vwI4tGmXP0#l}OSbxg z3|U-0XsZW$Dy>HD5L)HCJCRl_t(rz`Odl_1Rc*|08*`Qy^F>We3!jZSMq|!*U-V+| z9IXPgTY09K?5n)&l(m~lO_%aR^{4UZAHV4IbiBj77>IroX!CPm%+{P>`d(Hr(g^sK zBuOCuPwpj_e1~5YdL^Cm?_c7pAwe|!ybH844{x^(e`+maui2P8yqJcyG56b;E4-K; z$P!9`y37=LAy=4b0A?EeD>DrVGi4SwZAW6!Z#AhE=H6Gqs7BdH4eyYEctLAh+|F%+ zVo!If7H3A-$a*$%r58EMMoxTDC@v zo7r1!7Y%`md6|0&(HWR$<;gPH{oz#IESKFnbjY`L`>eOl@Kx?R@MUJz=+mS`0&_1Q zp&9Lc{(k09%o zE<`LGxHHPJn$oIVoZ|UQ7vnpA=#Tzr9w%BB25?E>uj;!HeA3Lw+nc4$FL6I*da=C> z)ZaP3rqR*NFv@dPOTO zOZ%@e(f7wMX1#}AKRdEPBzn~pl&}C{Cwje9U6(S)3$t6Ul<4fwKM(DMGpo{6XuuGu zmpA*qLr78V#G?Gx;uH`gs4vaany9fq-zjt+sVa14Rhj7;bf!Q5Y*JN_s=`Dhqx12J zqsfYML}%7Ka}_~YHnh&G*yBt-_ERA{)(oqir^T6$DI!+V*Cg*uz-Z^D`uKjAqJd=7lL9ZYIWv;=sfd{ zq={z^IYozdHN#14_YNP**7@KaVgsce^lGT!)R@uPuU)D8n*P9Ky-6ou9j;8!Z?fFG$d4SM7K%<;J;=f-jTH=s z9je(dyJs=eC(W`Cq(2tS?50ITT+4bhsR5B6NTix5;AbNw-rmG6!RENt=IBihITPR0 zU5?;l`barRQ)VBNcmRA~e`=>^yECZ*D3f|VM&2^YA$ofY=>WEtLiDJ>8E1#?H8!d` zVbQutqDE*`(-#FO*Qg3nn4AYol#eJl)jc-q333JH2)?qbK@@0)ekv6@gN?X5cnijA zydRkB_-2qlsg>(kY$05nf}kfKvIRmXo38LP5m#8R?+M`s4=)t5`9c2ngd;f*IZw%X znpWw2ch&*rAdQKHeYw^E{0<_87Tw*C(^VwhD#)?ajkh|^X1|BxZHh-pAstQ_wV!+5 zsX!K{Le8woxp@_Z(VqBV7EKd9_tHej(>qmTXJbs^B?{w{-GAVIU{WVg;Y`TjcKUIN9*=$O0Ie;kl z-5r|6DW41~iN%QN&jz#;yklf!pf43!{kk+utDDK<%&OnxTBmF@wCHi2Q#M4NS2<;z zafXZ#=S0%fsbUZL6!k?N!xX!rHyRGWfv(1QiS6Z-UCbJM;?cfRo1#6WH=JnO^ff^dgW*-FYRU!5b&Pa4zb}<OshAn zm3T-OFx}nZUbZ{EY!{OXmVB0lF8oZ7Ms@L$4JMftx3Ajfb*ATJAtjyFG?U0_f4*1p zQd+o$%L%$=tfOu8vQ6!!X2R!RCV_cDhsqXr*w?I#9^yl^Ml$PS%#0e}nSPzrrG5z7FEy9( z?vC2Wn1(igmz?ny1Mfofm%lvRk~o!CbQNZjMC z9X-T?Am)ypjchUPz{sbl?suTM{~WDFGjD;C?xoEoZ3x%O4@{Bf=e`0&)N5q3R5aaJ z3W`b)=|*c`fhIEDx}R2C?(@bh;fL*tE$9J?1|svzFsZ~k5jneaz|Xw?F`O@k5m!9( z#N*nhmE#7Sb6x@FF~3tb>=SGu#OGTxsNc!1Ib%neE6HOH$xnzM_u+)soJY--5;Irk zX=R>~>8V1dl|g^t8*9rP;lKs6Y~;<_UOnBGV8du__Ju??ebPq0s5xb7$&sAzkrO+~ z?`-5p+OP86U-rFE=YQYRG3B0clC7A(cz0i8f;kDY8~jDrMlyP+2DSS`G}I})&|ssSJxqd7LsCki0*2^;x>Lht6jU?ZQ_$bx5%r}`6n zBBZY|t1E>fEwXL;MWjd94!E1iVP+F4U9cVpcFl|mQVLUZA2!e z^wPGtNV^{P8a8_?MYInLNBtaRgt1bX48u8tEqt)S#wtxOYk3iSNk_BB8X}7hmyMW71&qYULMTyRSVhjafn6#hl7=$AqwiM3$57 z8;l`m!Q1ThvZWJu$uxA41mp@MUd@F(<|p2CZ6+H&vLGxc;E20wjW)iTy9zM5FM4m5|9Yw_J(m! zB_Q~s%00LS8IW7 zbp*qy44hWVu$L=xZ>+M&OkQM;NY_ zk9fgnBz55RvSH#!x>>hx6%y<7#am>!g(%rOp2d#q z#kLj7V(=Kb4r^E_7NOuD1M!=XwXk8kF)i{%om+>aKPKK5ye2EG2>sX}pG-=o-$`ka zhw|270)zcX9itug9wJXAUJ^rdxu)LD-vO(We(9dCFouB77LJRd5g0;`yMZ(boO+Rp zomSx2m=1)9mAf}nWh6K*n7Wu+bg*R(k#lqDvF_Ans#X#e#7FdMzdcIluPT)74`!Oe zZ11VM6*sR7JxOiGowC+ag0+y`kyqiK_PiJMl~XoLm`}XxvD0WgM2gQ(_Y8dMJ7wZg zSA16_&Op2H^M8VqSO7llQb4-H5drd!0J$F^_ztNtr#u!j+X{2MPKCo6VySVK zGOA44x}5c$;xR@*^#3b}$XeNz`}e&2Kwd19*=-Xm`w7ggr+`;{wnwMAl4X__BYBvr>NJ5-=8OHvwdpAb!ihdS1@?!NWfy(2=26I1X)0wVe= zr#0C|H>=1eHV;(V>JCe+d!ECDyC0MPGrGB~%bemZy4J64Epro)-1;8w8~M;~JS~~~ z{!6SNS4cp->&E-oomxA{R&b7nWls6pt9^6$cp(2P=YdT&;^HspsE2qbFw(;x6*~{N z5>!h6tnZY6O$3KLT7%3Z6{6*vXHz=&N#TjPP-8wX<|Tf}5P65Lu~MuB_Fm{V3F&YS zcLb&NjW14P=UUJ1tE)u!@T-+CSZFkF-$dvsMJWu?Mcm=!} ztS#V*e=FeG|Mvp=)hS?YqrcXm$Nzf)rhjb>F8j9v*1YonpF|A2x0zw*Y-$4cer}^4 zG#jbhq@dN&jHW+3%VgYYXIr{O%+HA@)kNd>26;=QEoVn24q@Q2%94UnT+laZrhcYk zO)yG`f%67G}onPL{bb!=;27C8-a*QOUkNf*W}zFHfQPcgfZe& zvLq*vtj~$@gZ^ZdKe-_B3p!c`mrumAa`XMLuzR|RA2|A-MI0_i!cw5uHaQOYRDV0|^`BcZ|G^-Aks zZTQx;guf}_zYwnKrb`v8f)&J+%vr+)YVJIu(7&KvZZj_!&sb%`KTH4Fkz8&T`~rB{ zoLO#$^BRn`Sl-}bChFhRntkRP2?~MJ4h;gWe-Pxirrrd}x?qZg#0#zxOy*IXuk@Rw zJCGvHHN@C^)f?BbagfE0r15jJpC`jP<>zZjy2+v?pJ9PM+KBEJ>7?B)T?!Z{_1V2n zNst6#8I(Bez^uD@yY^`;W7wAevM{wqo9{mTCM$WFfG|atiBQjKS)3XL5Z;9fBDl(7 zJ|vy@bW{J0AZDF*nVWb%6&LABB_oNpY3}1+A14)_))OH*xU z8^s6=^8DoO_Ud9N@hzCmlN>5^)XY0pzTZUTTQZ;-Sp@+i&0P747tC!9ql|a$_LJ;0 z?9QWQdb$adY1drh`w*iks%Qm->orf)n9cL^k2QI){~%9daR8Gn8q8ZFdW#FwS+jM` zn8ftmy1$*izt_4=>XtTT1bWGmw8#)1!_p!Hc#KSo^yTJ0r|b(!guG$P3tJqmeMsLF zj^TWvg;Rc_w4>eq_VzJs?xw$-tTn8zi)}-}wxaGjH}NU`3?)Kx86=_~L+HQZT0SZHO7rGv!_`quZd4}u`ma2yp?7qCVzV2R z1Tq;#*#NH68f5YonGb(c2)<1~zUfsgZKIn71NW+R*=bt-4BNR& z=`nLo$b|cZ*H~Td-4Y=TWjUCg?pjNz);uX;h@{>nysD3vx&aZw^-S?Lm}1r4!|KDW z`13f!*@TLIU`z*m5}d*ZeKmP@36HMh=>)RK@8(Wk%ObyH0))4j(|E`LpKm7b5Ke$@ zBIzJ00i&wZaUx`7ReRx^z3_JluW4`wmyAWm6_g5}Li!)~f|$&{v9XHlV==E7EVpp3!^41_+3KoA%ypXjQ}{ozHgWJn|W8|%rf&S zh*9_-VC6RQD!1Znn6h+N!s>6YyjfsH%{3=P!@Z`vOa=)XWOH03_0$W-ZJPc(B5x4)r6gvN_I$w*?+7%6CoDS?zeB(G#@9|{?dGB zDj1TPdlUh62q-P4PA~>7qtY=PpfWYd6$FSa)H+#$z%2yMx=w0YMs&+8@el+)x!Ls$#3RXGm zSb?*evVd8BNH|PyzuCkKgLY*D2JOVt4ko7_sHbOu7QY5>7()ORz{TYdo9sJDHiS_3 zA%Vm65sbBR{y@DKFG%AdifjBp#gYJR!(FyLR+u?y4sB5@id35$iADGqc_Z3I4j8}{ zF$FMVG+fR#5=>XnWB!EuH9WB-uR8H--Hm(-I)$hZzR}SnBl5$qPHM}>N>*U`f&TF> z7rL!(5d*Ve3=dS%-~Iq6H6~%@lCmz6tzUH!s-iJhsNjWq$zg#B!WKDYMqu$V!8&<_ zvzQ0WZ<@s`SjuhnWC1l(N$ zPIMnh_bcgOvi6Js)5=U0@>aXzdtVFdofVbBV4&!4C~UGMV&6hep2oWlSYg-EuOiM! z0d1s!c){@m&pAexG>yKqGi{cQn0`1X&AqlQ({{D_^iM%%o%{45Y%r_ME%gL2XU|E| zhZN$stN16xfOx^;<$x;{aG$Sa*-&kYNz3B`$s(dJ24*SiM1oHzm==T(N!>;G7vJg; zY=vo&=_sDVc(SMdV{bF|RO( zGNcdIoC3aEP?3>`@vD2COxr@+5TRxyKQ+shR0iFhp}A_X)Itcj7_|3E2hoZ>;w^ck zNZr9Hqu4srxH$#j?9?8XHH1@^U0<+h8H`_L6``kd%eo?F&noWXo$aoBk5%Dqc&d`J z=hc9E>Io(&$&A8+_s%SH2OUdVwLaA1uuPdsJ9!nd%IeD^pYs|em_Ht@H*Ns69X#F_ z?#3B{()pRw4#|Be)ff6naoiXp5Y&}5T-mf-Cw^yhcNDFugg5E@W_r})o9M86nDcj)k!@b z!NyUnY4?3Y?5dn4crK=Kvx5T zzD6On$Yc`juc8|;VAq)HW27lYwCxm9y+aUJ1W~-;!m4To1g009{Hhxk4&J0@Mj2F) zm#iW#bTfmFmBC%iD7lCONC08ZmOGW(A z=55`|LsB{GHi;ipLIh2t$zAIC|lut)U(ON;d7yowv;Zcml>_B(Qi3~=q=#-suf`gsi zq+IN1=~L0ec?$}s{(h2EexN0cB6^4$TI=~rHy#ym-d!nvXwISh*9x7ot|w9z1jA0I z6L09q{Kf^6nMXD=n;-Ub55rV~(ZXz0T-{PCF5eYqv+x?pu=;oOnMoi^qR*-YuF8& z&-uRS3N9D;$>=sf3v)~C?J=8E4O-{&Xu z8|bhu7~L-h35Q_HV(0R})?CY8oV5NxNG6?H5_B;y|v6Rk9rXA1U<%%?m(H}Oy8 zFw>lImW+$l=1QJyqwiZyVt=$G+dN1@$vEB1IMw?e&lCJ!=%|mUc&J2DxxXh8gTM38 zY<~wFcJ+8vHU`Xify(`%g0-qghB8?Exx_CwBZ#|{Wry}Gjt-k2{-z+8*~h-K^=qd* zl4gTI@FdQZ2fJ?xBWfn;{iAy4n7vwx%A-ubo!D$hZop`%K^FxSvX4GIiep93<`l<* zGjfXa7lvDhqH9g^9BB)GvUFlxsIs^-pB&+9MCw3vjk!+0x0uho=RbMkX#bPu46Z4h zj(SnUzcS-_+Id^qDC>cgTY*-#_`QHpUrLI+;#8Tb@V zNYX4Kv(UAYTUubg8QoLrpV_{lcGWh^q%U@J17B-j3=j#SyW1x3u1PP1R1XTNrgj%n zEjP^wHhFxQ6L<@uo_YTQt!86B#git?i=Nl6JWGo>jv@$Ed);3bqnk@7nj!v*jjlpQ zCR(-%zm(XGg^I!_(x1@$_okSMWZ?a(KKkg@*GY@)lhf0|e0GQ)*g~+8KuTWj7tk#l zThLnpEs)Q5uNTN45{Xv1kBxj)BSobglE}v;GP+sL%gDjQMOg0277Ui=!FXTmNuoF{ z!uccJ=ivf)-F~`K%9Aw-a`)9+PET{24U+lTDLVi@<_dn~OjUPHmD+lyCL1Jxb=jU* z&_%L{mJ{gZZxCo>;w}0erKCGk)(>F#<|0}rX|BTM5EERvjr@Iy*wS@#@3)b~M3UwL z9`4uw@b+`I%gR=iVoB4E2;|qD4HR;^Lhk8aXftO?<~8QLkdUv{GjEbcu6j6~?@*L; z+j54My`h?&C(D7pl?ethakI5#I}jwdCjHQJbL82?ttTQFzr?$+!YSV&-`r1pIp72F zUi7b0&a4Ayxfy?v48wWmusj8pdQmHvFDQ=)YVFX%sc2b`Unb!q*6IRpStvG|fPGT7 zc;*U_lsYYZ!>d!i{r)8N{p#f@tm|qR)TLr?NHU#hAF7nL^zSCtHm&84v|4I zP!jdRP}#S5ix9~+lc!jE9(BEaCcW_ccn0>ZHv7H!%{?q1P1M#FL!o7NZAr5mW zB!$$4$W&v~wSvyyh!{siD0aEDxvt;;&bQFRDgOiEC}6EKWwp1BPa%v`zER$4Htc}* zIM9#+%mX}a5?LA_kt8fpFw;)v<2xnsHggM4bIlzRjPl+ebNtaJEXa*@u+`ha6uPn)s*!g{2XFMd{Fpq{UdaT%1m|G%}k#$}m*0>I?foNkHM*YEs zPI6%4!{B%VXyHFxob`3U!E`qPmz>p6G3govZxlPTM?3D*8NMyfFiUl4cmQoB!K zHb@g|ckBm=yg>@`x&?GJK9?Nq7=?v} z@jNMrE-F-W%6^fKU6*pmK-$-Jpqe?n2V%Dic(G0%3?6ovy{r*hE+gMO#%C~gNp>JU z0R>f(`tL6#X>^IXs!UpXwHe7b3cx98I^ncmB(oKIz;*MOZ71BL)PrrHaG)p|8KP5= z0X9r$L>5}zO#E))h#3#~D}SdQ{S8^)?+om#_C@FQj%LI{&bzCE9afoDcL^cYzIoad z>ESgyNK)%zTI*|xkXjEz{vxq(hanPVeSeyOyhk~n7V}Z_rHTof*aqdP+P5b`T_%&G znFYGE5B_(o0#0W?=8=f3r=XvDtJykPpr}Fj243rKf}3Ropf9}Zw}H|LAFi_I@t;>h zqmPL4qremMf|26D9P=E}zr;V;FLj9G#2ig(bgkPF&a9)SNKU?-fJG}YYLZ&Rge`W= z)+OR7$1jxdD<#AWP9!T_AU?Ob<#C_8lktfFGyQZVRdM;$EY;&`u6z)p)`1YEsM4>p zf;bW=zg|1CC|TG|@ry^*0C!9J+i`kz_>fZ`&;f_X+_t=!#*@I3?Fw*n z$|mt)4lvZwcPd2lnvP|>y_K-l;i~B?PC$QBcEMemo)wKhMu+>7KykAgzZHt173~~p zz|1W(Eo__lgk6g@3W2?Ri9voNWc$1LqopCn&L z4)yB^s$rpKgd~VE6~}I2m@Wl^a2zvpn$TWmaujPdF0z}qHOEQwN|@IY1Z{?9bx3bs z;=9hqkae;Q0+Y)uWqy;EmKF06l2{;iGHV|?F?*DO=*dp`OqgkiU1gP%P>?^u zw^&5{Mf4Itbc{@#17Ww65n^NDl=JDZFpeO=xBNWQV^!&7x{+Gam23+}NOmXhN6b!1rs=v{VK?xt^TDg3SWQ<*JQYNLqAhACxz2#mePS7&w8W`WL_D+4 zvqBV(7nJFD)BArJC={7dVJTAe85G$s1;FYcaeq&&x{CUTaADTc>u%;70=(&TktUb< zhLS}8;#Ko~!jG)x3_@yq<3BW?GPBfFzlI>FHRTb~#k)4zKU8pg7~JF(@|oa9Bs}s6GcyDR(Ez^qg%PJwPHXzU2L-`%`Jm9$wwfcj@&ACjciD{hEUw z=4^sloZs{mnQ)hY;B8KM2IN&P{D#olZC5i}KShr7WDf1rNqhh z0u@eIBZxcYEeJ}@Y9>oRR8=SQv{_YCyX$lU(yl5@{8If?yB=*5q2Crs40TzJq$*-* z6nL5lrO|7kTf2QqcyM0|J;|N&t{P@&D~p*p zWUx@DCDSlfn=+8QRVv+|CUE?Eki=opc^!M_@kZ>OPx;VZXZ1l2>gg^T+w_OM+Lcb4 z-xfIe?)s0j#gj?qgOa2fNz6tn$-)l>-F)|$scMXMqd?pwhH)K%=*QN<+-RXiEwm-` zEVPG!rqKf|DuZlv=^VS5xlNL-zBL@iP4o%z-O;$`ar60eA8wg`*iV)+z8mCaaL1uwZ#={l?^@)jFQXV&`~0{A7{R>bEs78^{0g4baU%bF-Wy- zCb;4U{!u&Q&ld%1#w#+PFfp>s8N+)JXH(QwcNX53@8~L%0eH`%J;O6G)ASc=xQeb) z#drA>4^H@Z&^D|eiJ9#THD^|^ZIfQH5s&7q+!$S5)MksX;mSVI5f3&u2LvHDQKHME zKft7(&GD^ti=&mrZFb@AH@zt8#~9$Pmte*hl2CSPxV)Oh@JlkeVeiM4)r}!17C?(4 z$0p8lhrbR5yu0ngzbD!WgYoCjpLn!C=EKMNLf-w(01Ru2S^Q>R_6TH1rpb{QSd;rB z1|$m)9}uJ4qo06HT_{#p#qa2b>~pUvpMIPN(K{X|x|c+sMzpZ$8PXZz1*;_D42fv! zMSLbXYEHLt`ez%-6E1D>!0Q65>Hh87P?yjHWg5EVeQl`c-h=S4jzYGZZ%l(RH5Y-# zy!ocI#}4x_PqXr4X{?SPTL6XHh0)`*1cF&6aZJ#|L}!>&#BTbvYJ(zrosl7|cSNNS zZvqDDT3YN1P%n-U9S=$ku^_oNJW*^bOW0jw51vK;2*QDbxk<3?wKDk+bKjaG+Zl9u z$$*p>wB?NyNY_SM*I65Ah~P3(Q+esdf~B;mZApeY?8S!D7acJ-$9(V>cv(q5OX^X_ zRWx)feV6$xf7zsdkfwQCTu{r76ZQyexLmMDb};>r`RCgrh*o9zs`~x`)nE>XLLI&i zR354q%Kvf7CUg7;BIf-e)$^NA0B54)u%EBdUs?K;A$>h3^1pJrgUY>#Y0K1_XJ}!`tp0X|VF^)7YO6~Om z5XD>rtt9S(qm?x(gv;PGS)T}2Y8R!#7P@jfov=T#l{`u#IXN~2j-hUV;+Yp-JBU2p z+-C3s)J5epNykh#Tax429!EGL$uZH9Bc<3wMcyqK9|!}-+dLH*tN7Hip^=hV^X(8W zbs?Wz+~A9THyAGu3&(JG0(+rnFdn%!M-FR5W=VQ9*l6PZRHL0lnOZ<5Juf{Dt&EVD^kGhQ&#CT&PkQEOjkljfw7 znoorI@mBdZS+n;^Ce01M)S4|qJFu)>Pk#lJ|>7=Kz8ru z;TdZ~VbCdFhFUXFAKeJH$hZ2V2XIy7`xF5iqozdUiolq}_TI6K8NRs^R~4rSm$KSB#FfjBFECTy)u7j4G@89`2ZCzT!0$U1!o~YqihVqD|TgtOa4Ibzd&M zGmA;4pg-fhDOM7`eY=1;x>xj~3%7C+RC;79`#Y!~Ikh3j*g~;Eej|?2sm|q8XFk=r zN2@cSQy@N>>TE2;g9OHbJ+3faB!kdEJnxGaHC%%Y@Ms{i9^M+*w_BhzAk#jq5kmDx zw9V}o@9|t9dLVC+?=!7$z6qb@Ln%Hdh2m~d^hGav|3}#+ig1IkL8nuhp7=fxo9s`N z`p1}`CH;})%1Dt5YHe3)y*S57gOhax74sPH{@Cq)Bb#e5z>9OM=jDcTU^CRKkALc~ zQZ2?tk0;EPq+ogGPwWcDhxr5PYs`u-q=$@^9wNk*#oevI3vwY;VqKuLJ!;in^uyHd z7fI|+ZHPpW)^ADy5R%(8?&JkG+J5utm(t5x-R9bnI6^vgclQyPkIahgG`8S8g6C|a z54!tavD0M}A|yeEJYl0{m$D@ARaekVeR&JU{b)@~p!oViE;d_?=0Au=bU?hv3~i|I z=(RKwR%;<_&QRVSL=KcAu)fcSLZ#yPok`zkop=l7f9c%+Pg3`Z1xs_H2TH3>4y@dO zLZ>)-peXv2ugxx8zBTkY0~UAKflG}HU-}{}dsc4G-%;$$S>!xh3C}Ewa*^1hm7)Bd zJ}0!OY*A!>fJrAYGZ-)Q2kRp=Rn4aooC=yKT0=Y$HK5b^wf}@i1*i$hQ{$&n)U&YL z9&Pg~{Pid2hT=UwF&$F^9B~`utxQh4y_jr)FsI8{ffzlqvMyw8$ zlZ5@n#{12D#CPdg;d6rVv7In5(q0vGigt;ovsebbs!1^D|KZWTD&OHw zUNuh9YOvpOINZZlqvPnRUWcz@>+Aqq!UeDluyu5Y>eK)`hXJ+#*^B|Uq;`M>qKC}} z#uk(2-k~WD^3jWM!RCw@Fb$UkK2MF7VE!*Syns|iv5D_C55^jZyLz=Csw|2ohj;iXtU;AF?D(#2bnbxH`6Q|=#{JPe))PI^{{MsXh&utLCy^1=~ z8*jC9l`^;tp*`a;MSdlGEq{ajldt=~k)ENLBE1YnkM<13zYyOJ#aE>38*wajWM38{ z(1|@FeUYm6w3BP1 z$l#RSE@?#|yjT2diO36pD=mQMhS04-aw_)n=V=X@k&chHJ zJ_%n+YhgsNB3vpSvXl=wWkr%)YEmw@b;QQy>{}ZgwZP;NTpV5PtK8DMxNJrE*uW>$ zQ~sug#IoraqEi?(PzW+j%L_L(UIe+?K`uFxyX88qsm3X+iS9zBTv_PbOBlH!{ey8efHni~Eb}yR<)q&%;2K>MY_$ z?9v125iYDmf-c4&-@6b?yjp#Ij}TNBKB_ADoNrM4W-ur=OrbdaIk@Zqi7#KI zJ>-s~#CR9+CXdytNgto>uiOmIhhkWs`WvoGYyn*?ANC}oK)h2R{!>)G=L1dq$a{jf zD!G>n&%kq6jc*3g2d*d3e9Vvg^K~3Myhm7=u3Mb4uOugJ<kChDl)~B{w&|4Fc6Sk)O1EV$ae( zKM><)rZD&_d?BRGs-9-)+!4hDbgmXUA5M>40G+*M_w!_{OWg-;0XInj52Ok>g8~vu zl)7UjzPwtkXzyr%PO5Y%GX?`@d;0ihq3FV*Sn#8q06inru#!tyN3COt{Zry0a6VB$ zK1}yfoPT%*oTm%07>2d%oL!A=czOg8ha)}bvGfbFp4Me5V@hgWqo*9qM^S79eJ;9K z&q_7KjCzGtLoeqvkBk`17>|`_>7iuUu}xskB_G}P1@ALg;^Ubw{W6qC*Joar$+esN z-lV5bWe#wE{yXQh(Fn`cJXsMZVE5+4 zBtQbxHn4>~2gj#(WKW~K4YP2&pl}joHd*6@aQnidpqXff*+j-=J_K{@W`kN%+6O>b%i^&Flk9B=wsAdR!Av05lwEZ-Wf zgYJ61-H*$Kr2CWMOmilccYk^?guaROGHep-hYa@7|E@q=wtkUts|^! z-S^;m!mGzhE61BYvW9LVm($0)9(YwIEz#h8{IYfB93+i*rt-VnIp;g&S=))aNZy)L z@dE7>4e`{~SQ43u%N)GLn?{7EEHBMw!sOsD?oZJ}xOpeQ&!S(MsY^%`FU~Q)ER|LL zZ|3C{irRtIHK<))gW5@;28C9CCw<a78c&cR%O6AJdc6kTjn8xxGk)N^hGe&+!^P_s8 z#DT;;(>5XyRY}XL}INa>) zB=;p@^R+9*6B3(E_fn`7%c@aBWryqSLG3h_4qp|F_37kGuK(Yn*%&7WV}Rsnipe3m zy&G0rYG2JWAbv51^CCi}>&lpqRs=d=P*j0Pz1|esv_3ILEbp93_ueg%?n}QtY7^+N zmE^2SHkf9l@QhK%w?zm%rl?!<^TNkSPy%OHSd~WqFk643T=f3G$y3T-!;AE#wQHnz z>CO-1ZzuoJjEGg;U?qjUe6z2-Yv|s)gh1o6;AFI`;Y)yQ;OVv=CCXjNIzqE5OjDxo zT(yZAIzB7ZH9=s6<*xfeZB=PQ?DiBV zS)4vlCRK_TygL!4-9+96!!bMqH4PhxW;^BA0@TxP*xFnorJ$_;VW{x(@vjLl@9FM; z(hfuE8pxf?ZR|P3ip06vi*04|eqdvJczM6@VsS1&-pogBY&GLc?ERnfV*f7qmRDaG zIg!$Dv1zV<*_M8%O_R9BKkcyG1c~cBcF^tV*+R+CqR?g#ej?kf0WU)rf3iWMp4{%% zx6^{Y-JtzAj2J7zCnyzEBnU)NqRM%FHC>hq3@*jZjE9F=rBwJ;!S-}_KcQ4eT=`$| z_{3&d?%`4CW$09kM|*JK0?hvv2Pieh0{i9_OQ|rx=pOe;PmdQ2u#rCyDGfA~NZdNb zo1SaKgEJ*OpZjw`d2!NIOp|79k>lal#nP#b1=&Y>?lmK^0a%s`KT}^*tA3Ut;rW_6 z-gfERX(Ll25hPh<&f?9i7Ie_m%1%~&X@9$eXg28>u_Nb6={1DQI>KDMR`RbK?&FZt zwz+NSy~2RIm95nu;fvg?LGD8H-B_&mhasz&$5+CkydROR{Z3$> z>_IgAG17t#bF;ve8-KY<@Tfra5PcutQuW7WbNgjp(ii>4pT5@J@{92GHINe?9`1>x zf-W*Q+!zg{Kl)SA^!0n*;0*EcEYt(>NG?ZTxYlxhF#5xunHay;zbqRWhD36vF}iNg z8~UxpouAl5H@W5ugrVYJ*@Bb>>(6!86=nl@ z-1{zrC9}kcc9U+HzRmZU5Q#IITg+*MhsDC;C43fUGfF2tmCemI+D9)4dD#aqj&UF*DnY_)Ta385_MQyq&st z5Njq8;_euM4b>WRi^N8^n?HCm#>Y~o`<+B_x=P*`+IK&F-~EF3VEV>SwW%HdPi8)$ zTEX{aXryn_`q7+Q%<}|@(Zw#FG6DQc62!Z%cu{t8cz4GFOA;*O15!?So^{2OM>7&i z(cx3LAWwL`&mr-z>klMTr&en=(e(TnW1mD9Nan3g$=rv`Qrwf08*Ak|+c!&d-*}XT zk8!u(E1S&-sr0J zv$%~eaF5r?s6uwl+Dj{rR0Cl>@q@brV;LIRZkZ7}~O*k?Z~>A@qTfXh1%rSo1bN z?kA5x!!?QDWlv4lh4HSPxi}u?^^avk!BQ-40yzOhVc}pOJ%u;4&u|7zrEVdfN@YrF zwlYIdvsV>5Sw|&F-N?h`*U=GTV>hb`+nO6q`hba z|5B|`(SB=*_4+^LVkh%Gks%iLc@@FvF{VnBwu(qnoN!YAQvoNH?(RPEq+K4oM4Ca& zawQgCJrYRTyb77?ZX;1%#U=B_VrJR_5fq%VjB**_diG_h`{L2fIF4VDS5YjRymu0n zx}G=aUEHfkxR+icJ~Rq$E8#Zk{7LNXo=;L4*X`{k(VnoSrba?mRk@A9?L0IN9W;V$sx|qaN-turf)|-fY*pw@cR&ugQx1pruK3id3hw zs1}XIy_qLzQJ(m!OGP7*73OyE{<)aRvcHbWpE-?qc9*{YcBu5BIrJgfT{`zc8FxF} z!$-*lhGr6pg!8fW%>D39#o<2K5x>^PUq*Z&x=VEvrj1f6ELIFC(qzM?&{WXoY}tg{ zrlYIAI^2lgh*SP6DaEqD{G?ezTn>8)lGSBdX7}B6v-DxrN#E3iqqvNVxstc5ow6Cs zth}|0^!6>tXxolUb`-!~(mM|vXCudkZ&2#4b>AJV?)vg7{H2SMyWf$!m-l^-Z;i8( zW)(RSKY~*+DD4MwBRV2)5vNQ{9ohGbq!ms*EO#JLxO4wPh78}gIb{V})?@a2Y~&F< z)0ZAT+qp+JKYh_%+&`0Dx*#hWp|hsb`7UTLPW2bVoK-O<OBL9IXP21ubH3e1cR)Qt9Kb~Y z6oki(`FCXXNOUw&JiVxG(rnf~UrU0-y^N+oTqjj}@a%CtxPzODmd?wKvl8=C2s!u6rn*H~)YmVrLqP^q)2dAj zs3R-dPe307=pr!kfs%92M$N8x`9Q1)%xnW(zvMqPKo$_{bcDJMuvHmtEy|`dEln@K zj9z|72i_qD-YA(fycEE--4>l`t@hu$6GCq)_6~i}qBpb#FLTZ*Gnbd2>ywm?$ zuUoG@0xNC6+MZ$8#&r-A7piLU;+2|sMU3=+kgixm7tzlaM^^>wMxjYC5J6asj>MR@)zMSmA47vjiKKK8u8Z7DSK7Y&gDna zdiu&XBE!MOxKdoyayWi5S5Ir1Hf7}017mT4Nz~Ysb4|10}j-#UlOgmpT|86gY^FF;$Id5342)nyqAj-gThfwI$1Cem%)C1!qGemrl zzI(hhfrt{N3!0l9Q(Mvm3)0Q+`hpEwR^oS&G;)IR>p}Det|)(e>Vd1nl~WJ2i=3uO zKPRaehCxoiwX{UF0FO1#5otO}vtTd=uq{FatXKlhoJq2E{R75V4`qbg1jbZ1lBi%j ze8IBBhR~R``Z+KjZoJIACqNeQBL^`9@yqE^@N>EE&0_~=AHfcal}BD)@o&AU?P!`) zny4->ODuD@URa%!IelW4lI?Gg)t%F4{38>REKFW9-~Di^sz{x(ds)3e&>bRd$D0=0 zYy+N@Z29hhs8V}{Nd9+uIm#bZxm-Q9NjkR!iOf_2?d>njnyN?Us#>h^P#YgehUXzd zNQ;iE3g+)|?(0Ni(?o!FOraqhLWO-Rb;%;HMu%huX^CR0SNANGs%IGI?s%@;HQgjl zyr99O2u)vzKl-D~Rp>sB@VW=W*0QK|XHC)CNAQ5&ooW3ZY%SfZrV}QnQWgW3Ch>#? z$g_-Gbt2{7kCgC6>_3U+EC`Sa1X9kCkmT@M>YyEoflt0Zp z!MG2WkfIfQoH7ohpjBN}BtwhH-$KpMKZ1%XPNg&qywMwp%4?jz(ox&sUUgIQcZ9 zy17Fo>LsG6_~*rSbpfDMqhn~(u|^NzkB-kWw@QZ6Voot#t64klw@?@97}Wcy4wnPC zpO)EiHL;>i7umc|k(JHSLmZ0B7)9;xl;>+zb%T+kfoz6kYtE+6Tev>2BCiY3y)?Y~ zxMV=+#>j8dNpPZxd1EfsnDCI4U?yD-bn#5b?aAi(Q(D*$_TL(y%5IWVQXE3BkFknii|Kn4{&&x-&_j}T!@McDxP_oj86QlM7B_G4VD&X&81$2) zUC-FyQaXX#$3p&Lo`t-b;Rxgn{|WLQ2DJP8eG0j+^rdb7?l)ymV%ICYogFzijNPWR zYe?kpr@}1H*$a9Y@9HOT{Fn=)yR_xv(Rk*vp&lwpi`x3s_YRBNV}jb7L9KKT54GU` zfLe~A*59IbX)S7htAiTMwg$0u53xs&KPubD;3uH}##tcObeh5KZ`mL8f6s z7jgm#@i6feog);j!ncDHjq)ByUuShOA;*8vj3Y!>Bw}Q}AO6T1tt<`%bYE9i3f1Xq zW4RFyvR|e9i3H@)qH6vy1qR^W8dI9T03>vZq3)xzC-v+f3;)gy5W#>eWC5O}P~~vsCnR((WS#74C`UL2xh?9N;??-7mU;Tp>{>>S;cpgOj!+aqcPo ztGUoZwqo!BzmqUG0x$D9h31At<9mc$|AgC_Do;av2w>G5*hL>(AdlF_!`l z`M@K;x9Z&LycM5{t(Pd`=saDv!u6raM|gQ?pL=hk_$}XK zxb|nH!E}G_f_ij1`WsBIiDD4WbSL$rw^+_si)#A^6xG}#P?cph_F|03U|WZ^ij(WE z-=3K!8Wi^6*>>s;+F|1JcTPlC*tECe-M<#^PSC;kiD*Sje^2*!sB-222w$E4HiyMS z8QW6_sewOz0sPm!AtAHZh_;Zc^GPXWmjx8r+~MBN+x{J! zdE!iTom-;VgcX}EDcXGKPtgXBclsPgNWAMO|A00yx;1VeSf6=QdvL)UJ#A&3vd0Ku zCCXlh+f{7dIDvDIq!D45)xQ|`rSFvi;Wl7uGo!Z12$+zYSM4_Nk`E&}3d;*M7cLa# z_|cXs3#tc!!T4>tVwvL^YebEh!byqy+}_w-$`HuKgC5o!FVQbJG*13EB)=MaglBq6 zHgvLBvbj?SP)8YWqIt-b(VI?qwc-m%Jd3-RktA6EYDvORqNT=RY26@@zLgB2^xxg{ zNfIdCmL3*9hZ*+2p|_8t$?i-s&xH-MzZm(CDz(qMwl4awm^KPuc~i47&w%dpW$4TR5Gg2GTp+ zz05LlAca<77g*xccZlhD;wv=D{sM6~dmFXyqLVlbO<30QuPlvDm8rfw=~JsI7%&Wf zKbR*&9S-1;v^%DH96JxDbN?oVn7tyuA**TMy59q_UIH=5L;!{zv9eXh)b-hWMM!Y{ zTZEnBaPtnG$TRL_T70CKz7ucJ?sFX(b7Y*dHTbtlx<2?-5++R!32EThKhrdq0Zf$0 zjWi8PqOhjP@{xgTSA3tDFM+1=5fi!N=wd&ERV?a7kS2g z;x>`|Z{YY42A!RSWpRPs4!81vlq7_>QgeCdiwe!VTJ}Eod9K(oo%pb(R1mSXd067a zL-k1$SmQ-En&vzMxV*{b=?*9oE<@~LA(imwyhXuy^J7tVHBIw%%V-q7HkkiYcre

    6>Ien@2dAroUnMHz#&BCHlQaNnu^bVT5iG7QDO#6! z?^v;)*RKZx(Z3q_{{pmu`iqj_w@3l~{+`HTRm%g&vVf83KC-T|SnR_dy12C-?<1p_ z2tj2n32;(h7!{( zk*L^!MPVrk`U{ot2s=_la-ily1}Nqq5YDd_izJqP=pq^5wG2=!jF{Mqb%5wv#T91*`E*No}{FliC82FoWq09sS`rq3^B8YWUK1La%+bZ zUZ&}4KmC?=yu-gGN=Rj&+|XjhY6n^sg=Z zm?8vDA~-xO8V$wH18)jx56`#kpWu%6=!+<%ko9z}V#H6IE4BDL>4sMl58h+N0n1EU>b ztbY@vAQU)uxlV*mvfc~|y-sP|wBtGCjSpDR@-ymoYHuty2>r5(qa1KB!AKB5xi@Pp#v|QSQf|jh6l0d=q;RlG5Z={aumXndg8hY zJh2OQd@So@wG+m`O^#d>b=h!{sZ^m*70tOEVj4Z4g1n^aa0SaL$enDVdhvB8YDKjh zm#Qo^y8xn*c!&|X&lb*)!r;_CF^O{Y1AbKL*y;X&v3S7p)mK|Dqnv)U03_RlATXjg zwfxE_sIPew;=D1edEUODWij*E*!Vyb-5trc0Nv$5X3W;j7?q4IwCYREq_7!r@!Vwj zxL!KrZB61jMVy`}n17${f%y~*(V6i#1E#W#A+j_nmZ!s*0tC)zFJFgo25p9HCs60~ z*7NxEQYy$JfyjAY%^Wil28h#o8Jx2o@BS zNK=r=9QPN#1?)NaA83>=<58t2!$0-C6KqtMft5lbxL=lgV4)7?i+jB-{Lxp?O^&C1 zMJofca>QirR}05{_l!VdvV5<_F{fjOeN#J&{89Hqrt{=d+0lWYX}nenG5?QU*UUsu zlr&+Yvb!r2joz&z_SJ3{$t1x<1Ku`C1WZ#f-}y_T;CrT^VWt#R8urzS)=U{|NuuCP zQ_wJ03M$oOh9wNPU82yfrjTK<6w)=~t9^~u^qc{+-3$4!0-R0e^{TJ-T&aURiJ4p3 zFCCEPh``A|a|qc``5C9`cnkk~B7Fr%e%cU9-yA4$sz&{eGj30&(E8GRX{5f?$c{AM zBgu~MBeEb+D?y;#_nCOq@hAQ7fugkdL;m-KamQmk+KNv@8z=^J8R=-V=F2HjbqGjt zJS`amMZpyoeuyOjGqg%3-*hV5ljB~a^QAO=iilP$Zte{s5M;~CW($A7DjsLr&ddhG zB(kKG`awcFI*M}e*J&%ERbDrVJn=4H-H+sBn|zd0ylHzM`(^L1IoM;;pHXY) z`Fqkv)vcn-$aCVoJ^C0A(*1hjE1O+md>~pRxH&3p>>2+g4@n(g5W!aro4CEGwRDp3 z)+8E38xOM>c`J;kz(IIX&;f6PI@#3^b9;%I6y<9AbP&%oSF`-(Vs8frH7rT<;!B(K zHN2k}5eET8b`oU%ZAS48*9QVt@f2nFA8AyOHYU#fUSL%Q%Pd-k>&R;{K>~L;7P2Vw1tB~@Zdlq*f zKT_z~qYrUxSFU%3VndHfQ(x7)@Yn1?SORPtqHwD0u}g23CYB;~H1aimq3raEWid|X zs-bsyj2Jp|3@X)I3_0T26NzJeIZ8J11*7?>NsqZg3L$ zjn?%@P}xfE?KzbFAPx&+*{?-JKvX4R5|OMu*R%HTK|KjmA^@N&;nr-B*D>)3KH4}*+$8&o0Cs9EksQU zQk$~UfRvZAR59hXaM6;W7}Ra7oDmwivLTqhT0pWqHO06;b8`IKA~9$8iJL4t7w0)Xk#~Q)|P3t^fgw| zZ&J~!t0yy2%Szvvs8qCH>rtMv(vuXX4rQeZy-3+Qup?k4I!S8(|Dk+y`_j0;17vg& z>(;|6qQ`n#o^rA zzIU$6nufR3Xm8k$d!Mkkx@B2b{T#l*|M>4KuTSyU1f3S@YbMM7K804rjZx!`>W(O) zcgnE0Ptuk=-qX6}bNz#~rLp_$Iq<*|M7>i4G_*4v0Joijt46_v^W0;|@%UQ}FC8K~ zq-3OVLMIDvPVX(-JNVldo|vC+)iw4G>~$;~3T|j=b#B0#c&c0le-hRDQxVM5Fy@wR!)rEC7&<;$YR<5(%)%K`H$)EzGy<(Z3s1H zMQ_imJRM#fJ{c`1!bM~FI6^e#-Q5-~1SX{D=chEtX)T=bvp6|Rxi1@mba65y65-Iom(#+KAD>{$eK%p2v!9Xh_*|4|*^ zR-Qa^_vVZIU7Cuu`QmBuTd_OvUV>X%vlHCXdN0BBthy~+RH3L2nx zvujyC z#JYL#Jyte_WW~=BzCu~UCqLD)vf^c3u9d>n5qL_LRnFiQMuHE*d$`tYZ0VaC6VM3P zG!GZL6&*hgrf+EcK4rcG_HX3`V&N)ZZ0@bxeF?rMqckin*0DnZWE*dS@It`mnx}04cv^G~P*$q^uDtTx)k)=rb4!)O%X@?PUHj~IQa;w2I)FddL%Z}3 zgmZ;02my$+I#6vOGzl3z2g2>;vB&PR$%_aH*-nOf+4y-5@y>*7K5owfWguS$ zT2(=|>{obYW=2}IE3nvvn@J|t@i;+CD3&FAQxXw0Az!KM|3Wm1eCQ_D5t|S8(m9iV zW(MXm1M}Gaym<~lSq%J7XzDW$8+ov3c_4kIsUdp~6TK2V1auBo1k%~Mn=nOLL6(#k z(SS}&c`Xd?(*JjPg{V&2mc|FcTpDT-?cQDzm_E3VjovcM$vj zkb-nDUQ#*@8i&r^wj8qze@loCcVR>N$Q)kIB02=pfA%9g2>+Ay;d|%G42c_@5r0G4 z*QwJo6d5LXddy4~V#dPJG8kX@K5&E9d|dtfD=EL`bz z%;gBRgrnpa@a>W9aW}^OyM0$Ll%0I)XMmd0v^;4sO|vqk=}jGjCoQsa7smXHyrwTm zY5GWMq1?A)-R_|8jIX6_zwhdK+W01pk137IL)ZV&_$yxHN2W9$6S!%7n>7BT*Z2Z$ zyyo!6<<$5;8lUAgE_aK~NEz=n-YAXl^BS+$#!pK$-coAL30M4a!&AaclGnCemo>L7 zX3`*hr68O&DhQuz5Y8!3aN@g9F2J>QUOV%37Kd{CNye~u`Rv{cPVE!Gv%5XFDOPi* zy}14V^1TZvPkDeWs%Kz zDbtu*X1|mn1|#hdl2EXx)>4qn65qZ5KwZVR>=nNNdi}x`-S#*7-#h!$EMDmJ-RV9_ zX?K(s5&p^;vm55L6|rtIbB0XTV6RA$sP_`^s3AaXdy%Aro#zH`St-IXK6itizrtq_ z=atr!eWhG2;;v7M+eZc~u-G4f z%t$;f8hMvg|7;`Q2lno_9;Jw7Uz`));K9e^qWeEU54afj0*faNlEY-V@8h}tlAYmh z{>l699(QE_igx!0)0Z@E(fuQ`xUxMuMA1KpudXyeu34TYw?vZi;jEtzlV_#D_&d$^ z3Ycrhzeu)U;3iKT#XAqYsTXphY^iq^zK5Q@uAvpd=~*v1N&X1XZEj26KTyW0ERuvISc&#-rpi09H!RT1-xb`}AZRf*X^%>6y~aM6a7mo4XN%X@Rx!Wa+H3yXokjL`U(5lID-QDioy~ zM4#q7{cl0ygyrs9xr&J1jn;63Gy8Re1vC!z&h~fkX_H$o5Utv+>8knqS5tWzyyHa7 z$ahP!1ZML^CdiUp$#3*d^oNheOSjo<#_w& z?B^Wc64DaA9w#fJKeA(>n7o`fwNBkTxU^G^pB@JBEJcH8S%+h-#KTr>o8%UA@^I^W zZjn@T%wMB7Puwcim-YZlcpJXCw7wK>AnN=f=Fd>`=W6*=W{(e+*<&wJEi>oZb~WS6 z&^?GLOU-!E|B14Ga)tGnv+e6#)zSCq;5_?=aRJk((0PQfcqHurcj<$PR6BvQW+INo zYIEhQ+}owe7xjuDSCwBo57r7!$4^90o-a85Sev{Wo1=gL>6mzqchOUdd$npu0EYC zh+(7C&C9AL%m0xX$kJfXP?~T0Ad(2s3`wv8FaWjtSV~F>=9HoztGPRm3x-N`*5bJ3 z1G%DerlH#qBn{?5U-EsC%gICYOu(K&r3gm8NI40RvKaD>o_BJZ^H4jvDEHNV10*#g zt#s`$9)sW0wlkG|U2>lxS3K0H;h5b2%OeSJJXOBReV&Z$DzET{*M*9(CaWGPd5Yl+ zy}Y?zUPkpm$x{@c?B)H_%gd}TmORCA3oq|J^86oVNp}@X13h_fFntY4N&FNd?|{v& zc#?s@XL1#n1}@c|nmOOec-}>p(b0Ojk1!b?zc+RR7vuCw3LHh_f&UEv6q!ueKA>z z>&LyUKYLkOvIGr1Px7+z$nt*-@T|TKp`O=3wBG`@oNNUj7PHli58&+U)ytufcskMn z$$l7+HCjDU1|y`?$t&0Js*n!jsUA+2jwQ>>TJL3LRF{*bV{tulpX+61R-ZwZj^%SN z>qWBs9}3-sD!wrQ|CJ=I&)kA2UA{RFXXBRUv@L#Wiv9tTp08sq_NtvoHL*LYSPwhr&2`C@v_=_S((bI6j3jDSq-n42D6k?DHFTT z%UVyCpYZIm_CB+eQ@u`-zI|!s*VP>YpojNXUfLQn7dnu=4TkO)lP3Lt1uhjY8@!A@G$0utdl|BS zv~lKmxev%7;f9j~R+f}{R7+)FzcvBB>>@0y+$8YbX7CqxH{d`0vgzbXsa|tIfa+=Z z`=b(%8FH}ECB8$Uu*!%u6pD`I`Pv>K{m4#!mqkN_HY?9Zr4{XdBy}Yu2FRJX$Bb=kJ(;|0Gez5AuYA6m2WwCBrtW;@5B% zf+aS7dwnxbW)FZI@t#2!&wI^X^=~CdUgrs&&G1r(GE|8IFxfH~8$r8fe+on|M|xNp zZf8aB(1wP2RnDVIAbKw6d3Mq1t2R!tw0nU$@e$?1YLp_i5#g3u0d#6Cp_J!Hc=S;SIjsL8l+w}7X z=IODobe?3-0`t@PrMspeVc^dOr((1vuuP&2`8$rkNVzMPb;7^kD_D2f+1;q;ZiLa1 zUMJ~qne+ll&mo<+XJ079{XB@jdx`af9d@W{V$R23=pnY$J90$G=3p{Csym*dj ze;4pc`{z+z4Apy6to+}tE@2cx6S z{#ql9O}C>e*^ZnC2=yi?TnH;Md(jQD7s=6UyqEQ|mz7b?d&)}Atc}h!Ue+uxE3>+b z>_w7wk(X6TmWnXJiZ4SwFJtfQM@nMILn z>#iO7yp1r8%dwSdbcS~@+~!2)EEFA`ue|MPyjN2lQFB1IqLt-%U)Rg;{IXVu8%JsCO=P`|2Wp&VL z#x~Av&qSuby? z4zgE4hKwIsT)D#)znAse!|X>8|v`Hy+|nZ6lAynG$spS=7Dc;!5zfB>CSPkFQod zW;oY+YiRomhQ=AGuXYd9Cy4WVne}A4n{`g17d?ls;uj>Qb9RI$>E=NmhS0?qG`Tu! zKe5fpjPCxY<}x@rypXH&mXLS9Fu4qE0=ctgpY(qqpX^GjwU_6;cK%ICo;(CAR)u;V z828bfKv1o8qlXTOg^^&6>%8piylf!+m8ncH$Pc~j zQZE}2SDS1_{*zwzNo3C!d0p3+95D9CX7Msbl>`2|-Jqe54Aeu-W-sl}yjq7HnN!A- zx+-)8dSDgtl(|UAyImDgB0$4140lh+yY0QKjB31#8ty*ElSTK*^n#YmYCl;D_z*8^ zqnDLceHvMX(pQO>HJ_}HM1BrdEC|U~IQ=nFLeUZVIJ*(Api5aZ{NtY3)VZOp#kCB5#ALOVtbx z(Ej7)3^X|z)u)O6Nq~OP%jr&zpA`Xbsrc3ES?rshOA0`Dz|U1=t5w0X0@)8ffHR~?AG6{Hu1c*kfQO#f^$6Jmdw6?ExI6N4 z{PfiOQc&`x4(eM^di?kENn+JyX;m8nG2-jRCSiSXT@UA@mkqIYcoyopjg(LZNP=Ul>B03u;J!9y7wd>giOqRCaZbeWgi%H*=>(@d@s(|KO*w&%1iYkmuBf|hmZ9OvaOGr3v5 z8S_nUp%BS_Pb7VV+~(DT!tctbnbOB8sSIJOw+tSZMm%n~+)L{W0^PBc3<@C@ZN)}L z@b*nOGY};(;~L-0GZ?=+Ako&NUcGKIt1KxF@pyI&uT!j!^x!#(OpuBuH?l5Rv0iYA z^Mf^$RtxJ9hn%9c+0VM=v>cGra%?+4+_ND>1-RJjq|ZMTVAd_D|CAy!=wrOhj%2#; zNTRTetO8%`b;B0sD=a%)vw)TxScEN%Mx{5Po4ESrM2O51yGdr;!hTtwEQ%q%L?uD) z2vi&lXYp7+P2AMacob&Kb?ZSE;kX_cw2IFAX@8!aM|{(+qWzbS#-T5TboHXn7BD*z z>s;8<#pJ8wTk%_##{%p@b+Mm)s?;0=o~5FaU~Mzw+VY*LJl{hAE7P2ouUAk;s}+32 zuenCv+}Xw~=AIN_i6C!sw*KxZ#ozDc&2xS*?Ke;wicm8B&zq)&nalz+D+hAU-?A7E z$pp3)4mRU0SQZkPxJqess=OoNX>=o}H#r!O#=qE2;2D7kA4}bEuhdm>%=2^`bDtnr zBjA{Jw}mQ}3XU)1h3yi=5E{nWz|v$K_X0zT<1T2}<9o%+x!B}nR9~0a0siLYoN010tINsJ z1v}o$Iojl)AXNTl-cPVl<|*bb^-BH346;z5;9$?ps!ci-iPOYnwt~cI;^@|9ZkGRD zxTBsXDlez>?`L+XM>$>4awKN5 zX=>V0p7E&p1e);UXd+bcg`Ur1;}GrQYj}D53-^}9`<2TG!QEJ|!i`VJn#O}ROE}V~ zXdedkt_xS|KFlS8*@wG&67N1Kul}Q!n>o_fj`niDF}WGKODp?q@C3)XCMQ#OX`P7; zUd~J87`=F?;>%#qw!Z04GYGKmzN<_v{IgEUb(w}#o@YvgRNUR<3a_g8ECh?H8ZFp# zN2)Z3_Co33>*4+U%*~5v^0qHaVGMzo%qIjG(WgK_V zXky=Y7C&c5!C}d|6J+AU^0A(gxc{Jn`>lK&3(W3V`N*Y1cY%DI$ROQo`A`mhzt_p> zhQsJ2-K}ZiZiabm^_a&m9`o4koAHv?_VC?%hm1emN^ryL!#UFY0zO0tk$sqb2;8ri z-9L*Ef@`Xe2escQYTr&bQ?-ubx~h3Xb}d{b!LL5|x?ECyD!l4bt+U({fY)jrc-1O* zyL9=9e2m@A@Lj&8%2RSFe^5Nj%8TIMuHGs0K#L)BlYz2zp~TEM?{CeQ?1Bx8Hx9vQ ztELEQZSl3IHK6m@3IF@@X(FNTNce9E*q`acAY_v%Kgk70 zijrp<32a(yUWMY3vxmI6(hFhd%+=ndGta9C`^Wg4-#+wi#(88r5K1TDLW|~7-1i=5 z5_f&+Rb^kTeafV*Po(jXi(uv?)=Vtr!Os1;FjE-*aIu^lYQ;tlCwM`RASpNNmg+e% z992*%+}~=p*WliWyCZhRAXaZGYxZ;X_+KmPS9!EJ-0ASh5os@Ri#Mv^W^U#hS5(#am!fTW`Axlqnl@Z( z5nTQUXZ%~5WJ^3a*CIXTJS%?5#K>byOX+62^QYIfbmSONAUkgDW|JW;9eT~=wWX1= zX#X;eIkgpW-b6z=I|=GdfxoGl0?C$B(a#U2mAcdtA5~{p;-+67277)OBm^H~+_vy30dWngj=v@DxkUdA zrJ2I{3110bl&O4af%eY}iYyx-#68kHKAI{CWH~0M@iLyo_bN!k4oZ$pgafg8LBK6K zLY8H>ltNeJNSHE>i4@kx&}W|>v2ilP4o?x6cg36F_lOzI`eM1rN}zbs zcY@;ZFoWJf<_$LV@eHJ!G8dPdg6Eimg-r#=A71b*Er=BHn6St)L2MTqJc8*iBvJBfVc;_5h*4SMv*V$Ap&gdnu#VpT3boxM?wkzlqb+;wz1He=UhG=(!#z- z-)Glt5?doHccU}rbEP;+_-f@4Wr#r@^X+wNt~Y$=B(_jv;531CnKbIX&Tu#ZZ%e0t zl9mtoo}6e57WR!U4%Wq4C+I5F_s+L#{T)t8wx)@N(O4d?Q`F-SE#+%8#2$0%sZ&^b z(c8NQOTNbo$D<<6dohl`5WMhex+aa6)MEBkc`^bxb+V6oI+yAfQ3sJkOfGn!>Nj!p ztSGWOWYxp@Cf8#NF&!^2?T4{Y*C{v2l78g zgbT08KeX6DEjFmDU=L!(Pb238aihh>R?u!i_(O^X@utf*?C061cw50C@c9;p30~js zfON6WJl_}TrOjPMb6?@Zgs>I`0gfzkv|}}*Xb#wH#0>x$lGw>&N*8&~tR2Z+biSV4L`JfZ$lbHhTukn7W&Cc`5<|v}dM!n`l+F4;FJ*@+O?KZaA>3u#{QTbv z(X>|p!WTJ-Ph2G<0Oq+8#HNY%PH*AOpe6Nni#}Uh;$1#`A3{LIq|_viMt(E=#aBD? z;Y8`X_~v$$LNymmpmS#adphHOc$9)70>fYarLfrD&_TO9Sc;4+UG?}TmfJ;(o6++# z)7Olip;sI94CYSJ6Vc89e^Ot7LRqri$)a^N4iuc%qhrFwF|!TdM>F-5A_-qW90zwe z|Ju)JjX~=>4+3{@Rcj7pyBgFrzJXRt-PK^{C2VE$nGg{s#l4S-XZQC-2`IyZnjw5= zn1OHs?RgMBBjY!8akJ9J_>)AA1)q!2_yQoAScW=(_R!K+k`fRTx$;K{z|c+S<}PuC znUDbccwJ6pqCA>eE=O~0fElECc&pp2F@1ei)@y8lif?OSLjT5K_{m6 z1f4NSmJNEZv-v7Bs5DKlB3+m4W2}TGUrf{a!R>n07;e{hO;23Ek9(Kv_lN}Fb{`iE zf=NFUo{%Kf>$`L<6Sx0))BE#Glp%zY`UHx7wLc1(HjR0p2hmyvpkoeCOd*2Ce|kjV z?xAm|^eoQ4zWbTtV)^LvH$L8xZ>92WrF?XSq})+_B-!<w7>Bz= zKK>=NzFIzxXH4#Cd?d;L#=cae-&oP!Vz1%3Eci<1i9w^-Xe8K@$a@J{N?pUL>iAYr ztrAOQxO|g6E!N$w&0$C0Yelc@sxAf}qa`P6E94csVB1Y%wQ#mS`s&l*ujXKpZ{}aL zW_1U+q~F$LJ&w#HKg1C@z=lj5r1ktvi|5Wlw8ZunH|3Fa%bZ2P1C zeVRYKCVvHhV-}Xo-R9YCI!UGNyy5@oC34gJww4NKMfOxz4dZ;|MY?sbppV3Rfr@PR zmcc0M8U{|PNb0BZs&Z*I*1kU-l-X_OQ)r;wZEm^g*`L%+x#^~|U2+${+$&v_azffO z=?CZg9!I6cH_3150^}PpC;o=u!Tk(^kOh)oLa7f@^#O_VxX}yn_!@5u!)0*tKtQG* zA;LsixPrND^U=f5Ix>}2vIw>XQ6=OltfZT1XAT*jVWzLP3cr1_dP&G(9BH4IMxM2L%+33+^BtK!gzN zZpgK1f}@W6=x-dC869A-SAj6R=66Cj41QI#eeAJLx17l;vxXo5A zet}mq3pl(STtIrXbRWLYC=f2$Q(fg=LJz$8^}G3l0p^X}SRY!VR{RO|F*S%&86-|! zi^(lExf3&UM<_SC4!6z|gH&(DTAN&NC~Y!JHh3?1##slldM(9f!^3#A^;$g{c4(4} zdO6IR04j!CRf+^5W`^8y^G%;@8MuAueDG(cziP;vRazNMtioR6;*%ZE?8t1FjA92n zoPedTu7JNORPws{?zawe?r5}ap2VdkM)K&Ekmw2@{P z=+09m=S7UC;TM9twZpIIB*xT`O80g09=E;1d{W+p$qWWyWkm% zu%RpJL`ZOXj;B=$snI)X#WLLc@m>4F$U&Yw-RB_{5nf#k` zR22VOVIGQ|g$lqy2BJP1B?`JS2IZO0|JWJ_>N~N`a%oHpL=s#py1Y z!-ohx2buNJNr)bOi7kG6^SQ_E@qK%<>YC5f;i{vLFtzTZFV`L17kM)c5Z8=(nL$VF zj^8jlqwE16|L0`gio1qF`TbZZ3igYB{O-H<5=oRZEme7UnN_2`%QEd}phhbaynW^P zAEuanvGHW{H3)<_4=CLs(u!-+C<@GEPMz!NWu?TrTDe+OL@ z7a~-$p&IrLu89@t99_$7>m+4}cT5)T(1}Mb^y$Qs4J4on)D{ZP7#v+XSHys8r?}UI7;LcOM|#5>N}KLhnrpdVdUS6n6_}7bI@)U# z9@&!^ObHqQ`0n~nY{FX)$h%p~>hJVVYF7Ml^N~bE zErubYcJN0F(jVQ%p(z8jav7&l8Tjg@xp!Bpq}j>F@+5hxtS85V_B15}ZS}#e;>F#b;1u-}KZYLv^87Sje)gPkH$un| zbPp%WH%!rXXQ)Z|Byt*ImPy#?oI-*`;m3!tuGTsK82^(lGV9hS1*QbD?w_i^)|m?- zqBiVHS@@7uu`)HY{G(P7+V!>-pGvo!yFP%jCI{YhzK&Y`0v_RyHo?nW&X+K90gv!& zuQfaOdPwmvj#{0({ielv3$f|RhM&=S%j0JVxd!-AC+fT9zmNWE68pFI zOz*sPZGLdU{><~1VcdgV;-J2yj4Xz^(5U1|V+H0J5XR=XAry*aB4^hg=M!xN(p!vF$ z6ntdE$m+9-LHg^|kJg22{DsdJca!XT-2~)p#v9^f_`6HXqr5oV*125*f@bcfMuM5w>DiOfjTo<0o zW5#vi`Z|e%%yr?I9(4}9Q4bl{g)a?yvZpGO?p+yfxY{V>>IRa=l7^)@5lQcBro>p8 zz6b5etex?_01h2u=@jeQ@Xh{b|6$nt3f6E%K4;CaU4a(pc6fMe;o*QHx*HMmFe=0B zlv=hs@2vI=hyJ`sU84&rY)Dz9E6#5?c|BI?VSA@D11Sw7sXK`(%w&!rTlYUJ3sJNv zvhmK{L3>_4V*F>)7rk*WOYI~*;ISjJy-631p)}#&fGxkL{$`@74ZYXfsh=?@LeAD>Kp)wSvctiQ1wHyovfmkD91= zOy{uGG1d(qJ1-3LCTbFZG*ANK-LCRLv6!;W6E)D3n9)2@)xE6vZ{U{#x=>|LE+8bc z70YERtc5=?oM;mh(upcu-4IUMI{>R2{?WV&HpUJ3F7uKM_&%owdII>2GVNpMqtDXd zt8QnaZ(vg)1q3(yt2-zJn4qTp6R-g=EB-PKx-qIopCEPbuMBiSE+PAoyvQ!ei$7%y zn!uLZUh}YJE?;@JNm5rBlqPqkpL>Cqi+QIUMw1J}vE7;A=azZ7n0GGoatoDvhM#+^ zmy3DlonCG)<#zXTbG_WWni^^a@3%Xx{G4qu)1%fkScJ?Nq#Wl}udi=;Ic;i2kW;3d zH~gGsUQRwMC@~|boTvSqd&vo4Ai@q;^>ujgiPqwIw48BX`FAU2IPh#^r(z^u?hzfbw}Nmku& zLnpubqH~sWxfkp(B^ES%^Yl}!H1qoYO`auEhP-jX*UvB@W;xgB9)otQ z=ur}6tV+!3eLNBi514b;EoT&txDJHupR}a&Kxij&$ak=7jjSNpqk!+k%c;4&Ro1g) zQ+l0^bNz2uoXHz*1|K>~#eote$C*8kZBdR~MgJ@z;+?_Xc;H;adYRt|k13Oz@grUJ zasOG>BQmQ#IlX!{H4ZazLiXJC$QOJkRUB{dakXCFj!+8X?+Bkqhm0)b8K%xX@qil&f<;GN0~n^)M|@abJC`ZKl1JE=C${4c=NjS3Vs0YT%}u z9{A!xv=_G-*zR)1;h+cD07ydE;$*2q5rFI1@AvXIdI*=d;$PAX>A6MDv%mU|CyL6^ z(>rqfcGAL^I~xyhxkY;A+e)kNN`CshRf&0x++4jv#v$xP%D<#2pHIha#s^lv<4>H` zIm?QEOzjLensRyqCJYSp#A(b6f6s;Ou-8;q>I}5xYGa`U@K>W~@cf>di4Wqu3p<`& zdx9k(#z(5{8zMS9;dBUis^9qUNHgJyPP_D_#;@G>c$K8a1U`wbZNoZ#!JTIvAIurrEoc+hifN6#XSV&3T!whLdL~^?#g_;!IFMC{JnselLVLp2 z&@Ca%0Sle2*ZAD}U0OiN*}n=VgN4|3!K@Ylf3SZmO$TXWXhE>|o1tW62neqW%{V>W zZN)A&Emk0M4XV}1&0)JTzcHr%j~~0Do2dcw%-U2lXHtGeA-$08&Xry&kw}tbOv5@X zD9>*kRE~b(HIL(2dkn1-KWu2ebIXM2>SG(I)mP_fMH792dQVBP>fUfN5r zKVNvH(tQza4J_8OEBvA1skowBBmx&;zM1HOCAPh?|vDM(_Oh$h&G*PExDZZ=-QkxH|LYVTCkGs4}q}llqcuGcTQovf!d~}vyMbi^6Ircv+zvXG^(of z*--YIfu^nA`jbh9x>9_VE6Hr`pE2Q3d3BB+PC61Bm2sdU zkt6c6tz{Kic%1IoD%}0~!Wu&!jWE09U#*4`Z_IDOXL zRe3Uai?!@9dQ_3s@C7|tRXVH8x_w=sc2BOg@GP#Xm&MRKoW?^%^2Qu6v#>mSZ@6j| zSk$3abl-H2--suo`>y4*$wTcPQck5Sz@>H%iNE4mfRnwfBJgG530Azzn;z+?miAq1idFwXknSe; z%O&ls_?;|-%L41N+O`d>Eo;@5f_&84y@t8TpdZ7nWmk7@#dyj)XO|~`b4#FMbABLu z4Xy`)z-h2nWwlMStXN;3lEZS!vz_3bu&@i&EtX2aSm@N8QJ#IkTP#-nJz~*c;m2EV z!Y^x)0=c`xo^uPXADQ#9t=pPj#G@ui_minNKq(9 zB7sDQMRk>h){^fSGpKUSu|OeQwP9$Y^!|XoJJ5SQrE<&bDvq_5D0-c>YM}_TH^!|v<4&`-~eQM67Ym@ty zD|>e!QMw{vH&yiBPIjmAx_NzTPM0eOhB&Ecs*I)!tYrgE%-&(D3g4bpVZR#ajVAof z^1ALPdXcHGE*di*O)`WP_XqD!fpr^#4n07#y|eTA~; z3DCPpq#^5h(FZbYjwXFtn%io4U2Y!_K18c*CC|&XO*8EMGi&)f$6B=0Yk#&C{n>k(RlOwD+~{N}bf|AT zS~wjLWi@Qc&;Bf2^{pnkU|6E>6XkYeLt}oRt|wE(?Df_bP(PW0ihn{AURm;5u<9K; zd1%;PZ@*&I-(d1$w4`BR?(RofT)IeB(HNI=igX^VVo&2`kaL&+RN&O}WOe{PacF}T<|pxpj!RPyRUIR?`MCk|LNG-tq*0S>(l-{cDdWp$?l1Xo@MI0?!v z3KL<~$9Q+8e{4ZX4V53AoO@)p+7XCpC;Nb87Thv8N@8NDcz!5325Q18ZB4rM1flgarjv0eRfQUTkhrewMmwEje3S9qDGJrN!*GgB)=vmV5s0P;&Zi zG_Q62RHSNqATg=?jzCHG$E|pGrQ}44ic5)^bfzwfL7TAmwHEz|RH>Bv5X<>%Ejo%d zSK67oB0#CMixnRO1s1qzd9&FdBb4a%WpSen2>gc5yWA;xp3z`svS z6fbYLFbi{(-F@u{yYD)-h1?_Ei_zj~Cf(CmQq3EXwal;{y@K}BMIvlLd$F-dkVP>}krar4%UAp+xi5E=e+MmzRpszkd@n*P! zA;!txlf5SDUMFT{(FhinSsb)pp1t380Ck|QQ=pFZd~#zjJ-XVnt|!!wItI>m3nbc> z2z=ixn^B1UEb) zk-J`IcGE^AySxrCKnSa@3rs*Tc?0BQw^c8fbSxdX@c4FGgNsOnyYCK^bcl&BMiRco ztP5@~U~L(;Z!?e&+xHp(g()&SNMbEjJ1_4bT7hD6HE51!hZBCGg!d7boBVYd#Ilfc zpZ6JM4t`xJMMPXhVNZWp*fNz;Fjk1NL>Q6?@;% z#<^NlZ)m&{YHPg0xGoOQpEu{tDb5SGLS--C(VSA_FtD&x-Ki4ONxfZA5P zpD8#=ASpdjr=k5U-y3tNpRMS6ExTrt{@1>cYJiO(fiV(F(wHJY1jY!y9OR9~xb6VS zsGZdd7g3p*Q{X&0#>0-VPcl_pD@quKQ5;sLJeAvfMTytuv~AdyzjkQ$CFONDwyGPO zBhqqYD{YZxrps9VsMop$>;{vQU7o!@Si*$scs5|AmAnCCaWi!72*n<4Ws>_;+5>v? z1!T27x22Kazr`Pb>aOMDFrz9=j=BpASZmRK>@f@raFrGRP6i!!64twWuHfa9f)6o0 zH;w1<%fW{(B_o6O$`jzik67Djym^AE;Sma_Yu*ZAP%_Tpx1R5x!`T~EZ?Ut06j}K4 zk~)WP=0kH1|5Oj&S)l$$_5U6BSTGcNev6^y3&j#>uSl)EV8YuR+^4v9pT?b|>5#^p z&tK*^yPTPvcErl)${7&ra@6#7t)mS&$%>o?7c_+ba37;yGwDMUSKnJu(hu8UndBd? z3X-#L(LSd3rH(X69$YFCKK~Z9yf5lbq$#v*g3qL?(4Z_YZ;+SwMk)`+)k}H7qzFH# z0kadHoJUO>!VoUL;Z>X2)FwUw`K{El=AwrQy=XgbYu1MliJfRt_uN3q5mvkdHx!un z@R6GRa%TVYd{FRCbL%d^h(!RPpUaWDL6O1kUy;aDtLpP1Z>`chU0_|Cw)_jM9iE#$ z{7&NzKl5T)vAulG6X)dbArBf0%L=GD?Z+MJtwP0e)k1Wup#apMW5xeKQQF99Zewkm zR)#@rn{J{bO=MJe@4ADhW2{g446*r|8~&wdS+OucvKAfAZ|PB1Y&UtOXQCiz*|nAH z53Z{Xb-`D3v6f8Y$y}oCAzx^I2j~bxN?EZPY!Dq5hF(U)$QG|rbaedhuQ{nD4_N)7 z^F{AW{;!cpOX_tUa-oRa%({Fg#?I-X16;p;V#Nr@{38=zU^V_(E1SEQ4DIA=kdvZD=BV zZyG1_BtVL&Xdq_R$?_|_W(fbvA@LfW2VM6MU(?}vblAO@9}VF}Xovp( zgTKD~DIISVhhB;|n)Rm#VangN;tx^A-0e7$p-9Ew@S;(H;OD_$+h9|tAGK6kmIy$UT>Vfo%$F(s1@e1t z?Yuv^r%`2~78*a+eqWjk-JMAs-a^+(%)%ft6BB!N+3=>Q)3)?_Yf%-qvaDqr2sCv! z@hcCC$5uNh`vfaC69%9HH$vP1IN4fsZl2hIw?a7;1sL7uSJ>mB0bajdC{XSErcsgH zpyH5fA3+n_-PgoU=0lV`y)uLp%X>5J&T02(bOC#d=P|kRu{1Q;U z6k*XB&cyn*S?+@>>&bU;pcUOs@z(UlZV2U67DQL(2kZ)_q{Qi`!ZW?Xp1f)KWWjsw zU1@mh2A|-aGul^K0q;DPgAB7{zt0$O zc4n??kN-8k0R9!gUjUuR=2<~>C?FaDq!oa)_ALBF9AU*CBg<$b=js8y@y;K17|_)1 zffgF4H5;A35w*wN%ih0yoINAmM>3TrLx;rHZ{~@x zD6P2Z94I+3{}vxN=UMR{s*MYfDcn4j_A4+m<8l;`d6CK0all~aIv|7n8FHXwxQpku zH6>Fp#75;{7zRMg53v+=H;NNa)0F2-o$q*cdNc)ShZC(Jv~V+uPE=OA*^n;TyIHa4 z`M~t%IvxV{zRDad;MRfp^T3Hy&C%ys_9vN9RW zuSBCBsv6|nn_%b){>k+wGNzMJ&BZT50NxM!RT2^-l>7}_&3F>qn3??@yyx4?hL-nw-ks!kJ21e+ay5AamCVa`chZ#<@G26Mv%I+5M}wyL z@?b7o@r0HjlrxXL|5{hTn2e|k1pxcEi zOc*VIUcJE`3S0t->a6Gisvo8ou2E8bbS;xp&E%Zre2AH=yAjj(06n4`GpAJIi#(LP ziauYHAHcMz`esVJNQnykvfzJ*stTFS3IHba^m6nK)L%h;;P=ri?eEl3w4orJ{ZoaF zD;IFYsOOvBc4w*~`x8bd90@SO#(OiN?_R<1QudLqu79{=WK;i|*qk5rBM!$M$vn6> z>Gg4Jo88a!+6_Y4@;(ka^dB%h#d4>`&Wn|k&fob?_%`MPuNk=i*V@Do6efrtjxdso z6k2tcKoufqaxyViNX7kz=veTchUz!V@3p*T?9{<*u~=@&f(PrCyax%1B)n++ z7gVshe84!`up9cnGP^8<7RTxS}aWy)S{mG>PbDN6M_; zv7%ZL)ZUAY{K)EkThRmN{obOd%-=s2tu%ihFM7-TeY$9q`TIiA4*s@)Oi(-trUSub z49^qNy&FKm`4%98%HnUAV*ZMx0U^!~PTN}rLUa8BVTYi|DNCKiSPF5iJ}-1LJzmI;r_qMZrw?EqF=e7X&ZL_aXR6hQ2BTe$&AK;CJM=|38D@%eM%A zD6a%K;Ai-3SxTc+5b!vwi$$+& z%4fp_Gya5e2BOPtxW6I@pDg=0X+Bgk3fuBo2;z1ov}u7K0JkEhP_>CxJgIyjo`%1lt}j=QRS&o7Ex>w(?$P+ z_UTsaP-+uM31{znt_jLCCxqlVUXWrjt%ADc?b3Q z+NHE^V+V@dBT8{PLXW@jI=x`4>G5ElJ&teg@t==q?y(h<6T{{%>%vy-LpdEBMS64N zGgFNVTxM`K%JCh}xAg~_d~SqpxH^O&xxr(j^WM*$vKsG1$`@Ghc@_&*KGG_VSQ&_J z+5xw8sN0pI?lo%ZH~eJKAI>Xm2%g#C`{S|md85*PiFs#nL+LQkJpc4jSx(-@9PdD} zN+9IAN#rBOp}B)idO~S{g56>zHtMh z$wwxV-O$479!B68s6B%$A5SnJdk4AI;pC0Q0iz^H7ktGl z7&%VvbVGIFGR28CyQe{o<*=n z8Ox6Ol;D({R5T`IlGDcHTtK;FvC(M7#_70#RAY=xv~r91%E(YfpUi`yD=a~6d=Mas zKXS^o0i)q^E)MtyG!bVL8_20Y42i#v1ux;m%fM!P{W37MJal z52&AVKk$>Oau}p{0!*pz9i=_^+Ty-mIMD(BD3Ehe-xl}nz59Cq?!Ns!zlIi9bsTU! zSMT<4U$4=$bS@UgzJC;a0&vQUKfs@0@}$LdIys%&T#?ta?12Z0{_TbP>XKjByc>Fb zJbH9?GEHX+1FW{l^Zqss0|0yVe@t^WI_$bSdO+OT5xu@u({$II$ z`0L(@vZr}1s(*gq8q8RY=`p$?D+5VEHL+jQ*;xrNv8*IHd_(Cu)*@LFf*fUwAY%4= z*0Q%Mt2!*L%w8X8+Qj<5C_7O5^D#u609SZAp*)epkro*Pc26Hv;p@t*W$S|3Ya1W&KWhBFX{K?Nx@s-l2DrR- z)o0+)%AErko#9_`oKNQUuj!fP4ia2X<;Rz|7<<__TY%O602;7fW5crf78H zlJ(s}B~a4HiBg%%H3o#ULs9jopsZR?p{ye8r0w&OK>oHF(Y}X z{y3;;tHA`47!teT?^8e=&kypibbpTV`ZM9*_2+74w31eeWs)v_bT)KD$B$r5FPsoJ zk59Y9?9qvR0L@!rO);Atb_tJaaM=GylQ%Lk=_gFxugaLOLgp*sl}h)} zgHNiL9{wOO^ylk~4W>KgN(tLHX3W=b(7SW19r#SCIl#15?B9 zRlO}WC52XeB7;u##GTHIX0;h#n%lqFYya23Z2wBk42X8hTAD7O>@_|6f08l3ORnQ!wMHMw3?ioRkE9oR z>E@sl-OEK&9Y;v-<)!~4$CS^BTt^yr|5b;St<;elnMm3oFYR@4K+(NRA3d1>c) zX{{r~Tb&d1(l)aLQLas-Cuw86v{|Gr4LqN(hD+YH7N3m#7<)RLos|55&nz}Y_iy|h zG+&s;c<_TRhwVLSqpaktDKOH-0;l$SsT^zh>l}p`O+Zv)N=Yxn8C4=hVXe}EOe9Xv z3{+LjEJMijKWGFncLx_}$OrQ%4^-^8xn8;t>JL0{z*I=KdFBuF!{f%|9Rt1v6_btxK|CjyW zhw$vbt$#vu{kmC|9QgiLSR3L8#cb(3hR@ZdJ1ahy7x=;a41OhbUz8&=irit`ni^J! z`+MPQatv(h*luNY=ru=@F|rWVui;&{2OFC5gZ2#aN@RQ#9*mMNgxH<)-L_D}UKaky zZWVO}Qd)%vPsB%g>SS0_3c`MVlwyeFOfrkDJT z+Guuj4joytQ!!hd{E-K%ZJppD!PjX0*0oT`o1z$CB zcPj`qt=K;_S3oofD9h^#y&G*a$cUJXn(RQs&&xk)b#Y_0mtyxhV|v}O>l7XGRV$aVWNab#m#o+|^q~^71eiExt4}yl zMP3!3zD!04-2gfM3Lgu8loojxC53y-DG^RykX>ni8)`VfGM@0QRe);w!FwX>)9%DcB0?%B;`*Q()0xRa|_l5KIyL^UzpPkJw<=WlAPut7*$-kVR z)<6!OA3}`{nu^bI89FbzLmfMu3E*YrT)lK;UU=E`nqCe7alPEiOT2;2K6>LI++SRq z2Ls6UqesiQ+skus!Mp+qeXRO3z?Vn4x^WeT630+JJou_Y;*6LXs5FbSqV7`jt%7Jj zO5R1Fi|QF8w27{P!6!gpiGcriW;T?Z2}QuO!FG|~insoh)xA}Vfw+EngfGw1q$54f$x)4)Qm;z84oU{ORGJib)rAQl5Ye4Mt z0qaD*IyPkzwB1=m$IBB}b>KV_z+Hd2eN_i{DqAM+%x3NFn$0M)BguaIc&?dMIpYBI z){?U{p+mgsJXOzwH5r%D!*KFk+8WCe=$G2*2{Ljg9?>z%KVAxS*-_Qei+7UTQC;Ug)LfL&Q@2f=W5uOKB77Ps$jj42tWo#z!o)8bA65tt9-7A$r=rx{*WKBsj@I3K-~-LID&=!8}5KD|uxmgkfj z&7n*+ns=s`ctg3*Oo)tG!73s~F!XlnP}RIHdOiSi#j{54eD6JX*Yg(d*-XvHdd8uw z(%+!_Je#RlnN0BP>96t(8QIAEO7E&BQuTu-5Qn%M^QlBRmmAC~g} zBf9Ml1wBzYzR(eAcXHs#SMrCkJxJtFBb&!$=UmJQpv*#OE?EB7Jmweeyoz?^M& zwq2f|WtdN0-@0at@eW`2M@>$e=lYx3AE0J+HMO6%k0T6y|vE7NY8xPT^hRuppH z9L^##JM&=e%y(e{fh0ImL=3L5_Ghuz1B%?UDAhb&Mc8BneS|NoJ6#0RUyWA%kATFR zH>_8Yr)!1(Tyq#+*M$5d6Qz6P;@OcKM#+9byLSLH(k0kDod{}BzE>uv(e#XNfwfuV zOpzx|k!vY(EkzEclcD5zZ@sOp$QowKmmg~=e+SV3n0Fd7)-1P=PBN-FG&y$jN_whg`W-6yWvXo#ps&$XanZKh6%EUS}=| zlmy14sOkGBQfy<;em%JB{V>s~U?=IKR!7_PJnIB^6$7}60SpC!DwEAT3w<$a#3rXV zoe>sa)T@IBYB@zUy{qRTeJ*RYO}x4lD<)CZy57kjx9@{TQUA9%maF9UnYhxx+U$O& zf>D_jG`L;`OG(t$?9R>1ebD3*sF5RN3dGct;(xt^DEx0^dL{Vti(`y#1?dMIXAUc1k=*?cE%hXEa@6*XMyyWNAK;whye&bgoEyLO)_v!{8PbI91wsk38xLh* zGMhLbExi{!q^l}yf43=zAw~6PuDs~U|0A>k&$o>m-S_Yyl^)>IEgrfFi^It)=+{-? zWq)qra$|B$As*Dd-b9!Ovo|z3-{{_hRyJm>+nv#Xv~%WM|Zz|PKGAo zFEW{TL@s6ta@xa1%tQd$35$FnThR|F9J8dq$4EXfj;%WX=40`1B+G+ggWGs?SWbeB z{Vu|iHO|S92tJq5N&F)q?DW{>4;F>{dJ@#BKNIfLP_?yqF)}ni?~(gM^Z+r+sfhop zySr~w)aO@`SJNw{Te0W-8tztV>a584iD7$_Z`ZNf zg!74T12qSU*{6+PdGDnZQFYJ#1ox4OC34SN{1Nw7oeBXIIU3LFgFZh8HU*7e<74h+ zP+$JrDf%&H$OPS;Q_QZN<(f<6bM(jIG(dSLk0mLe+DMZr( z7`raw6X#+Ig-{}Eirzy}|F<5x%A}cz4Dmm`hEE}>n4H!WI<0zohT2wn-u?BOU(^*f zg=RkORZB0?njSRiJxq^x~@Yv z0(P~eHL&wL#)~B-B3slfq$sDGvoRv7XT?uvU8~qxNrAkkmvin32A0O2{dzT|#A8hE z%qiw&+-rxJPvu(H+)E?4qdcI){*EbjmObAo%lYeQE6Z6t%<=&6S3t*JEB|F-LDgEa zgcO*|mhcpzAD!sFw=z*xh+0%WtV@e<;PNAdVNN}f*;c)<4{@r{#1=SP>^51U!NYpN z)hWwxpsRQaV83oKUoL$=fIRCQ5?V}QIY-6$f=a{3hD$JnsE+FTPj!2CIOd$_cw>rv zJln^YLMG=4+VRu+cxkOz#_kLUii*Ov-RS?lU+ak zGy~1*x94ZMx4|mAPm}9@XvT?Sx?e4&3uaRrp)E2opaWsQ*&ae|4ikD1!ujiA_H#X<2JQ=9hbi~R~G zdKE@Zg%y5*dKbs6*JR$5Pg;z#mX2g0As=fTJW4ukF2ivT-L$aF z+0onVqU@ZJu(T*Ed4~=;&USxJ@24QP6V-)mQz}sZ;2~UIVwx6`A#CL$k~@bWW!~*L zya?6Jbay0YIbR|aG>bzm#=zc)9 zum3W7rs4TJYlZ3X{oj%0T-IM#XCm#Ik-}9vEhCcOK*1PufUgPBZ_iv>G$$B2-Rh0G zj@28Nc~~2(WkLYV#0f%6B^a)DCEg_I85;bTAYE|Jw^*QZH9K^H#{>I&=Sp|1nw)jIHf` zz-&s8SobZOoao2D-8r9DKnbt6n^6h}+jhCyuS;8Dr?6y|@3)z_Up17|usQh-ZhH?X%Ed zMef#%^_tm6BT1Q@$gF#ITO(uHbp$JjI}9sB(Kni$&?=uPTSGYAWZo;Mo`VpB9jMsp z`F1;6giS$s$`OJwgi1cc1-KrtLn(Iqn~mu+=dvR)GL#`D`*NhOMmb1L7Q10nV51Yy zD1cf)mj55Q&+y0n6F-^uzgiz2V1EJB#PC8Ii3}(DU$0Q_RiWr!Wc9-(nMqE_4ciwM zCK%P~1z!S<+TgBFf^9cwUIl7zUaj~$0+bKy)kH+|bTaZ;g`aUr{&j5RQ6LsRw*;{- zSl{YA5-~tV<3r~K=!XdhM%S#^Q%XqOC|GyMH?U50^I`3LzS6+ioCq{(%3N>?6ap3^ zaf;(s;fwO1i+uN=B?Wi)MTjxhN*K+u3if-?PE#g>f(Q7ibA(q&MJtc8jH@d3J zg39c-15KZs{RR58UgA*gFa3>C&cw3NU|gamd-E28U4chl6)V0Pd|K49rg zETo%-<^Zs-~?>3gK>G^{FroS+Go_dFz#1jNSQ<*=c%IuIL$S;E#dH}AG2q>mZ zO{$D=B2|Vv#erfg_BX%G`KdCGW|YaJ47yvfv}(&ZoYE}DGRm;F0%ehFm48^Oj!QD~ z+mIi`WP<#iNXX5smS^OH)`2mRen$VILT{%Ey@=0D(^+8Y;>w8d!6n{{~((N_TO&ZA*5RCZOVG|Nq>{y{G(=RF`)S=%X`oS%G(-Y-MPLX@rr@XSb9gu- zA{8O1mhKcj`ECMLf(!AUOk-uDO(l1MjPH=ct=MRYh9q$`CR1r=g~smPw}`Fq8*C3Q z!NY366R?TbahtB)o+`N-I|(%en>j{aY^JK<6gD6>qVa)qiDz2I|1tcZqU>pMM>QLg zUdufDR)<)2F4fx$zMZk_>^l4a5<+gdVgtI8Eab}|Ja;qU4aUe7#u!Er#w`P`H-(%K zV0Mwykq6T`q?g7v7el{?B<-SABvQC=NRA*Ew|StqiO?RqfPF-MH1OJWNGLgnCd7y; z7<>tl$@w;vI8Aj@T_thkW5k$4Q?=g)djy?XB1w6x5<{4+ot7`b!RZ`3)UQ@SbKjA%;m%r}{$Mbx!-2 z+Ys)cU*0_*dk{59Dc7`qFL}dUM-;QyLs+w-9+UV?~UmD2|pZg=JS*Q*7D=YR} zR#PbXbP=PTzkg&HrR##Cc8^8Oz_J@;G<>!?> znac!F0MM`y4!<0X@8vXBG>ekrrmk(FT_4k6r8W9}1wXOJ6j)0hrE+ay-6VvYh9j;5 zpEY39`rl-rW?)UKichqx${|yM`dPYjbs1p}0B` zv>UY#JCAJgVY!u=F{`=4zGOu=&E%`(3;f@+X9(BlGKoyG z6G?qC0Pv?I>x;V35%*tUuQP6dP~Tt)zB4Ezw>r~Uul@B*Melm}C2l_+2VIXk#3a<0%x%`hQMt@HnFhjDM=Tfi?l|d)20sC ztmZoU0~T`)GP4dOm(6vo@SvvVH7svj&N!?g`u;GOu4L+lVPE zP4Q2Zt&m_}K?2h=DR;PrDtsWhFI8eBI4Jw%EZ|yt_EzA zZ(51S?AGB#8{@t=j*tf8e-_oa3J_&Dpv2`e34nJ*<9;W)A_V!{)+3zn>NhYC%oFjb zyMhOyObXMSThRpp$uZ8&|MC~d$D-UI&kbJA6lYp0XQiKWp_g-sb8afM_lSBt`e&=0aoX?`cT?nu{t{qmacQ2 ze8^*UI#Pp&2^IRz-elB`+LA648A;A4lm7gcbIh8Bnz*;In>qdeqEk8s4Wf%%Rb_OZ ztWTcy9*tNBMA8kPK?eyQMBAlj>vxGSco@pAp@fs3^92vb7$Z{@fyu77?&<+EGVsv+ zl;C0NQ)Y$@h1jd5kj&eBj1fG95b~U{0wIsCadX=&b&tCX48;mchPXv+#h->oVqICx z>fz#SE!&~B>{$L^ne9}5;vr8gC^XL?!fwNS0O&(v(b;K8+>EkW$=YY9H7CzdGIKI{ zLnp3Gu62I;IE9peIzZr-TI~bda@ic9>!3?Q=~umO89Uy0w^U^R=(bZA{1&@5SKW=O z#U*%BomC4o`JZ`*tCMkHX4d9SRLtQjT(t?I3u>XWKw4K(T9{jRiK$oT@zHJb00d9& zE-GEFS#hpv0{_ z`<>T2_Z)hKc@ugFC^i^of}^qpxbq+Yp7g=^4M=k&qf<3p1hmo|$qg$#j->5Sf&y8G zAO#g)5~4`@!^2V^%7!HUVVVEoTfgoMOVew;KD&w@W2+)jYGCJn4u0YW<5$29YP-4@ zwoKD{?gyO!t^+!O`uj9qF=5-CC${-RyqyoiNpGuo)?A;p(Z%9smGi}u+$n!YZcWzx zdTp%lNjnyZ?`45$M~(E%Sa@B4i@Ln?9q5YkyBQxl4+ zMW)!-e&Eq%1uHPZI0Cov=#lyO@vP!XRwolcxW4hluAI`MA#?wsEtp}RC9pxx3Y>u( z(n~J>t9dlCfc;5~o3-elEO-1sl_Ig=31w&R_X?U>i7})ZY^76h6Jzu(G+PX2R^u6J zWR8clhPQ&VpmxNc77`)Zy)8sFoN9pCjhd*`tJO3f0f4^~mAeKQ%Wo2__F8 zB`+pGvWB-e3f;jz13Z&lJu;M*`!;}pb!1U z8x;xh4Z;>FEV_gTA7=yO6zB9Ni7C!$1f~0b6XxbZYyrJdjZ0E^cq4g+@i6nE#*p9}RfUD3qqfWLdZUR&$u zH~Kk2pAFK_Wc_T`&+!Hoo0($w5VO8B5)M1KA9)8SoT;|X=R0?@es0yzUHaLlpHAvd zXBAnjr;B7w(nmjc>gP}TISLADxY(BV3miOs5pwkF3E||xN3nm%kRcN@de#j{|RLY^>gEzBkOemiH*u)W_P zm=R@+!<3#o#3>bTVdQWS>a3*{07U2pP^BM&Q-Ue0srOoXyx%UPNE zArr+HV-cet!l$%iex!xgs49>;U>*Y*F#FX)ovI9bNII22d_cmCbxx1NJPjh?q4)zT zl^l45m+5iVVz!)JU1jhB!%Yvx`NMF_vCXp{8;dYV8@|pLWSK5G|M1d%T9!?w@ zBJeCT6SPmUViWn!s3A}0JD^yvI~Mx5(7BH*1mgNRaawh{da7oz3*gKve>E0)(+9+OpWFVEPh4_8PJ5nkl9k>`C@#d zy-@Aeh!`e_pO)-+8Qu;Fe?9;22SU+( zO_A$W0*~gD2&YTjOo>o(6hUkDG|Bn>-1YLEWW`QNmzbau(Qk9Pc7TH^)nU9V-QgL(Nf_-lSDyv@cWx4t0-JF&yKKjF(!LXKnV~yH5h&FQ64$Go1{ov+1D(In++(3 zT(pQdBBk9>v=2`cp%0!n*OQrf{~XoXJerb4YFNj^ot8vy=I*zRM+PFJRl zb`NL4=xw_Db{pl?&N*{JhSFwfCEoq9{t@XYG+VQ9iO}W>R<9(jd~-B(%OLsq7q#DL zd?Q2tRcU|LxLhzw-IvhkEH$H44m2$-qbvHpAdt98px{gy@*xqhO^T`AiqBA=jeXc> zJ}}-+10yD2;4-kC2a)?&Mm|Ii7#{Qo2F^`x!LYhpOM8Q6YeAhGI3#})>5X$fmP}YM zbAcJMz{;%Z&MEo3)*nn{K-{DJga2J;Nz5_JJku)VJA*KUbB4abCeB*)jw?vSK$sz? zeIg&WXF(#T3D(K3@!lh3BP5Om9p;k(Ei0TgXay(lrhm;|%5;ldOlD6mWrINcrzS>@Xy==l(Iabr{kL(Q-*&5Gn1GR#5W@5wM-1)kI4Z(ERkn8L^#+S(P|15a|=# zy=?hjKKSm=MCSW=dxETqiPa*N&`#k5}j7BHB_%u3X^ia;C-*Zw; z4%|Wi#ii%(@wYQ1OgFOO`}>j=yOx)*C@Nb~%GL>ka1{Y_Xlx5Q_5$abpZr7WHii*m zm<7+X7_xApQD7~;izhMnuSlT$+3(n91T2o}8&ueA!b_GIVepVF!Slr5=Fq9VMrr`d z-hZWcyt?fn45YL`WNaE+!?%(!6&mx$C3=&QUtA9|yZ_Aj`l#+bd8aMJE@!#7v%4Ziraw?c#fmE`;m--6T~njwu<({ z>KviLH!-pydq3t7a={lJGV+A6 zY@#vwd3n zPr-ccm6yX&tey3T&9N;T&X&n{-D1jde;*MjKs7~j$|;tUal<_ zn5}7y89^81UZ(btjZ3W90utR49UGHFZtQoQY=CqR2NT1U>pP{XQzuF>xJulTQSOe@ zgr2J~?<{?c5B)h`2&x1jy6H*%)@&F93-u9`nl-L@QkMv=wwitDDrk|GiwM$q5hTNd z5*3X;x#eER9=@e8%gNde%~M->Zycu>^K;Z*a>)C|grNUwS1Rw%Chr3B*gGbF@9!OX z50V@?!}%U|s+&H7H&b8l~xZ1stEVJLI?F*$QDEt3rRoLQ8ia}vG$>Ax8 zlxh=LC9V>S!a^RA&oo;Us@;OX&IO{qxmL`9oP`s^3qmDtS&I*68HGyLTlMS7WF1*c z?&Co^k%C}i7Wyp0VkJfv2JQYS|3G6Q#=j{f1GUGY_?JlxCtf3bI=<8R>&H@YE)v}o2X3MCC`Of zY{-_+>0#ejmaGrkhg82Q{>V&)VZ_rGiy7vT7yJ%JK@xJw*$Jbtr9B6VWXDr4E~Eo_ zJqEBUN?r+K8^)t~#=jTg$!+SLOaQoV~7T zt2^W#I0Rj77nnDs`0GrI!)gl*pPF$Var)lAgWCt4JeSc@*g^w^*0`0%CO#X#-HZhQ(DFsV#zi?WT+!@dnFEcVB^lo2 z9iBoq;uB8Q{XYrWI7%Pmk&xdCw%nTFh`G4v0gZt&W6WitZ=LuHkUEyJ4hTn3UJ({> z?Ae3IbnkV0{^84`<};nVI0bwg~T zZ)eQ1aYj|B0NN2LgTyEr;Yc`HP2ke5H-xp9M@X!io?osjrwvnV z0CO*>MBOd>4mKPp0_DhY2oI?WHQOZJw^*>B!Pm}Z%KEtvh#FobwcITIY*c=thAzya z3p4W@Z*wa#*l}m`6T-D@Fc~0ySiT9ERgq{Nz?I^xF(y)i&_IzATKj0Q@&0o-FL`JX z#c7>0%In?H>fQI>w3YFBx$0om{ ztRl{Q-@2F5gA91RsEQ3+EIIWc6$#2OosN7~{B;aULh`k<39C6FvxFY&Aqf&GPSF4h z_?$EIrdH(){*rL=@uG3GB(UB|MmYI&(ObOt|AeA4mY&bw?)odC$20+EYRE?FfsIp` zDJUlV4u>*YDn?Wog#FrByJxNy-wY^FF_#Hc0XZ5U9H<65DW{F#QdfZ2v3 z8xS`@`(2X4iO0=&sGE2LwR<3=Panp(lUFRS}e&6-DwOZWgja1V%tN=_E3AOk$2dSG!Ka`MJ9GpRNej{L;zinkai)i#-2Iss?{B7 z*}MLA8`D*pas3GoJe@W3Pa9hi4dHiFeRlCoVVR_9SnWAGl2D1kF;mKlUrGNZ)0!Q| z4$eJ|H6ebab`NMf3j&fndu=WL6&E%=_+wKHd(vI}P2uZr7?6jri^nifkfXa*{{x0} z<)EpElCkGH42x)=y?Mbtj*(mvD2pxgl9=xjO3L%C0(YMQT^_xbDw821SEDD9@l+wxJTQ1S*yJKNBi zR&3)RGzYqnbQ6U_oDyAGY`0k7Ad(jas{za{w~1I|ma#(Cbn*I==(BT?xM$9(4?;Zy zwKWiXJBv*%3_81gRb$#eZy+(C$V5t6A!f|}-V86QP${~x3Rg>Q-X%PIUZ{vy+hZ6m zhoUtFs0Hrf5vnt)knrneE4R0bZfz6T*-(hUofZ+q!&9#f2BM#rg{_M3ux!UN0s@5j zI`*wVz9P}1oRBE)?VNVNj{xvC;GQnhN?e?)Sttr9#WaXL3KAU0ink`yh%5xik}|{e z#8-oJJ}Q*oZ>2CdH zu-C1JNDNoqYZ`@P|LoW5(v5WKOS*Kg*QFQyE}a;%hvvKThy;9)I-1?fTGl>b3=3-a z44!pF$UIVKhtRv<2BKS#q3_JrUpBW$X+>;j1a9plXKM&5GVrg*h;cc>~LL_aw#+GadsTsr6~q7qQsOSvB73M;6$MQb8=$R#M2Bxw*YZ3fvuZGZSCa zE7KhT1wvlS8s|*#t#j%Z<`9YqiU^q6(WA^XPMoz%E>`5))Vj~u690ov1d`MJE%5+b z;wBM@WY;+-{~zAY1U{-FYxD_8AYt(a1dWOkHEM7{LO=-+O+z=_mTpBB1;GJ@K@b;| z4n##3I}N$hHlX4*jt=U4Gj1a~D(*(;G0b?Tf`r%s(ZN8N2%e$B|X4+PWKd+N3%;PVX_Wbs?MsDeeO33R=+(Vp%hEK`_M$NyVg(ra zrkW#>L>0c+9n9a4%-@>|DPBucT##Lfbw{@ICND_-HFPV&vY=R^?cmwTj21ah$TLN6 z3%d)_Il5n4g)o=oC*iM=@F;rD8CW3a*k`=0L<#q+u0fw{%MM9+t{Rw|D+x!VcEKy^N^ImX6DMtb@q=E}jmm-Ian58_ ziPv%>P?==o@l+vCJE-Pe9U>12)li2B%HAj1-lI)U$f|Y74{3iXS4B+`$U8uLa_kbo z{Wzf@gAW2=7(*6NM25Hk7P|l{bLB+PYvP;>OFwwhv%p&_kt&VZ#Vk;xJ+fZUP~Es_ zcn#9EKGjM?DjGW2XS%)YMUo1bpKR4=P`!-iHIZme361%p&0z#dWOW!Zj;!`)pq%P$ zb93~*OXc+rXC+DDjW=CV;M5pbp?)05{muk3h)Yx5KPEv$N|(Od)(T_ zY}>$99f;*Ls1Z9Qmn{1$fZVy2jK~tfJvVj@&;XmlC0FmcFFUND!kD><3UIuiv;uIv zqFMT@5T-|_+vlFIh_!O3nm^#%hyRoCubfw@EhuV;Q$-Qm)mVq0NE)`2l4?sOEP2bDr%JUD@3FWQia-18BdZ(u>dc^U^H*FJ;OhHNZuquS!7ze!Dgn8ug@)vu z4dC{xItYsqc|;_1%_2lNaZiMrj0I;oUU;cqzJ9_Q2y#aGX(v|%tyi#~S%B3zdT}=r z#xqlDWtSUpB5Td`#Ug7(|HUC9MgR3u!7EL1vLMC?FEO&GFa!9Mivft{7_8YJo$wWKt@I3QH6Drj^7<+uyS|uZOW>Kx4 z`=b}7fF}_RgBT)QBPD09!z3Y4Y_3wgT@By|!aj-+8iu}~SSGN<{nAaVBc2$E>r)mB zHe6c&=-{`mhOC%ym->4%pK5|TI3*~+_8G6c@_z(%0@ZmN>IGO|*l1g+&E8{Sc@IX&29ltIX9r#4c(bXaSadaK5q-{6mS@)&cg-Cd8* zT2Y?kV(qqH^m0BVy-DYiJXu`ojmi-eN&0~b z?00IiJK;}eZSa+aby=JdJFv77yd*9Iak7b2tJu@M?AK@7K-1pY_&+pPTu)gPB&v`?)?s> z4-2JicToP?(w{nMG0Ac`|0Aj5>TsX`ktr_%MRN34q2NmZ#`$WV{jYzVl;->a0dSl+ zISD}Q$g3_^<-Vo!N5E|;yq&(3+rtyJnhEZ&RJ9N~f!I~mf>RlDq0h7v@YFa z9Sj)Wl`<^Dw@QXVmF?@!N#o}l?Dx)x8iq9>$Zie{o}ojXG4$tQ$(I#>#tU*iOfLe1 zwRl(Qm!fI=XUIk|+o&8vjiAMKc6?OpMf!e~ob;g5zaVb5n4%gNDyM)?c&3&pEMXJy zF_E7|pYtPRM5_3a)C|VR4_Bxv+p%Z{-IZ>wlh0IOI+nM^hvIQm1X+qT({pCETmnDD zx|C0mBMlVE1^l*Wo~0GZ39drXWP~gFC(;fAShj}PL@EoW2}+*izNxEaZXB{ALnv@CdgrCGrILy ztMyhu>ys!~vK83)b@Q~*rZHvNXumP#Q+xhPt`0aC?oIBE<2X_^whJdI_r9!mb5rqC|K~Q@E%BxCxx+@yl&p6X~B`Cq+b-^3^`IQ z*kx<3na2G~exNG1d>Vg!CBJ$hN~pmAEu$4vS7Ts}@?XX{831NZzi5g#ak)>!uc_WWKXS>+aX z@*JbPP8pog*Gd6i2YD) zq~oMGeftZ{bI}GA7GOnqTB{I?!g=y9#jk+FJ*l`zj`@Uz!ds3}@j+D$Qwa9`#Okh6 z(LqIH&_z6`FrT74{WF~;osc%OtIM&wm$__@QZP3$mJH(n*qHb?Zo`b!QQ5B{B+ zfsspsC5w&O>~C>;Ayw8B;K7W&QZR?Ng|)_;vAG4U`5_C-nDAzNUEm>*Qcy$=J;w!bt~*(ZdAsJSk)25s`)S>e_4Z;U*%%%biP5=}XWFsJp4cCjml=<8K6Q`%*BaA{L~qoUpX zhWAtUL*KksS2x@r89_0n`Y#OdetG(>yNDKfCN{ z(y{Dv)nqfWyO=uncIJ=v%}=PUYWYw(RTefK!#gTI+$b^MFSs$S5?b5Ncjz}ZU^%?A z9A@QDjqmIOoZZ4g)xOHljLH?%0WS{~otw5l^GRaFzfFNN79~y0A4IIE5w{7!1v4rX zDgQ(i6$WHONB8!!XS8y|X<#|m8`O~Is=7)~-DJ;w3}_KAh4xE>7}Z#M2t=C~_@XWK zY2>A_mscEw?!l%khmkGyX`Nw2UZO|Yk>UOPlQ=Jz*)t2|6in<4Wky7<$f)x%+@wV; zmDyGK`Y~0BFvT>9biZ~1MclP4^O091abz})=dw?ddIWFr6O=_xf6Gq5 z?oqKlJPpN~!0%1Kznj;5)|xt5K2@FQ@rizVc z>vmVRlcU&M!dWCI%d~HhnHSkqE!u@?R4oM`V)P3Ui1Uj2-R~;%z~?6E!2>0$*s_3M zxOd?e;odIqHBt68jBt;C7L-wQGJop0~|q z_}o%=xv~LnKb2><@XXr78Mr@V09(A`_`@tCL6#Bm>NuGNkZ;%kJ_HScD96&#uFA|Q ztFm?2pV3eIqjY82!LHp@On`1!--EJB2yclnHeG`Q`@4tX9l=v9Z)MByvvC4? zljI#d)mVmn_Pol}m#A&LIM~y`=PI|9HS7fy>LuT8?A~mv)?;-IMqB3)rwaa5156A!yqH6iLmn$vMi`9d zq>S)Gn!(>&nJPW{{siNbTmXsjsi6l%nGjy@XMgNd!*o8t`Rwd zHU$+Gq->HoH)b7T3k&x=`@I@*!OMhe;GXs3=jtbX&t)kSe&}H)^i-_-81DTc@~$6pW^qHx=9yOoFCS z(4D9fXPJ!7WOVqY;JIj8!CFua_1pBcz_NP!|p(&&7^o)El)@BRC)l*uQw6H z%9(XRZCJ@oRAdD{Vm~95FQ>8)m?zo^UY*q6WBnY=xJo-obaG*aBSm(WB>?{$_J{^l zQtlUM3N;R5P0@KrN=H zi9$4P7q>J{0r?{7VkwrH#8ZFj(-!jd?>rUZDZ-WfH=t}lcDzbOSe$NBf!baSQZM&@0&XCkOl+mi^k^xtI&@$WcO zSLWN(sbjCm*5=y`eu&5$v)J_mSjyH5OnSMbsLnTJf$~T3PF9Y%EKoz>D1 z9Xwlyt>oMJMx+2u!53|$y|rdAIJ`1BioYt?YgK!~M=teQr~9MLb0!T_FNYW92GhUs zaSj-5DXY6$(8b8FWs`Eg?pIeUOFL`6V4a93)iB8ux5s zg_Xk?4QA8$G|d*-93o8YC0OGih{+JY?7Oj)%1RbB^nok}x3m=G%qu;&o?0rT%a(L0 z0@(TtPYyHV-dw9``~&9;wa%lYI$M(8zE zT+)T|N)Chu+rt_QTFQMwXS>T;A=EA_)KPw?MZ^P7=4yakcnVq)w&z!R*FJdf$v3h3 zz6t2gD@pi1N`8AweG^FU0WEz%iw8$7XjE|Pi8fR27B2y)$66W8=&OBLnkmHjqb(CY zCXsd0k<06M{4Iseu6z*0eJzJjDec8hY)|vq&*Np}!e^nI?NM23+}FrB->FXcTPzKg zAduCvGJO?jcWSD9L^f`wTP3HA^kH z`=qDv+j&tivyj6|C!4x5$dh-xHltN?RA7gR4 z)l+M1-9)JkM3L|Jh{_`ixlmk`%S2njlJb&VrjWl|wh1VRRuPLN2iYCfIkwXBtk24` zFY9S&yz$%0=FDqWpHX7d%<73;lRWiY~On0&g=oE*8s6RMl*9N}O;*jYvWj!8=X0rYRb}SsHHG zBFag+wD@OQl(G7vr^y;%%)A||pV#`vpW%ldm#|Si&E$rNMB-qA%A4BpL%+cF2vD`o zu(EKt*@1UZv-rW`W(GfmuDsDx_15=l)#4g6qmR3F#3sNv#dnbDRM$PxYmG`)J*EwkPj#dVs}`- z4XZzd#4uRiMQrv~Ey{$%6)^o6!FdI1*M;bi{^;F^`gH^{uo&JQ~$^sI~kXGvgYCYOmGKWUa-Z)=yv% zd*om-x%89WHG!(x6O=cXg29-Z_E1A;-W1I-QdjO3-XQ8@O?pMXaMcL=?)POQEi1M* zC5$j-w=hBJP(;XxNaP}aw5J*&C!j*7Np>2KKtNJ#5inTB2Aka_MrZQXy_Cy#Ns!aO zWBpr3WU9g>JCxwa)BN0th4?ys0qa?EMXzk%S?ts}+_tZKMkJ|hbWbOpm0)91e=h+y z6p1WB3v3sNW(y_;(-S%n4Jy;#@$-_9eFu-G;Jy6}@V;1`?>1*s>|yB{k94~$JN}ZE zch{h63<3Dz*=l1T+p2#4kt~R-{MPCz7Y3u}_+yg`5>&4G4?Nh|h9T7lp zqCnR|{lJlwf%TK8jyexcT4p8?As^Ge<5-4L zf`s29jip$m0)*T0r4%jQuB4yo^drlvpI}p>ngy-C*`ft?2Bp0zDFcCAGPB*yO{(VO zY-34Iw7izMw@Kw{mb82UEqmUD_S2j%l6!AONUemtD=c0YOB;fPt5 zoz#hSUY2%P`!QpY()o~H8@b7=CsP5S1H;{Rbj6LqFI%1p`d#T{fbrjI10yWHPPYI6C% zWex(rozmo`8+NDMpZFhyzi8$E5%Bk_L)6~^e#emG^RWyZ#FcQaig$?|Vp$Gv&&Rpw zmPW?~6jO-fL_ltEXWQ9`2Juq68*c-NA%uYv&jg~xA%b_>tF9Hdgz`enn17uBhpG$l z0~Ib?ySIbN)`)S^rJ-3{}BmY{-5A~>H1Xo$zWMbBNYhtfPb$XJxPUXx59q;9i3oO0bPL#FSr%vxfPTv zNOZyoDvVGSX1W!ox)tW@7I4oRiSO3_(5=$^&F(|lkD1Xo#P}D8JuiQxN*}3mrK%Dd z%VX)2$Es@{7s}&&w}n!IFZjbt^Agzrx2Bwj5_6)Yovfx9jX3{ouDv2U!acc~d#tVI z$oq2b)>MiU0Ay=?w|vCqgTtt;@y+t_t-WuMdp^&>JQK#nq&s7y z*l!E^Uksx<#x5CjiJ$eQfYs6mEQ04yVbPAF4Rd5w8r()XB9#(S(l2f4 zI`zuGV+iMyIIZCjjL3Dg%rNrw`Rx+F8BB&caIzQ;vzn-4C@q^lyK- zYg%ZNp9oAvE5qH|gl@rU3D;wunIjKj`KDoi_pbMUNGP^oG;}b#yqhO{MJr$Qj*jK$ zsS5)H%x()JUq$g_<;u3NZY`LQxeB#cPK7E?u6Pf;>?^sWqcQtVV2i(JqIlEe6|LAe z#-l2cVo$Ka<&#`=!aNyAfc01fRwEqyhQLTb=lp}AK@2d+f) zcC(+qRH+8Cj%OQ{rwMXnUGf1;LW%r{%u#T)#i++4u6gIB$LBdCp}hLDaKShENMqNx z_C`_JryshLy@oM+Dd6~Go^=1nYR~k8a%tRavDJxoe!!^gp2Ze=4?atcs<$=sTG!G7M?&7C$tS?&asg5_ZHu|h@s(&8AytG{nj^qpt=_fpr|<||rJy{(nkT12@~^d;p|({emTi>jS0ueD^4abb0JycO-Q z^b~#VskR$)Q|ZDLdyFAj<1f$W^3veyp*PB}TlwX*Ilmbm@qO~V(c!JZ%Vm$Al@=Y| zR+22m=Kl>jFD62r_)7JZHf=hA7we{at;L?4)n@FP0zmeJx2Ah)9dGe$6T?C8;^xnI ztPP2maK52>&U%lvCcK4ewzqg@fNJ2RwYNC)F&eVInT}koo9fA_^%7wtyg9u#Ui{a7 zs#2f4p2clvS;O06H1ekJsKK7llOI(-kcTQoFy*M*5dH@_z8bg zyRG=4jx-3Q#jR(sHBj(couv=pwU(%Mt!s}?SMWx!ZSKk0KnGqcM~}|NyU|-by(=&D zF3x<$?RdIul%~<6wS<0v`pF(tC~iB$Yk4xgYCg#jT&Qu03d$I7URWIz(GWXU=0rnb6emLk@_3A7z&it_J<}|)f#j%BX|d8s)R{^-5%wcoLSy-C6e`yE zvDQX8E?nczl1z@ZL6HpOc|teX_8G4=_^9jztXhIHg%@Q`-z=!G)@r=veB-fJKp2XC zrroB1$eiW1$__TH&!{Fmd=_TK+9YCD{@$B_PbL$3QT|KOYz=I5a3u0XG zwJ0vmPeX2LndKor;LjdJoAs%;XdN=kI-*5Z_0}duKTqGPWYwyoO^7P%V9_c>RrR(k zsBHNz#M9!U8V@l75mKHa`O_F_v_iTRLAAuWfo&FYR*59sVV<9Zs7?qYp->qN7)g%F zle5HYZ4fpUu^}R;S8>}XeAa3jX-gCww{Ajkt+IxN>!3Bau(A`YohK@jWe&c8UR;7(dHc8oI-xi62y}Wj0h%PK^!Gn zT8SuYu>g`H*N5zD(76aHH8g987EzM%CLy8%vDqS`g4Sy5OII|lp8jujmoxVMuzfvIZX~loHM7H~{@c44{AG72ri<14h@M zHzAL#)tZJ}Ik+DAWPJ%e*6t{NL67(1IU=cCws2ROZ>%v#txp6ns)ZC_7gupmY^`!z zQ#521ittG#p(iS+t4QceGd8%nMvKTp1$!Q_Bd7OqMn9=KUv4TWCpW-#UPst0FnBl|ep{{(-4_(6dMuZFOKBX{pHs3Qs`F!sfYV!{3 zDM~kf{3UD1#auFZd0zQ$<&d~{2_2^TziQX!7pY%Xp20Iw+JDgrNl{a$nUE<;dwEwj zWCtb6YwaO4=^+EP*AV{jr`XXa9E^YO;*0nl;>x-Gn2xiL_`F|G?z+fMxitdpN2bgh_7z+at7pi$=%Us^OUp`%|v%_3-24 zq=6=g9&qOqe(#_pV&ZaQ*rAcW2Z4D>3ch1)auV>(yO#@uGiA$no?H;%_3C)7f-IW_ZO>(~`$UM8LEC7QP)deQcUb+Y6E^wP~m`skKnmG^x-0V~M;9|3dGnSb$efDK{2`PCaIlFv`r? ztq5QwCm-HZf0d#@<wzau^ag^{6gdK~ZL?l%j#B9??Z>D9Q?5NYSuU539DU+CUEb zE~jy*wV0Eo%vjLbkUk*O&)3k(HG#i?jE8+(@wx zO2jYgu(9Auq@DQ48nZ+M;EQK0xK|>W0rmkVglHnGDfe3kDR1Ogu-8zIqvso{{1D|C z{_4$)=`+eRiG-!fY5LwwfAtp1*HND3Mh>)&P@aWzA?2GWZydT4wxg`E8eWdH-6S+r z!_lN3j_gn$4MTQ43^}1)ihQC7+ku(t$DS zez~*r(VH;a3nR3_Of!@HEmBqo?mGO8gnRM9*GVN`_>r zlGwFbYO0vPi_LT{MJ~p(bO8Z9HA(nOR+Yz7=#_~xW@iG`?@V5eQv$Rp{@_4w^;lyd}HsAe8IG=^m4DVt>=JzZ#GkP-mMNQ1`_ozxMjG1d_0`az& z`AJ6>vFgaV=L_Ah06tPNJX(1l>-V=w1Ptv{_@` zs?n%8-K1#v$u3`$t#i|q&dW3h;QtYKUz(0^Q5m(riI?$vI#m1ON(#p8Y%A`8`hG$XQ;*v_8v(YC+W>Bz zckHGXqfcWea+)uFiNEAiTnUUB1)1{hPUvGNs*YrGHY%T^J;~P`x;hZ+p;}iBx?Oam zi`Lx|O!Lr=oxNx~F}nd$X# z1*{bUn#McMb%EHmWJ9gRgipJ{lCO*zr}D*3&>E09Pa8l4bT1b3v_8>+k0!7zU9|-T zt0Yj1n)$l1b%I+@ad&U}I*--ejNQXk{bR{+OqcCmnO>J&k-;H`R)yG65nQY83J(8)0rU{x=O}(2$zyZpMs~ zWFuU;SjfK4vrr7CTr~9`SVQJ5MN?xGW?QRS?;V}oN=AxV^H}vx`0Idg>}P+B4!+S> z+|1LyTIhkaBS{14#`iT z;9tOXAl6(w!1-I&sAn|LRLHg|TO^I|Z@juCUvW22drmWs39gOG4|stN71-o>&j9pJ z0(vJOrYj|UR(Zy*QXm-K_SL+XVUe^_>O&|`OMk$X*)tjv8p-Tt9e_NFj(Nv^rSX>Q zYrkGnx%jNy5SD9=XERojp2RgWC@Fsq$V;B$;`YnU>2)F$@O;$qd7}~8$O-l>Uuz{M zj7Tw4Dj7!*vw$&8okbE6UGT}_P5239Hb)Dbf68^$w(im9Ts2z_jvKtum^2PYsD`~( zu=S)ygzpzA5t+i6w-JY=r zRdH-!cjW&XuXU}K|B%%-dC(^|>LTPnaNP7m133D`0>#LG1hXIczYAH8WUiK1dc`JZ zWLn3pd$!X>(E;z+b-L7ha+b$hW_b|(J781WJNA41VBook{;#ZS5&b)Pu*VBosIDhB zYogYXd+O&=ts|aTs5`N3mgHD>9VPjWOecpM2!B`L%hWkHFo({=>=T`*<>N*9Sj|UL zKUIPAoX6hF5tS89N)E*|UN>oKM2rD>xJ1)i}T5VelANk?>oaP1mi;p0Zf0 z61C(YlbkT>>Q1(bRA@iEOWjwmdP|-~TXP2bIcY`J53VVj?bn#ydy&uMQYn#`j%q^} zn~-n6cpo5X-Q3vjG zBsH#Bn~N9|!yDW{K{EBY%0xjbgZ{X`u45Thc2QX$#6=N3$c)aBo$Z0ed~nAj6TQT~ zw1v`RP*BCDQD#(Ts5cU6890}k!ssM~R-uH7Adm<*jwLv)8E%i1`E@cu=oj?K55%UP z?Tz)@L>Sw4lg{GwadllgxuU!NnvtQW(}L;0cKgM2`<A9ibZSa@yf@@ZH^4$=0G3{d&4`k@Hf%P}&!QpxYy~>+LH2E7BRzPtg1$g^E#>z#Z;nJG~`m$8<`48CiPZ0=x-gU1I6^Y4+CJngWzM7)>)cxka`v2Y~>*(mIEG)D@k*Q8G);?t~$ zEB4h*J5*xKeq0({SS?S;0g$;MYZ_7*q_b3|Ql|L?KgO%7 zJrY$tR5i!#Z%WImK{I{1AN7%5OuD82y=;S||5^X$i_=PtYMLO+Sh&Ji*fSkjsbOB( zgW7LS+E>>DV84~ycCm{s-Da%$7^-pta%+ZEn(bD4n@Un4*4g5b0Z<>FC?b(v5|_I%zxzm_RVAOu!vP4+;8WJvy89rOn=8 zn)4LCpziPUcJMn||GUj@e&5G$lPuP1O@v<_ns~xuCpqi%VwcOq#9|j4zo~56v3ADH z4&rSZ%Nlw}MR?yC9NGMZAn_^d#Q0q)=wqqc)_^{GK->Wu?Ey)vztDIOe*4o`snxYB z-viORIcr9a;&#F%`cM{!*i%PvbdBusmcwZY`8qYwev$d4dEl7IDb4Km^2nI~spR$W zr>_tpBUi>mKiZpE@dn9?_c}EEqsT~a^_Nb zso{EYS*(7&_%9yUuNP;?FT{1evzjrCp2JxJ0YiVP7b!CkXiAbyrKXZC6Zzu2fF3XQ z7IEy&b4H_fYJE~U`a0J&_?_+aPWep;smuB4+IIuidZ$qR)bmY@C?_xFx6F5II+Xct zB!8LjO#X@oob=UECZ6*NGrWn7#NEh3MBLwKKpYolkKv2+7#}J0v`WQBNYIzGQRw^~ zhOLJ`-+3(gI}nY|0|Ph}3re7*&!a^(B4E(hqev{iR1f`JMB|V9jP?fex1L4 zZ7_XRu;fs{xMq#>v#^(ldaIl(%zGpdlL&A6gDIEgBZHl6E^msJGr=#;+hB{j@hynw z_;=8^v7nK2j2mJ0vmJKVIZXh>>CEAv(?;MrT?W%mzI`tre)(ukSrXr(k84Hz3lwnz z;z-||$)%{^I(7BDVC`SEwZh8@j^s+w#YMCbQ& za%nF=!yN<~oKbl(6@t-Q$N>oZrC-%08(^=`H@zD{r<%@xb53f*RsBJ(QCyC=8&bzCp=-A>D+ z;>xUcZTYt6TQ*zx((3>*Y{#;RGH@FboYT0Da=u^4*e);dKRsBvY2G zOcFuu2})3^bT}{~${CT3s>7wiIVnz^uKe^{UvPYy&BX+jSBQMH`{FxO)(4FB@r^PD zw?5NX_mHTr9zA0zPw2j^q^r3a2H1>CJvgD!*b6_^0AgwO7u%`ZDs*MLZ%#nvCaIq4$LZ-6e>UTpi?k z#y!|o;Q)d&*9A(x@*Bau_75-SK!+4MXCRv;*ecsqP5t(Y`+`JZkzMRg z`=T~bwOoQ_tMt^J!oa0#x(rCOM_#8+Ek=^tM3=rtDcT0_1TlBbgMimhebtQ#CQ)TklP-5K9df|I$(>K90(C7;;GQS z=OHbBgtvjN6L5%?4c>?77brc0{G-zp`am#ciptZ_Z)C3}A}%Sc^6WD5g5jGHQ6xe~vS6YMX50cJ z;>a$P$ZqRo>=lTl1N`C}B58|sA&Fvtsv7{ep+5~2Ae0EY1&wS+dSA=?OK$lR;sECB z9?GAULFC!X*1104rVgAyZBj%_?7$N4#wpO}7F5v_tf6mJ1cWtInC|II1;;6@(cruz z*%kK?A?EmOH9qkCr_)c;eQnR9?IS#cFeQKzDtB{v4k@7vF?B))>Y{v}-5OyIL{&0o zxjcpa>bhK)6zYUCsm~oLcKxzS<&s!6&(3d?Acs)7;?g=pz7 zRt7e3C)!WgO4sI>Yp=dwH+*vkPj06-xMMoRm^^F^M*oN-`wyYvN-y?jh)d2WVLz_k zFDM5Bh7KPi*VqtEAduT<=m%ojnJeRJk!rv{e(MAoH%n2K2AlfqmtjoN6<>+2n$F0r!5re*anCO03^8ez-%1H~%_R*6(VGwm~8| zS-(FNS%>0seV)&1{sQ5{aNbvlaMy29VkCXAQTdhvdTC+6`aVSz&4GFn>+?#8n%{dH ztj{FVi*FPd-SwGi(d)A>`r$kp_aFxoVE8OmRDOo;aV`82fABc_A(tyypug&<7w9rI z{P;^i;anx`X03I4s=s@kZv3S;yJ-=1{|Rona<1|yAyy8Llf?jKRkW;pA+|tCO~AOi zhFw*_T5QakhBOe8w0pGQ4ISN|>)b(!3ijm2c}fqRk4CiP@oNF0#BMW4#8K#EWLc{= zO73RvB6;<(AzI}upUS=yNwmpV^n={Lc6vzrvC^H}6T)(*eRB&}Si+9hZSY03v`Ghq z<)5!k2+M7{^yf=NSgwcT$y#o&=CNAHzvHQsD=NoKM&}gC&oS~5m5)Yzi2f(11-~F_ zke8(|NJFv+OU`looO_hq3K5_Ig?S9*jvRWN*Tj*J^NOK2I)8nKDzVb8DNw)CydLT( z&Cu+%G;9A5Oh7$BnuwNmPeN_yB|tXSqh{bm`INz~*f>nf2wgcuci4dr?L*Hiz)0(R z;9}%#p)2a{u298BrRZ>Shlx`P@tw4?O%625oN;!R@wYM9P?{_$zXA8Rg>!LbR)l?CGJ_f!KM^&lOIB<5pcOtVH->P?%>w z_-Rw{9DmSVct@Bs z86$x;kqyqtif&48Cie{!Ixr5uUVR<6?q=AJpG8njS+q<7!6b!7Q##ZLROB&{aSh59 z9X?pHBxqc{M9GfoDMebpU#wKCfUN!YfdaQZ&%1RBSBGS2K<{6vaPO(gQ6lC>0f>Xa z3{)4RYPISP@;LCFS@PxN^Q2gj#;^9}`3*?Jh-^ljIQ?W$Px4l(eklBo$5oeywn+rS zUrh_A$ltyp_`p*4tW)}pY^b=1aPxV%F=rO+Fe@tH|zP9 z{^(_|bQJ5dOnUvT{$QjgcCOoF9n4De^m!6Kbp=hN6=5w-04-F~YT5gsLO&XT14is@44;#~B#)81?% zNy1vBz1fP>^A6SbHVU<(>s;isvQ-Ur?%Vy0*I z!A$7`MD#7q4X>yh+Q7e=5!rL!Xd-=N&3&U)+P$Ps*eP^te1(fS-q$Jndlx=?6!pnf zwTM?h~mj~J?z59+AfBqs0<+pCN>iu+v(knsw^TJYV}HQY)6Pa6M`net!Vjrv ze-$pzRFnH41mIidt?EUc9qiz^8d6AYa;6`_=c#W-S=G2kp;LnCUr01uPZh4#ycaCl zT)vCdh4EXvMN}^-+8_Vfe!^5!X;ki3#8jF$TS)#&yDX4YYD$}{c^y0QtTekl0y_L@ zUHqLuv}^=IFLa+j{7yC_NekU2h#7LBY7U(&^tEh=a=MCXqggO^twiMt2%?s#S-|{7 z{3ea0(A5b9CB4T>Y9?OsTgWkHZ$i=$s;ILT;LkQwu=U>q&BgjPO;f=zoy+Lr-E4sJ zhd<`TY*1RDeJ#2x>~$CQt2c8b)};@xm}_nLi7>-=59R`h^`o*`0nFf4-ZtzLH>f#_EShp-&njz?TZZBTO64$e8Sk^IrwF60Tld+(8RUiw`f1wLIgSgDREAMdL z4mGgK?v!322fRcTJtU@dN^(j=GNm&LlT(UjR%2gw*$GoxqgDfspd$D4&Gz(+kY5aRNn`ZbE zdHPRz+P;<;?>OFAww}%k>L#c2`RmxqTXB`5Jw=}UXZ}7Vg}?iUWIl_DER^K$UWqYQ zPL+v@-YA@y9lB81pU3|;L@W)dzqfT2WBO))F=yx+^JJ+kq+m?flp|ImYlxjI6 zE?VTNnoOY-2w(T+Zh?<#%;F(bG8ntF-#YB83bg&zUwxRx;(h!VU1w2yetL@Ds z@Q|>&ydcg2k)<>mf9kmXVp1QGb-7-YhdL$Lc3iPQ+{{EeCB*orA{2&Cw0y1P zn9=c|V1MX-GrUlvU;-^1%HCbl5J7` z8l{<*<$31c8F+#MTxN<^Km&E5d(H4ing+%T8;m|TiI3|9AE(fMAes@3nUE$?191SZ z9qq0Kk$>^cF7T)~LcQ7gyf9Ocz}Dw8Qrox$@NuTX!oi_n;T>eA#zIJAVZMGiLbfbV z@i4wwuXGoon2CT)h(&0nQdhl^sv;y4i(TYeVq)8lFq2pX{+sw4k-*<&cMAR*$i^do zbjMdY6Rds2|7q&j-b}ACOFo-)QbRndY;ssy#lolMl+*Lqmf%cj6h`H2-cKw+uE`NJ z*PWe2^DTnr`FEVK4852DBT~sX`@<{MeGV-nekgCMpim(_xzpNlhUhuuOuin5bn!kg zL*aee4dA^Dy-4HTtMPuherP-3{ahZ#H_!P!ejAoRRWo2bPQEmCVGOmAsE=uBlTIC- zz>aLD>}-I>Oi(_F`CHmZ!Lv-de65d?j`4K~Ni-$Nm8{a6?Cw+0_Qk8bokc=JzX3hta_+KbIPZxe= z171rhYIL(clnzQ)=w2@4@gR;_TjDdpM^>fA$0e|> zODPxXs@Dw$AE!`NQ_A(4Qd;PT3xA@WL&!FfQ`3M~+234MvcY_zt`1ss8I{jU3$FOmT8oIV=g&&u zt-P5go|l#X3n(-J={RZj#mz2Au|VvJX*B4cendc;h{dQhH%%e&bs79oM4GJVLj^Cf zOFn$SWw{@qaS-_^)i>7-6a!3)>p|ovRCn&zI9#dA@BNWx-jeb^N;&JecAQvzj^3^I z|F8Pp-TexzrFqUToA53aO8kxcrgE?Jx9*$jd!;AdH+@Qmr|x?;yl)y-<;UMQ4c*D* z&*Sf!ag4_PW-6aQ!D(* zeatGN8YK4DzsJvA67)OnME$~|O)+~`{#m}Hin@d#J1NP>kv>uwjFL|J4_qAW!a=CPklX(V%mCUWp=kz1qO!`O`F$n+OD#$$c7(y9Pp= zMJ^bN5>WR}KppBKlINx~5*(!Wy&eTg1IhF02p5vDhQzr`llsP^YP7SrGTK#$nE2zu z!SVH@e|LSkB{ANMMx8L;=D#!E*SabILt`0h=c#(E!w?wmSchmJA_Ew!4*Mz&LBss8$zFe20<@6Q$F~(qgAJzPA-6%U>+sEf;&Sx{CkgxlH+fSuZpykRaZ`Fk zP0-l>;HG_<7HPyY6iPiuKU%w)QJ=)4_|{bW74)hOTM|a3?9fHZmcWgTz4oP#02({@ z@>2!ybbc8Nh~`j*_~gt5ReT{XFIB4wZ(+e&eNMb$h(V#Va`XeEW+2 zX}a64IWr5GaCH6;+IktbPi=ORB4|>#{=^+;L zn?bFVox9jU+l=^7qmxlCHlA8!_!d(!YuhvIksqt>y21#jE10_!0#5V_FZT!{Sdbc* z_XeDSWsGfCQ$4me$x3$k>dF53&k=TiQRZ{T0sH&{q6o_=UUG%J-)I zK`5yf<1Qz6;e%vuQ-{MCf{pp&A4-87)e`Hi5gtXxj9rAV$OpiN8&@O+iO`K7H zh1Wa{=j`3^?QfEdPiei z@QlhK{FdCL)pirL%&2oX%Q34Rj3M~5T%+m}e#hn(0n5-&LVnddntI+PnLEnjj!=$R zNzK|F}$yX<3^u-zbJ zB5q7>I0wH~jwje-e-LM-Aol)ChK|ohneyPMfPc>-nKLr_DvvdFs&_3lF_w}Ug`SmF zInrAd4dt9`9B=I~BBJ#Hil^=oIW-WYrjizde(s8j;7~JB{d#tq=Ur|tr8(zAPHqU} zGt^hH1v$CuYleKyQeVa5;~Zvao_D#zkmiU7i|1V~R-`#UsIOd*NprqYU&XZQe9Bkn z)f+M9Y?2R~kK^?J0dN#}JAkK{#7s$%JCy|ofgZI!R#~6~0uHO=X|&$CM7&G}=Tm|R zm|QSIIjgF#W9(&dB&TTk1VrX8mEx~9^SZ%@r^ouHM>dF*Su6K7Vx_Bkz=?lsqB-&3 z;8Mg`xTp^H`;SM%zkLC+a{+Yg%q&w1UKv<cjRBJI4XiscHiS>nZ4H`YIWkI!h? zxt1a6-i%q(74dy8VXE^5oLJR(4MUJ|gr0qA1@ePp!9=ul_OTtaQBRZa7QmkV%} z8rCGx1~8|B{9qDf0=c!+5D9D=cmerK0eQVUlD{aBxy?+*vINNV(iW@#q7dbGLp?1&NC5sf_sg)&l)4xO zKpl}9d<{D&(Z03I?usf$tg${8?z-@oZtFf z(XYhL&xS5q^m;-cq+P^AfOVw#7FSTn99;6)0{()qPmBjX9fll($_A^6HDZ!-Q;ym> z)Wj8raWu!HiMu5hMb1XtNgCRRXd2oq{FMLuoQnbQIDV&>!k?M)!p{Va$DE~9N!5qs zxzO_}sk6rE4799r_4X$otw?&8Ip-pl#8))m-iKrr;U1ZyCWD}RjBixI2pQG)#-Cz0 zz>JZZd@9F2hM}p8^@VV3#;h(vtDL{&%URmhvCL0MBT=`fkCA)vdcpiFY9eK^nI-Xx zrR_IWkyQ7`%!7(JG6d#hzefeI){pgMAPu;@H|&^n;ZgxDS0-6*k zF0n$xt7Q@#q0j9C*((V^U66(9Hwt7I4pG8VW72+Z4Kske9dE`o1K9b`Dz%0E5TWSN zUGls12g$7h*4%<=jKxproA#{Ga9Ar6K|o{u%;@m!x&ho+cu&( zi5y2~0c&J_JZ6?mVs$AKYK^scuAN`ZAMtgPQ?bNeU95K(V(f56$VW5kCC}?o00+x* z8tXD;RlC&XloScFmWrz^&J|^L@w3{ULn%k#9#^B3U^nf=q{LzK#dhE8S@qZ)D=$@} z@-nCqKaYzgugR@gQ=lUjKLpH~TOQE@=6t4v(yX5UlAS_soAs0sJ*9e$+ddZ(D2Y*`u zY`gKm3PHzo#>mW1<<6dL<>e>Epl=O->>)tICg@*93H14***;>mkc)<}8Ae1-Ex_F8 z#bECCV;XZ!XeR}8=hK92KoXd{j{K=?Ko)T#Gn8fli<^CXmfrZ90NIkw6d)e+w9f#_ zQu`s4roj^_hUo~oufEvafzKB01!x)9quK~5qi1})UZc_wz=AJofp1uSF>x~Cy^A_JO z`Iu5;##QQ9;WE3$5sla~1z4H=>r=^{T_b=J`3!F;Je0M+LL}|VdvBwiMfZ(nN{8Q$ zbu`xHhUFp(y4s5_72h{!6Z5IwV2Q@vunsxIw}4 zTF#fdJ&}WI_uJ-As~~&sU_f~SsTs{m+lI*k_UMJl8PzeXFcZLxmSwr&OTKjmibH(q zcl-@lWduM>gGo+cz2XGx&G{%V0YahOv5zZLAJhBpH5q!q+(L8Pk>#uceSScw_$d5E#`L2R-b{mPcz2(!hSt^2W@rf_CO>e#YQ4q3R?4_=jpPU$GELks5}{GI z#<_|jd$>OOCHB3LeD%*V_iaw^kRZOK#iP6&qU+faqWkW!Cb}8ySddaDwHKmeQjN&z zGy!t6;;*!l+1667#r?As(bX`6D~tzD=PkaKUQekp<4ZOms7p2W69;z@QxHwc-Uwei z^M$?cr>gU3K7MO`RQW-ko^y7ZzR9CzAiTX}%I1uFJNgcfN)eJL8d)xQOS50OQ7%bjmpXLdaTVUx5_a^H~WeU!~$qk-bk^1 zlT;Faap^O2a<&XZE8mM{U_+!%DL^Tz5*Ez*>1&L37gD5DH`BNfO_re1#JV30liK}i zXiyzh5gdZaOu}7hLR}1T*ZDMg>mb6#NG%+Qa|JxPwzF7|oxH(mOQgxuLA_9}bK`V1LC`NejJbJU29 z$R{$~Ses+d;KLp5Qul!=QzDQTt;Em#08T25SNx!BuuYm9WvJ5LlBAo)ptSO)_=(DZ zWUSWLH()MR_A-HQ|1t&ty7v|QFVI}#{6hS{{nmbcW%pO0jh)%PnYcBJdq|&b7MbQ| z$=62Y0ihCHL?uE=orh9){Of73)KqM9kE??gRt0) z=EpMi`+%noV&Nrq#ciCpTnJ^|%olx?PNsF2-F8glw7|%NID8wGeH9FHmZpL~62KzO zs1zrA5;>FP6364nhM?89K;Jc$SE?>kt{h8Q<`gKMLBa$2 zO4Th7OB%4y*(yheL~*>6w;-}RbNZ**SE+|aWT-03iZ|6x>dt`F#zdV8V}Qj?>pR>p zuwi8p)TU4PxS) z{T9;P8NlxW)28M#>&sIU3(`7c1jSxpON!8k*)8IoWOZc?H{NsiL{kATHkmtQ|ZfR!Kw#VuFM zUt#DbAJQCq2BT8BN@2%>d7YLPmS461`gMRk7dJ{p;OWXGo0NzWL~4osL2q?yBa~xC z%d|_4lSYl?{w8rh11DS&C4}>Cb8K0ww2zoS5Fj48Cq%ab7vGO2VI;iURTio;85(~j zk&rSb7D|EaF*@4!&jc*lB+32MLb;#Hwy@1N3{#%x`-KU2vX4T*F6P8aIP^hyJ-~`m zC^Q`DL!&GxZN;uE20LY)@Rw{1F~E&x_0B6L4pO8i?@(w&rKFd^nfAT~ zIZ#nefb-%8{yVbT$tI?`8^2B^WnvSfZNi#m$upmCM1J5tnSx7jmQRP=|HQ|1zY8Gx zOhf<#HhmxE=C{)s%8pPbM0IMwI-=lvk4Dtle$YC=yY_dtrKibNchHFqaHmML3waNG zf?hb_h`nJT2;_VGBT-}XRpo$n%+6SUOwe6*ri^%UL0gDkI9M>B59aU52@)+v`2 zzi;1FXQz{gQ6P8$woBka2;p7cO_``0xSq^JaTKwm`~rmp8vJ$2gMS0Zi`X&{4J2rb-X~g5sM)mp^3%#svTLCz;2-LAeWz)f9p(a`)QJCNAABi2 zEnchNM_s?^0KCqmHZ#K&Xm61=+yj?@Rq3By>pYkZENWcw=KpfbeUhskw5`&aZMzWre-%+NL8?JBl4; z5T^|_SzAY3D{$1G3WRPz*w$pl-SSY=nyfnadtf9yj!ETleiQgB0B$90H<87b1Tx4A z9X%Tlcq4KO4F@ehQRB&yL$K~}b-ouRykq%Bxd+Z0KV$_m3JRdYj$G8=I<;AF$4KN!L5^ASP5D;zlR)(Ld^2`` zo>-H*497;}se4pwsa&ru`L2AEvR`sRlcn^wf)NtLZj5}4Ak28yHPOyZ5i8~WoEcz5 z%|A8w6`ss;cGz9DqFb4`u`6vsNIHAkIaK7B64=)q}oA$pbI}`XQtE>MfB$3GCL?Ie0XlkPd zMGY2|2$2jVFatBJB2iq>xS+V8CdeY2Gow5{4&bh>ed}Ah*xFWG*SbMKHa9@r&{lBe z8KQtoAuN*r_jm6zlL^}QegAwkGxIF>o_p@OXTRq*{516l9ukwUlZU+VAMFBbccUI)?EU5i%Y)%JGXJ#ct z-P5C$+Zwl+ha<_S%H|2FmD}N25$7qhXJ4PXimadsL0Qt=&8LS*Wix_-l0DpyxaR=% z(NXsnnKOhU=X^XedGkS>6L+eDkOUsLdwgmMFDfJ`0$2axfnyHk{;RntOaC>`fgaMJ*q9w=CLI1lk9O}cxC%R*X6wA@ zaY?twFwY3 zCeB;o*mWhu%~olj@NFUYMIY>4fdrgSb40mC;HO>s*dJcciBe7Q*5;Bdc(vg@w0>(K zahQ41%yn~(TTt^2`^D9Q$`S{6E-j5FZ^BA{6GD%=6H3GGElar}w%Nx(g+y;%X8>yC zpk-=aQZoZpO2M&7H23eX)!bfq50JITjLK(nWcMi60!Dwt0Vfv$?+F|XMBsc+*tw`E zjnqKm2B|@9RJ@CQB-9fS0|+Fl%WkmX((XcyPze!elJ^0Xy{Yg*6~{Y(~I7WwWd!>x3D<7g%9~b3k`EJJ^jPn-q&z-rWbRb8_%3)pJ5YCsU=yAu&&H7~jC&u(QjT7vUu3w9XhqGN+0D zLa9=kkJp7e4ZU+FD37mgewR-QoHf76T8KEyo5?@n_j}DRo8KFnpNY6tk57;uM0kqT zatY9&e?;9u+9}SZ#_uAz{jT{6aH7nvH?H&dt=_e*oyk|ecVDabb}TQ)`}LGSj`#dG z2a!LaKRd><8-MS%Ku+odQ4x*}H;TF?Wk!)LRGqcvz-RCN*KycjZlW}R>DRD_IUYT; z{||@i!y0+)8Y+8WZeIYiL=7S==*G+D=}x8B(1WrZk;)y754K64)NIg}ngOsf(IeUx z@AQwNpF|C1I_$<0O^2P6BF<$wslGhj=fhM;AFW=)nPhLs0xr1Z%drU8FBC*PPL{e` zHJU3CXQ#KLPsg0paNXFeo=UlEbfb|RR{k-JQ}2E+t4$V$~Lo)}Vy$UkpB1m3Un%jEfxW%g^jyRjrZ`t!~#}j~|oc z7T?QXQk^Q-J6#v@b?!0b7ZA7ko;_NGCUI6xDGlKqVC9*uU&~`vcg>5UU{%2Xd&jDx z3?`@XXWr$97y;3EAo-={iZS-H1W@GzbTb2?QncSG)V zoNIC&$X@~SKW_={jF9Hd@2R3RWoir{Y{|R z`5N8}C#UBj5cj}ZW;}o2)P6ki3ffp~j{8m>$5(4#?p(p3h7{TEGK1qdWp@?>yU`=z zJ-oh!&8ispkJ3D1q;ebsLwd*7GNM^6*bmf~W4Rp}b?bq@o)Pt>Ru1xaD$%9mI_;8e z`Qsz<4Op~}~oM|1Z;!Z7EUS-S8Tz1K}Tg-;i`*?7F_BjM2;E4K3$$U^5~hhuX^ z6_TqvUumO?Sx`l#>1_zen*vp|6#}@)cpdxg8w2t-gS^#ya3tdJ`%#MEFyq6+&Q)M@ zO1V-Jz+Z)?i0^RcZ~3M=qYF+I=fvb8FWTV+y&S9|{}{c5-EoB> zPKXO(uDX?B^hr?iqeC|53}_i>RA$R?DoNw1JNeUIzf98))M0`LUw#Ai!KPzh_RsQ+ znD80r4P{(wfyAdM);M&o{Igt*?|Nl}t#|Pj?FGXZiBfvDe3AXm;sHt1E#BYe*henX zBPhkCqSp95K!~vE5!=%ki0@aUL@8{I5+bk(QGv{s6Cg1qs`j2G*Lfh(Pd8BBX=G^w ztZlmgP6uTx_xs`lMp3z|;Y@GeOg-Po33b2}Mg^oehB#Jm*HZp=X)J+Z^=J$v-baVG z*C3eJ_<^2L6L`7jzD3lLi<7iF4yYAr=uunQ9EcCcmgRO;!D8LUaom^NwF2}zd*`@r z<__7tKQVVc=ZstK1YRyUmK&;7+=1)CN`hd2GS~Z^#&uJ4KE-yfAjWDuVQv%$^#W&^9d0`ZH@^{!)d9k=a2xL(8Y!tpAu1608zZq%xaUvsBc$LmrzPO?%sQa8@-&6)`@O&b3@VU=9ryVVeNTbI zQZz|UK8ogU_a6Ao!PM1aMTp&iutLZ<1Gwx%D+Zu%fYycTlr zv;S^u_4Kw@j}z!W25(1hn1BscH}utDK&9MB+kPOcEkcj!vCklT=*J@9!k5Gd6Q|IMDIU>2lswFg?3Mmm46xl=zTr_EeyrpzGwn)lG$T&0Z8xvV*PQ&`Yl;Y8HjggsGR;+8v9}r#SsrZrZ{=iq^owF|?w> zW0;Kly-%(FOm%VEq4ZZ6XE;ez+d@rSIp&nY6J+dg*_-%*#4>3vVZ1=4sjgB}goJn0 zeX?JdFG0eV28)FMW_HXx3f93dniWgP3~OHD{B#&8^&Qp|_LM09{TTfj(Nq`TzWQCGxwJ;A&|*8LkRc z?ah-z4R^pg`Q5Q?T273KX|qty2+2Y@nZLe;ay(z>{@mJGuZm%0*;w*#Q++NIty88s z8da&uO>z4jabq-xf)leazHV}>*8gj4PNKE(8qdqI)>nPREqIEHHEz%Ehm9dt@)$p8 zfjKI^hp&_$U_;H)Xdt|rS|S~4DtmswV}V6?@kot(+#mT-Q+eF)`ItM?Ettt?Wx;g) zI$>48B;MCQ-;N8!DHs6g89Oc&$KTxPM+krDztc2-WqT&CBQb0VODXWRLAtbcK1 zX>*@8e>dFp9msKu_sE52v)?$$kopaw0poLS{#0&cYX`FpvM_emVU3@~=9cEp{m47+ zEc5hnB(MDDqp>+AgF~(KWJ@UuR#$U8ee*M>f#qb0KA*Pl=ePcXHUqZ}5+x;zKYsd{ z90!M7{_|9cX~jSJ93yGXI)B)<&<5{;=RqHMzb3g*`>+!`on1A7@S9Do$8a=buxa-( zP1|*}82|4n%-vs``)YOInVmX=skYa~!O8qly>{66{(wR#`5p#iim&Uvf%acP}m)9h3wc`&u-_rleVAEbO&}6}AX80ce?=Bpi9C&nXZj3A(U6MH@CQMOW@LuIYdUhZA0!abBG9aHMgES3cdSz9_en9GAd-ziDdCe)@T`VU-6^#{c>|3usR4Vmqji2da%5Ci+SEH`0Inw z9FoEPd|oAS>{TPN>&htvJh#Go6$XqK9*u_@qtwivKAq#vOAs~hJgXr0z^&e+#~s9% zS^cqIaZ_*eTJAeoGI+t02t4Ys<0rg+66;(_(^(356J_ZLpKBv0ICu|Lz=DwD zPf*1hsD6ADo9i0z*XonwfQ-?)JZ<$hZ*N;)#=f)l&cn{TZwHW*6sod?CUv?{|Kg(@1j3N^g!8%lP}bDNThb?_MSqwzg<^a$sSk*Q?&1 z*GZpe;HeHkpQ*ncbpEZ$CI%~NEn!KS$&R><_Q;jK!drc`a6q(6!w8b?6Kl+5&r?6i z9$_;Qy#IO8+>e6u4#^KLmH#u!*| zVtRN#)$q`N@ayk#qKuBb1Mk0nYUZ7DGPrBRDWmFd#~10f$2*#_i7eaZqs9gGJ&KlXlL!5?^BI7z~mrrWxb=r|x^g0YMIC=JeqSue1*VQPQmR=*y4oj~ZTIxhV zX&c}8ag;M=&QuqkEy*yePDMsL3M^=5H>y^;(vUVyya2n@)Ls9fKL=-?%?I5nZuJI5 zq-m&}YGEN5XT+Vv8r#b_m6(^%7s^?qy6&VnY^nE9!0&AX%$qJ=zLYsu#?d2)37A$~ zW!I>q4>ipx6*HTXe&II$D{3t9nM6)e-(oZGV5R(j5j|>LA-cDG!eokR>0^8z)q>cm@JT5FUG|u{(D{##aogLAKixNeN5DsO?a0S1)Zz=7FpI(ziw2rZ0zu4@6Q=2vAECjl>)I~ zDmxxEckwIuQk#o!?TcDxXcuqH(f(o@r7e-kf#vM&)`&yBwvx%VVKsIU;HL)CImh)( zPVHlY!pR90n7y)EfRVHRgKMs)G6wQ@2LpQf&zJ#fnkamyh^kzU_;J64KY-dLC| zUu%*>5#%+_5a1okOGtb8WtVA!8OBJA@6|}&ILP(by=1SAtA$?%615;|-iXo;hF041 z7n~52gYMlKt{Kdx-pk;cXLl(|_2hlu|84o@(C$9J{2M{9%U z-TbptFKRqgpQl{Zc(Bg;MN4V^eV@02h5#bY$1k4(HNeTe%9l9`1Ld2t*8moHW<0+0 zS|+J6L~5kN>Ei2RpH#=T^dKvyw0d4E12~xHjDvRO_o3$?d;Oa`Dp_+JKE$Q$yyqFt=PZ4BE?)%ugM7->+>bGYIsehC z8s9#I!pX+mK9KgVsI!@M?A>i|a$)+RRF_Ik$DH8YncURDz?|C6 zKvUNblACN*d!L5;&s*;PYEo5xlSsWYGO!Xh~^B^QT~ z4h`l)retVWaleB|zPu6l`Sfyc=Ma-MZoJtCaTD&QyawkhZ(lbP*O&WzVQr!A?DASB zn5WILKj%rG!af?|4&32ghj)uUNdD-eC-H!5&qat4mw2(SI$~rfj?al_4{$#mI}xrF zLsF56dBNbIQ*q_scw z#1Gfh(mA#{K(bN+$IDXkL-i-hbAu)gIS^Nf8pce?Xez54K{e9t+oF_*ll?|6JFpQL zCm2{o4h9X0W6Un$9oV6fayz~64!6DcKJdjwOaf_AB%`iEljP}X1YzD_v;uhL) zh?aP(f^Fn-iJ6F2@7patp)e66{fQX$l_nyPFiRe@4r5UVMVAB?_JD9H?i~9Ve(l95?RPrv^C0XnX z?^3^shfEVq`1@$$W10|92jfyu6S;hH(g34cnahj2cwg_9`|nQTT}5x2_H>SY!g%2Q z@v{l->D36Incf?3u}dPM_#>w~5QZ<_P~4F@+8#yKjZ%Rq@eDZjwo$N@1cmoVP>8xe z3zGftFj$D~<`BK}fQ5t5f@I9;n!v))1A(T=S`Jp2N-F97OPbeZ%XjaWC7sz|)wM4>Z-TMi zqXLVb_s0;P-}>;9M{)v*zi>eos=#7kw*!1_^7`CSPVZN1oPK-v=tZ5K^P)-RVC$59 z)ITxjcf5^@w_4djFuX}LlCx^aRPzy&8eqSrS*G)t z)K$zbuwV^K&kuafH4WpX<+K27kMlxiF-#0KbXDp|2LGn-CE`>;&UPwiReT<1$y9iE zclJ#N!U0ti01}NQTS!!w3)((Q!{jVQdhLevVoeoRHo*GIgc!~|ouo}26=COeSpOt< zA{5>@StX!~xzBlJ{f%n@2#YAJpBq?MXKbZ&P%>_p|%=QG+zj;%^@ZV z`I{o&UjRsuqhOK~_6verzv6cc9V7mkfp8jtQP-6EU$o&Z`m50f0`bcsc3PKk8ZfJX zksKsuMXs!=4;*z43B=#!eIuJvbpi$}!EE#PMrA_ew7e(Y(JF06r5}IW+>lmXi645@b5A5XGNUeJ2F)66nEgYAZe)& z^HxJ4`=1udpoIFE<|)>A*B$L+TeZGVhSg6-fPLs7O8zWTPeZkUP^* zdg5?Yvy|-R%NHB&BQbG*H3+OFcU|xW@hfIPuXXH23W1>-;lm0nk~_n@b0wLKvhK3^ zgE@XN^;5!~CaX}ipK^_AwY@ME!)9V`A0P(hJ^5#UZYu%P*y&Kug)<7$>R)1)fb7A| zsH<%g1iZ##B{A!%V%n2vEcZr^G8iCNVZ2cnbY2>6QfQ;XTb6H>6^?z7RaU_+be;)0 zhz)8p7_|lEMGvm|%xW%t*OUDN3-+JQlLXrW@elbHj+OJRiEpVh$wRa~zdh3LdBP8S z4jtI@T*K3T*z>3#^c>IhJd}5A&l}F6=L9i9^<3edm+m<=E;Hr|Gv@x@n|c12SK5)p zFX0)+j9}5?-1MnN>JM_5Zka)z!Z&+lSa-gqo*>GrVr+-5V1CbM7Hq$t=tL?hf7kO6 z^C4WP`#tBtewP^MOuFAIvin^-Hr?;NJY@UL(GU-!UouT+ru#YA^aJ?RCNb(A1e)VD zcQ{~(bJbpEi2FXt8sepyuI4gJwyVqemg*_y#rdtbL5L^*$tT1U4SlTgoOBOpI@+iV zOw%l#nIw~KfMLDs98t8*bLr4X^PmE`uX8i3U9TJ_%2diNy&$1E#T}ozn_j(HPh&J2 z;=MECBUD&N*Ucv0f;0?i;+gT3s6|UcoQjz*LL(2;Zb$(NK5ck$V z{GaFx@FPknmn*LuQ*BzQ&?vPET%g;tbDNw3G@U?VGYT(4sT6`U)<*@J)Fr5_^1>6C znPIojwjc;4&B}Syq!5PP8}V?GVsk6cLaDEJ@zr#QQ47dyI3dm)ar-L`sY|&2_3(f| z;Eq=i7eXG;VLzfcCgL<8alw_VX!0xVXPk|_zUV0)mD*A+sak3}>u8=mdHYgASaLMA z>Nh5nwm-t2kcyWVh3D_vPbe|4Xe%Q#zF(_>!&Vb15XuOO7%R_SsLYoQouvQn3cJLt zI6EM*fk(V;6u6=0<9lS1Xd^&P`pm;t6yQ}dd(b3;$x*pZ@?oJ(`fq21x7m)DoR0om zru?h+`tO(MzuVD&TaEsEg3*7+Nx$&*-!V)L`tO&8$Q!kPp#Iy{>c1qCS^f7!)8RR2 z0eh_e+mj3K(*~eq!5x5Jn>;snq|%<~a?{TA72dL8{#yPg{fM18@JD=w(6o0sk4f;5tQJ_%WRzx| zY5k%gV%ciT7pI9y#$&At0rzM@TVhna@=PAcB~BSg{K4GN_8MnQ z9fner?IR224;|q)G&7x>qU3;eFewKl0Mm3hS<4mip^lrOprh*8640wqUS~?`GT^GF?Ij!&5+R?IfmD!C+9o zQ^DY~#3@+q0oF!CX~;bkj@E$RL$lC;-_Zn%3!^TpdTAr2Hedj|%nZP(`n<)gz^j;* zj%YB*rT#TgFV)G;FB{mjxiHxDMN!ScJ3y*kNlvLf}3e*1~^so$e_+GnrQv*WoJjtwGz={0FsE?XN} z8k;CpE{(L5-nq+gHe+~j7s0#9Yx3`Quy+~5GJDss(ntKepN%l@<^>l1*4{-#Z}JlU z-IexkeqiCP+%n3fPzbxMO3=9+fCm-TT)^4Q!o#=ogZr+?aN39`6QVT&r*gY)u zHDn;3T@f~7b>SI|&{S`DIYxWx^oh-uhQ`p8NF2xAS&ZqBA3S)Q|6n-}YR4r_4q|wp z(?k0fFZ3U59nSQ;tm#oASw&<(pFr|ik>!=(MzWn229|-{h3MdThHLvQWq_}k0nRM3 zNPaOn|*4>)=@HG>wS zU}6k3M-Qo=^O-t@J8*vQk>?=v`+>3U*H~&28Qc<^FRy)VRt}3Thk8w2rSZ)XBYRIX}(uUMMsNjngW7<=%W& zd*wbs{Y_m>57O^638|yF5}Y3`ou?oBK?C>-xxKtY`~hl{0!Q0c7=P2ukaw$601c=O zH~E8$?XiQarCsZSN_5bS9;e@k3wAu2;3eoZ6y41yg=^E#x2x0>bq}c(6RbgVMVO?} zk0|_#TjfH*p2O-(Jr-g*ey=}Y=+8d==|^L!Y5H@A{(Pisf6}*wd^7w>`Z3!qZM@_i z6C-2mN04-b*q4*rg-PlZ`l!158S*9r@mr*jCGperS!yb9gCFv3&~LxYHTtd8iV&ea zBQX((xM49a6h?rPQ7F}Wd#sN!P#%c?4Va9aI*J$Eq97+224nkM9irbHY={D09!Px1 zGYHPtn6eu8bfdkf%^E4}X>HrPfF0ImA_#d9DbOo!!TV234TcZhA>m+4Q>U0FErQpX zIo+DTqZBre?O_MQN*)W`DoGOClNU(*-LxX>Xp`5q*iv{sHx+2zUIhg}TQTXMyOCa~__BW*4hyfM zv{L3)7xSLY9?>mhs@S(avu~B^t;4xhntrPhp+BlnRjz2XJbk-7`}PEG8?ypk%f4Na zefuJAkJH=Lx?N1;)tTEI>pQB@wryrnckM1R#?r{$VTGoM*qo5w70jXZyX^G`W^vhT zt{3`od7^N$&bOm9UWq~_I|tgod(kmD!`*?c-sRupheNQ02$X55ReMiy442f#i9<#5 zxKl}lngoR?CPsxd6ht)1)1*KWLZWE#Qe_dEY(laKO*UbXpG}D3coe=^vIyxwF$<{T zzMJGV)>antbJbMnhM$HgI$5j->DWMS+&GEp{FKpvb@<>uO1{Z*ya>y&Igt1rx4fq& zvi_4*zuLr>diT_zd+);_Ben;-@dLAL=9I9hJm{FqbV@-0?xUO$H<{T=3XHWI4_-`$ zWt+Via{E$ggiON=Xd~nvuA@dxyz!vM_ag2{Rxn<%uhJAy(!BEW#om-wFkas?{}U;p zdr?Bo{zN@If48+4|3%M1_g4atVh|I7IG7wlxTNnUr{Il`u@@CAv3hCHF^^#|QfXVZ zi`i7uP)1F!OxfMP)G|Y{S0=Y9#>=zv_3>ZNP@DTl&Al|-21VmUC2p`8@Sh(^?=2Y5 zGf}7S*R^d5Y8r-GtDrU(YxluiqnT#elhRth@TNTx$Z6iBOb+$Ic#bd<~@Z@a5H{#v@Hova{pjG*00xs-) zo_beKs$|u5M<2%ijhyuR|9+hJdMjo(X7Uf z_8V*dTRPt)@Jz4+CuZehy5+WnIC3(+Y`PZE0E)RxV`$-3LKxYyW^Z!ylQs5*U~a^{ zq<_f0f!vbf1ssMKqybz_{cCd3vd$*v@c_E;DjMlSBN%^D$TsgnwpT6>Bzm@88~Bkt z2S{h3s(|a>nGbKz%3m~V_j7Jqq@i$&5t0!Nb3!ToD|bS%=L|Wk*jN(&SIZ`%@zb!w~d*Myv@@VAjs|)Od&F?gCNQneQ-);UslpE(;llz*0uDTFM z`W>BmvyL@x5#u_3oC~bx=`%UYgr&QM%A-4|$k`H>7UIs}vyr*Ha)K_tYo6~TmtaW?lN!U4pR3qMi(C+eW>1X-b+*j~MQIwzxQbM!% z1BpxCxE$bAq6UyQ9Af-++Oh&wH@}IG0P~viNTZ`%+xzF8l4^W&W6D{A(kqG zHaCi(-mmD_=+G1izruTBfjk-Qj*7j+JfLiCrM%b3g=zQEJ#~k#oKptiU_FF0NOnde z%Irr{9_nfAfJ60)HA;?JyrFRCt&f4~Qg&ehZ1WowN=Vc5IB)A(7PeHf%har`s`zeV zALyEXkn-v$E>B&|9pB!z`s-S&ziP{}a=bQ#oi}RH?_y-RYM+iGjTk7Ov|Fq?6>8*b z2j{p$%5js-T{T3TlL%$^<}Z`KyGAh!(S0kGGiUYBX&5H2PGTuf=)p!Bqe_}qwGoBh zVA^8+W4~qZczTHeGNIY&s8m!@!bjlVWwt?QTyGA@YTwwuUsYp5mX)%B#2?iVzoZPY z58C|VbW#1dkRLiWD~2U+=-qi&_z0RU+$Ood&}>Wr9zShikQSetBTwuNjCe{F`)u zrcgc%>jzg1g65hQ7G6srezn{==yPYMAKAwR9_hd%tb^Jef%uXBBYo13s5&H%ush%y zk4L;f{8kXARt`x&^0s{>pGP+H$Y$ibfn}4|tn(}d%OC6`1w8UTkG#)5IscK>=|^VT zM-JkVbv&}}CFzb0y^a3qKa;qC@usK^NP%Y2?@O}pvgEDI49f}h*0t%k6#DWeF$n@C z@dtHG5mCI}e8Z~t?EcnR7QvEA{jH5A`XV3k;kD($Sg_9PA z>)*s3Nm6HE_q7w5#COqPcpe*Q+6Cbdepwq2?t@p;FK2j64QY$DvD9dH9mf zNpSuD9>J0R2$o--9>LwTlv&R&fykWHeP{|k{`2*lT)6aa45^&dw6@=Xmy^1j-{wv4 zpR3Ja8&9wk)vFqOC94h(5O5$T!eMt=s>b<5>u!*@n2oxLujUT511&HE9U-}nRxZih zE{T)N!PX51=gptlkAG!fTZi()q{|FhJc#wBfcuKV=3l>L0KAmBc*%f%p1zqujn+5g zK2Z4GOq>b7N8D=sE$=C1C)8`Le2G!FOG{LTKn$kkP%i?{>Dkc<*gkzN>(@qK@k>BR zD$GrJfs=D!kdOlTVh7UzTH!&57<{xYI0oeqZ0MkkTR5j6^_AXRbC%d;9K@=grt_`$ zECFu_yP?Cx<=(7S7Qx-v@^p-vQNW7g{6h>o^Q+>v$rC!30z^oOnQ#k!b!n7^y*IIR z#^E4OA}iIY&;Bg=5E{a6NKBM%U+1VqpIXa9o zYOKDI$@4qHP6$46gc;M?n)r}gmuiM;$U%A3e5y7iSIc!34GVG$C0{Jt%&!QatN9Ei zpDJ5wKJO`ePM`QzCd$UZ!Mhcg9iL7Rm*>?f>0lYPC|HT?*fko z63a)TBL|)tP}^rsG&zN2%+_<~6mwxj2aaUDF_&w3L5^h&=6)SaZ}PlH8*Y+4C(jYt z?FrR)xjU4*vGwEZ`7;SF;rg#bZkKONDDNjpK@bFjP%M|Sp63;YolatfohE~QXKUmn z6bT|UBpG$RZd{1;v$M;l1I9HugImi|ngllUxHDULlYMSlo*gezi`yU3?%_b9a*mqW z9yv*(GTF5^O{le6kfLUAESaRyk#3Lm!PZYrb{QFbiJ4Rm6_m_=q>|GE-J5ry{JxCq zM^V-CNacmZfFI{4N}kA~#CwapP8N~PsEzNR1@q}Ic)D=Its3J) z_Z3roz#wlQ8v-WgC2Od|-M*>TFO2>gcxGxY6Tl!wcQD9o`l2v*WvHG*dSOHi7p$EcA&Nx%X*wJzTQJ8!XM=!RzRStAS@F*%B_Tv#|*H@y`d0HvWp_9%x z7=M0@#dvVZZ2At8%r#w|L7N*QZjUDV=Vx^;-4%tCQ_YyF)9@0dH^VSstdk9L^D?qI zHKtiD!6jNBwRi)kW5pce4<_AMA^GVYOmz~3Epiawg_dcBsn|w)xU6b&S2HrVVR?!7 zblyQMbwZV7!-5VuAEVBxl)SEI8s*3xg6?z84Vt=Je{BityqolE0aL4KeQJUxa%1GA zi1fcmS$~t_5nOVW0Wo6meUyeZ((S!5*!p=iS=WIf&*JR*XNKUjdC08WVAB>B)T$as z*k8pi*<|;ep~)^CqV?;;O`qgNdTk&<(~+=?HA9o600S?(V+tdc>jQ}whcE#w>ZkZr zQB8LUocn^DN4o?P_f~VMzD3!-{cD5wkV74x!2c_~3MQH_GJ7}!;2 zbg3D`ictN#ftbK3p=CE_~tJJkr9(W5F zJ__!9`QjRPNN=D2X6f~D7HJ8WaRWnXYR24 zXQR;1nF_Z~<&jWqYe{;zuqo<(2Rl=L5@B zzFK0WvG`C)Ab#oP#;%ly4}P;VSAIYU4e$}el+U`6^<~tgAlq!`fnaHT`|Cvw9FY}u z)`xpRN4xVlIf-oY4${iMFH}}zPAE{LOcGF7E-uq1UlqI$1$PEZ9}XnevA~1wwBCwb zj=e^c%PQuq_=XX9;Ok1=PQm1?*7>_7h@9!AfrZ|5%;(f;mAi5K;e=jUTb7d+k}S4M zfjU|I#m(9T4M*(*9xgBOUZ25$f!?E$EbmBYBHhh@MY2814i@8Lp+vQaX75ikE-RIG zBjGpwf|WuQ+W6^b>Gi!!H$Rd?72q&Gq`k*?L-KCbieJIQ>NiI6;8#N93HTMJ&hPP=xQ?(V;NpGz1ns7ipvU;7f&!J&W?=<;Imcvjx|2i&;2FU$4IRhkCsm zYTBPC@}AA2`LV^3`VwcSutl^_JbJcIdURVS@q!C&FctGwD@oCM$kvXY%=JZ3=>3trJ?{b*}}NfH12fK&Ooc zEy&ZaeR*z{1%Jlx7eUtMt~XLJIf59{TwK|$^X}DBxQk^4PYzcOqZU!{LfRvYNbzYX z7e%6SI1tybtxX2^hu!?wG>I}ZBnrpZ=*1lz!}fjH?T#C*gATF_ITW|u!=S?TdxFW} zzOdVc-Q~I3Zy$0-6yn~|fa{4>+fc3ExUnb@f11lkje<~eL}|EweT}o46JIujX_QKc zu+P^J0_OOQfl8sNUn*5*l-qr||3pjkri^_VNh0jsaj<2BCNOWs|9fUqw2$cap$b-* zMTfwksyfF$`-{%tHW2SW8l1bwpy6ipfYAf8R^G+9quri!?zi*x0a<%))jZ7}%;P)$twsK%}8 zNe4mGRoat75`GAFKBP&q( zI#Ta_P5L z;a1I}!)#9a=(ji|eU2ke`uMOkCuQjyPAa^#QiXb!S-%p_VK??DH~+~07)0-%YroE; z#yKpE%>B*VMYws|G+;#OZ)4&jU*Btox`v^;Ro`lAK-`o3!a^`AB;8lgeQ-$~E&Eeq zbVpXtXw2xo>!o1B=#5CZz@niRrvNHhZSHPK*-}oM+5vqUii$O32{yb1hazpxaH>{s zE!!0gX@y)48uG33%0N7Rolj6hL}*c`V<5hjggm%oV(Ybt2DhpY@SC|#aow#t%^yJD z%QSOaLnpP_KvM`42A9C!nZL9pG}7%(eWElMkNQ*iCYAx#nVf{9qxHK-y7};F91HTZ zpA7!AXqjKQPdB&c6Ze2Ja-jIiOsd@e*yh7cV==Sm}>|_ z=BHXWgP9#@s8>+AD8xdHP|Y=3Ie~@0vldFRIyf#=1cX%3hc70hV$UpWza;|v%X!yE#s51ls_yMU7ZqHqJTfmPeGsdmj?bE?y%rY}$ z5C_nw8=#M9oB1^ECbOZe3%L8(xa*ll@3Haw5VjviPa+v;9J(xr-HbxtWtLjD#1PCkqpvHO6gn{3zrZ0C$OD$$pJzk{d4kMkK)$HXwIRuVy zIo9H0s(&pQ+m15cpc@bH2C;ds)>$8|Uj@I-AMV^tHRJ`~3{z7RHwR-|3uN@hwwA)N zc^{1#t9L=Yd2!tPOzHdK`VS~!3p0Hm)qK0W0tkvKld6LOCzI*u^GK@Q|lMLqLRkh5;V*l z$0zhOiwij$!^}W6QyNTm?<3DgNe$8+#n=0O+&(Z_u9$`tuo>^u{_a@|rrBWp2Y-j>|pAOad4rDC; z0MRVJ?!!9FqSD256kGz*e6nGA!51wWx7f z()d&ZWQh-?WRF~3MgTfss~=JrZOvxIp6#KME|D|1O6oW$~T zvc~uA*BW1uKR$)J+^WO;@!iFPY3G(N*+*1|7&4sM`nRrORuT*to&%fvR1+cJLGYz& zVS#B1$vs$}>JAqDwaVgh)*3CqXGp;%Gk7@l5UMYP$H2SZS}g|8_-QU$87<_z7r2fw zZb<4fbSVb5cD!b`7Ulx)!sC&iUw;~pHr}*BnEsX?&mhJTT3 zl|YR`(HmE^TRP(hW$9T~EV7-z?Twyw2C)BNW`no@tYFtLg1a_K$w3nixdWSwZKf)u z>)s+!#qAuF6fgtujWY-#LEfYh0OJK?zZ;T3h1pQgWw)w9a|MhQKa}2oIZMmrPCzo$ zmloi@^fbEbh#%;#=9B>xjs4!jKgl{~=@{<@>Z_J^f9q3dlFegOqO-<96_nL=rXVGs zVhe)XbNw9_iQgD`wLvHaz<=^9Yk3qI;JS-2vQ$=IKgwUX<*?x!^xTrC-WE4L1q;AG3`>a%uGs7_f$sB@_7WV8soIvjo3CWC@Z_admq!@ zdV?|aPBj3qBxfyuarVYn$Aw{F$xK3EY$;qA2c>jnzBT+h)5$3@1Riy-FwVKc2Cz0%BeS$804GT$9u|GN}z33 z+!y-_vq7H5{ze49ju2%2IB|hQA4E)zgqNA7ZMZw4&QFlnhuv%1?uvTkzh%K9B!BHgMPOsAk4%PU#Z@tHFfl}SWEU!w)pbZBP+bbqh&W4i|yA~+T#C~ zQQUuLpnJM_h3ghD4{nOS~wsIA%9FK~KH0Gd*?ilUfZ}RgkqcrLu`A3noN_9+QFS9VH z8^bH`cB96KrJ57HBw<*sEEz6^6+ca$gTSV&(0H)54Plef#fGJ{Brd%bykJY_oGmO} z&IAfe`b9NG8zD({edLUc#7(!&@=xRSU8||&SKcK;c{?^+2x!42Xum&XvzCEKi8AKx z5a!RYOB7koCY9zlW$1rqBz>c4M)I9vbZHTNsAt5}$pC5i-bKbJImHLC6|XY~9;L%+ zQ%)Cfh!3AKtZYKHayFoAZ#>XMYR3bN|2rOrt)>}5d<%?$c7&`>>k zh9;immfro{ehcFu3?1heW)Uvd9D}}d5t31-o$y@KPY_N8!n7HXwFqbJV3&~Z#zB>k z+Xp4$V)bY04;@MCmN|XJHx(~f@C~~~0*P)s;`TgPKtNjek{|6>b@qWc2RCM$-HmaO zX0vH`H*7Z9wGVLl9#RM+_)-zirQV`($xd-nYol5N)hNo;V;>g9a}Q~OBX8YDekR(L z%5h2d8_i9*Lv`;d?g?(n7l;zs*DA&>@aIIF0dCLDw^&3~6JT(U7VsRvE4;ab|MObNM+vYKU5UAzSqla1zi|5YwM*ui1{d)kF(A_#FpL5G6bAbDJj37v#!%>3R~tU>M2RMV&Y3 zfoP0q>~Hi}8>O-Vs{b+*_+$1)V-FFlk3#0!oE6?CC5-l$E89Jduil?ZG=%4YA=d9P zq#(IfBQ(uS>?_ysV4E*tK_B63aNEQhYGs8Us4bE4fh*cLgtyev1Sudhk^mxMLfC!kL-qB!(V1nr#dgJKwDVuQmLx!jF_j zA^!ngq$uPJEkvr^JlFS(M9d`2_G#h23^%foEZ?4Zra~jaqsd%Y&yrZ8vB-VqW2^~k z_o#eo4zjK$m;IRw`A%xXdrhsBEzX~*&0ZzQn>tj2RaP6% zGst&`6%B@m)%a$G%!>zjE>yqAn>@+*Jq(2d{#4?IeqLe>EDzbW9;tlQ0hy zj)4 zNtQrb=%G6E5T7BpqZO8FQ9%U4Ff#*qunYMew$vUAltklcT;dXBENcZl^PTu!I6}S}j)t}CeO946aJl?lf8BzeCQBuZw#)`s z;zD~*w}G=}J`sd1Gkiff?FzxXTj+-#>-m+|>JfUU1Fu+daLHZ3lQyTu%b~O0I&^*v zC>cr=tpL;Yy9Hg?9Vpeo3#}zYWEPj(n^`Vy00zx@qkdIQ^FgS?oKDX_d4@oPydgHMBJWX6`_JluwbB zj2c7v8T6zn-$*iaIfS*>VUX3~EagkkK>5N@4|tQsPy^r@E7o}8CqVg|1_D*TCvO5q z)XhsS6AeAB=>%7ec$N-uu5T;XqHXi6V^^o0f(AenMFc0_WtIC{=l9Qr+Z!~Ydf>`A z95&*7sM-z+E+z-(g@`MXD0asclX%X(5dxbtIh>s6u?cS~npI+zp_i95rshcR7m9cLDOo&g$CpJhT)`99Foap4@0Oj~7u#^7bz(m?x+ z%IBr%kVq&tcW%Dw5!@L|6_%O5yYvcvB+jUX9t!Slv=n@o3BBAeS^-0IFKy#6Vl6E3 zb;k=syrY$rW->pj=owAldNfR06;W6D&B~40#QAUEYIpDTl`=0;!Mxj+r=1;!dN~wP zNOOmia7c!+;hTevD5x`vN5;yWyHb0^T2Lg;E~_IHiG-s52Y-zN}n5n<~s;=c-qQJlgrNPtfC z3^$Dnco$#%gw2nP*pkGq@TRPhqNAB+s3mH~2&~3KNgbs%RyO3T%e1Q0$(c$4k}3vC zN1f>q#c?&vQt|d1nHQMwAGuFHh~|u0+CQX?&-k-+;&Ga#s|`t{#cw-07Ge*Ouh@#n zS4QUD{PXtmH4W}z5qE+GR~yDN@HRr#N;n04v*tJhOhfT43(z-}0rW&Mc8gE(2M}fp z2l-$A0Lm^FHMKJ)t}N34j$#1W#)QdY_>XK79%-aVh4)xx_Cgf(`E2q_`n4$j1QOPi zu^#V}tP`XQC(mx)Zf0 z3wn-_Sq{gHR1PC~utzuJSh@dn>ipfc)DXQ-@&7uEJEC@{16->EfI#!>zhSd#+*L@))Hpy^r3?~6AZkMg1M#co=zunEr0I8)_aWoDeYx5^`U@ewvL zqfy~6WR++E5b<%us76#6Ms?oxzIL+3Fsg|@jQgZ@w)Z*SbF2`CIhN5*G6=KYsdhen zl1UlG*K$HO?ZLd8)sn0^9J@tx_CP4v1LzUR8@>IUjO1@g2)l$=lSc}R{>tU|A_N#p z)RR+vFz@5OTlEy!6)HQL=yE3Z@bymxA_IY!YIn;4u?K#SmdBm_8y{F78tzz9xbjgg z2%txkSHYsL7L&Nj)}Xq$51he`k~Q++qZ;?F<@}vTRs=xVAJu{QmXk!4xmb72QRfZg z5L;gXSl_#_roY{p$ClGhNj4&pyY7FHIV(@ z;ftYV`32jlZdHUBENC71Ce^JYeYwSD*MWalStqW#RmVd^nvJ*Ree!Jx2)n*CP1tuc z>a^-+RHpP6ga2JB|FwTMGsx1J{vi|^etR$9+6&>4pa!CubFEJ_-{9|XtL8#O0&^3; z4iLi69V5bFUH%V3*f0SZzOSLip)-ZtJcIs7vKsNhsv_uqCVa+leQB5fTnDPU?!Jaz ziRgZ4P_dFPjGduHJjJgsZ%@0g#>kwOdytGZ=vh3C2?5E9i zU?q>>6+0`p8uDl5VheC&6rh+^7epHhQov?pdI-ttSob~e)t%VK7Ejh*IxL@MGOrDB*u z(;&C_@T(O7yvPIqJMo-b)g8*yG++Hgt2)|Kr1o!-fM^<>B+}>0i?DH}EOikAQx*b?>oauPxX4COzp{t^?vmL8<2i<|NHZ(OJM)G5!>4=TK z=a{CY<**JeEvw^D1IW50SHr`L)`WbT&{ymXKZ)w9)kUYg)e^}A`&zgq+=`k2;+f(mt@??ma5BWxrlGavjzEbAZUpBI4pwEC z^a92V9F2(>3ZFyx}Ol@pZhzs@pi z+R^|>n3j9MJ%2q5{Xr=pe(c|?HpR2-f=evHHg^kp0hBQRXZ@-=$p`2`xfR+(-((-4 z;1c*exX+{^i);G3>$0=BS+4$ymy%X$Jv!^fPsxK>Cx*`X0o~pxAXn`O2wdyUh8L2C6G$A!wh$+0x@}#AXRZ* zcm=9;*tl$d!NQaJVa+GA;+ZAY+R{S@I0cH(wcUQ(FJst{@=D|e_MbmlPx33RjR5i~ zX^@v7<*YVh2)cdxjL`$wII|?lLw=xzZ#h}PnfExwbQNJ4!3{sEOXg2c%}^-WwC4rYVnS7mkmZtL1N*k~b#2*)+Rgc%( zWpkhT^*3RfMRX`x2L~|st=+Y}G1rjU9e+%8fU29aMcAMuu&+#IZF9{!g(* zFdtSCaLFK+w(sDP0w4zupKkGqj7FBvI22O1s<%Iwb;hK(J`fi1mEF?RGKaRz3xUK0AaGQsM!_hfoR@$XN2Py6okEwWy;C`+>yI zUdF1fdUDd(oKzpavd@%tPa1*UDUZyfAVF=iOA%UXxM@pXwAUUDP>C1JF4LGpKG zDiWNKXSb3Z!>7tT6Gqf23$`dhe997V=1wTuIk>1)`2rlfTku`0vywnSN$d+wUq-{( zeh@8C!EpPD5oULP;I^N^ ztWx*#$3&^y_P5ItL$Ex3KJ`98hjxo6-fGfgabC8p3J)zL%lg+efTUj?-G+Ey=X>W6 z356Tq2VYt{w$j_?G5Ri*+vWR zpm&q_5OEKMW*7*Lkhg3YDiHU&Yxc9FxQQoVcvAW*og|kK7>s z>o@<{bAon%dMEIcU2OAN^l^;s0sq8C>?kUxP+@fbBRPTiZTaGLBpq|%VlE`Qp;L2^ zaH$IKvX1aG)7{^Yr8SkK*twlUvN0U1rt^gE26Fg50N$a1e8q@~WeEaCzbDbsj$BhD?V zhtx2J)78jU@2HC;+B`o`7Y9aEgN)6kTqMipt_8YyLd2b1qI9g-($a9OHistuw3r(d z8_BP!d^2#zOms_TQbm-t?+_@U2J#u6kq>1=si;fKT4!_AI1@{iEh@PC2NE}&#;S9N zLq-gPw@KfMO)15AIn_MD$TpFTaR5K)_9FZs!Jh;80c&N^fB%cJmGu(?)Hml_`+69D zQQu5!m28K6D{$M|7etbKQ$IH?X3-;(cjFn9xTw#6Ih4Dy^^0)j+OWe4M(=n++#*@< z6EwFFc;(!NNIIs=X0Ua|nsV&Xw(<`TYaKb&I|zW}o-3Mz7yV)Pw{WHoB5;1)`cut# zyJ*pXPU1{c=<5f%D#hW<(lcn2J9E>7jPhVDC>e9lidS<|T`-C*S>~S`U;34Nw z{IL*Q`$Zmqi6K~c3&zy>d}vpT;2nFOh4Vc=E~Br+-uHkU3rN=kD`K}z3*GL9O~8Kd`lPMamV!zQGG|%6w>u~u501w zN!;27DzpJ)A`;OkN}NXMuk0l}kP(ts^_9;*OE{VxFX8~V?T2Nhrc!^b4Su+e;WqKB z$v;w2A*&l|1uG#k;+$ek*2EjgXQ>I&3poK?JY9v$q#LGF{KD4F$g+mh)1LyRHNGBL zLt3Gpg}%1FgBBrIwh$Aq@%QhH<{@#tX?TYZaK_A4Cy zl!A;#k-`TpMiH+>Z!{H-l-O9uTl8aJ=YVtOdrS2MoJ!05J@GEp0etQI}F!p&1)so z`?2+NbGUw;Hdrk+z0Tc?&9?!!WV+Vk2w!?OQ zOJp$&RfT{e2Ped&u(L-T>V+r3UmuW|)*nKyt@LH444WXzF}$IAD!@_*nF?Paj$Oyd z#`q%mbJOHdFU;ASs>8k3@WFz)sXRE2oZjI0(S6u{v(fwOU@_f6l(MW&ui_B9@=e@+ z5K6O5srD0k)YAZz9U67L-_9&x)x>M^T~sEwver4x56JQR(hC1)-LDuZH! ztfs<|$=(ClQaNL+W(d>dEh6`B)l4Q#Gc@-|af6J-{%oG*>scDI4InqtX>Ur_d```Q zqLB7OmeXK}$UewR?E1H4#qoZd%h(olKpNsjv>RMg0t>2CH!Z}5<##UP zST7}ke;jeX@!tD`ct;>HwXe`Or$UpM7|aiyfms?(-eamgM(fX3$wX7~@y7CS{Sat= z6X)Cak8)f`x{wtd5YK%mwz72Ru+oP^$u7$%<#;$(ua=|PRD8U-tXih=XgQ|}Geklu zUDO{kOtEC^0*QQn7+TuPXsFL)f_U+5{D3?slMFUBwg%}zei)5T0_f?a36)J&q^=GI zA`wPv*i=Z6yd)v&=CVn23LOreo+%nhMYXcYsa1b5#a69-6NJ~zbhj9YD!Pqw{J1kFoE7kE&Y!Par^O-UujBTGS{36hToE zin5ZxF6`2)6!irWq==FzNZssSmUUUc@~o&>p9(f?hzf)tMO3O35vj^vLq{Qiu>bG( zdv}wdzW4io#GA8o&z&=8&YU?jbJ{ppu-gRIN$Qk|yMYXG9?-@_e6{e$$4^2dfy+&s zu%57fKKckUsIz1GBJ5?oj-R%_+-U@YAbCkNHPLwEcz(aR;0Cr$w+UGAhP^-dK?=aQ zyFH=NAPdd|7AS#A52`!@EBAhnm3EsFu$A9CaWV>Tv;4W5xQLltBcnbna%8wfS>g0=rR1 z`|L{CF}3Y8pkfX_0vyXxAI2F#RtstpX_eef(j-tWR3%tPK~;i@0csOxlXdqe+@H_` zr(w zwadf~j6W*EpZ9TY=1t1HLlcyoV@8jQs-GBMYeqU;hrQvJKAr!IFWWvO;04;2l z|AGRiP!+>`TZ;7v)&)H1A^ep9Q5M@)0t(}_$MDO}8_Mt3;IS;3^$KnVw^FfG$DMnj zYq-WVPdI5-PUzX0c!z5#CLo-OuIlif;}TN`Y>Vl5VfdTZ#7$S>R?~FeA2hrtT;pSB zlWmTWSH@Lgw4x(elC|2H(*(Yw@R(I9K)ItRxRHMXSNCwcX$S##&z<+>ETGgFXZ`za zwh7Fro^dA&+Z)szT5LbGd z13g{Lv&HVb#wa%knhD3*VE1EkH44^f9+oxw7Ie=_Pj)3W7%<=A#~n;MKCvnm4kcShpq>yM zItGs#7NAwpmAe@Ot2@{Z=f{0x1luSi@LP(t3i)iknThalsC|_fF_$%B(RMU2W_oo% z$&NCb>{+_f^{70V(wd2zv5-i%rXfKwz;#CsN|x{3qlW)#4E*sk_MnF6@X8GcM>cqq zYQ2SF#NoB~|5FMLf5mzbrD&qAG{eCY(2;!q6nJ94e-#j4w1V#a!y4Au`}w8s3-rDs zFQ^B$yx9ANrSJa*h$lQxCmUk}Ox9W0BR67!MlZn2>?>^842{GYq0px9LR|i4CO?+U z6G9<=P;X=;FGj&H?aHBf%q5x>PT9zaz*3iSjK)2RR9IMs8bPddxf|O@%w2eCFZ{$8 z_QFpjtW^MG*@S!`1jihww|5NJNWiWnckV`rMk-byZ{{Y4Iz^E`NAkW5#@jV#k3ijF zdVXgT^BxIzLi8kR=L>hj≪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
    _BIq}Vg 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�@Fmd<#7F)LrtytNKKwUWlokPAKzHV* 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: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

    d;>#Q4cWIR%?AbYj{+eDJCa_^&< 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

    U5Q`xkrrxtm!T?enjpfP$N8=Fu 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%0D9Kis9TuCaQZdN(hpn|&%w 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⪼Iw2h{b$OLerL-x#ys5)! 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

    {9I4m2 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�d8dKaM6P2qCKpW|BP=8nz^ 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 `lr~@my1h(o!FhfZiF5RcT7nk(nI4 z`noYIEl4p+Q-P|~qArbSMl0IUiEi|!KLZ)U2*xsz&zQj+B3Q(7R@0ne@m<5E->{h- zTs5wKlOE$7_lVU>zmSUd9=|HhN?tm9Tu@q!vQ(nGZPlf3(U7LJrUTvS&j3DR1Y?-M zr_A6B7Vw8T;MZ7QyRpRMRjlJ%HnWYL>|sBV9OgKuIL8%k^EXe4+FE@`Kw?s`t+cs< z^wx8cm%- z`IVDg;cue7V@!~Pl2oBFow-|9drHSKop1A*Yotq9$r?7YnQiRm7e*RO2c*Y1#c9rS zi5uKwsD6AXjndW}LlRPvg94PG9F?ign>3^)9e9ua3}Gx2nLz|A*g%`a$|c>&uN>tp z*SXCTqP6pSmqer_9pjWOqcj)!C_qulP?_2^qy_Ei&ij1C$Bbr@Jf=y@d+TQp>a^EQ`upfla6Ykun^9n1*E@(G_ZmDzmBQdYB`@Az6?KS+P%CuYPH z2bo>ttVeQ$lbqoqSGmbO9`TH59bGd>KvGhXp3LMRF9j*i>r|jBwRnq$G@~^g=t58W zF@Tu5b*OX%W0=6FOyhIrGM~jPXEp2Cz$Uh`gFWmglEa+f56*F&+uY|7&xrP}u|{H2 zkcJH8p*ZEKK^+>KFh((sPnpd^R`MjjIbXV&UHr;X&T@&X+~78M`I{%a zAVw##P6859OC*Q+gL7Qs3OBjOV|M89gt6U^SdZRW9eIVMq#`|o<7huJThB%= z@==Il{9;ZhB`rr~s#A-%Xh2h1aKL`=NZa!+UFk_*hB1;cOy+YUSi}m}@EzOO%|3qP z5Xbq0b6n*nPl(yYy*LR;K^k5q8#&2GA&OCoGE|~uCVd#!9A^Cu-sWgd^Oy7k#xQ}; zn9dv)vy%1fB$88H;4kj-4>7xnAJUSY0+ggYHK*2gQP>)6CLcCn8GoZt)>xXcx%E9V{QL!J@4yZL}*q~TSvl8by4 zq9o<0&KuOHDesUri84#O(VGt$!B{?F26LIuV!q}(wy=}^9O4A0xy%jj@|c)C#6C$G z;dMk>X*O~(!T2a5ElC+FQ;YuY;onftx2!jyG2_}81JcfX$aubBHQSl%`GeBSd}aNv z^f_rO8-G1r?`%sg&Bm^L=0<4=%21K&)S&@QXiZ1D(vN`@$*Vu5A2Wu@Or@xL&XUfj zR3Y_Xsr9vNT#C;K_hdG7LpS9<9ypMANcZs@M>xq@E^w6xJR?SL?MM>RlZO(Nr5d$q#5=r4 ze}*uI$;_rrCf5wAd%&U}`!md)&9A19a?&v~U!h~8fulZGthr5I(Y%9}Kx z747IwZw4`vPnf}cma&%a*v=jfaFWwp<^~UVO6>RD2a$oSC9s>EBKmCWN2snNVoG7`-tQSCpp7Ku5yd}Jmv+fW0*6%c8T$U z_M(+*d~#_TGLV(C_NinaU$+(|m&b)DMI~y{h?aDuJAKHXM_fyXFq#RRcCT|gq495h zCSMREwHTK!VHIoG$Yyph-@Vw+(nzXUPmtREoAuLN<}d!{1+hO=2U3upP6d=%nw!@s z#!-2kisJh1-tBddD^i07w4x*3c%Pw+;ZtTZkCm+BJ9cu6OWNmm={c_Qg*x7l-sNwe zu*i8|aX%Sjfcr^aAqiRSn@XCI92BAy6`AL`=GwfP^*3ouOWM(iAJyT#{O-Z5_hXdn z?~v}U4c5!)FSk}vhFJfYvCOcompOK#^=Zsz9`D97rlpJ7RzbW=zhXV#hi&ZPH;z!H zmGLJ1gL7O`&KT9D)~|7sJ3J=pK=&{tBnhd>!fOw8O;QyFq1D>z*1JRmT&oio$Mu&qnzR#m$}Yu9`Fxq zjpHaEsk?L=SIvzvJ^smhB=M~$A~|WuNH%hlpTd-+ES0EE9qQAV=Cr0go#{>=K4b_Z z7{e!g#th~#pT(?THEY?(X14Pa`#8Wce&-yQxyCK-^O)yEA8b64fFz_O9T~|=PV!Nd zQk0_#wWv!Yn$d!H=tviO(3cPRh+&LiEVUAeotnmx_0O0|1go2Q-De(pExQ=>csXCO zj*WcJHg>X`z5L1{j&X(yT;@8rxW^-&5p{?;jszqjHUE#JyN`u_k->DN^d1(cG` zl}2jm#-&kekq%)=X_k`KRk|0XB$sYjx@AE+SGrlcVF~#?{{DDg@6X)5bMKv*bIzQZ zd(jMJAv?J#Oi3zIjat;DA&qHCJ37*h-t=b>zc7jkL@dL3}ytsGnPsG!CWF) z!CGckvhU?i_H&q%#Bhb149n^B%ZEJUHSb9@*fx-aWTYY;naM#e@>7@~N>hOBonXC6yg#X7dIivt|y7^nG%Yux1>35OV`KQPaeiTRA> zP3;T5RHq>u`6)pas_`8mG^HgaQ)$=cwac~Z_LjTQoj&wu2){6j@l0g~b6Lc4*0PE1 zOdx{Y?B_5ih~XmFiDf1QT@&4xk*r`Hl|IqGlIRoa7rY_AQ~(H!O^FBjTG5V<{6tU2mo;CPL->_6#;Tgy!YK7P7G^XS%NfjL zrR7C(IqTTW9{%R5tmgCbJlBZj0Z({A90`Zp22wE5@klMRkcXm_qCC~9LsL4^o1u(h z28&tGF4C4Zw#ZZb!$q!glZ5}%7F~bcQ9opl_k1Q_@|O4`%r{6(GA@2?ekIe9l{@A2 zIhl__6r&X7iS}AmWOeG$fFmAjESvEoo#{be2Jt&%nZiuwvyAm@XDKgfvy=_4kygv~ zY-SJ99OeY~3YlNX%iQ1&4|vKe-jnE8V+@~i$+mPcPNY!(Ykn~{p8c*)LwYikn?jVJ z4CSdx9U9VtHngKN-RR2@M(`V>n7}k<@+Xn3VwTUaQSM+bX>$2Y3G9>j#!AblImZ=l za+iGi$0PZaSG*%ZxG{yqBqwV#$3mtfGdajjL5fm}G5T}``7Jf6OH*3Wj*fJt7yTH- zD8_T5iDOwsKlfQCTmFMNEMO_CSkET5vxfs5;UwRGpk2ueT;&#bdBk&G6Yn?uf=@_F za#E3w%w#7o1t~^JD$u*KzG=S(t83GcX0)Lj0~tywV_9iF&$G)5?BU#Q1ZElU+ z$QE`I<(#xvMst{z-YZ%=I<7v$1+H?FJKX0nFZu637WWA$S#Q0sWCpU3gUOD2ZdrgL zl%On?s77t-@dM5Ikq&gF7yTH-aDHP96Nz9J^N3_QYuLzEcCnwsoZu`MxXLZ=@t7C9 zA>K%Hb3P_1DM(FvvXGO!RI)t*p8k!xC?%*s6{=B_I($z<8q>`r#t-^!5Ahoonh&WX>u_uSi^cYvz;UX)tx_>S2aGys!<2C=1 zaJ2I?X~;tr&$!}{3tJThle~Tj(_=N zoc7h({*h_O!tAQf?eZG}%>_!xvQ(r7^=M2B+R&bE^kN{x_>D14U^3HL#6~`9VQiA8 zxXBaZjdy%Jo}0w#RLuI=agw>nPho;6OLe}dG0kXCPx^Ay`M+*LpG7@{5ri|E2}CfH zxkR#pwQOW7yZDQP9Ofi3T;v+JxW^M-^RNB)UM8AgfATpg`HHOMao)=%^HZ4Ol%^b& zsY*@i@dGVrOJ}+hMhfj{fE>&SCNPzmEMOVy*v?)Ka*R`4WsY+(oO zJLy025GOd#H7>L=x04Te!fO&tavhjcTXkI(piV+kl9P%wWFQ+~laC@Kb^b0X%TbA{ z)T9AF(1Lb!rYC(F%CC%M98;OiB9;-qk!_J{*~k_S^q?O@2xlyln9fqxvWYTNEe~;wQ^atAE8HNK`#k13al9jbgwILm7VM*nnN7p z6fs=j3O9)5K96}$9Pfxf&Gr*O5yjLmWk6G-BEe9C{zFIAXWRG~ZX3 zr2?tSX-~2N&1g#(dNGg@jA9Zqn9nlSv6a0X;uIIS!9AYwmPGUIcT(^bS;Y*P z)TJ@4=|~UyGmPJvz%>43F{|0cE)H;}Z5!Eu8e_8jb`UP)^zsMYg#3Umn>Bvk@@=}N(N>PrgG@?B{ z*y)_mPyWm>!WqRla!fVPkbf|ng)C(i>xg1I^Sjy}*}Rc+fjq()E^wWDJmCdzh##pR z^C`(l%c~r&-((K*QG^ndr4qqZr#9cyfTpyfEuE;|#l0tOt*g2(L->_3Okz5-nag~Z zvW6(OvV%SB=WmX2iWtswnFmyDVH+0v{G=r(jXhRW&UA03vaC*R>e7(Lw4xmy=}s5} z8OCU)F`vb(VjWRzVS5GV7UT0Cby4m0m^{lRu5pWdJmDqph`+?#jgLse=X}Zd4DKa( zjkM|vWFs%%P?8FaaeW;uYw{fpXi96^(Sa`X;8iJYNDg5H;f!Vi5zJ&R3t7r~HnWp` z{LL}WaD|)P0rY0dY zrvn>3w}W=uUHyAP^HN!^xZ@(faK0KQ!)hr(&q?0bv9h1us6Sn94yi4EC391pvQ(lfwW!Bmp5I6| zp*5j&Vq$#n{fTy?4r3snbl2y+_7L?ij9~(kna&&*vXqtd`ENcUH?oE8>|sBLIL>L# zafxf(qO9?}8u!$XdC6N6tgx?)VgHk#FvoL7RkW?@*%U<1*KYt)TSOGB=MffNJ$gREoj46mNS!+LUi@m^iJj;vM&P}%5RKeA`#4B4og_c zI-=Oh4))X9>m8C&`p^k^mW$lv4o`W>8xpRvU-+C%WFwF~6r>nc2=|)TKQzXDqdi%! z<+YpAK;4WV=|DGnvn#vtC6V)ZfX|Z4_IRwZ$A-!gjNz%jPn4m??dftJkt|~!?_6_c z{aAZf&&*@olz&sfYu4bD`XaY^O8z9q(6PoHb&}lrOHyNd70ce|t;Z6r*4Fuq6r^HD zYjYdpYfjJ4XgQFA6sH{3sY6pb(3_!*VHyir%~t;62xqv)Ltc|`jrS!P>B&Ye3Q>Y@ zsX+r8(~`Cfob5ejH+nIE;f&;+?VliLvWQhgv73XO;v(0G3m$<8J03&%IR`Wwp8SDX1>HlqW-T8@fl>JH$icpEVw4xh>8Otn|vz5O&#~tGMXp=FH>=dRV-_w$=3}Os3S;iI)@(;1R z;(wd9NwQIh3VcTke&T0FGlQjU<^VC=<|Q9)(T2#%HgS#M`BBk)Ax1q#BI~r4PR_nfa_`H^;fcBi{4rZs%cg zQ-Z35(2m}WU=s6K!!C|-nTPyKl0DA902KdNPa&{K+bIaDKG+5Eb~27W~A|jAjN)*~|fAxXnvGJgEPZm2W6d9h%dH zfsEo0mavIv&T@+veDJsaPZkPNj@mS%GXogObQTlEe$H@{=Oj9$|C5;ll%*C;=|q2i zXBv@gtpAgV{FI?4P3TBJej|cKY+xU!xXx1&9MS*DNIptagT{2AFX2pO zA?w-8Nv`pP_(%1BGLV;2RObiU6UMJhVFByd!wIhPn0UwZf6|kOl2oG+q4ePwCNrP4 z?B+OEc*J`?J+A+gn-Wwdgm(011e2J@8g_Av%RJ;?lAO^0$whI3X-HdoF`S9aWi>lF z$|WA~j>ISRf4(M&U_uBbjBp}|B#LNah$W7IQ~E7|1QARKp@b1m1d&7$O$@Qb5pdf2 z1QJ9rA%qe}I1xk=MKm$Q5=X!p>k~*2!GsV>7~w<^Nfgn<5K9~ZXRS{lK?D;*C}D&X zK_pQ`6GJR<1jJaMK!OM+giyi=CxS?#h$e8zMmP~f5=AsI#1coq zIqMTh5W$2HN*Lip5J?o##1Kmy0q3nxAVCBZLMUN`6G0?VL=!_SaRgkjK7j-gObDTb z5l#e=L=jC4vBVK@(fR}uL@*(Q5=J-?L=r_bF~kx_z$NPwND#q<5K0)~L=Z_7(Zmo- z908ZDPar`A6GA9qgcCs|QA86%EO7)}u|9zW5ljf7gb_{zkwg(q46(!!aMk(*5=1Z| zgc3$L5kwM2G%>^yN5D1f6G#xjgb+#?;Y1Kg6w$;GOB?~$txq691QS9iVT2PwBvC{Y zLo9Iw+^{}@1QARKp@b1m1d&7$O$@Qb5pdJ`1QJ9rA%qe}I1xk=MKm$Q5=X!->k~*2 z!GsV>7~w<^Nfgn<5K9~Zx2;bgK?D;*C}D&XK_pQ`6GJR<1jJgOK!OM+giyi=CxS?# zh$eT*uJs8dh+skpC5&()h$M<=Vu&S{ za3Y8#ifCepC60h+)+dl4f(ap%Fv5u-k|?5yA(l7-o?D+lf(RyrP{If&f=Hr>CWctz z2zX(Aax%1vIi@T^Ny<~5x{NMkE?CYrN1%DM_(-Ep3p45D}ySYy~b7RXr2xA~a z31>7DiC`A9Mh+>qaO&;@US(OH~qzk?1&oIIn!z89NoB1qe1#8&IR(7$U!<;0B3tZ(EcX`Bf zUh^+KeTG2{C-sNs*{^H|>D5W(XVj?VT12KLBc=Q;yR0CCnQPr#mJ3nxzsIRUHR@2G zdPB^!WlKWoOgDP*Gc~==Chs#${VRLbza?^gqMpE1{@|L&zw_L*a~wy@^H|OXwy=YJ zH1M2SOI(|&Px23!xK8`LuEV&ae!>6ZTsIO(ajManP7GuWvsuM1PH>&)eE8b&CMQ8u zHr>@yORjFhA$BiRTfFW*p%Qk0`I)u}^$8qti_w5JO_=*u96 z6V7NRFqJ=;!vdDDiVbXG2YZO-FejMXSO1sixxy{(@tEhl<~<+$>;45v`GT}$BrAdB zr65HqNja)egYT%%4>YGWp>(D@edy264B;0>^3ibHC8yKjQ*Fg@oTFaEa$b1snd7on zy^TYhBFVgosZkbC+kl<%9U~<1O`^0J%!u4soAA z{RR8HZaSHToaCn{WeDaw8quqKjj)WvW?yB=Mcv^!+G{vFNq=Ms`@5(dB{^<@=Bk1D<8CQFDPOBcpvgH zN%)*ENJDzEkb^w@Hr_daiR8Cjlu}e;=3@OpPV={Tzu0#pdETL_u_t%+<- zYdX@MUi4!S!}yionZz6xv7A(1Yn^;B()nIqG3R)b(7i+TcJ`3TKHe`6ayQ6$EMvII z16~p@k#z9J|2C`2i$^7B-ETDG7ao$1au-mi}w#4n8IXgA}Y$0w?%F^{FJW&^o= z?ggo|7rEK;UJh`QYsB)93jY2~9xzXMCEt9$WQbnjGy_1k&I(9)0o9v7P5>rY-9^NiShn>&JpS;wzG!=9N{D}T;jdwUYB=x#0x5E({E(F|7lay zw*0Y7N($1Dk$N7_Cch>hBQ1}okUEGd>Sb)~X+A4AP}<|23Yyo*s???-&1gdxdeWb) z=AV15GekXxsmx>{%gEZwHpUb~NWOfQtob&%}o2)_|8gbKO&E$`Cp(g_vMuODNJ;}^v z)Kfigj2!=8%`D~-$$^&kpW-*UQma~Q^wy~T29O5`pObNIc*4~3q9z^U`8;8sm!KDd7oJ>V;wvBn=@SII`?_bd;XW$+>8{YCIeZ?M-lrn zowin3y`;1AA0^Zks7h_>(v(oT(wCnZMmVDwN36L=gq*=#ma&#i?4X){yGQOLnj@Ux zBDZaY>X!TOm1Lk(u6st^;LWzM&Xps7N*HP@krBpa(yjcZD-RJ(O_9GKHDU zXDO>#M-*Gw#{o`riEBLIDK8oCHQ&iZpBkU|f^=jiJGsbDamrJLYSf}0O=!(e^kFE! zF_vk}W*$pe#d;(<)}gp z>d~0yw5C1X2;*mdV>IKLOa!x-Mc>H zPYTkIfh^=C4+SVp5T&U?HNKLRGCn+gNLk6<(HTft+5T&WWx76f<E}W z+R=$_^kx7<_=S;-V=~j3&3qQKf^}?SJ9~)cFef<61+Hg3s776y@e@Nxt)2cRM=^z&EMx;aIKUBN zxXK+~5ihxY%>Ve56l5Sf1u4b1)S)5&Iw$W-;2f&1kk$PNW7l5|Tz^|0 z#&~8imqjdNH5=K+ZelVU_nj;DtN-RC>0Ot_$V=Sj5&J*%-LJ<-n!}gVcAk0c74cKp zw{#Ei-d)`vP^aNm71!XFGpbvdBhAZi{;kf#2-mO$WMN8BmP!=-)U}-t+={0 z<*CZ|{6Gu3(2M>IXC#xE$$XZvmW{3*C)w{?)PHf1Gh85~fcs-! z?0iig3K2vp%2S!D)T9AFaNIRTQ+Y%NwAqROW zL`f=9gJ)j9u53yNexfH~4B=PCFpUK)V?Ep1&k;^>p6lG@DQ`)X))+)`z9K7mC`wtr zr4|inPCL5Nk70~t60=yuYPRwhM>)$SZt;j$#Q(~Bl7g?uMm~yBo*FcuIqm35KZY@y z2x{K8nKGKVFsWgF3);5;{Z z%o{#TuP>609OS1M<)}toni5KP`ZI!YOlJYB*~(uWe!97FLlAVH-BAEKL zq!Yav#IKBD3bR?nDmJr+zd6MvZu5k9{4b;SNh>i$atpnD1%Kk94IUBN)#N7P69! z?BpOPxkxNedCP~HY!7M4PC-ghh1xWt4PEHV2*xp;1*~Q((VXTg_jyUY%#J^wla{RH zC5Q@Cr#>y{Kreqek(z82q%^_Qqa~f`M>v!DlVxmR2m3j~Nv>sdeIfrfo?MnUNEq(> z4Eaq%_W{+9)Gzp#MA?i}d`>FTk%?^NBsYaAO=YUnkXE#%qWb{{yk|#s7rN4uFa|J` zU#Z{8_egRa6Nz93^H|Js>X{?1mZ^Ql4RRZQafE-k%3YrFn)unZVUm&FIw@sl@=}Cy zRHYt`Xh|0Hv$ittIN#~XJ`7_dtclCD*WtUF;{P_c;!?4$QGQEuZd$thxN=;ra1>U3l#CwVA9 zF-lQ|+SH{H&H0h`bR&$xgwxyWjg=Fa#%$&j$qLr9neFW7D5p6`f9qbA4|vWS;^ooz zNkVdVhq&(P?t3M5da{y}LhQ4Bhv=h^l(t-fs???dO=w3adJ>+^_uX;;L-~c@8O=m` z8SiV^-??1iCJOT1y~pOTkY%hPitX&>AV)dHKV0HEu{_`@uXsm-y!rr%Nk&S(A~QM2 zO+kuLnu=7VHuY&tOWM+rZuF)V}jAJs>naz9_vx2omv5h@MbC?svaFJ`=<~~n( z#XAz@^Z7~4=X^<8GLnt2$wwiAC`|>vr3T;8kS4UGEgk7fFZ$8aHRfE`dxO-&_?1yi zB7)g0VkuGVWFH5)_{TRqFeq}tTd(!G4Z$o?ATO z9Um63@A-msqMv#keJ~R269kqiT@zB~ z8=preBL!*6L~aUDn39yI3bi=;g>i~{>c;#?$~@Yu>_)PFe)}N@@eAXKU=E8}$$GZ3 zhiDFQiv8ODKk^!PdBRKHkf@0BEJ^sBG-PG1{+CAF3JJN&x4CS2n z+MLC2nbc#L$}IjQy>rEU8Od_CbCCPFoj>Jyu5go4#)LcaAZt|4)#q2v$ zk%64#qc9~YM-^&Nj~{4G8+!8E_79c6F`lXX!7Szx$x7C-jXgwjgi~DP7Wa6>E8+)f zqsF_Bv-vd*|j&chwJhN*oD_8@otKa&l6dnlz&u{TR+DCNiBl%$OM8@l0bTb6Lz9qS(bg4snc=oZ||2ct#xW_@JbIKr+&hk!*ZTeu_|n zGE|}}HTjNuG@>OP=|*n`^L~kY!EzE2%wh@a*~)GXaEuFF=MLxe%?I)YZ%J6n{v|12 zkcJFoB@cxu%lfbUyHlC3vfmNQT6|9fn$eDqbf-VV7{?Tb+YciK`kktJCUaTDGFG#J zE$n0;2RX_q{^1hWxx+)A5y!tIEUitFgk+>5Jy{7PFU2WCJM$#B#^Y5~2Qx!osv-ZB z3t7f$>UeB}jBV_CUEP5$^q>!${jI+o#_#N~JWfs|f*C9zjdRm-x!2!Ayw)o9I<_** zHPtS8)Zg~X1N_+0@3+bB3yUL`PZGmLt`o}>Ug8Im@jfCcUyz0jWF;>}DMLl7Q=5h~ zrWGCd%zNLS?b=4&hXD+srE_Gt-hTF{9?1kEn8^ZGvWXq+)fHu z5Wf+V?}%U4`HbYGAtN~{Kru>Fj!Fdc)V`=8>(Yppw50<@+xXqL>_LBq@;g&mz%tgb zi5*JZT=RIWe8@BYB~dx;iCKg76~Br4LY;;TWFaTHDMS#9G^)f)UFWLH zbK7g4`=9fgx*D~pPcvH4fv)tTKZE&|(M(_}b6Ltp{^IFx?)}IG`rkdTe@uOri!8A( zuF6=R5J!UY+6PJag0#G_UPc+nDt*7845AE`s7XVb)0Pgru})_h-~0cM?&^LFWfYT{ z$$VCj*mKs%bwsg^UF_p;j&X|1+~5xR65G%6IdLSYpq=nJUy_zjKeGR2W^$6BA{3_# zm8nK;>e7g2B$;3?B!8p>UFbnS1~H7f3w%#3!?d>{j8{)(CUaTHV%D;iUF_!wr-dLEY=O-ZR}=0V>bBj2gnqTIxamrDd67jVwS(64dr8Vv7 zKzI5xg0Vy}kELv23p?0LG?B*kV={qzFRRt3)#td(4es!eXT0Ja398t?B<6FzBn=tJ zN=|Z9OnBtV7BEi(;JL>ZT&1p?2o#{qz`ZJgj z{Kgn2GL;$3VLp*8V>Rp9#5Q)Zj{_X$IHx(sWo~eXhdd*We@Pguzmu5HNI@#TA|u%d zBrgRiN=eF6kzi_2hkAt2gch_RlumS|Ct(a=FeCV#F-%|z)0xFw7O|9-tYsrx*uh?+ zIm~fR^A8uf%1!R@fG51*HSbASRXgPql9HU1q$LAc$U!dhQ;1@eqCAzUN=?3_K8xMly~`Ok*Z*N?xXc3@cr zMlhC1H1oF^at;ev#u_&B7x{g*u%gBj^(oE~%X8vacN|DTITL1sW4W5G?B)PRIm;z(@QBwW ztl^waO45^+ycD4%)u=;#n$Vmd=|p$>F^rLnXFBVA&lD+_vzGm(9cQ_ZXx6~mxp?}*ZThoP+_C>HvXYa$6n5MT%OHknJEi2e)FFhHw5Kn_8O>z=WEore zi}T#!CGYvLw*IFrCzq*6PYLJFtTG3ADMtHDENf~iS;n$ebybSGY*`#^-LhY`*g z{;;p+FiBk}ukQ=wpG2~r*pK{9%5~ai^$zxPoO4{^4o`SXygK$90VE+c8@+ZW8Ax7& zs7P&opbeeL!a{29GRL3J4_Qk^<9;P`*r*W15kQn#i9 zKM_WvSLPLdGc^7~{n+wwHW=RmUHkr~9>ZkvSWad4%}~!}5x2eWQn`wa6!4s_ayR=q zNqXOfU6eN{=I?jqBVO_^NxnDckb$h^rp3p8Cnrl%j!IM`w3qSMv96_VL{nPQj*j#s zjA8uBR{`4nFXrm%$y7+}H_dWgcGvH6DJzL$2m8q8IUl(`JD@&8EDw0WzkF2JvH05O zFutWwXCfy>C`AqG(ufAyz_UW};qZ|Dgy}?{nezDOQDaSLFnapD`E7`y{_Hcls zoaQ`Nxy=Kf@tSz`^hpwvj8vp2D_@hJB9x>&-%^vhG@>~_(vfcTVIaf!jj>GT5B_8k z%UR1NcCe4XInG%wa-BOo;wA4$RNwf?=cFP7*~mo!ic*RS1XGK8{6GuZ(uwYb@r~m) z&2jx%J)BXDBhtC8sJ~58SN9#~aQ7+(Y3~u1OL=^TT*xxk5XE-(a*$)3;R4r)hPvslj(NpfN4@ zkq-PsPx|sR!w6?I6PU^j{$wFbS;cxbvxB`H;0Py);Ud?#&3&HmlDEVU(HHoH&-j8g zWFRYngSjjpzv7J3cbC?sHd1ng9RJ0IrK}IYE?VCTdYe7faE$iqv`_K>Q zKj<(zhAL4ta-b&UL?=-v@}aZnR}}m>@kbYl*hG3ZWoFN#BR(L-n< zNwO+j~{dr&NzgA&mKl#CXmC(tt}3#~#gpw;L#^afgoK0yCKo6$D( zIm$qt z6-`BdL^Dt1a864!wk4K{@D6v<`iMK1QFS?dS`%3++YUqXXy=I*LrljO?fZwIVnA1$Ci5 zbPj2M;<*EjM3 zw^Bb9O-J{jSQL-up(GT^`|EH2RlB-u^XsmeKPjeXX-s`z%;2fPZIc@wyshEE!8;#| z={q4VkLyKNU4O$&_~#w_Co<3?k?@vzap(pYM2p3!^8zTR0F(>)=^+aFVR%lzK< z!O6piX*1B-3!wiM(0e=MJI|t%TADp8lM+Dixv~}|Bn;mm)7u|OI=Dw-^+-&D_-e3K>!$WW=%HDAT_wD*1;({)2bSNk>2x+#P8 zOh?lfF}B~GYIM97)0Xd>7E>P|Q&pN(Rl32y#-H2zNlg8kn5TM@`r4~XGur0KagGuC zaTVJ;b6=>Nri}M(F>C6kdODdI0yI9zdtRB(75kYI`Ds}Ha?rmfs80$H z>W3W+lEV%LslyHisrIKT^*XFnVpJ_wRd@AJ*pe5dPO(LAx<$3zqBqg-$St>mBUD`@g9}KsELv;8JSFi3{YaATa}+JqbHA5 z`Tnc*JeI3-N|4IyR^`Q8vN9D1buW~Wobo~$$*GQ&k(}~L8P!rwLQ6SE=YzUWx>b4A z5qUKptm;a)dV85UX)m$x{!2ezw<<3_k`*7BAQf=ks=Nvvd92E-vyoS4!zx#GtLoL+ zdls@Ijcb2+c!+>)sYpMoZplv*Z`dCK)+MgF)~fkbM&(o!vdVF+3a)NdJr^#0P#_6a zB10iBLt$CTR4Su#syDK#H>~RIf40uw|MuWE4(yg43dkj-2Ct0d)XS1rdlhba%#PiRTsZliIQ$ry*ipamOXs7Uawn~ zSM}tF>Lnm#^{qfn?J|9%Sf-Cn8QCV(*p!i+ewFK1@@lNgNKQ?;GTb>n&}UY++&^B? z^SV`ebq$)fsgWwf4Q89ZN_DI9%5(C{?v(B5KIQg(L8}<*eLwG=z%$X&GN5ZI;erv<8uE-~t&5z}#sUQb;h zD7d_vrWCyr9X_hSjz6HfI$FZ3%jc=!-o)l?r8sX^nS~ z2Hc>FRHw>lCI=TeX%X(CohwXpB0eZq;H^c~+A;{}%n?QbxwuI79D$C?&I` z_b_DHQq_@XQKV9GZoQFi zB_C)KNT_XAZ^FK+_d_DkXecG~tvAxGbogWMz(F~Wtkjh-lN_$4yq1?EdC;uQD&GH zQuk)i>E~5<`+>ZG+dQ{i-8Y*3kV#n$w$l zl^SSEl(am2Xnms^Ct~VlWad5cT4mlt)bwstQcm+*2?;&YT2N;f6^=QSkfJ+&X?;41GAvIInWD`qj-xoKY`!<~{1w z&b){BI?kfM-E9jT#KobejGK|%g(Rb|Bdxyl`2Nl{fxFM$!?o(`dHvJ|X3HHXWSDv% z?Hk1ml2P-7Rnx)T^{$~a^B!JADcnk$wM7Jn?qZHPffPHYrq;hNNEvd6bayNfs=)fT zZhjgn?}}0dC%ScW0E0{Qy)Y5VSy>J$x_YX6v~^&n7UJC{V4+|<{{|l-rc9ApkaCGX zrs922&NqtdPS4b)2+VtW`BL!UwwcVBq;A_$dv2ySSy8SzDc9}f!8ED`&kFu3kazk1 zt7mGwO3&2V@@H!D5oYO^HM6Jj_}F+)h{ZWY@4)d##?-r3P7=~_3T#C`$XCfZcLBrw@l~UQwIM=ax67d?42G}eso&YJfbp%n0S9(KcA6+vGtu%V_oN>#`d&X zHb#v#HQ~v$sO||kE|F2=n;zBlg~i1vU!E4_|J|pS-P58b-!^r6)HkRj*s~<+w!z0K z;*`^(x+ZcWIqGrZ6Ts+aRYKLzmPiiXMepLEX)F^UnJQA$wDWzN)Q`1;h|A{8s2TR9>oLLY^IOYr``K*Z}OwO^EjVgL%{6Rrv2FtBG z$#h>Q86FAG>ekb)+r|mHt*i^=uNBLUs6D8sZL~VXZ{WCrWuW5}@LdbK1*Qd{YXDg1 z0*?o{`+@5U(9#E*7J~A8&^R8{e+e9S0^9q*Y6g`KP=5&Yy$9+{pm8D)7h18nhUM<9 z#>0(74TWuA4Mn-CT$XmqWx3JQ9+!EzI0bN-!vwg@fdc@S<#r2jnY-&10GC6=Wo9TJ z;4*i~F99xxXgA|?h&ax{W`N^z69qWV&B6q5T#ubNJmk0@W0hBqHmVp8^MoxOJCM0_ ztTle=Sel-GUK#(I(Sa1tc9N_y)pZjoz$E>R6d0zR&LjnxTMsF~5gIALR8Jx0n=;ltuym~BuBBu3RVS-# zm^gi+srx!ASe0U#(=+%3hUx8iXYQc@IPT(UfEGgwc-YXYr6iD?I819_$r}dN^9$(7 z0Uc9-c|`jPO!qm^|7JWa9|1hufpZ>cz5!T<1NUUWla%Vl=87fPJpg8)fgPZ78tBLX zKIuqxY`UM6DHTYO%_ZE8x?dJNBaq5O)G%IhV+2NEJpj~6{z+mJvRn-M@_{`?a5L~e z76Z%20^9E-ITxAipkyMO3BolN$25Rz1Uw$#8mskwK`M|UaV-SbSjsO8o)Ji8BEmIt zV+2NkYivrA`zP3haE*nU4{#0K48%3o`dA>Yv8y3m3sJ7=^TBfdg#zXS_oe_fA9Q?< zw9E$`i~!6BkEZhg^TFwc1Li}$gfk!FzVb)rqj4g6Kv?c01(;8loLtDXK4SWTj51Oa z$OjV4EI_9#`lWi_;t0j#@=NCE4Fn5c=CqfrwZ-i?~*d$0cfsEKt)gxr-Uo*t>HTc49P zU~{odtpgl3lw!5KBU2z`eO(=7`IVe*S+mQ6Dr?E>R^=bpvyao7(x+DGSuCsTfgoQv zdEJs<9LOunxTE#FZdHDsbVnYm@`0@625Mx@3Gpk?lWvEN>s~BNRyRasg6@ZIxdVM5 zD^JLgm+I%#Ef>#0J+IqgTJ=;}9zsbk3lax(%O$i;Z>!s3`#I}32K5x2J5s_K~qG}fh zYL#VWwnx>F%MvReNYW0FD%KCu ztr~#pgaJq|GW~j9SsA#xc$HE6Wm`U7u^_Q3uUeB=N6SB`P^}D$p)HY&P||_AKtevA zP;Hfw4^33Z%1BPtDI>WlpVN^tYRXh4(|}bAS}kA}HkNJT8vS71s(N|7qyt*0lv*TG zz#5T>z{m+0T|ztqyQV%8d88y%kLotn6E440u-vg)TPey zQVtFm!uRof8UhAh z1|4z0X9L||0@L%7+5ox+!JATaKWGmF&IO=+59m(??r*{Aw}9t6&>@HRZ3C@cpnL>q z+63$=;P`()Unyu91w8KqMKL3aF_wgJR0vH+VC=M_(g7GC_WTZ9#Mi#=zD7qgoGVV(Y z03+l6mkJme&rojxMn+F^C?gAzk;%;wFfzIC0!Bt{DPUwA@jhT=T*;dOBjeWjlaz^5 zjEwW11B{Fl{RkKtPTjJPP4_FRmj(*yDid znY!i5bo`33Sb<}<6g&kQ?gr(T1M8nb$CrYyS}bBd2X!kNQZUvn9Y0_it_OoRdN*NO z>OtEFpw%t#xDR1`AA`ET0_&E#bWC~Vz-rS;5{);4c5%oz6`01XSlbrgclV0=8TLzn zcRn7AX^2s#?m5iqpMhlrP?f4muXt5zU-K@UPH%wo#wz7%L+7o_N)O3UQV;a=`nP6%Du`9HJtQA_vtQDGX z-wMr(2=&XFjxbojmp?^%}UGytiOkE+<0X`3%6ccKwITPBM- zv+{a6X?>jIgZz;dkAxchk%RY!8XP75aj?=qaim?i2-W;|hH4$pam;^%UOK?}uxk!*qOSNwd}?2rr>9hv6s@6+)k-1G*1gCn zBSJM7UABdUYEAn%{f)Rh8}Hj*3)L7=S6rwsKh*6EW$=t$hCVN}syVbRZ(68~PX<-h z$8bEIRIhC+>_`edHV_(N2&w#h8phKZNX(ud>X<{5t_Ol%>RAw4@c>5-uH!2{AOmHg z4QM0EM~9JpB`8JBGeY^EP^d4KS+q_7ohR$>u1*W(6M2bZ&q5hWRjEYv?TSYw_R>Gm z&=Z6sS7s*H`>Hg-$PoF)hcqE4GiN@D+L;yNZ_N*?J*Ui?1CO4G4Q00?_a&8Yg=!z` zhkZ=A=W%%Buc6u*g7>ist!Dj^mj7Xj{)~!LHy8#lx!D72Mu*76`Do?)3kOE3^1xYW z(YZn9u=X3~eRWWX%pO*J!AK{n^m9ESz0IaIWomjon^juxqGpFWo79t3D?(Y0ktLwj zUd=)DgH?I!IoaO8pR?tiQ+ln%(6E_2|`dXHh z=W^vWM(Uf7s}gls2gC0;r)rzmsHF14%U?X9SariSr-qJ|qcKCps)wdR<%?QsTCIn5 zTd2CjsCM4yp5;u!A$71fI%pAnc%wTeDqgG49@pKIQo_|K(RDxAIESf3Ot#4`1wv|7 zWGm^RD_&N~A|7Fd%0H^bKmJ~fTvvo=(Ljr!Rh>ibOyMt+_uj{Ls;D*cpH+dz-3*(^ugMTL%Y-Z>a%f5Y%aF;Ke_x1b=UB| zIu4c%fCZ>;87wJDbeXvJObeCCP|Q-?ptw;nU-7V_eWfy`id?gr{d#@rTa@YevlxSI z_24OC{Z*}9GAHU(Rf`yJLvq!ks>2dE>_EUC?mZ(p;pt_<-X2@5vst%}QF6pk39YD; zvflkwi@b{(9}~9L2?yzu$DXQ1ntuXdvk)_o0Xn(`XF3`%zVATKLf`kbeI&fIK*ele z%9Lyvu)ZpIO|>?aN!2mc%soijbrooR7BpQC>~Dda73Y#_7!MqCl&QUvblobT&Sbkl z%6bgcw-2N$(;?l|xA&Z@T2yyvnqa!%3}Y~jAa5E$-ZVn;j_u?f+sU6&kT9#rF6P*TLy&TnVIPds5eIf%w1D1Wp(o$vid0(s0zpd>@ey;tUA9~*`v9f-wW)+>I68WZY}J% z;w~M29K_{iJx3pb)M&X0%GRvP^&E%&pIo3J2frPpE~uCOms~?q?&iOh|CagxYC1P? zLUyU&nhm9;mF!c$Rs5EbnveBzbu=ETMx7g|AfxXO?CXTrnxT0=1NO5tC{W?%P4*06To5*AY{^_7&6{uScDmbnGBh+WjIQ6+Tqnq=ZIjWJi z-TBsxu42;3Xo)qWs+j{?mNi{qD+C!R3vECfQ9e41>?=VjYM#+_K@)Xv2k~ewibai= zf<)w_9bfVVXUBmeR22a{-+?}<^x1%;5!6a;?L^RF23?$6+l^eSK+DSVbC^S@X#_ZS z3~WLbc%zk|rje?JXR+$rvsm@+Su9=ik5>Fkp0fNKp0c&QDzVcSrdz#!r(V4?P}_3< zd>T)gJ+0|N?)t%PO&78iM>U4|BAYIZ>ZokG(0j7!0`Hqm7hDT#&T0N@!NBdHqYLnO>{wuWRIUBuc)jnUgiQ)SRm;)ahR!=|PI?3I|LojqALH_0*i>wj{~c!Mb^3 zO}JB67)Y;@v^ifmxKd~v-j<+pm2EF*-Zy~%XTigQmj!b`<-ft820X_kbp!BE65Jw) zlCpk5yFiX@pDd{Y!R>;N1n&#t1yXzFQs5a2{CBp!;D2;}+Y84JfQ~{?$IAm-xV{^c zP#fUCWt)(VPq*?EIdoT$M@M!iw$3T+oeS8BWly3V4b-uLv~0_4j82|5<$0?jm}k~n zc@)c*M|o}t>d8wz#?l>+ke*I%1l3dJ3Ez|@`xWmYviYla@<2L0l&?1Ko*vq}n0K1q z#k`aBF6O<4Y@B5CCF=}b{{m-TFYd2*UIJd=II_Tb$@I`&wB1G1U9=3zLg|z_Q`wtRHER}m8`4tQ zWhm!IHH%WUdP^#MSgJO_PktUs)k;#?v{Ko#QrVwUHD>}6PajF;1E5r`I*+=EsoJL0 z2t(r>!KhS2)9nn@NQTix7~&D*jm%eo%5PHn@R2aRLWt5*`527h zE@wn{r?Tym=ciW15A7AFoQJRjlD;oeryy<*sm6>{V^*qhL#lCOsxd#+csP~&LaMPe zmAgW!|HGJ6LvFRRCrPG<=_CXi5zuf^!vjqmXqzvQH_c1c9wL|>o0*x{uzX_$XI2pC zlEOi2A*-X1)ltamDAZ;YvM>s@_(B#&p%z=n!YE{6psj`4+(MQ^p_W+4A}G{$7qSQn zSp>SV`(8%!O=~87oJgJ`S8nGSo_j^6jRun+H_-vVwU0t#f^$DIKQ<%VO{LIhMaGl zZGNH0RM^oz-&L+G+=rj)QUe{_{mg(3?!Kih(Q|j(P3m?2^c?f<}I<{zMtWGn!P2JmEMx> zoW{%PzC6im=XwBx-vZ)qC;oPczn%EoCH{8eZr z6T8fbUFO6tb7Ge{vCEv;WlroeCtxFBPV6!#zzvuakPes=yUdAQ=7chvKm*K)ojI|~ zoY-Yf>@p{I=ETmN*kw-aGADMK6Fh$eFei4dD8R(nnHalF48u0!z03||ylQqJBUZBm zWz6d05~GIAMJ8!AaM?j6qab6KX|p#*aSkpnp;J|36WC&7X)$3f_Lz!!#xGVsc_;L~4f(k{N!#WLyK|+)_E0q8 zjwamE+Kgzz9j(Pj6Ygj&HkxopYjdNu?(NZpI$BGNW=o1D+|k~#3FC=In5#fkL4#z8^8>6CC*rJI_v@s*vm=$f@5N+HTZOo509*!m|(Z%?f^>oL)-*TqDa-xd??dmtvd_uZK2!TFEIM6(*BC&d&PqWY&!D_}(y z5TXJ?RG`f$AVdXPd;uXU&|(V+Q2{FwZ7tB|77(feLRFw877(feLRFycE?{LAurdo+ znFWNcfUp&?G7AVD+E_sN3J4!^7qBu>I%UoRLRrAdByU4n0bwoBiV9en1+2^hR%U^A zs6ZHw}9{#5MCsnJyJk;3kWZD6AQFWjKWwTAqMe?5fEa;7-V${YWKsrh=EA7 zK_X%-5^Z8oQNSuKP;0e7vxGC^3v~Yl0pL(sr8FcKYLyl+9|gvY0%KNzaYKP|V}UWh zz<9WT`6w`!7BC+Low-I+(uBr@`b!?%D47@jPx__*lV0 zd1Xvm8IxAVq?Kti%9yk=ExwFNE7M}jn6xq`4Q(yc=9V#OWlUO`mRQE5l`&~$+U_zY zt&B-4W75i)v@#~Gj7ckF($K~-CasJ~L+&yr4W(1&EMwBjm^AV>q?IvgWm-`glUBy0 zl`&~$+MzP7q>M=`W75i)v@#|QuO2C5!pfL1$|sg-o66Wy7=^J+CJn?RM!=*Y#vqd> zsNE0eA_gLp1`-itkx3&46=h6XnVPgRZmJBNLu9gOKn&Dml`&am#*8v!R+(`_nQ>#8 zF~7`sxQxjvGnSSyS!D*#n`MT|<~(AXM{M(mZJstGkJ#pE@p;5HPm9eXwt2)BZOzl> z<`LUGVw7^N20lm`7~$h%IvG5nGf_nKO^r z<`G-+Hl*bdTgt6@T2UVH%_F{f#5Yenl&6*C5#K!Gn@4=}h%XZF9?2uddBm8yiFw*4 z&QZl^jCm4c5RVuMF-D99b zhH$7b=Mm;SV@94aE6=zg&$uzqn4f1noJW}RjHP*mIgdRmPxdHaotURKaH02Y$OfM0 z%bicK);76>EjxvBn!dFJyl*WhgPxdmhQY#hhT|pcw83HPH2*2I2&J#nJU_0}+UKv+ zD!)emB43BKuh;OB&g)Kj}{88FS z+8<&)EagJltW|BGZ%3dFX@5w=BqAuQyshH>8@8~8=H_zziS!EnWnC91-pU3q5rSG6_{-&D)7~93RKj^tt7}J31 z0;cD=z9SgR?uMxt>#f$M%CyW=ram9jbg0>b>3Pm~JI1ox+M?>LqjZz5n;S7rhnf~* z2Cg`J5vG22{S#uotN$0K^FWt)P41YUdsyXa`Z28w4nfmE`6HNGSMB>^J^;?!oSB#t zouERiScb7(TsurRGEm#a)xXD_e*5%EjPtfWaevF8czF8lCK+{ubXMb@0o&g7zM?Yc zMk_NY=dN+bE4D9C#(aftB9w_$tlWpG|H1l9Z|bPCnkt&B=wGf(qMn)A_U2IHEfTJA zpzZI1*9Gr(zov}!7G*5S%JdartdE1{2SB;Rz4IIEGb|mDfry%M1KNm~4&z~DUkOT4 zvy5x70k~JWMr!UW19`fWM5JIggP!Z1V7 z_O2&b?77jxK{{fO7PK!AmS+o1UkhUemHUKk@4A2Q8fnipI43J3gJJs?bblb^T=X_v z=)c!B(tVYSk*=5ED`UMyHwI<;N4ZA!|B-<-KkOPw#6bqaN#h2z5#^)9$i5PkqGr5j zX%VQ?Z>t!%|I!h~0NsCSJed&O7?rTr`*V3v>u$@HGlr5EB5Hpg$UF4EtoLWjFtQIz zyS4~YeIq4lUrMrnyd>*)*%y#e9Su{-n&bBQ)E=SeUkPgmZnAagDNm0jBw?*D+A^&F zaKc(?)7T-j4AaxPt-a9qY4x{K;+Wa-d$IlFFI-u>vF);*{dbFFbmE*~=sQ~bkyz(e z?BFzmeQ`(eg{$=Rg)54rsAiw#q6C9uThHG*4h8HDy7itE+w!Ddjt!Jk_Cx~FO)zF8 z7_$KA$euL zO)!){UAcn$RzL}lfZ*a0uM0>Jj5V(0uM1LoicvO za#chE4>9CzNK4=$CPCwOG1prXcz{XZ0VY8^l)$q!3Qgeo8l6qxWiEmDWAuE2cH!y- zjo;ktXiVVYCV>Z<1RiJ-c%VtpHYI2?C~d(lx753Dp}Z(TE+7z(+82OWRJjkl@}Z!1 zzi_L-nF!~i?(IM_jh7}EYCEb&G*{F*N&P&qlS0QF>B}*P-V8)Hyd{(27;INLPZPU$ z64o~SJ;C7YB)W$31fjFbav4!Kv|S&@$NaP{0heRI|f5;37-9lzTm@Z@{Aaenk4Jo%NYC`4&773Ua$jm_I1|AYH zKf+KUb0j<~WS$^1C464UY{3!%GXj}2$gDx;4Kj0ZlVFB``GcKqy|YfYI#^AptE%=x zLZHkCfu-C(+3?W7<^;@Vy6L~oS|r(;iVI^BMxB|~Uz{+?v9-1{VN}EBjvrOJiwk^s z!l?RPMG2#t3Zw!2sj=h2Xg%fqWhmAEDk*ivay75fQ(VJq`;Xc>I_9_TcHEn=wsm27 z&``RuLw1^n`x|TBvM&WTuAwZOm*bMEJ$xAxNXih@vp_Op6V^K0+eXVJX?a#`oVGiT z36EpC5S73#c3sROiUcp636VtF&S~%rZ`?1;ZH#1bbAMn>gxYqH6BDDhuw+bj_d=l!`X%gVp zX#+$E7UNCpv^@k-*+aUKu-TXJv1SSfOQNeIZv9$GcpnNR+@|_(iEVV}Y&-%_8(Y2ACIZ<%sEW!gKG>R3qE9sAv0nHjga zagH)FJ8pCLc9~z+n0=P4GW#r9XZBgL!tAq5&kJRB*=Nc6vCop#W1l69$3ClzVc2KM zBC^ktA=zhbA{_QvGG~NgmRbzUuxz ze%ykGwK)y%a5{rn+S_NzLVy{9EWrlBMnS&duz+O&O9iqt+;2-b;TBx+-#$Z;WjV?| zD?`v#{TyFqZwCWsK*ukjXEEqb1;_2c^eC`;K>K9i2?j0$XnPs7%mt0tfQH9_=|SKy zftns*tp}ACKz$i-{~dI!0Cg*YO)C0c1O0ac&+C$n75o6ozm>8Nf%l(+S>W`qpyD3M zihrl2Khs&@f8seAhKxc6A!Cps$OvQr;=i~r-i!0%ySOf%i{s+AxGi3b)8ezZEFO!) z;;*ehG1tgiorJhH9C{$tGQ_GM#M z_su1}4V%lcFO6Aky^nVP9kcqhpFS2*_fPBs^eFv#>1zUIo3J<0zK4F_!1i&>N9aRD zzWzP54!w=uL2n^B|Hp`9>)%B9<@TX7_>+#FMrmj%dImj-o96`TEaz&ck9OkIPXFasbKD&CSM(yPMplH+ zefZz^GP2?CL456{k1ZTS4BWR7lO*&QN+CACj9K0FyD@u3Gsf)oFCVkFWX#_3C&%pV zo;GIhT#`{}%9y>0WA;|8M44muHqIHd*VI2|Z!Fnc(LHD^MRvOBp!J9`d*jFKy%3JV z$gV;h**z7}QFjda>(I6I^d0&h6`*g?KDy~fU8obCK|N#knwO#_C=I2c$0)ZUE2=^j z=s2oG7Tow5{lYmy$Lu{t`KhC*3^BG-CPe$ex6vEu@96b0d#ktO?`0hGESiWf-=Mu? zGFh3KtjtXJlrfpC&P*bgN#rtFrJ1bIOvfY?g~p+)Py~uZH;u_;^=7hqGg(=gtlmsk zZziiZlhvEa%FSfuX0mcKS-F|4+)VdWbUXboLJLq5N=6GgpBMc?zt^J)=rR;epPR7P zqKW8gbPb9|SD^9eMihoGZ==7XH_%%28hR70L*h#xe!P!9K={cj&t!#Xvbr-_-I=WH zOjcr zcvEEX=_@0Hy+PqY>!$ zC=~q;g+vA)iVSY)iwthv92wkJfN0hhPJTY+-$n*k%|mn1gXkfYfD%zWniCo9Xp9W5 z{Q!Fhav)rCY@y7FR-%cK!PT73wu5wJWN^*r=o|8X;P`(<2HR6emtt|vo`h~dH&S*6 zasIkBXeLTVub>RH4BgvE^IQ zhX^;y33K^+^nPUUv15_JO$#G~oBzZ#5sv0lsEe{65!2U1I2%u(0n(x9BBYT&iI}F2 zn`Q`N1@VG&qlMkuh4|EQQ=*_^Wn}Pf)|E9f*v*+dOpdz*adtOr(#=7xFA<))zCaxA zB5+hb8zGD-gl0xCh~N`Gv^f`ck~D zFU8yXQoOA%6>sZH#oPK)ysaYvAA!gS^=uNDMV`s7R&>iSL^bnej?nm@( zx-~MGahdF#kI0qdL-}Mhg|dFs5gF{WMFyXl6dBw@1bx-$ZiF*Et0*VJzLyY-!?zT@ zh%!+Y!VMn_)x*qs=A(Dfw`eP303H^ohp~3b_30t#50mD)>|j-N{1-8tj_ar+?cI-9 zbY2#h_aNn)(VOT4^iM>*JBW41J1Cn)$oZ`ih@o2X$BHjjLSnrIaRK&~q9@RMi1GJ* zf$|Zd?0b~BS`hPJe+Ze;Pv|hh|N5^ZgDv5#a6)Tljx1b=7W%YYO#VC~Zsui({>@LL z4D<|2N310?7i1Uyb)v2-5&m^eMR!rgI6EJS3@+mO{E<_A85!L06}lXaCm%;S%c_>p zwctkQyvV4I!qE}@vsPr3PQGLqS@YHW$Z~I_{9r(2@5xB}`pDihk#&87Tjoc~lUAfL zBhr`^Y1|NL+!$%hk2D^Rkt!Pvs;GM$uj6%fEG%L zjHK=(#N^feBhs>Ct!Yr`ix4^tLYqssJ!Z+d3x$2zLhnUF-(^DAcPZM86m4#b#vi{( zOwnRf_#G-Kye_9`yHm6d{%S?X!ze06^YRxeyoXY>O_*6ID1{%&L|3Npdl^%B_f659 zzo3uMiyjG`ZKc#3j-=t`^9q11!T6JiORz==t!*ZyPQCJV8Xgw#f z1}t8knS^NDlbxbj7?9;ZXdmJ@%U;Bv>9F9U<>D00%t*}V(OEQ*!rMH$2aQD+rD)}K zs3Jux!AwCTQut^Z*%95f97y3OQl|(;0IGmp@C|4=5Eg!_F)Vy;Sh&A8EId9eynR7f zcw$(12E6!@tQ2lD)ga!mY%* zY82KG7H&Bc7XBuNe#=)2lYNXox#uKJA`o#mZ{c8pd7UJH`5j4sEG#nTNFJECNdlO+ zN&>XR3ac2S`7~mN&Go1|EZlu8EZj2@`zQ1$x)Kc&H-x*Xydf;ywS#^HF6mj|lAZ;w z&m;j{pGpF_i0Bc4i|`&1w8RQMF%%KXYOni8#bm{Bp$GPLgoXE~U>`zw+WRZ|Ry+~* zGk^V$QStzt3VLTt0`$`Mh@dxC5}V~yC}Lw{ga2jzUi+KDKV^~dZV5md=~5>&C591&E> zG7?nDG7?n%OA?@Jmn1+-tnep^9;n(K7Cvx2iPkYTRzXXw?QUT$>!c;NT7|tDFDSoD zSVJuBH=+?}7#^NMr%AKo>}(k}MsP%6lQ|aHnBF4-8`FD4VB?fW1U5Q5BCv6uBLX|8 zEuVt25T__NgoT^>(a)q;3rk3>pg=kkn4~j-Nd_t~F}foHQ@$jCNqiBQ#1}zJtgt+r zu`d)J5!6)5DIM$$br%Vb$n-mE(H$s=;5(5;Dkf9Vh#X{O8Pwv^5y6L8vn&&!;!rDxTIueHK(0MA zUYXlaD{>x8FI5D7Y{V~43* zfD+IHhz{#sL2t0tGAPTx(GQ57_=pOe1nh`J>xe|DnPuPnG1`D$ML5=6j!ft{XQNF` zrK~DALMW?>bP7{+Mq&bq2P6)VC_skpWV>qm#auFmsnCF zaa^tC1oH*$Z+h%oW575(P5^a$kmH6)#d;DU>}2vf~U~FZ<2F^|H?l zTrYP6sLJI|FmOE!w5C$#05S(Pm8Xe*O(i}jcRVV1Ou%YM?noCb7Q6^*KM)YgWQlCD zgWFrOgg03tn_ON8Pc`Qgi)h`$j_yvQ4vw~lNl{;dxL?l@Pm24&2 z$r7w&iA=JYb)GDDw`951C7VwP%J8ZlH25za%)OHgiLmUghqCnMVH(o$M&oi z$jEzM6l4SE$AV7;T#?DnPX*$=EbnBCoLnxqWV!Z|EfR6L0+Z$POSbG4d?Wae;Gkfi zKxV--OkfnG3Q`0zN2ccmGR%h+yU&p9?h%|5_yrQw?hBwg6v(|PS#DU#HJ?kCODu?-f}hq<^PK zlt|+g94Wk6HV8I=_Z#o6cF%9TR~z^{IMD{W?f|u;K=X89o(O#Vfu#oY_JTfX*K!hc zgoEb)fa(}fn+yDRgT@F@Sp~We0FN~8J_s6ozI*PpCNV=ny z(^$*P6Z_7^d&B8PDj%ps8$KffDKdQ|oy~*=$dit89 zuJSLZ)d?K)9PYmTs8)ZX-rqo_|MKq1N44r-exmk6=jCD=LH{cZbn8*ga@b-vXH~^f z+#u}b(1Dc$&kfvs_5x*X!ZQysFazFy*!>YFZClm0`a}_@94)l9sPtLaW6tsPcjn=v zTKnbbildsZ%vUM>H8gjfVc^|A;M>of;(kt#|9xKkdXj!3=%xOsc53@k{>TnNIdatY zQr*6zEhj+lS}>Tk^r(5q(xU@8OX-4G+Eel9QewKcKfJ-ITTiWSyEo|8|8Br8w({@& zC?3V4-KcXoXf6j;5x{2y$Buy_baos#gi4TW6{uJVYA1qC)?fL8hk&m5_hj!9e#&JD zKj5;2pKV#fkE<-9Z@>?!ETM0}Pn#^EZ%~Bz8IvXac*zoeykrUg9uD~Nk|mq~@be@~ z_<52goIpT-hKB6=A_+!)(UiJ<{YBag6pv!jZqzv(G?#;_2;j4UW5+-dIy(*=LM6!2 z2wbZ`#Y#{+5p3!&;#`7Q>v>{yo*11cM(2sqd5O_^iP3q9(Rqo{d5O_^Vsu_&be3N+3EC8&J` zn2Y?&1^0r+OTpmyBt!F@B!lDAB!lVOBty%8lMEK}11FOVwauh=B^f*;k_`U)k_dv{(I|lT)UGD&T`8~l>8~lQ2%{P5B0%Ge3{ZQIms|M z3SFDTKYb?|Gm?y1NyZIH#*InF{3PSyBtF7RGL|Os5nj?LXZc`M^?BX4ROz<{>G>IiZs4OpT+`D(*|48SZrxpQ5uUUjq4yyJCw#+ zN@H22vBc6?ooTGvG*)sN-;hbuO47K#(zpcD_~L(>#^3mKzn{hjW@&smDUDyxfDKL4 zob+$HkE7nBE`Mi4j2IlT zk6V^}amJD_?pX50AxplvWXYG)Tk>(uk}r-~@^Om;LxkcI?bZpK`E#b0{O${Bnr$22 z*tX$~ZJUR_ZQH~L+cuoCZ4*aq+vvl#O-^pxwn>0Xwrvs;+cxpTwoUxtXgsiOlUUH2 zGupPv8ExCdC)+j&ifx<2Ary}(nU|)uy~v5%UgQjIFG@7qUXR&<8|xl97+xJ>LqK25;OEXXOONqhnVJa-S(&I*4!PiZr%D`(rpuej8)pp z2*t`6#WHv?^%mV$=jnFHVHu{>`_*(xN}no8=>wKj$BQyZNr^jpN*vNto{d8(aZWGu zr4OZ~zd)HbloBuWvfi0PssEjA$fq65sho2M>qBonz%q~$-?5<*d1!9nF?f(CJU_28 z6*KvSl4rXH9!~4l^FDZlPwFgul9R`$R5N%s+{jz^oxDT(`0V9pp82V>nfYjfcMsdY z_za<$C&EAS?$1+i6OYo3Q-w{VR0=j-qEfJlXIpAvZ6;cVGEh2t2CbA@c~@$jDxWAe zPL)sg8mG#KYK>Fn6RpOnEjxuj3FNuCn?K~h0HTFAhp10&9S7xu+PaHsvv}E-52cRC zCsI}(x8?cO+=N)3L3tvmiU8Iu z;Ij!daO@Z;LiHAKb{rUZ0vtjm$k7N~t3bs{U{3+nd7yS8*o3@t5({VNtKfooL9C#A zyU>5Hu<=si;CSI&0S@uqNlpRfBp5kEhzyHgzsx}R&6eK^#qAK~Xoz?kBEHG*n-q#? zhL(2V-VbW&-{9m_{L&I z=5nDWTv$6%SR$y35L&Z@u2sS!LA^zINYJI~Dj$*bCPCdAq5FNIB~*Cqm{6TDUQ*rL z6*mZD1&x;q69wiggmVRh)Z|u01e#j20*PbC0tXFMWe-(l z4^`zB1=`kI0*OO`V*(Y~LlxP9irlWD?kgV&9O7CPIA*9Sd#EaVs490;psmjqNSqxP zI4Dq)JyerDRFmuaI?%R!W1#I&N%l}lZuRd2Re?l=A;RWRMe-0ANVG2qBw_=$a$g`Z zH(>qC1Bt|dZCn~in6C&V28Ra{{?ma(Wqu&ha4?W)ObaB;`ULVD90OsyxiU{xX*V|? z4HaC_3ImTGrI(y00z;lLZh{x4L?a7BaSMT)}|gN45B zik~Tds<>5gi{fUX`Ag}&wo!T)4!j}k|3Z}vS2QSIq&Q45Sm@iX_?hCTidz-8C~mH8 z?BCDZ)qZ)q+RsiR_z)B!-l_KUPPJca83ep^?PoUzymal?nl^y`RN(nevLggRpak&( zwx2x*R6YWD0o%{(+iScKeWg;V(p=+`RwYd%NIG^&3&+>cXOk+GbbKqN?2wQhl46zSVkga> zm(Jj&u1LU+3E3=ZCI#7gQWYPPe2LTx9F3rM9bm&v*G~KlDprDAdy23+PpDkX-9*xv z0A`?U$;G4g1t1nx?gQ+$>9WJp-%=o7+P*1WeVJPsImvQ^>p82-^~g=>@{>)PB$gX) zmgp=uh_}lPxsLpXUOkDo%MCKJ0%lV3g-&^%T+n9%WYMduA9aurs=L;gt2TBYz6KN%NE^yrkhVO zjwY`dTstp?>F&;((xZA;^(5VtemaZmS(yw)CWoR8iW?R46%Q-gnFFd>CXoAQdb&EA zD_N2pn=Xf@8#yxF$bsobj!Wm3E99tjb&#RrYTT$818P`G26q8CEphC55;*46mdLuo z-|~kro(Y2Spr%pK0K89t{zXw|;?>_N>hVOiUlsMkEm4-)JxNjJho?tXTqb{aXV+T( z5RTxpzJ}^?)1#^{)onu}e=T>6KVN0bPbGZIcr29aQb|^L0kL%7&T;NWXus3oEA!P0NIXQy|MM$C#00%*rut$T4orG3MtO z59hG3a*U-pEUKJ_^qhvAoQjKc`mbqN4Q%g7Dn6&-wVZ24^*jcA!1jtGvEdkv>@VE z#{p$)NwcXNM^83&8ztSp6h`2OLq3&Bski@ z9M5bzC@ZEY6i@3;*Rz5hbqAh)Tl$5+gTg8QOBZk<;9b za*)m4oO#z8C;`>oO|ziGJbZ|jJ@;XD0dV@Z zkIp*xp?3f{;oOJQxP1!eqXb4khysHi0M0-6DU!DVeuTIm02r?z7z7BP1ssCl)Ndd9 z2e1*+?FJai0XQYyM`x(}=uC2-Vw`6mpJ5VG68ae?oI)^_04Jru@dSoFgp)n{p6KV( z5uQLDpXm1?LB}>i*VlyW2+R`*Tf>CD3q1S!+0k0O1;n$@vDb|HI`+2yYRV8=+(5Rm zpUeu+KFnvpJP6v2GtzxHBi)BH(tS81-G})MKo4R*qYX_c1DCb|(VEu0_zI+Dn#Z_+ zaXsS(#vP0Y8Ep%h4l}loBSNn+rPNG)_X(>*SR3r_88%IWwo#eNRZ za)@YkB0nF7Zw0{64ja1|0xhXOo33$bt4r*drD^m4LUzwQiz~ajlzV;{)DHw`n)F zk3|gLsu+tgdGFjLhJv~*0!)Tr zA75Z_3V`-g9Y6|gri!irdiJP`q^z^8~~JU#Mtv*C?~#^6>K*wJlKw2DA<0z`X9k%cW2iSFS&?lWjRa~C$d z$KE)f%L=yl6&_!{tYFp)52`N|R9`5_TPUc$P*7!|VB=z;V1HtvH2f?pXoT<#m-i*c z9+hHOV^pX6Z`i~a75ZLw?My4!FFLJa%PtWgyKM<&=LfQaV&x5zWyUtgaA0t02WwE` z1%jp6c^Dju0B9p>(su*IZq!h)4K;k71*WL?NQDD8`2X zbeJd^3igSHhxeHlEE4b+C<8l#!O3%wc7%o=z7T+6M@K=KzY1W$R|^LQ(ms~+kP!Ot5+9a8~-BATzax@iM~1 zQf!9{_VM z>PL9`EMam!VKYYz?Is;Vpv8BD)DM(6^PWwb>ubXBg@p6Zc^lV|O`FFN)3$6P9E@Fn zagr`}?&S@0c|+WM+7LHuF7wz``CSCy7I$t>rp*W(9sjE@@5nQPJ%B zm}60Fa->sXvtqW1DFrH~ny41Oe4<`Zu-z*)C9UCs@O&jXnAk#TY;vh^i$0VUJgL5n z>ci89V~~wkiE~?i*Eya@38xrCD5BeBWq<--b1IvOEuIiC!NR7J$fow-Sis?eg-zjP z%i*F#I7Eq1M2WI80CU#pn5#Ivrx%gj7Bba_b#q<+Qwn!jYgmaHl z1SsS|AM;qGHN5QLVQE{6+do72PQ^bIe_;mmkf!atR9ElL;6Hs=SM^8<^1JE!1#daftaRii)Ncv$KM z93V* zJ}%>X(Ml#d#EOgrlg(K$@c~%0nU2srwOHZ$q%}EKI-7HC=5RSPIJwR2&w zIF^c*K;bxo>5#!D6Imj)46OGIv-ONQa!lv3$9C^-7IZ2y#Hm?*neol_k@Wx49ldDAMq&fqyORJ?12b7V%2 z!sZ->i*rnSkxkm0Rz;3!FJ~UUS=15CbtGG^Be~={3NKeocsWP%9z-GJqS}a9XrFM& zwGrNQ0_4cqgiecc!CWrca=GM^%N5>qg7eeLeIw#>-%wnt4Y{Z`A}!ZO#7e6uhifCe zX*Jz9!pnVw(>xwOFxQc6xsK$L>nOZjN8wGYB1b-3L|m>T#icq@M5?1m%M}x8(`veo z!pn6Oansp|95WQHBSam+Tt~9yI+9DSqwsRYgqL$9FV%)zR2vbCs~}>f)pTuym$Sjy zF82+X%OzVbmt1nW!kbP2Z(2oM?qU&_8$~MB;#~5y%5^;#5ly~HZt_iXlVPWu3|G3z z?B(*1AYC-2m5UZ$E?VS>4&WS_MUKM7Ii|f_8<94xiX78%xn208qVxC=z*WGPfNe0_ zm}P8(*~Z|q4Q3lX%{G{AG@os-2){`Vze(71VE8HPSlhY7MOvkH6rCS%o`o>i59f!S zXHlC%=Z6U^eQYyfBmm3l~oKkiZQQU&^#9 zN=jRzq_l;wbSp%n^DI$PIwsPk+ayZjDu_gBRg{#r&TErMk#5DglF~6nNoh-z1WU|a zd7Q)?;@Z&s`+b~5Kzf`+Sh^J=>^$qdHi@uwn?yRUf(S^f=e0=$q{m65NViFZooAib zCJ~k%CrpFmpNfgsxkGTe@(AJvg41<|n*N5Qt12?!`GgFZG1-|h*_ly!@2|svIOrgG zq*EL|(DCV_pr%JQT@+kg6fw_b{$1j%#rKeZB-ln2E(%PA@ZkgqA2pkPh4IbgR)V>e zVAO)YltSh2CDe3mQAa+;BOx=l4pF#BFp|)mnn);gPK+-(7X{{`!0Dod%0=17io+l{ zeFRRYP8TgQ;^Qb64V#MwBMZDOj+2VKf$(vAFudtrg_@qB>0X74%ORF~RUEBw0OX?; z9|*Y|MB#G4=vAoEx5Kj>`takBSr%{jaf{cKZSe-zTD;bBi#L>M@jCXxH_qY>th0EJ z&1k$@VB3DueH9*Cnf=1DQ>|@ZpK1+dM%RRAK^~8;>7KtzTk3gQyTtRf8jr|aU#4NS z)|@yC!&=iF2C20aK%ix}mc7w~+UUVVov|!Y_v}Q^e`_G!^TP{HIh}gXBHJtU3KNel zTxGv7T;;qq@^NsB$L9LUexd89j!A7lSiHQqwY;;nqg(6fHcoVO+b5C0uumd0kz=j# zI8sioihVFE_Sed^SlQ}JxDFX2pBht%;r@Y6ed^9rZHcO%t&R^hxNA~(^<8#667##~>dfy&*I>J~ zNbnFg#a=qmvBzW?FW@Zp*nCa)3w=$&nB_8G6ZM3z$$y1;j(JDlON9O_1_eK~74*Ht)Pc7l>f62r zm=EKY|6%+oo?~>%B+U^NFjU&e^65bm~%9>$-2y#ZT%y(~U3a zEGC`l9i4wTk~Y;LueM#wbe%Q2mQ^}$f89uRU?#4I5^O8=EOH&jwvd8T2XOT`ei=Xw z(Lh>$LvZ{urqlr@?Atez_FNqqzCT_7u+#w}ZDi_CUolcm$-?(He+}qb4=^-4#~5df zv`@Awke9a9asw#UScyefhS6jx_I!=7%1975ATB#SO6J zEr9J1=d9Qf$k9bL&QD(*Fa>^ufB0&~hu&rPB>k1!aXr87R-GkmUl;rARon>M&f<9O z)dA}ecir{@>l_hN*j{dXuFSMmXI!*QXBfF1ckx^;y4Eo|Ul4$J$3AS@O-FNI*Y~=V zP4_Bp(ZQQ|A#}F#)r`rn4!|e0yJ1sZ-8`uJ4wn-MCAVIimSjOR(`@*n7hESElwmnM|t%jU}ov31{dJY=y2M zS}G{GUhuQlspJiwv=$R%=OK<1eqDG4+p5E_2j9fzYAxor+ZYy*ww_=E!486h1h$2Q zhY8xp5t=pHA{<)mlM*kGZN1-fma84Q zJp7fc$eDBxG2KX=b!>*|&ZgZ%7eLlmd)|BDFY+us46rIj zDQA~MDjJLP${`gs0exN_K{>&G0>m*T5y_OS7!|BpRYy=xu%DoM@hD}|i8xOo%2Qy^ zB~Uzm9 z)OeI}*S1v^z@&dsIcQbtz|OcH5eWGUZLrGU>pJ>++cTIvR{qi(1R;A7#)Pm@i_kTr zDvI}`d5g;PDqQPQ57iNr6YM8Iri;o0<;Z4HMWDPwi>9bGgyjSk+Ppe#Ub!}JzZT8Z zqI6=9NP#EIaecA?O6{Y_wK8yCS+euMScU*$<&sqH6&a1$lJ^ zdF2Ip`$^$$FBsK&gXaou^ay)IxhAx4K*^1eO$e`AP=LF z5ii(}X4mB{Ek_GSDNAYiOVKbw*jjb~$pflr9gtTJQELDr`YwriT@xb5P18b6rfHGK z+dc^y!;jdW@!#ArC%mY2Lfa>){}N{q#15p&+);`Y`-!v+;lO%uM{~zkhr45IY$qLp z@T>2hqnqd~j=W*L)Ap>pDmB)120sgD5_?={q?X3m{FcVxTP=+a^9uj9nv^5u=p34I zSd1x0WF_SuS?wxY(e??zb5rVs=O$Ow7c~U@{j~mm#)8W*Cx)&S0t~2-#Rpn=KiWR&d-44h?f*@^+x9tWxIKs%gb-Kk{T0TEMo-_R@2?0CThX%<5HTd@ zrrtBn@;ukGle58gDKXP5|DReX`2SSwic!X~NO*X7M69>vH^1in6)nHP^WlonnQ+bu z%k1#*=*{o1c;C1y@kVrX=g`FKjz3a~@2@zu2?Vf=L@A!VRCXXi=-Io7RDfqMRhSIH z9U;%2j!+<;oZI#Z619Ee+0*t(Am098&)&Arsa1glF=d8e$_*q!S)pJk6ds6EuxF15 zr93Fmv&V7T-0etFHOv7*(vgG=5DlN>S3+}-Io3MCe2C`Ia8ik2nPcb^BtFE{{$GR@ zi@G70H8_;iD45J0Z5{0$9Ubk4fJB`txw-+|wePQh!TCsuJEYiORL)|RyGmtrsc7b@ zCc4h3Xxgc0{;9&lRnawboyBwARdbE5xd_ylm1?sRFGH&~D^ug#_Zro~kBt*clYULp zE-gq4<^~RPtrpIEj=haNHmnfLzh) zLUE*M?(!6pm9|ere^Tyrq~ShgANT5cZuD&U#?tTt_c}UXs@6oj;RTBs!;6ZQ+wjUe zVhm+UgQFBo9LN5TP3FXWLRSNaxf;kY#0hJ<=UXn19pHRG=V$YOO;||Ic~-~vN-jK!|C)i{uw8R@e`W(33aeh6KqT*HL+I{Npnm=g%#I)7E-Z|WV{c)$I&RJRPJELpbjqt{@?p%ufF{S&MasWWXLMeYg zER*v03of!=U!9trd>k!Ewz?8s?}o3TKg9OThM)bK;r2C&lU*C=Y;ZH332qjFp7!LT zmS1B9eV3-@njbU1((*#&8&@D^GPPQ7i*1f=N^K85nt7^$$+F#{XT>ote50&HR;QIV zS@GR3EAawW;(E&jS&@URcdcT_=|2c|jI-V;r#XFvta$dwN+8Zkg`t?aTxQ3(iaa?+ zxlrg7gFTDQ{S6{f^k%te$GF9b965UQrgSX1I(6r=tP?q5orp`cII2FELG|w$+`$on|K1!N`CE-StVWF@Ybm1=7!-DSh%{zaEPBG)$7n=UNkXDzCh70YZ{ z@jW0balNc8wua<-tIughuN)Xi$V%)N(fv_1ei3Pyk6p)P!A~74wl#7U9pms-O^>+a zb`D&e7%oSvKBxJ79AqEE)GAW+;d{k)_-0x0`DLZ`CRyq0*Y-(#dl?-S>2Idhyfbk! z`En&rJ+U+M4FAB&SiK=y8TkMZuBeQ;D+?rL+==Th;qjHJRM*DJz)h7Z%zD4FZJWwi z-a9eT5Z5c)w&xjoE8V%3r|gxj7Y23!yf0U}##FlQs*HRZdnhyb;R0($C0EX&kB+x3 zLr#t!*L&?o*L#j%n!l-x=K$2Mdkt+*0YgUsC;Fb!umc!60)T@qnHbt)9}^=I@I+ti zW4eMuUShM@*p>2$)U^$Wk#r989LHE-?J!m#L%X8#ZL5bK=Y@D zHVs*vN%N;>r*VzhnMfGdN}Cf&mV{>!S-F{sgu3)m&(j)$?)lBfJWnxJGcII&GJ0L+ zmeMTaT6?C@5=mK8#tX=^II9~ABUr8eT`g4_XPgTaDu)WSG^=sSxlo~U=sE8^3WbZA zO82yrr!*^(^t4OCTKm+>@G_bTp(F0*M6pJOor63MB&Q}4Bwr2@tA&sxi(Yg)@-|i&YNqgNruMsu@KR}}@Ka1pn}u^UQ*aei=qe`b zG$z{FWp%5SS+rjwdjDMA*27u;C}h zC4^Kb^b-NqiTa6<>V$qGpgK`M5mKGdPXtsa>L)_ZgX%>6M2I?3KM_)$&`$)Y6ZI1z z>O}oSNOhuqVnm&|pYSZsS2T42O`8Cwd_eGRK5|I=+Q2xl_T>j}C z)ae|!MC71O=b%pK!1c#ZB05!#k~pOXRTNol!4IU|VEk~SHX7u?N!90SArkYCpU8s? zr94)A38w@#U$Ljt{?xFD3-lr+dC! zaQA$BvDGt$d8V#f1RFQM~=g0qjbaxQ3VyZ{N}1$qRcbr=dD zbuS@21qqA*RZ!ykao0z@Y$FA07_ic0zUOJ`)pA^_VxlChP^-KH;{}LCbsqypAu?;2 zse)suPecUn1B$`QxgaQ9FRm8Xv!HVj2AKdFjW?rch`B{+-x|NLNol<_){WEh0?Q+w zWu~F#=G4@-@1vKueIILdrSztM6`1~&OyZ<9`KU7f8DYau&1ahWEA9X8y`wuXSyf;S zI6u@A*v8ZAD1t`=qj3ja?HuDDq1O-=uwGEjy6`L}-8wES_Htsd&fcI)>UD`}Dcl;5 zy%Jw-9}`~^Wa*S^KXLx1XKa(E- zHzz-^-q*Id<6zLC>p0kP55RV(uJLyB1F=`aUl1Bj+E-TES7wfAs&PKZ{H)B+$h=7A zr(|9z^Am!5zUZ8&7rDIUnqBD{4{-LlX6qV9R7RRZb0CjF{sMUvLcR)`fD`SRL^Y9V zIMGuUz$C6Ih)i?;aYREg!3B|nBLc~WVvwhfEf867UQiJ1)CW5;w$5!SZ|o)WCd=I7 zzK5F|`mPK9-18lbz%{8`D}y#y6K3dA&l9nI_Dm*Ed*eg8H;?bt^-jU)^-iJDONCTf z;LaDb;Ocx)X}Liloa8ALuI~AA&>$QYItSqxf$s&W<&}{Yl?I=yurihiRvM1BJK_zl zH+)l$hvLuc-NQUD+2+{Za@=gIu?|Z1B^`6S-Yw|8tMfSk2AwoO*L~K^My2&~b4zkX z{6hN=dh4a8%i{yH>_0T^=I=_=ZvM7l2KY6Wy4Vu$rID?Pk*?pI+Y-6fI|4T<3u3RR z$Q?h}_G4I|I@@}Uy73<4Q~IW5%mp&*)!t0^$pXgSQPx~t2_Jve@yxJ(Zu6PY^oZB5 z!O-|M_}S1KHTLQ1Z~?*Cln&>$$4f9wmK(BazRP!>v0v=_)p^F_BJ>5FXY{dUtvA>P zT7R`R#2-vt-tD(O(DQwxviqu@@0Ec$oqxr7`EvJ=rv9xr;3C97f+zf%?xmsOEtg8c z^|6nv_ng{ho#6B-lYOQ&zU|5G%D|XFsxmmw@n!6>)*I+YEO-JxT66T49DPex^ACo$ zk>)0x_OwSC&~o%Zj8J@)Sd&mZ>&o^NOkJdcBzYoKc& zj&-hq1?`pk_DZCnR2}YypGpXlNhk!areU#HN+3JqPAH56W3SlmEdaWj0G&%>uUKXm zN8bppH+`8J6I`D>of=ajD7ZeZOpVb8*E=!)3Iti&EVuG}RKbV*aQM{6DcscrwS>|6 ztmP3D0W&oQQBq^Vt1bT~bQT~E5yi0Hf6lbOO=&5BwWiG+Vx8tJNR6RdArqn!0wiy|28mC%^mc-Xthgv#HEFILe@M_bS4jb}H zE3su|sB667tGUq7wY?hr&p_WY!={Fi&8&CiEpweL5E!yT$C1lDw*cJ@t8z=}s?I^B zt4i>()->&o{o=SDQJ|+a?e9))+PCEQ;3a8itlToy^*}$Qp8;h`|PPe59USVKnj6N|`5OGjfD#oD5# zYiX=$(i%#mE1F!MP$Ii=N;;2m0pohc4U9V&4>H;oG96}YA4i1q*~o6yEtDLH6QB5&wQcriu^e6%v7cbsz^)RrI0^NiD>5JXqADo9_RXS&|Fx;*uW>H0(*q=%H~ zW99p^5FK0xw(Lf7D=dlA$Uya#So)>(EsRaL-FM^3b+01QQWe08rUedNz z_Nqz{rSXRHyyUH1&E&15QbkK-4;YyUpXn>8rhP~;8VW(HvOG^qIWCQSopKZy%VP&K z3XC(HCwH2oJIz0jk)ph9lYRi(6t5&$h_x z7vrewnM?O70j?;H@yfV8G9wFr`fvxXRbjB=%M|;B{sXqDnbj_n?=KpHU=^WvAnx9J z2jVWSI!mK%+69E#;oSz>hTFTiIirm0^G_rqs}gT?&u>{#5VPYiG@xBsVLT(0awrm; zk`nsG>H=x=#To)N?vGuJyAjZ|tTL(#_+l}l2v!H1UBwq`224L5KtL9_*{Ziy=wK*Rb=!^C16)d7e>}>E0 zkY6F+!yW^E0@4ksg{=a=1s)7;08a+bfLI~_fPFdmZ;%LNFKi9?F^C7U4fb&GGH^fe z0q~!|4?|p#&9JWlKMzSkzJ+}!_^*&(AUj~+0)7*G5%?(h&*1wZEs%F%UkUy@Bo6rs z_9*aNh!64!?3=)^fiu8AgU5qsL)sx9z`hQ=6!IIS9`;!9laK&p7wp@>Z-a+`8^Ke` zn_lB(T|~5i3yamTri&3rk8}_Y8sg9)jvQEyhQlmYrV(PT+J0KEhRbbO;0C}7Hc|yP zy(V~+vUi&0-a1;Xwx0m&$V{iHC}vtmMm507K_(87HL6vrqC8bmp#?!`-5ah|(8@Ou z9o~|D*>g_Cg0?LF4Z^Pv6k5rMwSmf~U;-(GN%(+S^eaVyA{9pv=_oORkpq5Jys;(p zn?nEQV@v2)h9kz7q*KS1aG@fcoFWZ7DR;z_t0K}g7LRg{iF{cRISWgtmF_CxAEk5_)4#>FNPr6vwzWu+ zIuOs~9}cGSQ8TUH3M?c9mFGc5&8*17h&(hJYx^D=T|UZ`)$kLR_L;J<5U>v85v+lt zey3XV&f-A1`klp^cd7&B)$eE)zoRBrFMdZueuSs}Y$G1xb2#Gh^2=(P1GLDJ6kdXf z%VMi|y(K9eXK^|XDI5nED@7bqL_V0BA|EIsA1ERpnzdBK;&dERL_X;_>U5mynH;ru zq6kku$!yOQdCz3(oyhsBlTR|+Ger$VpusK5N=KCwveV#ZYjL^^Io-DC8j&Ws6snvc ztu1C}x;Aow>GI{u(HFF(K5%zDGI1BuOA7(}q(Q|tLJlSWYQv`}v8v0#cDs_?WU1H%NRrLJ=*G-L>9dBi`U zZz(SjjNT8aPLIQR=G3v*YJIQ4ZfmuiT!_Ep7#IG zMc3&6$Mrw4G+74s{})UBzb;MI|5QQ^mwghgvV}a0m19g9_>;VEUyg-G^tSWpwdsKlq z!jZj^SAapMb!}G&Yc3uAtar|(!yza&W-g8%b1ii>zDF&ekmGxf%ks zmQ_aot^R9`eT)3p`m@`A!8(fGdpo?6GWMOz=pUK7&-x#S8{eKR>loL4GMC{M9Qmg< z8F#U>=MKv((|x#tNXEzt+dz__z>e&goYm1 zSxjJAaTa%Mm3%P@kPvdF#&c5^qlAv4=JzG0en#a7FFY+$Oh8lbS8xXb)BJuMDw9ohhXQ^f*r1h`q3oH2jR8ID~T}( zz=@+-CB#!wK)rE>du~5v?3a9^iK7WIzorpmx=nkipI@WK4FX~f*r0R8u&tK6!;RSa zgoZfQvvw*I$@rz#;T#}RAWS4tQ7n2pGkdg{?wI(L9~Vu;0md1=->@!r03kKQ{k3lOpPy2I+H7E#hnd-yzo8d zIzoYzbdKd-PRpEyc^O^9wotN^T2})_Gaxq@hIobnw?|;0I1VB<#Hkk|kEFil-q@S^ z8eb@k(5X%IMW4va=I~!m*6`ypn|`n;jEKh0`m%ej^`)2@zVHZTY7Bn3jJtRwu*{v7 zIn(dlLl}ygcp8p$`hnA8`TLDEv4-#n>*}R~sN9BT$++}7085jJ zVBvCEJ}e?yk8T|!mcJ9rHcH0z1zM&Kr!dY7LE>`(=^QB1Onc^eAu~PglqR*2e5s9| zy;;_0#fo}afd>x=Aeae1(!Is+&!olita$doV||&HA;TjS_J}CfmuGSej?GaxgYb^7gB@pi|PRE8X9XC!jLxw=) zhDz**(EpI+lT`nBX5x();tH1S`{k;$QyA6}rb_Ps zQziIOnhemHX|xkN@*Sy})@SJ{$$((Cd8I!&NP$O$1EI@datQrNLQ*0QlWp;EhSqUf zYwkAF*V=rDAf|k%-)N|WF(nQMWH9jq2s9J&#X|@}jTLjzhXlc*nTrU5VRLb?nPGF~ zU=vH~osZ(t77bxM(~P5m`DX|YHSezgA0o#8IrGo>Cx^dt(C9xMnaL+f<)a9m|5&Ru zNBO!}?|A3qN>iP2jj_rX4gRxjpVf9c>uq=#)EGZ5sG<9-?aBv(6pp)8$C*6 zRZueTKu(Aw1s?7^Q&769V=Dk>V+C|hSilco5t6Rf6y#Olkv2Tbrl-?EK;!LtjzUPf zTBFC)TX^D)o=WQ-&xA+HgvDgAN=p2DqI=L-Fi(VQ_2+Ivt69Up2fF19qCXQLP5|Z< zI90CGdk5my41xZ5FRc(@)H}}>;1d|C4-D;|4?r~B4euO;tBwTF@Rx*uZsF@QU_kVE zfZ>S(0(~hIh?<}6T3V5M2pV5J#I?W*I^)LKHW8h5^9kQ75TC-MZFC9`;uCklax{9{ zk5Y*cS)(vMgOty5J?(VNuE?`brXxO|kIb}BrWsEsnt?c>`R58;-Ykd6vC7fWa;)D| zQ5u})a1=Vx5z2n!bXwHywT^iYc=}39Pab*#H-j>8s|Z5tBhJ$Lh_fZsX(g`XO4o7! z0J`%=zX~OAshZCqHLhzc3fxT@kY-8>*L+h_c0o%%E6&N^3x96)o@Z1Tr{~o{$|0x^ zW(%NtF#r>ZF#H9Ot_Lu&4{7i;A5sC44v3UMJk&USCr;M!j3YDR(UlWK zofXQN6j6rIs2I{H2c?!T+Q3f;w_EL* zxQ+Qq>f!jEssEJg`F=)4_u=eNK z^G7X46M^s2PY>u?f|#Y9aVj-tmRNz z<9n>+kQIrZ88W1F{B<{$r)JS*Atfn%<&Kp7Y0sAf6sZdUiG2XWC_s+}5Lp0dxEgTm zZa_Fi+5-UJ_kjBtr$CFmM7}`)PYIyoQ-TSA)++$c(SVjHz0bmCIruyva23Gi zAQ%p?9s@L;1;if**d7El3?sOKfU03>+z32o17sZA&-gVCYvfA+d|kquoWy~?E?Ehl zqQGwf)}sL9*l|G5uc$2EZ+ig%jmOH|Q2;bPgBp*;xmN?wc)V6NMcM-ZG&_SEkM+RN z(0KR;0nm6X1E&1Yc)Vce3IH09mtIBzXguB>{VxKFjK*VC@l^mc9xxn$#v}AB0FBR} z#-j$q2yP&tYEa`*4;z4*Nyv?dF9Az59&gO0#*-;4XgsWM0cd;%Hy-sxdZA>n!Od)iS{wqtdtH?HCy{n&QqMVSJB=dO%IP(>41* zxde~Y4xkqhH|-Yh+2FUB^Q-V$9#NXNqXAqa(x#&>S5LYGyr;_6dGWF!t`fo0K8!FGiZPTimqRw0Wisu&;WQz-)3ll z0gCp=paIa`ozMVS&kkiO*!d|G0KPR;I{@bFtIz-_s|gway*LsY0ITP(fd)XS&p`uV z*p5L1;9EEZ8USC^6Me&=GYwGOJiTuWEG8_*e~MenL@~MkOk{C=nJ6Y(Oq2`f&on^M z97m1-#Cpj#0y-1LVvC8a@P%A52&19udJz^AmDT-MSWFa?Ehe%ya6z~LF9ure~Urq;)+{XzR!07kf(d3la4t*N$mq`<(pgBP~Ct3JE>mA~>1J zUBiT8>FJK?;K-+V_YNukVX|V#jl4Y_uh$5?F`Xm1vm$RljRTt>kn9EY`~rx~0)!t1 z9Jc|E%>kshu19UzI=$H&>y&m9t2ymDZ#kLc3HAdTz9io|KwuL=A)xyVpixgI)vufKJ9Zk-_oy+UI0R{! zPcV;QHo+`FvbyiBhWp84m`mDY1XToc2reb4Bq#?o9bsyiMvjL7oC7HcA!>M#;7Nk% z!b{XJN$5lkg9&tiz9J^1B&(r};68$>0C*o3R7|ePfMYh&iU=kWJOV&8qEvsTh6&^^ zBp6R{55b=Z9w!(_P(U!2;4XrEfax$(!zglS0ml-?#Ge%2xu}wD8Q=+DMNWUu9Xb8o z_vQ3&>CEYG9RdmG^iN)y)8AN|(?9lGPXD(0oc^u<&FSCs$JWZ6{>L(N`bQS#^p8G} z)8F@4PJh$wIsM~{a{4>>LdGN33y{T-=OEAL^tXHj`8(uQ$Tr9ukT)Sqa{4DSkTwMA zh29_152A#P8XP?Zu|ZBiet~pBd=Mw%T!1(cNDOiof?CGUK%zPQ9T!88hvOm$TH_c5 z84MYi)8G3xWI5z@$XgK9#f!RlU(4y=0K4Hu$O_0x2*Mf=)_}0Ue#kD!7m%+Ydmw0U z;Pa6;Dw10PhI~NJJV0~`;8+pC!+>3o@N)!n3CJ}S;u=m?Ho;JU={vwii189YdCE~?|r8`@3(*7JB_$^nsF}T8Ru@+KeTk{TXQyR7{gm*+gvk) z|8mW=Pa-_!=$+R3@cxviF6HT+hP7V~ZR-Q4T75yhJ#0my<5U~oIBoROE1}g(TqT<| z1hDDSAucegY1t3nBqj(CuW!X;mzu43=n@(pUf;S|ZQV3~vxY#e#Z4%WqD7Lyv749t+0$xRbPfviVO-l z3E(bK^dSB}H-DyUS`l4i8Wvq+DW(HusrCNIw8lT+$>GH9+EcCeNwJgK6Tjm1XhU-C zj}6IVD3H<^Lj^BF-Ka{9RHejo%^y?6x&mOI$_a zjdPHoic(b}RXmSEdafUmyA7^woR24)eRdR_38y;~Ui%Md3fh}^&gAxZi9IwR&oyQe z1`!(Gg}C8eh#TI83MQTl*P?&#CaqhI#Dh`u2RL$sFgcd6MZs0NnXutD4qc4S+#hn2 zPUzcjTt_;gZ+~wA>4Z%?$tFxZ*R-=JcV1Dh=jo!{$c&;~>zzfp%{z*6pDM~-0PpIe z+|K8~O+~rk!lK;6MY)R;CyR1p?-u2r+FFDORg{b8WQ%gUa*A@DnMJt`-lAN~4@J2e z_I95Q&n(I{ZA8{@BHPc4Fgc5I9Vd!%`$~&)-4`NLgopPc?B}A~o{^AT>&->Ep^l>5 z7IMx9Q8G+}_&|&uc<` z@NfxA+h#$AHG#jt`%6)7A_V>e_&9QyQj{CWhoEke`@zq{kCN?sP@nzqZ7<4AU4(db zMY(Msqp{8K8&T?YMY+b=s0s446cl037v(mBBTrMTSXWVQ5TS7tYe6d;A;HtIhofES zLT$rOMY;S1Kut98l_1Rqq^?5Gpmg6CC;{<}=q2+<==wK`at;4RysObC^d&*E52$gb zHOL&zwEhW+-$w*QvY?82pmC5x$m3b`C=w(fmPe63iq>h7Vgq)GvkfZq&i}PEoGwSLAg$@*IP@qyKv@fIo&YLT@Fn zN42VGT;s4Bk!v%0rF#@&ThJ1;Hn|0*EGx=AeKB&r0X0GkTV6sh)go*tO1=tw2TH@} zHO@gkXi+0ZI)YjpM+19Mf+rhnM;z49IvV0NC6Z&27v^3PGob-33!z6nn2+?OgXTsJ zLST$fV)3jQz1vpiQr=N21dH~cGL$Yw0(-)P`Ys)e3&QnjSK!~W%RO7vCzbxNy<#) zuFLU`>8n;Sln8+S4w25bbwe)D%2wWbY&sT0VCjPszhtBkVCm{+EMvuj3{nWxde1kT zH3ZJ<%6dL1;}z5RC8k#qs0%2JKwf7mFEgc8skA7yu{gShUhNs6*N8GM5#+pXS*R*d ziFe%*EFf4ML7$r~mquTSJ2^-daV*xLO518B=N%_+*T)Rp65`xmJNs#?)E`KD%nMQDm*6 z>#qf;E}c1zp)m(lGZA$Tfwj`gTMo770q?vhvB~%JhT=& zO4cf()>?(BU#%i?5~VaX)GA1NZ-w(a1fn7<5cX6pwwtWQ$$PD$Z8|sv{&%fnV=XqC ztW|u2S}1E3$?{s9!q+OgQH#WXY84K|2o%DPTDXS8|2p)m5NATI;>TKC6R1^m#A_9u zS3oaA;fHD!_+%Wjp>mLnV+kk_dn@Elv}!H*1F#2yjSFkBIVEHmL=U+DxorbOGSE#K zT}MZDb@G^jZU4a7$);@8VianRe@hto@tC)(6MuyYF$RSSd@`mKD)7k|U#P$*V{)Ma zpNy%63Ve1IVhjo~289@dLX1Hn#sKzF*gt@;0go)i7!+a*3NZ#?*p@-y0fiU?@Wb$5 z3?5pDF(||s6k-etF$O55si6>KP>3;r^E(8hA}bK~R3XNo5Mxk?F#w0a|1MN)EW{WT zD!xH2l!X|BLX1Hn#-I>mP>3;rzYu=Z!ZjTJ*P&m9I1>sLKNeyP3NZ$S7z5~KDEv^N z0w0V4DhI(BK!MoNH}*TxsnDmaKD|caK4AQ5a+6Fg>@nHcd`}!`Pqv2Wa$3{ zzlr>7vK6L#5a)+%MR#AeVq7-1EzVXP%2qV|C0h~B&sHFE0}5$CMW$wBoFISAR2b=qK6EF%a)CujuCrswqi_j>`N40-y6O$QzJ%Aruyc^rA73L#iN;Ku}F9YV1O#EL%`A@@>e1T!XkV_&$I> z0yPUm(0RuqkVeRHh%sA{LjI{`D^tfkbIXAC$%M}m)DSEs2(BkIt|gp9kVvvSM%cWQ z&{V*lw+I7T!tj@bozItHL=*o392*Jny$uNX0N526K=YvWGJ-1sJ~trM1n_493|*w% z18Cn5=(`J$x{e?LXr=sGuLk%pPAYEa8Gk#^@!NS?-!A5LPYq&twgQg!4zb)|o&adP z1<S#gpUA>VSxP( zfO{3dxd~vc2KfI9h)*F{3Ful3Fckuv{|0pb3W!e`U*-Mn(^ehf2i@0H)z7P{Ur<%Q zzN&shRsD{t`h!*Vc!N&;;i`JPL8l&X(5ZJ{S5+T8T~*&$T2$uP5|PrRd|mzu}Los(zlTeu1ify{dkL zs(y#69vz4l)gM-23{@CI6~<77F;rm;RTx9qttyP63S+3k7^*OaDvY5DV+h-(!WgPB zh8Tw`jK_9Wedkj6ZbkePU^~X@q^dr3v#Q>AM1?U#T$CF7r>ed?s;ZAWRP~+dLYLw1YUT*vPNtBKsq+!0)H}i&$K)#(bgu{-#$0Lb!ttuY$*RJss={5W!mh_ugLZYecQN*$H@f|CC-$=53xJW}X4Dg1%d`Uk1?63Le-b@fPHr=*@%si#Zo znJD$#BY9tydhU|Crbu0rrLIX**Po@p5h-w3@_s3KzmmERNZvlFODVMsm72RH>%)@m zHOaPIikhV8B~qkZGH#PPN~E?;Qec(j+9tWSN~f=roF7Tf7bWLQQu0oz`)aBCaw+ky z)ZJeSjFg?6y62D2^HInmose7T+{gl-CrqubG)VW&foF;WX zDY+L*?n=pBA$49Lxqp*76;i_!Qo~=RW5=YHh}4phTK+DzJSEwmknHoN#;H7<-Kt~L zWo4es3uIm|^9GrB$b3*{+d^46EHh5LXu5T)OdDk-TrDe2o63y$lokq0Alkb z-_KI`+Kw54Tqg6wOr{u<`&TKpRdQ`los^Cql{ymRq#vbSQdgtYIY#O+N{M2rt3h&F zr1mBRhIRvjQzZ9KQr9}^REyMACAqgqJ<}vpe}sG}xgV4wFGyXtNWt%=wl26%d?UGM zO0lz2*9ggdKPnWz0C3`4K-Y}`_x-3}`~tvPSkCO;X#HFbp3_9p6db9a6{lm=%uqq_#i6+qg#R*e7{E zlRCbF*O%XV7YYER5>lc|N(_+VK`F6x5gHXcBSl}90$)oTrS1`uUoCarfm$Wql%mVU zY>O@zV;x;CW?OW*m~GMJVzxz>i`f=kF3+~;axvSY%jMY?T`teI=yG|sMVHI74MAeI zMVHI7ExKHuZPDfOY(vKB8pyK^Ig8nbe8g;nB4!&DG25Vs*#;$D@uq*sEo)kxR@S5y zajZq;b+X4aDy?Xxo_HX0glSf6RX}3J{%&|Llt@ELW15wG3+k~G!7o9La{;ktfN550 z9;o|8<91Mn$qzJE0$eu$EERyzZGgaOCpp|x0O7j%Q=0&>{{WI| z)77A!ivgA&Q@cR+djb9-fWT=k!aXqd5nGNZ$TX{Obz>^j-n5lOLsL zf*fst=!RmvPW&}!rdgpfkShgfok2mj5{v`*a{&nlAa=^Qt5XT3r-hs7*k-W7a#1O! zS&bTyeLU+4svr7ej_ER1x(-^#yU7>5i0#f9ohzaAtzoN?y2doCXICTD%rwh4-J1g? z@*cpm7~sFuNZpXZE$l0coq&;C9Xm0&zwapIKZE;E0eJ@Z_b-6_KdR08Li z{12oY^^4!5=NF-Kq9eCrcSc7RtwRj3Xg!-xM#rH^=qz#{A`Vrw4gCkv&7w8vWwZ>v zhF(RlpnuWT|Dtcvk7x_}4so20AJF$`2l^T9LOT)1?AU-fe#h5n6WWZvLCJ{Wc5v(t zj@j`g+KA|H$67>xIzB`HMqeO?TEWy;j6|bRJmMTya7rr9M-00n0gXjt(Aj7NIu|h= z6~oYlj}heXe8Nb&R==IjCd2b&R);G1M^^ zb@aE6e%I0GI>uYac2g2PwP^$NPwScifv_JMdeehs<;%|+A5y@EL1jSQ!8Cb|`|t&t_xcssfSsotN_ z_2@6rk$YGIdpNy&Xm`&ZRD$U5o^n*iV{II|7~PDfl4JVz(3d^*cMsFGXFvIKq9fDa zNADu0DE%Y!0s0WVg?QwouR<$PB6>SIvV~mB3yA$&I4vz%i1}(^zC!;(Yzrx-tphwH z4lw4HoA3$v0`yn59fjyqXb}0n=s3i3IuMKcqXE&8S^q=Zqa*zhcsA-lU8s{B?fZ8{ zM`lyc&v-LgMwwgC_vkz7EJaU5N4|)?PL+odoBT|3CR32fP&3mIt1Xk&lDV0#urfk3 z(cjQ*h-nWo{UN44M7KkKM+*^cg;)lm8_^9&!(oa;x1w9nY{aPxv5Z2TvJj^%#PCC$ zwh*T+bRA2g7h+fyeNYrS5-}we485WsV%jQBh>k4pMhv;ahqL@DqEQSwo^lI1fS8u@ zHWWgwtn@e08)y|;ffCVMh*MbiHsbWwy@xnGb)4op=A@3(R<|6zhM2FqchI{i3B63a zqtW^39&{0!j+mQr=BDDZ=*W~5{MzWqvLR?FIvuh6%Q#-yHnf4de$<4jD4&8(LN}t* z(5YxJ$I3z3s1W6%JXC=45vRGX6jh=M#QCdZ+1I6`Oho&2S*Qq=pklNeu}tbRP%2_c z)zR0wpU`&n3*uo^_cPiN9a+setY&Q0%vUvIt!8ej8GkkNQq3II9Dy^(H46~uVlT(q zOJDbLyuBQ+n)A4q^HDttvAvo(sQwLoOP;aqrH^|X5o6lR*!D86y~*fDL|^yPuf5FI zUi#LMfG$MWqw(k(bTyiarXY^pz#KL9#;czRvs=AxdtsAs$l{ZL;t91TPtqW2NU zYgj`a#$3Vqf^G5-40=*Ykoh;tfX{DEm`2D%N+M0*iq;87nq$P|2!=xWW6s0%SQ z0S*=LAr29E2Ql4&^=$hJtwro!^Bwvc{gWJT)6>lLL1S?=p*z6`V_53pF~I2?nl3(M)Vu1L$#;@)uRwwf1n-+-=;j%14KZzpvmibB27QD`JO1HFW3x}KF(KLHKq34mSG zCn64)&ZQk7y6s9nx0nwkf^U>Mp zFK8UP7EMOe(4TqP$1&QEMzr4^A063xFS;Myhdw}@f>w^x`W5w45$(2RQfA-Qsc0U$ z8!iY`K9=}RdpL7eiGGE{-eQ5C90zao}E3QH%2C6!W$ict|_siXuE z%Ou5*@=z|yMmdNjkwV{6I3Fn)C>`zLRdx#cA0k)E_EPGVD$n*(_A6!o(tJdFr9Yz` zXcyXz7-K2ND&-+w`V0CAB_oz#Da)&rhj8f+=zFvkvD9*JjgF*=+|`IBlFQ1?oHadr8w*mbJaeCUAhql`h^W4U=Yr6x{zqYyPQAGdRR-iY~8uTu@ z1>J>ap&5vIYr7uN_crFQ?MB3$wlTK_n-Rw-_yjRu1z(`g(OUE+`U%*H^liYxDVZfI9~;K^H!TN2bqW9 ztBA1&nWrFg7G$1+%v#5@GYBi3P%^BbIuCZLIEEE&bHs@8$HToPL$lr}EPfV=1Rk<;NrXUEUv^ zgib_9qkiaE)CWZ)#!=o2^+t@NoN<&hj?y|*i#kvfYDFQ`j@nQeszBwa234c|D1b^( z5!#DNc{*K1!%|Pu+*UMVn9_`VnnK-y!;$N9isSsp@sc5q+beP09*AR{ zalDU>_6F-v;B^q( z4BBUbw%wrl5Xd?~=mWN+6t!5h02B-Zsn-dQg7P%53Z;Du>W=|UIzak-kasKCg&H0Q z<52fQU(>3E z{x2>*viW25etcwoe0*g3MJORYvgD-r$d234+wqZABjY1$8sj4?zmJb>NQ;kbx-dR6 zI3dKiO?~RWvd@(*UM4J_T<0JF`9Uqx@R(xbCby6qCN45pyBZD8t zN0twdk4zgC9~sz1OdAc~a*W=@wegWN=K5aok#!ApXE5p)&rLkKGZWoR zb(*NDqf1-ZeK%bi7|-n!x)XsoR14j0X`xGR(WSA(`{`1jcwWlTrD(dt{;5~erN7Xn zS2^?$xy(ju8Zg8D;?X+ z5#!?{Ip{h{k(9oT=WSwq z=o>n;gWbPkrkM1sx9HFaI>RisG&57QQ;Ri9e&wLA3oR`oi|oV0`36#(RkFa6;0#FpRy8bm@(F?k905PC`x}y2Qy&<C!y9G@Wg9JvEOu z{lu)fdb&};9GBflm-fa-PQy-P(;~X`5?aXNSY~Oh%+w^h#fUpt?p2JUrj~9o$qm1t zopkLxX6wiJ$QS9^dGx9t9bmFX(X(pe1ssVpn#)LY$*0DkarEqWdUh{|q}fy+9RX&e z{BxQdPV@A*jM*qDUCQ6c;yRnIP$%^&Rz2+mKjyeRIMYVc zJ=Rh=b;{S#ZZaaSI)O6BEMs`(dua2A_}2aLcER8?9khFdmUhJv>{4+Ai=}VVsQA8t zo$-CM3gY{gPmS-}QBQ78eBbPT@qI&|#`kTR5#P7wC$_I5{(F4i;H-Fl zoAK$^ATi+ciO&!LKFxV{=5fSke0Dm$bQmQwKHpiGHk6VXpIbhySLZ-W^hC5+lXfLF z%yhKWJW6KTHqJJU<0x%?^+6wsUciR}|72w|)jeF}aL9-{*#oHMEcMci&ygM#no7w` zrRFECgjwl+SGr%LJ8v2Vkt2>%EFS3_?KYVCDypXqAC~^+@L~RUDj!Z5KCJE-GyfS_ z?nPaf@WG_aX!|6SJ}s3N4JM-cnbhT@%^>$Eg{8xW4-4?orjoNT@krl+qd6qtoHP>w zMs*$$U{-!70&H#2)&?T~554YPK*2emkNtoGAZk_Asz~P-Q2QrU{fVfyn+Pxi8;Jm; z)PR9L$EpyH_YI@p&~>>viGBxbro{Tj#roF8`X@!zte#>nr+itS>D;)>pzI znl6mxA67X`V=VvaN}YS?3Oy@KWxsDIFGb&?G@3oYzCXnJ8s{Rqls-R}*Bx~GE!zJa z@54R=8Nxa2KZo|3Vtw0V`LA8lG+Q~HO`|D4N6$m}D!OxXtS`TtZahG)jd~}>4qsYx z2xR^oTYhe=9{sVc2Vz_I$L1}MpS+_3z$@xGUxRleJf~K5zE{r$s_7!?xZ@kaG#=5I$ysz+wzn>>QVQk7}ynHUN(Sk*u=ZrY{<*bj#`|w3sAM*kB z=EUy7eDK}ON|(6OC2XrdjTo@R=jg-nbBMBL5CImka)4-Vuh#u4nDdGGruF*V{LgF( zpG+R`We}T)0MSrILlyN?)K5`=zS~FN7~lnDdaKl%ZTz17V!n5YVo$^s>LUB*05dDK z)Z9S@$_gyQ4=Nl^dNEhjv=6B!9;q)Ucv(9+KhpO>uTS^~%-v*qBIT-&vjoPc-ql}V z-(!$7#DB7VJ3+}-e!RhA%Qvb8a=5Fv#=h!6wG{Cw`WJiZ^U3DJvE^NdNxD%K`3m&q z1ZI44|2Zp}@s%3?wo3M02d;MdD(V8hf#8=^4bzOP(pffFW>z}fb5e(Uo^dXF06zKO zMFg0|0wTaEE+%R%9`DQeiQvExu(upkl!CJJK*3U-bI3y3CLGCb`yyK}AU0Epg`pCr zQsY!CbG-%Z-~wgTc~O<#v_0Om_-Bi?uJ%P{PqISxr18E*`o6yLzSaZdeYrJ!zZcu{ z53v=fHT$*)PIBR2>K;A0V^MEk?!&AmzE0#*_iYl+SsROcX$AgaC9mnrBlt231xNa> z)G3W}#w>khvuehSf7|^K+ssrdy~awIN|~`%!uW=gYkQT>xP!76*jjZNR<8oVOCv>wt*TeyUS^Mb#|NZD^G3DEN$b_MOg`EfihkyndPa;-U*( zIrlo}%`dxr?qBetG1Fo3onpa4v1sh{;&k6S6nGsp_6Fr?pnVo-+YN%7L0L4&9svAv zK`0lbq=2ocI16+R0ozg52|^#xd7PZ1vLvm-mRcu7+8h0eJYxW zrl4u4Xfa6p7BuPT4ex^HkBif@f4Al_wV2r~1VCsZD60lthqPtSRy)R??{t8!E7b`5 zs0Z08t|RTEi_>!#){kd4MjMyr5iT8_H$A_A^#u0p&M)wdL*bLbRJ88~FcD>J0{?td zDELnNP^g{;r=aGKLH89vnbLlsYbaQU0P*x4H2LS(E<#GidNJ#-(QE?XN90EG-0^89pR9FgX7J!VKLEfz(=TlHH46H)c zf6gy>D5Cz|{DJ`y8Z;|a(6Cvpf(AYyLL-M7I>y+c2G3d+H2eV(8vlR@%W4J&L}&^k z_N3<*gg(nJ7%lLA3Cu=}BxVI-;@c5sF)3gxDl7$ig2QJ;bj8ey$f<50Ju9O9!aeD;B1SuFzi_THD+E<3 zT0N_wrs=3z?WfPGzj#(e?)$TX>q>_QGOH8mi`i`BT;mF3qH&FJhcR!y*=}R`IGJyq zG4Q%sV{fzaG_!(XW_h=or9Ns_7HyV2z^rbtSxSo8R%3CN*>+&Hr~j2SnZwa+qh9WA}a3R8`x{bU0&W6h=*CmNeSHk&3cFSfZ^-fo+gw@-5A zh}Oy48j-uE@NwTd)Yu!8r-AGNAe0MIQovT!IRtD+?Xy5|GboD&1;apLDX3WhcA@n7 zU=^xL0Oj9;ijzUrS?7N@c|e3eA7p(7 z(sG2{%5E&XQmCqI#Qe3O<&%nZthh7zp@_gbP;w+_|8sK5Bgvx*Z%aNOm3+`u1*%qq zy?a6WaiHW;Q2n5CrJ!5I?thpS&*7KfNG|;wN(AMB)ArX|{ zCp;kB53&aU|6CBt6?~xVLXeW8;zF<$6(1vHfzBbo`c%Gf zP%sRvYTK@7Fp*K{8BA<`Lu5$2*t$k!K)N7^T|>pp*tYEtMbPv^5o-IP2sQptMEZQ% z92ray8#OH>%l9a6<{R1eKc%uKi4~uSC0oR_MdF*nheFQhw$ok)$iDS!+qQEa!ED5g z#H>I}Sl|jN=WBeFinV_LLH@uUdWZq|p+-kaph-Bj|5x+~AS z_1rzBzD0q7vX`AL3OwRUW{U!gT*+)v!*DA(TU7qEm7FbV{oP8=7PUQUC1;CrkF}Ds zMWy?#ca<*ui6~wAngGXQk!Y7MUh0IuS zqA*2p)dG(xu3al;YA6FTHMIk}h8TMr_Zij2XzD;{(*i~5mlG@rWmIg+jg6kMVnz6Wg=+KBiL zw2oiUcJve4tT)_M_C=LL3$IdP_!LWtKe)RL)!*B_lIOTfz*}{@Nfm6YZq^+T-qVlP zw`p2*Z$X$~?{}^i_Y16c^Ix2I44=lRMvj=;P(ybQmM}XzM7M*XqD;kyePjYF$^yG*>8D%|jQO?O;Wv|%F z)&HkE%=q?#Uctupd~RaYp9YvZn?)Bgi3HxU3!>Am$1)%yj;Voel z*xM*%0qtIO0;qgfm<}r1KuQXz`$)yxKzWmJ4=CFv+$anHMOO&t3ug;Mg_DF6L4gML zGs@oxa#st-f}B1eTe(oKBDECK!2REYmi>w%6shkAMhM!iWf92IEM)yCY!cK;)&}7# zL1W1}4rFTZnFobVp#!AP7cLhD3rB#oA|V~@(j(Xx=xdgL(5&WWv&!4dwi;7X%-UWs z%W@Z-z&tCJKW641Zk9gVEbUseI(G@nIAo=%#^O}7u5-;AhL{Ccm=*qF*6Agmw^B>8 zS;H-^RBP68r&%DTy1xZAfAxaO+r6OVOE0LH?*&;wFDQT93%JQHo)LE5_P+D7GvsX_hx3XX0F9H&X`1t*BEyg^X8k` zC6(7OgEo||M_&)xklKb?QE1SH%o*r5;vAGYXhTyyszr5Z|DX-EJJAmG6Z#qLM%&Rg zlrm^T*GuTdL37G)MzaRZ;VVAoC(trzPUTDJS?autKaXA+G>321m{YtQtswsnz6{Yu@v1>{a_>hEl21fz z&%GBtgyx|;(A+_DN@gSKq@98|X4}>1D(Zhk8{ebvjyZn+6m$)`8eN4Zqe*BYnt-lE z?DqdHWJ zenb1wuV^0%q5!Hv)o3rOLY1fjm7_9Lib_y1Dnf;*0Og}Rl#6muHu9q^l!-FX9+ZyK zP%276|3kacF7yl9iFTl$(NAbQ+J=(RkLU;VJ^Bu9MO)B+(YI(b`UZWCHldAZ1NsWB zN9)jk&|0(xeTlw6pQF#vztN}Y6SNwAj6Omiq7Tsf=sol zdIPUNPMc<;$=o|Dk+JrWu4d^Sh9<4+FL2J<( z^d^r zucCjUSJ2C78F~r5h+aU?qvz04^elP?J&l&2#ps`C5qb(eiJm|U(c|bb^bhnXdZc&M zkS6|G$v3`OW93a-5AdakTmle(w z{b|~5COhXH(JSwWmYXcdUE~F!T_+z-61)7eUOL#aUPTX!RkP>$Iv(m3`emN4VWL^+ zYqR=^wk_jQE2Z9P=6~Lm>di(5Pcrwc=0q!1c9@l&WtQJ%HnQYT=ALEswNlYkv%*>}f z)&I@v|E7G#DCILoDW5S)`HWG@mmIHr$??jU9It%I@yZ`KQuzZ%Du3Wexp(QgA9iS^rNw%eYN?YJjIsUX~^ZglcRhPT6+a++V+vx{Y{XtuP z(6N444>J1(_5`k7R`skhhYM^OGDC;xr3Xz<$ev!>W_T-Re$6)Ag{WH z<%QPU!|@+^>$R7+o_n$S-xK~(TVokQ&#(15T=lG~{eKBn{{IphY}3>kRFtt<<|Wr3 zKFF3oj<@oU@PMLC-@Tx1~c0k;YlfT;Kam(YbBLr5V;8eE( zw{j@U?SR`3xZ8oi^*ro0_`|N8I^TKsrEW*u>NPy#%D9!A;$0cHhH=+0K~Dv5O32uh z6fJaBajSuQHHfSRPbjvSaXUr0HIBQ+32IK&xgxMOaIXy_Yoq2=w=Zt{;%;98+XeS_ zA+lX=aC_X~cDTW-e}k)jLr?7+T;;N_U2WXj$6fmb);{jFPh{k0F&?-g3BMhOBnUeI*47lhXJYzlgT z*Oq%|7C!aIqc(N!AMp);gk@j<5p&o-3VM+0(dF78a19XH-niS9z}t_=cH%+fb|P>) z5!g<++lj#2iOB6Vqi3fXJv%XB>Vtnq&rUXVUdnc2EqcvpRceb{g;9vQd#mBx5DG0TQ?Y67+0w10><~jL4dxsB^0QdxqLGQg5I= z<2*b}R*0*v=Y=i0>bldq@{cg^>L2k9e}whtDCUINUbyXoyZQuH8Fw`~3sw`inz*Y; zU^Q{CCY@E=T<@G&iR+z8T<>JM-g$0iUFTHRbwQ@ZRC*>#tb?`4QA!)f<2 zM3$kCUWUjrbkfTZS!QKVVx=o@=_zkvF8Qc zJ=GA{6A51Ul*U8PTtH(kpbZzeL67tXEq8|2e~uGXuaz#k#`-o=#TAQGi1GkSY(rEkxjjebQGq1r8}^Tyc|~~jY(7VedwHR1XzpD0 zkvA7S0=(@O+1?g;+wJ=An({)mpo_ojheg&+UDjPii>xJ!yq1W!xXZ4KG&G`~QF@_T zC-ho(k#Z#5&I)X_3hW>(n4TvJ2JI@-s+~+tcTaAMH}!fta9b_1J@jPa>RIGSbWifl}!XmFBV)|*Lap50%?*OC^AAml&x{SML z%`4~a#ImI^uVCxd8n#txk*za}m|w3qHq(}y(KD|+NxH*m9JYyZxxmi4r5Lz(8r+)D zaB0h%Oj~JIPtR*^Uz@?x~A9so^yGGo@t66{r`&H$12%-1y<2u4~=zoL|rJ0)6<;+jhWt-g4)B z9?k`PBG3i)t2i#yZ{xIAxtO0!pF4cWsQP8Yhnx>aXVoaiRH|C5Le*Nutr=BosJMCz z6#?~(im7H)OtrORh7Zfyr9Clrbq88Fx%yWZH9rt~-HUGPi568q>{97h9}amMaXFq! zTrjHjws*bM;mG~+kC(OI|MBYT$AP@`AEEuGkeAgj3wd=9NBZ3%FUPM8c@+;w_WMI# zQoll!_e9H0mkHi37xe6L!Mma5CA-@4OLnDSU9xMm5L(W_+VX)7F{*Wc6eluDr!XpS zc~t9xC{9%r=PgR}6UE@87%Oj0eVQh-6#dyeO<&Z<-YWY$8<+L5_saG@*-+V|t{}>;AoA5eO{kmppZ)c4z@?mwcdOC@Wzw(eNx7(} zR>xwuWBt<|i=^`gGy(>3Zc`shqteh05Af zIaEHhRh2_qmG|Fk$GBIqy)1=_Q|Bsg?}&Z*s}<+3Rz82Vn$KUo9_GaHDet$N;r_7le!Cg&4=bNKU-eVxE1x=F^;737 z-+ig_-IprgeW~)@mnz@zi1H1ODBtji@(qtD-xRNWQ@rv`@ya*FD_^uw`J#o&7cEr2 zXrc1KlavphqhACB46#cpvQj{i^ImUGVrThUhF zVCEzHrQVbtTb7(tlf=V2iC-N{8j+C112l;TXi`^gQrAaGJlvCbxF>a8k~A|Rsdax+ zZAp?Y4N192B=P@BNinmNV&*2rtVoJUOo~~P6tg3Vf2~f6*`35cB_*{UNXlED#3dk! zhkp{6fg~;^NqXcb@qx#2Lgyi|{hwm%1>zK;X}#DuRjgktS{U4-Fqj~IDD2%TR(v8( z6H2T`(F=;-6n+-6Cy5h;wy7o@xV2cw|w z@}GcoH%i^*UjYSmmw#^*)Ls4!kM8m>cyt%iUA{Ac?sD->;&)DybQMm@s!kepnNAj1 zVn1THM88hAL_bfrgbVr-{W#SU{frfe8YfH@CJIx8X~HfcHP6^CW~MFie$tAPcGF(k zN&9G*btrHTsPQXG5e9;SVIX%k$ms*}H>!9n$Q}Uv5rDS!D`4P7l%ieB)l%7wikcK{ z1FKMdFHom;>nA9B32aA|?}CapP<4We(}BidLrB#K3QL8tpx_NfA1JB@>GMIwCrkL5 zE`G3U$prfuwI%#K)DnK9=@O9ho}$s9{5D~xa4X1a0y%Gh!t;a?!f;`TaEdTMI9)gw zRK5y|-vK#7@oOM=zKU;yeGh`RDJp)X=w%RC2>e%q;$%?Q4aTAFhrlkBb~k9g2x!MN z9X?HcorV}1m;*|$0n7uxiKSG$aJeuTFiHAhERYrrrY5zO^4LEiA*t-Mgrur9N$qK` zC8eF6kd)Szu%z+5_cP91a_4zVHlDZS=JS^P_q-*S=WJYZS=(j7?yfyuHDcbgqW|U6 zTMO@O`&K&j%E->fabngKv1qEeb(&Z^QT#oWD@zI4mgbiID(!1oAlq?ZgzU%QX4(IO zAIq|X_sTX0r^~)vC#D8cWM2pFk!=VJl>NKLFZ*n}_-oY(vUQd3%7T@)b9qIZN-Zh2 zcUgIpN(JTC$j@clRN7W{qpWMIxV~hlEVKA?*>A;@WIKzjVxVZTN?#N`D61^GMV43e zXW4g!rLy9}4`e?Tj+KQAs%0ewZ^-fshRN#lH_G(lb(X9uHAYtYyA3Gq;3kz;cUkGH z14pa$!GYegU1c_Lg+)KAw58}L*_y&)S#DvGY*WEr**Dq!WglhQDBquZ>Xm&v8Dif~ zw)X9;5ORdw!Y@Ly@Lz$2(zlaY?c4dO@QJ|L?%Vm{saHPV`CiqNvUk(EWJ#fmW$!c( zk*%t_O|~+JRq=f1+f601#KJAIxAIs&&v&kXjuU0Cwm{dNS$S^fvOuT#OTh@GUo5>y_CoqGvgd8nb6t;{FRlDl z$!FVBWzRI6CVN^~lGZF+Ec{bgRCl55DZxhhgthQ^=6{rVO!$ZJXd8>*`OZg#hlK?V zWwO6_Jt*VEKi@e|ct~LKpYNO_*w)#K9uV#q?yEdQW;1qA)*XuP7VZ-MCfq65hT9d{ z6ti%i@0=;zD$EdWssEE~LgN>*D>~9;m*nKjE{0B3!VMd z+0D*wa>k=uRc>&`RY9feon7bbFV47TX&Vn{*|pB5I-BC`8fRBKyUN*QXOo;wbfyJK zE90Gwb9TA2%bZ>6>>Ou9yYJI)qE|ocyyd3u``W&o-hJPQ*=R0WffCUgv;*bM2fI=E zIN)CeGFK|P5H!96n)-po8?Y5%X`qQ`9-tx zOJwO6bd+S&${Sm=o8Hp zWzG+bH(z6H>Sxx-gm{5}nA<=9n$#gPqsv5xtagk9=p(L*%W16*3`eJvL*c2dd4E7n*UlB7~XuA zHyopt2J2$eZ2tsj<`)y!3qni2?JhnOkMd-i_{TC+;UR;!r zFgWe}gu(uXguw@{Oc-4H*Mz|fOK)b2(73|5U#u)l7+mv8M@hoq>RS>9m*lbEx`e@9 z)bF}4VQ|Ay34^mv($>_QI7HEygu%HB5(={O?gJT}ie41%0WJSE%T*#Y3=|F5rpLj7 zlR(#W(8dA!`m+izDNbwoD5B(Kv*Ky>S6JZB@q+ddR&IOVEUn9|{!eBNd1n42%+52m zH<{)2HfxJCt9ruOM6-OiTlI1)bwru94=kQ(LCalct&L{6BVEb0+OfhVyUpq@G^_WS zwXd(vc0r6;;TE&z@5~NdWtRDaS;yOE#j~>RuwYM)S;;K3f)umrB`*1Mr<$Xs}>7-`2DD7vDHE1$7<*9e0Dqsi5@&pdkHqkoqC;&jZ0NLINmy z0VuzBE2#JcRQ?r|)qshpL{$Uv;7#;1%AN!=L!fIPXr2Y?*MhX2?L&OyP{|t5dI9(l zWo!U%qUr|l`%qBy0_Z#h_HG5!P$(Z{PXc+fgqh%H)V>HzL}fL=4pH$5QDzG$*#dGt z2UF1$l(7y36NGa?#VN{d0*$KC*azgy73P5QJz(Drp#3S383Gw!fr9Tq)g{8k!dPJp zsICXi$sl9>jm_uy|1=%O%ogSfD}+R0jj%(=n=kGb%Ev*TqQuOV7GEefz9TmE6LY7C zd1{kqDzW@xk;{mTCo35j6Pcc_%(*g8f{yTx}~+$v5L0>_Kh8DeFFSY9LU`ARGqAQnC$=DsHSyTpk? z+e%BR=Ei1A8s-#jrjPuwNct{pDx+Go~s zuUYEdX5}?zxvypR_jMl$IvxZKbs+FM2%Q1yUIOVyfYcjQJQw(%Q&IJT13>N}P!kI( z+d<1gP!iaDQ(oWOk% zU4x9L7zc`J?}(vf9A}>(^TTB(dXd(Z4|q zT_(1DCI&wg16g82j@XuFsM34bNjR&JD)M)q^vPLemdNy*ETumFfimt9k&dp3l&izS74jH-bg<77G^Er4% z9%Uovlgx~q&zduGZjUnZC>uGS+GgZYHgfKKGIH*$GII7}wB#8%cRpRr$cY&_c}5Ny zIb`IJkwY7fMov4WdFT5|P5@a;LEui%bRqDM2f4?B>}1e(D@eNl)Ex~vZUUhxprH%w zSp)o6fz;zcRX-5C4y64K>OTb4r-RD*V4s?5UIn_Qg6;*N^fZvx3`%m8y9N|gg0eW! z{2%3}f!fs|LmNu(5c&ugfv#xb2~ZLO-3g%iMCI;Q^j}b`PNwxOsq%FX2AxAd_5cvv z4AQ;@f!9IkQcze53WkBaDCK;h{V34b8#K)YMTHh%mNcp#zi1)gRlssDxZ24XqYX`2Z3kWkLy0o*X=Xwm}}NB$t?6Qv*xvC zsrQ*R{nwSooB8w1+IG8SrL*hIf)!?Yx0=<&xMZza+JDRr9A(x%+--Z!EYM`O_h+;E zu&26R%&+xOB-XQVmEbx%T;O{HT~3~5#9TQ zpb!vhglb{0P$g6f6+*dCCX@;#La|UJ6bc1GzK|#63OPcy;1{xlOd&(q1AcE*lrE$R zsX~hIKVi49OZY|DDeMq_7Jd@83)_Tb;YZ;I;d|jbVXLr3_^QDC&Fs*`zl2r3m>WY4@Dme9|-RY?}6VRQ1q^l zB)lWozAK3iszV3Wp@ZtsL3QY$I&@GSI;ajEREG|#F9+3^gX+sc_2r=Ya!`Fas2&{D z!4K--2X*j+I`}~y_n?k@P{%!};~uo*zO5)xcuQCzyeYgPye=#kUK9Q$ydu0TydXR; zJSQv_mI#Z5e+r9)r-UbkCxnH<!`p;p;YZ;I;X7fgutoT%PwJgF~7GW)mu$Dzw%Ob305!SK@ zYgvS~EW%nAVJ(ZWmPJ_0BCKT**0Km|S%hB|v^K(88)2=D@G{{g;YC49C9I_q)=~*; zsf3>uo)MlFmIzuoVXd67R!&$eC#;nd*2)QM<%G3z!df|Dt(>q{PFO1^td$ei$_Z=b zgtcC1 zK?^CYg%s983eOO35&kONEZijADBK`S7p@ns6aFGh6aFk*D@+xp2-gT#3s(t~g-OCh zVS;d_FkZMq7$;mVTqay9Tq0a7j1|TR7g@!G&O<6(*m{9%v>o$;CR=Ie*V{5172Kjt z@xcVyc^`@+Yi#1rt+A;;r^Y7#>>8W?5$U!p&Pv;06bC@@Gu!bYX~anlM;6RTw0kA`EQ3IC31Cf~KNrXd()37VZV>P#{IPN6-#6 zeqjNq{!MsG7zOq=g6*j41W@^|FdbC1ffO}T-Xy4{vTeeRU@Iya3W`4$CV?VtEG!j1 z5XORnYT*rG7|7oUa#st-f}B1edjRl%FGPSBQDz!QpD$c43>J<6Y2OMPK~H3O+9hkv0$pY`Zd+x$mCEAG@;lACdYP3B zH7gisRy4`1aHd)AAv1r9EdPrH*$C^{h`AQ8F#1=SWv(>iW|edQFt?RIc$B=rxIo8j z&@cgnHiCLZyuNCAD3)CoA*$zgQ#X&=UCs9`~P%;!03eU}S2olETP97c`8lQ3V4Z*e5hF4njkICs9`~P%;!03CR-nX+`&u6rN322qRY2p=ox=KQj01Gc1`QKHXalHMls*}x-mYSQ z;D1`hS`g?0HOf`CgR(e~-wC=RK*>;0Fc1_?0=b8PKc#-!2o5n~4f3x7nJWPuDBk4j zJ{fe(1r7BeG#u1V0O@}QsSl}mBJe+_VjTz$05#gJvK^GgfxKm)`w~zx6cn5Sil!*~ zAILof{F%j@M$AV3RUmUEupW%y*dtaHZ{p91&+gsHJ@TEpKfY79#&_!0_)cz_@8sW( zfHG-|05`>VazA{h?uYNx{qUW>Y3NOq^Eu$=_fGDM@8tiW0C&%Ka!-7xZinyG?eLwt z9nQ|X0k_b1^8ZtNcV=M%Fi=9J^r-@sI?Ltb5STRp5Z!$KD zg{8(4v1Wl7cwMYNMl2X+{F9i!QCue!Ef%u}7*7=a-y6RZUlc;QufbhXY@2$tO&!{%{%lisw()KKW^`v8z1gPD zY*SyhsT12c`ZgVWTjR^k3o_r6KUTl&nQhg>3igZp#yqoa#B4Mdtw4!r4cdY7=+B7V zsGQ!i3P9#cMHhm`cR*7=kjpr@u?|=skXz}HJLyn2(q-I7$8;MV(_M5-H_(NqnePRb`o;y8@+G;#MB$%ric^GXpnB)@z|x4(1qa7qUEhE` zyV+?S;`_^&at8)9JP!Ec@TGhKFbHl2d}sMmzCc*A_$u?I`ucHlxq=Vy zh2~3rTM=JozLZ4@I_?77(JsUnnJ;C10=}wzDPLa?ay|uoXZlipY5=T4f%8D7pPqK? zy9l-)3ntV3J?Vj^F|!eejah*b14~(QAaf;PWr=2PLc~^wc>N1)^vZLb`=556db{(MZm(SHZTIs2 zYpl#|YYmsjr}?YEX}pzzr}5v zCu4vj_vB@nE2|#ii5Yav7G{Bl34)@~Mo_O}`sAudA~H`UO1(q41_VD5-T?Lef&Xcc zS_=YQAnj{K&x0CmZBfpDH>hj}WpNq^6esk$X#xYfojG+4?)*$~XpkZm{S3SblOW!Uw=8B^yr$@Eir08(qiVItA zP`3J!rlY!!^NmB{lR?)e(A}hHpQ2{rAz?O{f|@@D(@<$YFcs~)0Zc?0+BuK{(l!V$ z3vYpjWZ`W=&9pUupxW_&FU$fVwbar9GV4IeP|$QK=vXb>4$9R^`Gdk7LA@;V3FV;b z1W@-KNc{|?jRqMPfx-_!^=}}5BS_WJ^3GOt70CS(T@EG z4VTn-5_x=>*?1Ctm2FnC@g%zOB)Wklx`8CRuG5OTo@iZ9w5}(PP}dVjsOyQWd^78M zqStlYKddOtx^C7n+pJ-NS!knKy(^_pvQp|DF4^CeYRv*&W;HHZ*=D7(IJ5jtvy!1^ z1q01;51IK>Wcs%FZdz^~&ayulLI4l<)V-=9HiG%I1{k zs9aLpwAtmIm(+Ikc4g<(yVcvzobtV1*}SB-^eR_&&i3Knc5}-2s9aLp{GjJvfB2UG z%Xi=9)iB`zQl1vqY|eP! za%JZwwZXlv?7XD5q|KF`Q~!0ZzB%K&Q)Ti!^M1Qm_ReaTIsH4z?dP2Oqr7&^X=kP@ zJLkBSuAPp8GvDANFhclbv3af7b->~;jWdj&8UHPI?G>j8Z82ueAKTU><2%N;jVr{d z0{>G2o1Zg2BX*xBX8dZICyld>_Zw#!$B5Ge{+j}pU&WHe3tn|zdbLW;BaMGE4ifnd zICK8(g;G=4*k#)%Tij^z=i)?xe|Lf9S7pY^3tn~JWJ6{3l55%^Hcv{BW&CvJ8+;f? z(8TdqUM7y;DrDk_nK;PAK_(6|acreEKB^AQK0fILO37CXP?<2%0z&OdMq5 zqHN;$!!#2|hKYkr9Ax4k69<_%KHMW{;`mN*n>fDd+a``I6Gt^B4l;3&3De)woonLw zdo>dWnK-sHal}jdFPrqDl>7AiDMT{9MzdPUUAnRIC39*7g1Oh|>U34umx;91-#fpj>6O^@PS7HNcl7vhq zg(QZMYKmr9IYDlvMg#OS3GqnFC6$L(d;OwD;_ycf$X^lyFnmC4N; zlRK{IX?I*n(CwPwW=6POligI#?V98!L2iCX45|u{HPATK?MiX;iz{vyUf&qEYrUJ7 zEjRC4ZeF$A{M3q@w=Fj>TW;R9V3nKKEjMpl5OMRa1+(dEbn~L+<~@sc1-RV2WVu}% z+`MABdBbw^g5`E?bi1~>dAoA+a>aP2xp}p6^JeAd#menk?RGU@=XRZVY9oU^@zg4I zKJnCm*R7vdLH6HaW-=}T@eT=ur1wY(L7{6TgvEO$5E$>4KxjLQ-JLmZ-k{ui=R(Gt zHZH>Dg$r$rcb`1ReezuQ$t&F_uX3Nf&VBM`H{Tn$Pu}k4TLU+hc2j8VId01Arpj)L z%qHv=&1Rbm-6}BR9qZ=L`|gA}?u5DSgq7}uRqlj!?u5;5=8ijIyPKKgKDp`6ro*Wm z()R_jb9>X_t_kqd(a29*Z3iQ*OORj@(lZ0;*5R7+ zC99CYP{b3JM3Byfq3U4ofQ%nvSSCb0eq!M@A1g~yOE8s4XXV} zcp*|U4XK=tl)sNujYU>B9j*#W2};G25|+v*B`}prN@yyUvQdl#&Tcxqf5o{?het0$ zP6i%Unhqat+L?pbnN!|f{)?;X4`#gmW_shz^!(LK=O#0)y=LlPHWU28O!zi4p)@lk zH<+n?#Y|DEndOV#bKR}A+Bh}SNcmYzZX4RjNmbbb$@ynDFMy#nIW#F0$QpRt;l7vo`%TFbt{tLP{ zy?sOXroI!9oyFao>eqK~B8kWxmmlMs+73oqmmobeknZhBQ@&&s!q3O7;8K!A5PmoYnT_zHF)O%$ z5bs>|RY+XOjvdGb@RcI`Ji`huAY>y{`;qWMq+}XWH5OSdhwZrl>Q`_9)UP0f`W44l zl;l(Xe5#*M@$+31@+p75YjQqIMZRlNJ_|)YOFUE+AZws;YQ8HapM@jeh1WMG-?cuU zAoGbapAhp|G4hErpCI#z5mx0BVLkyuB%knLHhqox#FkHJv@5`sPh9z~4f#ZsPf+>9 zl<(S@@7k76Q2E4^&w9?7rscCFhBMu9aNE=$RD2 z_?Z$w1gs6DAR(VST|RfZeE+!o&YXN|n@_6pE1$^U)pkQZsmmX6*$w&a+bhB&ZpbhD z;)Z-?On$iL|~US%UBbkBg`&!k46rsH)^~ zgl|e0QCLX?;hR!qHo`Zhi>NNbH>LDdNajmi2w#^j;_K2y6dK{{(nb6(n&fU|BdEc5 zri-XK!gr>Ns5G(~8n25iQo*H!qLNFAh{{S76Sb8nDke9=H>is!AyRpLWD#F`E~37X zMfxjEWDyqwZBr^9YI040$uJ30U_C_KNZY|k>k_1A2GYG9Y08&8js%7xo~R^(bS{<5 zm&`^2jY!!D#5-4g6%rS+V+XPUe5FY5@yPzWk&Unos{KfKAyP68sTzx{mZN>DF9|hi z0GbK9AIR8jh@ce z=;;aTU^DP*r|AjA%oW!9*Z3iQ*OORj@(lZ0;)}fp7C99CYP{b3JM3By_9evuN3J$9@&34vJtjHwI2yDL>jL{N~R%|(~3MK_cd_jybCU1s>{Xk;=p z--t|tlFyJwR!FJ}q-!LNQ_&RYpNOc@HwIY`5jWCyFw(jN2^JweGm!4>NK?LK6%rVV zc%qUB(z#SJ8woTbWg`&pT=i8*T*!_c2&1KBNbm8;{=1QlunnsHNO&PqG7YJmj+DQT zRE&L8a~TE9mE!c6QRGZ|r0)x4Ct*@c zByhI+5=x6(zAG(ekt{9tk1H*vQpg-2x`dTLHWJpsW~j_SI09Exfs6nBbaa7haslNi za7`+p7zNYMb*$-tP&FEDClSHieSCoo{L2n?Cz6_C3EQU}EaB(8vGfP&7P0&X}3l}~ou zjJ#M-eRur~NvdReLG-36-i0?5?8<%ez|!lF_ROgLalqeqW7j{-uU>of|M$oL?+2w< zIj!+kKWS_J>Um)Gd$!-eW&>LsSaV@)$I8cIPWMGe$2P`W8l7hQ;kK>BcX^NR`<1eJ zp83tFf_=X#9RphOSzU^20{nC|G8vk0L?(fK^vDW4GA3OkX`G6tK>tKUjlMC+dWg7@ zwu6z@B}lLc>6w9aZ%3N)C99CYP{b3JM3By_9evuN3J$ z9@&34vJtjHwI2yDL`tS1mD7>(_mQfx$ZBZ3t}aE>LQ0gH7*gWY)Q~Dtn;d3{m4E4bseDv2PSOC__BKqFE%0`bmOUxmbl?AU>90ADH6dpxrLZe$~DgK9q#UWk-TLn@~u zRb!FWa@djdAUhd{k}f4EC0$BbO1hN5lv*jFDYe?I7zv#1Z6kZg9AJ0}D}itl*1=|| z%s@B;+3TO=S`QI75-dV?>_Ey!Abr1@*?{XSMS71%HbPTA(!Cw=&PA&INO&PqH5LgB zMOK53-B}@VA#DdEeZQJ%U4p;=Zlq~d|D<_w|I*$V9SPI;v>aY?B|jZ4oh)g-Q94Od z@|iS6(s!72s-%CSb@cR4ii=F^pF|RnIlwRzRsv^BSO=Sdf6ic10zp_3c-!co#LEVI z#_#$7HK}^0f70-sO~o_1|IEWnp<^dFrg)TN3o9MFE!OODZ1atdE&0r`DUO-yn7)u> z+YWYYWTa!G=R3A=t7AQ*WBrpI>z@+q-|N^wl4Cn79NTwh%*IC1v&m`KeCOD`;h0?( zvu8WDWrkzRA8>5Ni;ms-tt{UNTkL#C?lhg)`ER8xc7DUr=`OUh>RWE7?ZnQPwAl4ymd9#m;|FX0h}0m=-%r6MBR%V#l zZW^>)F|X8OW|{GxW2WsjGwny1sj&R;E^Do5wwd6CGX8P3XLeuSa-C~K%&w2w@WPn0 zF=jg}Vou=$F{fl&%n267oYgVQe~0B9mH%eTarm#b9Ebn1%W-;U#2o%JFQ>;lH|Ffv z5p#T{F^B)+%h`tixXW?6x5u0bF`E*zlVf&j%ub3~&p@PmK8*G7tK0)#)42m)*_8uc z!$3;-4ex=zH3LrZKw$jj_ds9KGRLdxTHbimxZ#)I4&3m||LhkV93THS zIQ)UVbl~>*A#oFi#EnTb={;O->u&E0va2P{H%r55Ev2%d?b50dL*jlJGbFD6N7$X% zcdeOyqqGg})^5kxVQ6z4w0T$dLG_5I4Ln^Itr|1ADm<(Iw`S9r#>k$GSf`u zDP~Hv;aE6!NL*hBbSCPPzGnC_(=m^h)~b~nx~sNd=FV8F{1coXU>!UQ&n1TcgP9N4 z!(^CJc!ILqH>GK`V>A1vc(!GFwwcuGP*dp2bT&3`O4qXg=_A>FR}SGnc?QbWI|L3K z61V?n_$AW}d3%vo6HJ3!R9v*R&Wuxto=rpIdcM!>`Cdgdr{q^TUCZo~5Ai?B?2&l~ z)(qi4z=k3yj$D~ICbj-AF;_{lK9$RHIH@^p2M;(ye&4?Jud&WnMrE6|kWF)#C}x`& zsN>Y9Hna`+hsK=n!kF{hM-A<%^-~8rgE1%A9&>8%N>y6zfEDk>98DeT@g%4IHW1am z^J91&UIPZyu^X!3Yxu_Ig62{OrSAAN@?(07x8qG**mp9VlIa*t<9(-89)+F+$%)Z} zFigpPNx=NtcLI!tGzNj84{?8);2_kZ5srG8DM8+DyK7dz-lR@qyH7}i>YOYn6EL@rHf4_ zB~@z|o`S&aZ%(cDo2RRQj-Gc1I+T7oG(BXTnSrNrW0Y^1zolxr$|LzQZ%6aEzdjVg@H4)9F(dA@zGvp55~zaPE%Rx-eXc@ zK{jz6(WjitunNoEVHL#-m!`&&5*v7I)#W42F^ndnj58(iHdtFzkH#)m9gJq6%&DoK ze8*#*qNB`7r!GHQOid<<9reo+* za|%$E)`^;Ht(U;1%r#9coY+Y(wRY?Y^>XbElc>$?1pIgZI}@i*v@Ox2b$D7Uh- z6yojx?Y(749G6GSJ9c`zFg34QxS_NhWS51^wbs%#K}$;=Mm51iZZczII>Si#52H0x<{&d#oM>s% z%Gk`5qjO>EQ!8)Nl`j9Uj)}F-Pu0bw{@9$s)zpxoei$W0hWId=D;Pb`$Z%z2v?O4( zW@5C~%N%K!n&ZXJN}u;D`&8FCAJx5?8sH{{r&}pTMaK9(FjMuCW5$|^jkI#QwRH8f zW#tev726%N%1l|rjF*d$O_(aEmU08DTUtF|lK5 z4WZTIPmOsj3~E2`n1ihTbT}889HyPj6}r&0cp+8q z3iRnl)X?e-p=+5l(As{-DnkvedJ=Bf3#?xa&6$p26KmRsjeJ1m8-ftZ95A8SEq~*X zxcX0R1+V{9S4}-fttVIYj9#xIdj8jpsS5*FPu=_>{F6`6lWArT?q2N}s(~V4HidrB zrG@Ic!xTOslj(evNyiwQ6`>!xmRTQBhPK%*+xSS2el#7ULu&?w=E0qCS5vDrvEm1% zMQ@7MeFy%n0T!*$Ex<*o0%d4z&NIADm8WP8ir*;iI43yEw zY}EbEm#Ye){Xd$~PP8=rF;od9`KX>?FdPciNqo6o%j^)$4Bz}j-Gwl!G)6PdH@~*u z$A@~;sNMxU*=Q-K8ViYt14s=Nr8i$_wn93%7$i^4UH`amE@*! zG*IbE?U4wCR(XgG;}E+yRUSykLDq3lqP`fRp>H%W9iN!dl%=J|C>i^P3Mc%jwY414 z3hgnY@GCe-#eV43)U_wio_90#oLbQdEGZQ~WHz;#L&z0d;5}HY{8g-imGE+A#mmY_ z1$S1>N4?#Z56zS*`w_Sh^^l~yRaq@C$;vhYv!E=ok4%*%Ch7?tqZ*eb>gcMdWhgi+ zGdQc`txP?qmkrhG>-}{|+&ebU-?0_p9lPw`Nz^dkv9%jzKI(?3$1*(zdcW2|y>W1$ zVl8Drr6u68MYz9jISJ^x!MPtlM#-3&aN;X9z>o_}Y0{$2QBrsg`OPuCTjo-Qvl zy*4kiHZN9Fnq}W-Dq6hs>T5I8tFK{irl{tp2Iv{3%6LZEB*Q3rOzb8d^U^hNkA0)! z8KtEZJ=)phXd29M4{y2L<1j3YdXLA`9L6vzPdvCF&fZm=hf#eu<~cw|*40r`-nGoJ zI(~_Iz1$F1$E@xHbm)-`7hs%sFVX^K%bG3oX| zs5Ujglu%$}oARY~qU0-GWvHHiWmt$XnouSG1|3{oe1}x>0pwb0OLB(r?<~TDnqh?x z-e>z2F2J7ysXz(~Ps%iNBJNm7a=th%Bo~ET5rq`A@F0lS5DK|03YoN#U!qI+4tKY$ ze%wI#h%a)(+xSjTUtf}c`~I?!Z|>eo)pfu(bc&ttlQcasYPIo|(2uE2hsC~#(Yn|A z4P4DjD<|UBr0)mETw_Ly9-TUZjPvGVH8y9X|)+7`U1^IUEyAuSTVg|>`4i<(yx zn)&`mF0M&KUWi-DJ^qEbM@`#SI%c<-id)T8E-({aZYDU<%%iL+FT}O2bj)ru6}OtH zTwo@;+)QwynYNWWSKDrB#jVoH1=8qpX>g)+aqIi&QqxCG+g3Vex0#At%~UQh6J2g5 zIMK}F)^}}R>7(YeuNrN;olm%}@JUQB*2|ZMZ|%0-W-4wqQ@OxQbh(+}L^F#k&t?0i zrjN$-yx$I@&p3!o<;97uJ*iF}%;lOQvL0n?sp+FJeQRKMYq#xox=XHXTN53`#*dnJ zAYR)_xs8i|cOUrOT{7W+{N7(_RNSh~`>w{VTp+jk!r$GCwRx=jV%t2rT-%i7(;suc zzzt5cJyU*nul?P<=683pj<>XL3RkV>kYkxeF=uzoVJ0~}i}$x{2h&GQ+g1*kXe=SS zosQl6V;#ZkbiS#`;%J=qHeKw!#Inpkr|wL!-4)lF!v`9>4a|GtfV(*QoXuPQg>L*j7=#kk(TT#%{G8U)kcl??hX%WG1ubVW#w* z)yV3Et4AV?{Y~OT`wEMeZZ#OKFEaMEryLeK4EGpRk0Kanp~2C2D;V7aWIlDwXQ>1I zH#i-~I>vbcX2XWC{n-vrOEX5Vax!n2QOvaTB#qJPjBy^U_)CXQhS4K?G_hz48qXgz z4$?}_qN-rc(NN8C25YX~5gcb!%+V@oJsN>IdNkvnAj3UDe{REce52<990uYX&+!!} zp8j}(Q3f%*vBmyWfTyQo`uIAZ`w~vrNsc_SBI9HQuc6U8^!iCFwqr1ws=oxOBbut( z;OSu(qg!HI+`yfHZ@4Gv%jMs`LF9X5XQ+J36Z`6!?|xrYAi7;mv2U)(7I!AS+hEq4 z+9cBLil-lLSA~N!b>9u&2%J8AJy5jpRJabNz~s#EWF0r00@r4SxkZMrhO2;wnlJ+k zUjaOtgfD}MKsv&g0#`%$V&FCwz7Q^e^MPp><^~rY59ipE4o34F!=L%|1%u=L-r!c> zdpzA|!&z`9{29)G)8RBY6_`-rli?&twi$!5FVB+ow=DY;7CrV|7KTYfOHa!(UzyRv z9W6a2Vf2I)9tTOlb)^rT3kqXn9+)Ix_C4B(&Jj;^j(7qaj?u$H zi`PcUBLXWRZTq4QqiaCsw?om;gBV}u7H0As!S@@^Bc$W$)sZI%XEN(if*fP?Hv<`F z6(;hb8P%7Tu1}24z`5`!C2D`b$13ouM25%mz{f za53SrW;8pL0Zrb)b_$*uAJy7AZ1Ar~KmrVh!(kX428Y5>I0S~k!7vyG!9j2!#DNPA z7&iEqU*Q+{8GeF(=!0I^4?WNgUC;>~5QTPVg%;Qgd*HvY8-9dlXo3iYp%Ln#4nhzB zKh%N`YM>gbU>B4_8F---JWv8Vp%{vw5O%;1upPF+R@efY;d|Hw8{upC3JPGuu))2= z+e@sy#Mw)Xy~Ni`e7*aC*m{Yrm$-T!f~Bwo7Q=(^0A#`ihS_WPy1rL&JjjI)AP4>l z@55Sn58j1$U=6$tZ^4`J2D}ch!D@IFUV&BcGOUCZ@DjLTIlKrj!1M4NJPZGTXW(hb zhNmD4o`fghad-^=4v)ekunhhN55q&S6qdkZcn}_dOjra9VF6^oe3&>2Faa)wOWn4d;8-{YM#9l>6ePk3I1>H{e}E$(0fxijFbocZLt*H! z!7bFhg_^fe^A>8}Ld{#Kc?&gfq2?{re9yP=4SWq>K>=)lFX2D%Z^(x);B)v4K7~)< zWB3=W2j*H6xoILdP2{GD+%%D!CUVn6ZkotVnEHmPZ+&^R$6E+VBiyLl!&%jJbjFHZa}>#@fI*8yIK9Vt4=+!2-wt=3K-5 zFb8JCy)YB*fxF>OxE*G|bhs6!!A)=@{1yHJ*TLjrgG28CF@@d+;tCO0h`2(;6(X(> zafOI0L|h@_3cU=(7Fq$s7jgqJhKMor0uX12I73{IAz}>?Yl!PHM7$xc#}F}xo&@3! zJr2YkqFy254-tQedWFbAhn@fPD~!c4&iEXo0=32mTAY;YVl&@)fuN$XVceAa8-GK<)xlfcyng;99r_u7<0C z>pw6Fu7JzoGMESx;8M5*E{2QX!eN8`>)|8#5SVxVJjeyEDSr-dP5Ivkt||X}z&!L* zH$QdrQ#U_#^HVoJb@NjJHckQD}!YXoVKo3wz+dup54aW@v&4grN}{pdRWV1i@j0t5RV) z+y=M8EieskhMV9nO*TY|6DqIIsU^1k@wQvnw4OhXHFbS@J%i%JZ2ovB^U@lfM z7ppFU3*iDdAI^hw;T#wbXTw==Cj1%BfYaeLI2BHTlOY*Sf^l%-u)$@Vw~X_aao#e{ zTgG|IIByx}E#tgpoVSegmT}%P&RfQL%Q$Zt=Pl#BWt_K+^OkYmGR|AZdCNF&8RsqI zyk(rXjPsUp-ZIWx#(B$h-Xs_cC%_o^6C4ktVH6w($HFl%5{`zWh7I|CV z0}naykOL1n@Q?!!Iq;AJ4>|CV0}naykOL1n@Q?!!Iq;AJ4>|CV0}naykOL1n@Q?!! zIq;B!lC|(2ybJHZ8h9Jtf;Zs}cpYAY)$l630;}L8T<_%hKFD&EP=)FAUpt>um~2y0?2^*Fc0R!{g4iG zU^d(b_rffg3HQL=a2MPOcfjqC1~VWPro(MOolB^5F)$1dX7MI5_`V;6Dk z!nffqcoW`$*Woo-4X*+3HqTA zdSO5G9K&}PkO0Hsa2N)M!VowZ2E!nThlAiihy&L#d|v^-z|YVReb5X0fn)#D4PDR) z9k36g&K>=)lFX2D%Z^(x);B)v4K7~)>2Faa)wOW#8lWEPAOt}OfFEkX2Q^R)Rj>;xp#sXG47^YZ z9w>pGPz*&-2s_{h*bduZD{O(y@I7pTjqn|O3*W%k@D&um2KW;G1OJA6_yRtMPvH~z z82$z8;UoAE)tbmum4a?z0cmbY= z=indk3_K0l@DyahlkfyQ4v)d#;Zb-5mcifPVR#6Z!V*{v55fbG35#GMEPxD{5A$Fy z+z;t62WG>4a4*b)nQ#x>4R^tva0lEDX)ps)VLIFfx56zj4Q_^;;6}Is{tDN_UtlU+ z2UDs8wO!R0;7x`UxE8K~tKllR5+=bFa5-EC6SpH1;8M5*E{2QXLeRm^gLB|)I1|o* z)8G_HhH;Rz|Ha0!8rKQYn;d5hjpJby91A1iC>Q~Mgd-pUhQr}73=V@sVJI8|L*QT- z41*vZ4uS(A4qR}+F@t~l6@G!A;V0;aKIn!0&;#Aj1)b0V`ydMK&<3s00()T({1i>LIc!89fTkV0q{dD_@D-=p$c|EB~(B;lz|sY!2>0*6N;e-3SkHQ095Fw zZLk%#z-IU!Ho->t4!(tN;A{8_3Sa|#3IBnALq2=~pTlSHDSQGS!@poXd;}lDI>>`u z_yBU?pYZ-sF5kA`Gj&^KTer1+ChI$+ZksRjH}3&?q5GX}DmJTCy4`8{t75&s)aC_` zclN;h)4<;5+y3=$>Qhf~{adm@J74{4^6N9Cp#o{;B55F18d)n19w06I-2A7d;X|a2 zpM*b_4a}-JwDwYI>rC?>k=C6TTqo<_QdcUQUifv$K5m_*W?)v}UfBveW!<;( z>&i_>OPh|A*5);aWJ4nz>#J3({&i_EMOyQb)U!j{ut!?nFZDhst$$S-v4Mm}$Pa%l zt+SL>d?&y0IB8qAw8};h-YvhpM_PZs&k|Q*t$;;P(G z&0jCAf5rS$%|BD>cSiS+{PIp|?LVb~OlkewQvZHwBx?POr6p%c8``A7CTVE0wEoZN z*1$q3C4NJ;Vzsn#v8PD3adhA=+4}S9*T_a@NQ;iJJ{@&y(_m@sAFTgQ%k$Roae<7$ zAoT=puS}2)_6E<8ZM|FSnzIzz}K8C)VQ){!6xfw6y+M^Usk+KCqrogSJoor$IYgqbB**;1|+>#k0{izRtRt z;km(QbV=p34a`PDtPc!d6EL@EzB>MhRD6$A zYP|L1BuZrcnMg#z)t@BqJ$dK&WC}k=f@6?6HxlYZD*BK}eq*yK7q9BgAj8gyDlGTq=4DMU({qh$gbOf)Np-e*ZoJrT&1-__+2w(wHl64H96YWb3NPZoL-?dy(q7{?jmJE~Hcg*6N#GeIU}P5!UOZ4LY{&h1ntI zMRujCSgGTL|A7Q7Q3~Sk?LHn;_%l*hgoK75KBb{>8`7wpY0XP({Q(Jb zwWsNFOsjuaO;)X`JTMxV6lrwarHKER?1N zCrwi^t!>_9wG~3mS4c1$(UO?v<5rob=Z>@@RUoKlZJzHZOxwJkt7Vv%X~A*G1kfB# zn+iH$SOKy1b(pdv5N|CKIx6(h-V<@O)}<9CAVJN7!Ximi*%~ulugYjJg*J z#h#_Mgcn*r7d4+UP~R3^)@*ZxG?XaSP0P1MS33Qq)VD>Kxo=AaiyFQiL6^I4i{^lD zOW-`yo1{T<=-X0AXl%b-x=j*TELGC*SsHv>lrP^Ftq{H~x>d3(!7(V(#eu)Do+nNJ zEmg{VTXbprwy4g&EyX0xx25rAQ?kZhq>X@1l~&&`C4IgvbvIb|c&Tnw?z`3Z1L8j&sec;@PC_=Q z>j-2jR5c=%LlJK(68#1#&OlNiG7ez3Iy*_b^a6#W%b^eMuSeyXZo@*tBJnFDiS zC9HyVuo)^d5Qfg=UGm_`UOql~?;-MD^Ah37bqm#Ts2T5T`zO&Vy~fVh@L!$iDP%7v ziSu4$W=D_rUUj{I1YSmp^5or$^c{hC9`6og>Ian`it&1o#=%I4(lX+fS0&>YX-9rIZCG;?YSI-fQt@Iq$^L{ zwK2n0_jU%q9E#IEH-mqgGQ+jAIfL~rgQbk^JW)g~Ih{*0_*Wt`T*29N1{$@Wn(_jb z8LUVdu7+(HuEuxal?+$uR~fF3hp?Yx*>!ye|MVYwVrw3S`#4e&tk!|#;S~KlgMXP5 zZs(N!8Lns>#~zyD^7nC^LumJM069bDRX-)Sa(V{;a%qOE@Ot0`rGI3*U$q@h)mS14^-K(<#}LN25W1EtN+>zen>UL6}l=TuJ5vpxay~NeksN0U!#Pdjz;>gMEaT~ zA!I7}k3fnKkhqZ)h|ZAMhgacEhCLrj)=Bb^rvD<%^CdT`xmDg#$RzNLlbk3?LP|c9 zcci>1QnXAm6zQKQnS(_2Y1KDoqQ^SEO#eiE_!81L2C1z^LTi!W&Wz>N!!wqbz9c;_ zWBK_cZ4EFLO5cJv;SG2lUb8g6W6Cz9oGnncLD>p@?FuTG@)1%rex|GC!GknfxyBOnwr0CO;B9)3t)FHiXvFIsSV#{8(<&c?}z8 zx@uf>c<0Y_Rh-rtH`65|e^#rBqwcMr>1up$rmOnWnf#3KOqcCOKf5#(s1bT!-Ax;$ zRkv%Gh5~+;O&^$P+Av_gY94&_dD_T2Fjt+gjX6^2eWYmvQgyp?V0Cb0eaN9@IJP!u z+7R2n$$~+(Y1QqD9=(b%t8Q01&uC zF~gZiA$lI0O;93gH_vqW@0#hFI@8tn$xIj7OquCwR>s2ko`jjM=)2l3x|038bm7vm z7Ee{0M7~>b`7~W8T}wxm7x5gSO>z8(QyorHTg~V)-~bo}=dfE7sknxXLf3Hq&@~)1 zbPdDu?dfYa?XmOCkgBKRH2>(Cu1AQg|JF12rtkU)TlY%LIV)zDT_5Xr?6Z#PJIQ+c zPHL=-Io<~L?mNl5-^|ww&Fm?0thZ72*?&q(JI%EGtj1c$FbimOUm|T>BrTpSEjbZg zrtOzGyDhWrmpQvFv)z{2Zp&=9WwzTgXSXwE#=XrC0M7JIa_xF$=J*?C@@uq@>KUV= zs_ku8?GBl)Zyozk`D8U0luy2R^zfR^NaqT~*M`(?j6Q0n<3mizwbm-R)>@GOU1ihs z@r_7ft;BC1g&XkuKD4ddOU!uJ(iQnc{qIWNvklAA@V#dt{*(KbVOkT-)O?TM{Vh^* zDbiG8y^+rx^QoC#WqeY5EmD3{-}~~vv;LB6%=G=!F>ClFaw1ZFCE{~>OKb4^BFL`S zkg~gM+p@dr0_8W*t}U>(SHU&@fb5GyN^e2D*+^J>_I=o15>%jV^KI*9jkNRv^CNYo z=hLbkiqvdJB7>1`XT$1G_0crju=XZ1d)}cdq*MDevdF>xLolTmm?=LGzoi{%a!%+! z+0I+L(TuN}Pr~~VUzNNtQhTU<6!|pR*jGq9@>$F&w7}o9Py5!E-EK~yPy00@(T9-k z?~uBOn|5MKu654wPctCvCM4BgRYh8Z*lYQg+7Ms(T=@_R~rsU^QIhI!>L2=>+Zq2`-*0Z|gjiqcb+);$cU2)%Fh zl+&?}&7;$s{?Immr`D$C36e_?F2_eY58CsVxg9kdV%Dy%w)vs!?67U~J8C+1+eZ}> zJE~)DM@>YtP9GK~#GK$PD}nlgv#bPd^Xnh$zSqX0*l*hw9roL{MTh;iEoT_mw)Nu zclzC?Q@TgtPw5_A>+3&Yz}sKW0Uy;T?H|W9_Bm}leZKFE?&D04wI5j18(tTI)>E-f6m&>obKz`)~@@vjtuI(|}qpPVjfKHVOcuR`H)k56A33 zg%y5U;H?E}n={aJ=0MMx13hOA^qe)&^Uy%gLjyeve%ok)ZB;kQIhCw!b7SBwXD>PG zsl84k+xZ``FNvm2}JdUh%Jz&ivlsX1R7eNI~OSE=`G^RJa!@N&kLUnlv} zOzG|TrD>8GRQCY2Q94k1#`TTvAYtR$>LejaP(o40wfRR6-~ZzNHJtM%>HZf>nViv^ zr2Aj2NRltz|Dx|-@}=YYpGC^&Al~QYr6cusO71}V|A92daUsssyy%;$c`>eICQ{Xl zw3Q$g)MecMrO5cwSJ2X{WU7AQNZJ=*jr(?rt|rbn8NGChvxq{*X)2U`{O zl=3SWz*E+Z{_&TRx$tF|J|zj+>S4P--p)c z6y_Tl9m=_)Mf@7X{ z%yW);)-lgG=4r=dJLW0JWH~0oG4mZW&oOfybN{I3cnihMKb+Q5$1HHn9LLOd%nHZ6 zDqwwU5C{6Aw7ZGa!lt1 zwOt)A<8-`)6xJinCn2?ik?OaQuC2)4zxN)EDZUSB%SZYbAk~W`w;|C_k*1rGu8nHm zi0nHY=`KJzuRumt--_10gEW>R-NTT`^+@Y3r2G`5CKqX&g;Y;R8hdKH>ZYnS4Qc&T z>H7KuaiTg;`T0momzqWUZ)US zf=Fvs^O>0XYmxq^kf?^RF9j*S0jbDDnl;`|WuepZ^%-8f7pa_$lwXXrXwY2^NcT{r z{T8HOqw7*${l|OLN|JFpijlBR(e_H$YgIKRdlTlw?A(}L8MCWmc3sSFj@inLn6o`* zgA?Rv-TbLM!RIbLUu z*O}uvbG*(RuQSK%%<*z`=6IbsUi<0H@j7!nXO7pI<8|hE&K%E~<8|hE&K$2Z$Lq}T zI&-|v9M74Ph&f3yCn@G6#hgUUNs2j1F()bJBw|id%*eTj_T$V+iaCjxlN583VooCF zBw|id%t^$Yq?nTwbCP04mLWPbF()bJB*mPhn3IS(NiioW<|M*RQn&~wCEO&1o1}1) z2scULCMnz`!c8LFB!!zqxJe2(N#Q0bT!fP<+>weGQK~IsRLNG%h|+CQqe{5qMwD`k z9JOO8>lQpp-YtAonO6c3a&IX>$-X54RsJmvQYv7H7^zGkHYTgTC4(M~$)7rxS(rBYjrQqr2GQfJwvZ2{wxRtp(bsk2mSMUF5Ul(bs#s7h_&ODVM_V5BmD zsMMAN)W)PzTPjdp?v@eMTunbq3aT+#sVy(~8k3dU(u1!tsnnJsRAaJITaxfqYD*JJ zQF2IAj}5HP2Dak#iAkNj-8@{2Wq|qvGc%5jmtFM;XW=0XZsuj>6AT z@sVYRFSb5nP^v%TsW9R6I`sBIhF7n)BrmTOJYR zDWW_g%2PyniYQMJAEr-<^1D36Hp6j2@#%Gpt-kW~(40H~&Qj;6Jh zQOdMdArXdwG7gj}WW_`^t#dT3Ra1n~piChvE6RXSMkHlg=h*E_1s-V?Mr}+styN?? z$O&p=vK35)rh~jlH6~4KD>iCl(zLdEqc$c@Yn2?aF=<*`)lnOhO=~MWJ>)5wG$kub z$x2ePa+FMpl2!g>B`8_>NhUqXnghtWi1s5j$;wPJiAmNZPgYuz$x1RwNmfphNlCJ% zMY0l-tb8EL5S^K1Bx`OYD;3GgL^6p;Rvwa-hGbG8^8iPH{ zpp3$vW>Aeo&ohWdVox+EW6?7WqS5H72GMxzxdzpU?8ydIHuP+RC?EE8gDN9>zCn}| zd%{7L6+Po1HYQ7q9&_kWYV1J=)tD?h_N;@iF)2azxPxj;mLq%O!M8D4n(Uz`Sx*6o z#$-~o&r$iNlyWYjmajCJq6ICFR9}R6C*OruaBCan^&lnHh;Jj({UTCRi1^1IHZnAe zmnMxMUL%Ot2;wz@c#R-lBZ$`s;x&SJjUZklh}Q_>HG+7JAYLPg*9hV@f_RM}{&bx@ z-b5pa*9hV@f_RM}UL%Ot2x_nF*m>B<=!uNi1|8Xt=i7u-Uo0>8E?%w}VUlu`q#PwF zM@h;N7s-tXBTQ0`xGtLzMwp}=aY=R~jF4+;9l{8cl%pi&h&{+rl5&LWK^P$)Z$ua& z*KQ%g2$RTBl5&)!93?47Ny<@@a>T@E1jTX92$Z8F<%r9S5hzDoE{s4qN>YxJ zl%pieQIc}R&Wu1g;$udj9C1A|0_7;la+IVTCE1{rqa@`hNjXYVj#w~MM#~baLRy|s zmC`bWs+g85ROPg6p(?253sp%iW2lO1IYU)eCud@GOCzeeW{E^K+bor+=9?uG)r_-rqBiF&p)@q>ETyRCoh233 z%(JwPbn-gV5C3mD{mm5D3pv(Z2?4m?~l3kPtP_l~>0ZMjJB0$M5 zN(3m`MTr0?z0&t+rAYGG5|HdQrjvddUKY`W8mRm3JdO=q&% zl&7Wj1fvy2Ev+eoI<~V)OZYztBXeLbtb|p-WtgxTDl-sm#aE7b+BA<%^Vl?xP4n0^ zk4^K~G*6r6v1y(*P1dH#Y?{ob$!wa;rpauY%%;iOG?`74ZBrXTvW9@LwFZH(y@r9X zhYbW}9~(-YodBJ~{g<7Pm6BDGb&|~z&Vz231ScH%Sn~--wk(xAAekeXCwUlo?BV?n z@~QN(mrM4WeYpDT$Z>qqbr-UCk7RG-0orPB3yr#$<)V*0JWIPhJd5p*m9=dbIA-tO zStWJq?DCkFI)|RsRT|r=tJIE9hwV12>+d?O%wx0mFV1wvwm8!{kM~IX5W^A6&w1H7 z@BYOvmycIZti5+{dBMvSZ_vXa_WqA&V_-xJoW5BL*skqW+tV4u%iR}SYwx1}WA47A zqpHHj-xHEh0!Yz-p-Yh#DFFgUOz237G$Ep>bOJ~a>C!~7VxuWokWdsOMX^vtss%D9 zOfn^tnUqN;MIe)zlqng716RUF)v<*S%SOp6A)+oU>1v$qOvp`kKSf^KANWTkVjX_-uLfdAmHb16z7#%Pr^a z>LEKsmRDt0mBnV%c1l?s6)1ZIjw1IlqxF02{Wj(t{Jwj9>3ePB^%OG>gYipOUO ztMD(dz3YBiEawS=xG`d7S{Ba`ecU7GtA@*KwNArjZ>DT}tq(e=#EloT98<%cRIB9J zD(yI{t_`$hb^w@LITYb+~f@XDR0|)aEUe z6B6Zx&^B4jB{6m)XnRkTvl9b*Pt>-e^DF%u@y z@!DIABVHWC5wG7QUfGU#ai0=pqOms6l9>(H?pnKxhuo=^+6LmZID$MoEio$JI_8Oc z!}*EC;$;%&%1LVH=h+gNA&X5JcR4R-V#eLq*X}A=A>QNGQqSA9*0VXBL2*tQcePb# z+?88uX`z;wEOwi5SG-?k+?DToB<-Csw#Eh|~vB7U{2!ohPW3i15OLOz-FXx~#PeAN%S#Y3ZQy}iyGvdOF|2|n>dF4P2*}pZXUs(5MElFW@&AjrL}1qI@2_CrfKL*(|3)g?;1_tHJTZp(9HOR zX2vHp)6b{RCy33C71R?O9t)MRpq|*lu}~RJ8^c|CIqcGlVbNfKhKvjwj=A(z|AyOZ zEq$HKB@!2k#E`w#>oP8Vz3OgYtm>{D^k;@v zzgThZ zegEt7cz$sjx%WNa%1+O>veWZzpflqtW8P#r=1rDk-efs8TlUSCU9)A+^|rF>dRy6d zy{+uDX`ME$(DS3I{W>|OUnj>%V$8oFu%#&ExG3ZdS!i_ZfRIof`L z0{71@3$Y(rh&fupekkOvum_3zN33aag0up+#U8}{vj+w4pC|&;#Es*Qik=5k{cC8; zJ0_Amth{6PAn$jKh+9LH{o>ZxgXFCdN%qNGV-J$IMkLv(-I}@DT_B0;OcHltu6Dmj zTIXfi$*tkBnU*fXn(Kyf<%Gz@8>*74q`pI!w$tkjuvqYsI^(>cO~vRA4=6 zQ{;=x6Ytp~=ZS(@@(RfF&$wK5j{^nHzNFB#S~rJw$wLoHN8<;jE-p~A{h9}5zXw&- z-3L=W(@F}xp9c0M3$Y(rh`mr~`;Y~DkXdXWm{L(-t2uE|2F^^BoEeXa*u8^Oswri! zShd$7E}cC{s|)J=k4C6?jXfBU4Y??Xcx$u=X|;T}tZ8Vwsu_^GlB?H_td$&@r;N+t z&8HBjBCD>VuWK)CVhdssF8%?*CTmQuU+$TdQal)O)a6wtBEyvDN=*{I}W% zyOVcJJGxdrSglK^tyX4v<8*Shft7N>#if;tC5aclXPU=Jl25U?Kys!o&iE*uBylfv zaoYa*P9_SM}POvN&%?%=KRD5ggko}!&k3Q!?W2w!OyAGwW`58V~xz8Am61$#STutIjZ#4i`^^^R~)h;qXta^Q%KS5v(sHZ{;vQwE8)6619^YW{gr)H5;vzO;rG0Ag?kdn*o z5Q&Sb-)$IeGrHp_9NQeTNqU2SL7?E*m38fWWZ6xs$3v;#oqMl(g7+H=ua)f#vXFDq zj)tcl<0hsZ%WALxOiQ~1ZT2R*9dl&cA4NO&e$h9)0T6PW;m+;hZd16?P;$$VB9ry8 zaNTUtw$}-Fr34D2L7(edqgxQJf5*_@(2eAY=c9oB-5c+Rr)K+`iP4fd{i`tvNA_6{d)w*hKfJK zJvYO}-_r~?eG={|54XjIyTk0mL>MZ<5D^B85F4KH2LptmA`B5>un2M>MpRFUFi3IqlMQ*>QPunq^Ap8lJc$= zq=?oJy0#)6)4eLvk(5j^c1Jfrw1RZ8B88?@iZoVNON{-RViM^eU4PN}WQyGNs1&iY zypojbqBGgPM5M!cYeo7d*Cx_acDG0o_GnUGc5a18XLFsR^PoRoq@+9TMf%!zNsQ(B zKNGFy{sSU4@rQ{{r@w`0?HVWIj=>^s8zBaaW&1_r;jyBTp4CjGg7G4jmTecQvbc{( zZY}*%RV-S6l)XsGf7>XJu_dFEXuWBWhccPJ5v^eJ2{F@Us1mKN#zvy`vr!&xwPTm) zTv_m%NXzqGB6W1+i`3I`OQfL=xs)7-IC_5lgIe!L6*on5Yo$@7cgwqr)V4B)ly{}# z1(7aS$eq5CR$Gj%Pj4>L+8gqwwNCp{w1%Xe6RELYt|IDP(Ri)sBaxOA{VLMpqRFH@ zYtcT@s#7FZotIHGU9<)k%@eJ^56YasD5ZhuO^{E_yzAm7=ZB@pRd-40CuZKd{*Ora zuKUE;EVp=!@@Kdgi}aF9rfzQeR7AR;5;MzPKZvn*uCt=`lj{}HYUZ9K()1j0+wz~! zeO9FBvb%~@JEw@0mzsS>q`#cOqI2>d(Kufs4>#4>TlBSX%4dFJ$x1PHyW~C5*~!^U zw0tG<=^Iv3Dq0@rMlsgDMBKOh;m*fI=gE>aqBW)@LZmi1--$Fn=cGuTbL4Fg$q|=0 zuQ2C?NVc4BMY^AJSR_l1xVU-#oI|Ai#}3Ll`Hc>0lP(_AW@VMi6Rqc}Cnn!;%2PX2 zDh`sD=Cp{UcZx?P??R5ekFh!HMeEO;*GTz&t>ReukBCc=KQi-zNRQj((?7!2LA07$ zpAf0PbtEaTD6flXDS6SNbvI9(X#VKDo}zV5ru<%c@&cvgiOut_<#iP4x4c#&nGedr z{D%%|qc;y~!xaT34Cl8hs1)gmf`3GcE09lmg97=Iu3I3U^t{Z1+agt${w1aiF1;aI zj?&Ab)v{DRw+%~mqSd?fib#D*{}5AjmMoF}&6Te@Z?3o}c~v=nkxu6}A?4S~Z7Nc~ zoVy|o$PE%>xjEud$UBuIUtsw;;`H;%a>VN-?~*F7_V20jqGi_|6zO_u6e+($s(5qD zD^|q~&hM_C7cE0pxoE{?hl-Y(Wf!gREP1>^S;b>UH(dyx@uoZRDZU4%!SAvVIAwm1 zWz6U<-P4ZC$gD2>gEF$_YSYiZDG^|nfPhpMB``K<#SR*%M8T4na4r^pt8`j9w zg>8~CEv!-Dhvd2J^9K7{64t16Sy-crDdI>KQ^Y&8O{6JBu`*b_Ry7 z;uH*B#W4(B#Yqr33qx0N4Gmqz@fhW73|+;U7`lq18oG+38oG+38oG+JF?1EjHgpxo zHgpxoW)GYZkyA2s73(l`73(l`6<5{JRjkI)RlBkxi@iAHU3JL&>X3KVA@8lDkyx2S z-eZTn%k;2HhrH7cd9NMvPCMkicF4Q!koTK?vPy@%=MH(-9rC_A-SzN4Sar|U)_+)YPWO2D{_n!^k9h{aX zs@=hrr}I9ZQ}&~-3CU0@ldh*spUY_3S{}oYvr?uQ8CS)5f2D7YmNsh1wKI@!YS}nV z%ciATF8f5wIYYF(D$ZXacOuh9t;J4c({)qJ>_oQNiOlRoW_BVoD|u2|iAbzOB(V~i zS&7JEB_fNJh%8njvRH}8)(He#Il*5^@XjF^P7%^AgsO0Yt}dbIWx}0^{c}nd$+&125wxyol*|0ncL^oroN;3*8klTa{l|D1{9L{dAW6FQ;;9z%PyLtC^#YqUa3h;1H43p7VK z9>K$ChNftO#&`&g&=3s}hWe<7x~PLtgdiBT5rkU%=cxB_4|nk|s!@eI@WTf$Jl1Kx z$L~alSp8O87NqT*25aKf;DIbYtRbTpcSk^D_Db8u!ca-ryLtVah_hGG!rNnz9hDO<9N+rz}{4RZrAFJn6y+sfER#?~_SlCh_ZPskW4V-Fd-%h*lEt}=F!@o^bD$=I>! z^{L_)pd`=DrmL_98{yh1!cBs48o{)bQ1%HSXNc!!#ql2EPnA?0KPmJ4dUb*Zi*V<@ zh`tRXdishuRs{EP5nba%bRH2=mPMyUSrjeeJ`wWIh?sj&#PK57eor%5;GVSQ$b@fR3Gl8DLBHXzzqHlwU zp1vZE6~TR6MAtYGokv8JWzlI-7DbD=PlWt4BIX_xal8mNIV1BOQST7pvIyxTMI0eQ z>LC$z+eA#cD&u+)ukTB^eLo@hT!Q)M1jFG3YgmGA@W~zwXz|W{+3;P-^BvjRA>(Bk(?`lQLdMiXGU>L- zlyX%|>t(vW&+=Pd%VlR6Cux`;{-6HLi zk#&m(>lSIejI3KUShq+!WV|dR>lR%jWMtiA0>H0p;CRvDm-DV<($>?-4 zq57Yb+=0FoZzXuUCwP8LaJ`vu`^$tJQ$miKkkvQA;7M2->^4qLP`|ZoE^gl>Xt0*< z+}E;igO)vgwLDf!?&Df^jnlI8h?WD*qSIQlC|b+=w3L5F%ee=&JYGw-!0gO-wDt}y zUDi_iNG*@hQtBZs>$Yh*P9|Obj+mPfuHJZ;-C{_NB%x$mUqyiZ>hl`}y%NjFaY)xJtMwCtDCp6&t>t4d`YQQ9-uUYujLx1FUM?)iY^ z@?;K_tdOL|qzPp|F!+Plkq(4C{7 zQ8`jS!}hLzhHq*~FRTB?CGQ@8+l=eZ+UZ7r+p^Pfd0PmUe$LjeosJ@JoxBB(Libch zp`*xku{cWCB=@TRo2ti3L+y8T6Vmb=fB9Y3HI}Vad!3b4du?rO?Yy5Go^ZZp>>FpD zo7W_(y}yAq+>vhS@7ZqY@2~d!Z0YBDKEl$^Fu~_E*nKwFCfE9m-1Kj(Eh-OYjY~h} z+F;bVDt!}z)4#54WUPDppyv})-`fX7E+6Ch$-C@hUtdRi&!m#o)(B&!e}(U+wPl>^ zxaWlHU_{|#X{U9;&iNUQd{q&iIl4xreLU5ree`|Hqy0N_Z+lx1Z{2C_yCddy2(~`& zs|vP0?m2AjYKcy9WS0A%^o=k2$-78D!#%>g(B*Ua4LSZQ+c0YvPlmrbtx!M1v&m(% zzFs-3D7j*$uazNE*VMb&-d4@@>daToxup$!y`2Mt^#<`5^c^|Aia6I*`|7+#mL-k>7o9LPw(oHqHumwHE^O=nx@vs8>@WRaS3XQ~*KxgFy-feFuXRZucSl{P43pK*EQs%oljtA4xlS#RI8ZTh?3&i+TNWmQwu{L<2j!zD$=?s-T3 zBTHQsCSQr`Pd;RH;$P0m&1dK4G^e>;;ivjmYHB<4`HYQ5Z?HK(?NduygumK2Ji<8K zAL2Jflq~gr;mR{M%XlOGH^ce7M*4mwQI_;7m+MHz2d*RONxHs{_e$GZ4EAOggRhI{ zJ%2iztG~D-O5Qe%p}c)i7MZ8h>!*Ec`%3Kl5nrUep>ME%fAEc9-)YaEC0%?cy-!rO zAfNJf^qs0~T-l^ZpF7+(+ORJ5`iyZI?C7?GUk~xBqrki?qFYM@u3d zK_!u%lLp0nrLv_#aZfKgU(l#1+4r#9;d?m77948}){TjA<>|)6y7Drv#b#V9Sa_!) z=V?6UD~sq=b*pUlP}i*+tF^R3OUtyhR7*=NNA2}(mvobSzj;2@dmN`MMqktN7|*-9 zF2i|*L&UbEhhJTUo-do z@>utL!#Q1-k|_6ldms1wiUjw3>s!1ptaZ)Z| zKJC6xb}IX@y{`VVn5EW1cUly8jCnnf`vh{7mR(Ng`e@x4LRLRQ+9ONxdbGEbb8hqz zc-E%eaX#xlms65HqA00+VBu8%(XJ8{bJp0)WJ>XiWbK-f zp4OsZe|zWlymi4&hxNO>#S}Mw$%@Qdn-!T-b*Gi*uasMvw~LaqVv3SWJCr_ur*&1f z`)c(g)#3Io#RH77#SxVat%c6)%EOLXxznvt?u5Lt&TaleYyb3V*7b$MCp&^1$20yd z{lzf2aG0;$vnSX&K=-8o3+Dh|igUmkXMaPMbAZ!{fx*4}EyQ?_!i@0Y5qS^kE`=vki1S%$0Whi8@dsoXxxx*^W`ge%?u zY{lEN3`T!d+T;GJ7}p;q4Xw&7d;dFOo)_Kb2^F)VJsuO^oSe=mW;;(9uAJ3>cI76aDS);1;m zbJFb-tv}*KaD4x&C`XQ3XrCaOStGJ9l7FbW8tl*V4fPERc3IVY-_W#u7M+^su9KN* z?PwUAdC#A8V{3fXbZ@ixh?z&cvHzobF}TMn+h5*hry@?sfvU?j)p}p*tgSF)2K%0z zVX%-_8On6y$Q#LH{V8QDt&<#?d7qZ{u{03T(IdFHsja@Z2}R-V!rhMUM;zV#oBVHz z9r)`y7S6J$zU_Bf2G8t2plphWS?&3Vx+SojYOVMg%0im64(O*;BN(oZa#8{5~nJq88!Ec`RK1@-(bMYL5^WQ)2YJ5-dRqDsxR zY}HRKA1PvLZm8CfDZe_(^h}I5CN*2jJv>{iz0oJw`QAWLXCLTe+7Z05;@Rv2QCiWY zW8QP#(=qitnGwsgcoFTp(UuoR!9PcCUgjHG3inK;c z8@1%x8OS%aY@DWL(^4&$eWK-@AzDuRJkbA|mT!Ei<*Zg>-#6Y8F|DPDu1{nv7ST9G zMAH%x%RUw{CsxF?-LmIZ5pR4RWw1omJQSjkPlfLX-;crK@yMv=&e!)1%uDn>9BUjL z;dwLrqIGG>#=LdKQNBIt1&(ix{cIk?PnDmgryEp5s%}uxvwfWF#VZJ(2irc6(poY4 zjcNO1MMyiqZ?bQXv&VV6ir2%PmT_f@VXk~JIkvdYmnpWe<)ZCaV0$SxbANtyA6q?w z-)pN+a(yb3Z6~#7Tc4CH=eirm<=eXDH|P3b{)GM&%b5RBiZ^@981Z&*8KV|B*ID>B z5IoNv?7k)^*`DT)okwKcb=?);JXm>gN8=YUeE*P{?;j$^2HLT*En4EcjcAF?e7^t4 z%r4~oKs#2pV*}rvL`%%CY~aZ%{4By=e`Ai-W6LbI4)=|Xbxt=uCf@8~Y6@drts^bl z*IZYp@Y7Yk9rpTbMA#^Te&yrhJ<>V7;tTWX%ztiwAZ#aNLy+c>OE0;weT^=Y(s`~sQ5m*(Q%zqEm9WVCUUigCi>6lChd;k zxEE?_v8sywe5CrvJ-^D#$Ek0>MQ`*w+Cxt7tx$yRYp_ml4Vx~Eub ze?GdYT$ytBd`F1bQkzp!J5be&5KHCk&K5_x2UQJZH<#Hgnoo6aiz&KbdtElkYnT`3 zEaStUwsctpuCT1-HI|jQF0x3m8ru~Pm8CdI>%)|+T}0heA{u+KVj`D!eyUZjC&MVO zM)t+hR;5WCE302=lC{X^svKlKWbf@%?7aoq>5 zi3>z>opR3kT-Vb&$Wh2|2+90;*^gRN%Qub(#%~<2nL$_0n4wgwKzZ=Ir zw=&ypk@bUWeZN3Cp~%mO2oq#f%O@CX5iDbkwY-P@k66Zvm|=B3ZkXigYPsa=QsUMx z!K=Z(pRy0@m)K2vEtd_?=@;u0eO-K?XSMNtt{>$4!VqImta7`m%AT?I^>xW=BVyVg zS#8q(sA`_ormDGRdup%BZu+RIct<_`3VU~ZBg@6~la`D2M!xv!8Twa@)fvAT(n}WU zmpR^aa7Tt)>*SE zmSunIcy5;UQQf3j*(VA9$=MhEll&9yjr*u%U#O1{&N%Nml$jOXqd3Cg@)gf29W=|cH=>}KF}nI) zWAU9j{x|r>yxTe}E~VJHB_buyR4;2_c~5&&%O(9P`@{Z+Q*-UBtNW$q3Zd2g_%HiN zb-(KVl@Znbt7e(Av)YKuRAF#*wLN95ey>T#%ua;rXoBkwq3maZZX%&-hX^|@Z)s_Z zOzIUaT_&k%BIrf9K}gRgSWn9oE2I5(`oHv%#DPdvB<~PHMi3#VFG0N|!bQ<%lf9%` zv`X6%jBgW)vTZIcm6AN~#1&WQ zL(EO>PS9KB_Kuq}Rh_HZTh&=@GnuuGWT~dd$;>hy1LXgeHW% zS%i$bgsK+^mM=y4LNp@?{(kbPX%_0V3_@mi$2!q3u7~fw2=@q8;x=UsAQ=86=*4tr zIzcyrU~NY5jUwFmR#e^WElB3S;)q>B}0`Un-DiLgh6-J&m9gs%yn*F{((!fFv#iLjDT z-G<=55tlbf%c*0@7SSjX_a#THwNgBS_RfR@<%2}DnPVN9MY<^c)Y#NqEn6CBxqPIS zjlDv>F?nGv`IIkA0B!5yqYpEtRlN2N6yUmikU=a=6hrE zePR{)-n7AOJ)8F;FO1LmK)ee{6dhOvmlv85)<>n%0AHs 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 ={~KfroMy6 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�qf7jyM!9y)JVyommC{di;QXM{YV_)PMYe><7j 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 lS%XT;#)q#E=l}h`A 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�L@{dd5+uU z(u+Hy#J1+B^J}%Z#o*`#!-c6!ZkoL$AMc(U3u7=-gI?fO-Abd=UDZW(?H=|>j4dEjn1b>d}^HDKxx~M%8 z<~Ot2sx@H@us#D5*c5>%t_#RiV)tc2nc51FCZ4j@*AhdLCgXYfkCaYg}m z5asX`1U-T8=bxg86WdIccuemKoiHMC)^UFgY|gRH!d9}1Fp$S+*NFi~&GA->icR({ zWlpGT1Uzs6`^&<5Lx=5~aA;CyvIf5h%|?YT#6kg_SP*+K1RP#or)O{Q2bq7moblXk zF|M+i=Vmb@Zv;~Wk{jOexbq+$5IUDZ9@*C946&4s`s zi^;Y!fHEJP!4N~>%?*B5MGFgGP<-GGA(S7Wt9~sFvjH%c3p4z6q_j`&Ls^w-XFUTr ztkovYBfClO%fm>^DgKb$$o65=?bO9n!~c#hG2O?_<_>PiUf7E!suOV|syrk+Ai}dd zK#dFk@7{E z!5E_qG;ZKRUicB2OVO|dk2o^wf~9pGDBktC14H;h5M+SVt?Yu6UH%GhhEh(LaoI7- z4yxoMU?*B>qa^OF7F{4-wb$ZUsoZ`caMTr}fQPHPO($atKC$PQ?X^AcSHvSMAGovF zzgTHXo(?!fNrbUJZmkc|Ge3*7G)dDnm9^rAMza(I`GXQ!3Z3DixMo+?5)U#Q080?9am_5$&H`tl#vME-1kODaghU$r~ zcEC+2`<3Ny24HJ!XS0Qfy+LDoQ^>bw`WF-=40u19z{s1=({MzoK7O;?=b@o4bvo(x zEL0cyWMEVXm!NPqC3>LTGqolz2_-i$j5_VK129NtwOAYPA)q`Gy+V5i`&0c??zOX`Xn%zFKv~a+!U%E&C``2G zjr~LiSj~bScp$Z4>5d+u5e>E{?y*X1un?M? zzKzO$`*PFxPFi9t;cf;>6uWy?msy3+(^3ys<9yT6XC9FWO#_Z~y)%C%M?DHoWFvl< zQigv^*`Hn$JkiMl0I}l)9(Op)gq2O}x{>eW$eyYCs0IO4=1}6()9w-Bj4N^^ozQ_Vw>+dIIErKcq zZ=yjB7Q3*c1wDe|P7sa_!ljH#R_0snR-z`@-M~ndGPSHMuoTOU)eb%2eH@+?K?!ap zV!{UvBFWx(DF=^yvb6%_$?V<%j<0loJc)i#nQmsksmhr61OpWb^btf52@*%#nV7T+ zx)%T72OduuYDoFq4s<3g0nFrZ;_#V{P)MA8ckay&lzQSQabAQkjL!_fZvYFt4CNrXIQ+wkO&J^FZ zg8Mj-)q;S#p@0c`^1P>QaZGS=&iTbd<`fe!Lan;oghtSA7L=6o5*7;3CEf}aTt5WP zSr;1Yt5@&Sz7uG9FEe<<+HxjWZ>FWPWz=Io?49Y;;0D2B3~QF^$yaEqoQjH5<#Ax z@+g`KGCxog>s!qj^@MnucZZ;tC4=s)PY2e-uF3cRrBUXc4kfSaIe!TC;0t_$I-xy9vx zqZogM4_a66V&4#qvXT(bu(J>erJVpS!e|bU;}1A3gsp>ED=PD5GFmTsWawQ!A!m2I z{lHb4@?rqy+^&%F_)pPKkA*-e>6lt|)ByL%8NPyHLJF&P_6|E9w^6^qCNyyTh_@z3W{46#X zEzpbWW|YpLyTN4()GpdWd7O>Y;7{hyF3hDYM8>8BU=o^Tckrnu!?{jZEuMviB7aMX zs&%66_iw%n28QQcKel$O4&a0bikDv7GdmQxS|a)4rj>v5bO=_M<}L<^X2FQ;UOVP@ z<`MR&8NZ;>3u4=y>hgmn(wP&dNQSkQ`aB-l=j>UK36f3gLs+h6TH+8<93++Om>Z}1 zHL+uB(Bs0)NXnTlB2eG`tt+lmDp&jqJ3??5XLt527Qdz(CkLL64eBS{|Hq+?MEM%q za>GAsetvv|zs=ck-m<&W!xyGi@=K~Y0K?H|)R`XR)f*b>9bSHlSw(X1lp|ssJiJ`w zBHd5BZ1#^&k{rVyTvD9s7MTea_RfS@xF=;V$a_$2GDe7ur4Yec1syiDE296AMnN|> z)y2doc#$SX8X;0~n1zZK$=FoMB5kCU0LdI0`A9G7+E*}G4^Fa>is^A^D<}S&5OYB- z83i#fPtG65#u!+BMTRYvaswd3C89w}60b~bG1=O>{8!htKLiKh)+Jv14{-eq+#Q@Z z=))O+egk;X`3wRG`c2uh=VUT7rr3q19jijA)m>UI-A04Oq?;Xw&az}XuqeI5BmL0< z=DkV`NV|)tp{j8Vw3tE*hB2IClH4WnQ2Ix=NF_y~Fu4D_Y++R{R7 zaDKl%X6A*=Ng!a!W%WPgvqcc^qN$4jxA1Ja9Ck&IBLdUwzMuQIhqUx%^PT5S8AH~` zHWfC6!qnrPSM~+ zkb7id>57Zemyu*qZP@x2lVLjVs$MLcJSf#mk^>-^V9O899KAD)6NcL88(KQ$Jw;}u zM{DSt+PJSAJ9?aQ+Hq9DlUn(g{L?-7>v2IwGb<}g3SLre5NvgX=cf@QmogL&>zRgb z4a6^AZvr8QA>PZSiUINXF0UYW3_3A_%?Vqv{IzkDV6XmmjhDJ z3WC#7M%2J?_B6ZiV#%vF=x*twn0i`tfG1hF^{1tYpgyYd;)uF5Zdk^7s%U+(Vem%rhq-<>6@ zs%#5$Dy#wT60$zjuhsKLGh0?NML4{4!(kWO9Ts+^Kg56^ z85kyR%LsL}g!y?~vk+EWTtSdGVbG-hmaJSqvu4E>oJLSkAH1CY;wn9UL=-_m-cR(K zzhuIn8t;gT9Ojr0S=wpx=n`qp9!5t+`G5Q%_; zKlerN=+XtS|JXB>%`aV)0m)hSMYlj2oeu)IV z*}y|?K4TH#aF1F)gm;_Q;VBK!D%*&Vp?w)U34fWY0zWAS;!hT?u;o#n_V9`qxzuwS zwRaJg)r{UdM_;Od)7&Bg)Z!ygEO5y1dKe%5b8x|yZnnY-p7phf}gA( z{H1MjBea`AIKh6^YS_$v$u*h>t!u|S`Y58*t5hL9}afn?f#l}jxC zB+<*Twpy4$Q^1^JZ4msWy#(J8sC;*$w#I7@1g5RbR~gRcxSJrbg?epHOatHmnl72p z5TZu3XjKZY0i=Uc-*Vk9plIs>C)DT~Wa=8w$-lS%NHgRAUVFSF$v4~gefB+fK!5)k zOMlS5ziHo3+V?Z|{eSEmx6QwwKCSJ1$@2Fc*7X0h^wTW=S@s>Z?@R4_!oL59jVIs! z@_X9y)3ui2U(T8TJ!)&DdOIE*nSo6L9cUitQ*Y~sH z@U`+k@=dE!_D=__-?jSRVc&d5Kal(VgSqs_bLpSWrTbSjeWo7gszLj{aQ;u+rH1Y@34JeYTpC)Jz?Kd_I>xN;_r&3z5h4n($6`R z#m^tK{GYS$ciZ<<_WgDHe$KuhvhNq{J7Mkpou!v8{nWd)pZ8k&8J2#&eQ&kzLHo|y zciFx^e*eBD_xtze((lft-=9l=IG6Tz{pHseEsyz`G5J1dfps+O*TJyo94gN&c6#E$mS1yr{=%e=6~w;Z2v=V(fmW!f9L+} z{LZ~u^P2{r&%9OhuQB+Y{|?Q+-ui#^2ebX3f0O3_{%^lZYOK98+y8{+k6HhJdn()i zg*R&bZ?yb#x%_jM|2l*JvtF(B9sV0{(E9JN{PVf|3+FU{(em$qC|iHR^5KdbFb6gyu>8L;_w`c7E>am#-&mw%zF?N3_!t$h2Izt`%ot>xOc{M#-6i@E#@9c}+6YyZ(kZv2*C zHuyaCv)T3&%YUuW|E14l>rb?`{gUnPug>l73oXrmzV*M9ga0|pf5v}Pxc|l*w0*~q z3$N1pUt#UP@IKA|N?V@^%m3Tk6~Au0H=BQMRqJ14`|pq5lpX*1hUWh_gWn_X%B}y3 z=HF=fPs_pgoaNtO@cWA#{!du`h|Pa32mcFoZGYI>fA3ixpX1N0<$tr)AIjH1t@S(3 zKYX{2Kfvcf&Htjo=lrX)`9qff_16CSN)|rnYFfW!@O#Aem$$#Mtoc7+`Aculj(@`P z7j1mcUebK8e_=`MKgIh0<$AXN^NX7Qw^sk$+jRWb`2MVF{&(H9Aiq3f^u_bfS^gVs ze6M+1w*3q9TL1SA{xh%3=AWO_{I^;C3FF_q{aMRjv;4pL?ri;Y6|KKu`M>d9+5FjA z&41YFYjPpGKIdjM|IcjwuFb9Ag;#3+^KJYW-l6p!e-g{T#qe{d;kWOvjR&;;=dJ#~ zIH%+D`WyFa{srs*{*#*T>zAC;{C{Wpuf02$e~;$hWAi^`^Y`}8pVa)Lmj8c#XSV-Y z%b&FTVavb9*Z&n-|1S(b$~pX*wfui=;~P7X9pCKTTL1T~{>x8mzPCSdLi0am`Sk~L z`NuVXhmG&r@5|xm%QgQQ2HzyNJ{y)_t||RG{pRfaCoF%``Y$bJ$G>q*+kcwnPvqpY zS<4@?{PQ{fHL?7^Gy3{xbJ_OKAJz81+Q$E-Gr93u{!iQf{qt6~{_GL0{~^nNOD=!N z^51Lu$=h@If0x#Oo8>=Z=dgXX_8WOzVHq>VK@8h2O@M=6}xeAGZ1X{+O`*pYrvqY5i*q z|2OW?`fs%UKXEME|GC>W|2EtIpWmbTVgDb}{7K8d)%JhLKdAX1x>x0w#OSM!FR}a& z+W1EE&E@#J|SpHG#|EQhMq5lI~|6a@g$m_G?Pb~j83_s7C{O0(vu}|xF z3_crYv-purX#NA1|L9#=_?^E^^Y66$)o!l-Ud^Ak@jaZAA0}?q{I2D{AjiL+-=q2e z-q!zXbNDf9`L8kfU7J7uZqfQbYx3J~n*Q_}!;cBe|FGpBGySXQpSxM>Ph0-^AI;6r z@~ycoKdwj27u;pz_upMloln2h;MA|Y=X*W>dV8H^rK4W%^;@*(^n{o42ZuAL8m|E)>~zSrRT z-T~q3?K?bt+}{3=SUdmRzW%#^^ZD<}>9@BUpSRQRyWRRepZq+${g3D7u~qp&^IZ@0 zTGJ62ks)v7$(M!+&ncR5uX}|yQ@^8(x|IOBJK0p7v=jXq9`2T{9 z$LE(XpHKVzUiDk5r|O4iUa#MN`?U4@dq$7@mG|HM>;3oZH=pnKDE;Q=9mi>hv8|zm-OHLn}@HL|L|$0TX}rV=YQ>rmh<(@m-l}Bo3EcQ@A>)Pz5egm zy3g1Te{AU&S^5i>-f8K-we+l|zviT_(=JOt+tN2!`h}L>ZRy>XzR}VXmabTO%F_Pa z<`tHHw&gEd+V6MUmi{Kof2*Y}IrMHzf1UmCVN0L1^v_uO6_)-LOMk1Sf5*}xUwe--v z3Xkh8{dJbU-O|su^n;e(Vd-lvy~omZOW$GXr(1g3(*MZP3zmL{rPnR}jh23!rJrl* z_gVUzE&WkTJ0JZoEq&JVf7Q}!mi`?}uUq;LE&Y(C|FflEZRx+U^lL2r)cX`Z)0Td& zrB7J;MV4N%^v#z3DoamV`uUbVmP3b}{X6d^veb&-1w)E>PeY2(CZt2@B{Xt9b zwe-(h`W8$7s--6^{TWMtyQM#8>3x>|ua`B};pJtN&$b_rUh`_bYrFR{yz{eu||>EdBMCeyODoSo(HL z-(~4pOCPcHd9w?cvh=#;zs%Bav-D9*f7H^)Ed7g?ez~PTYw6>b{-UKPEnRv*=X0l} zpKocEMu&!WTl#A)|29j%z|wbG`VLEE~Jcmn?nS(!Xix*IN3IEd4r5|FxxGZ|Tx2btLC3{VkTh-_qlj ze!$WbmVSe!k6HSSmY%cpn=JhrOTW_6Z?*I(OTWj`_geZRmcGx@pS1LxrT?v^=Pmso zEUjG3(9q{C{S}t~cb5K2OFwf)=lh@ShZkDeiCoTO2OP{p#pIW+V=|8h{ z$I^dp>2sF;3roM#(l(r-e`e{!MqvMirSG!zr!9TN(tl>@qn3W^tj_0{rC(s_ms@(m z(#I`*!S>s3b}F!P56y`v0@^eU=_F{mv;* zJ0R@)?269E>FWzD?fdH`mUeo4yQRIEX-hjlGizzbhZRfPaty6o+WCh!TiS>BPD?wz zd%vZfK77Q|&hLG~(taNNlBJ#A|E8s#f4E?2r=S1b(#|h^?VQ5H`IE%b&X3$+Y3D!o zS^AiL@3-%=eb3nUjrM)mzVEm1$L#y__Wd{Z{fvG8#J>O4zC-gmzHhMabL~59-y7`v z?e;xv-}~&lWZ$-Z-(=r++IPdgKW<-N=YHQQvjg4ummiQK6ThfmU%xNBT*tfdbNc&6 zF5mGc-~K19|A}12Bdz(|FU85->hB$`RR$U^#AkNHIL(M4B&*>7oix6!B(`4?FR^tJ}isjaD-C zqNDz#q}iaSO>KTeUV9?e0^Q)FioBD;+Y*HDU?3>>RI0I$vheM+x{Y}_{PQ95$&fip zH!lkSwUh`0=DSXRQO)A!0uOV?8(i_y%az*a!sOR3y7JHuyN#3^a);1L9WY$Z1oG*(3!EVB-=+s3mdyu$Q0 zfJ*hwaN9<)AA}0{sZK7uDry;b2s%a%n_m{H{n91Q!(0*gf_T~@*Py>I|?`}MP$;kh)bub z2Jw7M-fI$E@^-PL1uS%%IXYl{P@HDBj)!b~-q{P1X!i{Xea0aWP7no2fYY=@WoReI zD`%&U?nnHeaS~^#pl62AcTk7y7Cuf2PB;hv1eXbp7{(xzpfUnpfVFUf1_9to8=>;% z5xiVt=+#zMstYyHOsqtBF)2?f>1>$iYNM$g1Bjsjw&QVg#EkdxD~JhhYiqC4K~WDL zJ=6m&&d(=DO15`wR{)OA(tKMmQ(N?SCD|EnfjD^C+s>eiuRidIbPw@<#I+1u)fM4F z0M(`-C~Y4Chd_Czj+S-hh<1C2Tf=x<%OeyaJ;(=uF!AtjMJ}(8G9r5LSVn|rRi3Oo zR?$LIwvz}^0tK+V z?1tl1r&#DmUFpJ22&2!G=z_U1++pZZ_yrNy2gbDU7_ojbZNd|_xo<>c;XEz%sfrQo zO9(CmMQwN5dP0d$8q}6^%SM8Y!Rf7+WF&Bf!pMBlP;`Er62ZvrZedY4PS2F65O5mp z03z|BrxXRW2mTUvtc@tB^$Mm4zY8FA0QWe(?pKoG>xccc=JJ$~X;c}ph3k0bT4lT~ zTM9W14NBvf>3p}{!4W0n#;|l{g<+aohx029H;n+TXi-A>V(;$I!aK%gsW#zEIZ>w< zCEK5v8h&Cxv`z)?1LT>mN2j(yNT}BG4*Gk5)6^aEx_Spr5bsyxZR*CtbY$#`F_Fts zxR}+k!vzG}CDHK)Kyll`Jpr!n$yOf{JB$HBug{&>pRaZzd@#7Z?UwF=KnCNw4gfs`l?mFwIq(}&*J$t8hHhyuIt|85y}8%^oe*kGdaug zPE%$Ec6I@wQ5UKRR)yXbtCC8|+c$sDa&!SzbQl1axJp#d_#8sdd65G@;HTYX&&Og2 zMBSJ-5@YJ(MJCXsNo-7W39q4$@;z(11HVfx(2(5nU5Nphmy;C)7;A#m;W*;}DcoQM zxBvzVU>Ba^R~7_z9Rxye!+&)~KK9Y2$U$NcGEcAi;%Z-Tji8Vio?v-a`b1FfG6@Pb{)nPOCEF~8u5N{D!fp@ZNVPkt2)$H0}9WLw%9 zwigqMkj3lfzj}OAg%2E5gdT*e*YUOJTWemqddQnV(=*({gY+>2*ANTc`6}XkrzApT zx2P)-Dj|%3vy9x}$U(hYn?DV29DO5ruQpd5__ZwW6eQK!7(6*6x+LSm2&OL}!LHzY zk5W)NjZ&!=i%!YduKaR1*uodM22vA-fbf-JUQ?0*=FO*V8>1z;T#v=tMXnJcU^K~lAr%dixD+~k!f`MPMD6r1qOWNr$A0v+ zl#*ADS1Fzld&t_PvE$?8BeI{AU!#``@v1MU1&M!3`byiQuxWorLUIDkK4B0cH;_c6 z_@qRU2OT_hfJ#YlIUpRUKs1&dMG(D+Fq7~f$Dr}x4#*v8v&N*s*&;YLq7a8B#0Tmj zp@~J@01IU)^i@59EoppMj|`O$+p*^lmXA*W{vD887thv?Xd-+HtH>$9&B#QK!Z$+w z<6IoFj1MAaU$pueiY_F_@Dj@gdZQG;^bmm<^lW{ZOI7$F-nZu|HpoXuvk+1VUK*t`EE|R-swVHghyJ8$hV*!Vu6A4JLw0Q8_}OGk@gfT? zI9myafYsm6NJaQrlmxmrF{%{S64#N*-UAa@0R0IxK@h}m7)^GIcd46=C&H;mes?rE z4h_0S!P`EF_MKFS6obj#h3N_`Q z6Dum1#Yt!l9?6-hYTv452GY?LnxZ(I_{}2_2+l)Bu{x2qkgEPDpw(9E@c50H3*e+_ zGWEf66fqeh(tH<6H%NDA#(GT0Bg<2a*$OJ%7`+H)=*^>3HN9uHw{LtQWJ{NM+Q@-$ ziX<5lKcuRMsx1v-D@CFRgX~i&0ixf5tyGv2E3iIbb`f$#fntqfymMhS~qCMyssqm`TPSa-;)Cr;hsjhZp8Rc-sesRJENu05u zmE~IzWjwAYAWKqER%u(RfF}$dCq2X9-HJjM*TtcM2HWDSFoL1;*lofP{ zcci5XI`>kwwA3bTO{JwaX{(-=DrjrBjq7k)s-P_|^{TW~L0dQX0_Ejtg@R@aDlDcI zBxW_yMdDP+68bn6HZ65?f-8ZeCl2lrEz&Snl4vT_BXy-F7hK2IA&E9XOr5C>OAOUo zBPl_gY~c=Ku3M|SCIbk5!QQjG-UP7t545FC2mlzLg-ahzO2aca!a6tYrf>DT zgxPFk!x{0WBFQwRv9!~N&nd-6qEt1FSuFbXKl@m!BoO4OFZDeohdqg7<`h)&u6#_~ zU0>dXnmgg>pg^S(N;}cN?O*^6)43DD?5G6$r81^5f@sD`cqwp^HUO}VI!56&jkC8- z`IB(0QdYZ(OLKzEmqumkI>6$RdY<5Pq8J%Ze^b#h1%b)8Qd9qqmzWndDObf?eUmtDED_$gcBVOIaQkcH1ZNP{;L7Yjfp{Gg}4UyLdMYfXH10 zcZ(}xBI-~Ew=-8=sx{;?0s=7cV6R6()pMN${5Z9(?c~nty0P8L(R+&_2B!2yfBX91 zNvidwNxe-1Q_)t=2Mdgz$PcyUz6a`8sKHO2uC70@SCrkvT%>qQ?5*YI*j#|t+z@a9 zBGyRq(!G0c19}S)`4eEQVrf^zGSL6tzHtY(67 z$@v&;TZzqSV1)DCjNX4g%t^=#Z34T2T zPsfkz6}ya#rh$1OG$f$C0ANdeT;9So7fzjiU@r!O@yXD@qHc}?$1ibz9-SN~asYzu z@-(EQGYaJ+kbz|3u#gLoc(6UF8yB@W%c@FhIz<3Ll%NdkzeHFt(JeL#5)6%i1vuae z3HmW$Ahu6!G+DPT1X$D_*z50}9CM{SMVxrAt+v8GlYBH5U8c9oJ& zI%T^iBEJfs!w@%!z#zbKFCcNw6t`N{C5XYTv?lIO;aR)eA)+BVC?#)=WUbqTz{2H4 z6Sf98nkkyiSD=*%n1w!SkO4)7tas7W@}u(*{vP{$xdYH$J$j0IJDGJE}s*H&`QxPTNM-0$*+J1A&n0$aQxOriYoE& zNPnoJs@wYeAn^+~!@561$<&Dxmx}*~h<-R6UCZBxoc!*A z%>w8!?#FSWNLXmvfwhz6DlKJHg|gVf)p527H}C`X7fO=cPE&^p1a4gO!{!UngN(4` zKlV`Y4&t+(rGDeoD2Uss(azihx`VZ~5cQ0c39XEpX%B8D);h_04MPM93US2J+d!r} z&DAODAh`K^`t@00eHY3=Z3P__ki$p~qdOqgW$17)_<-7L_?Dh=ZU;W0l`MQnKX}P_ zQ2^Q$K9`}xY2Muz-kfzCTiu;;4F}pkJy7-49~wH=s-2+@%5G)#_#_P=&)0^+hnd(- zU^>ep)zms8@jb<4wLRaetpeXgn+RK^C2+SOuzE=c8#!FvP^Lg=pU!&kK>F6lnSyoO zs`^mh`Z%2jsZUZ^udacL;3f}~m17B;8C-m1h(K9F`Fi?}2X!TcutBU2PtD$`36Q;g z2pA7`VK*sq(QQJ3(QVLL5@J>qUn@$uBbIkKdB&6SjbpnX90A9fHnw+fa^v;8AMDfp zCF95A9Y3f0o)6OloewnSgrc<3F0X;LG0W?RvKH932cZvTK`7IC;EPo}ggQ|H(_jhs zGwua|1vvh}b79?;ClNi6igC(jK+z4$L0po8wE*^|91SiV^^`WnBqCVQ@}b^N%BJr` z=oIu9BumkCxfat4Gm-`6RPqW4&IPffbift1WO*zC7Y*Aeer4oiZ$rZ3>I^EFMdvJU z;EYKU{*hX0oj~YpF@dEbA{(d>>#BF57-~Glos~`&YHb)@q;uh#tpx)fmTpOLJyTd*abmxZYU6?dA*6Ta|YxI(k;~xscESrRXV((>G4_{*GLV0 zgd+o-Yc}fvt*A1gI7-D>gu=j8U=|h<8=D*|gr-txhL}td4H^Xy2N{SMM2{vC=`aMA-WZC5pppk4^BWUX+dI=7<#n7FhEuU zpCYzK*m>2~8K7j^JVLjaVfb}u?mEGi>*k?MYF{@lYBG+$QpZB7`lN8^{a{zAuY%uE z9FV6F7`{?-5FiK>7#8V506XD2T?E8vJ@bF+_|VVAj&BaK`TUg{ovy!uV3QFlV2E#W z&iTFxkZCJuO2zoKP+O{XHfg=z`ba&zc!5xJ(JMpv!w?jFFkU!u`xjzJZhlrFUHQ%D z*Iotr+@$q>^Mf!C+-K!Wn`0j5;xy-vqX8z8{bz4mTZ+x&4G5l;=`DC)$VX?j?upts z^qzR8S8d@YitEKL*;Wig1_mVll=Lnc*LK=lghs53cSF@yzOLY%7RR21*@PXty%-nI zen{w>jBAtm%lgQ?qmcv(E45`fF*ta=9+8M_?QIYWu8&OkqQ{ql>&lD|I)yg%j^#F9 zQ`Od>qm*ZB_#(%Y9fg}}ngz&h!Tb{&EY(fo(vvOqQqs~%mJLQ5(hm+_o)6Q}4TZ3W z_{Ukp@mxK0%Rx3*MI?ic4J;{6OEQ(2S~?7Q+aMZXVbs+c2nW2gygZ>=1(L7g+4Q)K zQXvGxk8MIoD;L2?+xoJ@NQZIpFq$5Zb{{|*7@O4GZ8|HRg#9Mm(sU$q36GTWaDnmm z%Njv4rCcCsxZW2FpPT@~K$2qFsoX#8ZJ@eZQVf*~hh8brENny)6!D@)odeC8OZ8^+ zba(Yda+ymsV}#O~8R#xlpNas9;J~0n#A6#6ZfC?mWKbb9iieXKc@R9C$%DYWzG5G3 z1XS*WNQ6mHE50(m2EO3oG}7!N?^mtjSeijOpucezXiBcA)J z4(h$Z0{+7efaFmLSidC}DiD@7J{2;eX&`2DBA%%MXuQa)6mZVz{)7Iie2Q~xtLn9Q z3>oZ@;edXNB1q^a^tH5e$LlXYl)*#u;timI&?(ImY>FeS!Yc&ACtQdH@Cv(NHKMl= z*^?=ZA69-HiI`f(&1aSG-E1C259*MN5=C3bb2uldYA4Pd%#|e!Hs~CG2e*T(HBdmF zn1|&DmVnfSCFS@fd_0xU*e+}=mEom}ZbRNJ`mjow`STvJ@4EP0r^j2k<-m4;XbPjN zRoTAfWk4Pzy1ELy1l&g$l(*7?qJY~)7OKjSu+&PTkWEf#B{!K+@?dQXj-0E}l8ZPo zpJRvE<7f+_6QwsEKA}NqQ)UyDXNgUrPO{zS)#8@ZFOW2 z(>?IO{8`}Q5R?{vSjHt%GUF64H&SAJ4?@SI@-fbIin+wx-kmg^v}#MsoiP?yp%*yg zS{73=!)_L586@rT1QNDvE=1p4pcIwb&4)Wmm8rw7N$pU8W@wm2or9rYWdGZHh1r7za0r+)wwctnXiKbkpwb zq+;XCfFb!AHUAMN6CDFlMMopO;x7^!y%ksaR~Q%j9rV&(NRo)Lg;TOK_K+O|{<>2F zcna_fPstYqMH$)q)HKSw2yA^Eh-jrQ@J#9d>gVO}Z!A#3hzL-A?UJ8wrsv_J6v;fb5yK7PO(#(~)4*?hKQyQbO^+!hL8eCu41ZUhX8~M>?i8YGe<#; zEzqBm=4=Yyh&&KkpFq@s>swu01(d+Mx6Awocl~>B-h_#V5?1ITg>saSIYlxp+8U^q zX})<#fVbhHt&NM?6-3*Nhj2%LM%ZtQ*Tg$^3DJ&(UYfc@n`A8MZ7%&7PsQ*&6CZb8k{`Q-n?{2<4`Ku74!77TzE zRc`T$pZq#f$bYH!DoekEjtQ0l(S-|cfvAk4%@5?12u5P^Xuq6Wsh++wiinwN1C$Iz*zfz!PKFA<)0#nTsjc1i)7Anh;#g@xaOw%b~;Ik

    Jv{J>3Io%aJE5u<#H4jL;*O0R^KvZQtsN!rx!*eLNep|vfSxM(^^ zuc;2zg#hgnFetfIEgfAE9gQ-8v4OH7I2lm1^7e~ygR{l?u1~<_1BBl@-0dum-Hb;p zRr+vi?;R%m<~zf(*TfFLR5~bipp;FeLO$@B$Ap%k^x$=-P)ToeJegF-c2Fs!Ai5#) zT2JHF6ZQ;zKEYUzX2ZN#gb9+U+~@=hhnyAz!YX!T;n`VnPR+v*&1`toRl7OuZBvZJ}2+*;vAQtr5Ba^KbjMNXC6UN_&@u4gc znF+XzM#zL27$iHfT7ZLZqoL2rkOk}4v5H@NZ9=LeC< zUejxMY1^ruJ-&2|eZ1R087l!k26lY$3oUBO1~4!b`3{nOy9~Kf*0(G?kzSDS-xhA$ zp@7>*R#*-!>>D^EqrN(oMo}4L%ikIc-AI)RylUYKCw9ZLMy_kEWfy1djMrCO*xjmb zhz(;()7U*w%%G%bEy)N-lcKPguh&E;jRTk-_Zl$LB^S{qwZPU^4i6`B*xhIb+YQ&g z+LhybjGO%XQtc=2UWJbfYW7KNd=z|;sC)v|Khm>DcDbx zg{kF%5ZE5si!PncMUjj4I5^z2Hi0pi~wRj&OktYSpHa*WpMV13ZrMJ z$E$R`OPO2{OfH&O!L*P(pY(LXk3E%vB)R%g>9h%Nw79-FqHr^)fJ-93(1Hs)Ld4%T zT!3KH<=ZI6|F{N`t3TdH_?@p5#9?&=cJOaGU#uSJAgP^Tk68$W)=qqt$zqq7;Dwj z&Y<<_hoEQ#`;uVrVthE*>ZVHQz+aBJ{QqSAxh zlM@;w8=`#$lOn<&1v7QvUQ*j|-!1G#Y&FmfAFZW|A?Yy-wy=)|>VLTcKPSdR=#rFF zv`UVQh2Fp^7Id^P_|T8nco}Xb#NTzO4f6|7ZS_SEw~3DAfjZ$}*Z?U{sR4nw&(%Rj z#2jXT241u9NdOCUL0sU%wF~geB8-$&Jf>~E!w)6d$(b7T00BHhCwkzIaSE8dUIs3? z+8iHkyW+X0tU#C%@LT+((MT`qo1J_(kRWU!;le;#;gSaP{EL^7WIQ?7c@`5jHR4Z?O2#Ow3k=>&YFTMg&kr?Lw_AJG#i$pA( z1_TdzP=sSa(z#Jg!hVnvcKOu7(d2<0I}QnFLOm{&oyOcxs?5gzUKBbwC|w+qtHFaj zfsKI3&t%&w$vDS_OBH=PDRx4QgkCK6Btl+Kb7R5}(IlJ#Bzu#C`0%2!r!}Z|X;QUy zdjMLt$uso!Zn8Tl5#TF)H%6-_(t_lB(!m_U$ZRx+FdAUty6Q^WbG$WPR%A^BvTh$489m8Zl_ZRB(A{ch5 zW9A+Y7;=o4ZWt3L=GMrtCl+!i`-`_2zxWurB=;7ExWo-ijGa+n+O}5~myt z9Ksu(zA&mwzgGF|E7zpSA!f59%uF@pP(P~yWYNJ0%#11P(9UA6Maqi=2RXqceXv+$X3MZV7qL8q=F{De2*)=Zo?;IB%tW zsF27O$=_go)JiKnwXA4HW*e5P<4faK0jvgVN|Str>P^Xb)8-c7Vz~u{F5dNVh^#`( zVkilPy$87sJQWLw4FS~tdWFQ&S{OJvJXfPnGPWYl6$lO(0OEQ9R+elQWt5LArCx-L z1Cx9iYEi?um&G%YsO?h!wqxh2nO0A5CK5eEhR8eRGga|WX7jb7;1wuDO^N5i8{BF# zi^O=CDK2ArAf*SAf>@Ej->{9zdz7$tqN&Cyg=-sEl$~vY+Uk>VaeR%Nw?e=>^7O$| z;%BF6*y)dM!=Q`NliATVHuZt@|L^FREn;iROzL0mN!(7Z2HcJa$;BhLm{r>r z0%GZ_E%M-G6*U}{qhT;I=T%Y9*VOLJ;;WH@;+~G`w?e*Up{0cJ3OMpZQy+s}f_FKi>6MhsWE{ zERnA=R^Ie>(P_uCp0~k}ad@T8^2v^=BgwJD`wkr3kv~v#>BG31rWKSt58;inB(_uk za%d%UgNl-eFGlNn8SkeFAF{e-IctJ&qqpzE18ZmL%{%G19ZVN>BOXm2e;yY8_mt?7 z)gpzgebhZSX-l1)Ne)hWRXS(AMuyv^DVh`8VE|)hK4HOzSNmA7E?O7Az+Vt&BKqgB zo3mqM>M-m_#R(`n7jv)-h|DRd^pf!j>S_~}49U89{ahDZe~BO=1H-E-@jQx7#xPW7 zxIpFaNjSZzjl<)7D+LSRQ1Q0JH;m?Z1E4!77gd!%4@dI5OamQ549i`1^p9nX`dRrt zUOL{5QMywo6gF}=$G>Bn(^Vx_<}m4^>Q*53o60Ufe5_B-{bFi1QVF|VV9&=qw1*Wg zjZ>Ajwvq=P@AOsNAOl9KC&Uev{XyeAL1op&l}d+1;j1jDR7yQ7@W_g)Wp<0V4=FKp zK}`*sg*J1g6ShmKbZ@guM^1B~;_FazFjm@G^6+S#?67DaJn9v>bql4&=YTaa7Hh(~ zN|{)oLvX$<&vR+pO7D@@br5ET7n)rh8XEge#yX6qF|JU;uJ?z#jnj?h*~ai_X?W`3 zK`475b&O%d)G7_Ft-q?s;2COdg3<7?k=T;b=t+2U3^lSGfKwmP4>8q;aEnVx?oB)x zGQnt7q}B&I{nsb#}H^!0~KonQY9dR;w> zFMx17v!jJ_6TI<@x0L2$DMf~48^{3c#9`wmMY5CdUPG=?usFFzF=e+3!{#3FfI9c4 zot-L|bsuH+TL8TMq41{`J_Bx33s*7<_Eh+BvuF5|sW*W?jioWg6&;rHq2;li z37?9N8lNTivyDc%*d0&fPB=zvbrL zH@@V>!eHkLbHb}*yLP^0H_DE^xH@*@4ZD5R=~pXN+H{Xjv&9+lm#B+De_A}c;M3aO zMZlFEJmqq;T6q|(sedS`C#;Iu9R;;CDMJ%)AL*p4B>jmFS%g=#CtkL3YXFZ*P3T+X zu3K#tbHWQWurT1mJA)3M<4O~maCXQ(QaOUREGlj6+Bv>+WW0A`rSdMsHr_R&rTP|% z%8ZTQ@Z#c@80&O*)?O@ytp4?QKY#c4_b;gk$uqxq8sJeQ%J(17%03fNg zo2Yo4cg21&&Cd-lz6ovZ17{iDl7N>NvvHnyIErPvc-)nsA&X`uN1jSOcw2u0y9)__ zf8##v^k8&H1OxbJ$Rn<$NsU5qBAHY6%4(YVm|U+X08_Wxy*y3?o10GwV1UA(v-MxN z>L3B&G!QXcy)&qRZJ!SIO&^$=;>l-kyNeE*{g>ijWItv07PKEh(H7o>@H%X}K3MkS zgmo|RqVUB(+wsA&zrY8J4nu6!3w*FB5`stT>w!gHr_j|w+hZ8v7T^69m=Z(o@WY8L zQWg-JD<>6wVWl(ho%E0(n$ZFu3YWo&0IPUWJACVO4y)5P;xOu1`?3(Hzi~rHUuf!x@yNaZcwyfsuqoP}L+0JVgA-EoUPNF(=GBvfV)W%9DxuLl zAfu7m>$fKn=xRV9xH;ilL=8p>x1bbIg+d#-;g+F?2BS`jD^$Q0z7rH85qVd!HOAfz zx1+~E{Z%ez)7l;wUpi`RApjQN$kW`9-Lrs_rSwIh8M#W3^Y#`FT0#dr^4P81E$LGb z%!!W^^KbCo$3+kVE6I&|lP{)U#uBjM_%T1ysdE;+mJB0?WWSknmvCZ76*8CgN@T!$ z6b>Z3^A|u`;Bw{UIY^fg49=<$jJ9G*)T6)lZ|Z*~;#KYZ+OJ+%lE>ByOElozpBTSr zPB-^(APyu@^zwU<@J0uHpWowu1?;}~8_2!KcibGn|H}R^r~eh`6y$ZOZGL}bYHv&n zA~M?}Q2tEije*M8;08Ejt)#rhj~YpN?BEnIFxxVY zz)V4NKfr@lyx$dYr5+zhS=2ezRYE@9#WguSbAbhh(VPKoPM>-SW!gxNP~vs{6(p2B z#L#G^C_VTvMX!VOJW@K@PrsS^Z(nS!U=q!6wi!XJ^!n?gQctcbq5VsFQ;KBlQH>#j z+-=r>z_b$>wgMRPo5;$Lo3KOhq?iY_k_i#M*$kxy42cNnQYw#Cv$UybAkQ8T<{dDc z!D0s+E<`R~QP@BmZ64Q+2apz2_AWe1%=?lduRyej|8xOYL4JAIPj9n_kB47O7fCt;Dtf2sR9FNyt)s7ao z16TwBrcNybMKxYLs>UHWyP&DR#{4owZNnmvr31=}{TmH$<353I2iGd}SGgyd8y+7X zmkFJk8?Ma3?rLs$^;Pm|wTJcgml@-$uY%W%VS&niyC2{5e6{2K@}KTQL;F>$ZI0W) zR7NUk)ije^j`h#3*_T&dW=v-rZ9Im>{cCf#+`qPS*ZphN#o@G<;kjFO?&2?s2(B47 z^JnccU3b@x#~^p5_@=|dx=f4jB9Iq#XF|H@W9Ow1AIYo&3*tdjycBaqD(i>$-;(Uy zb?}gRRv5ltW+YS6IdKO2FU|kdLos@0}h`zA6(-oh%^(Ty?pGvP+|NR z>wkGaWywO_-$nRez7o2>&HXRymfB4BNBqX)6*vxwbbs!wqrV>#QI<_=L}5R$V<~uZ zPb6f4y$|7n$u{^8s%Q<`F&$js3UIfBy5bcjt;wXi>7c}{K1uva-uai#rbFJBkhGt0QWgYwGDMSB;~woG;fieiC@Bc)S0lV?!{hu<%n~6un?9iy&_BsRth|N$H%!AP z1}-Oi2PlmzSMm?x9`GOJ{oj)a1Y1(59R%|);v)GX?g0hl!f*G#3k-)w^v6|qKWMm9 zct_|4H3h2g$K@TN%ysj7LS5JXcZE;h4|b~}k5d1x#$~*sQfFUOe}<>l#Y)`EdOv8r zVgT%U-~bIKGLAwVe9Qwh`0FcEVFw=}u$d8?e_mVjQLtS%sCxiPsIXydByw3+3|ONv zPu@Ser}>M!f3(+Mwmbs|Nl-oE5g@KYR#eZuU%C?;fY6;j@)8BS-kOD;WiqTh(4DY! zPpu6Ce&Vh}s_~3~MV59EE`zZh#drmFth}zwtfj0Y%KZqvf>h$+3dm9|@tcdu7658w6_z1w08Bp4A3Qg%V*evNc z3K-A89>|hhs~w?`=)R|e9SkU~hZ86`P6^mr`0Y1O2o5AYRglP+!Tp|eGm!b&!1vPw zbC;Ltemb)}(H*s)=;c#8aalc@?8J37|E(@QVDG|sFP^)x&Kz$;+ql1uM{#BEu%)Md z_t;_5b3HfO1y7YOomve)sxf9;VxEmW{Y@wm+x{(bUDUCisaLAkFWz~I%N zGh`ZU5m%AH`8#i3QIvOBCL9E6rJFj}SG-T5O^l? zPj4u|nHl;+!Erj{V+f1DRRq(DGtynA@b9n${&p7XnYk$o;h3g| zFg0^hwye$%QGow9&NNTMVip=O2^oTANGfylxU1T!(8-NegO`c<)0_-E!@?in za|Q+tQS>*M>#B1Tys7eR6XGCIO6Al7ACrlH5nsHb;BUcu8@xI~ zXOwU%wRtRqszhA_h==4&Twnt;XgZs1N8LTDXWfNbb7c>WVep@zQF369reHspESAw8 zL@fM!!)P)-K0dOC|7w9n_yEpM7k(vxL&R9ft!BS%-h8n+xjVEAb>Dele6c(-!e`Bv^JmecDOmT;3RHVqT`sdBpY%=urbu z2=fkHU?ScdL)fDE_1BNn{Sd$=(LyQ(*|HTp&Lkx(zdP`Jw{7>QGj>62!|Pg-cS!% zFZiWxIplLF6_2J6qqKmd6YVj9PxEz##OjY!39(9Q>a@y>R|ir-%MJ#GG}&P!6iA*Z z@YJbbel2WCUoloMHg_~xs>454y^R=+q@Va;>9COeVZPpM zBLw;bh*}rDLGb#1+KWt0)(-BX^j23C-2hi0wCeLBJZNJ_peyQ;KYJ=LCkW|Llerdb zj26kmT|6i5f#ZpZ8<@Zel@i?CUv~eC2;>&jPtIm{!zn`zj`IjbHog7w)Bgi#HaN}3j*TRb!THF^4;HP0LPznqc59D=l z*>Es{k+4}{0WbnyC{Q0^U@A)(Unriefxl47dBD9w>T;q^f+@hw7QD`avrtA7qpB~C z&#VcP!6F!?7O|azl2!yqg{)C1it&clIGwnuHI#NRm)R{bhX1nCXmZ`uuqywC*M>v6 z@#{d_sCtn-%a@HfFJ-EL3OpK}^^&9xfEQxY)E3v7S6u_v@((3k3=wH?cO(<*l}I%?2Qb%0<9LZGeRi{c_buj61}rVgQF- zrXIf6%Jdcp%2!*dEGgl$43m$d6C<19igwo5TU&Depo4)nvq|wzEZHR7z(D+u{agb! zkfsA4WdOG~_tL)ZeHpV9(IdL-0;Ta=I%yHOlV|$tjR?iHwV@9pu_E z7*XN$M=UZqdPuho+yjV&9++d*PT+NP7jHim8^r%cZ45d+bB~KPgpioB7?LN%9mhLa zA7L3xAc=Y@SuZ?1YmF|Nz`0q&OF66nBx<}}RdWqJwaq@on*$Zn@UnFDU0qwQfH5ci z#A={EjzI{a8tHc$ab>3f6LGK^FG>VIyuB8=0-o@F;BA~RfE{uI?Cv5RBi}ErfpBSn zAccS(|RW#&9P_-*cTX65RFJwX*NwA zLGX8s$!M`KAA8Ug&q$aM5@40`P#rfsdIO`&!1GOQwtcEZyp<6ygLt8$!HH*)!00%P z)N*OH%@B5WE7w)BN}v#S2<{!$hpPAm%vGx_>Y|xuYeu6wVc+{JI{qoIy)A1Go){-{Ki8+T1*HMCToSU(d!eMHBDNqB6pQXdY-hp<+ z{Q*GH0P5#K5m;Zl4*e0Er9+Frjj*wi{zqY|c&7p6xl%T6sH!?G*~{hHq8`4``joJG zu(fkwLJJi7ipe`eTHvg=pS%c_T{iu=us;(l!b{&`LOxXUr%oH>hm!sr;plBfXvDoG z9OphnmW}s|UIx)H1b>1L9^YYH5hGJ7MHGjM1|4-$?)Fl? zZvG7;xtn0`3wi5^(mHUEvm8*v3RU58a0O~6Hk4v?%} z4+*Sxy($KgJGN_FrNk_QrP77854IDDeA8A9S5bwa0m2mqjVml7@-0twSp4xt@! z?0cZH3P%&Z_u4Q;>m;IQY2kRSBnOh~&NMN^9oMO|YgiKFxUZOZa8m&(1F?>W!pJ$R zk!YwA;_ea>3vXo2?vnc8Hq|BAID0bND)AbU;Q}yV@s-R0Kz2ThXsB{8Aa0wXAhfZn z>L_ez@Hi{jE4YfFF5A5=$TpWCqZ(IJH6rU=aKugXfeOT-lVAvfs4y9B9ukNSKoH1S z7ZKT#h^5i6^EJppQvr)Jq$f)h$doLx;w7K{inP8`g_qSvtu1y>;FeFbXF8)X4M_Gb zAh&dq)Y+BEdV?B52G0;fiz#ZDf_yAm)ds%u>=0*+Bz zQG$C35(kB`K{U9a#SS9aA}TS_sh*i0W@MOYXAwq?wn7vXwWBeb#Apc`c`ivCqmigd z#l*b4XVg}oTf}F%8>6OOf+lY7-h0mJnR}-1bj<=Y`sDkV+qeF6&OP^R_f}PRl@OEP z9V+eNwTa@vC+b<}?e%DTIb-R5Fk1c{3-D@9dV+?mJZ;2SB5=bZ9#tv|ptu+ffvhd_ z?FTFHSzdO7(%e=6+b+eGC|EwfM@%wb0NZfkTJdnG_RE<(;aAkC;r>nP?4`qt>6$=v zhvI6GEw5aQ*Lu{(@k)U>cR%~PO0o<=@j^58;y{wt?wk}}O?W1ZmcOqf>!+NrVYK{L zPNcJ^z(T7ohp7>9zb;-0BYtWm79+ZHD6dP2RGuXi5;Y1QDWgUx6%jc_R5I}dlPMF~ zceF%ql&+W(RkoFRA|BB#Uo}=Lu0Y89R8uDCP`kTDbYoFmwt?NA2z|NX1tB7eFfH|PZ&{Vp!`MrJUR~Q3 zWmRl<>*f7S@u@-FJrh?D<&{8Dc4z=``YOsno7zGtImLD*StNM9P$qvF6K6IKzM7z> z)OP!rPBhiFPrW@{YSv}}u@J~pggRMpW#xdZkRw99&Et4~N<3*-+|&`<2(i-be;~Y5 zVZ3 zA!yU{I6oh9Y>X!N~4rH+CibnwCbg-)S5kh1eGg}3cC>46fA z3WpJHXp=`ZTI@yC7a%YI#UdbFDxX~^t`eyIKwAk_g{QtnK2%M9SpcOfksTiiCl+*h zK}o&*TE<0wM~q)o#kVP{(+pV=#fx+B3}0To$e$0(z!OzR6xe#)+KFeFix+51db?Sy z#uR?)Y)Rxt+w)Lq|0JK}Ax`*2{^2mvjlQx$ua`inWMWxyTzhr;9VPUXO}=cv$l7>sWr|N4gByWG@mA4sW~g zL`xqmb@Iwg{(CGUD%ICc;FcfW{zQIR{PA6UV#Sp43%_C$Kg*%zM_ojc2;9<;N`R!c zKCG_v1sfR}ZS*4h;Dku5LUMsrOAUO1M}0F$+_n>!zf>Tob9}J|z#;MCS9v?QynLK} zq<*LPC~>B*xa4M2akkXM6j`E1h%~IQEjVl z_~gILP+&wLP(!u_ulOWqju!yswLZ87pmq%6Y((tM#mRUZg)*&*LX}oxIhG($bmWwq zTzJ#Cq|!!h>x}8*KWo6iL4&s$GIZFs$XK%7*S6nb$H-1Q58q|i5nms<+wObpx!2zN z*!zwe4FtvTE{@;Z0X@&Q~`LjWf;JBXY zlX`PqrxS=Enw!tYIhpl4mC}9C0ST0PxLSUcu(p2nEdlpKlP9ERsN`C ze664Qr>2+v!{e1#qQ0(gw`08+f{Hmz!S#qATMKoC=;koGX^7v;9f<#h(Jf|l z4MZ2c@aw*1dl1YfHtYAlaryIMoh+JHsts3x?odSCI zf+BoOz2Mn(+L5s9v-hj6jiU|HgO15RAN14ulJ4dD64pQcZT~cp|+H8r}2aL0sq}> zkRN$O=MUZk{9VMo{a`0W{0`#ZA^AVl=Vu}Q5YErV_#uA(U66k^+Anpv&Ywd3X_Ozy z=(vse-t$2J+zVizy!;%<|6k{S5{!Y{(oP8tPlI=^)IiN{ZlM{BN(6kZU6RHtgHMy%XyWb$*~06Qe8a% zS%vGEkLN$pKOWPg5xuuNuP@}E^x5C)(Kun5?c>%fQrh>wiu0v)b#hoiA?cnvAM()u z5YF#-eZGp;2gG@O|2OIv!|TL^2cN+DP)rR|{XVLn?oX|=VLj}v`c3{e*@@z>uj<3q zA3%Jp-2{2o81yXP_&jIc3HGGxP7Wj37Oy*r+w%$`x;cz)Z^Zd^tQe!C>sS+*JYLm~ zK%B96xl8%=>hoYXo?pcTn(`xo`LVU?b8s2d2cy1NpQDr?U98V8*5TA!P>*eFsScXP zrTpOaIdaa{sn;iBoXnd&OH*+%+JO$9hIG*pE*(MA*e`$GZ0Z3M`_IimBY5Wn!IGZbHLF7VU%HsUWo0rlfL zijn1n-PD0lFn}p0)EHF@!9;nfq>iSpB&DQ^mh=y_4F!B{&SCl@d@__0RMxyJ_j=Z zC;PdGzm4+kIXZ3;|0vM!^`W}|JPYKXgZ{s7u0B5p@s)_j(7qHO!RI#!tu5=CB@fB(2sEcGvNOT;;S)#2v2E^-(Udq-TPD)DO@fS51fG_5|P~oZ9Dp1Nkuo4@9t~I3T+2 zwzU4-cGPqwg6wM#2mcq7Te+}Gkwm_JTBoE>VjSD)1)b7eyA0$7yL2w^UW%J{;ktxL z=pT{JEux=^zu58pYCvD|kBtmu$71}&aPm(E_3x_O-=RI9I!5Eo|Lyz)u#uQx^?-`@rF-#i@FPiH?JPa#hEW6jg; z=ODg2&ObI-Vo1os9xH-Mx&i)Ij$qMn`_<^0G)r$5$BS;o&YfR6pFcdi`;B zhx$SFcL!E~EyRlrNc*ajCxX8wPKNe1oEP!u_f_w~e(Bk70^J+z{PGjzTQ~`D;vaSn z)Jf`xZMVhxO?hRiA3G!64k(!Niu^+3?ZxET2yi;0FV-$uSEWcQm%@DW=TCcrf0~y9 z{*!vZX`EmW!0G=n--M#ll&hY4)H<$ zC;4=J{AXwA@#SNDnZ~8#v@SVC&R-}#>ZZat#LrtgA4(UI$N5Zs(r*yX-$WNyKNG*{ zIE`=j@%XVK_6$3J@{dk$V0V<0JfQKJ33U zrG@t^MAzN+4m>}md7JF>2>X7i$v$^8c{VD>>l?)_jZ6EO?#{!+_dm~o{r=vp*B@(d zsDJljd}JqpeQEvkvA#Wk_zR3b6|#O({Jnwu6O*14f2j{Uzn(*R^v!9V*EzDUT_lev z-;zb>OnMhPPS>f(&!)I3CdY(RejP9q?2%u8ObqP!&+z(i^a0qPQk>p{`vp4x&avwo z&thEA`FED#A0a=Te`gqOe;4+XbpE{C@w)yl;!NER-TH%pFN5dz9SFL4ApLu=M=|y* zFyG1Uyndu`9#=Cu9tRsj&X?=68U66)IlBEk%|{~hG# zz z%Jtt37Z>^Q>LAX^t~@@7?rV&07X*lp==NrGJdTKNETh}gAn#B{XB+5_Mmnlvv|e%j zW;42|LEiCHw1N|0kNzVhZ zf6rjRXJY&KAn3Oagm%*aXlt?EY(ak|wh?T9igtKlTfmRQwjAZXh4M}?*z0wcr>1-+ z{kz)I^-b?ASFuw32N?ep->DzyxQ94h-*mqR_%J0!d|xSK{@jY+{|W{yR-A*7-=7Nk zw`va5AOHH36+-nOZ~(vkf1obf_n)Nkdq)F)E7nc%AWIE*j{Yx6ruAhGh@GnOFy$#@Bn!i5@@E3On{hexEKL_#o*MNQf zB|4ru82ER_@q=ge@q>wgr_esmT`)e`Czt^E8k8SJ{mA|n;_r}upVH+!QQ+Sl?eq7` z=jics5a4&<{L;)nb{XK~kw0?-=tuSq#sgl5{NDM@e&YaNj(GMQ9rq3dd^E|=>Hf12 zKM?WkJ38(j0Q?6dp8Pw*#{zx?;tu8?>F<{UJ{|GM>x>`q`858kIv(r~{3jxwenrPq zh?kT6H+4Mt2JkOIJobi;JBT+Rp5*e!0RK6N-}kOwA1uVDVfGjRO8pMnV33dn2q*`>H4u_1gxV&L6MN=<#VI zPS=+rn1AFy6jQWGUIliwTVZ}h8IT~CfP4;1|7E2k`=^fqdvN z^~FY<;wOc8F}wNACn}P37FteEc=Rd6pG5la7N#fu^qS6bqNDvw`W&FA`3Ey#ezbpy z9;w^ML!9<6HsUmY7jYWL)RKJX6fgsOzr1~B>h|4XwEp`Q8}VWTk^kIRb^E1e>GG4Cb=;Z@crp1q%z^bk z;==w3s+eUt#{xgyf7tPOra$30e|wt>H5A#=nFstn;x5CzV*q~`@$_f9{cOaaK|E6l z`jLGDoZpLxN6*x84{?e=@BPB|q52){ug}k!1Nyy%^0R|rel)&68}I@3xIY{QIL+Te zyqNt7&kP2B>i2dVs{{MkG!E+9+vD`MybH1rpP2>BzZie?{W0%vx_@27!^XEW1nf`s z(MJBE=-HE#rw!lyR@v*)Zi|1fpm{&16j=SYuX@5Zb0&2;R#83MJ!bc*&>1cmIbhd$xeKp^!TjR-(Ejs|lfhn8e^SU#``6D;(s2v%V*2IEAP(*G3&$hjT#keJ z!jDrww|zLj(*9;u8R$>;NiERr^X#{D+(Df7r&AZP`6EvHm|7Y?#`jljd}l|P59!Cp z_i_Cp|5zc%C;z*wzMAyq$NBGnC~kQialWv9x_{#j*XJJ%c|Y!+23WtHi}c?UI}5?T zq{n~#qDpX6Q3 zbbiRV)|BX^bJs%HKL_`MK9pb9BCrGf{?&gF=1;hH0^swK5MSy0b$$nN`u(l-u+AS~ z{H-GUJ_a~lKT08f^lcEA-mi7}G^M$S`>20c^DcKO`ZWb@3iHJNPZ%%r0JJn7Z;75C z&;7P@K2C4yr|#|@IVSmZ{ug-^#-aM@qW?{NbiBLzWjBSJS6}I8ufn*Xi5gm3zar>w z$`9+rb&7-5m&g+^U&8&6_NDVD7whdD)Wbdnu zk2rn5GP^zSQ~sn7r{7OH47U-d^ONXs#=jWGr{7PeHiA8Ad<${<{$}KHW}lORpT3`& z{ZQvmAx_`#v>3mGIGtYvM}mG-U+j}WKK=eQ`7(^Z6WZ59|Iztv3hOZG?;=juXPoDC z{T;+noUw_lgn5zwBIrkApzm)wt3iJ{PT$+4K7D`lK?nRy$NBd*AI5si<<+qL#M89? zB=vDUMn~gxx25lgl0IbLXK&jW4j#WW?P_*{2KdDK^uJ>TIWyDCNU1lUOx7NDS+o*g?V@%Lf`)s zTF-+vdMVQV5L%K$`uS)F>i1UbzmDTS2Q8P&^&p(;yN&Th_I2VAUsT`i_nH3?r}HBR z>kF-~KE^MNV`}r`qg_qo|D#^7?-m>Xpl<`-)$wV4@utH2ENFePs$u?ge(f9yIO*pn z0H^qDVDXtkoa$?Gm2N)=ajLJu#X4>wPR|dD?GAM`Kffv%KmYui)xb~rlR})H-;-hd zHsZ9trKW)VJbxv~r|WCcH4s-czJ)klAIJ;_`{em6fS;}}tKwmDOp5N_# zUyncHr+J%Ns(;CnN<~8Q?fP}9PxUW#fQ|>t0H^ww{0zpY`sX2T8kde|FNAe1-=72h z96L@pZ?i}rEeAgTU!X_ib7(m|_3eZ{E*%fsrbmE1!qR_P=_r0;Jbo^Q_@MZ4Sp2xR z0#5Pcv-k)nft+y-gVHXvCVyg$3N_zpEFKI}vOgUPc|XQGQCUD&Bqe?6&4?K9x}W6rd=>fgiG z#jx@?9X+2jwh-i!o)4jX%71%NVf=ZdOCJF^?XRrcApdE96?Js}caV?H53}t1Z>!Nx zbpI$B=IAtip72@b}7gBgo5q3-sbb>G@jD z{YW>fFx>`}=Uo7Fx!*y{<_#6l`NV zfDN=OqboJgjY7JCh;J~^jbn6K1Km+bNBK`bc;))dX7X$#;B+T3d5aBns7}#l*h<)c zCijHzA5;8CE&#iphU2-j<4P9ca}d7`uRmI=Ag;&{Da1=hgB%y*U>ItYMSN$(ZH7ly z0w3jP1mldxk0DO^-Eacr6X9vZiyEMp2;Q;v^Mzg#+vj5P?>~LA@P6yl^Q)AO?nqci z64;XB&NImO9JJmhXr2FsHh2MXVqk4*-g4X&GFjMvB*#JD+c(^E8?s}7E{gma?0cnf+-VL7rq+e?dg}5 zV@C>iZ^rix6-LcR{SDtK2oAvK+o%3@gTn1SL67pMXK3`c)@$o{FTuQRY*R0yJ=#bL zexf>_dJW#c@$<&l5bu$JY}&I*v& zSvp@D{YCYd^QZoac|+|7(C2jht#9(rd-VMM{-$t9eKPnwb|UxDFVv?txKpnibiBW` zCjWf;1@}+zGd;ho&4u&DzT=DOpKaOmnfpsTh1Da?^2agwC-sXjrhi7De`=UPTzrlx zJKUj5?`zHGrs2kzOBAE%uH`+}Se>$QuF^u7s_6QF-m%uoJrI`!`5X6_qZE&e_$7RFO4-CEE~yyAN}seMUQ9H zGXeB`-ei&I^M*Z7?5Z}V__z<>t6?*N*@#D{+o+jo#5w{(l~5&Q!D8(@4m zU5pPG_5KL0)r=`u){++6s&<9CoQ zjdYHIZYk0Qc%Ga4XJL6^>lWPyv(Jb4u~{CHz3Dz!1nE43enelaHPye>2jTq#CLnrU zxcK&VE$jy-&WijYoIE;zPW=+%J9=JWKDcVhM``Q(7~ig2IKBfG-*8u?jh{Zfe%f^U zxJ6r&f9hwzeWw%>3_~rVR~5EPZz)Opmk!ql+4T+U0?;FhaawGA=Tq>j^9i)x$Iuqz z+v+&(yTXoZ^4~L9Kd64@m@nm#vj@Z zhr$7fG^Y;pTZw0?UWL*=k zzIJz_#{8x8`#Zs|vF{bp1M@fa3efrJm+tCCe02Vnd==zw>GOM2{+xyWu}Lv(gOK-E z8C&RXG5@%Cfqxcq$FJ+irO!GN~`Ntmy_VBRfd`oa03hN)6y>BtezAx#p^)Eob@Nv7_ z5Ac1n-Q^FI*pU;i`tXC1!RC(RU3?;q|xe(SE7&N%h1^MPKU2sQf00{^5o z7WPkW0oZFb31Y3kJ^07ju5i3C@}k|?qR!)?sDO|JCjUH-zkA~KExEFDyVJ0T{xlrj zFR#<-lK37<)BQ{LH{c)deciu%rgb@_2XEaS*25uc8A0t0;pF_x3rEMqce!iw&)@O; zzxn$)C^fNE>O8(u(*e)S*5xJVLEq#b5B(Ek{)u7!*ai!DJAz+qY<+`&qWB(6 zgP8o`i$eM_&(O^eCjUH!_y2kRWSLz|!@galzM1%p^^NV{GN^|=3;eubeb?eSKtGxE z=r6}j{`nk#AJ!p%j$E`wRS)Z*+;t~_9zS$L>0|E%`Qt>O4aL+Ch)n*u58sPe!*tBu zQtTTiEU)&054>Afz@8%`4I3On9g-D3W6?gRfgXN2_6 zGSJr^-n;&ZHTA83K7JVT$7Y6)t|(#`M&H$LG5=Wig;QN>9_!q4;tv}CiCI67UwzPjd78f*be{W6xne$<#Qk~~da0=9m zV)L4a`D3C>p9pfYr-qYf(f$AhW?24sKM5x%wQKj*p&05(`vdDt7_YDD+Xt9GHZyP* z?ZOWCTGzP#u=?h_3-!%7Fs(nAgB^oz`o$=JD*^O=T>ppoo?IVV_pkBJHTWaYbxvf_ z1SOjQ$@yI3ni~;QoWp zEB28tFT(QG9Z@(hgXan#=kj?!GadBptLx*=`YNRoT|XLz3Z~8~{CqpEf8=VN&e(t`$MaV@&8`$Cw;x|?bSU$kY2paJr45ws(xN+IKN8ca}Bw^ zz127Rhu2Sh9;9(xte;WT*Tc9l()UxqwEtL#{^_pTF?^q0SNV&={BtM%evw~4%7uI%>9ybJT>q58e@6dc{y09=H~&R_{hfA1=i^y6 z_{Z%fKc(?~j%LgD4r25V=1-IjfV9{+-T zF!^U7UVr^Fn@4hTIR6AYRVYqp6xNk*==CMKcVRh3|KRzRkNK0`2l#_Gz)!IuFrJV4 zCZoE1znA<&=U1t7L4IHD4@P{@q-NSv|G4BAYSDgOu5aic_xDiWy6PWyv>qR*M(8Hl zi2lImQzR$!t$#+_Nu@ilZ!Xr2ViSuTq^}1-DcHxyHeCYo&gB^M2lod7`iJwSw$tU= zll1(taop7YJ@XTdn_H#Jr{lfdn(Et*_})71pH#8B-$Mn9`6sk^x;~M@I3L?PehEE( zFAQFM{}%53cgg$p{7IETeTiWk{f&;(4g$>L34?P)AY+g{vps^-m_N`@{LC?ms8w_-wlU zrn_m(maP+Kqx_Bg!8p5b;qiLQu%`HZznA0Jj&9xf4Oo2%zM%1I^3T<{KJ)Vrdloute=r1VLo(!)ZYR7Tlo2{CjY#H`DxRHu}x0Z?atsHca8pG=btI3 zh#qtu9qHUd!|i{1Jb_*oVDir=2LD8k?B4st!>S$DKgp2(NgoY<48COk*>ovy}b8 ztbg29~dVH~?b=eNHH_!0O!q{xs;#Yz0`D!}V^ zg*#N~l+N$21pLQ)fc)%kz)$tUy8!TcNtoaJ%sw{a4t@_Xy#w&m{Jisle+k;}m}_+V z`B%WW<%plma2xUYh)-d-_kG|Wjd+yd7UD-BUd3=X4g3cqK7!+y1AZXlqZ#gB2KWHP ztsPQ70SP4UkCX=83lUy9{|2D z#*ck2$iEEzn;fa@mpTXVRdawpI75#Q=WM_iWBeq~X82ivzlibaGXMLnfX}}M;%76< z4-4@W>gRr4*UwoF{I^~W{QhXb2jTqO7QlB#`&i6Aely^=<8#uiy>))O3Gg+jUv>{2 zcNzh&!}+C#0#5d~&j9=#^ly%h?|7G6x#{s$JehEtviDUtJJd}Dm<^q#k#!Mse0f4Ptb$Lqqe)he~i_E{Jz>>R2udd zkz(sQO}v{e_fK97+h2HCuktwmfcpy{_ZQC8!v5iG{jGl{`XN;U`AhZPyA|T}sq>+} z9sV1AeRL6j5OHf9@Kc^yh_9Or`-kHgzjq7Be|Z;J|6}(-Jkt7PBToC9>mO(1v;ECq z9%c38KR|xvlc2v>rq9nteDiP^f5l&Q`N0O@&+m`^2KwdahdAwztos2UgbogF0)E;b zC5P$u@oxm2_D4Y!aN@TRUo`^1!SfT{KF)gJr~Q-rj;^1x4shB(MJ9oK+CRBB08aZS zYqdUq-vgZXPsw?@{tn_c`tJ|F*X^IW9{6d0W#7x>v;EZ(4Cni+Z5Yn?S8uZT;`^(U z7(d@%{fhCsY=8AA!}fKxL*S?VTN>*VTFW%0@PZzFj9y%_k5t#|3`!0(ZR z!G6h!(C&=!Nc?Ag3iGFax(4`ilNlb1#Q-_54hqFpda6V_(TtnU$Cr)3){_kNY^WZ=X0c(orUqK-__QB59HJJCwe}9 zU+oWH!t**>uV`NqguH)fAB6Kcq_ACbQ}p|PM9=+`x8vZ!DwKl%EbJfm7F}MR4?p+^ z>v{xupPAEz?fWBOetqSiMfm*NQl@Zl>>_rgaCiG#_2-!trs{aqdEOu&e?MVm!9TgD z-Hyy5jyN-PKXI1oY+=2l&wyS$fBNe8$qyb3`|b#vK=cg#xh)LNccXLS`Ok$uxXWVN zVed+iOZn5`_bpi8a_2W|eALObcCME*Q};_y#7`ub+Q=$=o($eU^nMKezRI5gKAe}h zgFr*dqtxx4+kxhjxj!78hw~;re|vcDk#hs%pD{QkX@bWff0E|{p7nIPBrT|txZS^C z4*18L4Xr&(_g6bo?c*?%m)@k06WJH_#P6>-A>&pP9->3j;roMS$-;3O4f*>$d(2`r zdN4Pf9g3?;D`0WTtwFJJEB}7ada_ks$?@Lmlb^VM)~$p4Qndf0@p7*~UQyrFrcQ_Z z=BXnK&p(r{&{&C{)-Mf|9bCUW{Qe8a-75Y2HXOH((Dg|5@P5AEQe?ai3Uu$lnXC@F zL*fMmUCijx+Z3j|meH+#uke0q??teG@t&Tl#`A_1mba0~JNn(i@}6LHHE$NCd!5mF zgA0#4;0%3zSn;>Q@^)i%cf3)Uu9VSz_Rf+uitA**VV)8zFxiH=BjP57{-S3&-Zv01Kd4FK??tP~)-Q$ez z>bDEiy~^mS-zrS^5u;20y)Yg5;j8v53w&jPuPpGD1-`OCUs_;*Vesu6VgKVW+}(IQ zJ5sotoZ)JK{XSl|d$05JAHF{ih#vRn!L|nemqD*6j+%7!@%?}3d=Bet%68JB>wnJ2 zI9@OR{)YVF-VEmx)VE*I&o4+t!l}>OrrIUVwaXG!%j31prTZ;wsA{Q8jI+hjrbP2N zTS5&j;=@5>OU92cDLJ-wX+naMy0*T$p>*sxyP~DpUS8W=W5&H*-%^GY}dCet4K69+3~u%hUJN>GOjQ0 zw^ycv`l$8ELR-73wZ5{Zv7x@9rKzsfZmDmst+N~I6Lv$j-7J(9a_ZxCO;W!DVD<+{ z#j6r^wPz+8g(4*-3lq&PjrBq`yQ#UcrLwtP&`BfMVmi(7+Il$&*>7AXCe%=G$18;C z+6gZ>7u3I_>D%irWXe&Mib9bST7*68tL(&zL}iN_3MWx1tR}T+u4zoft8kKXb~uez zIoq~Lmw-g(o;GU;PYJuJP$;u)>C)oybM)Mu`UFRK+ELY!QrdqQX^<^&VT2TyZNyxER7wy{bB=55g2P$Koyjb&0W z3AU8JUKVd!+NNYp!}4*qJd{t4S&8OKkp=Zt2Z_-tYvT1wL=NObOVLuag&SMihsIx8 zTUXaMI4V_JrBYP{uCQ`mj}v5UP`KF54KguRKopu|GTzdZXcOE%>L5q*g5r&hA{CmL z5MdXQwu#2ZmZV-kNU7?&_>#P8)4?iDtxe5|Wy%90WSW}ejm>sNq9%T3Z9_|=@bBDe zTe8UnoF$S{7NjI6NpimI}_CQ&bP5A_fSDq1nPWoV4E6GBK~8SR+Z%%t^2 zd?uR9m&cbTT9W0}Ri)KcW9{)r+0|7d2@@Fp)m75QLY?J}wav{!578@C1+ks;Aq&QW zqGZyN%7$eLS#m^nO||Q4D;ndCt->nxw(yDYnV7zi1*3~xtV>jiU~d$KvaYU7RoG-> zLYk~eC?tXL6Qso;2UW#dBvZD^Ue?ki?Q7RJ)Q_*IYp7f*vW+IYL`*}~m9`jwe*1`m z%BO<4vZb*xA?kD->VQlvIn5;^G(=^m3MB^yJ?t~%buBX4>V*b}m)Q0Rb7z;&oxQ*w zKi;lwUwWnL6$w>Cm((|iii@-}W*ys(wklB_Z>j4rJPa&Fi29wVt`?RO>lGn1(ruc%AdF#(FI-cWJ6^n>t_NHVz? zpfCuR4u3l_E;8nmLqwDsvAAiG0*tCGDy%e)Ogm1-LfoJ@3mlZxK5T@G62hVRxEO0o zCnp=4nrfvP+Pk$$!PxonJh}Xws@O zZ{@zBdATT2jZ0dViMVPyT-E04+C~wwf=+q>oeL=>_9XI<+CmUPyBrovbG&k?UELU8 zmQW!s<{`E!%My)k@x8pJwz4K~b%<@D5e7EIt5{PYq=A{TrGtBAeK5$+Z*!D-LhO`i zSu{VaDj)5KuuE}ap1Wx7{Fw{O7tWk2T#B8O<}O@x;?!fMWAR9A;c>IZ3iHcMQ}ctW zC=8dd`6O-(CQOraUtQ@B%#gZW^}+Ld()v69M)DyW*(PK{)W z;&fJ`v7z09+)!5qN-9Xj%pv#7O6E4(jq%zhQMBhJS}Pjjja74L(P^8K79{#s@o;-#qDj`T>c)m; zGO%eQEj=r``K`F}tcZWCHp}9zvVh0MuB%BFo`lF7;o>$Mi#eB+Hr2{)N_~Ue6qHvs zRH==8xmcU=P!jeF1y_jnOxiXxZ z8pK}GFzvhz7Rgl%PAlwWW5b!XRYKshgxnt0HZ4;NoLuZM$I%a}jFZhvX5pq&)P@oW z7qJMB7x5_>DJUT3#mbsL(~!2bzkOnT?Fyl0UF)eOZK>LhpVnd-qfM1!#xm3s;@o2_ zMprwLVoA~dsZ$q~eJZ`A)gTq6yJ%k{j@D~xv{fXfhUj*zJs?I?9u{fEA|}EYinz7{ zm$a|m!c=k$sU2Fm-2%h-U^l1+k&%gK5P2Kn7Eqf`p#)O`D7S=%WImy5OK4vvPMSpg zsfsVR1h~wrWmVLb#zeJbYpXj|v&0<_bG5O*Gag#HyK$S0>7&LzTJ2;Ami>Y3JS*<-MP8oIY>&FJH_HeE7kM za2>GpPH1n&{-M~PhHd6Hz%N969v;6G`_CZ$Q|zCHcoVi~W6M>@{sQDK_{Xsd%3tsL zc)jX-cK{x|QmOj%{dMo(fHx4%_}za2z8dl5yC9$VEyU|kFXvT|PvfUP1pXf&zsttA zHv>Kv@z_f`zw=MPPenZPvW~kS0Dc9IKjanAkG>^jBYrsY|LJYrKK}c_e+=S_-qCRf z@oP~2>u>1tz4w5BJ>oCC1vuHqdl&Fq5kG+8K@RX%9Df+vm+WUF&i!rbXUCkXplG&I zwHfStrEuKD_iNNIh4JDJyit)3MF!Hx#81bs-VEcWK7n~r`UEJC=)$%Sqh6f;(ADt0 zi0_{Sam{hwKYkt1zwizC9mZdlU>@S{zKQ;@35klyhgC!?4x2QgYSP5YNmbuGb1-%?i5Qd?IwzP8FLlf9aFQ;k(t)mq=wx(wRpMnJ@ANt3vCs&&c*)+kOO zBm;g*inp7JA;mK;%f!dBCE`bHWzC5d;;&fSYXwn5RlGTFl_hG*)u~{4O_dNrJzy;t zyP0?^aM0(|D+QTkl>-VXN;z>AvQjA2&@9IS*ea`NYEnv;D~pJ$u1m?1J!`iU>@wyC zqL|489rbB49@rC)Q^VtPxBz7A691xsj_6s|B0ONLUfUn47j$G_@u59`^FT*I&B(u> z>b3ph{F4N<`SZ^kX#8siI*RxjJTPpc>RQ`CV^O`pu6307AZ|3+>A{*fDif5rZAT=MTG{&W6w#W6`Kb(8&X7X-e{5Re$J!)Au-VF)x%0E>% z|A&wN3xP;W(fF%xYf-eTZ#zV_e|c2r;P%@nsCE$l2PtaH+HmoY)u#;?AFf(X&-)Jw zsvX6D;?E#|CM5r3f>-KK{P!ULJt6s@V*Ebx`^X>LNf5OAXSe$-KfWyf%h;#!BiF+G zBiF+Gqi9&l51K!Db+zDaufKC0@H^K5|2-0H_mB9geM?~N`7IClEf4se?b|VnkHkl< z43GBw&h0qqxfYFAg?XMV|O;KUQk7Ybh V&uQE1o+lC?zJufM$QW4H`ad9~r$qn& literal 0 HcmV?d00001 diff --git a/venv/bin/python3.5 b/venv/bin/python3.5 new file mode 100755 index 0000000000000000000000000000000000000000..6c9ca95e59be37e7cee2b24958cc323f6732385a GIT binary patch literal 4460272 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

  • gccDZO3xC5|7brD(3gi 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≪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
    _BIq}Vg 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�@Fmd<#7F)LrtytNKKwUWlokPAKzHV* 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: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

    d;>#Q4cWIR%?AbYj{+eDJCa_^&< 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

    U5Q`xkrrxtm!T?enjpfP$N8=Fu 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%0D9Kis9TuCaQZdN(hpn|&%w z+|xU5k{lN_&^tj+j<{YSXFUBS<{~`(q$iyPe>Oa?3gBw4%3{1xmDT0y3>jHW1!Nre z32dt2aGG%HS7g-mZ2_xz5O~XZkyBS5Rd>dgvV3D9FM1zyV|X?ETV{w<`>sXvZ_~$A zGlrbf*?F)|XLi})00F%ppYYZEI6_&hHAc>a5!O?}MzNkEfX#ZU|MF3eXUN)GBwKp8 zaO+))GO;;979WL*5Xr(bnkQR~9u*45=wud|sjd-{JWi%Wk46DUdPzwx;veb&yopW16&nIiq;W9e(bEaxXk3+sBx zG%|@~z96$RdRKHu9`@2^*$kkIF|9qX;le|zYc)RkP&%5A5PRV*+5~$_iR_HFmEP6Z zuwn}yT6Ciqt`{M>!5CdC+?3FbhK``Vq+YH1ie5r!+ny?j3bh+c6*a*1SizM!3kRZ# z*n(vzoqhR+Z!l>!b1cXtU$4ID^Edr)i z=vPsOwEkn^(<_MCOAD#D4o65ed^3YC?#8F$B$V1}PP#W}m44anm^E3U!k~zGNE)<9 zIGOVNlbIY5P~G^ZB!%wU;$=l)I12bc#Km3ktaNit-|;4HPE(HJpRO)^*Co zT0`;})om7W&Y~@KF}A)hjeT{)p1VS&!af6yt{0$@GHbBa*#3gFsSuOfIWubWC=pXR zBKR$l{+k$wDUlx2vJ-jB2<2G3C92mz3_>nU7)H~0$!GJeOnlt?nrO&!2m_0)d&w5U zsKmELzoD@*-caL(otAWKkU5e_<}7vVwe7wxs1aSCyAaCj!2}yCJYjXIq_M+d1BrsPC!@J@QD>|2=I&!~=&^r-5 z!>IejRw9BuMKEG8@1kA&^zu35?Ww}T$dUHGy;_NqcC>ww3s7mX6aGeq4Dp>jV&}9N zQ^cG#;>1ouN5O1n=t$>qE4ue1w93OicFd>P{l#C_NMoUk>$Uq{1h4Mf;Du7YBdMRn zM3kc1rEaC#FHx}*s{P`GYG+r;YLbDP@zoAj{ozqm6RK~a)ER#~#x%%C*TqvbQ>3bP zP<(&2=87dMYJ1&hFaIB{{Yj!kuCtU#?|4pzmC_HK;C#xXxu^kV zynZgBp@a(3-9+W&y_?+wdoPe3o}pCS--#lw7^-t*y+_t-@Ns zW`ClpiEL$)^)bb^#o(4_#9~l?KGOBDnR%9U#TVvRO4oI=qOpBP+R3dBQToocB1&5} zKN#%`3bwu@nid47$=s`|9DTP4uiQxH11-t=D1ArO#Is$-S?gj-ST|pDj&bZ+E->w6 zERaqwLCJbVR6|jHwY^Etm+Vwx`~$HbT){SotVQoMk*I9u8&|nj=LkCK=YUR9=SYP} z<^EQ|{#%`+l9yC2oTjY^SrbHY#<(gvv%TXQ=~@>QG%~II2p<(6fSrc|PtWEkxwKZE$O>tD-LH5%XOQqAnahg370LS=6q zceX1*U-3zMOMj2~6sZklY36F43&WpD%dlIDs+Vx5EZxR>$Y*Iu9t+NLI^Eb*LllT= zhVqanL5#KUi&_#q$GG%$Mae!kB^xZFd5opfbd+K;^+~1dHw6S1>H6w)p;;Qr$?HPi zyqKv&C7mF*in4sMQJQSbC3>%z*`gy9iSm{IPrE!SVG@86FT+g_URd;?XmfNu&@H~R z*+n6=T#}K&(&Z^wSIS9Je^jvl7VCCV@<{Z$ZDVY`?$-CTUZ+n~6d45LsY7U)tsdx- z)8u43sy>{6d-L-A#@67WdBT%_rL7{g2FvLbO-sNKE5eP#`DncVDitBq&#*MRLN&Dj zBuP;xF0&3nLw`V~d7lw#;7z3mi~UF2)%3&@N`J(qXQOd4lar(r6K~1(0Luh^eU^|i zu8REh8|bd~yh1iA{q!13c~q(<&RQC$-844bV5SpI;jg{| z<@{#_7%k~NrPNLQW7PbvLtd@eCl%LgBCDVGC$H8m>$uXNP_X}2rDs^3Q75}I>OS7; zjC#-+LmSQO3`a%qPd6#cnMOz~B0(Y==-E@|Eo|-uptlDObg+7;Vrw z2px@~67LeX3_>R(zhu6{IS3WIW1l$rrRp$091U;Em$f8D%Q#h8RZ>|MAfkSl|Iqyz z!ta=>d6iv1WhRV_FC}Bpz>nRrE?c<^qhU+u!ErcLzH!gD8i&=4u~jw50)}o%VfbJU zoXet*amK|jZDkgab?lgszlO%wPgO<^>@h~^qcU0lZT-n&+AaTFTb-Of!vPWo&)DIM zGkA~A`!}&Z{{$pKH%QjSxM572$!Y+1<7b}>E2NK} z)=n`eCLahGOq}+wYsM;zk234PMK3&`TwTT+Z^km^Oqm_@&kIC$8Ee$)ZzvfP4eqAu zFWYM+r9Ce`zYA04cWHZmJ!Az|r);y~(*=~UUm8bIv>KyRNOQs_Y+PDqgl-7I|Nl8;S zZiS94AZI(T6Ga%^b_C5SK`*^PXUisT(KC6p^`Un8kx!PXv+L8|6pmHdO+Q~zX7S%P zQs@w|R7*B%awMfgPh*d6r?U{4p5S zb_?XI8tUGzzpDsK9M2Ef&)80qM_%L>ujKLJ0LEIfq|l{0GLLtxcYJa9Et&gR$VcNp zueSGOkMO~s`%t}^sE`?abh&Tr_Khe6{Xb!5v5?&p)Lh>C)Im0bpe;s0i?z!L;oXf8 z8G3Lo?3R^|$&xiPSu&p}YFba70VF1?_6ZW%mBiRQK?Jhu7vFkNCP=V5f4zyiX8x|L zFEUR&XvCj>C!QyCwN7iw#i>TrdL{(6QZpq!DbZLdk!Y@Lrzt5nC)iD7PUHlK-9+pA z_YpMuf&A>_hchltr6{srp{xiHJPwYwN!F`_OxC+5@X6iD#Uw3gHw>A+}g$v5oC~Zag_0fik!g%QGkul5XGAqGt{^y0ZFr z^Qx!`Y4rGZtTEK9{Ts$F(f$sXkJRrY)O$?6bp5_CuKyeMbh5ZH-grq1w$L_9uw5c% z_c(I1yBfflWO3*tIq4*c(2yQJl6mww9f*CUkqDb9*JeRjN;r) zpUG#3;3c5Usj8@_^v=i#yxfd|f0L24j6qt1LyXfufbnGiN*Qpgjm%}*)+#CZRU)4o%~(eM94Zjr8k83|h@TFItJ50M^xQg;qL zq{?YtnI(Ln;yog5xhoe6H5Ef}-uv)b4cwIo=ff|}PZ`Ir(Zpy1Wn%NqVFD=t0o?y zp;3X?w36tu-vzD|6}Kr@3U}i?GA1mzc9D*2a{+rz=(Y7ew5J+U;4Ur``NJ$v3icmf zwF7#~uAf_t7jDo?^IqeV-bc6@jJ(zvhsGPv3pR@Nzc^2&h4+WC4o73W@Ph&G!UabU zD2$XG9a=2exg@&=j{klUK=%P5{Jl5@{Bebn(3(6Y*t0{w1Lsy!;Iwh_RU0C1HBPrs zxr~qsl_oj9p_t(k&LlEoiu!r?DtFDMH-3cR1HlgN>VgPwb%$kZ1ev%wFHgv38mEJ0 zY&dpc(=~J~Y*Z%csOi9%!=f>JI7DG?A-o2af<>w_1o)$%@UQ=fBxc=Ei}4Ohks|hL z<7s@5RdwA#T5`C}x5m<2tQs3dA*eC0^2&?;N!)fp`u(%p@V*8ljc$W%BEaSW;SGi1 zmkW2kU5GcA(eR(0LN)CLAIYtH++ph6SSMRp$LtI4rXxrx>fr~Ks!umgiqg5=Ek52W zen2jKB0oF%vF8`2J}zwqYiRoAter$CEEh6FGSmLe_eihC>$-HLhKVVACnvoui8ELqMezg?*mG@Mg{my1WoLcxaypCKo-Af14t*z4ga7dnVZ3D4>3`I%$*gmA?tWS4ucQT2{QqPfu}|5oBT`wq8l~9xK(QZJ z95#f3`q@*Hc^scPNj9;KT%WaskjCpTDrU-)9=3@OPKN3vDt`vrV3&5z>i2y+XLaY< z==rqer3q(M@}T2;NS6ojQD3 zTnkL;?bNZXO<*=LdL{bG%>53AQ$J7g#Qd1}cPI4!QQiOl8U9EyKopT6-9I~lBbj#o zOS9JuDx(&N^!t{dT;>M~#+;gT{%YW;1lpHEAPn1j6Hia^LJO5ybug)BDxC<~Xz9%~opmd7N^cm*Q zJC&~Wk#wFcgZD{@JBRWj>n>1OIJpv#D5-P)WfGj}HjZULD-U8xYkd`}uJPzi7Dd*ugNX6ZX%d6^D~lc?JulxBJ9j59?TTl))JEDT(@S!~?ICAG}2RpDTJ;bxn& zHT&DV4PXg@g?%JYtgGeuQNGKce1Aqi@{DG!KT^~3z=!U(Jd|vufeas_8%WOyN-7Ri zvy3N0cxf+r(!W}gu;n?sTXi?uI<)dt$;)2;tZY1|OvoY<#R-gcN@9Wgc>6=_b16D@ zBJlVuNc&I3vO=k;Z4B5`=BQT--gT6<98ZvJKeNYMp7fHh| z!dS%?-HJK!!VnqlWm%XAdsP+Kd>J=cPOco1m)H1u@X&%riqRWZY1ZOLHjHdar!)l^ zD{gL~$GCBmAo$zI9J3m@9=jS5>Q_iON#IVn4hI*hV>LXv1OS=|q-tKOGIuwP;nQ|^ z4XxG}xjAb&A$dcjx%=Ln^%igLzIUmw*)P8+wQEFAmC0NVEZJ!+yIm%8*^U1 zfb&UMxyxe$$O+a12E&33uiwsq!p@?|5o#QGVQbLs%@l}QhFMeiM`B1*dfn2`G zB$`ktBUar-XEG~DXMC0pKy6Rr3iU9~(150MB+p}kN)#yPiuRW;{rM7|CqFOC&t87q zvNDBb1d-gym_kJH=8VkujNjhCCK8gx2$7)?A6{84&mKiW(xNj2Dj`T?0ENYm-jpo1AxaMhP%(#%%7c7F<5oEKb&S|oU2wBp- zQ#T~*@y8{W`6xKqA;Vv8{<$$%tdgUY#*OY?jLbBhtd&ZNdUt;RLvqQ-=? zNvSwebF}Oc%VNl_-~U^UGkxJ#d^_LqMW&jeqvha$pnTS&%smGM?_meIIY$*Y9|C#T zTY&E{^ z+a`s)y8Fn5^M;$JaY#Y%P&w<=yQWk3)6S0!A1=MjO9Wy+n1Rq+P7w-bvK_9EeR4B& zcMAiTlBRLRsozPbT^JtK&A8>fePA?-4sxS0H_RUB4Oe$_1<&Qy!^M`g1m~o-EVoD` zw*J^w93C~;yLk4%cB7Fx*TNcHZ>9zLBJ-yhHLuBlbn}PNZX{s&voQZRX@dLdkH)d7 z_&^TJy?I6B@?d}AFV0c!EvM&R1N|x%{lu($ll0NU+1KdiH7t2uW32&fF%F>?lt!^S z$UJ_|OQ*rfaO}Xlt%`zbmk?8S(Y^jUx^YAu>H*vM@lh?q4W4A}_HZa)yoJ_^rhO? zQ%92MBAuRd8_fsoHLS#w6$W=YmXx@12WjbcICt)S1M0Gd*EcGU9uh_mu zElfk+NNSSQ^!B7)@s;h427iz(>+_`CXk~b$=ZyM$vO!k*HZ_0z6%&P$#W^Hn%^w>l zoT5bIVyP9>ju8ctn#>+g%xa&m<2Y0S>xm$de;3d|=U}swf#jrRKeEUaqrwkWjjB8wQN>*hW=GpWh@b72G`EQM`TQb< znY*cn`X*be%jfjTV%cT$aa9FsBNDN$r~_ph_wiKNuqwkwxk)@Y3S|L0WdGwoWlML= z!#j;7*^0=jk5(pPcjLc~Am>QV%l9DUSsT97_{0h`TT+kYJPF{rP83;S%PrVc4ZB-l z2U)QDEZEr^_Tat1XoV`?VheVnhK*ua^qeS)l4g|!Qznc^&KOB^*S!ZT*jNj;iOvmN zh6yagN^_6}dqcxc5tyA{4-59Vh8^R?bMHV+gIhJM6EI!yFD$@(4ftV+Bf(Y+R;pp2 z3Cu3|Ll&$+!(I~@vp%W-H(Id18uqLc7O-GlHS7TegVI8j$rkK8HB`>IMZxG#1UAfq zy{}=5G)(Gvr|~-r_N<1@a>5R_V1L!HDGDaN74bHnrirph!wLkJXA$~U3+C6bY=JGb zV2@a^LJiA(Ldp(dB+Wltu>Kn6BAzDnl@>tE3DoNLzeyyQM@72Sg6(2#4y;YXyb3nL zf_l8n9d<*{smjg59rS{}z~CbKecnrEb=+yL4t5Dzo=3SdE5VCon{b zf<0@&CTLi_!0aaSR||HQhE+J@EwW(8Y1l-SpGT+Zw_v7B%HZapV0ju=Xu-bFu>J~W zHJ|<#tX0E$Y1lyu&m%3^LmJja!#XM0kNtJoZ`81#?zV~fi3OOg0UH6tSYf#Zo2p^& z3CwE|{u*U^9(t=f4u+AE`L|}+@g}~0WV0-&n?O($#6`0S0eQLq3)UYCf;ew=aS!Ka4)v#QF zooB%wuwWxJ>=c2WZ^5p&U?*wVZv|Fl!D=noVH$Rrz=|!{L<_b>&5!2n`YSLw2t=CJ zU<>w+hJ7tCo8fy}u%|TaJ%QN_@3LTbYS>DF*^K+;shTcVYuF=X@KD6oYVENH=GMw_~wB`|ner8&idea|c~u!|JT5{<(x z*asSRo`PB8)?>k*)3D(RW{J&C7VK^f>jz9rkIkp(f;VYEZ;50R>`e<+sbRkpm`&&> zELgFIWeP0aD%@=rjCmO;Ko^18(&H)%mZ@Q#1ZG!4i3Qt@uLbe;-sQ+|qy<~AVP6Z( z#`9zgwnD?+2Br&lgavp&1C~i7JG1Zm>VjXdVGjxn{AHUu;{yv;t6{e~Gkea0P1LXk zf!Rd4+ky?&usVU+1;56E_0+IZf!VlJSTL7{jT2aBiN5g*jiydi|1-MiLHUfy1`T+|zLc=}~ zn2p8t7VIPqYY~{8S*-;-Ov9cKn9V{HE!Y-(O<;w41qMO#RQtDJ?`YVa0<&wNrv-aT z!*6^?M8U0n}y8B?Mz6@Gp!Q zjPjSsl$%i-Ra>t#{aXiVyHf>uWuOjnoCGPhg3M7lWWKC}oZCkS`GW*G#R{S~-_9L* z3x>W(&WQp1Uz&eI^@zKLk#mw*7jsv49mx(UU5pFv5nqM$r+ID2eLz0Cn+k+Vk<4pV z7CHBwDb|+UeTR!PN9L`(8Q+zw(`FWLHiQ!CC%!nG0ZRXwfG{?d>uAL~+Si>WTCZ~i z#uz5-uPqM$Vp z$e=lA9w}42)w~&(S&2*~5xvjl&;1zBM7r*}LnxWEP@+U~pY0?Gq<@ql33Qz)F;B8$ zdWgvsaQe-vZU^e{m4^!Q>CdH)bQ$}~beVUGH(@0A2BE`{Q}wqm^tY*J@U6G?O`Xxh zobF)?OD}k+8c1Kt2Sz{rkKv2)Ko*q|$y`AOVA($w=n+1o8P{p(@4G1I@iFL;d`L5@ zH1w;36*MyjeU}eu#%Kl2xnG&ea$SmY{qNw-7-SXX3~HIYztUuk+^!Y%V~EEL<~zKC zkxxhWLjR(0*P#;q$7#CETX8=n`bknXk(>vt=xcwk3N$c7eI0p?!x2m+W$51|5@Bu zEx9iVbryZIgf!I7`(MOOUfj-S+^CNJVy_xO|DIS_se1Gln@+B4A?@>|XC!-Z1C+2a z(=d*Ai&ib+3ofk}NUjFCidjKzt(^Ta8_ArDF?Bs#{NNCld(atq%IM@CZKy3z3fp`` z)^UpaI$z(-GV^qAt~hOoA6KwCRt=ZM6++ z2V3L}|8#Ghf3z~uhIeQ(?G|sa*VLgo#o^Vm6tdx)dRT0ZkP449CN&1PpKw`(bLT)u z)!|%AjAyWA$ln5GPLl}}EU&m&a~#rk-$UwDOPLu0XAl-I4f*L)ksroVJ1;B8Xznf| zN{&;))}&Sn^pVJ%k-BqDepac=xLi%4a>%-feCAO&{A@#r2|Srm;i*E-Bx1{J%&v+} zip20%9A<(t%)w&eV)%wFEn^O6p=@kX&fQ%S=q+XLW}H;dT=??PozXHfHGDk;MXB~9 z)c4?ta#l+>l^wHzSu&%`hM9h3J07n^;aRTD*G2mhQ`Sp}Nj$t;)BAO0^tb4}rk&o0 zoSugd(|i9<=zZMLsp$>7XnOzjAEjwD)<|CfZ9RoUJ__Nl2EB`htPNc$q_)crg()&+ zA0QNg?6}JE;2`&<3FKDvWv3aVWwwwwI5Jj|CrHh8Q-^9&Ci`$Azcnu{{*HhdG$sxXz_F;95{Do%sv#KOzYn*)u1 zT&}i5Uc5;9Ft)2=`fs4b5WZ|ahNe#pU)s?)^%pgFE^;Jrg?+^wxN^yL>WKZ}IrQcsx6z1NotkVDI?o^|3!GA4p{qev-a|PGQ<5vN`kD z#v}$}%38cSI7{{cRgQ`aali023j?l-ZKxJ<$tl7GIJv96IDO5-iXvl}(qVBIryDns zYEiS=>RUV(ad3(E)^#^cmV6hj5_;%KwDbAkSfBK)=*#$sziRsWe#f@idG2LvSA2Fb ze#BR573DZQt_t5ZnC*C*U5ZxtcD`-YPrzkdZH%6$*6%@cw(ORfm65NC(A}r}cwdnz z4&xJZpA;0&dRacSXxFD(|4s;O+}DsV`(3-dFPzF#{S{)m&TkI%bT__ENRC27y>)T) zn3+Fw`SARR&ny_S#_RU2xWgM>DIeDj$3e27??>*%H%ZEo%q5s^C(Bxf&%EwsuP-Yn zHbkSRFRa*YdZ&0Vgs){n#P&Il28kEFgCFO59`87|;g+3vp9J8(_E~-#jI_|<>?xSx zof6%bA2p-T2*~C)tG&T>4d3|U+Sp(+l+%>hRS)K|R>xj*R? zs6&P8a~%1!XJ)%H_Gj7&`)Ow2pc3p_C})m~Yr*lvEy7(uwLWQ3q1mv7apI@jG^I}@ z7OeI>7FNYrc#?b$89qn3Ds1L#u1Em>VMkNJYb{hNYW8!yOfZYs?BFM-U(OJwLDmd* z$eO97#E37l2Ul<_J=B@_dUq9OnP8G6gRuQ%}3&g)7^N>wZ|+P zb`{%#t_)@RnAXwLgVL2E+={}NQcw=wokoI1OqAheL9`4bJncu-F)*KTn02&3VR)#! zaWT~ZXEmKpc;+-SqT6I5{3+g|C&^Ep{G3mq=pvr%^9d8##f`%W!q+b@{P^G5> zP&af5l|mxFV~~I8Nc~n>+@h7JX_B>-6Wx4(_Re!x-~HbmLq_N7{w#- zz}Fk)mk^?TqkMKwiORmh(S>|=$Rp{$eBo`nSU)TM1z#?@FPxhY7wPWC7bp(%;qJ!s zu$vdkM)s^aX*xHm8xnLso$vTK=5zS`QK-y`9ar;w&$E^Vq%bnsR~VU-XFT;=HGeLu zBra#)iS4;LO!b1I@zk1 z7A$^58T3%}eOL4`R+!YSi1roaNkKVsNr8zVNp~*{=YIz^9~5gg=k#s9wV1<{o5y4= z6Y4ilhP)dT!HdJYjMY+qsC;O%yM>ZJOSAJVR>X|{n|3Xwk4^)r1pQfQI~=v8k0~i? zp6#I#v!}1|dmFnkg56+*4l?#s!9}L8nVF5$_Aze2L7gH5tMF+G{@&ZLFD*2*`TXw9 z6L4DCc#-aR*H|4!^q%J3W{1Fucwi8p8rXmZyTf4n2o`;T5GneP@V@Y?aQa{d#^SdK z)p2kWlJ{{p9?GmB`(?w{-sWS5yz7qqC_EtJR$tkxMKf10cpP|Mq)TV_(?cp2nTMqX z59iheM*4wp`H}O}yhGl0N8aY8VnoBd&V7z?H?893yhyO~SRsZ~tg&sMRiS@oDo$9O zRQX<9_Dw^}LFb3_H)k}=?QyW^d!jVZPmEOI=0eUbI5TA!Z|<@Z7!N>BH~2{j4w9!! zFdox8Qa9xQ^fr&_?romTI0{)xPs0xmbw(TAt754m2_qBx9&+~5aLx@Z(w*G z4SKNMi{q9hV}?H9cz!EE1h41?1gmH;e=ovl9OnXGf&0>YabY?J)2{If`<$acZhj`b zZu3&*@5=!IB5y?4?DI~*g@qwFd&7+KxEnW+UPVKFJ$xM5BPi7~-rQn*z0)eFY$dNN zTlq+6j%hV6C=hl&AHuL`3s$?L-uSZ?F-oNVTO~C?v*F|0$irAV%JSghOxzn4IKW8Y zYL#2P&P{P}K*6rULr_Q?!O}plGFk8E-E;xK{N|C}Iq(?<{;sfj5-st3;bk+FA*%{@ z89n>{WL|iwb9ZbSLcNh=XOH~srm~Pmf(Wl4Xzbph3ahgJ;U^)26ij(HM8?(Qgt+c| zZAV=Tkc^sVb|)vDaa0a=BL7Lo-~0SzdN1@&-P{m;gm6y&SK`>Nf$gF{(mgkiWS}%B zgND$l!8nK`XvNdzZm-23w~_=1>2)T)vOtf>)jxZO{5-FyXy%$eoR1--JwFmmTW4HU zUP&U8YudRg`rh?;-j*STwieGc`xG5~m51H0J;v)lS+syo zN0AD>L63t&S8&{hZ0Sf_LCE-Qb>U ztWF5|{1kD$9NDd8rMF=X1o+u^dtta}RYp`C4GXg0VOiu&gi4f$qK_u>^P$R^(*mF2 z(978yx&u@QPh^8#biX{~iK8t#6-n0OqDe0|BSX%`v>3In-Z=g@7MCJRvk0eI0S15U zC1K*NBds(tfQesbQ)eFFgzmWAhQEU~yTKpo)E$O%TMaiv7M^gjBf3eJw|SCBmE3Mm z|D@h&Ini2*E)CNcc{GofXI!l_RIYY6@1mppoizOcHgkzRM4B}N5i@h;))DB>bXONr zZa8mwi^ab6b9-kYUhUhvoPEpkWQG{g%r~58j5&X(JX7 z$_laJ4CH@U$RB=Lb_ZBfe-xiW%QhcgRQ6#*G>v2CdU~2(p8H+&9sT&SDpUJX;w@}QVq_hR({ICk z7ovHkyYXX5lzs79mrDx7Txt9Ism*4hoiAiu1FsWzqyCti8|V zN&1VvS;y3(qXHYVUg85aC+8p=%@}-qk)>J7C2WKZeMvz1DKp?9Olv2?@}*Td?a3WD z?+wc{e7TZY=#%{BUYF+OG0f^ZhMR0NKo8nSLeZVmkY9WY*RFyg9|eQO&Dm=G!3c=Q zp}lDZ2bXs9?p$L6cQ+j=ADb&PHjgZ5?p)A(byfk2%fJzlLHnfFlOwtF!@KjtEjxGk z8X8|)4ti<6w7XsteDnJ*_oeZTaD|K3xEPrg4%t%oO!Olmqo}ek3UB3y%d-X*aSqR5 zw&DjhF;dSzL`t7qt+vPf@VRP&X=lKR*j%I>9==d&6cPJD#(kvqSv1VOApEIt`FYKE ztrCnzH!oc!2#tvJ`$~e1Zhm;xa_-ojg0E3OIO}Cz^AY1#v;j1>4|P3-u|60FONKLB zI9G`?S$t_w@EM_7arpb<@Mf~x`D6HlV)r9&bA5>YtgR?bY`^>roHDgIZ7nVD9QPk) z!7b765EL_n)za?5ID-W%hQ>JxAn8_Hrc3%K(3d zNV04at!=wm-&c6JIrne^K{+$?FnOSgjud;oSjAe6-yNzvlQGjMTa5CDl=kwyd-3rq zJIU)6mDeZy3cSHg3m#k7x4}FpbSAd`S$tNj5lC+PKUx^p4a?5cUzn2N3j_?ehgr)P znySNJk@S!u?#52!=WbA4eI#dcdkje<&K}~lZ_p!i2mvDk)U|~VP;dXmg_3zFiOFNP zV6~jr7Ji*>#yE;GBwcj&az@F)bBl)j=>EelSopli#W~moHu~P)To~R^$Uz{*XPl4T!>Ln>4(Zh8|F+p`w&KDg^ae4VqEz|b#Sz0RMqU| z*~=lac$VU=yX=ICG#1%;hVu@PDRc;nUm%g}m%}e9Z8tXE<8FGM?~-AQL;jCLp;^96 zq_R=^^Llo1*|92vWRY}>|0K9PwR~zE{g{7wXI%F3@Q=FL^p`j-4PT@+Y)@08v>=hf z>yTdd{(TcU?)JS2j0Lt!x5dUT?#61u$VqJ#+#80N!R~TCMB^0Rqsa+Yt>gz%nm#;65b zIgBIB_-ysE&Pvc3fqm;?dD;EBaJpK!w|KS0R;WAZL;Db0V0e#l5NXJ)5PL>g8-tDQ zL=#p?bk<2U-Jz1O8pA?}D)#j4#vzwr2n`=>oHl^&h8ntgIds*Y%zC`{GuhDinA$hQ{K3(vVgATaX3{E))9ZI9F? zd#Y?S=J{n7^5eOsOg}FUBC!~Z;rl?yhPFh)3H)bYUSC5_TFN} z;V)#iR4|S;A5QZQoq^?9N~$VYrA+k~aoQ6C(yI@$i3Aa)>J9hHvSxvtyIr`O21}IK)JIEnIPcN3}DYzUG=4%tx7%up%QGV67XaQBZ9?iX)vq5iX~X$uNH2wM}}M#!*BS>zIcF z8<_)JDMyBgal4!G@C7Wi5*3Vu3gxKnV*~>loyRz#Nw|Yiq6{9Jhsq=KDJaMaZ11#b zo$P>dI(R5YtfxiKg9g!oq!Rs1_(bvNk23N89u5jQT|OJZo;AiTYe*aAWR!9`ptY>} zT9z0Uh~kPF(4~-IPqO(`Vj--iKkp^M7Z`UD>Qr@*EVKXN4H&|w#*EWmRLaOms4h6Ns`zJ8FCRb>@X z)4#}#Wnl7nE04xw^;^xnMwaTfx|`nRgFfm^P6oQ4!IoD#8s=v&6N%1lN;gPsc8WMU z4{Tj==YhrPH_!*;IVT)Pavy~@4<>f8Lm#!DK9JYTp$ z99E2H^m`xPm&p4A@*Zvwh0XZnB-LC=Gjuqo8tu|1kCy0^gQF-?(!J3CK7IR-bpJHe zL&66uPr~q9YKj@j01MsGZzO84nhKc2vh&{ZuDHUe`D_neM0$`9@|U+`bz1OJU)gFO zXX+KDed=qTlF_OlzScY`ndtrQMp-M$(cL1J+>OQZGOSmBl5jUEXDL|C-PoVHfVms? zd6}6bV!Qrc_P%e$=cN8Q##bL}#9QfcNuqUx%D~+yX9=lnI7WeiTh8G}=E*W$eS8o( zwVWzBy)1E5PAw23Qk>SX+Z%p8Sj^HTIjgQHZKJQbBtst#jaQIfk^9)|S_ zl3eI&om9OfRjH6}nn-801-A#u`6iOBBVbQLsQl`j)f(tYKc+f`QLl8RK1I=Iw?td2;WtXTa zA=zS(U5LjK0kb^4b(9EG9R3ErJR%{RQ-MVN>8Ttd zjC1FU3yADm@QTP~q+d6?pSs%kX}l?bL;+8OA9 zi&UwD6V;{%am$?%CD)<+aq=f)0oAmP>$b~q0D<6M{CAZ+Jq|?aZta(~i=8K}F^1ar z&NyuAdc9R!p$g5m3RVtd)EPvPTrWHN;J?8%q_OOjT{swSekeMLu-ZOkog^SrYdLG) zh+6_^A08oW(#5#s@}I63$(^u8h`Z^(2#(tN42`m7^Q+PMygKV2 z`6!s51LkU8GHIhfHPDnTa6i9I@DH8>O0uONXNNWHI>&wO#fMXz3)0nC_f(p~Rb7NZ zWJk7lRcG%YJ%=L}5?YbJB|4JF3cdd>$7-EC(rL0%!(3lks|Z?O+FPy4f3msjg5xnD z>^4KgnsYiKHW=uz;5>IOlU~_7TGPKpMj#Vi#_iWJQ_NhFRC^~??e3<7bjCd}Ck!=&ylD*iMh&jqi&sON&G$*K(Qa~ukum2@Fuwdo4KbSg7XX_T!QK5m(lF)JHiNDY4)MM^$Ka;A{JSk+Q)$7p$pbuk{kMRWaP;)-utH(wb8 zL}RsV(+2b=U$Kt`*WHlRuY*2A!Po_rY`AbctAU|J+FEOs}I)W!6u zYRulT`5)0Pe2E?@KbP_o>z|ci`(eTh;9we$e5>3Fg7}Trdei{avJA}L0zuhN>|kGH ztnO)!7C#GhI3foqY3&k{TK-1(lZsg%*S1LR;d1D=+Bkhc%1sTl84i{vT z9lO=r_J`;WzC!k+|!!tl>!GpeIg{HD;{?D*2`#^wgQMqsu_v zsfwJD1Z)*?MYBNLRt|WXXREWn+VWBSkA9qeQg*S|N5igJSjcvj1>Ft13PK!OnzIUF zDZ7|OazEIM9X^tCKhd(kWr#<6Y&}HDz=_}Nfj?j0YZ^b1P|TnW0{v8;k<51#KdHR# ze@y4qhiu%9n`km*>TYafu}*_=PQ$Jt?rXn*35&}*{h>H*8wbeBK04MOhe|oPw|i8N zQa&IGyXc+=hBCV$nyC8HyPNtlJc}<)qz~?G9HnH;|C(BATF!3VM`9cJHq=vXp@274 zB=>{}z_f`QzCt&1yf@iNvr8gwP zWhr#{LKH_*X%RY0>4H7H&5VR2nG-+|??11Mi*NUZySGSTn?533aoH^9I51`p+MM5a zt1;Wy3$=3_RN8`(2ckODzQ#@)e>sSv(wQUQB!7^VUHhIAN;7nAERyCAUAk?yn&cW| z(%0=GDoyaF`+4k8?cmk8fy~G~yA#aK)J4-a-mUc(GYPBr*&HXaA~_kOG|g9WmOYH5 z6l>-^K?N-OfklpBMK9+uO1~p}nHwgre+-wS2SUdHn6hZ2ER|Sfy7FY)QVfZW9oJZ! z6#1pxpgw6+4D~y|Qm7+X+>M7xeURKgH}Z{v2^=PlZpw@xX9g>Gxvwa`7-vriiv2?z z@EIu#RN99~>z`bEk(iTUtSe<}lj87vSLi4_9x}w@LOjk`64D!* zyYeX5*~ZY9_nOguVjyP0jeLvbw5VI|UB8D-($WwW>_ZoYx*R_O`yT5V?uyQktt^}Q z1PeV%a50hAMp3yVgPLSCi0W;;wbUA0%Wh_894eKP*{E_Io>ka5Tr;qky6*_waG zE)m)Cu$Mb}!H(z`QX{fU85`Od{x92!)@l)L(XIQOM7v135jmMg5$#?A3DLf(gJ@J5 zwg%>#(u7p=*-ErE*1Z(CLWe;o=eDLG<9l3vRoMQ1!cr^Nysj~} zGbuFpI_}XksRAmPdKg~Wg=q?D$(iOJ_)V&h@x~tJunkewrEhTPT58C>XqEIQqKC-v z1b-mini|JZS2XNyu=H?ban#GZG`mL8d(>nMRR%f+`)*iSMGrzr(M><6d}LhHAJn4w zfxhF39k7fg%Zr=OjP}EwD0*H7Ib2DNNAHoJ8)(VVdW2MTIzMsqQea( zkjsG9Ig)71>cLmKL2C3BLzBGm5oudgE%mNoQ4rAgt1qmfx2MMQ1nu}Hm4oa1~Nz8W4;aO-Rf;EB;t-{95xI)`a*{(z~ z1u?qi)z%yX>%?{#3k7qnQcUtHl_EGq6+jwG!xXCkh=oH`0jjbx0wdX)1ms1*T1o4o z5JllHjN2Xq|3u`KLjRJ;%y#_s&g`%7F*YBg$|L$>_6}^I@9(EP_h5<@-fp~)__6^y z{M7)@Uh~i3yi5WA!$J~h4hj1tA1wE zMGOSm@~+lzXnhIO+DUhu>6(PEirm3|2L&kV`xWYLhHu5bgN?20g*Cnnda^&Z%d56_ z*+JLjHM@U;D+}iC&7n=GY#ELw;?N(rx4?ap9wB&4`b)!yA>Uu+5Bgof(z@yXV8G>{ zRU4e^=^gOYRP*a9s1Hu4sx0%n$}49DT%qcj)irafJpuXTsjeyayZTt)`npEe%&IM| z^Lyr024?{Cl&Sa9U`<`XRb5lvzdAI_UsqY?3C^wcdn&6vqeHXQ_du|&vU+;#^MqiX z`aErJ&>x6>9U*Vz@2{`*mj(Uh9v(|L(hdaoovUzGZB1R!x{a!tm zl+{!R{q;c$R8i@#D)&$qp2~oy&VNOyvW~)55S4E(4XrFs0*)@7<+q@LB%r39j++b> zdTUs9QcS5L4TJi@ByeGctFn4_X_X*EA*TE5JiLYcLp{C6yT;BPIjUsL=%Nctyb~t6 zifhV4R7oMh>PjKnY(EtetHBAON?35bKNza3c6me7y;SVm({gRTpu7WA+1hRxcpk)>7e0JJ7^YMB}?sH&>04O9kP z-XLr|EkrRUgr)_`>MCo4t_d_Ms!!$Zni#5u0Dec6OVg9m7S)uN%Y6bI;-`pprL$bq zC{#_YtGF~+9I6Tm`CMab=D3O`%&4pgy2k6ibCtpRwQzE<;0jj}gb5b7&JFTk;3^F84?uv0)!-^EhPI$u z4Aop3a7p8)u4YL=bVEc`h#=_anO+n0^d2y1;J|h{p-Yj#^%i0YUlmr?w-Tv+8riH; z+HMK*AygK0mDGU!HZP&71Qi5Dzy#7m4Af;t3Z5r}Ut0|xBvQkIx*O$4bl?D*9b*dQ#TokQF zNv)D9+K#I%SnrzYpF5|ft~}t9a=L12N#1TeqyV3C1zd1(7423L0FDd<{k5*jih$L{ zxMqURbbd?9{i=Wgo)N2a`5JJ|hWmj+vXYvLiU1W?T3uZOiA2zs2C7BQ)zr#cX;le< z0|Zs_vqV~!D)s=8H~LS$=}y8kXGUe&3{P2U^~picG`|Nq0*@hDgEi6@!NgWNDxxFa ztPp~4M(J$7BaDZ3&bNSkszea@X}{`Eiz3|vw)Z5bYpEE(aSoZ|DX;Md1PhgDaE9L# zpimxq$7#sVnhFm@4uD@Q5-HnVtK?bgDX*-k@Ym4<9FZKIt%r8vv4~He@;8er@d)E; z!g*}U>z+;sFWo(Ny69?Zu*zROolabkiB*kAe`sKodLbhcW6YjTv8h5~*? zI8*~IS)@w!AN{kUXSE;k0u?lzPfGMizI2^2o^?rouEJ|hi%&Hci=^qU{g5jljb;v& zO-;u-XOH4)oxf18&OgInE&4=EfpPG*g{STdogA0cC&mP%M6vo+so$jTT#3`TbXDJ( z6wqpODx}pHQ&Ilp-Z-uhI$<4NWKL4DDMH)$rpBYNy4+tMhc6N#DOugiS#(MPmu}e3 zCsll<$XIksjfdT-3Mw7v;|yho>ma>YcWsB$+HGQmwRh`wxK#K%L)qa{=i9C@*x^d) z(~=1447Q*0#s%9i{o>S@xcU^Ko|L~*c{H7?{1wSuH⪼Iw2h{b$OLerL-x#ys5)! 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

    {9I4m2 zSTt8_Lze8JHbvRZmugt+#;Bm=_%$^&ttL`^F?jHUl~ivzM@i%aHqNLLlNj(}vZ{u_ z`WW-6uV*f5_HvHd0y&Q53@-pURZyMilaVT-p}A!;ng`{EP>@%$i&gHD0C^$8eN_h7}!fdz(gXV2&y(Y4@(ZENXQLClrZ)x7btmX?4qF) zjTAqY#}pqqarlvSAPjq07b)=;&Wc5AmT(%O>Tqa&0+#X^MH-{2waPBFX@Lx)*FA-K9FC!p^751f+GN?b3^lK z1xgNe1`7wVA4Ko03f4wYnas(pE+U`;MmaG(k-;F)bv2B@gA{XYsuKACk>1~PML zFuR5|xaK5+ z9>@pQ6jj(!!?p0(+F)HBMyF_m3Z6yfAd3bt8mn4R8KrQMJUNjnq?;_N9HhjN zmwvEmiVcKBwoM_L;Lms^ppNnoEfvr!u}qa6HCQR&6s2_;yBpSvdquc91j!O)Mv!bT z!)0rJ;ExO0Q060H5d!!-#bisnGs*%>TYGyTR+sHS00F1bqac2XoZ4ln$g#Kmk7 znsp5zW}~+z322Q{t0;jYLAyjh8R91>M?xYvzz=1F8SiDBlcY)(RCVFawo-z0G*;l< zb1W34AUYW?7ejV-kro1&qf-s+;K_~r(SI4<_B5@mnHb@9K~%{VX69C%^b`5knE+;k4k+Il8^u%xs(Hezv zFcexL-IP!3c;-n3qZNU8s~a!;_MYWR`D;Ex<&Zd2Mu@6)M4qT^)sT(Kx-6|On>n*o z_(CtG8waLMxO6s0QgX>rVNRll*@i}WxAam`Q!Om*C#)0?ssRX?GyG_?j)`zFKmAnI zOd=7bnGhuip3&XamLqskZ3<#{AeO_95=x15rN9_fICX*yBtbUMh8Ju}5^VNjt|;bB z%w)L1NkU>AzoD2VVvfC47-yik^G#P;*`ax=lfTtfYpMN{I0bZ({z)=5z;&^j8g8JP zAhO9zPZ9wz0NXnbVExB|YOLT`5Ozi!Hwr`0WVx6k#w%f%5LR_L%p{KtUIe4civOax z=8qATBdhzgn5Z8Vi{Qp^bL+Bx6hTB&6T$HV>yl`iiqiM{-qbbMFc%RNmf7f>`vI5Y)k-oJV&`055Ij zYA+}OC=DSDxn53&FVXOE>lr5$7_XM0*J2>;T;74R2&M|N61v6m{S($ja1ET^134~o zeymGolo2RrIg&!CLMj$0Djiu4QztkjCpDR9)%;3TPfPLU8iq`-6X78Va|8~-%DGy8 zXAiUIkFo+|bdQ!@uh)u+E~`VA08B#BmYW^r^+6WrI2&{`y0r=#1$0S20&(ID$QG&kZh zepI~;L(Wn$-5!jCq*N>GjMMQaG}zdBq4!)RVWqe!7O8)$Ies3p8 z<0O-`xiG*sb`y+uJFg^f44>UNAf&s~tTK4*q2{P+X;?}UfT~R5l`PyLSGeW@H0J2( zqD3NAIxcYW#UQ+3>a~kj58eG;WHg8wt3{fysGDr-!EKb~5{)*r9HG0`)GWzJ076j{ zR2zXYR5H-P;qRm7;jm)BIRaM$Bak@}LPY+c`Tzj4KQ!J5V)scf6ynel0|Y$4xxn~| zf{_slMJD)wM@zHi-E1)|o7QE`4_>krUO?RJE~&rBD1cyLgT25LrgT9e2{j)qpV9gN zL608*8l|$VlIZNXO`?-zB&HgBpcp0w%!yLgK$vy{dP3@I}JF2idHGq zA=UIrHEmKYrqU*<7Na}f^4ta#=~P%}Xp>Iul0r>VXqgo1!JAQ}ns%uM>yaj@u34(< zfyD)>u2rgACe?LHiFPT`BqdhjSWv>dA@Ge!@fv8&)WoDZyj>!ckfMoNsRBpdSg*uu zB2pDz;Zau^k)n;#?2gU~s4A_5A_?iWH)8EL8^c*kH=ej-$25zW*HZGpVi%95)^6y4 z0l;KQ4;*&F#BO67z#f=S=q5i56Lc{KcX4N9f?;7aZsHZ%@WG~q16Y-|kq0b~z&6($ zY3^KUNf7@yY{n*Zp0otA_-HjAQbmQdC@9s;#V>MLE5-0zAuWkX^X5s5fK^k6hg4H7 zEs97>8t@(sX-NdrFw?X`jW(7xgeuV)HPg`qql+UeW{;*wFb9!=7(JO-32U?M|7D06c zP!G$Y&4YPE)Lqf=kUm}NRdnKcr7G6lG(iXEPGwn_ViAQCVt9~&4335SuI$z>62mBq z%?q|H%lRdekd{-}Z-bD6e-y5?Omso@7sZiLz#Lx-<$EqU9+r%}nlNKD5+=1%rjkRl z5Zt=Nuet!6Hf7e#nKNdxqMR)k2X9xn#?^ch_R4rNC90F?rCu}>}g~ zk)p_f?|nJDlH4+>EZF!!n?%+|VVsMaH;nnSi@$Qef`o!7B3Eg3AWsfz9yHTJw5O+q z9Zyj0=_+RGjakt~D8-N)J7~z`OMu=BAm=Ke2njSJd5SJ6H8*9NmZcxmRb*2*YPQ&T z!dKy}3sRd!XJ8fv=rWkF_~!hh9B7)P^`qF-rmNXel)yN;GPTP4b6kamu_}tJ;!m40 zecG|d&peJ-H&aF-WN?Z>os98;YuFj;ZH3~qG6bMXzz3lX%!gKRtnig~oVGKUtDm=0 zVi{X0ZUYdL1?_Xd05x4)I)(;)cU%7y4B#EK5rc3ibWm#6^iVHpBii5?49}SWfFFh;uFtML=fxfNDDb zq~VEZnmmco#o&Ar~+C^z_r|N-(7dDN}dzpzQ(a%KcMqXOJPu+B!<3 zQCl3_Y{)%^SS9fh*~psBx+P zV$sY#po_B(n)l?x02;;k6v#SQIv=7alp>}qoN3B4ujb2}D?;_`$2H`X@~+KTU|2GQ2SvX3rT|~sbV!L>7L}k1X>!SKxE!_vSdT=P(9G=NMjf|EK)Y<3Q<^Y`p)HW%1K3f85gnRI zC?4J%8w1?Eitec^fn2&q_GZR6)Q2V}FVTzND5T1i z7xZc%yBWk}z>Ht?LBa|UhlDEPQ2^WTlSO2#ddN-?$@_S3L8_R96zjI^xQiMSF2B$f z=jDM#WF8jeftN-X2jvPSaL?s{xT`}#DUJ_DWQn4@3IbXr5epnYYua@A6l8LM6-9X> zaaw6R`mSaA4@_SHRgor+uD!XI#tE3}{71i4hig1w-v*2-osEDNDu`*>6 z%#M~-LW^Lp?}7AD5J$>V$G`+!NSMYt0?kKg8R#Cv$OJh>lT)1i7qqczZ_<;FZ#axbT^#SSk}W>lnjY+L~#O zlG_6dm1PE6oPON-!+V;s55XlEjBF@9CF62DmS9Fa=1az_7%490K8Xv}hmJ=H$%1i> zKSohrFmjPqD_LFO^pWXOR$qigwwSeeX$4PX5Ss^-Y$*AsN*i$+lny59F4k%W>ETQ8 znNnLjrLwYq;LdKbfD(oK4T^~v(X zN@#$-OZ@kqOYKFGyMT(&@G)9ZOrpaE{@!yf5;<6Zp=cbJwH?}gpbMmzx6ouMrrKO3 z5`2IHiwhgR=%p}!%P$_0wQ(%-+Q^Q6Q(!L6D?4Fi0~>vQ?!c=qB){%~H(c1>K=Y;) z$^!vrybTqN)xa|0bw9+R$~`mP!vx1NOLDn224=|ip5@&)4IDIN^R7ULAhJw~m%n@} zqL%xxS^?!i=?655VN9aw3m~Jf4q8}j!SVs2IC!NCjZ zmB0j9H|)hhN+lb4$FU>qdVy&e-ed3c5YWj`FwD9%aXW*Qx7Hro;j4D$cs%ULp@%g6 zgyW`7nKm8&u!)2fjuK5yo4QAqbEuS)9*N9FDJHGB%vLe~L(3%C1eTMoqE!LJ7yQ;Z zKfjeLU1_>ZfTj*iEOqUN?rUl;NwTK7Eott(ho|E2)u+1M-cr&mg zL7IYpSeo0P>ds5!ufUKRZcht`Q=tFh$*FGXlvKAV&Fx5YfB0xY3Oxzj3*?cJy~ecs z8Pm$cm{uOf+!O+Pjd^KqLz>%|<~F6d&8cp8DuX%{U`lzT!bP_$EklT&5)N0IJB|On zY5ea^<9}}&|9jK;-D22-^$Um#>=FX z%}2~;TI)pP7_@<~sM%;LWlIRz!w-_LEk7-x41Uu2D@cow>KrORtVBlklbXQDT_Z~^ z1)C+7;xnW}tXYPf)?`u%0DI&aN{f+7QFf)_4B^a5LiI%Ced98tEfFP73d9HGNljP= z21Fc2Kt?JV9$AU7mpmxh9<+;RjXt>Na99`sX8`ZP(;F%@tuEA>*`LJH;-)#%I8syO z{-aRsO4X$$#GKiAN%2)$;2`+fC~JNyH5Jgp6i6%fwEW8mDiedyP-qSG1Z58olOI_T z)6!3K4!iSb@CgsuPYco@nH54x@#OhNs9XS9SsryyrLQf z$o9*_k2nw?FvU~UI&~^n|L0w5fe(_?5f1NzP!fZbltsT0!hygrBdCo}!&j2m8m1OD zIK+u*@%IPPQW}DaIG-^FM0}z`o}%C2u#BrEKZ3Zt#0I9%i3;H(;!KFAf+NY98YvYR zJbx((r1PKdCc-HZxCcku=igLz_s>O4jEKTW@kc~_U}UAR2F4gVB$M?_pP{LYd=yZ4 zSDs25>2Ae;fG6sS#~2{||G2l7cct92J*g0~`HzktFJgg~`VK|GFC9E8-Gkg?Qau^l zoH}P;TxlPT!wvpAPn{0Ya*s9{jDkD0|EAKFT{7hi_Ol|3o+FAe@E-6Og=R+Oh0#4bFXDmwr;lmnJok(bPD4W~S0Q977Zi*InEnaOY;qARKWg|ZQ+ zl+k-fOkva_pbarv!)Z(VoM?J)8Guj<4+G$2^H%bZEo@)>h>v}V_g{!}kXRkEJa~Dz z{|hCcCHdb?UE^a2=zoCC{{oBDkoV`4z0k8~WJVU`?3kH|!^O*tIkb;LTX_y0V{|b_ zIo)GNm%A@2wNWm$eafc7gYw)bA_qIt!DaT~rZzxXj&y_@fXr~cj~FiE7Y}cwB{dTK zY`Gmt{4Wx&l9!S3r0su|`1|-AS+X)VrKLsWDQoVLK?>g^i!}hYLQLRJS@{kSL-rQ) zGdSi*LREH#A`iro&>b3ABu88f8DnUS>?G7IrUr{Cif}5{D7#c%(tyE|(NH;-!mRd` zF=Qf2IVsP!dW{AwB)os%J~Fcp ziKe8q@9}xe6k-R!F$8}pjdBRwVFXhK21iTF;^4@`3QeUrU=$fm3+Eo1djwEg9z_m@ zNkxq^O#ES@WtM&#tDKISdM5thBX2qz0-=2bWs36rpU$o5<_V;8FakFtpy6xu)KsWA zvK0wMQjiFR5fKp8cmQOwVqz*LJmshyOK~&L{rgb}YE%@T!JiubNFX&wLqr-pZ3-QN z!0>{FWV8r^=OCblKQc%msl`%!M)uU=r$eBV=0%j#yi%s5MR!`;%1GxFbw|AoQ%XhvPXA!6E%+;zQsG;{`>a z>FvON2Iof^zcd~O#~*HJHhN0dm1im~79-V*xim@#2g<_2$h`zsM;KX%$-s>0=?J6k zKJYDaaE>!FeBeAX3m86Xax$B$8$DHl2hYJl3O(Q>$AQR)Qi6C6KwiMu4{!kD!|>jZ zL9(q z{yxLnP^pj@HeVDWJ&y_zIgFh%2sjKRfdx;5J;=rAAdmuNH}hj|AsIP7^GPQwCe7)q z5d~BkYuK3-5Yt;pN`gZ;h|CZuqY^Bzo1R_<0~rXz;y_Cw1%2rJr6-pXeJBT|Iuwo& zt}(gakU%vPOrf3`JfIJYr-sT@(%V-G@hlEC{y_(ZUlqg0Jm{IoOfapCQxFhFZV@FV z{2)0Fc=}=jL%?E|2~~8D1XhyK;&30$JvfvZKO4S+b>N!6N2k%N%LAWRLJx{9CzGPQK~Ac_1B1ZBxh7B4j;gN3O`qYwO-lFi7-7l4m1 z01Fw#vVR^~a-@#8BLM_1MiOo0xcfdIjy$b_VhEW%0N_BW9w`5eEa>$5oZLKv-e@vg zthW3D_HqJ`m(2C*{Uu*I?C>K3M;oP0{Kq5_EeP-VDkZgm9Ey!kb?(OBJrc!K=(`g-=;z&{Jxxtmdx}zvr+L|T2|K7T-LH|`HI%FR<^Y(-lP2N z*nfJRU1xXq^y>9}=d9AN?mzdu^Dod}c+tg|eC1MoS=nX!%dfcds;^#s&9&EEuh)MK ziQRDH*KfM{mRt4u+w|X9v-X>M{W^GlOXH%9f7Wj(`?lsOKyrB5cLcv|AmQDfEntLx zMCXn>@A@u}_PvcGj6Ukwr@>jMq14;ELyH5r6 zyLRjKd+vYW!G}<@Wn~XPQugR$KY09!Cx576==D!Mo!+YJpV2@2oQN_U_(uZL^8!2o z_`(4G`{w=QeT#MgVo^B{_W4QKi-QHHhyC;buqf8l0U&>fhf3g334BpXpzNhD3MYs7I8*|M zO5jil94di>SOTOFqLbL`{`3S2a9EnC`nL%1GXngs06#0he-z;7q+FHGdjkBNWE1=~ zc#^=wF)~but&%ZE2Y}!X>CBwvcoNSsA+1gUeo27;D!@Mz;Ex43A;3KXe3rn^N&(K* z5jUKNJOR$t=ST`1=uIx7YlHqfKw#Eg#u2I3{!$sK2$ggOes_Ol*)0*f2xj` zA@}FJDgFxnJW2CE3p5q~8rh%Xwh3^p0JjTpT!6bpSjbC{0Cx-d>Ji|x1e}!ue3pQ- zQhE7~yjFnM3-AU3zC(cT6yS{l zyjg&^2=KiEyj6g=3-Emcyiq3 z;9-Nn!v=we4FV4v1RgdBJZunnxI^IK4uOX|1Rm}Xc(_C0;SPa^I|Lr?5O}yl;NcE| zhdTrw?i6^qQ{drFfrmQ<9_|!)xKrTaPJxFz1s?7cc(_yG;ZA{vjRFrF1s*mEJZuzr z*eLL@QQ%>tz{5s?hm8Uc8wDOV3OsBUc-SoPuvy??v%teKufW4rfrqUE4_gHuwhBCK6?oVx@UT_jVXMHyR)L4D z0uNgS9<~cSY!`UgF7U8j;9vJpTNU?0uT2IJlrSn zaG$`#eF6{n2|U~<@Nl2N!+in|_X#}g6nNMv@UTm>=by| zDe$mU;9-Zr!w!Lm9Rd$K1Riz>JnRs7*dg$+L*QYDz{3uKhaCbB+XNoA2|R2Qc-SWJ zuub4$o4~_1fro7Z58DJDwh26J6L{Dp@UThXVUxhaCV_`d0uP%69ySR)Y!Z0bB=E3F z;9--%!#aV7bpj9T1RmB2JggIVSSRqXPT*mkz{5I$hjjuE>jWNl2|Vl)c-STIuuI@! zm%zg=frniJ54!{&b_qP}5_s4p@UUCpVYk4;Zh?p00uQ?d9(D^n>=t;~E%2~g;9`@NmDt!~Fse_X|AS zFYs``z{C9l5BCc^+%NEOzre%&G7oGYgf;$dtg^K=|07lnepG-T6W|{R@Z$pflmI_1 zz|RQqa{~M$0e+srv`?YAig6{Gbd!m`^Ugcl(_~PpE7k_fpZtMH+mG z0Dnb*FBRa+1o(0RzCwVn6yU1__^SeZwE$luz}E`!bpm|70Dnz@ZxG-c1^DX%e3Jm* zEWo!2@T~%Tn*e`9fY%7{S^@s10Iw6^Zwc^v0p1|M-xlES2=MI!{5=7_TY$eW!1t=~ zgGEoN@Gb$KKW*(arLJoQI3~ag1UMnUcMI@60(`FkZxi4h0{ox=KPkY^2=J%VHQwIQ z|B<%PtbP7b{|Xf>ft4~@j zohMx=T_Rlu_m$Gs(sj}e(oNE>(i&-b|D?y6zU;H+0`*?)AFw=68+(W&^S_m^dOnrqOeYJkRKB`}UTbGOUr|QqppQ&%sFVnZ`+w`5F+pX`@uhyTZ zzfgY(OXV{CmHMmo*XeK2-=x1)zXn(RHt28H-=*KEzgxdWzm4JS)bG|mpnq8ZnEna< zQ~GE1&+C7pe@Xv}{x$vU`Zx5y)xWL(gZ@4JpYE}{ft)eyspMl^&cvL_Ia71Wa%ScnpL1f)oSa}zWzO83c{#Nycnbdi z56`-scusxJ!koo9r{CH=CtIj$XS`wk#jbq)SGio&gz_VbI#vSy8o@Z zxG?8paQ>B?%MLLAR|@pMD#OXl*5zz~|LyqRm9sJDZUJYwWwa${ zTh7j$-8m2BJe>2`KE!__=c$}$bDq!n3F5w#^K#CsIj`lsp7Tb|oBKfPt(>=Wevf$X z=Da7zem{lE2RR?X{fX@NsT%fK&cAcm0zD(sIkZ&YkB?zQ@y)q5;M?UmE;X(<*OyzO zx`xNj;kieSFvjrc?jP3Cx#I`nYEtf$+-bQp7{;vJ6WDWh?#a0ox#8UE-1*EM&0UaN zpSvjc)Z8MePxK8y_WkrFy0sf>p<~0Qo6roe7-#@-2Nf= zz1%-DN*|62y^-eSz~X<*^7QxIe-4qi&vW+hngI-eA=7@=STwgP7i6yd3PX zg8$F*?M%t9C$9)@f8Jp!z6ZMw{@dvV^2X$i`~SKG2CspMD4WT7Q}fFHXUb^i{|u*t zm;Anl9zW{&KQV94sM8d47d)WU#gqsRWl60{^^2%bjS9t7D4kY3OGpF!7U!Lo_vO6C zyymp<ccOoq69yt~Tav&ij7e zmb|Tb+w*qj?aJGe_dwo5@P8!lvAoCgp3HkH@0q;k@}AH8ao&r0FXg?Q_iEm2dB4p2 zRo)wUZvyMBytngypZ9LwdwK8YeUSHI-e2=R$@_cWKk`1y`#kSId6GeI$Tb)YCWFOb zGZYvc2A9EOC^Y!A1IUal_y-BgKpxQJONPS@0mD&-qYdK>6AY6KlMSVYX@)Yxv4&ZO z;|=A8*@iiWQw$Y`N<$TN>gO413{gX!A#SKQEHo@OoN74T@MXi9hNXt)QQ>AlHir?g z%+P9RGjtld4Sj~yhVu*;8ZI$hX1LODwc$F$4ThTxw;I+M))_V!Za3Uz*l4)hu*I;= zu+y;H@POfA!()ag3{M%JH9T+liQy%~D~8t$uN&Sl{MPWc;SYxQ41YF!X!zLhcf&so zpBwhVK5L%QWV9L!j83D+SY-4Y4>JagV~pdB6OEINQ;lWDna1OdCmQD%gT_kZT;n`r zt+CFSFfKGMF`jNr8kZVdj4O;QjUC3bjlITI#&eAq7%w(nYP`buRpYhBuNl8?yv6tp z<2Q}#jo&feY5bmXv+*9|R^txiF5~^ihm4OJA2A#K#vdDhYJA!FbK@_Kzc#*U z{GIXl#y=Y0H~z)=SL5G||1kc`_#dOrlxs4YET(*u!{jy12+O*fiuHr-}gYxB$;!}1{mD6 zneAqm*=zQhOU#Fxk2D``9&esxo?@P6o?)J4KEXWOe6qR198NL$UTvOlj+z&k>&=VI zr<%_&pJ{F~FEh8A+svKjZgZb`wfQ{rh2~4lmzl3*@vb&sXTHIFllfNj8s=VS-eA7n ze3yBn`EK(T^EUHN-0*n7{IK~k^AqN$%+H#iH~+-^lKB<$Yv$L@Zbjb(Vx>p=F8XbW75*)Y4*EVOeSEu$*n_wXCxATh6y!Xt~64 zspSgGRhDZk*I90`eBE*j;!DzPmbI2|S-x$#!}49rCd>CN_gc1F?z8N%JZO2u@&n70 zmZvSxSzfTbX!)7tRm(3dzq0(s@|NWt%e$68Sw66QWckGMspT`vzb%qA$7-;etv0LO z>au#RK5L2faO;uQqpjnuldMy$)2uU~?={PMf_1j_WNU>rY@KVJXRWoytZ{3Db+Pp{ z>z5JUXl=GGx1MEfvvyj~w)R?ASpJTO z>+RONtQ)O&TknAe*ADA0>;2Y;pw;%c^-1WbJtym&{n+|b>&uAobL%gyzqY<H&A6x%s{nYwT>%Xl3w(hm+Y&kY68Re5FxQqgD))uoZuqA8_wnerjw$p59*pjwJTa&HDw%pcgTWM>zb=uBG%pO~xZI!LxcAo75 z+eNlZY?s3<@s~+EAp%I=jBK97vv}M7v`Uue@1>Xe`)@*{FV6~ z`Ca)v`K$8#^Uuq_ApfHLOY$$vzbgNl{Oj^>$iF#%P5!$4_4(h)zbpTH`J3|ZPDzXN zaZeUM9-{ni%ilR94&m+|7M4Oa{rN!t!}*Wx7lm|+gSnqjQ+kR)&#LahVrgN|1OF#N zoR{)nf$JCfzY_d3Y!P~sVf>E${vN-795RL&`+Z>lC2Neo=Kn4KANl{v{|^h*733CB zJY#`{Jrx@H1rFwR7ZkE*alw~T!WF!cK949ks$guvgi)b2SlY)Flom`cI5s7n;|j_P zPAWJh#cwbgqZ<|~2>+K-9^HKWZ%~_C5Gj~nP+JfySWu8CXed}zu%zJhf@Hzcf|i06 z1uF|W3eGO*Em&1>Zo!2GUn#hv;Oc_w3%*`(Yr)!r^#yknY%I8^V0*#tf`57>{k zPq0t6PqQCuKi)pueu}-)UTv?j*V*gsi|wb|&$Kt&SJ>O^UG`r4YWw;2i|v=$udrWb zzuJDS{d)Ti_OIJ-w%=<1hJCGloqfIi+xFY-ciO*e-)P@#|Gs^TeXD)DeW!hweUJSC z`$P6e?2p+Ww?Aor%KnV~Is5bWAKPEFzhr;e{;K^o`!DUkvcF+})BcwIZTs)-@7mw9 zzi;3Fy8B=hXzV{1qetOm`=|EL{txBpKmUjFGJ3Tk% z;||ANj_)}(Iqr7cbr&cN~9k{L%3z$DbX4aeUdbfAold9Q>2(%4i=8FT!<b%Bzo%3tX8=W^fZ*kt{T;u$v^IOgh z&hI$yaNgzoo^zA)Zs$GDd!5^yJDm49N2@i6bao#Qs$vQnd_U59(D|_Q(P5P~ z@6-4`hwlsczKHM7@O>5EU*P*Ie1C)QTliwHiQjke{S$L3sea)62<}gupW^p3=f5e; zm4mA&2A7#%NKp`nc-m61?JgJGUY9S$S0qt_ki+pk65pfo9gpuMe5c?$4c{5~&cgQu zd}re;NhjmC0^cxmDYU9x^Wl!V7T~wuwFtkby3WAwnXV@M4*#=^VYj;4T%E3NIcA@0 z^@wN;KQ$5aJl6%Ti(HquE_Ge*y3+Mk*EO!|TwinD=(@>ui|aPm8rL^n-*RnmeaCf& z>n_*#T$@~XyY6w_>)Php;kwVY+jYO|LD$2sM_oT~J>mMH>uJ}st{=HxaQ(#fQ`gU2 zueg5h`i1Lt*RNf_asAfyJJ&m|Ke+zr`jhL=uD`fGa((Rjo9k28KVAQF{oA$IrE}-F z^V~+a*==>_yX|hL+wJzci`>QT68B;5Biu*2$GFG3$Ga!Gk8w|NPjyds&v4I_-#2%h z`vmui?vvanyMykKJM5n8j=1N$Yuz#Tf-G;O6Z8JXhZF8a?$g{!cawX$d!@V6-Q!;6 zKF@uT`%?Fn?rYpPxNmWE7ht;@;uj<9^uvxch1M^X{LzUv^aPHq-U&WqGyU{x@V^61kXvHpeO8!cxpWhJPn>D zo-;g+o)%B5r`>b5r_Zy>)9*RYlU`yMcrNi==DE^ywdXp|4W64kw|dri)_FE~Zui{f z+3303v&FO3v)!}Pv&*x`^ML0e&m*44Jdb;x^gQKx#`B!#1<#9~pLt&O{KE4q&u=_$ zdEW87>-m%C1J6gEPduM__98XCH`iV3`oOYg6|Z+PGI zzU6(}`+M)Z-uJxkdq41g=>4nr6Yt->|L}h1{oMN>uT-cn%q=t&nhGt2w!(r!N1?0G zQ&?E&EA$tBsqpZ^K;cn^7@G|yZ*jm_L z*j3nD*k5>I;U$Gv7G7U?bKy4%*B9PdxT)}-!fl236+Te-Sm6%~pDlc$@TY|@7yi8P zmxaGB{B7Yog?}piOW`MlpB4V6P*;>&WGS*2d5emRjwm{+Xk5{xqSB(WqFF^J7M)yF zQB+kluP9oSC|Xo>T2Zp7rRc1p_M)DmbBfNx&Em_7t}42==*FU(i@s6xt)g!ieYa?H z(LF_5i*^+4D!RYup`u5N9xwV~(KAKQ7rj{Ya?xu=zbbmO=8fECZE+;;B)!BKA*3|cZ6?@Z=7$UZ?bQyugrIxuiST%?-XCiSLKWNYJ4$Y!nfFW zn(xcLMqjgUx$i7ryYFmYpReC{f$w79rM@eCU-ez<`KUn+jJ_?N|R6u(vc`{MVCKPdhyUB%p|&)N|{OkSS_TTQm)Bj!nM*n92_x)S^Tm9SpJN>)- zd;AahAM!uqf6V{5|4IK-{%8Ep`Jeay*#DycCI8F*SN*T~f9d~~{|*0}{(tt##8y&J;wW*IcuEROd?k2k zY{}szfs&(2jxHHjGNEKr$>fsKl4&JnCC8S`DmlKSykvICoRU*YDoQF#s!FO$=9Scx zL`&*Q;wAMZ3riN4oLX{v$(KvcELmF8T(YcWMafwuZ6zHgT_xQmy(QHBB3XhUAVDyZB`6sb10pJB6pR?boCBD^oIn9{&N=6t_0_l6 zoNd|foO{kaaYHzE(qjqiW zUA6br-dFoT?L)QeY9FcHP`j!2@!BVApRRqj_W9ZuYhSK?wf6PeH*4RneYf`g+7D|# zuKl$3^V%x>U=%y1G|cQ`6Jc+ttU_ z&$WkZplgt8h-;{8xNC3MDA&HO{avG7V_oB26J3*BQ(OnRrnzRgX1V6L=D7}a9p*a1 zwZOH|wa9g>Yq9GD*GaBZTuWT1yOz1mbe-)w*L9xj0@p>Z6|PHMm$|NRUFEvQb)D-5 z*G;Zfu3KEUx$bbSb=~E<$913U0oOyWb*@KT8>+q8*SoIwT_3tWc75vl-1VjFYuC4~?_EE-es=xp`rTFIZtC95-NN0<-NwDSdrNnF zcL(=2?(N(=xOZ}!KPc?>xdZMxci0_u$K6SH+MRXh-9>lV-O=6Iy^FhxyQ{mqyQjOi zyN|n{dk^i)w0wfj5wkM3XGzq^}wHuIR@zj@ktw(zv~Y;E**=Gf8WGXM8_0_OiAPt=p} zq&+!L(Npns_U!8E>gnO><=NfS*VErKz_X`kuxBsNFwY3jNY6f={X7SF#(2hgCU_3? zO!iFm9PF9yndzDBnd>>kGv9N#=Sa^{o})d-c#iWN?>W(PvgcIKX`ZE?GdyQ`&haew zobS2NbFpWo=Tgt*o+~|9d#?3d@43-)vuCyER?qF8HJ&>?cYE&j-0ykN^RQ>V=TXl_ z&tsk^JWqL^@jT~w!Sj;m70+v)H#~27-toNW`M~p$=M&Foo-aIKdA{*{=lQ|&ljj%D zZ=OFqO}x##&Aoqj@c-$8mfqIhw%#qg?YvugxAt!9-QK&Sx7O?SdcA&c&>QkbyfJUW zoAPG7Id8#R@^XM{ycc>`crW!{;l0{>o%crXD(|h{JG^&# z@A2O6eaO4syTSXI_et+F-sin9d0+Lu;eFftp7%rVC*IG!UwOav{^0%D`E0&+n`AMSO8z%9r&Od}UuJ-!8u0eBFJ$e0_ZVeFJ@ieM5aC ze4~8(`9}N3`6l`%`wsF=_s#On^&RRv+_%7YwC`Bo@xGIMr}~!q&hjnyUFcisyWDq` z?^@ptzMFlw_-^;D_1*2e&-b8jo$pcKCf^gjr+v@)Ui7`sTlu%~Z|~p9@AmurL4VjE^C$fof8Jm6cl7V<@8a*~ z@9E#&-_Jk5KghqAf4G07e_#Ir{;~cE{z?9+{%QW1{yF|b{D=9E^e^-u<6rDQ(SM5n zH2*UHS^jhV=ld`6uk>H$ztVq=|9byT{?-25{A>Jo`S0~V;D6Zvh<~I1asN~PXZ={Afpj1jC=hUh*e9@mU`$|q;K0C?z`=nTf!Tq1 zf%$!QR1s!GXac!QsJC!Tp0{ zgA;>Og42Stg7boh1s4Pt1s4ZT3N8sQ3!WW3FL+V#lHe7=Yl1ffR|Rhit_|K3d?2_k zxFPs>@af?5!Iy)t2j339AN)A@dGPDt_rafozXzMvwWw=Tw`E<2y6x(As`JzZ>cVyL zx^!K>jy{&_I@fin>t5Hpu3z22x*>JL>qgb>UpKaHV%?OwX?3&e=G7fmx1erO-Qv2F z>Xy_kt2?{yyt<3(E~&es?wYzA>Q>d=R=2k9p1KF>*41sOd%W)Hy65X&u6w=i?Yj5t zKCb(`?(4em>wd2Ly{>7fMW{{apBa1VQ5k4*wEt8389lh zr-YV-P7f^$of$eibZ+RpYSs%v7ll@YE(u*0x*~K{=$g=Vp&LRsg;treTSB*m?g*_7 z-4(hgbYJL!&_khhp+`a+LYqR5hn@^Q9eOtOeCS0J_j2gf(CeW$>-+e2=)KT~#`?q@ zpNGB*eH;2A^mFL9P))d5xJ9^ic=Pa<;r8JU;cdd(g?9+=6n2F@VP7~9t_z35(QrJR z45!1{a6ViNm%|;yox{6?yM()jyN7#*dx!gk`-S%i4-5|q4+#$q4-fAh9u?j zye|Amctdzo`0?871=kke`IuIY-D_7 zVq{WeO5~u(w8)IetjL_myvU)E!y-pS7DN_C7DbMYERLKIIVo~VWJ%=o$g;?pk+UP` zM$U^|5V>J4bhkc8PY4c8~Uq_Kx<6_KWTj9T*)H9TFWH9Uk2~Ix4zvbpPn+=-BA^ z=)~xx=#=O|(P_~c(OJqE|()iC$N=Z;0L$T_tsIiQX2yBf2(vSM;9fea81d z^r7gw=p)e$(M{3EB}T9Gzl%?rywCiXxu5?pOaEQ{`2Ri6OVL*w$KhYPNN+^n{*NBH z_o5$~^ZVpK`W*lMh5tPI)&J5n|NCR|uatZn{UQ2u^tY(_Q!lX=v417Q|5TmUvCU)c zVjW`J#&-B0?ssj>9rMQgv0y9|i^O8FL@X7{#B#AhtQ4!nI>mO5?Hb!H)-Bc})+@Gq ztZ%G;Y(Q+!*x=Y+v0eMji%p0f7@HiM8ap^PJvK8oJ2p3VNNj%W z@Ys>Dqhd$Lj)@%?J3e+|?Bv*~vD0EpV`s$9ik%Z%9y>pFVeI1A%Gjl`%VSr@u8v(B zyFPYf?B>|&*sZbKV{2k}#_o>Y8@oUDpc$u!W9ws&#x}+ti#-v0D)vn5x!4P_mtwEP zUW>gEdn@)%?7i3rv5#V(#6F9C5&J6kP3*ha53!$Ozr=ov{Sj*tZx(MJZy9eLZyVnt z-Y&jXeCznO@$KU~#%ts5xHs;P2jii5Bp!<=;;DEho{JaarFbRYDZX=j*Z6MnZt))R zUh&=IedGP(1LAwe2ghq__KFWP|F5YTQT_kO_&!zc7e63ACO*#S3GoBtljBq42gj$! zXU1p8=f)3-&yOE&N{%$gQSqbW$Hb3|A0Iz4ezLJojh_}@8b2d`R{Wg!^7#4j3*#5Z zSH>@mUmm|Qes%oX`1SD{<2T1w$8U|_9$yo`Gk$mc-uV6T2jdUN*T)}?Z;U?{e&_;>Li;y=ZIiT@V=BivjqBh}9coY6aFcC7oNFtUB#UxH@rd;`+pmiJKFv6SpRAPpnDYnYcS~Z{q&MgNcU| z>l2SAHYOfRJdt=R@l4{m#0!a+60am)OT3YIEAdX^y~GEJj}o6GK1+O&_$u*D;=9BT ziJua`Bz{Z$k!X@^mTaDEnQWbGo7^JVF1b~5>*Th{?UOquYm@GzH|b9Xlc8iJ8A~RT zsbnUZOBRx)WF^@txpQ*YJQI@LC{MXFtDtJK!1ZByH)c1+c#+$nF$p9-czsYoi8 zN~BV$Oe&Wuq)Mqus#9v`)UK)BQr%KLQoT~Ur~0P)rv{|X_7VspC^8rcO?snmR4D zG<8PmtkgNF<*D;i7p5*wtxR2-x;%Ad>gv?Bsq0fWrfyEHPTiWiJ+&rvXX@_My{Y?C z52hYYtxr9g+L(GQ^+f8a)HA8)QZJ-lO1+YLE%ip~t<*cI_fj9EK1zL(`YiQD>Z{Z@ zsqa!hq<%{MlKL(6N2*D>S-N?;Wx92`ZF-AzyYyD+t<&44w@>ewu1&ks-n2g*Oo!5u zbS#}nr_z~pE?r2M(#+jTx>I`R^sedM(%sTM(!J8Vr~9V+rw63>Ob<@)l^&KJksg`e zC%s?#fb^L3xb%edf$7QVsp*5$)6+B4v(t0ahotAH4^JPNJ}P~5`k3@_>EqKUrcX|v znm#SPG<`<;tn@kQ<>~X&7p5;xuS{Q>zC3+p`s(zx>Fd)srf*KKPT!ioJ-sGF?4%q<>2PlKw6IN4iO-S*CfWWu|qeZDxy1yUbRZtuxzZw$JRCsm-`E-i$vJ z%!D$LOe~Ygq%xUIE>p;qGL=lH%+8rzGrMKFWqM?KWp>Z>&GgR<$n2RJoY^ZgEHffA zGP6%+zsv!dF`03h37G>klQUB@2WO^dW@ct*=4KAb%+DO2IWlup=IG2Znd36YXHLwV zoH;dfT4rhHjLcb?b27^_=Vva=T%1{%xioWm=E}^~nQJrGXKu{goLQZ@HFJArP3F$b z-I;qc_h%l=Je*mdc{H;z^H}DI%u|_XGS6jR$h?$!CG%S5jm%q_cQWr~KFEBO`6TmM z=8Mc%nQt=RWq!!~l=&s|Tjq~UlWenW^K8p(>ulTX7TI>$t+HEZx6N*!-7#C6b!WX< ze>Rv6Wh2>GHjzzbGud3WkS%2^*-qJ=v%6+@%XZ85$o9(ap6#3MpB<3hGdnoDS9Vx- zM0R9$pX`3w1F~bXUYuQ-y)=7y_R8$l*=w`cXK&2joL!y0HG6w@ zP4>?0-PwDy_h%o>KAc^jeKfl<`&jmg>{Hoivd?8-$i9?)CHq?TjqF?5ce3wgKgfP$ z+WRE?S@w(USJ`i}-(`Qu{*?VC`&;&pY?EBGT=QJZTnl|Tq#${b;|8*yu0Rh%XQ23Fshe1b~neL z|Mji6`WrRC9DAB$aBi>MFvAhKk>>yVn4_j>cSvr2?(p1^xubGN8~d2tak=AjCmMBf?$q3Axur&(VUDwM=j4{>&d*(# zyEwNpcWLhO+?B?Ab?(~S^|>2!H|JL8Zq41ETa&vpcX#gI-2J%+a}Vd%=N>gN`rpRf zW4R}c{Z#Im+;h1XaxWSEO76AX8@ab~@8sUgeUSSo_et)v+!wj8a^K{>%l(l1Dff$2 zU-SIW@V8t|zFEFSzIA@{e7k&y{I>ZW^0oOt`{Kz5^5J|upU&s=<$ULSmwfkp?|i@f z!2FQ>@cgL!{`s-_iTNq{Y57_CdHKWg3-XKdi}NStPsuOIFEx42%%7bUzNWme_j5D{7v~)`CIb0XrQK|5ClbmG`ZGTc*F2{eRx~ZvKP($N$ASewzP0|7HH`{I~h<^FQW) z&i|VKJzrC3TG*`6qR^_)rm%To%R>7?hr%|6?Fu^-b}G0Eo`SCsDAX0gg=isONEXtC zY$0DL7RrT=h0cXt3SA0a3xA$>_d@SNzrw)6kizi7sKWk*u~r#T6AP0Xc>b*W?@&_; z2Nk9jW)x-><`m`?4lNv3IHItiu&}VGaBN|5;e^6Tg;NSk3a1yA70xW2T{yRJUg3hm zMTHfGOA412t|(kpxTbJj;fBIZg;j-H3bz&RD6B2qRk){cU*UnmLxpvPM+zGXn+lH? zo-90Fc((9-;l;wsg;xu&7v3zqU3jAZSni!kHw#hzZQQl z)|8r-HY>F#wJNnKZC={4)V|cAv`uNd(hjAaO0JTp)|DP9Z76Lj zJzjdU^mOUj((|PkOD~sRExlfPv-Ec9-O~G|4@)1HJ}rG-`m*$O>D$uxr5{T_mwqk% zUaBcKEpJwCQEpXkQ{KG1Wx0L1LwTF>cI6$)JC$8!PuW)vln z$`_O`Dz7MCQogKwMfs}oHRbEdH^1J2t%O93ME`M77y!>VP>+-kd@5?`ye=h%8 z{=HmNX|5EtGP*LhGQKjg zGO049a!_SjWkzLIWlm*Y<?>i*_CrE z=T$DKTvS<6xukMg<=?UY{Ez2o(zMxT&0Dl=)w-rlTl38XH8opo*{-JjRvorB?}2Z> z!;U-E{;eMJYLVOH_4xzAx{&!rS*#{5pWTU0rp(_guF05x=#euUf5}{yPM!Z&mj5{4 z&b#dDoKu(ok56s4uHCx#=-I3H?tS|9>%Yf8?C5}jCS=c=nn5*#|6y!n!2g307_t{h zhYlM)V(*co_WAELu$YhAR~MceV3XPEJ8yJ)S8*1BkoA8EymF=3(Kz>f7J4;?qU4ehjEt1ul>QV8h^`X zIBII}tH!^%_cMr;44TACNIbZ#7EY5W?GUp0OmXZ&dTfd6)Lpz)*W4||d3 zXML&0uQ~Cn#;^JDYyP`TE^Kn{X`o}s8dQy6#}L12{B31S@T(qTwDxC~rSWTj@Taq@0Gp{uUt$yY- zn!d4rYv0FMnzgQe*1BruwQAyGAn(N7&K`l*`ht7F3TRsFD$8uOl|83*+<4ys?Y^pBSAW^_B5 z!(%Lse=Ezcn){^2bDva=Ut{pAX1-|*^G!8=jlr*)@z)r}Up0P>!LOQqRAbmjRpZwf z{HmGH8pC{6jbCH%t7ab!%Q&#^RkL5JX1`R;{aoh&_jA>Zr|v6^vuegIBKa9N)z2HP z^X+>}KWFLhEY0|6PR2)d+FBzSOS3O(e)dZ=pKa(foM>Vp^B6LQaK88t7alESFRqpw zGPiw(Elf_;^hY&&ziQT(YVIwnxet(UoaAT!!{!>mLxpFV@)~1T*M(tqz8h|B>a(uc z`_;F`*qXl=$%;p7&Vtd} z)^N+;+47S|``N>2%|FLz-Am?LdOItoZ0Yuv&RQD3_6NUe#z)(t&#GUvVqUT|?P^`x zRlU8XE0$)gbU)x6RpZyX_*Hu>-Nn)$TKXePrz}0d(p)cXi}6&AU)#d38oxdx;#VE9 zVs^K5!qWXkv)(5(uc=vN4(3Uuh57yybEqCFx{sl1Vup#opZLjxe~vlO#H(I!Y2xvd z|2ad=dB3Hfwsf?$`7UO25TCVl!P47WdOJ&RZ)umM{gw_`I$`OIrPmvMk2&ZA`UTM| z4et_tiKTC}biR%0zd5MOUwBr%ou#+8w9C>7OYh#cre?S~$b;@;=@Fv+hP#LkSbCY! zFNlAg;XR_)TN=N{^xoXGWe(c9*YG*f>l*0iE&l_eH&`*f&0i?(!e1$+&z8nNLi{fo zZm@LqZ>^em{=Ta1f5X_!s{vb@zm{wc^kasrL|<#T+|nzJ=I5Vn+d1ubH@sc+9+n<# z>EV{%$I@MmzSSI@$4tXnmYySemEl5j&@c4S;$Lm~(ds7;@#I`)sC~P@(km@}g{7~x z^yx-x-$LfEp{32iGr_BdMonMK6>t}RJOSiUkTT5?Y>8&i?+0wgMx{IZEvvhaS z^rf3=9w8y zxscD%aEx$})Eg{pYQ7Pi^087rUdS^l{*e;5k8ochpIs=QDm+-&-}vxP7kjA0Zzt_+ zFPtIeJW~_Tvp951`E;o_Py8YA^SnabYT+%yb;9+A%}x1aQxEby3&{`32gw7;19^Ud zr1cb3Ml*A&0%J*+uAz|#0N4}R6$e^j%l ztH!VAgn0ns_~T;#Ko=9L>qk5LDyWocL9bGUuW(`&fFk zrN>x$tm%WskFzxQUG;NMQ;lES!mk>?_8Grw{Ce&1s~%=_ovg39md3AZ3cqUnS{J|S zN#)t}#r#;J?_r>+f7vTAH8nXuCWQsK&2t;a81c+rqCJzqW;6HSOxpLTFbt_syX6 zll!J>{F)QLYW$iLzv>M}Yo9;1G=A+fe%1IjCw|rVH79=6cUWV!#?ss$wJ!HZ)%b&Q zUiek>{I8m4Y}NR+E`HU|8m;H`t)=nnx!_lgU+dymjlY@n2fyk~*10@p=@sVMX}c>e zjbGcsuNuF$gZQh~`O%ucm6fx#rSWS{{HpP5PW-C*xv}O)YyS2oM*F{&rSWS{{Ho8g z@}M=(4p!YAEsbC6;#bYj;k7?#&EvD``YnxL>*809U(XT0YJR_<`O%s`YGU+!W0uCR zIq|E;uQ~Cn=63{|AFcVbCPwq;ERA1t;#ZAdbK+OM+{%yE{2fh<=I>-_{F)QLYW$iL zziNJ$q5Vf|{;noQ^LMi}e$9zrHNUUXJZR0+$Ew@c()hJ5e%1UwMf0FF&mgPrU`ylI zy7*P&*K@?Ln%~1{&XLBi=ZMz2XpMi=>JM7$j<)KKu{3_ogI_g%&52+2)mDDA=AUF@ zv~QCwjbC%(SB+nD;#bWcRn24e$m`He&CmWU-}T~S?P=T%;$uFm??&-4N7T1Td|W5> zJtjWJN_~%uug3JNm*^&zZffafmfpams{XX){l zo?z*TmOjwZ%t6h`98^8U(o-#ckfjf{^fXIPw={EEpHI>H^M)A>Vzgc6yK3TfP26V1 zFST-_H78oah2zX75vtU;FUA70>-r^PYk>`L4Enr&+#g zF4OKUgqb*>VYPq8*A&CBnIWI|F#i#o{DU~k+mlb)Dww{IGfi&egH>((s$qRz6O%Xf zIhvXn)m7V+m5iT*GSyYvl=*9%L)&gn+s40}@pGsq4h^gR&Hma>wJplgzc#&7pPp`8;{}89eOscgQ(W z9x(^(E4GrKKjY_I;Xp&$fb;|3AmLyk=ZW8DGgD_Th zZ-DG_)(Ezit4%%P)n-lEwzkRIqCRnytF7g%HOe)g+8VDm=SKaiZLYJ{XTCDWm`kv# zO+M9j*>K`ae3d31YP{;IZN|*D?Hqecjw($Ks5w+uZPN~OlJ% zZThX+E}JLysxa5yo~Fkv(Y>rHjlHf3q!=b%hA zq`$iuYTtWUx|gNicQM)%Vr% z)%Vx()%V%*)%V--)%V@<)%V}>)t`gqYj_?y&eijfYmheQ#lAq9YWl01eyXN_s_B<% z`lFhDsHXj@HrJK0Vhn8?pKaIoLE`KCA$EOV#IEm;*!6u9yS`sy*Y{0qyMH=1+8?g_ z7<1V3Vr&C@TmyT21A9UPoA);Cd^{`KHqVB(J-LC+bBtZibFpo6KeBD^L$*Dwfz9)o zT|T3MJ+py5tARbcfjy^zJ-2~9uYr9?1N+bh_WTAmzi*|#>|Nc2-Gx1bJ%zo5JW~?S zdor+(u&=P6kY`=Wc@}{@d%%IhJ%xjWgM~wcdkKdMhY5!ZM+o;8jui6jO*>}QPXbB0-aolO}B&j{>2u&Pa&YRGfPYjNi}g3ouHTQft(6pl%m z5W~mJ$-;{-cF0A;jta}d-Gn2B#|cjnt`M#j?q)7Bc_s*_3Kt2_7G5iSQ}~^b4`kFo zU-*-7TQgbk??Yh-I9a$zc$@GM;XA??%z%*3YbF`|#7r{S)J!tiM!2moBAhK8 zw2u?FQ23*;-M)@LAnYidCY&jJWj`nGJ>gfv--WaGcghbF9wq!%_`9&}0Z!c3!a>3@ z!r8(Hg{{nD;rzz9MXA79n}I5f+70&Emr!H;WFIg*yv(6Yee?DcnbRo$%P%PW=;wubM?mzW0SY zn8l0j6-I?w;mN{f!g*$q6Mv-e2I0NJ&xNm;O@O$!h2ID}&v*QH2=5WjF`EPN8-+g! zXCLACe-xIFa_qsvlZ1B*n=Ew7Hy3sg7KBF$PZYj$v=jfa@EhT;!p#>s<+VbuaGG$I z@KE7^#ZLTGVb>EJdk^6_;erz#|H;Cqg*7KR{>mv1dkcpN4;5Z09Dk}4H$%8uc0C@ zCA?gCr|?1HW5TC|KM8*mZh5hjXKSHPxU;aIaES0!;RV7KhOL_X`Sb7&=BCN|(EC77 z+24B^axd&}%9oo1J;2g?T6(ah_pHREyfThP+dc374T6&VDr#H~& z8JqskvixZE&$aw$^&e{a(ds|k@}t$?Tl_p<_)L?Gn`(`@P-0q}m=laX$sF|UTJfW= zxAcvczS+{NEq$w{Z@2UsOW$efyDfdMrSG@&LzZ4==|?R6L<6no__XCmtN%I6k5>PS zmLIMDS1dnT{a0B2FD(6~rN6TD*OvZGG~>@0az4!enynl*5ndx~D!fj3y|9^ZGhuV# zO~RXntAwkCw+L?)?j&p>Y$!^+g`jPM2F zOG20MHQ^gVx6mW>2?N5QFd~cz6T+l0B}@x5!o097>?+({xQFm7;n%_u!o7tfg~tky z6P_SkDqJQ!Q+SbZr6HeV_`Cx790FSlUm5P$ZNyFq+Y0mMd5w5J&%hmpO@y(Ljz2rX zVfAy3`HU4cO|r&f2KqBM)|PFvrfi!vW!tO~+iuywW{ue8tP$JZyn)SHvCCOAw$0kH zZPt)&cTn4W=G60JT~%Ym$2m6iah?r*oNGfL=iAW7IXCoi-VJ@6dqW@R-_XYxH1shJ z4SkG7Lm%VO(8riG^wI7#b5zHrr88Fak3EDk_L^(WQ7v!r*K+dJ*VTDs=9+ySn8UWs zT()iIv~8c+p#0#$e=Tp;pnPhB^8Ff=^Xz2j=QEsb^O?)G`7CDJeAcsVo{epr&)Bxj zXGYtOPx`CfxSx=*2Xe?sfNgx3A2W%EDl-fsFzpV@y}ntfXLC)(us zgL-K89nO<`C1jt0>@Sdg1+t$&_7TYb0ogYo`vqj5fb0*|aw3aZ9gW9Ut?L+{wu{zw(b_Ir+oc}u^4X6zx!!2n zR85v4%`1YRcO^BDG3!fS+lrp3?aS;%Ku$mdwd=P$_TSIB2q$mdqb zXI9APRmf*m$mdkZXH>}NQ^;pIxIws4xJme!@NprZUy0{4D&#XMde9ttZul4*VyH{K>%>QHwb5K7=JXAQ#88IbXpU-K z(+2bKJ#*COGd^NIF~@!8sK%Kb#L+J2teP>Rf7Sk*XH@kw2dGD%$z#{yde)zh>Cazs znB2Ba{pvXxKjTZTyUf8DRr_N4iXTmTkC}sWWG!LqIIlLEx*No`{XW5#m5i6;-&hWSz*Bctoj*J%36 znj{~z$LtAX)8B_EH+|Ll->_ZvSL00IpEU8D3u{cT%dvNuJmq{CQ~Z~jgZ8T9VEXyI(VPe8ex*68IZRu`QlBy8eAsJfo4t+tIzFsj z_C3Y~z0n-(Q`poYu6nLgPClIj#FOg|a}fWM*t9`^nG1|5b@aNuYBV{kwmEP1zG@#$ zed5v8^EEbQ^?kMMYP`wMS|mT`Rh_#gMt#-u6Pxkj`qD?rDWeYKf=xcg?*q~Fojq9d zR@*au#m79Qo@%}R)%Hvb>$JKrm>jA(SMBrvwT?}n-ZkZ%r=GXkdJgRK%qPu3A9U_& zyZE@?oFhKw7CAW=Y&3I4X+RN;G-CFk0K;xx$z=Yi9iUyrG(Vy=tB} zRP(%{n&%DGJa4Gxc|$eN8>)HUsA|&>ecrHbe70TR2Z^umhuHOf5xc%WV%PUc?D~F* zUEepc?f%hr{n(gtY`cHhcK^_J|FE@xjJtXKt{G&GG3H=z7;ourMi0Yp;>L=97Pg6- zZdiSmGTL0G>U$Pi|6pQF9de;pHLzD>n|gf>tND$dZ9coUAM5y26V2xm^KeECzhmc_ z9KEIS-)WxTnP+@%Xm^15-M@Lh<}(B3^n*U5r&*f6RiJ+QquQjc*Zqy|ZVu`Wu=MV# zO^$I!k1>boLbVUn|BFxh(3^7UgKGL!X@BRGVS0UN=1l>Y&M^8meXtRFkKwB^IsMU*oE_$!C{oJ&mP| zqdHeiF0HF`$1c;l8cW%>0q5Nt=8A1=+x2ta1sJKlW$au5Y)+ z-}YqnbRb z@$>H-$b-MC%~&%oX>*VRQr_Kgrs#2o9Qa{%3{AZrMl*Kgt*(J)j*opt^AJle>T*rY zvajk%hO~>Hb-=YkPc~$%(ESZLRMTfP?adL*x~AXw(bc-9A87hf?U$4tDsjY*MVmM@ zZC3XOv8h+JO+ETW|Cp0p2hNK+)$=p)lyeL)2Yo;f5zRbcp5foiaGq$chqli(W(>(m zf4W&V_f+l^)pv7@&Re=*Y3>ag!+lG2+0qqDbFb1E?o(B5+NP~+1G~O`DX;H?*!BGo zyS^`C*Y`*4`aX$W-!HN2`zE&CKianYhi&%{+wLFQ?jN?@KWw{y*mnQ0?fzlg{lm8V zM_YFPu(f|&TjnBjp1IYmiTS>JGpFDl!s%B!cG&pv?f__r_|goAug`Y4>#+`}NV{JxckD&d-?`G?%~<&4 zndLAg?Rv~RDfkDOpYy>_Sipvl9p`ZTi4Gqf>+r>+9eSmo8_aVI@!NBO45vsxf0cF~ zm-AS>r&E6WV27^{arn@9htJ4)wwHPz$T&4w=#;mR{_ZRM;#9|HzA|60k^ZcedC9wHE8{~ z{$v@KM}o#5LKP~M&vD7L5PR6CdIYyXAZzk$vO=S;u-k9+m!mC)fFK8TT9HJi5rZ z&XxJ{u3U$ohCBVyd9`*w$99c&xJu$D%lVvll;iKc&|z_z!|!Dt_mOqI!?}+CcTeJKW(inV0v?a_r?YzxO`bvG0?4QI`F(vy4Ye;T1CPpONu@Uh*9$^T#9Y-y-9+ zvy4CQ?$VC|(tqCB#ePQeb(QOS-!R8NO7_D!lIL|PkIVYlFwcqGMdtbb!U@9Dgu`Wh z+#~(u9cS9@u-M^`vfp)-dHkF33z=`f3Zu)N_**V?_`1a1F6VQDth)~eIpqVSzmLke zy(=6n*ZV>_&lba-_({U9a^6=7$M5Tu^KSy^_nD(5evHEP)dZ=UbvlQCzE9@g2Bpfc}_prpBDqJG$D)aDY;e9e6 zb)Rm%z^T_wI7_Zm^M#K8v!fl(U-VawkbS7V%%`)3O=LcI5fa{wQm^|v zavlGW`LeTI_qn5;_|LmHt)ABo(tcRh$*ppoCkYqIJm{siaJ^jrpM`q;hsiuxE_}Pe z{9i5epyx=ZA47#>M>%#>*4@*xj$RT@mi_K};frz}1IIY^S_yUjj22txQBl_SLvmkp z$$fW-aJbAbU7z|~TPyp}a3TMOgZZG(FS_r)BJ*!!gL&wg;l%5Fyz&soF3G&SQK6p?d9U-o!}(4<{ruLCFVHsEv#0R6f@5E}vlF*NSBIU1eTO*ZPx6KC zrrt9P9QL@_iCbdG&mh>QI8;xzG`CpZqtuvcnPpeYO%A^2mFYkZZWF5KG&esNF$aD$ zf5SxeRM86z?U;j&&HL#u8QvoLYs1^k!FOJ~E#$j5u=Tq(o)!BQ;j6;egdYk&7A8zH zwDXa%?>C3)2SoS%AOVpeITm&P7u}fRWVMVJuUq;}OTT65cP#y`rQf&o2bN|GwJpX?HDjupb6H~!#)omZS2X=pOA?1*ANcpi+4k?F}L&}ela!5I(98$hm$|2>D za!C2{QVuDHltao-m2!xEir5f)iP#YP1hFCZxne`?rD8+utHp-24{0A#exsB_$|2>D z^3_rfDTkCp%5Ro(NI9e&QodHoA@-eOL*gOvkn;Pa9AfkLkeIKKct|{?{2nQXltaoP z<@^mL>O<^j#D>_{iw&s{sShb%FXa$>o!Aij5wRimA;OK~hxi{B8)82yHpG5XY)C&K z{ZPBF*s!fx(_zDiIX1Vn`uTfO>PM@;kL5?Jzj}_6r+S{EtLJKIjjx`w_^anFx_SB-cFLS<|C>Jsg*o*_z97#*3EZxh}_Bipkwx}C5)VgS`i%wfHng_q; zL2I74(V7RXdC-~%t$EOz2i?yc^e17cdC(e<)_AnW6RT~ZH6EYlL93s>s2{C$(Hc{* zV$d3c)^kB?e94MItG{ftwuRO_Xw8Gx_=**SR)0rJcQRUYqBW+omVGj9=HR@thBHLxEKO|HZ=Sz>=J9F|V-F@y>;Vnzfeq|E8`y&y*yJL= z?tiqcI&W$EuYSf$HT_e~xuDsXG!I(ypfwL#^Pn{kTJyw>);wsH}GjrwB|%>PPFDkYfdzW-d9;Ks#!0pSud)| zshahMW^QO*wAMvyU9{FkYu&ifS{JQ#(OMU+bB{n`h;-{IGL99r*jsx@BkarpHfhh{D4 zIij^)wDuFNc~~zRgH}IlLGz$B2CaF}tOwdfYh8R=7p-;CS{H4{>-EK_bTK&vz^`q6#`KlkSe$H3@X!Ud5)Q?s_*I)f;^>c02 zk5)fxT>WVEv#!;TRzH0pFXxD+ZPnye&HPc#-j3$HRMVDf@}s#2>3FK9U9^s;YW3@Q z;@9y+>v*cxcpXptI-Y19Pt_W)ejh*ZitEPu1jCt?QkftP%CA=DHBWdLf3fP)$zNv$?6SZELx0 zQ;whb>b13O))Dy_H@km2j`*mrHt}lP{h|DC+4RGXCq~;tb5PD4p)C%|ZClIjc%6@$ z&$fxzYpmysO)TR@e%sb~&2N|Eqnvq5-}L;k?dxUR#OwUg^Z9$W=GSuVuRe=tIkw$D z+onCWwSVk48c(^}nqO^=*Jl>$aQ?PUeSKcxd~93$r_UY@ZEa7>X^;Ha%nh9%f6KPV zmvXgfADgyxd>h(YMt<5;Tl=Rr{nK({H6P{JP|IoG&Zqs+a?0>wvo~oD+tz&C`)LcC z^HE!`2e#e5ZEHN`c09Rsyotxwa{SmF^vAZz$FmWA*ZOgz$=}e{e3Ung$F|Gu{t$2X zN6$_3V>2FFU(3~If3frH{-E`B{j06(Rc)PLwr%$hKkaKdw9g;gjz`dBJ zGk>U~{k7Ytf1Drn$%D=HLu>!^`f5JyA2vVpA)a%1T5QI%-rmf)7h`j<_S%Y%e$cn- z^PKU~o{oD);xxBj1L_h_pZb`CocJh5(LTi|@ZC{U*+4J7Y6`knw|Qu^BgP#u4r&^a~ju{EP!+93bNW83)KXK*j+E#UB>N zh5R0$@|18FVHe@9LSEw{u1**db~WVL)n~|aEYHAvuGD8*{CgN%V+L4ypcRkS7(Rn) z9<=)TEUJFA`UhKnwEBlwel)*}^9uup{4NUO4~h-3>%@lGA+aHLSZv7evLL_9f|Rp{ z$PcmEGq54?ka$RWOv)j4Tx>`@Bpy=E&l1Q7DTkCp%2~^lL&_oLkaG4c$|2>Da!5J% z0?Hxfka9>ldmZJ~J~(lNPb9uNICak$|2>Da!5IQEai}L zNI9gO`!(f|a!5I(oabZ8A?1*ANI9R;D2J3o$|2?KuarZ|A?1*Ao`)%iltaoP<=pQm zhm=FgA?4hUD2J3o$|2?4hbV`XL&_oL?BkR}$|2>Da_%jZL&_oLkn-MA4k?F}L&~`~ zP#;nbDTkEzk#dO5y^45<-A`;teMo)C`lX)%bMP5iwfcjWAFck7!tTNz!k)rj!rsE&g?)s5h5dy6g?k7G2nPyz zy_EI`33mTK{!!(pm36KvT%xUs_-D;!9rdWrQPYm8N!*uSwi0XBaV0f;9McEdt&pNC*(Cx zIA3^}ko!OWBZNE$U@s6JXC^H6V#D@^Jg-5XcOcI@kmnKji;(ZN!Coo6RCu|N@6Dk6 zYT-LVzQYAS-wOdB6!KjP*p~?T4hn3(#|B;{yheDf@OmNND?uFJsRCCEZx!-g6!`g` z4S1*UZXw^Vf&YHtL&9}JzQ=*`4Z@AWO~S{7d1mD&cdCAy9jp`b`kC->?-Ug>@Msf>?!Oe>@D0~*hkn`*iYDBxQB3n zaG-Ec;UM8);Sk|o!lA-p!r{UZ!o7tfg`MjBu=QoFVJ;5?Qa8 z3a=C1D7->=x$tVAb3L1y8y446_dxvI z10nZ7$UP8p4}{zUA@@MYJrHsagx!Sy+pkaKb#dlHb+{Z*PeT-waxGT|A*Glgdf&la8|JXg3}c%JZl;RV7Ag%=4g7OoJk6n-nb zRCt;2a^V%iD}`4H`3_air)9w5&0?<-t`^=Ryj6Ic@OI%H!ZpIR!aIe0*DLMZExbo~ zukb$M{lW)?4+Y+KPCK9_?+-7;q$`A>*-vl#_Q>fL*x2% z#-VY2I^)o|-#X*axZgVC(0KoJ#zF6&ugZP&HDOkMPHKL2UcLY4g#}?zSQ3_n6=6qV zCt+hgXB_|4@#Eb(p2K*j74ohrdS3sodE9WG{&&~q{}1QEciyp2r_G@{DVqC$YVHN9 z+0RsSPf*Q$K{fXV)!ZLcbB|EXeWI$({U>U4H*>_yp?@p8djq>i1DoG_+420m#kPAl zu=)MFUCw(%w%xaZ&F?Gia^5ep?L8XUyl-Te^Lqo^=J#v1J*a`r`$%>sm zg7h6SHjpua)$=juM!%}DM$@)x@>b8u_|esNnmPTTFB(UF#-N$hx3$)X)$=tmhnw;4 zZw~&h3-9J~&>!B43hNqeVg*QpLTgtne7o_of=Q_Ol6o+4$fyCd*3^?4zytD?-l70^x z=h$38{QR9^*za_Q{5@T4{?0Ds@9M&qQg6noj=h)UJ9@rjA7)-+Bd(RSyKtIg^LK=+ zeqllSJ4?>vHZvibHgo>HSJK2V-_@pXw$0eu_KD^i*!G$kf3@kOUH-znzuK>vKG@|W z%ot;{&dxF855Hhy8SZM@h8>07gn=eatNzg}1XHfxM}DW+O$Ryt!-UI)`hDe3h<#Df ziR;|L$*13AK9mJz@{SiCB6Kx(;?_vL1I5pLA-=zqpCk5V!cEfe>%`XY(SBp8lkYq6 zH#1{Ho;M`_&SLi#a{VYjM7V9qvGx158-D+~e*boJ8P66%{W~6g#n$g>A0_r|;gQ0l z{tlBYSks>wGn{^GkhnL5n|VvUy@cb0 z$2OpTzxcJ{UoCt(xeF@iilFIAlT@Lf}n^3 zD#fEn5kWx(l&TavHWU?6Y;>?83MzIi*nXD(ce1-AFE7az4wS!aK9kvIB3+~2yKRUVi@UpIL`M(oz*@u#SAA6+)@@qba5r)hkkjM8_SJa9w( z&vbdHE)UXpjK&{p{E5bOo2q($>T)%CUJ^;P&X%^#%kel2&8F2AMmZjFD_czhq# zPV;68m)7`BP2W*P>EEQwXY^Haoi*;_E05OY=^8((@q-$#(Ri=MKWJ>eQzhS~6hD{J zxR=I{XuLz?t{k^SE_clYH7>gRhvxU!dt&iatQ|Z`Sx; zjYnxbSj(C3Lk#8^BlhI1r|j9U%fE6yAoNZemuR8NGj%z;E+5ePX6bc$j>gW-L)2fO z53|4xdYpM7z=<-_{_tUuO5GB`2WAhyk^F4(Dntr{;6ErS+s?ys? zm+KBydWLG;@KjYc-(lFK>04W=dcWyd@;cjo&IrF8i&t^Z72 zzDeUz8n4p0vOZ7faE)r`@^-471-ksuX{uc9TE#ctgXpTu*-uyeak@Om$aPfo!e=Nv zdbp}TMdOECsqzwCUZ=|jcO0SkmuPIhH!(q%H)~v~wUVoJox)8ztM*#y@+@68-wnH8 zufO?6D)~j{DEW07x9_UTe`vkg+bB8n-HIPI{|AjroU7y;YFu`dk}v1O=6e^-w7w~t zf4VN;rE!_=N?(`jl^*k*IP-ms{aUU{PbFu*|8kEmZ`9a)hv%ysl%Be66*k|4Idils zpQG`Z3zfcQ7scXlH9w)9l7Hx8#eeliReoLLs+vDee{W*j7{yhkEZs$Q$hmE0U%{$1mwaf<)m z6^dW+N`?Dq`f^uOc* zrR(+8_z_LtHcYpp>0Ku(J(pA&d?%)wrVrA1qQ<**J0I(^ zJz3TNP1F16^5q)$8>#Hut;>5gZhX3`_q#4X+enpHU$5k^x>E-|~pZ)o~+8XwYlujcQVuIiib+iaVl>V2c} zoih~wdyNasROLF8lw2uYZaPcRcWb;y<1rflHe2zF+^O*IQ&jyab5wawCxxHVAY;aQ4a{ceSqY5bDLe`)--ma8{k)i>YwX|q7p`%~k$JFD_H8uziw$e zNsClD?_z~#YW(bdO1|gW3je0de`%a_zoO^UxTwZ0G`5zaFAZsE1tru+V}F&aJ@gl0 zZU9~aUIyfRCIOJ246jgJT$XQ82%Yp6ba{3*0q~}U$T-Ph3W*{ckP^Hyp1cvw8bm{v zJiqKsa^1?GX|g6NXRkc$Fu zKzqg`UlLj(zRT+K-#U*BRjg|8iz8cH(@T2zWj%S3mGl#`r2$FF@XL}<)@4Oi`_BSs z!l~e)SMuZ?9{Q^I+AOQ>ujHdw^OS3N@~U;Ue-rc;@HSA5wrT*ifO^0?&|dS@dk2~< zd2;#4n>Hg;2cAi_Jarm*=!RcU^A85_M5ckKzLc9F*T_c`db5!Fr)qi=U!4}3-qJ&F z?#YWzNv)u@37{)3{};gf6NQmciy2R@69r4A+$G<`4a3;-F3`mXTs4NdT1k8DZwT&CrQ zdFVqud8zX*@E-6!&>#7Mz+heP18AQiKa}z?U^`G4y+u8KSp)3=GS~X_UJHGsrj79N z#`wxKM8#~{zK>^ssAf^x%4GzI{E9N{p^ud z9M-h}n(%Hweuj^Cqt7mpyD5Ms^jXxs(^r2V^pAm0fc=0?UHR5~RqQ-K`2plV1xtDx zx(z*x?t`N89viLG_UKMRR#FxZO;Ox^61;2y{A|>f_YQiKyx+>7@@U%U9!9PJee#aI zpp?faTR@i!dFc5(dC_qY_yYJ6cpjd-oik_En$-Im_y+hEs7~88f!f-J@1VWzk>3J62W{u_wf}}khAK{~t93}Bwuj%? zLsycPb;w7n?~yk$g1^vm4SoDmeDy`Pu}?;5&9z*s0D0k`;;YkA%bn_>xA5epj-=KB zw6-4FX`Z~QVOhVSyS>)`y&-}-1jwEdVsA&E?CDzWEDybtCoj$X0Q?C21RMs=rp`G) zUB>ih%I|3TbD?bm-_#OBkFaY^Mzz|*U4``nwe>LT6fE_>)^cM5@X)Ux*ks0pOI~@8bO}oy= zyGfVF`sg%gjfZwCa2@r%X%e&vT7I6!hJU-KJcax;Px(jke{SR|5Did1!S!dDGrDXj?RWR{(#9ht}DXujPrM zE*^Rf5B)EX?WVo=q3!n2cY5;gdh*NAxkT%I2)x46hS4SXBTt?GdGcPFKRxvQo_vk~ zog1LNpy?X}_%C~Cbv=30-ganPHGOvgf2W6bwkKcPbor~$q`y738`=lZ_IT*K zJo)!L`L*a=t@S<*e$>;3(Ixm1=xa3Zi2#|$G_5eWXaK(mv|>P4;Jg6-xzM_K=vV0c zl^&Yco~tyyUjYC50Giaj!ABph%QyPyB0Jwl`+)L$nzql!6ZyRXv`?UY2)wU(AA>*A zd8uR4{s7vS&<<+)w*maG189e!eFc1>dEbG*(RtIB;O~93Z$0twwI}bb^NptO3*mq4 zp_lgQH+srIujh$dLl;~>fc~9F=QFIQ6Fuwe)0Ec%*?}BDPErzX|<4AjPBaUCMj3{7MhKDYRyqE_Ht;KNbEN;7%U8@J#yJL;sTe zbdSC-C?C}Phdgwtd!eV^@8s|B@kORT^Z{D#50AX?OnO|?UkTt3gZ8jT?<17giX31I z_N6DGJqBD0tn$<|V)>yL08AP|el>E*;PM{2;lB#)Wnd(*#-nd51u%^rF^X!U_z znx`b({q@k_M7|BUZGg-HXrFrMqshPJ(f={!eVYG7=`JoR>KnNPrLJ@n55>Ka`?Y2J2^yx|Gnq3PKYy;S_G%iDbPEK>H- zq~!z`_#v~#8>{@ zQ~r*8Z(aW0L;ul}KkUg%TPFRc>EDF#&-c(r>ij4V&FFbAfF`{6HT}yF{#VfD{pRxi z^2&feRnoL70X&g?Nz=E7@Z}rp-c&t@D%IE6%aeQ~5B&}DZ+gmS`u$ z&CuQqpugdxosrwC$+BLgycyU8yyoMHB+D1J!NnIW@-BD5dNK- zJ|~2Km!{7R;Magw%R{e2ejZR0sO_QGC4aZ4?6vP6O`jjaU!dvthVbvx^!o$&4WKph z(3|LdLvUjc{S;5$Yg=>ZEj_$eI^P0(s)yd%llRtd2faOT8qgs?=1gdvfwO?K1Ni4b z>+YfV)cJ1U9v=Gnp1imHi=p@O@GjN)%fMH7=vR?n=qVc=mqWYKL+?j^kuERx(2cy{ z2Q>Y`5dIQPUmC(+27Mqf*ux)6ez~V?+8YFIh=+bP`4zgn(nB}$f*;cKhePIn-Y)?%A41#fp?~Db8$I`wSGoBb8@j=( zHT|s+{yUofb_hSQg3^>jW24vL+?rk~gkMF|+lKJlYkJ2JekV;I62iYs(}#uduhH}o zA^ht!{rV984VpeKgg;)>_l593*7Vy#_!BgJatQx+P5&f>zhBcI4&krT^wlB!HJbiq z2>&Zh|2l;KjfZ|`Jrxz5H8wF~a2HMQ8p1zM)4PZ8dusXxA^eLp{gM!VZ%ywL!oN(@ zuMFY$)ARu${9(|q0fqx30%S%)8wK0|j1J(Bfp!ycUjR>h_>-nT9Kv6%>1#vyk81kk zA^aybeO(Cu8BKpKguhH!{Js4A;4((JjQ~;x7UvT1i$`E1Q+w%3?zuY?Zev zINximbcE*3ROXvxRUuU4S@#-VhLf+!8wzUkc7(c=eBt2m>&Mmb5*j##hE^l1F}WsQ zmXkk)y*%*NjPFynh~u_|aw^a&j-v>ztu|I$vh8@HynUQZ2cD_#$n)x*;G7x9CHkCa z=mQuI>1_60c$&Ve^922Qabn$gg1!gTp3W2Vacl?|@a+6W*2R25tXCYnw{@x2$Lecc zW?k-l9mOwjr9-&NPuAsr&KFbE_fmpI1_qNI>L9+SGK8Ew;1r*(=4&d~Sl2q=PEl`e zjg`5MucwUSizzoaUrCAOsnU(0F;4cTIQGrfSZka^9UsS2gj=jzt=p^#)Yl=11nr6xE@bO6=)(A^8teMsrL+NeLI$Mr1Xxph5T0TF_k+^W77`qHr-|Iw)Sx6qulrCPw#7j-1``xKD72) zA3@$1&(f5SLpgHK-+t#FKXZSdU-UEU^O*bHV)IAkh{Oa)1hz{ zobR3cjKW3a4y5q(6L%)by+~o{moSDy|CM`Z-fRiPZ8~${H(r5134A!32miscpQ}#%14m+nEbPuP|mpig{9y_m{FG3=}?K!0~ zDm_@9P6$t))2{%b!nT}d6%Ex;3{LS-ZV9`jE%$+jrP2{R_b$({+GQha%YC8IDLEC1 z@{#-skzB5AM)3X5Tg2Mwze_ciE2SzCx`kggl3y)?Tivc<%U!CqLS*Fb)jB}kKz=>D zzTE&$!$2)4i4Siy=tfichq{-U9g>W$#6Muw$FmrIgYL*8|Kp@ zceJ|c+L)5ihsRJx#FX56DtBERcceWkjuu<%`bho_5!}%cJZa-bdrYLnP4>-^{IL<- zarSuomI(f>5j@rZ+ae_<*b^i9lOnm3Bf0!z7|BnG;7*C)Nx!Dr(;_9N+jm6rXGCyk z+OzE05&SzNc*^Hv!=SK49MRMd|c zn!;B!5{Xm;dNe;jf6~uZ-mK&s{3~hwW9VNUV zB$p==BKa>wa=DHZ$=?vkzbE-Wd?d->A8-MoRGyaU}n>NG|`Sq{81E$$uk~ z`(`BfE&J_A{yUM}Es zO6~U|`R_+^xgXER|1hS!H>M=EeH2647gO@v{&6Ii>xhy3{gGUrGLGbb8p-9pX&?V{ zU)kT6gOU6%BDuj&_q#286;u1`n370+6GQnnrsQf-x$h#m@z1oz*8e`0+CN0{e~jd+ z_ilLGI~*hbb4*F(eu<&{8dLJ>k^FCwT%K8s{8~cQuzh#~mOr`c;KK|daG%v0dql>#{W6JU#neZe}$48~Gr{Ywdpl9Q} z+RQsgyfim&o{V-WvAIT(wl$9Aa-BPpFJEPhN=+mA%_6y6?T+NPh~#p$JCZN2QjJRT z%GB`GI+Dw^?nr*yNG|t+MDkCIx>mv1;k@;gRyc_Jo~-zk#ImHJ5jS&>|> z@JI5`j^uLvKazh=B$ubcBKhY=a(P}llHVoWGNd8rkT+8Yg z$?qS@<<721{=i5s?=y+y502#WBtj&AXe5_^o+A0fBDvgE9Lc{nlFPqWk^B*nT;9GC z$sZZX<$mW#{`HYu?v#$?kB;Q>-&Z7GUPv32Zi?jJ9Lcq;v61|7kzAg(i{#%D$>p6n zk^I{txxA4kl0Pw$Ygv<0;ZKg_-yX^3EeetRDUn?MmrI2|EfxOsRQPv9@@GVHN=v@5vrlj+IjNO2S@b75niIK~T4Y2rakAu-0GoVqv?V$BY%7^Wr45-} z)Gg)gbI@)ggKVR-gd?BB(Ic%V<&?chN?RhM_c@^yPu(w^{g<+rwvtwg_mWnM$C6TBYNUG9~aeMyH>#F3HFgo{1w z_d5Fn&OWEJ&*kiMJNrD&KCiRS=j`)4`vT6sptCRJ>MGGbL}ohL$|2tBc^Q>&b_PnNxaXgIRZDN&1LDMzNXvoGW9%RBoD z&R)FH)#-KDY)-o+oqb|O;X2wTOAIFwjgGcTPA#XkY>u@BoxS6EB*eoKrAavxvpJe` zC_PYCW>fwbx{~bb$mh(V=%SNXFtE>=*j;22FBXc#EqNs)+PXUWCnxrEWCl6=k4oJd3^Ide0~nVV=B@5tQZ?4^~JiMJiePZpgC%JQx<)023TLi!?4Mqq6Y$xAe{ zC*Iiaa`r?idEzk1nMX-1jM7tQcBpxzqH(38Q|%|`)tY6jCH4}Xy_)+;GP|KLXW6s1 zAR`p%7nI4l9NTg`>r!6Y6brLD`|Qp>i?h$hULq$^?O9cbqRFz_NL)!2-zi4w-Gt~-|LU_X2 zPZmF0&MKNfPR3MPPjDh3!HI+f$J-7CIy%`Wz9+s+WWKX!U1HA)fOq#D(V!wEXJU5f zU1fzya8|#BoKEE60g;qQPEdI)lyy(+Oqg7Td=il)`}_{wskKtZm^dsc@#Ex?l(`{R z=~=J(BBOvF$J)sfGYQUUCcw=@-tmt!MncI2MLd~+r0m6q&YrxCoyZh&yu>p>4#jdb zSdIqEsVhF@IUz@b<*WcgFJwD==rYz8)`}j9E6X`XD9_uDHrvr=JAShrU)fHa$SZm2 zy=Y^fm%Yq2**mevUgkwvXD=RrxSJF9=Z9n=j7?H>}!Sm$k}S>PfB&&?~|feg#IS zl2zH+it-$nyH)k%4Kx}hl<^}Lwk*Q9n$wABCv z2SY8S;$?#Ch&@V=mtWm^7R~545~?+MN=?-=HEP6BYHEpK`;1<}!R`C&d23YU8M#_) zvUhWeqRNJA_=06KbkXLoulORPxJK60s>@S(Mo&HRvema55Fy^Z^1ApX80uyIwOujBL<*gf^PmLd6BO{c0saO%F zv!UhR8aYo^HsSWhB=Kh^-mR zH>DOl!>P8GM{=et6ay`Is+L-Mk!q_*+&M$D$_xvO$@VmNA(824_brmQR#omJs%zS}H0SwYeVQcLR9 zXWzxCUEkTOwMbT|b0}8S=Kk8$ETDoX->Fh90e=X#zecb^|u zPmo_}UBw4S`&$F7f$T*~f2*(4vUfMg%E;zwP__H(r_Wuw$qnYoaNo1P#_*ZLo7u+3cwLP^ zPo7MV--cS_*_3U!9MOL(PpQk6KKqWfwD>G_zm0Nw6FU}zJ)wr-p+ME6FlnZn@srDVK> zX0V?hR`zRh-@#*Qh{l;{o)y!7p(;x(Yc|_--L}w8Qtv{Ml6XP(qEq@WDX9O#@4hJjeU>0 zBUyz7JGRbEs%p~mLCl1fMHUg_ccc24ijoHz49^Yh^_Qe7j$GbFk=fAO4-tuI0 z8=5LdjlV0Ya(DBlD0k}$F+Bb=v;W3&(J4vI|9gn^Df&3T6Ua{7tMQNT|E##tS8*6U z|5dwAlOemz?tf5B_-SHF{P9n%hi?3vdE^@IkAI~%YW(BpephF<8jD1?nt_HAg_R{y z5t=dr3kiXvx=Y0DWYgH1i-lO_5Me#>}|-wFqoLXk~YK6$&J z{0^E<4+R@7=IEs2aG4X0YD^Sm67|xSGg1bddfY|t+hRSd`0ltE>CBIQx6enHbARK> z$WG$jjM8WK3~v%gJvpyczwCrpFLZvJetRuaTBVlSlt;~Zw9rJt-Mmt6EmPaY>IkT8 zb!+!@^aaJYl9}X;UgloicK?r(>*kVND>F0KjsL)uzLnOAz18CloN3)M(}Q8U(rQbr zT$r~1BHfMo`1m(RS>=~_erEV9s{M@UkJ6Xk{K|dX@2>wJPSG~3Mldz~8SzDYoz(uLi?5MUins5Q�d8dKaM6P2qCKpW|BP=8nz^ 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 `lr~@my1h(o!FhfZiF5RcT7nk(nI4 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%0AHs z0$Hx+zaF`>8((T2|1*n$nf-%9_3>3Np9tjmKt2`7jOT>~CTImSw1O#G!5seDg0>T_ zV2)NWM=Qi}%Gzni5m_8ZWN{pk84nBxMgxN)O$ZE5V3D%T#xk>U&3HjQSurC}$tBdx z()woVr}Pib9b+1IqNa$iDNfZCa!y`YV2&u{98t(QqL6c12BwhZ46>X+mg5rw<77Eb zmg8hO&P@u;kd>SxD>+M6Gu=VGP9PqqFf*aoiG*J93B67w^qT3(>2(6}IE9%LM286R zBAgOo<^+0Z)9N*|Tdxz{dc}9^b*fu0K4B5ce(csud=wHqs(IKKoJ<3DK``$UW8L3u$4?@KZ+!_(X!S(GcQaudAkuQUQ4I6 z#Fl}g>_@E-Th~-IgEJ?{9mp6j<0%>0TFYfW$}F}G6oHYMTxGd!Ajb#tsX%5AHC5S< zflBP+Az*ex6y8cwj~1nHFh6e^Z?9 z(S=%Clcs3JD(CxwBJHV}K2J=qc%R=iKBm`9{dSS!wKUUVp|*t4FG9R%&b;#|KkVrh zuceu;m9nL!80}bE;#k*P^0VlE@)r?l6LWIh^V9etHNS#z4$jEtcbFb=&#xVq_EJed z&ko0Y_k8njH-1iayXSlN>y(C#Z|}iwe1=c43p=p`+p!Iw;A4D*5AgxE;(fe_ckvG1 z##`8e&3F@=@CG(w1J+|5*5Y-n!D_6+O02+gEW>M9idV4&iCBzRum}sW0123nd6L3&$2u5uLp;p7jx9;N} z?&4omqY8K6hYwzOP>BkZqYQ4iPzonXa2vO96aSzXMJPl89LPr=?8rq9vXKQFtjL4~ z88E{HBMeAK8uYk=boWoh1!D*brN&Jdm z@H2kG3H*p3a2&^Q6i4tqlJOl5<6C@#LpX>7*pDRa!`Il0ukavf#7=@7-f#Dd2p%{X}h(!#Z!XP{e1p_ev(ddtU=!+=yL2vXzPdtH0 z^gwrXLsxXcL3&$2u5uLp;p7jH}B&f?&4omqY8K6hYwzOP>BkZqYQ4iPzonXa2vO96aSzX zMJPl89LPr=?8rq9vXKQFtjL4~88E{HBMeAK8uYk=boWoh1!D*brN&Jdm@H2kG3H*p3a2&^Q6i4tqlJOl5<6C@#LpX>7*pDRa z!`Il0uka~c0 z>9#FN{E5sYW343qh-FgKg-J~pCpF!f)b!J&rr#$uy^_RVB1vlcR}z1PB*{~rWcnn@ z@pE)iS;y!kr!P7wv)AM#PjOYBB>tq^U=i-z7tyytL{DE4$BN)SE~0Ckh|VJ-%ChLR zD2t*++$Tc*84+_2ia1^bo1BsPj;MEta9M=(ks^)|A@z`mx@{t+T$ORXh}ZWe_38U% zlK5F-QWS-^fA!WR{%4j+&U+N~Ld9}J<#I#iazo{EL&b7K<#I#iazo{EL&b7KgT!)) zEH_jvH&iY+R4zAEEH_jxH1p>nyNm%dDz z$O@xGp?CP6O1rO^pH|FIDds+kxwB$!shArp<`BhnM=_NurXs~usF(^AlS47(DJHvO z%2iA`iYZ$$Who|`VzMfxOvPkTOlHMoQcOn0WKc}$iYZMo=@rur#gwX;RK=8{n64|P zYl`V_#q^hA`cpCep_r~JrYnl+vSPZZm@X)$-xbq&#q^tEI;WV9k@xrI>zI zOus0mpB2+jis^)6`cX0cpqP#;relifsABqFF(oUe?-bKv#q_OW`bIGwQcMRG(*eb_ zUoq`dOkXRey^858#q_0O`a&^%u9)^HrrnC^GsV19G4D{!+ZFRR#r%n4{#Y@8q?kWc z%pWM`t%~_Q#r&>fen&CCt(f0Z%v%)mX2txbV&0^f-%!jO6!Ut;yiPH%Rm`s|<~53W zwPIeSm{%(16^eP8Vt!3AFICL1D&{4MIZ-h$R?M#`=0%Emp<+%@%<~oVJjFa$G0#!V zvla6!#XM6n&rr-SE9Ms!^K`}hf?|GNF;7#>&nf13#XMCpPf^UzD&|Rwd7@&TpqR%i z=4TXhoMIlQn8zySF^YM#VjiWKM=ItKig~zV9;TRwD&`@Id9Y%RRm?Gpd5~g$QZXxv zd7xq*pqQf-bAQF$PcipZ%u$NDw_@(4n0qSbClqs}V(y`syDR2yin*&|?xL7GDdvuf zxr1VUOfk1t%^enc@pteBfA=BA3diDG_8 zF*j1o4Ha_(#T=%X>nrAZin*?0uA`Vk6?3p+uC17Z6mu=bbYC&uQ%rXi)4z(TS}|2A zCck3xDJHLC@+hWC#Z;k~$`wb1yLWb!;e|M7 zj4_zR@BTI9f9#aD)a@qe7nb!Zd%A3N_2%j=)vf$n?mX=K>u`E#$s)8%4|6Pc_suao zmNC<@%yBULZdsILd3xx?^ibV5u6^#l?zX-N%QK#xrn)wRquWAbBU9btK8|kJrx*`Z ze&ASGR=;9hWj)X7g_WB`T3q>tNINSxiu7sahLhEsbDvM2QM@#Lj#$eg|6^{SZ;&sB zMqd50-s$Cr;IjHN%UE*CC*m9qU?)4tFu*Z|Kg6topbb#WjV!M4)dO>HHJeR zP!wei52x2Lt>o-QY)vD$Xqae;)P^&sd!h)sL$;BQ<*wZ#mXESNC-R+UBBt7{lPzP# zb+e2u?r2erYfN<)8&?{>6~#{D3d1+z+zlNn*JV0VFD@kfp82~d7Zc8Bo;R)1FEBiB zXzF{)d(szVx9bvee-$?`mu0>Xm#HTev0Bk4iFVl&3>Z2XJjOMp!H0{=Of!sYNahQk z)226y$~>v`8S*K@h2 zu2o#CyynfX$he*F$#B{_=a*;P%FeaN>uTp$W|X*IwRO_|gLl znB-5R`c0f6e*#5r5K{El4VjO3_RKHQ9b>+HZU6w9Q_owch?nm{I`nmeC zxetRz(moP#dA8!)zuYJO|GTaw+W)~*eNK&2hpPS6?rJ;r z5w*VVp3bZD=qhy;x-y+x=hBtxoVpU-ZQU*1P2E4bB3+@bK+*DVU9K)im#wqu zth!8{MVFy7>r6VM&Y(-z>2)`BsXA4s)1~OH>#phk*8QdXLw8koMR!?uNq13qLHE1v zyzV#MS=|}kY27K^N!_oyUvxj~e$t)L{h&LpJEl9TJEHqum#q6vcUbqWdQd%}?pKr4 zed^chUiB;WOZ5wNkGfm^O#M{drS4RBsN2L=<)>WAtF>Q?oA^*!}n^&RzX^(}R? z`lh-`eM8--Zcx{&>(sUC>*{KCmAX=0p)OaKsjsO^)mPOe>SFa3b&5*OP#6CP+wMGQeRZ3t1qa}tJBnYb*ef=eO8^UPEseT6V&nQGwL{XtU5*=tv;=e zQb(#I)Zywdb%;7xja6gRr_@2}ld7T)R0pX2)V^wz+DGlJ_ELMQPpFY<54D@xRqdia zu69;CsU6i0>SJnqwXNDlZLPLaTdEQ2qiPGaxf-rMtTt1ds!i0!>O*QHwV~QT4O8o> zb=5j*s2ZXMtF_f2wU+L_?yl}%UA3-CcSq;f`FMgm1m_)zaNgxHuBqw-{T4jYv3ww1 zfg;f3->6NLy;|eHk#B0IGw==j{VmwrKO*mY*{fB7K3|)fKB_uFw^JW1;D48+o?}0u zK{=_x`ho#W{JLgQfg;dTvnbhHv#6Se*uj5w9sVcnH9M)P>I5x%aQvD|T$HTA^5}sg z(4%*-KiNekPA4!cPy~A9EZG&96*!aMf@L9QQ3PhyRGd4dyboF_x1|gmLaPEh&>C_N z5BlZ&qBFs=m#po$PEf%XtxL;%Xg#a7wai}-3DVkH7MCM%#6S_~k-L>$@<8%ZiK`nZ z0+%r`iziA})k}iq86ElhK^EKGIG*~A)*&m=Wxk|!kVUg(c}<6`z6mqE@qDmz({sW6 zMemxDzinGnzMuEzgF0)>gL1@!>bmJcIrc$Sok*Geb8zALpMwflM^k_#de(?>=o<{pepw4IJj%s&&En6f@HaYtn0zR1MXLy?INMjhiL6En^- zJDt5S%k*MoqTz64;^oLh=aI<70()dgQMbsD!nt@ZGNd34$EmO3PsW;&TcQqZks&$P zu^T(F0*moGe#2kbgmt(W8RDBB8RDIQk&z*uC5WRgMG<2YY2U*y)QuxUvcn=nvizt( zKCJWwp%&`Wz6rL=4v7r8;YJo%&ka3Pl;Ad8VA~s+;8@x0E87SIuHZ6qkc~Y2fvey; zq;sxmwIf6HTY&r!I)GRB9CFH(H`vN$% z+@X;nw(lZCtcUStWJo6cnS1H$fEHkXRxXeA3F_XFA$dPUhSfuBB zC!-_v@W_x9E@?^wu;l9|{7T&qeegVOAO4|^jSR6^pddIhBx5_4QGX52$-*VbaDYo` zVVwm_BSRdl%dt5!B%jNfpH6)X`HaPr*}tP1sv|>Er$&aT+!i$>GDLR}U(q)JQJ6&k zdHhHn!+h54U@Z<&KMB_37=pnVhNmzHTr&rcisNaFLNxkg3`T=%?idJ;;~2}jPvaPl zf?Jlsd1d^9pK%ID@I6j)PdLZy6kNw&_!B%n**b7vvw7^Z|3)g0KKm&82=8DrSZmRK z?89-)!*p=XOk4*O_rg>sGQ`M!jU3C=1Kq$HjpZnz=KdJCPKLLz39GRJTk$>)U_I91 zL)QEl+tFwIn06SCDCcB80dbz(17jolc{I(Lks;2#2#yRX;hvSWL=bJRxwAKR(tZys zspGhhxyS+A74U2nm|%nrR%9asW@K?3^~1#4DdPy1vm(r27Ib6A)Wq7JJI7=!+@__L zT3Rks&L)|BFUsWoOD4}ft+hg?teY}b8fCgsC{x92TFWlewQDk^H!UkjZdJri@N9?UAwIwW-ZH)y$1k zi#y3;XrRcLUsKGe8Ct~DtS*G=@}oii2{|b;?v`sWc*!5MynNX zsfagHM0{5S+v%Y}?myjscz*ljW2!&ge~PNs|JPqZEFc(lP#+EO5Srp)gyT`PLL0Qh zW9W!3=!Qu2L~lf)AEGf3gAjuu7={se8e{PcCSnSv;U&yQ0$#yVti)Pu#1_1V53wDe z;S21;A$*6UIDubr78h_8*N}=dm|#H`a^XNRN>Bzbs&F46T%h`Bgl1@gR%nmT=!Tx? zivbvfAsB%%7>{Q$4KHC9=3)W<|M0blbu7VhtitP9k2kOxZ{uBT#Ww80m)M5`IE2Ia z9>?$_e!(f6#d%!7W&902GLVBp+(H?AxQEc%wQ4oQBZ$Cb=!%}`kEbvKTNjQw-_!Vby5r0925jN!G7F_V*9zuALG(a=7#AE1&K8QvvMq(T$ z<9W=)94y3AtilGog%7X|d$14R;uwCxIb6my=wX2!|G*7DYK7FQRS!+j0&US5k?4yj zF%+XQ0r7YVbFmmJupV#WL+rv=IE1741?O-X*O3k@@^K60s6y?~TD8K^1mS3j4(N_3 zJc+>=g=a7oFJT@Mu?lbC9ejjc_!0+k1V7^({zMA&$UqJXQGyCo;XXomBWr+WXo(K! zjwmP?g3*|WX_$!xSc)~+g!ixwyYV%?!BPB-v$%x6p@#*zD1sA}_!l8{d5-Z2TB9Sn zBMMJq7{+1(reZo~V)AV2iSq#_!{5fD1OFST)>}DVS*L8C_pL7 z;m19M@C_&o&Cm{A5Q%6E!Vrwb1jOSd%tInpU>!E&eeA?ue2X7&23MdW1KB7>8LAN) z#(O-%(Hb4m1AQ?F!!Z_-o_``jeR(bA8-o4;}7VNj!f853^%F}(umhAn&DBjK__%a zZwx>z#^71JfLU08SFsXn@h0BIhuDR$a1hBjj$d&Wmv9{hWWj-(aG?^_sLh9<`e=d{ zXpP6v9Z?vBA$S^-@jPZ>5td>V)?*9a!^ij>2XF*G;~f6Lb)><9Y}`aSsu0we*902l z5wt=FbVF}MV=$gZ9H!s}%*G-t#VV}F7JPv1_#8?221oG=e#als!HjGapcEebi{K_) z7c@o$9!C#EVE_hUD8^zE;xQdFFc*uk1S_x>oA3@k#!l?PUL3%8_#QvtXPm(W{DJF8 zg9SM#gcBZA;XZ3bP-@Cue<4K_i1y%)&a$a|24Blr=&;w&!UDy|_F23U}d zd=#SuW$>aJ@{3>Wg(3`%@dzT&79G(8eK82bF%Hk-Wz4|>Bw`s>V?Ex)JNN+G@F~8) zJ{&?aj^k&X!SA?&zo8->8OTBbN>GV^5z?Gz2#wGbkD>!2(Hs3R5V07EF&K}@cn;Gs z6LYZ;ORyYkumPL#Es33g!*zQzF@#!;NWuQ-bfxQc5~ zkq$F#u%i&S;D!g)xQ`HiFi;N-(G<1^lahQUaFdGS2jMuOV>#zxLV;jCi628Gv{ETzBg1@069T~787Y^Kn3l*rsebjHs z^MVMpLl^YI01U<`JcFrt3G#+qNVK=_SK^(zPID<>L20b#6i(-_*gS!ZA z&3hG^;!(82D+bG8! zh#!vC#Y1S0ws;&p5sg@k#$-H?nMlAAti*b3!B%X?9_+)nIEG(v4wrEadSoC6g(yJ< zs&F46ZMjc)2oK{?v_S`SK_sFu5JNB;6EO`lu>ec42Al96KEe*{##cB5@pY7Z0w-|} z7x4$K;|7edARGB8MhVK`MK#0^7DEw+#&`q~Xp4^MiYE|-0eA{SF$&`_5mWI3W?(LA zz7|q1#d561I&8#dh_83ZA7C3k#TVFzLrBJP{Df2Z4VUmIQlN(kR^*}pH&KcT_;DAt z+w**&A)2B&TA@8UqdR(`9~8u5IK}F62mV0`+^EDI z+(qpUeC9?N9zrwx-+eWwzYRJg5`FOh<|~@{3Suw}qc9fZF$FK+CCo)4mSQ>9U?VnT zE4JY?e2oJ*jGu4{=Wqd6@F&FAHL@N?SdoK5l%NvTsNIokfG{+{BX|_8(H@=96_MzT zei(?SFa#qo8gZD2DR>ccu>`BJ30v?kKENl~iQV`T`*0B7;V6E&0`1TRJrRvqjKnxh zKs;W?T)cv1ScA>jitX5qFYz@F;5+?V2mA3oPT&;I;|i|f22998K5oJdAMPQfEAO8O zM{9IKB%&}7u^5H%n1#G~JZ57NR^ko3iyinJ`*9RM z;WRGdZ|Gsh|6$iIpryLjHc=xjJQlN@HEduDJJ`!XKIYgb{l~fg6YF1| zhfCbzAustNjrViH6P1LdAv3utNHNM$je0bp9bNhVYWjHWgBZpr#uLDF=CF`utYRIT z*v>BYagbx2<|5a*!$Y3&nqX<2AA}<^u}Mf$Qj(TTWF;qgC_rI~Q=0Nrp(b@`KvP=L zmJW2LJH6@8PYmN{#xjv#n9gkGvzT95#c%x17XDy2`#8u^PI8)aT;dwHxW^-&@rri@ zPv@B88^REtNJJ+#2}nXp(vgK+6rcztDNj{uQjbQope;YrmEH_s2%{KJ0MnSoJQlHx zm8@k0TiC%~4sn!|oZ&o|xXKM~bB{+n%wYjbSk7wJv5~Fp zATWE>{T$*Le{qKM1m<#3{rkwVZ+x5kJpN?cGyN;x5h8={mwZcDA`q32iLH9n$^6IlpV#dFU`<|g1%u{`swF8$Woqy-_4JKsN()-kjt+FDJH6<~P{uNmUzo{! zma>X%>|sCuD2L3SZNk~aLGLwV6 z6rwm~s7N(x(}1S5A~5aMPIRXa0~x{y0y9RP7}QTuX9o52)Wt!4;JROf`qk0D-^R*wx-`O6Hh(skOaY;y0 zQjw0#WG6TIDNITJos_e_GBtwkS66LFGg{G}PIRXa0}0G9^=HNfjRVwa%w|4ISixF; zXDd6|$03e$nhRXz7Wa9=OWqM8^WT5h-_&pUo`^&v7V!v7Vl_ojpH|I8cJfe=k147z zMR}@Hiv~2MH67?qVEU;)F(PO@PMys3pmE@uIiK`_<9{~`+F@FQlev#;Kd;ZNdHWC6g~;kXhronV!|(%9h{?yq*C!?! zDM>?mGLe;>nCDNb1`Q%`pZGMxj7KsiXnuk^nW@YS zn)|qZj`4z^xg|k$xw<;2|F~|Q@y5^Qwi@qX&u8=djSq5!6P)Hem$}Yu?(>-Ee4bb4 z-V-95zaR1~pXPhx2t*Brm3^=U#2+VCTt=}sR8@Q?D7`4Nm}e9)T7>J(-$oB1qa87m3QT6H~}g2vm_ z9qi!%hd9PxoaG`{xyfA~@|2gnCGbD$f5F#$$M-}a3W15C#wI?ANlq%#l98^hxSkW8#H1%Tfyu8Hrg+e}v|5fz zRHY_$Xh0JJ(?V@c`=D_rwJSa8%K!#5oKcKp5>uGL92T&I<*a5M8`;VZ_Hcl}99EC< z7iYQ16|Qre`#dHv&(+twCqz!yTR!F+eQ3fFiD<+oK1oPPVA89Z$q_Wps}`gfrGw`F zzVg4nEpL0}f3c=!(Du4&Bbw7DXfE(4cGP#J2fgXXKn636pBY17Ca3{H{oiN)z1wN- zJBxWiKVy-)lohOI9lx`MKM2fjbsqwy{Hy%_FV<|ceK!XN=@q0kfyYxEgk4W5Be~G!3<{~Q~ z&Fo+whdIdwu5pJ)yx<)n^EhS*OGKg*m%t>><5(d*S;GRn*aN7WLLm0(GrZJbmEXng9CDf$PV}HZLmACPrZJZ#tYkf( zXS2DT?B^(_xXc|M@{HF6&+oAkmPkY=4hcy{YSNRL?Bpgtg(*Q9DpHOA9aG!mY7q3; znt$>b+vz(6jk|v`-|v(D^ZohBw&9FoV$iy2>TDLUl-2ysb^^0kJ;<@3@tL4{Ij9D% zxuL%wG=8SO3hWE`%*Z!{BQi0GM-ozzfvf~3w_2D|LF2%=iu!8Qp&`u)OxvK^N$tr1 zhB1bTe9SNU8O&h;OIXfo*0G6ge9SKW0giI|llhO^|5w*b9>X;r@_{e~U0aAx8nTm@ zqLim9b!kX*+R}x73}qrynafhvvz0v@<`kE>#UtMEfe?j!9^h-fB@E$+NEBiahXf=c z1!>4YR&tV$!jz;k4QWjWy3voJj3Iy-%wr)-S-~3Cvx#j4W~aKBKRLn)PII2iT<13T zdCW6j@s8ky9ix2BcYIF-q7Z{PBp@-#Nlkh(lbu}Tr69#A&F3j^t_n4%OGBE`nhtcO zH~ksRa7ObBGnvma*0GuG?BW1NIm0Dx@rYN1EaG({BGHILB2ti!EaW0E1=M1cp%OKy zM-y7{BVFmuK!!4k2~1%o^I6I&*0Y73?B@t4ImZ=l@qlN%<^x|A_1;MY0uw`xPZ~0l zi$av50@bKPGg{MuUJNEMW7H|kVL2Pw&S5TcjoUotH6e=q{eJ(u-G=hGLKBXNL?tG1 zNk~#sl9r5QB`0|)NKr~smWouRCUs~)6I#%kc66jGJ?YB;1~ZINjAbGLOk*bVSjbXV zvz|?CXBYc9#Bt7YnH${U0Z(|r8-f-0eUR@6M`WTCi?}2pG08|tS~8G@T;!t=#VAEN zDp8GE)Tc2mXiF!$)0dwZ!B{3UlLahi9oyK)2`+M*X9O$ZZ-qo47D-4)4hm6*D%7SS zEoe(8deD!-jAR@E%wQf%Sjlf}VHXED##t_Nllwg7Enk#$eI^pINI+6jk)AB%Bp*d6 zNqMSLn})QYEuH929|kg%pBcwwrZJlZEM+CXv5{@;Vn2sD!5J=cjoUonDX(}>$WpGw zgeE+Zi9uWvk(@LHCSy?j`{=*jX8UA5w?03GDNbq1Q<>`2rap~nPHWoJiEi|wAA=am zNX9UM0H!gEc`RZXD_P41HnW{w?BgIuImsC=aD`jk<1sIIL$K1Wi+n?9!V!_E#3U{W zNlHr6l981`pkfM~N zEETCrP3qE+rnICj9q2+2`Y?dO4C80UFo6K3GLyM1UeQw_jcHD6 z+S7?{^r9bw7|KY-Fo6K3F^hRDVi_x0%LX>Hon7qXAV)dL87^>z8{FXmPk6x_J`l2; z{pVZ4@&l2HPHf_nnB=4;J(eHC!w5C0s=teL4F^HjzWDFAs zU>dWS$0C-olC^ALGuzq4J`Qq}lbqoKSGd6)9`J-0yx{{O%6m^F6k!NYB%%?EcqAej zsYpjAvXP5?6rvcVC`To#QH#1Xq$w?FO9#5pgFXykFvA(eI3_WL8O&h;OIXfo*0GVT z>|hTEILvWQagIw|;}-XL#4}#;j^Gts2l$52gd-wRiAiAMstHL-%AmQx`Lz0sWF;qg zDM(QQQ!=QQRVz}Jnn81c+w1BZ(v+68r2}2)K_3P%nBk0K9Fv&B4Cb(aB`jw(>-e25 z{K0PabBJU7#aS+Lm7Cn(1*%eu`ZT3AKhlL>^kpDJ7{O@9GnuIbW~Mrqg)9x43!Gn}U&DGfv5lSV zB`|*m)g$T&PIEqJE^zy0{dI10pT|7sHSY;g$+d&;2uEaM5|6+nR+E#O^kgPGxyesq zic^~MRHiz$sZV2?(Ta9-q$@q?%Rq)Og3*j;GE0=R(L?j~>>BvMja*>Zh6r&X7s6;ht zQIAG6qZRGwNLPB&mw^mn1fvh)7go5|@ujs82-(vXYZL6r>2nDMfiIQ-j*nqajUbPAl5cfiCo* z4+9v?a7HnXNlak|pJtx%5|*=?b!=ukyV%EJj&q80T;T?Hc)&B>5WK4WCoB<(PFxc6 z&yv!%G^8gJS;;{j3Q(Bhl%_nDsZK5G(THZWq8%OSN>BPSkRc3b6yuo06lO4o1uS7X zt69fJwz7jg9N;j=ImKBna+RCh89_^0ERGA%n|Ul^DJ%Gmjcnx)cC(+u z9OpFWxxx+Z@{nh|;R9b(_Z$$KABap$;**#ZWFQCmDMCpqQG*6Fr8Vv8L^pcTk3kG& zBx9Js6lOAyg)C(SYuUgS{$LLWIKm0eaDl7bq7aMtBq0T9 z$Us(dl8-_ZrxfL=M0IM@fF`u0J)P)AFZwZvp^Rh<69`}$bC}O!eq}Z5*u*w=v5!L> z;}qw(%ysVYh-bXw17FtknV4`yBq}k9OG1*8n)GBQJ9#KTQA$#dN>ryd4QN73+R~Bk z^kyJK7{O@9GnuK(W*&=J#wvbeBU{G^8mlX-fyX(TjczVi-R&j!8^qCi7UtudHGn8`;JV z_Hcm19Oo40xWqN?@PH@0;4Q&wdoB5fFoY*E(TPI>l9G~iWFb3wC_qt4Q<3V_r7y|8Nx_LGoHyzWhQf3$Wm6Y zhV^V>JGBvGZ3Q&~NRHQn! zsZV2?)0*~lq8q*F#~_9>lCex;Dzli!B9^g|wQOKB+u6kdj&h0%T;mRpc)>e@*K>UG z4WS7~M4}R#gd`^|naN3hic*>iRHYX6X-aE4(2YI}VmM=%#5CrxkY8ED?`&l!`#8jL zPIG~)+~Ph@c*#3L)b|~L?+8aEq7#RNBqKE$$Vx8qQ-qR~qcSz9OCy@oh7NS47yTK` z2u3r3UzovM7V#^qSQ(E$Y*Rmb9lcJ?P6IhB1oq1TdXBEMyt0SjQ%|vzr4P;Us6d#C7iQkY~K+ z179?BToHyJh(b)_k(d;uB@@}nLqUpBnu=7THVtS>E85eU9`t1p!x+VQ0+`Mm7P5?0 ztYZ_~+06ltaFVlJ;yQPD$TME^fiD`_7sBuZQHe=h5|WgZq$ML+$xT6uQuJxXC>p^Mbd0nvjj1^MoS`F^EF~ zQjms>WFt5EDMCrgP=PAcr6EmeO?x`gi+&7c6cd=jES9j6wQONKdpN*R{^C5>xyvJ7 z@{Zt5oF{}OB2kG?Qc{wZEaagOC8$VMYEqY`wBbiO)1BV*=O>2oGh>;^FU(*ri&(}= z*0O=kY-b-wIl~qHv)r-$0Z(|r8-g{pZ-gQ&5r{%e;u4sIYBExjfh^=CAOB7YTVI^g zl&3N^s7oW7(}o}ELJ#^dkfHp{I3_WbS+w%yxEjfFqpbEEl=PE$;D{ z7rZ5SGtU>H_;(Z5eSRP^(TPn0l9Gz_WFZH6DM(<7s--9&G_Io74C?>B;=guV&wU!w zl$Nxm16}Ar9|ka(;f!J&lbFH`<}jbd{K_hR<9D|32fNwNA&&7EXSv7~Zg7W3yx<)n zo4ei-mWV_rE{RD=da{z6B9x^vHK|V%TF{n`bfXvj8O#VqGl2l6GlzvNV}Rl%fLF zs6!)K(2maZq(4LWnQ=^JI&=9~S!~T}HnEdG`HPF(;vp}1&sVK|_8=0mNJJ_!k&A+q zq#`wGNJ~1=hoOvP8Vgv-Ms{(SGhE{VuL$18vA_>R=N~1Z`J|*IEg8v5PV!QaqLid8 z6{$*1>e7&=w4^N^=t2+rFo>ayVjKZXV-5>g!g5x#j*V<*4+lBU87^_1yFBJ4@A1=IJ`Z9=NjAA?iOlJ-YS;i{X zv5D>MWtF)w&a@OJi@Py{Bd8iA<9A_2)rLngA5heDL(^HeZbmD)6< zIc@1kH~KJ$VT|JQjQ?ydz<4@ySjbXVu!i+)VjH{I$03e$hD+Sw9*=p+d%kGzI3_F+ zh(;U|lAN?;CMWqQOi9X9g<907DXsXCkLjxK%|M1Rntvw~t)Ia{R0bBJHiv41f(PrxhX;!s#2Gxw4*Ei7{)lJGLK*RjjinE2xqv;J)ZM{uRC}@;PXT? zmw=RHA{T`zO%>|Uly-EZKf@W%H0HCM^=xN9$2rdp9`cfZnvNbDVTnXc5|Es9WFs#{ z`7~vXt5TPSG^Z_{=s`aQGm>!xFoSt4VI}L>%y#y0kmH=;5;wTV6JGIwFFU#35RS;i zBrb_aP8u?hm7L_GFeNBUC8|@0hBTuU?dePp`ZACqjASg6n99e@*3V}dt60w#cCe4b zoZu{%xygN=@{0F-(b;)LSRxROI3ywkX~{%(@=}-*l%onYs7oW7(}oUor56Jj$|%MY zz%*tvpCv434I9|P4)$}D(_G~qPkGIkU7SCBPhcXc(TPJ6Qjv-5U8L7!Y zHgfaNQqZb4(Pb7e;%wR4H`IS|yV+*_4&tZ=9|Hm=v zdAP`RZgZckLG-u_Qsv*L0<+kgb|Ek0s%~CHVatFN`7M_+t|f^4s(Lj zT;M9VxW^-&^M+tOT?+|C7$OjjI3ywk>BvGZ3Q&|%RHP>LXiN**@FSh+PH*}%nBk0O zJONB+4vSdMYBsQ$9qi)}Cpp6t{l9HN?WG63$ zDM?u>QJs1;ra5itNH==XpTP`gG!vN0Oy;qeUs=sMHnEM}9N-wIIL~EnaF-{%Bp@lNNJkcOQ-GqBq5@T^O#_LDCHEd-MNBE2LT;Vnkc*#3L4EA^kLqwtx zpX8(=BRR-VVTx0VvQ(fl)u>4W8qcDsZC>A(}_L|Wefq#Vi7CZz;^a=lrvo64o`WUV>)6gdj&g=8+~EnY2|m(iC&CexxFjVlS;rKE{af&8Z@L89qGvchB203n8Q+jV;cwfi_6^QIl)GIUI|YO5|Nf16rv2( zXh3t?(UraoWh_&f&q_A2nj? zc+WTEymrJO0jbGGLCR2_Mzo?MeHg|BX0n9e*urj(a-Lg!%v1eaz8LTMBpM0%m^At< zl$wTalIBs=*jP9E$QYLDHTKwWv!28q-V<_$&p3R;cYIGoq7s8x#3ccVNlqHllbP(~CO<_eMR}@Fi~2O7 z1#Rd+7kbc}z6@eGV+mj;3;30_Y+?roIL2A7aGS@x<^x~Mv>$}w2ci&@_#`0}8OTN+ z3Q>}Z)Sw~%U7FB>Hgupf zUFk_*hA@Jk8O?a6GK&SQWIdbN&Mx-xCxM;FJe8?RP3qE!X0)Om9qCGM`ZI!w{K8BY zu!QBTVjUaV&MuB|j!RtQ4i9+DQ(o|f4}3Mx`yycoPeh^-n}j4M4H?NvL5fn6(o~=d zHE2K!+S8SO3}ZACna+F`vX~Y8#%6Z1pCg>$G?%!^1D+FXzQ;;q~qa@|1M0M&=pGGvL1+8gMN4n6RUi6_K0~o|eCNPB=%wsug*~oVGag2*xO_yWfqp$SJsq7s8RBp?x~$wE%@QG`-dpfc5{Nge9Zm=?696FnHnNX9dT z*(_o;o7uxr&T)f>yduOxp9lDX*d!wxImu5^N>iCebfi0d8O%r~GL0qt&Q^ADkRu%D zB&RvY1uk)oo7~|(k9f`-f-Q2+5{l4-B^*BxndrnOA<0NVD$WF___uWDFAsU<%Wi!F-mpp6%@CIOn;+LtYYWvG-rX6P*O4AOkrmL}{v0 zj}~;G7lZhj$;@I2YuLhW4s)6-+~pbX`Fe@xifF_qC7H-g5z11XhP0v+z4(cdOk@U& zSk?mjAS7X`6)ti%2S0p)Ta?mX+?WF(uF?s zXDFi?&t#@Cn}sZ6H5=H%PX6Q=XSvF49`l+I%N%2TPZZ*igcPJB52YwaC8|-2CbXa} z9qCSAeqsa@naM&{vxVIp^vLh+CCz4-`4Cmu;j zLk6;tgFFwsfW!0~yX}CNhILEaq2Mv7RmLWIu;E#z{_do@@NC$X&nZ z0Z(|rJ3_8-t`LqW#2^9xGm_NLO+jkXk&!H9CpY;hL@`QHj!IOc7WHUEGg{G(4s@m) zJ?TS#eqtyi8N&nun8qyTv4~}?WGx%m$}SFYj5A#377uyBd%j%h9N`C|5tk&SCKEX+ zKv7Clk?Pc;5iMv(CwkD2pBTYdCNYgUEMyt0S1$IqAtpUW!tV>eQzN9q3L!hBB5Z%wZ{O*~AY1 z|u)TRmT=*|E}GKpC%VJ%zP%TZ2qncF<(H6Qrm zH~UOPVvvxOWFRL6DM3YQ(twt9pgRK?&RC{0kEQ&^R(5lQGhF5lPkF~z>s-T$M^aLe zo-E`fAB8DFS*lW(rnIFaJ?PI+er6)mn8zYk@Ee=i&K?eOoKu|TB3HS?BVO>1kn5di zL?DutX#}aY#rKl9Pcaflf-wXzi^Z&F6T8^YVNP<6 zE8OBPk9kRm-(6dYKnxO+igaWnAH^s~bsEr;j&!3p0~o?c#u31D<}#m!EM_UoS;ZQD zV?CSL#vklt5BoX93C?n!Yuw^KPk6=$zTD`VOE@AEllUYdIjKlXdNPugoaCc0B`8gK zs!*NUG@vQ1XisN)(3e3BV-({FUuJxXC>p^Mbbo-{gGdTfQeE(TGg~l9Gz_WFaScDM(RDQ;}-arUA`pLkD^=fZ>c| z3UgS(YBsQi9qi=*hdItE&T)xr+~o;x2)WsJ7D5w&=)@x_DM(EQGLenk|q}VILKj6@E4~!%Xuzyl^fjU z5zl!;@Gbr(z&Cuy4@4s_Nk~B&(vg8IDM~r2QI96HqCH*cNgqZsnhE^EOct}0 zRjg+dJJ`cM4se*0oaHiCxy@Z3^OWbj;T^%ZI_CJA(1a%vF-c4c(vgwuOO?r5258MoT)uZCh{vVi5RV-s81!5$8Bgp-`( zGS|7oBVO``5IdZ6geD>}iANGrl8&t8p$KKDN=+KkoYr)tE4}%N;f!S>Q<%YA7P5?0 zY-BUr*uj2|a*9jb;66`y&KrX5bo>#Ta6};vNk~aLvXGN}6rm(#s6Z8J)09?pqBjE> z#wf-Uz;x!am{t7FHg>b0L!9J1SGmD$?(>-Eydn55*EYfsk!Zvs9*IasD$NyHEL0hMl_=p?dV8XdeWDH3}FPL8P8;~SKQWxqOlB4fS;c0yv4cGv;23AP&LdtEa=+_8VTnXc5|M`N6r?m&X+Ueb(4P@Z zWCn{^&1Uv+h?AV>8V`6y@B@Ay-xHZwBqRlC$wUqcP?Cz&q#-ToKo15mobgO!KFe9p zcJ_0e^W5MeuL$v{?*T+0CdtW05h~M=_Vi&SlbFp?*0GzDT;LjadBSUgAM|?j9pQ*X z4C0cAhO<)Sv+^_>u1PV+a$N&2l!elRr7eX)bY-2R!FBANboLuP>2_ zMLd#`j!a}DH-#ugC7RNmk<4T@yE(&sp7Mq-4%=TM5RI6`At6b~L4Jx-n(|blDm7?A zM|#koK@4RCW0=SkX0e!+tY;g0IK)v-ae>QR<2Da?#v4BH#SyPPVTnjoVv>-wWFr@O zC`vi1P@TForUh;3NH=;jfI$prG?SUiZ050u6|7?e8`;ht4)Pb5xXA;a@s{969Z!5q zI3g2+_#`GdStv+Zs!@l=w4f~==|*q*GMG_JVg~d1l{IW&E4w(rF-~)t+dSqqA&&W8 zLl`0xodl#L6S>Go5lT~uYSf_#t!PgddeV;}jAA?i%wiF%+00H3aG2v<;s*D5!b?8z z)p5ro;fXCJ&lKjenB}Zt3%fYLQO~u z2t!0-kbo3qr4Z$)MGLypn}LjEBGZ`5GJaz#dpW{su5zEZggWUvGcia?CUR4R^3IBtJ%nQ_Hcm1oZ=GKxx+)A@rG|sd5v<&< zVTnKt5|EhWWFQxXDN7BS(vr4xpbI_e$6!V>o+->?0n1p;Ms~2Dqx@g&+y$^z$D${0 z4w0J>Ah^4`ySux)LvRc3P9V4ix8T9$;O_1R3GSTW?##!3lA8Q)-8b*vnm1E#=H*xQ z(Y<=FefH|^)oZQ2QTyk85CnkwWOLhuUnyS>HF)jI?ZuI2`Mlzl$ z%wj%ESjBp_a)3YQlB|sCGl^L&WCiQl%ue=mn3J62GPk(TGu{&7rsEKtq$3&(wlQ}G4G0R!aKa+L#+r&0@v5!L> z<5Ny4&vJn)+~5xP_>@P=XT0Lwr?xw;&wRzFgjR+l648i7JQDFK$&{%`M<%k7i+p@a zA!RX2QI1MfqZXf1PuYm3w4^N^=)$M;Q1)Q}KQN3@jN?-#DyK1<`7CAyfoxzayV%cR zPH=_`T;(RgJmeX#`M_s)-De3+c%l)T1SBIZS;$Kf%2JW4)TSZLXh&zd)0_SbVI*T2 z&m?9ri@7Y|7gi9+2DY%1{T$&WXSv7?e&Z3(dBaCO4|bm=4B?4JToRLUi4!S zLm9zXCNhuViAu- zBqJ5+$wn^nQHWxcq8yc|MlI^mh^DmRd%Dt-z6@jt!x_amCNhOHnFNi$=7f6MY!QMCS1KS)^?V%UQ!Z zwz8AG9ONh`Im<<^a+6>l@{HHK<0D@@_MA&NA`^>*Bqb$j$x3btQJgYVq#Ctpz<0Ew zJzeNYKL#_5G5o|7X0ez+c5{@IT;w`;dB`(f@{SNs{`+WrsSHIJ!V`&T#3U{WNJ4T_ zk&aAcBNzE7L@`QHj!IOc7WHUEQ(DrN4s@XheHg$G3}-asnZz_^GKU2$W;v@_$40iY zgFPJJ2qy^QJeRn}ErNN#6Q1*$_XIpOZ+uN?!V{So#32DmNI@Dhkd>U|r65HqNm(lL zN2;mUqbY6ZL^t{{kfDrVG~=1bRA%rq^H{_Zmb035Y+@U`*vBD`af-8C;0iam!#y7H zj90uP#5314z9KZ?iA;226Q4vRBNge$L^g7fmx2_b1ZAi|6>3n21~j2Lt!Ymuy3&)r z3}gty8O3-eF`e1WV-ZVPNgx~9%1-ujkfWUB3>Ub<4eoG{N4(@M0nh)Kq5psRrS@+K zM`U6Umqa8dH5tfCF7i`^l9Zz|HK;>Fn$nWCbf618>BnG(F`5ZXVJ34~#8OtWmQ8GD z4}Z=<+ebOc8Ghw5*SXDaJme`adCNyWd*M40-|#IFiAqf3l8~gNBrO@qN>1`pkRp_z zH07yGHEL0hhI~g0+VDM{=teL4F^HjzU^L^H$W&%BhXpKVIjdR6CbqGQeH`K#r#Q<6 zu5g1p+~X0?c*Q$HymbEa6`=`7B%%?EcqAejsYpjAvhgXolm#e8X(~{a+BBpot?58F z`Y?!LjA0_vn9Y0^vw}c2vW?vw;3%g!$0e?Fhx z!U)DPk!j3kK1=wN)ylPOU^Cm;$sP`HnB$!092dFDP404^$2{jX?+JM0UdGpiAv}?Z zPHf_nnB=4;J(oe3r46t?cC}XSl*09`lCJ zK3eNUCJsqSM|KKOl1kL332o>?cY4v6{tRLW!x+s3CNY!wEM*Pr*vvL|v4?#e%iPRjEO3 z>d}~1wB>s`(~X|=VIV*7BcmA01g0>ZS}DSaIm|Im62z}u;wm?| zO)w96!gF5nmJb931cdmUzY&UXL?$+gNlj*QQqO2jPXooKFe9p4i0jP zi`?QNuLua~bBRbS67yI78iBt?;I9$*YXtrpf&Yplkjy{mY+ zK^_WFgc6jY0#&F%9U9Pt=Cr0go#;j{`Z0*1j9?5Cn9Ou$Gmk|qWhH@ZU<*6g!vT(P zf*{UwiEG>< zgyyuSJ)P)AFZwZvp^RV*6PV0&W;2(CEMWy}SkGp*vzz@K<~XN0$3?Dkle^sKG0%C; zdjkGu4e&K#2v2096Px%XCON4|PiC@{oBR}}IHf61WvWw~`ZT5)t!PI_y3&)r3}gty z8O?YmF^yTwWg$yg!5Y@HneFUmKZiNaY0hzxtK8%+_j$~7Uh|%Suk@d<2}5`y6P?(^ zCo#!MO?onuo!sQ7FvTfNc`8$#+SI2p&1gkCI?#n4^kD!$FpN=*V z6>e~cdpzP9uXu+qu^~R^D?$^FNJJwR@km56Qjv~KWFr^(C`2(zQI1MfqZajOL{nPQ zmJW2G2Ynd84-8`zg5zlzVJ3@S; z|9nMg!V!sR#3CMvNJc8sk%?^NA|Hh)Mk&fsiE7lM9*t;9OWM+bF7%)e1NebqjA9%U znaWJ&uz1`pkfM~N zEETCrP3qE+?`T0AzNa(Y=}mtI^CKe}!vrQXo!QJ|5ldM~ARE}i4)$<>Bb*?J^IYN@ zw+Q9|Pk6x_J`ggjX8=MGmIy>4260G05>k+c3}hh(c_=^;N>GLhRG|iSXh0L1)0*~l zq8q*F#~_9>f-y{BGSivOJQlH(l?1YZE$mo3RIy6b!b2nn$w#0bfO!*=*J+2GJ-KoU^3I0 z%{&&dl$8Xsfi3J{4+l8H34%D!C9ZLcVD9sn=e*`U0pUCY@HJrwPh_GKoA@LqIjKoc zX0nr;{1m1*r72Hks#BZ#G^QD?Xh%o7(v!XnWC+6<&3Gm;jakfPAxl`n8rHL!?d)bh zhdIt^&T)~e+~h9zdCYTO^PYh4`p?&dAv}?ZPHf_nnB=4;J(eHBJw4xmy=}J%fGLRt*XEfuP#586xmxU~01#4K(X124N{T${vr#Z((u5y#R+~+aR zdChwQBIrL~6Nd0aCOWZ+Phygjn)GBQJGseEVTx0l@>HfewW&{In$e1Obfhai>B~Td zFr3khXA;wx#atG$gcYn|J)7CiZuWDSeQw_jcG4&^rSBX8NzTzGoDFIV-|B+$P!kt zhV^V_JGVUBZ}b6n&qH@VAw9`l^nyeA-%{_{0q2v2096Px%XCON4|PiC@{oBR}} zIHf61WvWw~`ZT5)t!PI_y3&)r3}gty8O?YmF^yTwWg$yg!5Y@HneFUmKZiNaY0hzx ztK8%+_j$~7Uh|%S$okLMgdseUiB4?dlbGbBCOw(SPHys3nBtVCJe8?VZR*pQX0)Om z9qCF>`ZACq3}-asnZz_^F_(obVFhbg&t|r>oBbT-IHx(sMXqv_yWHn7f6jB;uX#^E z6l1~HgdseUiB4?dlbGbBCOw(SPHys3nBtVCJe8?VZR*pQX0)Om9qCF>`ZACq3}-as znZz_^F_(obVFhbg&t|r>oBbT-pUH9i1#zCs+~6(`c*;xO5fIgL0^bmh$iyHH2}wq3 zGLV&AiT7RHrueXhc(5(v}W%p$B~! zzz+;#6yuo4RAw@V1uSMct69e;wy}$S9O4+KILigDaDzMC;}K7J$y+`UGP?OB6k!NY zWTF$B_#`GdsYy>}vXh(q6s9<(DNkjpQ=9rUrWvhh%lCAqJH6@0Aciu6F-%}G)0xdY z7O|9-1hRoG>|hTEIKl~nIL{@naf@Ic@Prq<;R7LK7z08PmIy>42C<1xVv>`Z^kgPG zxyesqic^~MRHiz$sZV2?(Ta9-q$@q?%Rq)OoY9PD64RK)To$r~<*a5Mo7l!K_Hl?~ zoZ>7OxWWzYaF0hkU3p?1u0giBjAkK4%YuqB32Rz{g zulYd8SbqN?3=xS+OyZJ|q@*M*8Ocgc@=}nZl%x#hsYF$3P@DQRqA9KTkIwi0W*2(W zkHL&!Jd>Hh92T;iwQONGhd9YaZu5ZWyyLUju8(|6G~$ztwB(>LB`8Z3YSV}ow5Kb5 z7|d|SGKm??V+kt>WHY-s$Wekg&tGazN01W=tOt=Fp!~)WIR)t#e5dCk~OSjBU{l6QP0WIXq1{=Ix{ zp9sVx5vj>SUW!qk>eQntZRkv2hBA(6%x4*aY+*NtIl&n&a*KOB;WZ)SyLS+Q7{n(T zX~{xP@==%)l%*2YsY4T5(}Aw^qCY<{oH6{wRA#Y=Rjgw(dpXWoE^~*+yyxo#)-I8W zO=8lLoqQCf6y>Q+GuqLW{tRalb6Lt-wy>K+oa6#G3FaX$c+ckv-A{;0LXwf13}hu2 z`6)t4%2J8y)S)3wY0dX^p*MpV&N!wphb63HJzLq$L5_2l%iJQE$GqSzArl!NA`_d$ zq#`4^C`>6TQiJ+5r460v$pC(29MhP`GS;!31DxanH@U}CUh_u+5?kkdOH^VJpCqK@ zzjD&)e^&BPh*DId7L9002fERR!3<|ClbFeTma>LT?BoE)Im=~kai3?rB_N48;aj2* zn?$4}1KG((QOZ!6S~R3N?dU>p1~ZbMn8Dv?zP4qoWh;9*${8+loxA*7dFZvLyy86} zle#Aon(#y+Ch{j!8`CXBM!G zHEdujyV%cBg1EqSf_cmf-t$>9bHKlsu=a^aG-45-#H1h%8OcT-3R0ZXRG=y~sYhd) z(VFk+LQncJm|=`&0#lgDTo$p6)vRX=JK4t}juXVMT;@7=xX%+_@{WMy?stSD98ri# ze3Fog3}h!SMJP#ms#1#vH07U3EBm#h6W!@ee+Kg-BN@v?rt)uPme=O7h^4F~kPU2M zCwn=>F-~!oi(KUvzww9{yyLSJ=AJM_Br36pO9GPcM^dV1ARBooL1yDQU<=4)Rl!GE}AxjcG|+ zI?|2a3}6Vu8N&poFq63~Vi~Jh$7Z&(hl3pBH0QX)b?)$hr@ZDPU!-!MCOlDy#lMnx z_D@W5Qj?y{WG6TIDNJ!nQ=ZCHr#AIzOfy>1j*fJtCw&>n5Qa0F@%%ZHY)@krb6Ln@ zRHlJeIJM^=x4$`#8)oPH~otT;n$Pc+3ml5+aRz1EKkp zh{`C$AU5$xND`8higaY;?~_$q9tu*NvQ(xf_4$t0bfgFU8OmrTGJ|<6VKp1r#vTrF zg0o!aCii&C8v@e0KJY2uDkBn=n8YO!$w)|#GhIKf#ia-F+8;2E#^$QS9HXM`gPvG`|_z<$X{Lnd;P zpQ4neBGsuwLz>Z+Khjyf2Ynd84-8`zW_g1uSI^o7u^Jj&hn`xyo(s^OV7hmRG~JFXhD0r(ucu}U_4X#nMJH%9b4JMAx?0P%iJKC zhdkpoAu_tZ5Sj=?BMym3K?ZVAfdAbo;WNrng<3SCCGF`#Zw4`(aZF)03t7%uwz8L_ zoZ&JzxzAJH@_8ox<)2Li`$i!KaY#TC{zwY-G-MzPImp8wDWG125|p6=RrqI8!+v#W zKogqNn)ZB3CuKK!(T_n4WdxrxMmdQY%;gtWvYs6r<_uT3!y{htfiE+A?jRDeNk%$y zkdG2nq#E^TMr%6Liys)rBxW+7#RRgA1DxVIk9f;xSzLRGNGuYPf^=jdCk6OtQ_Q}l zC`To#QH%OCp*d~nKv#OvpTP`cG!vM@Oy;tPWvpgBTiC%~4so0ye&q@`3FaZsc+Ces z%c`%0Ap%i}MSK#Ig0y5JJ9#KbF-lW`s??%BO=v+|I?|2a3}6T&7|TSaF`M};W(9$4 zWE;CVz!6S!f$IeGh?jiei)_{s5s5*3l984y1~HToj9~(kna*tHv52LtB#;ek zVF!CSz!6Rm#Ca}pjavlsfG51*4Ic=ZOaBQ)SRxRG7{nm~Nk~B&GLVHFmXC_x!2 zP=y-Qp#e>3PHWoJiEi|wAA=am2*xmh$xLT9^H{`ERuaetwy=Xe9N-8i2;w}KxW+Al zdB781@P-eB%&q@~A}kSzLJZ=NfFz_K4H?Kn4)RcdB9x#E6{tcD>d=5DG^aJ~=|ner z(T_n4WdviGz+|Q~n|Ul^DJuzN16$a^9u9DX69jRdOI+g?!93szFL=WTLgvwbLJ^h- zL?H%oNI()&kcJFoAqROVKoLq%h6+@n26bpa6PnYS_H?2fz39gvhBAUNOkgt8naw;F zv6PhrvVkq^U=Ig4!U=*n&n2#Li(nq`gcrQw10nP3KcNUq1fmdwI3yqmDM&*GvXFy3 z6rcztC_@FRP=h)&pb5=sO?x`gjb8L)5JMTk7$z{8>C9#xi&)A^0@=V8cCd#79N`2( zoaYkPxJ57zc)|BzC4eHQ< zCN!rt?de1}deM(T3}pmkn80MFGn;uVVks*LWCL5+!5$89gcAgDo=aTg7QsB=2`_lV z2SVmI4um2s5r{$z;*fwOq#z9$$U+YCP=F$opbQnLLJjKBfF?AjHSOs{H+s>JK@4RC zW0=5XrZby)EMh4u31kCX*ufqSaD)>Cah^+D<3DR|Ikw+;#B<*8k-ruA*N-{0_e3NH z@kz!%N?Pq%$W2j7Q<3V_r7}*ZGuStIPnhk7Y4~ICx zSuSydU>@;;cZ4kD`!ivQL=57Qgj8f88+j;13CdB0S~Q?3t?58F`Y?!LjA0_vnZqKM z6UZiZu#Y30;yhQl#XX+ziVu8V*!m?LQHVtXl97f?$q7t=eOe;Fmo574^60=yqG6LDmZVq#ri`?V^FZjTh#eFtW zh)Yt^l9jv^r7Tsc%XhS)3w;>M7$!5D#jIu%yEw#YE^&)Tydp#iYmD$jCm|`xKz8y| zjPg{Y9!+USSNiiKW0}HSmav+Q?BoC^InNCq@S2b%{bo)iVv~e)b(}y99 zW-@bF%o?_^hohY1D#1MEEuWV%zCQSlbgbnp$c{Rjy80m4?`HuL}oCLC9GjHyE#k{m$=14Uhsy3&^+jA05t^9!rk#4ZkVieI@-Fi&{HXJySRk%&bi z(vX>46rv;*sY7$x)1CedV;s|%%TfZ_%07;9mMh%l5w8d+=Ne2zVw0G(WFgcapaCstPj~t;jB!k7 z9?MzBHuiCxb6n#$p7EY9D)?QQD8wNt>BvSticy~G)TcS^=|(?>GLrw*jPp09vw)Rs zVlT(}m0LXI6#*6fmP{1lk%}zjqXdzrsL zAQjmtKq;!xkk)jeAH$fyY!(y9b`BB574Gtcw|rjN*b|jM5??(fnaN9WDpQwcbfh;w zGLC61U?p4FPY_qQ$8-G8??QY-G!l@CEaamE6{$sITGNGo3}XT_S;T6#u#Xd5;1&;g zML<=bLuBHToQ&k*KYNNf#;P=-CGF`#F9tA_QA}Vuvzf~uS)#t2RRpr0O>AWcyV=J< zj&Ph)oZ&ndxyb`w6Hv{6s~`d~NkRtxt>p4reu_|{FJ0Jb!kpVy3&imjA9%UnaV8Y@e9jY#acdPlX5FN z*uw#ia*{J#;3{``$P=FPinn|qWDU*hq z@>7J8l%p~=s7oW7(S|PcWhi5r#(Y+=kzE`nh|ApIE)RLmTLNmDd%_cy*d!!5X~|4Z z@>7J8l%p~=s7oW7(T0w6r!RvU&R8ZfgSq^|3f8ijo$Ti*r}>qu+~z({dCf<@sO6j> zJW+{FLXwk~%;Y3LMJY{1s#BN7w4fcG=}CWvFp}|1VHWdQ!YbCYmE9cVI6?f%6>jny zk9o;^KC5kP`IgAUBtFSVOD3|Dhk}%)Cg1TreHhMo{>Zf7>vNS0S;BHwvyP2yVF!EI z&moR-f-{`w5?8swZGySaBcAb+w|pR=j&bK}!VsP)#3VjRNlgZ_k%vMQr!1AJK|Pw# zf_8MK2YngLFvc*E>C9mfOIgKQHnEM}9N-v1T;M9VxzAHx@qy3lI(EJ#GBJop5>k?m zEaW6VMJY{1s#Avsd`ENI(1C9BW&l4hoH6{wRAw=cUsz5co7lktj&On?&U1-t+~yvS zdBIyk)H4T!;#(pSoj4>UDXBeGZ4w50=G=|z8jU^rv=iK)zD z0n1p$IySR|y&U2=LHx=UZW7Exp7ELwd{*BxC}D^|RALdIB%~xAnaM$33i0O@w_TbF zRG}vI_#=(fo6(x~bfyP?q_6rQhBA_IOyZABSO1v>e`@>m+G5+wSO5q$4YND9opnQdXn}_4tm~bfgFU z7{VxiVmfnK%qljpoxL34G#9u|Fpqh~r+id?+0fh)iI^lHIqAqs9tu;6iqxPU-_e?m z^x#waD~JAGAFZ6o4Cb+f)of%3`#HuLE^(84JmrtPR{y|fjhusoAp%i}MSPNwl5}Jy z2me`;*Rd3#G?l1H1Des6&h%m+!x+nCX0d=}1hSc39O4wea*f+O_ z5|ETsq$fLhC`bv)Qi+;0;5%BNG33a+017#D+pvG+t|$kj&h1~T;Vnk zc+OiwH1T@^p$Sh6;*)~(WFaR7DMo23P?cIVq$#avPiK12pP`IqA~TrB5>~U39qi{A zXSl>o?(vj21bpY*<6EK-n?$4}1KG*PKT1*UWvTiPUazIC9*t;9OWM+buJoiIgBiwX zCNPDW%w-YFSi?rPvyY<$agiJR#$#Ucp3j?lHX{PjiAPe>keOT*qy*)uMqU1#CbnDC ziCzq11QVIfB38129UR~oXSl*$p755>n_1gLB>}0(NlAx?6htK8u+ulUH9EuE7@A|{DQNd~f$ zkK&Z0Ds^Z=8~(~)Bk*Yix;Phl(1(ExWhCR6$TVg%pT(>okPU2Q7yCKF3C?hVE8O5N z4|vKe-t*^#Y~?)W8^RHZ=)@)gNl8U|vXFzk6rwm~s6bU}Qjf+orwtwGN>BPSh#win zcqTK0IV@x;t60ZocCeR294Clhxx!6?`CrLH?|;r4KJs~M&*Fq7BGHLMB2ti!Eaaj9 z#VA81YEYl1w4pP-8O%t2;_ov<+s`au2`dR?Biq=`0giBjGhE;*w+QAT&v?xTK5OH7 zgwTX13NeXCVp5QnOk^hy1u4$InzG(giR#p$Ax&vTdpgsDz6|0=Mlqhr%wP@+S;{Kb zv6&t0(tg5;q9u5zl!`KwI}f!VrOI#32zWNJkcOQGjBUrXtm;OJiElmQM7b zFM}D*SSB%px%|R%0@=(i4swEjlyllIah*Hd=Ls))M?gF4lWzz|WMUAPL?kB-8OcU& z3Q&|%l&1`>~#W^l>lizsE3*Hg3 zy?G!E5s6M*5|fhjWF%T$yknihEatP6)of%3 z`#Hv0E_0jvJmobX`Qm%$2jPiIY!Z^3v}7hH`6)_iDpH-gG^PdZ=uA)gGlY?hX9}}e zz*5$*iJcta1n0QQZSM1w*L>uQ4vvxVL?t!}Nlscalau@ur8E_(PF)()f_8MKC;b`1 z2*xszY0PFmi&;S+8`;Kg4seuHoZ}MLxx;;)@RD}~bhQ5XhHykC260J5a?+5IY~-c@ zMJYvjs!)@9G^ROi=s;I`(Vrg}&KQ1TDzli!FDz#b8`#P&_H%@joaG`{xyfDb^O)zn z<^!K~`XB4#EA=phCo<8AO?(oQf;9Y<|2-p+(b#4s7x^hdNy<@~8q}d7O=(4YI?ZA4VlSB zK}t}bYSg6(t>{2^`Z0u2{KRzTvY1tDU_1LbN)Q*h!EZd_H6gmV=Ma|2#3CUnNKZEM zQiRe}q9*@J8vKj<|0{p{uYLb(j6gHzP;0)Y3q9$_V1_Z82~1%ob6LbPR|`H@ zIl&n&aFtv9#v`8dhL3#S)ps4j5|L=cCILxFMS8N3lYA7W1ZAm2b?VTNrnI6xo#{be z2Js`K7|Fo%UKWfkk#%ntT)h~otDD_6KlFb{dgYd-K(LjGazN01W=tOt=Fp!~)WE_*2&d)4h2`gF4CbqMOgB;^D=ef)c?(%@A zyy86}ySsJ~n(#y+Ch`#Hi%&T^4!+~yvSdBIyk^zRpi&(~L*0Y73?Bg&e zIKu_5a*N-1#B<*8kdM+Q;5%B2*xszY0PFmi&;S+8`;V(_H%@j zoaG|dxXnEt^Mbd8=wpo$if@TTG-8v0q@?0g(krw4UjL&%IsdesPrWdus7MX!)08%J zq9+6RkugkSCi7X!8aA<$103fppK@7wi+eob6(9MsuWKGrh)W`plZK3BBR2&oN-4@y zg__i(2`y+#N4n9Q0SsXTW0}MZer7(uu#8o#V>3J1#}Q6)mWy2H4)=M&OWqN(pXUR@ z5P@jKCLzg4Lq@WZn*tQ26y>Q(E&jdKw@+i5(Ta9-raOHY$p7v6Q6EMzp2^H$4hvbz zD%P=?9qi>0#|h$Bu5go2306M*z5e%O^Gy3I-VxB>c}Qr&6NQ+>BQYsROD3|Dhk_KN zG!>{yE$Y*R7PO@!-RMPseqaP+_;V)Mp2|$-vWR7@VjY{<&K?eMlvAAL0#~_3Fb{dg zE8Y`wfOC}4gy$b6%D>V6kM{k4wJoMGh(}^lkd{p3ARk32Nja)eiv~2MH67?i9|kdu zF-&9{KeLc!tYIVD*ux=C5X5;dagAI2#v`8biuZ*4Z|vF$bQM*;H|&5z(=94sK!zZo z0YL%=2nYy*GB-h)i4ZhMgs1@#BSaYl4alSf1PsU!kx2~5JZQkkpaGc;3dj&7V2~gI zf=m&=$M5P|y?XWS+kJbzU*GS({MLHdyXw@*sr|2ARp%Ve2*;Gd6r}`ZxSM;aN+`9d z&qMrmnpoGG_C)XmPtl8K=}UhGFo;)4U^H*>Hc8B2Hos@S{vwvMmNdR#2YWflF-~%Z z3*>XdNcS>|Qj&61q8ed5$Ro6(EnRqmUi4)EuQG}WOyhl0SkA|M#uj$7pQD`QESLG2 zf^VoTzvfnLvETZ?kMH;PPV37OOcknAlLu(PuX$M8oYucBx7Bu{D^C*5GxX&};u*qg zyunx!nanh1GMo9Nu#{DNLK>Ud!VdmAUs<=G!++zkW7d7oDb8@7i{w*alzQ-AZ(wQgdMPCLml##r}6lOAy#jIjIpRyyB8lQ@o}n-O z8OR`pF@iCSXA)DH$@?r|5zAOjDxdK=U$Tq69N-99oa9H&bBUiRILW=>Ah+{- zO6Ui1HnlG0~kUAW0}ZQl9|t9R+7p_w(_^K+xl-f#4%2i%SC?S z4{y0XP@Ev{;XZ0mmqs+F4ISymQ#?aI1~Qbtmk}Nx$7E*x7u)`=zw?3Te8fsV;WN_N z$@Tne75GLC4|AN;+XcMLQm+2hZ>VFEgCcOkgVS@c~O&%V%t1H~Trt zNzQVa0u#JGMfu;HQpR@|!Q4kEb!fmNwB%7b(3L295lesK8N%y~W;~O5m-m>@B9^n3 z^=x7r85|&!6XcM`6#^!D??PdUQIfLULse=~k47{joc~VRdtMj1)01a-o|hQJaNb}X zZ!?uy%;iItvWiqTkj@S=I6x*R$l)9p`I(#EcF*PxN>PrARHGL4Xhbtw(~izW5=|`q ziDxJy_-qOq-~-2C5ldOgTGsIypR<*nWU!yZ93z|4oZ}+-6rAM! z2e(n2AnxHlYEYL(G^Y*MbG-r`&4UOci6WX9p5uA?Gk}*F!f-}1hVe{f3R9UuGILl! z3QJhQ8d6DP6X|SY7a8p1Aem&5O%7)`&qc0sjRKQhKlvlKQk3G9B8c)-B7~Yez(YJj z3tH2bPIM!RUOdb5yhuEQ7|LtB!JAAZiNDSa>ymk&d3-<$AF-TOe9U?_@Ht!A!5+Tm z0Ean7HaVQ(92dC6RjyHRiW=~*N$Rcca~|16C>)|6H}N(Z{ojVFob8T#@f@eJWL-e4RPn8LdxGna*Y z#0u83o{gllojrWRL5^~QQ{-}iEBwNZQyo)oCy>&VqaybaN*(Ich$j4+7TR#y(vb)v zi6WY3=tF-7GKgXPvl-zzqj{4FOlB%Gn9Y1rSjs9sA&t#!WhWWz=P<{}<}~NH$W;QS zIp6scw{Zt0Da+kdqAH=(rau2j8riN1EojZ7w5Jn~6G;@&JVPJ)^AayJm|?um8;oT< zZ}SfCGK=?_&xd@(a#r&RpR$oJ_>!IM;cE_Xn4@HoO%A!_afy5a-t}ENg(yr>ic^|$ zROCKF38Nkjd4%TtnMY|)CnAU>ik|f5Ii6<#zvmVGp$sR1HyFd4Br=J2c$b;XW-cGF zm|wG8yM}da;0v~~n{PPCcVzP;d0Zi2y3a@yrWhqD$3K%ww!e@2sl@|4NMoAPiZ-;T z3z77o7thg;m-scWXkR6P(Y(dmBr${8%qNAVtm0!nWfNQ2!5+TmTQWJ$5B$h^E_00= zXSg_>x`h zBAe5k=MvYrVU{_~Z3I$^as>0YQpNh})T9ped5A}7PHP_HKTAiCbt8(Wf7|X^ zZC_qwAcGmk2*&Vx#_Lb|i{+{MGkKr+q_C7#d_o$V*~(5b*w0~(k%_j z-K_l+w-ZPy%2I(}Q%PI(w|=O$HuY&lQ+`iN{Wi2Gg6{MrhQ7q{dj{zb|BK}}^xx#| zzgU;_7yaL#_j^12KY8qZ>lg45t69fJw(xs)>3_|)WOAGzIKy8i&+=uiapQYx#PwXS z!1W4TufRW2f!kd#?%+;>C{IPIP@P)T;~|>Tk~XxXGhKO-Xr7@jFA~oXUgHhMF@Y(( zOEPm=$VaSTE$i687i?n}8SLjU$H?Y1=lF?y3e5I7n8FmJB;}|`2sNn7Lp0&fw51bW zd6H@hgvz=XJ z@D1N`nD02j5B$hEe&Pz(DEPk5sQiiBC`JiNa~F40iTkKV4Qf-51~j4xEojYSbf61e zd6J&Q5X%b;;P(vHAI1nq^A;1C!Zcn7|uw>F_EdvVjdr|lvSki z8K3hdyU1Wahxuo6%=X#jkV_ty$R}W)@9g*^|5J0DeJjSDl%YJqRG}I*sl$UbqA9I- zlnzADou}wcEH5yCK@4LAV;IjQrZSV+%qNAVtYj_g*+@Fu*~8a-OD4xTMJ_*al>+n4 zF$zT8EAa2BKtI>ucwXfV#xsSP%wsVtNo5n;$lxGZ;uys1jAbIzn9V|#vW7I$*~LCG$tIUe1T6Ibj})OK z<*7_4b!kjX+7dw&F+9&p3}QHM@Fs6Fjb!Gtn3bfmk*(}zA4m9SbK<}8oPYK;u5W+6 z0{@dMkmDT4BcGc-^g9|#P>#yfpdOFVnvQg*7ta&VaK`X9)0xX6RRHrUYXv5>tG_ zLogwP@&FIgh$gh4J>7_=4+D6Ou}oqHb6L#CY-AgIIm!>5=NAesF;^%{CGMj-HK{{= z9^w&N(S~+J5=Au6@d5)G#A}RX3~w=!DNG}o1*EWq<*a2RU+@(NI7&8WxWHw8rodA5 zqAoMIpTPg5xm7a%w#@`S;?n-&UP~RmLnYJBzfd>(=zp= zB;}|=DD`=m*0kqwdh#qUFo@T9i+7mGTvAxcr)=XZ4)Hxda*-RC``(LUl;R$$5ynF_ zBb?4e(vxR-fkC{+XcC#i4Cb?#Wqizfwz7kRWRgWTIh^A%1y-m5f8QBm8@q2pR^(TT_DPBbyR!cbmgG;cD2cX*ds%;!TsVmYf>M>@MX zz)`X}&lL)+wSU}B3Ca>ob;5X%W;{wKo*;(j8Nd({NaP)6GM5yVvyM%C$zHzWM=tOS zH-Bs%5y(AMp#~4qjBq;eINgb+FL4ZK1fxl067MpX4_L%fRPVS;2A=IKijcH07+R=%}=}u3c-v z6SlF74EAx5OtScavs~aR1=H*!MYxl@xR>hGrU6Z8L2KI4ogO?*U-~nER~SYDqnN;C zrZR&$EFgs?tY8hPq_K&u>}DT_`Hu5k=4WpB%>Hsa#VJDtDpG}N)Zzge@-WQ^rvuT% z5KBMeh$n$J7{>&XS;#6rW<487XD45iNe<_@M1c+Nnf#F=l%@jrQkDCuLjxMqoIlf^ z2qKB54{^N0a7Hna=_E6U1*EWywS3CwY$t<5WO0hKT;dmQ-soCPAZ4gPW$vdAjc86A z+R=q>^dN@k8Ne$H@VpfvMMz*q> zZ#cv;e&8$@`I(zPcMcLr8SbVEq12%PkIXQUOZ1cLrGu^6L^=|q_C7#q_Tmn?BQEZaF)vyNcXzjK^gAm zK59~r#@P(L;vVj! z26bsfOCF;WkvvT-FY*crjAbIzna3hl@Ch5(!Y=lc$@iS*0@wJ%R@Xbq5KJ}d(1_-= zp)*er%Zt210&npS@3DYotR;;v*v+?m$4Sm}nH#?}FS(O)giwomJWNa4)0wV3!Bh0& zS^6@NLA=ID#_$#snZh(?GMjlUWHHNF#mB5?1D~^%9qi>GCpgc~6xil|%OAOwq7Gled}1do181*0PbU?B)R9k? zKnhD(!5UIYV-x9YV;33h;~<%2kxdS{e7J5 zG^Hisw51~vL=r_bF~ri3IN}-1FcKKWI1-se64Oa$4hu+O2`gAbDrsyYoo(zQgMAz% zlPt2yA(uQZkx#%b*Vg(a+D4XLEDiFCHHiwyR0kW8}3CWl<|xI{hyyN#bh6s8D) zlq87q1XGz1LJ6ZT4QNbLS`toMIub!7QA86%Ed7Whp1}+wfl-Vjkx3*mon+>)fE1Rn zf;FU)#wOC)#x640$3Zg5BAXm?$>S3F1ne<>3Q?FM1X7Y9$`edwLI@>{x-_6MO=(Fu zZRtn^kwg(q46*bhj(7$$j08q8jzlJr#B`FG!va!R!V1=qN*bF;XB)f7U>^s`B#Ufv z$R&?UXE4J^U=-s>WD-eCCz&}cAcZBYU=69H zv59oHv5O4$aga>1$R>we^0-7k0eg*~LKLP5fs`bO@&r?v5JCx~E)8f*Q(6*ETRIX! zBvC{YLoEG>Bc8zwBY{zjBaulYF`Z=Quz(bnu!1$DlEx;|*~Tt1*vCOK$s(H^a>?To z`2>7z{1l=vMF^xML6j$$%7hR~7XkXE4J^U=-s>WD-eCCz&}cAcZBYU=69Hv59oH zv5O4$aga>1$R>we^0-7k0sD-fLKLP5fs`bO@&r?v5JCx~E)8f*Q(6*ETRIX!BvC{Y zLoEG>Bc8zwBY{zjBaulYF`Z=Quz(bnu!1$DlEx;|*~Tt1*vCOK$s(H^a>?To`2_4Y zehN{TA_P*BAj%U=WkLugjJhVnIBn@j1d&7$O$@R0BaV0mGmHdAF^)tgk;HV8 znZp87Si%a{kV+bxNM{?n$Y37_$s~(xa>yl*OXL%9!1yUdVTuq)NrEU(FqH`*lrZYj zfW|bXCE>KCBN0RrMKm$Q(vLXe8O$&e7{xdenM4xPNoEcUNMQ*pSVJmlY$Ba)>>`7G z93+!0vdJNrJT8$>z_-RvAqrE3KuQusd4j1-2%&^gmj*PZDJ==7EggvCWcu05l1|O8Abx57)K(LNMbt4%wYj3 zEMWy}NF|L;q_d4(WU!BeWRgWTIpmVZCGrV4Wc(DOFhvNYBteuXn976@N*Hx%Kx3NH zl5pD6kq9D*BAOUt=|>##3}zS!jA9&#Od^TtBr}Hvq_Bh)tRa;&Hj&OYc9Fq84w6Y0 z+2oK*9+$``;IQ#ih{6;hkdg#Zo?t2yLMUO>r2&m;N=w3NOGhGzB#LNah@~HK#50&- zBru9`Br=I4rjyJZ7LdXcR8}5A&`;;QJ!Eb6GA9q)TIH9X-Z4NX-h{Uh$M<=Vu+<5al|v2VI(k$aU?Q{ zB&L(h92Stm5>~K=RMOZ)I@{Pq2KzWjCRt>YLoRt-BA*Vg(a+D4XLEDiFCHH ziwyR0kW8}3CWl<|xI{hyM~$CC6s8D)lq87q1XGz1LJ6ZT4QNbLS`toMIub!7QA86% zEd7Whp1}+wfl-Vjkx3*mon+>)fE1Rnf;FU)#wOC)#x640$3Zg5BAXm?$>S3F1bk=w z6rwOi2&5!IlqZNfz1UkV_ty$S2^K@l%Mx6d{n31W}$~DicB|VbrAo zjcH0t!f8uKB8Vi4Xkv(^A92Jpm|-L^ig6?|i6o|z%p4Yw!V*@nhE&qnL^|8pMF#sg zNG4filS3|fTq2) zXE4J^U=-s>WD-eCCz&}cAcZBYU=69Hv59oHv5O4$aga>1$R>we^0-7k0mqG>LKLP5 zfs`bO@&r?v5JCx~E)8f*Q(6*ETRIX!BvC{YLoEG>Bc8zwBY{zjBaulYF`aoVWHHNF z#mB5?1D~^%9qi#7zU2tV_?}ao;XD_)$}ik-!fy?@h11hIVw~ak|rkr+J1x zyueGm%n*h%g3-Lm1ST_;8NA0_K41|`S;<<~@fn-h!ghAEm;D^#D91U;Y0h$i%lu4% zY;*p4u2CvfJ{!1!#OT-jT?XPyElqZf*|guGSvyAK8zG zC4Q#hkB$R{DM|^-P@an1$Nhv+kB4YNOWM$$E=1CU82ZqkfedCiBNKBoBA}ODXn;v4n)wMr|3;AFED^X3}Xc2n7|a? zC7HP_5kp_%c!gp7y^QquSQ44cG-fe}1uSA2 zt4ZZEKIcnzv6uZE<~zP8hqL^|Res^d3&zH6+(AixOTRN_9WQrx8u~>$J2k z{BNxP>+P;D|DUZuJI5e`CwQ7zUgQ;qGm7y{VFq*fkY%hTjW5_v2H)}>*_`15S1I_D zYb&=?oZnMM{~oFmMnjtOkLFR^b|8Z8JVkF}d4T~8Vi+SB!+0h!m6^QH0v551)ui$n zpYtWV*vkQqki|)U~A&!?B%IhRDm1I6(8GkFESigZS?BW{^bDSK`bAQBC9Gf# zseH;tzTiuC@)h53h)lA`CWl<|xI{hySKL?mBexMqNrEU(FqH|R2DPb2Lms9Xt$BKGcpd{r8rYfP-rap~m%D6Wj=#*kmP4pTJsQ)T zaM}~W-^&vo@5!_DV<1C#ozaYEGQVeQ_VBj&tZ;}!+Eao z3pf5^4sjdBDNO|`Q;nKDz(X{lC6CdWZbb1kvAoDDyh;LNnaEUppkTnCxSbM|eGa9I?Bq|q z<#k5!CR3Qf96n?jYe{1ZdpN`i&T@qUH>eZExr=)Vr5=rG!J~8`isy)92%~tDiOgUw zi&;$?Uy{KgvN_K+{&-`-fI!MoiE4!LAkBG<&U7c5=Xr$@B=RovSV}4z*~(WOS9qOqOlCU&Xy)4XLzb|TR5p;#4l+1E zCMWoTAIaki0XG*6xRF0{8^tI=Dauiis?^{C8q$PTJjUbnGuinCngXKwg|`OIwuQkwEq;(lsVpGRm#TOQ{ro+FMSjAT4X z%qE2uq_UYEWN?5?PVgf?aRnz;z)jpjQSPKH_Ygu2>e7%$Xh9n~@HkOC&9gjD953@K zBN)pB-eCss^8t%l&KlOSfiKv`Zoc6V-|;;;oaHC-x#5om1OC7*+|C``Ng2v<4^^p6 zJsQ%4Ry;;0y3vE)^x;Kb=2b>8mI+K|D#^?vg=MT}Jsa7=PWJLGnPl+;KXQ(r$fw|+ z3I^OvVTw_by9g$PFzVBo=7bYLH2oRM7?POB3f7QDI@{UJUiNc{qa5cXXSl#s3f$tH zp%|qoPi5}sL0Zs(C;2~_UjBX`;uyqhj3$wHn8{pHSkA|MMmjtBnnPr9igR2hps;zu zZ4@Vnd$^Ap)TI&4X+uZ4@f6R{kAVzj1mk#{X}re*K4KN?*u|k(t{ZK(4UtX%Il0_Jd>D8G9R#*<*Z>H z8~B19e8oNv@g3ij!&!dfDgn2-7xE{HP@K|~BbX{wrxtZ-NOM}#k;i$0p2X0H{tRRo zBN)SYCNY&{=90ovR`CgGY-TGv$zVT+IYu_8ImbovDR8^{3bznQDemGQ$vw8KN-Z9w z39acsB+>NYC5AA9H<`=~=CPRTxn6<)P6bw*JD-roX120}uh_>Sj&g!ioFR|P{7k_j z?(^Kj?F3SivfRzRgiwRp)Ta?mX-ON}(}iwC@ifoSmlqkxV1_e-(Y(b(-eEfLF^>=V zh!w15JsbFfZR}<*2ROnpvN_FJe&Q;>a6?g_6(~$mN>GOKRHO>ksYP8H@G!rox%SUI zMn@v(&QtW_IrAc5$7O|W)tY;Hj*vVcFkjV*7k;_k9r9hzb zid(sZQrtx__Yq2M9^_$K5Kem{=uS_bp)YZ~!mA`OhVe}1UEX6pi&)C9S*87iPucX_ zx?k6C(ci&We8WMGa-1LdHD|QvxkNq%in~X03%{m_Hjq->#Xa0h2sNlfeHzh}mb9Tg zo#{pt(ZtY)7Z|`GhB1OMyv471Tbsmm-urFcJnce0Vg+mXHS2zB|KA1wd}etwTiL-^ z?Bfu><~!{PPLaz6E_00=O1O?tn4*-RH021UGS#R_9qQAFCbXmt?dd`!J?KpzUL>BO zBrt~YOy*sZnMVpsShapLm9nz$o5iBJc1n$;@RTi&@SZQu&O}*~(5b*vCPRa-1JHLmrp8M!}NC zL1BtgoYIsdn95Y6CUtm_#x$iBkJ6sbbmK{)d4|5cNIXM$ozaYE64OX#9v`xl)ugh4 zbhh&q`#H=pPVyspTp^&8^N7L}>>d}a1w5BbciR3AI z(}x#{XDA7bW;~Ob#w_NtkR_}ll?|k`gS{N&7$?c)BG`^GIPCYgordwy={74v@(SPH~otCyC}6`tl<24B<82 zU>p;e!n-6hmxX-93f8iojij@kJ?!HU-|;;;oaHC3@(VYX^InPDxPy|EB^Ht^9+4?k$8siI-_`#iM+#f-eW$CSk78LWiwy0n{PP8F-~%Z3tXi@ zdDn1mBaqURrxGF5q%I9D-?JWLDP(1FK!lBbEKKk*DDfiWa9g?D+6`7B~N zYx$JTe93OU;Sk3-$r&zil>&F0+uTMVr72G(La0eS8qti_w4)2%iRL-_^D@JDgSVK> zblztnOIgFGe9m?rI zF$z8Fumb9ZQPt%uyyvA52F`YSl#K&ylOEUPD6P)D=H{9!cNbVqriiA>+CWO<8 zDEcs%H<&~+AFzT?N#`q$lFNDWDNtE`xt-#aA(*Pv=3!dWns!9+1U>1+bM)mU2Jt#$ zn7}(sXBM-W%ZDsu4eQv%7i{Az_H&eM&T*A%+*n2JDMl&oq7v14fQB^ZF(P<^-t^@q z29v-TCX&P~=CPQyY-9_&_=dw|af)+X)6arzTqH8IYAERxk5ly`@t;~qcp*U5XM8aq%B>ErXPbD#YB>r$y^q* znl!fX6$d%akDTW+1w)*R6sHUosLcJ;p#e?!GwtX?H=^iGUtZ!BUSkYz^DeVl$a2<^ z#wNC~gRj`fA->~#ayZLRTqU5IdmVq`b^<9yc`8wjTGXWx%?PJGU3h}0iKRdB3}+0J zna=y9u#)wB!7je$Fj@S_dGfibx|(q(cTtfLYEhquX~|=BraL`(hUXc;5E2;6M5dC= zd=|5kR5p^%ZVqsaA2`b;e&Oc(-Ny)|48c^R4vlC@JG#=7SYBc%Z;;3oW-^DxEGL!C z>|j5KIZh7exx_VY40U`cN=eF5iE4!LAdk?BwsheMdJ@Y^4CM_HnaXTFWEG#0&Q8AO z5Luk!JU{b?8eX3u?xiLV(v&u|rwftvAeMo=#+xKDn? zblztnAF+b9q_LH~9N`Bp@rN*<_XwsIkI;q)o~A#8NMHgpnM(>wS;Z%$v6*e`B8jFC{Taw$hBK0}Ok^svm`4iBS;IOu@CDoWiUSqC%W<^z34+6FEflc7{}X8Bbj-mu#At{ zKsvkF$04#fMJ^Y)#!U}6&nZr6Do~jk)a7Bq>BJNCrXMd7&#R1LJW0%A4j+)hM=WD4 zX>4H+-|`(N`H`yx)U`kSiQ5UJ6nAkCm8eQ6wW&`dn$w#0bfPQWiQ->LPtT8`5B(X) zuNkZz&Pc|R$YiE5i#dG2VwSUpb!^~z{f{n+u3wHm<`$+=^xRIUdBrSceVRgctA%{)o5Gh`-=d ze2K$2K7(|PGtdR+<3jXBIxfWs3bq9FFI`dcgWiVmt+DNXHOlVmNYT zI0YSX7UZuh!}HM#$wn^}8xD(6q zORUCPJcVcRJYK<0yn_$$3BJT(96y3|h)(E=p6G)C$UqkIV8?hkPy;_^;%dypjaZD^ zu?+X(e*6k+(DLt5ragt<;J5faUc?{pD*lK+;cdK!KjSa>EB=PR<12iFCLEtlIgV3s zI?lv7_$kiE1?Y{7&<_J~F)qbr$i^s)fgL3nkBM-g3N@GxKSG#^D=`=IumFp&1WU0D z%drA0u?lOj7VEGc8?gzSu?1VP9XqfKyU~cf*oXZ%fG=0VrcoEyM18-vw_Tf`}iEnUR zKJi6IoP+MT04@KLn3jq`$V4{sQH1fB0vDzuhsFv3tq(= zcn^QZhxizu;&Xh7L-+>Yq1|Zm5uAhsoQgB?F&INI z3?q<(k;ubn6rvd8P>xBMf=akhjap2DA7RYEY|OJpvMhBdRj_8E5 z(FNVm0~a6(sThPyFcewH#TeKz9#b$Cm8ixvco9GtGcXIYF&Fc&0E@5$OR)^gaX%i! zYCM4rcox6I7Hq|K?7-XDgAegBKE>xah;Pw^PQocT9cSV!oQw0&1Bpn+Md*kA zxEL9@3|Yv=NaSHO#-bDxQHdH%M;-jQ0uju_mAD$$;d;hfnYszQVU?Lc1dNA1C8foPjfO4$j4S=z&Be;Uc7A5H3ar zGLel@$VU;zV+!2x!iNBYn1OoC!fedJTwIHJn2!Zmh(%b8CAbYsaVM7H9xTUwSb_WT zAXZ^D)?h6j!;@H#4R{v6!xp@Zt=NX`*nwSm3-4kNKE%iP6rbZDzQ%Vr?sDoPNWf|6 zgtO5V-O&@ha3PY=2PsHJ8irsv@=$~_RKS5M)WC}Xf|!AN%))HU!CYL6d02pjScJv6 z4R_)m+=u(I605Nmk6|62#CmMN@9{ET!%pnR``Cxia1dYPI~c{}t2hw}I1L@q8C}o~ z-C@IpNJ1Z^APwmlj0|LA7_yLyQ5b`w^RW=OV;O#i zd$9t)#44=D!*~o&;%PjC=dc+s;T61wop=-P;RE~?pWz^k64C=sM0+IQG;~5|bisM( zi6rzvDh6N(hG7J9FcPCtfFhKl92J;^D%4;adM$ww z0sI>OgY|e0FX1)(5r4v)cnABiAD`n8zC{yGC}p3KfDSkfop3g~;(R1y2u7d)MJPoD zCcyQu^4yaK0Js=@Fbqa3)qG?Ab;;N+=IVhKR(6h_y#AG zlZMd|opCO@;{qh24^okabPT~TWMd49P=*RP;X*Y$@F9$P%*M4?fQ49$+i)lD!F^bP z`>_%aVhtX{lUR=p*of!x61L+{coVzPh!62GKE(kX!eJN_NIOWt>FA7e(H$2c34JjD zgOQ2h7>O|`MmeU!h3W7kgqfI)Yj7QIz!EIO3OtMrcoEyM6K`S2k;Oc#S_?sE!c|f z*nwSm7a!mNzQzd?IhN>x3y_R{7=%lagG}euiIQ6&}G8*nmyg ziZ}2+KEz+~84luGw3|$xij#2)PRE%z2R8IXFZ4z-E;AL#XcI?0#cnk01 zeeA`D_y~W+-|!j!jxX^Ke1j$&H-+PZ4mbmyaSpn{hF(ZQAN-KNeypF4!N@=+h9d`~ zQHTe4HJFc^umpGEK0JUmcoa|KH`s(1@d|d} zZS28cupgh{AilwI4vr;G!1v|!L3ThETJ+8)l+>ASLFIHhK)?*W% z$IEyXJMbpn#hbkr;y_jE4g*co0AY zvv4)$<0jmOyKo+#HF%AyY!jGAlgX^&vci}!fh=;Kb&tNmQ z;&r@@KVv`sj&ISvierr~=z(PPM+Qcq0A-jAH~w$>^AX<}n1lIPjJvP`zs6(u4L0Ky zwETO6Y474ge2Rnk7ALq!qv(XL=!rfUfJ}@;5h_pxFCv(O8?Xd-<9@8hW7vS-;bpvz zx3CBMaS(=^dI(NKC!CG0I1e^lfD6$FsThF4xD>;Yi_sX1B9!1*f8$tY0w%$MO4PuM zAnGw2ZT-z<-h3>=ZCHjCScONi0l&p&yo7DoiQU+X{rEe+M!Ra#D$YPx^g=4qk%8eD zi9(En1GNaC9&@n(w_!Pcg=76a#xhS~Bc8(xcon&=={r z6eBPS1-KmJFc~gPM-UD8@$Y}f5xACfF&_(Y3vS0IG^Aq)GBF%E$U^~&P>OO)!c@3W3oil)qaL#{7xSz!x}#!!V|?|7ed6=!nkff^M*(7m|>IG^Aq)GBF%E$U^~&P>OO) z!c@3W3oil)qaL#{7xSIG^Aq)GBF%E$U^~&P>OO)!c@3W3oil)qaL#{7xSp8qzTY znHY{7mXC`CCYVJcjxg%<&YQIFY}i+NapMOcERScc_Tft6T=HCT&vSdWd^gw5E3 zt=Nto*oEC_#9r*fejLCTIE2G6{Omv4qXRmkGrFJ~Z0Lm~q#zCH7=la;M-K8(fFhKl z9Fs5=F4V${0K%xpY|OJUH}GcgNSVJ@!2d@RJxxD`ur7k-AHV9T^yo9OPpxiZKooF%{MDB8Zu| z3fJLAEXGpYgP-F8JcPA)5*zUxUcgqohCksQ{23qNZ}+lpd;2CVf@9_d&!dASB*Rd13@HXDX``C-W;A4D(1Nb`*;vYDS zCL9;$c^I_EDL4&hpfk=vSDXhMF2IFIMhg0200vs}5{$zHOo9WI zaHAH};lmXOV7!A@jE<^ zE%*br;Whlwza50}26o{cyobH`5P!ud_#9v0AP(Vc9L9GrBAgqXfRk_vPQ~ds6X&2C zy2FN^xDd&>2>s9>gK#k}#V`y<4)QP>MJUF2Ou!UOg&Q^S!iOsm!b~(^F0REq%*Rc* z8Mok8+>SeN5AMSXJb+*0A*{tZJc-}nw|EY}$Mbj*f50nv9Xs$Ac4H6r;zR7iete2A z@fE&I-n!YL3dn$B&1_7h9Co(7>3~(fgFrP9!8@8g(yNXN-+-QsK6vlfeX_SKt1N- zdMv?hSc*Hb4EJC;?!yY)kCk{3tFRht@Cer82|R_T@mu@>Z(tYR!fw2aM(n{}e29Jc z82j-l4&ZZqfrB`NuW=aP!Kmlh;RKwB_DDbnoQ96*gw8k{UCc4PL@!*3B=kWF zQjvxMNXK9dK?X8048t)3IT(pNj79+pQG{ZYVjRj*fk~Kxsi=et)u_cZc;Q0;L4+{_ z^_Yd(n1i{v7V|J43$PH2uoz2l8MK^SZ4L#8d7a|FLkb+dCVF1!G7(6;X*ZPF%4e$5I_)N%s@S6VK(MqF0REq%*O&O z#3C%l65NKRxD(5850>LTtib(Pi3hO?tFZ=;U@acQI{d%*_aytZ2`}T1*o}{H5Xa3T z4WSEqA_aqyg#wI&1GTsUb8r*x!Y}bKp2BnZ19spY`~{!kYaD+iioVi)#cKfc6wXg`~40bS7($ry-C5c>K_#j&4L$@h1G6v(*J3^vVli&Rowx`0;eI@b)p!Jt z;Yn=3v-llez{}W%*YO74!n@dm5AiWR#pgJPukjs@n?t^Z1e}IWI2&Ej9X)X&`XChp zFc=vah7lNve2m5AD8mFyh7)dhP=_lJK?APBHMkx(;%3~6J8(Dd#V_yxevOCmD4xL6 zcm~hmdAx*I@EUgFO}vBm@c}-2k>h=j7RYVp2jnH z4$tEyyn@%T6K~=jypIp?5kA3Z_!9rXw`ez){m02T6=&cqoQw0&1BpmRU-ZWyT!Nv< zLN4+#7MG(86EGQ0xZyz^u0RA0xC+$}10#D-^JcsA; z5?;Y;*oims4&KKH_z0iiGkl4E;9Io2hW*FMI2C8$ES!t;&;yA`Mql*DAY6i>$U-hg z!;VsvV+!2xB7|AE1`BWt?!>)ViHGnQp2jA;h;7(`x3LEw;Q+qEclgP*)G=@-x}pb? z&<}%=iENBU2`0e}A3~_d9L&Q)EWw>vj{C6+k6;}(U=yClAFvZY{{5SdK)d6PKj9}Q zp49&2gi|`4dfMq7&**e!=d;c}r^~rrf7whg_0zY39&jmkrPQ9-)jl=Cav2xg$sA<&PdyFt*TMba`<}Y1z2+ z@#*CgDke^vJjF3J-Km18ta7=lYht0*dZtbH#(t`?I-kGAlp}uzt_X&h8a{H)_nQ)l zTYN^`xHUSnzG2ptv#*+S_1tT$Noshl`tNn=^RAzN!-5+Z-n8iEX0!k6ek{Ia$$#BG z|G2|H9)TZ^z>i1Z$0P9L5%}>4{CEU@JOV!+fm?6;?>+{%FTLZ=|L!C3-@W(rqRb7y z{&5z=sed{zeFVdBw|kr;s%kx6m(3Xpd1`!hZeQ5u@wwdfHh&~+^HLQ`At=2ii zZR;I$J6*kPPM=GUdObcjKf~dmr!o?Dhm0zxPeKg2gC3{XGs|sr+Ct3q)!4kwV2wLy z3)eb*w)9aR*#rKvoxa{-n~s~!>nA3$&}@mtHouSmvRs|J&TsR$Y+=7&hh(ev2WfU3WNwZdatr?QrP*t@8WAPLIzvfG7w3 zk(yfDAe-CkmV+FU;}YbUc*5>FInLo)x9!*=R=U-Zc2;`bM#xS0uJ0d!Q*Xzp_D6!@ zS}Q`|D-Ilg;vIB`{lOG<`V-auRR24Jj)0XqL-7pK-^zI_R&n9Wx}St;);gV1|=AAT5o(<8imRIzgJ%kBLKD*_+f*P9htECJUpbAWC(~^neOYp@8v^?BJ^J#s zT*s0GX9oRTXlnn>!`J-!N-WN>dFlfGpvoNT{H_Ss02f)cldD`G@n+YfEFZnLxjOyR zBLQ1tiMl9D;@4_%9jonxd+WWBh=rVWZW}x3t_qV^5kzWYiH_kB+jG~4-M)~A>%PkG zQnB-dB#V$#>kGTdLez@KT#sCl!+1nK=&1771)O1r&T&$UbI0Wtm*hGMv&QB+#%2{2 zyHo$sdGSIl@yLhRK(<83NPR!_mFFYtWl?oq(qfcQ*3&e+*Y{x zV~gy?rESMl=e4awv?@NIHP5`qMPBBq_K++0PAutdi-aVfHuK^@&>!|!`MtJ8j~wu3 z>(_Ywm1NZ4bN!a(LS+L5hLtLsl@7LO@xc3}Rbdi?GuU9OqU5L{uMSDE;)Hd7@u{|tAq+UuWbOY-fabNF~Nv$)~cw(xBTt zB0`-=sv1(`2&bw;9cXaZbKToG#wv3mSdUNV1s*An>+8I!?l3E-=ISzD0!meJ$PEVl zI@2K}o$p90a|SCt;h-eUXckFo_Sww!%@fR4$@C=Ey03`1eN}FKz4z29uBQ>5PyS}E z*VHRRM^8=?x5e?J%gIE%U?%w>O0IXDaNebIbB1z)+Y?>X3D%$E;b(d6dG@T173V zQ>)6y^m^*Q@mni)hp4%6=xW?PU5ld_VGDXqwkNwHJDoIL?+q~=r59x-U5wghdZ?UD zm-YdBtqzg7;nuH%=;hePbrP4}%meB$&x^XGtRD_5OEh$|rIofyCE1}_0=b-Fr(vc} zIacgt)pU|8m$qb+=B3CE$1cEFi=kyHW~H;tp|(U<^IDN^b(pmi8XKhJ1S3Ri$7~Q7 z&8uf#k5v3aHn|)c411D2nMg{VUQWNnCe#p0)g^3*RqJR&I2=Y23)+*D`FD%^C-9%N z1j9Cyrkh*utn40VM#sS**%6l2&LLF2GZF?Ngh*lj8cukC3sHs3#9~=nxA{E2KqPF~ z?X&H@0vWDIUBHNqh8XV^2!%4dey1ybJUS!VPL#C*8AZC$NOQ;Ma_EYsne!Shw>wbf z4>TN^B#NBjS|cv&^x1o4czk5$Ve_&!>^)}NGaTfiDq9N~dJw(ZozcvNW1)*ea|tUK zHAoD>a9H*`QiLWI%;w z1qDWLhf0`S!M$UZa5>?`IKvqTurV16(iolL<{KBGaH<|ps!z@!-;gQ}d52mf8Wiub z*!ka;SIOWi^OsEF$85WORz~dVqCk?ykrD97;m?rEMUK4sAtSWYqvPy(*h31;RpnZu zD^>m9$TZ6VxfCex5(C3xlg!_Vp$wu(AxcV5p_=WD)X~bO$(7{uk-k**%1>S)dsFRE zd!(}sIiwONqs}?qZC>CU52D&5qa;#kZdqd3BO~sIJwxIireNTe@PKaesH;a`($SP; zt95$=WX@{4elB!L)+$#vJaX!+j7??2Mm0GxuUbki!7;PePZ_RD9z$ZNHpVK^42N;+ z)N)Zuy5*uQ^LeCtl}kl{|Egl%oMfY@_PgY=bj##a!=bavR2?J3M}sC5a8iOI$nBau z%%~#4u&OL;juMJBMj-ssiCCJDa&ZT#ka_6xF8=GTAn^;DfzEWhr?)zz!R>4jG<#AtJtsMBE-T3zmFpaJFlV7Zc*?D?6qF{{r zU7R~g4f99Z)v%yYPcN}&>yaG0U9Ta{S+&UcJT)vS%g>SDC8NyYxYBZd=N66}tL7Ky zW~uq(i}Oo!Wx?F?+-w;Zk1sD%!?F?;@_2JtZVs8R;#54UxJZ^8Zw|}NA@fySi|wU( zYQ8xvmtomRN1;8ZY;2K?<&Pa(R+=@Ufa5mOL6<>pVUCR1i?S{+Q_~9VWrYR#>@ric z?PH6Ib4yBc)iQbcIXSt7MhWW`XXoXQV=CjZ0A+>_kg;emjF%K<6_w=KIRrHR?K$ju zsUyFT2$wo?a>vO)Z;=so081U}_?7DO%hasW{IP1SvDQeo8gZ!fL`_E;M($Vz%|4rQ zVAd>;J;P6_7cGV*ZK>w5RW4J}VS*}e?IDld=v~&ED~XO9uCQ3UExLYXq`I1}VX4hg z%tTA=W}(oR&F4}5{;;Z;an(zDmNG$NqMAC1A)_GMkzG2WC|5?*j>rUiK|vO&g3+<| z!raoV;t6V;!_Re8BIAW+V{?o1vt=}k@?LKtRVVDwEMpd%o)x0B@p&CydK)~xYCn;T zULABj>xq<_KB^!T)t=e2GN{Oyac#D&^k&odghR;pqG5Sk3RvmO!Ib5C^+6+d(Q5AAXbKC7Avj|9Fj!HHy zWu4(`Hq+O9Cd(2$F$%GbxN)a9Jd1XcWV2pRO>Njnnl&rg$Sxo&aBwvjsI#Yka@Opn z_Cn52i{FmotnucwqGEeCC)ANmpFc_3K{lZmF3pp?A%41}q_ns!yVOxS)N_}1GD3sH5LVDP+YN*sX1B`i8hX^BKYR{_i$G9u#4_M<>4OL!Qm88f%Clz|E z)W@^9B8(m?u zjulG}(Ke?X8^ae3Z`e><8V9w9os_LxV{zx82aD>YYPIr1)KRLXLqs}lk`l|Pe3c~| z6H`-DC+pe^6}%LhUiF-rp{l~B&a|rbNwQ$)^-OhMbSlsjqA_Z=hYp9n+2p8|%*af{bP@}X;)X*#i4Y?_!i$b}SRC~hj_l9WespJxyU>(W0 zDe)&MHhGpO;P7&DhQ6D)@N}AsEhYVtDwQ>x6gzjZ$#F@rq=BYGU2eT6Od}=YbGR9+ zrZPz9gHLYkR?=${k{V5kSz9YHYilKDZLP$tt(A;4t7|1@b*;pzu9aBTwGykkR$^Ay zbX|m+Ahk288_4y}H{Tpmy*1=NDXPHc_MYTabfR5y$v~M;Rwvn=zC);&qk&c9woUBM zLIWnNWhgP4RnAlN{cN?&!2W6(siE_|u}F|x9%cY^)eRV^1MsjBRbg*7chDtjF4cA# zl5!We+1$bXCv%0?IcCb%Wl!Q_(K4a~2M<<3c|tDED+{ZF&RJPWLh`8VP4XSd8D)k| z8jZ3PnWewF+5p+4ZVs1~W=oc5#>WVG>0B}MYa=|1#mwph(Vf9Jrm0d$YuZ(1jgdxF z1Dn<|*^VJU9kPi2&GkuXP9VkZ5XY*@J>D7gNzH&h3U}4?Y}JM`f0WQ-(ItqQS1h%C zRiLP!nfW#yz5*++kna$h8B|W54#F7Q;30Wg@vL-nC8+tgv91b*x>E>{dIUH;bFJ?%E zNv$VCSx<(to(yF@8OnMxl=Wn2tvAH{eTg~jpJt6nOk~Oa1B~LVoc!|aysToQG|ygE zl3QeC7Z+wvpkifYjg|V9QKSdiG)hW%x}wxUR^Z4QTQt_lEzS~-9GPT}so82=k5T<| zl!Kz8E&Ano=gnUcNW*#AlL6uswk~5sl$~HeY3(Q zw+5xY6(JH7g5vB8C!xJ{uw~f5e6Apl53y=5sehWfrN@Xi*(2 zR?UFhK)QmGVyj`#tUIjKY~6HnSohY|GeyydaGdIfr*%tM-v*1Ws1Gl77N_fntgr9; za!PDv^tf~Dl_Nk-sLrYMm-@Lyr;fY2U#{XO`KVe}3S!!Bs!nSy8hbR#dW1!CdUE|L zVj6b$llbix`$fbkQ_Q1mW$3-xhp5xliUV~_B~n$lL#GkdFi6$){a@PS4XPt zC3fw{IVbN_z3wY9b(+FCQ~Ho z@?TDFgo0B#irS*5E>fra81#ar>Ul4nz^#lodc4Z3TjYdA=nm*l}& z4ih^kx1jpRqMwvztD!|tTgZ_7M?W)Vo!;m%l**tg$|Y`b6;gthOOz85@mW``ZMwT* zrk^LBtWd1|iCZr^&vpT|c)c03r-ZX$bt9T9mdL$XD=<|jw35_Jp5+;81vi0yeSr;oPK)RM5j5*~7(ykoB)K}R2Mb6p zemz}BWTd`3p?1}*hDFOB>*3G1hEkHc+0Cl)my%>_PIF`Cp|E+RU0o?RYjlAXs~g3) zI*&X&#S&#wF|m~EN7sTS@y2B&a-6As%Vwn?J-&uNcyfwuELC^r(o#<|jQ$dnP=woO zW~s|$u1+`Ijq>zen#|_-q>#E?w!Ug#+P6wwkn{*JyL%c=S{bpSf_WtGuvj!N42)q9E9ZhwJ zIR4f&o?#wtfE?4CKY3!sS1+s`cE=kR?mH#*jA6H3+}N}bb1@U&4QXsTi2c}ueU~*h zRiYd}!(IugKQP<{StbefC};ixhFh4wis8B6>}Xn++jvxu9%KHo)<4?( z_^?|WU&Xd}#ce-+nWKfezVEv6+uxqw*!0ra#-UWFrUu3gZW)0()|4)uv@rfV) z(D+=nr1|k^D?I-lZ7(;}JhppDFBU7D8{^iKFb=Yeka3H(tPHJb)-ZnFzhhj&Ex*6* zeTm!9ZQ`R=O5rgabM zI4orN7xOsGC0-(a8`kf@1I?#f%M@|lTH`H;vi)&vf4I4>HI(T>mVc7C*vv4jVSG5& zcJo{A1M!x5zsKKy{kNv!nLC^M&Zajm-PyE*@w*v+1|#9XM=bLe{(y~m z824d!{?4WY4->DWIR25N&p+C_$C?)(c5CAu*|rh4{rF{$6?Xjme|5e1Fn;K`?2CjE zzdt`T%){Ps^sYBc1lXFvJ*yyGVv*S?)GHE-$ZJ&bv+Pd03GrP9ye2{4zIF`3lL zpRJW?Od8(mWLv9Kd5_jOv9&pKTbpRK9dBzdqw%&GvO6-lwgQh^&=wnS<8&;EEfGI9H~vR#ykl&%+1T7>zhXcB znH_3BHM;x+Yfqc6*Zfy>={EMLjW`aEuGf6T+GO*oMl6&Q%mg7Cx8?6Pi!v1#m7Yb3t=pGmL+n6r0pqyjlig3|E01G1<_Qt-zu|sVLdznvs=XvCFlM z3zo3;>T2C+yqT;oz?Okn+l&pHpS?3;Gor_&V~aqF8cJ*BUO)F{zAbJq$=iumKPugbJglJS26+6zU0=m>?6F&R@(2ib2=z*A zO71zzos)E4dQ$Hs=(n%r-i)7KI^yNFnXhB=OdxMjnyVhMp1KPe2zux{W6jo9Q9E|T zdaZ1a+aapkksXZNqCPH1tlxaQZLVsrCr2=3E;uyv=)e6!5lPmaEH7;@`Sx+kqLIaNfBm-BgfLH+T* zc!;i4IjQW9-04%Hs~7p)wvq__gIEGa#mHpa*9okP*H=8PcL0+ zOCNAa`Xz%e9&pK^$?E+T(YTBhk)$?r+xkoV@JFUyJjt->q)tTxZLDT)Ek- z?@!yDk+8qCpoH6fJdqbrj|;2tS}vz^&b}lOvOJaI-Ml@jvQxEu^L%%dJDfpkjK10! zTd?_ZIXqJn=J|1X`O2nWlvJU~@h*+a$D1vu?+_hjxorIoX7d=RnDgBQ_P1}4%{tY~ z?(w^oV&fAg66^ShYG2hw9NP!kw0d7zPm&uI92Dzjv3^`T%&i<*Sr#98vdKug@Q}^u2xcEkl`3S$hk=6S0`LVnDyhE#2?yKH^ zlshQ$_ESh+o|X_=U%%P*%*TM$&BBo0YHYpebrp?dj=aC5N>4d1>h-+1?Hsv$^cesb z#c2<95Y+N<`=BpjD=}HGFtkWdZ7$DUdmc%U97>;em2YRO=R{OQ_4jVfc`DuLkkvyG zR(#^GQ@)GC?J`mw4-WHmxOsr}lCkCD!nWQfTf#xMLZud~q@* z^~936TBYsfkEpD*wY-F?VkA#TSXXO{_;dT5ywCgw3NJqRXSsdm+jd@0B_X#p%XWd> zqGoCH$&QxcTG=X3YT1qmSKr-^e=oS@acv$iA`y2SAq zH_*Kvp2n4@oLm`;$*!pV>a;pF^8Q=IIbEfe@!#nQ0n$YTY)PCyo#9LO;FQgnb zJo9s05&g<*>*2;9clCTKxBOKskFvjJxK@5-CZA&;rcT($1l z@#ftv$|dT~I^5o724+3LLSsZ-@R!?K<6fv{F8du6)OPj44HZ})O|K;0Gv2Fy;pPm$Jg0c%$wXDXe zF=@T>#IYRqf&C4pX;E4WmSaCg0Q^2T(zXlBw{xHRFf~-lH}>9uvKox zrziHTj?Wa-^8As!6`<0p`D%bs&9k5CiRS3zT~dwF%{OU|B&Mp*-5BO}<#fo0H~9Jw zFLO&eB9)qfs|1qI8$@zx+Uh*@@|>ESFf&<53ZaXEs&^&@u*WydYNXnEGdSW?>45<0 zETQ2-oOLocyw18xmy_4h<>AnvA=Q65_`DCHhmvut3D&EL`n6Tr6emUXW<=jPjdhl( z288ZnY4sU*>&?()L!WlOmts@Tu=h+X>ly78Nie1)7#X(AxKj|8M`iU{9cJ(#zy2PJ zu5l#j_lmi&oB=ujNTkwy4iy@@^d}h^_E0EfH$1$`Y`1$1t5zFIjfATmL*jl*7oCrH zFYLUNJf7e<epvLez`Q zg&1R@kt7(YZK<4%Nq)LB6GI8ssWbZ*)JFq2zv>G{dgtSM1XS8@*5#vG_o^DMN)Bnh z(g|RmEL|3v{R7q&VKq)#HY&{bKBS2zr<6n?T^st_IJpvCNl8*g)u*VIZwONUB-n$z zZp^`t>#mvU3^Awqq7tn6@*d~zi0Zmo)~TBC1y(yM!K%Yc)iG`=@7SsuuzBcmaz~Vn zGROG_;0Sw3uKCMe#EZr9Sp?mOlVdL|RbLwzF`+b9cGu7~FS`2Zk(Ewlx(pn=Kh5hr z@=1}luA>o@9I}vgU0FF`*gu^Y?4$ios#i!dZ!X13O7-dSMX%1IErRwdY0A&UJ0UatRR8sV3Pofje70szC8S=_Z0&l8%JiK?C z6yi-)heL8!4gnu2aq_a5i&4pNjS}?;td|YS1zeySm^?Sj6XVVrPgV4VTc0hOJ*&AY z8fLaf8j8)-;l+hDY}hcH!Rw_qbHKbC&7mR4dR2%e6aN#s?Af*%0&;<|)OuoFNj)ER_ zQ)4lw%3;+n#6`#CJy|u8C#Rj9wkn6*IpBd<{t?N5nQOnpdW_EHu!O-cXOJ9^{M#9+(Ovp%-CSPkJ9>Hfu9hBCheVHB z$3_3r<&++8kf(gj$#Tr}sJ<$jjZ5#od0EO;TxX3tLk=~|<>!S)m&5vLhG72WI5nFc z{jFBjr%7+kI#>FaK4E%X3Mi>PSaalPtHb80)4LRHnA79O+_g@v8oHlc4O(twv${@4WBjlQTM55^M2aI|a(PxT9 z)JUk-Q!O3Va`t$Ws8)|sdes^FqeFb*VJ77d?_1WHi!r8RqfWjmohkFU`hvu?Qa{qH z(pK~rFTU_SJ~l6#(aFwCJBDOhykF!FOS6*~Iw`V3k|0TqYC#oosm5{zu?rkNJ;HTj zm7nsx3a_D)i`ox8N(e@&vr?54#u#@)rJu*WRbPYjavMc_=ZqUclpq8i>-Xk(^FgNk zSansepKsNC;wrMKT$%y0=-L74d=bHXEy)Ok2B5!r3Z+QmEOF+dEhPO@H#hX0=y!Of zV@6u;(pIg7AKczE1|s&iHcQ6cue_2KD-S5~YUu`PUb~7mR$|M^o9JyWMmvf9q z25a4nkayGA28CWUM2V@2qdV;6YhU5o6!lZa9CGS-d7Dax`l&Zf@1-h#;`hcdTE5Rj zy~6zRq;6)#;z??fF0WkcmJr8Q?!j7%>!X~it^$sevmC`dp@br_nc)rSOxR zI8r~7%aW>UwBe<8rmgi=h00}%_-N_q57xH2UMxO(v(YB8RC29*5Yg|q=q*NPMC03s zTDD6yM)dkLp2n&!?HtOi*7vW)3TnUTU{MuheZ=H*meS*59zR|Jm)4HX4f%wketnxZ zptPCgrXR7Pi(Y3)Dx&81bGgJ@%;h1D2I>psf`PuOkA=LfYC7*fnfs@E=jDJD)7an( zGp&XiB4MsB-y2GY03xGozBMmM;Sq8_g#Zp4q^Z zUP+oKdU3*vmMgjS?y78N>2p1vq*_D~A>r}0OIm1gHw2_yBvnTr#!&BF>z6$#H@(qL z3MmtgSnh~|MDI{hLsqcH!PiqcdFowbdLgLZ=npNa%ptl1Dnrz3sqn2c!<8oQ(OPR! zu*qw=Op;~!4lW^cY|QMG3(@N$L6FMyY83CPmrUQqmS(A1(<-(SU45n6N&{WL#HZh` zPfQ)8|9J%Z+sMBv>8Or-$zFjNG1Vui17l&mShO42 zYQ|GDlW)3OPn%h1P`-+(|5~hPW$C^M_w?dB#G~J!H~W}-&y>fSqW#{gpI5>p@p0O% zH`D8+zb!GAhM6Z3ioTsL?`>19CVw`=G7n4AY&t3Vq#dt~lEP=w60zdj#`3+aXWwR< z3%0pj8{v+$9@5isC!$2VwLE|wh>!nRdEm~<1JrdbJ)9o5?5K;EuH^!-_RZWQKFuKW z^zkQ`(0PJ-VPD?KRkh0`=}gk^;#!f=E6ID(@|DtPwxGM6l30ouH+$quZJd^9&Uk9bf%WqugHLYSgFB3M9G})*^WFH>*Cus?qxfI=_<6YN;}q zcM&KO;@6hDDLN$>`n&k?X-a?XK)wxNts*h=llz6j4fHT`$DJ8$T&GUbD?M^FBdiy- z^?t~dR+pDfb}QgmArsA`>3=7SjK+r%l7qE8zvL;sxa4gVazj4CeU;|rSF~7@a;=Wu z!s>{0&hziR=+e||ji@Kq{UCC4BMQWA4 z!_jx(pt`>GLk2qrr}N~FFH+yP#urHq`Bei?KfaSGbxZT;$?X`r&1J#ZDb$569ctm~ zAx0}LE&AU2=^pBSX62yDkS{j!&yuW77x&G#bY4Cl(n@~zsTTn&amz8GUwNY5V}AA6I>^kC=OJyqlhsQA%}XUdLrBO(w)MF!3O!mY zR`wE79TaBftS=7k|LK3#%-*9cgL^LZd{RW+dQq2ES%xQM-Y7HFxS5UVAG%bc8%?(` z%hVTW&535l!b)7?RuHk0ihH|T&wc6$0p7L<)FP5Q(FXI4Unv_5F~QMcmbTu0mn zq|4j9lk0HsF9>-3>K;_!$k9}8giFW0*|c|rNK&49!j~RLS(W=RRjRth-GBNZ^~1Yv z{lmO+ti$Q1xf#8T)DLS;sDNn+4L>V5q1#BJ%ph^yoVAnE)G=^sbM9KFf@=BeM3<{(jSG zXVcI#cQ!rU(D;9pjqok;+lrqSKQ7B`uWueFnJ?3=p%sq&&Nt^-(^?L#u+_5cuN8(h z-3m8;x;4!T%i2b3Lz!lKsIlpbUo%*nWxX8sVUii=_;6(WT63K*c-PpPH{&thPyV(3ogNqF zFU)Dya@KIiipHiBSpO^5+Yz_?oy2M1qm51Tm^X%F`R&x5O@|!pGqRj9*D#*FrBO|* zyL@NUMX=_-FgZ3Z)9yBZr?!}WXwuH6g_X^hwZgE5smw2O?`*oiXlIkFY-dwv$h?1) z5T_UQ_7eza^F%#;$P0SfewMew7+s*pt!+IvM*lv@vNG?vD|R-m*w)x|)4PpL+3&^t ziQjL&u75B6V`I~MJ7V(!FUQ7Zo!Ptf?;^s95974p&Zg&gHJ=tgU&aR!cF*daO>^1S zr^T+Z6ordRd6G=?(oodEBMv)-@X;k!xf zm*wyL{_-{bdoA1lhHYB&7QGZ3mubu1*1x@kV=W`YJ{-UI|I~b1{CpX|oUn&+9+$JN zR|)3F7LJHvH?;rfX&k159)t`iN{NoxFf!`0q!ovg-LAi;2* zqQ-w>xH=fFQ`I;NpJupDSK}ucu8xN53^mS*oebBRYW!rw)!A^JrN#;5Y{PYq;p$?{ zYiCrPVz@gP?o*6uryAGslc3Hurk!rMx*D#Z8rKn-ZpJwk9S!#x#DYX4c;!U&|BBjFE(65)I=h4iTZzr;kwkAcbrkt%W!2HuAwTNM8kcd zaUExaxUu3e_20`3H$R6Pt}OQAxQZlWlxu|H%9a)QFUP7PnMpZ@D_2d*Rg?NKX{6yA zr6!Fs+o+91 z;jUNUg(h3R{PU0W4Y+CF@L4+D3om_53F^yxG}E~aCF{yRokCMVo=KD*0QDHNdVG+z zr61|Y2%537WrY${=M`a@|2mSnhEM+GUU^)My)oNU)-6Wq8l*=o`Y(X9MVgen-@%?F z@CniBsWv-(cXTYs4GZZ_)?1TzQp^YiB9%OR(wAphq={s;6IHJlhejVH4%u7B^Lpr8 zCssAos38wXF^uLr9Den-dA8&`{rL~~SEsczrX6R5kC$scNCIzXxQ>&vb`{TTkh75Q zSU+bQoWv6fqoJ|B3avy!JC*;it`2bei7a{CtU>Y*Qprapr5Z0SuUMCd`cOKDzKS#6 zm$tjyNR%dkw;?sufuQtbh1pppx%M&1$GvsD!yl?R$?g09*n9IhxvuNJ^VQPTTQ!z$ zY)x=!5+Z>Xfu^{Klt>T)*Z?S4WCKEj0$B!CY*aPCCK}zqs|EoS1xXfYNw#Inmb}E4 zVkwqlTZ)%V#*q`-V|g9Vc;fkZOY%v@9&a<6VUls|#C8&TBF*=A&V8?5Rab+Qj&n=kU?vPtH!}tgf#5TN}Fj zeY0L>nG15Gx%I_zAs*&RO`X+8e+zsKb#CH>kp>|^8X&MABmzx97DyjB(tP7|SQ9-r zasPdL*l1I8%)DUCH1ygPV*J@BaA9s~YEiX*<$YgyUmPkA8?b0re{YZMR3fx zZ+)1Gh3u30cpZOQL$X#UEvyXEWdE_crLnbi4-X|R9pgMjtpvi4t3ZIT;F?TGntTv& z^M7`-(7f$1k1jHMt@R8+DV9OyLTkO*=-B8;$rA{4<5qs^O|2roSGs!o>d;=P<%)CL_kjAM z77XT^w_0RURqbofv35~v97tZ$DykF%K4e$)l1A5CT0`yX?$cY;$0)x(7vId^wD+1z z`Wo7PkQ0XAI|^LS<)iok0V5@VrwW3~wS07~AgH{j5S;;`uN;b2iUHdXKKoE~jUPo- z1D%TxSOtB$qA4IC=1x%o)nx0qcpy5-{NQD(kts5<)&Mq0nz6zNz9NLE4B)1;E3Ig< z)G9znePs1lLFX}*nz zIb7Y)CVrsG$)zn(QOGb9#k-L&(Y#^F{!!I&z<4fU*5)Q`%bx`Is& zil7PM2Tg$1sE;s~PZg}H>KU%%*x{2ewGh3ZrhBbx3_&?*mmWCD%M#+ad(D>I#vPi`7!4?Q-K3S3ye_uecI#RbjGbr} zVw$$!psN10N|+pLm+RL1HQE_wh&_CYXBy(rQNG07AkvngsV^`gYN|~i-4q`($o(QG zv5E<%6t$wx+{t<|dgt+{_56@()vNMcUU~!^9X1^OIpOHljrOXt%Gh&DqiKPk zQUOEY4@8murPA5SzUB`-2JY@5U3f=a9K6xp1-5QWoYGNRk=A7YVF|#L&DY1Y>4&C0 zVjrd4ic8_cjQb(Q+cpfbB`@L$Ni#%*y(di4C2=($+=xWTX?>+oMpGvZ9GhzPy>xBr zrE4}AmHg$?Gm|5&lDh_4`GtC*2wLn@DIKjIdV2baO8?R7G%Kl2R0fV#PaZ!y^TacV zn+waWk{Wj8Xsge9*XpP3N?gwzhp3dWFE1>en=FONr@qH;)E#GHE9Wm%@@ML;qMFz} z6-TO8Wz`{6<0<3!QQtOZ;O)6WVRLR1|3-3!+(wRlx%eTLP6 zUF(mo4MZ!Y=mkURYalR|3Enag#Xk_OaNe)N)KASqWjO7R>Bw8&!xZRO`Ll+**SPB~ z&BI+F^qIija{1?PIa7@aFb@!Qnd7uH4B8Im{VRxo}H zMlWm#B}03L>Q~S&6{UPQV|MhuU#@S}v^VWD)BuU{;8UEqS>b>UG9qOon1G8Jk0C zzRh^%%as!CVY~NimAI2vk#niM=V*virLa0 z--4FxlbK#gytjx&O_r&NBWEVMs;5tKZ^;F_+bVW1A3f9>EhGZNZmZAfMCuzf#)?=$ zEDahs(nJWKG6TZgBI_R5%aE(JiCy#TNjUK?En+r0WVP{PkIPMj3JpSi{`94@)l@WT z_np%1O%SXfT}89~u=?jFOhvX;6sZh=qO74H`q{#Px?tgh=&J{V*V(GF#W^CU+FLPX z`{#Y_)K|iiwd>q@@6Is1fL~7eP7BDCQyA?BPo)|Njl&XWD@PJr&U`%(@C0a~!kOk_ z%DzspJ!0mMu0G4Tk6XHVUl%;3_GHLg8pELQbb701#!~ja00dGnmrsHx~2KwaLw`!D^C2pjFgaYxH2)1p`CSNzbU)8a#olWuP$uI-a2V zxSvC7T_=!RgDI3-V?7`nODk;komreaizOiRd>+HV3gX~GV{Q>#ZVk0jIKD^ai|o35 z!nC5+K=s%&(+8&CeyFuES*Tf^WsmD4PalF*87r%->x6OqR@Kpu?MAzEw2IF&4zbk8 zN>SE2UOs=JRaDqfr2uwR*3T^}iXwHkck{lD-bGWI-N*Y^ROYFUM$7QOegrBBRipgd z#$Ww=gZ&=N`>%3tGymeFJXaGl(?^DjRL|STRaZtNemhgSRZI(>=0v=MMHvs!6%(OO zrMeq@uFtpviw!ZY7sRW$;v$vTBW{6py=aWYv_j1C=lY}g`|S~U8;r_c>gAWNne9Oa6Ee=wKtmsNPo6560!p z>}%y*M&m?AQr47VT+DSAiGqX|e3gLlh?K>#bqO@hIH1DWttL%sSd}D0QHo=Sj!oQu z?*k9r^T1o)62km;XLteeaf;Sq=Q*w5tc$c;Ew6`~d^L3Pb&;p$oiAN8qI8-SpUdaN zf(SQ;FC!GADvNZ*QdMK=@~;#)G;dEs=q+0AKE*WM&uAcNgeRJB?I5OFg%Zr!;>)t% zwg(S2lh|_^AMIt$2Ra`0(6kN$3Iop2Q0GtaBQ$KENwjKbd`yk~@>jm{mC21pALISH zdO(NAbddQWKB9wcWKP}s*mMnv;|^UI)Zy(qNJB&_g>ntTo`ad>X8m42d-SQ}(}&t* zZ@>)$PjIucA(5n$4p;iamC7KHB8W)u5=E>G(qY1=uvk|{L7Ut8=-84FDO6y<9?X&;d~naQX5Ha^P%a_3s5$Q@=a z{BKNSF3EyuVzT7!jA^Ufc&Btf2qfeJVH=TEL4+b&lPW)+|s3o(LL(QK{EUg|jmkND8JDG@c6AmuF zuxo*N8{*B{5*R!=wHle&OEOdfg>eKiohKAL3oEWS_Q(Q>V0d}~W0>8uIeUY}Foy%0 zHwa#3PKeq}PaHUQB*-y_t}{NbgsLW0RPqaZ@ zQKp?SG0bn|dWu29q|~Z)iXV)S8-bUkW9Yr-VR%DO@64qOFiAd z0}(wdV4EDt4RBV>$5pPSy%cRpd%2e%SI62@g{i@eIJvZqUO7JRQLmUmTy_JV+1`)x z6Ba4!-Tl*vwq)30MmnsL7P*-0e$|EAQ)Y{J<^8-o*zgGKq{}iRV4~cia~Tf0dpo3H z+L{^bPOGz;?h$snF}gZj7|O+S{B8}R(wtt#cXrjV(K@c7E$}V!6}C0r!6B80=*hW0 zQBVyyB9STO4IJz?)3@UGbKwXx6w<;+nB2^GimDvI=>rb^%}0+ZKdi&RB}3CLEM=W^ z$UQIK;~u<_HNBPU}DQkeMx)`5U=^|mFtDFTJs-cc*5M(9YxVH-%_j+vH@d6L0cq8x$ zZ}hhzGzBR>gz4V!0Z4t&aOCPp04p|xlS{XzX!Mw&kx6wgW17qdWWvypi$3fIIm4$? z^Zz=Sq`VOPOg+5{RD;?kDnkiyzV>90zcEdH2_N7;!YAz`@+;q4sFI~ET-4qW-rNGjoN`duC_~TZS!anQ% zx1>`Rkgd<%l55_Sflvl)g4JY!7Nz#!|-ocZSaOO zb-$=LucKHru(`hg{T<0~>>J6&FL5Ou5j`b57RfS_k)kDFJcUwe=6(RrFbT1b*-#je zIcMOIuox3L1F(291dL-L8s}l;EyhU7qWp%RIDw20u~5+S#GEg$W+f!JY_m2Ar#h&op;qwg~n@y|1m6ymam1Buf=byDWUZY62C4!EmN2E;{W6i1DL3md)ijX$hzH0?Z-e@0l!i+%PGJ`GvmS zOy*0MjfWd&=M|~~D>!y*s{)K#^*pViCV%*0d)UnH;o;kIST$bP!%&pa^FPjA-6Ye6 zu3*;CO9x?+@-p?C?l6lqftP7t^z;f%x3*%^S6ja;M?B-&uj}mVRV?qkVjZf>`e;9< z`0P7=+TU@vzr(tOfnM+UW5F!@8V1RMr(r@Ja+}KR!;VdDL8Qv&m`q^!ZiA)S z6JZj=)HY+!Icp56468KeP_ofwZ0`9c)Mk!$!@tc-7-*sk@DBKYh*J|+MJut5X~TIs z+YVrp@O=L1N*LJnybP%B5?F$#)k2yw*~&FJmd=K$p5ben>LLAvC1e*N>C8JO8-ZC^ zNX-@~P1@WAx2Sj?0|*ml5_&8{K6zHUIKLdQs56;urnMx12~L3$t`OeWxIaY+ zlWjz5jFmE_ndHz%I)+Zel!kyBCuQoR@Ijv+7js3mp(upf?qRHeLcx0FX*X3E;w=(m z`q1@U9>J2QXD3U|z0*EB+fx^}jZbQyv1%H8 z0)n+i6}0IOt5Pf27v}1X){wHzFrLhJ1Rom;MR*u4;Q?4+oHxM!I@ZBCj)}p-QH4eR z2Fc%Xg+r^TdRBAMK!?&nZ)vnm7bpD6$8rOj_-HQvxT=zoFO7>33KjSoLluTFY>1>9 zGw8b6qr}YY3Kw(jONmt?xrC5pJd{$QAZCWM6opCMjF2#S;5GA=tA~58 zw42FD=09kCxd#>vXRH=fCP(}ai(r@hVgfBrP5cwbpAqPvKW7iU-38V@DUvh zs9m#WV;CKeYE&b?B>0&WQjn!@469%Ky*ysyx_vrCOAU|Yhpn&iw z@q-hSQMe*!JwK5%Ofvw(CB6VVaNd-908DM-&-|Bsc~vSYkW;6H&B4PeSOtP-x8+XF zIIi6x8(7OzOZdBE{87p=U>S}ZmoA9=h$I?!0;R=dl-p7C*8@ZhQ)W&~_ABNSm#s*W zf|M)$kEtz3jzX#+FRHMz9-2nDbv0SxS{XmG#Ogyuhs`a{_*=arajRsnnMW&0sHF8R z{yx>cIS@{}M8vPxFI$y2t+GD!LFxH`OWZvlM*MnMuqYYP$Ffg!PSh>_1n-I8$Dwr- zsRR@86O5`oueFNiyKdB^3+pQ*b}Di{Lv^A(t}-0aC~C;Lm<%WOaBN!qY!g4(v?OP_ zP3!GusZ%%_6H9pE4;xLpp3i{}qHM*eYV<9<>6fA_MiRYR92a-r?RszK=5-_iD> z$!`}Ya!=!*qV!o_L)GPIiFgsngq?FF+JjrNdq0(<9UK+jVJM9(H;%aLg^28MIXB1e z*~x*qM}hBg55Jg8G$v^@Sdk?}Vap&BHDmxa%f~6vlawn7E!IWCPIC=7t_UbwJxm@x z(p{U%wdTk>`LQ%9h?H%ONe15rzN-UER)M7pCM=ogK?xRGmRnl@-4zhAeCaG9gb0~( zYne!R89$Y#8Y+_NXR=u(@BvLj{8j`}C4FHc28)O#6R=EAa~6td5g}A-9-~BS^Q2AT z;hE;(-jLmAU#qNzyNUI-Rq|{HC&ZhuZyP*Z<69p$K=SzS>R@utRnA&NPnx-F7VuX_ zs=&>vGLyk}w{trYVSTmU!PJqc(TGo}nrC&eIW|~5cJ$a&M86-3Kc$PG)Ipx3R!Jt5 zrTXNc@wv)CGN$&Nl|w+|?X9v`t-PfT9PP;xXsfT%&j?BB?4|=-^{9J!Lh~GBa!l&R zUfv&-%f(V|eK6tn4G`=Fz2Ab>TE3pXe6di5f4YIUPjQ8L`GiW6ney?E@O({`Bp>mF z{d^mO-8_U0D#6jr3l)=ZD$H!w7eV@2AXJLx5o%1`eA#ANWx%d*aUcp;2JH&|X#V^9 zGUK_Gq2#(RG_z^NVlj%%POfWhKFLg2zT7xYDi*lF)x%~SXzqIwq0_xMZZ0q>*omJE z3&7TsZx|y8b-+=)lBwn+v&&~zu&vFX@~kQ0k5&(zdI|iML04<*ubpzVX`Ff~F$Y|0 z9{4&QK6OyxJ%^1R16rfWG6PKWZRl`yYmhZ1aT>RUl+B)8x)YLHFx7USNUrW0sdjUk z%6Keg@P}X{BU1+1{>~DC2wo!AS2n)=9fzK&PCs@0_@S8-)u(0;9rtL%QM>-c(dh$E zkS}KX?MG$~5iVb-En?^((@-}mt|LV*TlOTtJSq&7suY2HTamS!Z|FH@Q=N~c5RjNH z@y;OdQBI)M*hYy%*9k*RZ^d;8FX@AQL<(p15NoUhc%Hu1jOzf=Jv8!1^v%TYrCF8X3|^Qs*@Ay2 zhg!py$h`X4Q%9aS*cv^4=&T3A0dn(IMWM(iOS{+wPi^v+B3 z@l^}5aUV`8{=9Bl3(5)1s~VPnpz_7%Id!L2FBjehD4j_H$&>HWXl>!ii23g{V2f!& zw=i-nqqu90vFoa4Ce@TQ@-kl9@ckesK77s|T^a<+;?69k1g`S=F?i;^C2&~5?Jh|i z>VW)}cbax30pV~)Kwz{{yO0RXq9XwTL#Ks#@ zv06Df5dS0oSk$`#I{th5c}fSP_Qo_ew5hHWZ5~U9!z=}@l2Tuhu;stelVTC^59{z* z9g68e^t3gYnl$G%3JSN>(( z<%s*oG}2&&PSXj_o^W#muGe`fr8fAW%enr1^Y$CS$)A}l$5P?rWgRZ+pnZelpVZ+e zbog-&tzqNG!Odb5(h$Vj`URD0kEWezNU@!Q`D)T8PRjXGfq(f@ezbpdeId7*ua&5A zGyPCH+RwLfm_tw23MqS8Q(LSRrmAyetq7Ys$BIi(n6K4_!45Ho!>y6(6DF`c#^RP* zqdCi8oMw_RWJyG)K996%s+B@|-F`rX&+`+rW@hq-Wi~WH&Mzw6;$dVVzd4msZ1udr z*QWf_oJi_6TJ5u*X$fYH2V%`!wCM;Y(y?)2qp6ZyRly>c&=w%+n3D6+@=4JKoh!b% z)ckfrI?%k7=rRceHH}8SI%0{1NMtQZZK^E>qFj=xX1;b#T4k_{3U#Fuib!@CQL;j% zt?qS^T+=}BAhnfy6NvZPIb~jO57Cg_!Q!9faq=Qyvm`;6Jnzui1c%^HFbW>On+uhZ zM2M}PW|S&}GM|~tD}!Q&U6L?AEbKD&S{R2sjOCi!I)*ya?{t8KVyGTIKtk3q(ch>E zibHmeg-oapY$~(@vSdUj&jJodnwqh;Fjp}H^rmJbAsvs;vF}tfDH=7mcQ&u1RN6wJ zj~Zqubc~afX2J163&$OrEynSnxg*?p1?pG<%3vvT?k_)p+a<8U<7>3u7Mf#+NDxF? zBpY{c<E1aTd zZn9QU6fu60qWA>`O?MIG9Zurr$h|AZSf*}+hTww4FVh4MhG>ovaVN0031+jxP)Jd-S= zus~^E<_aW+|3y1D5`#ZX*P*S6o+8?6>WQv%5jA8~ejFS?N(KShWzEJ0dx~Nk0p(b$ zoTZ>0gOE-^jUj^|)2?&ee{|G#SH^_p{00=Y6^3M_WD`tLM^f;8O7Hfh`8;R69hMn5jry#pf+Xr?{USLHYV62$+iYcJtkH@%nf`j9o;#dd`RIXX}MM^I3 znb>J9-#M`h0?NCHiY1`Whb>v|k@`QxL$rTIux_TcOgJ-UqNl_BNP3f3$RolV6!)rx z*y#&&UDBD`PpMqU(r{Oi2v=sLalv^O3_-?L?gV6mQlU}XlbWi&7FM>&j13#M-)Mv4 zYegC}RulN}D~#uBBaL~NK9?fRa4)2>GO6-Wq}~*1MCt;@zztCRjMO#%*KTz2AS7EO zhpB*-brZV`nxqbvrC!Y0XV0!Vt$;~_7c~B_1=1u=A~pY?Sq0K`kWaJ+E}5%AG-G&^ z^c`Rcf#y9vw?MR`;nc-<1RBp4?ZQ_Y=$X2_&F_aXwQZ50TTn6XzS zg-W|7&6qiZ3@dZ03qiW!Dzgbe@;`LQxI4JO3KfbMa1XEI5A9a`n&4}JPr))dir#x$ zu4~%2%d;Lz^pNGI^B#_xpq{W!jtztV9h|ttgJA(cA{shSo%@S06!Thd{DEMa7X>xV zC^$re1CoTy@|p&Kc>t4;Nb`25V6d|ty%@qNY$wmtO4MU(>!Gj;wQw&k5@m2xW$0@B z-w90RI;$GdA>i8!D<|TETtifpTp9nI?)Qf(l8J5jYEb^4R7Sn`gE8QB-r_2WP1LL3 z5|C9S>f4-aZlBGldt}JG6xUd+?1URH2)xFCgEYoM0oBPXeBL15o4E)N zQ8xVMQ~ulw)PF~C8ZpGGz`RfBkoH)?ygq8&p!`H(ZNcyP!+UrsLY}=rjYE52;S&a< zPzS~%M8)8$FW8C)Q#RB-t}?0d1o>?YExf=C*Q!ZzQ|pxAtQ>z{GZ~=C{=&IUazAHL z6j4cB(Q01{k)j23^XeO{Zi0_MVS0nLOD&^vRwJAB64P1R3HLbllR z&A5~MTfxD0SVD7zg-Jr1();`a0DiPXQ>WzOvMdhec79 z6NmvPsTTQ;Y0FL{{^bS(-^fC-6S`(nC6iR=)_xC$!#Kv3bcVY7Y)Te^7kHUTM8Qzu zCM#n!HjwSn{HK&0EhLPkfVFz84Kj9ac6(ULP}H5YOLwSC5KikDM;ZNYw=4A1%sX6h z8wCvCy`@Aj3*P7I$s|;#Yzb3$Z^X6Uq~2&G zqCC=F7R%Hhy_68nE(&hW56$5CpX=~1b$Ce!jiYl)V~8nUCnIizTsSeJw;CarMXppP zo!_?dXrJLrjr-|GRqW^6(BZ2kk<>t>KZ3qy=b z$4INS(`v0qln6j#ie|8(y%?UQnsJhk7JP(n&x~+tc}k1`8t5sPWMDtZ@;vl(GHb~` zR8fvC*>gHZ`Zp=sJ<`9*wTIgyT~6irHXz)j)@dElcR1i&w?xsp8cw0wPgNG^8)GkXx{Chmp&Tl2kAZ2bNUu*fB zxsr~?Da33``g4}>#8PzSLCM2%0y9LWB$V}ov9lkcG*Uc1V#dy5^m7-tM<=hmEN$D} z$OoT&QK4bds`*bDdxvsZCDFSugxtxC??#94)dioB_Hg;#(KB|9OhBkHzk?b-0I46h z{6f|oiS+VEfGlY7<_M$6dk3PYc~0MxY!Hi1A`VaM&`c%eBa)bpjAkI^znPc%3*MCT z7i>;mz*GK$uF7R1FcMU3Za;}iIq!7FZC$C2YpS`O1?MD$wPXcQoFFZGNc&8)?4Fyt zi_pXF+L~fe;?L-CyAC(&z-VJcKYxzMrPg{4b0*!EOVuVuKSVKtqs%n5L(drwY3y4i zR?!n{X5O)QyY6k(;eXU2r9!b#+0gMIZ*1JfFZo4E`7QAIjrlPITuW$`@6U}EHjq(J z0`kV(Xudh#O*N(x3(gEHL3>e0O}JR7?DB294R&S?X>s>KHDrJjJiqyJU%4;V)f(UQ zBmTdiucaWF2T-qDlw~1oYm>LU(-GU;BPjqwpo^exsV8R7lzA0(Hi>9TFkYk6ZCj!# z(`wEW97F;#R8Bt)5y5tpZ&^=FRTZ~0x<_<6b5GO8)LC8UTp|+ol%g-CaEqE~1l9`K zj9j@gz3St->Z_|VqNSn1Z>eM(%m!iU67va!BZhZ9i>R8n^a9CLqP3*-TyPg9vCgVu zXt-h>5}s^1hTy`8!b(A<*v1YsdZ+)hhcnES9-P!kLc!*3Yc|YBhBfLvam`ewU#Eqc z{w`k-H%}TMZ)%d0#?mLo6Y5l5@Y^{(2JYO$^tmsaub_7{U)4!uZkQ(d#{(pb6CRpgBze0j(z9v+Q$abkwAy%%3=EJ;jRVXtkhLn<< zm=;0kQk>4sJv#X}rvkaGZQkSHi~n6Ut!t`Ckb8f-Rp>o8^={SIr2xhMLa$CigIH+9 zysIseCtp@u1bz778u01Tfq0-D5Fo!gJRE8S5z>-X6Sgs=!=fdN*^&d1E4Pb5f;6@7 znsz3JpOih0Ru))2r2V|Rajbb)_Z8!C9;6(Mz6uC{HC&|~W`d2si?hnQ5X%s@?sDr; z8yvx<@L4_d^Ez|^=4ZI}ApvHH6Q%a_@Z09?y@o2h%JupVs-{|}`8E{lwHivf03)D- z0W^h?$peMvtw&PGDCKlFB$~UruQ+TJW4RJ;w3A&IoA(AOKFKF9 zgUKp5m@7TRnR^^iP5eb4A-dXdKi|e}9B9C^o3)ezdR#XSyA_+pyK)zepMtBg$Vkd! zWaMd;JPsU39$|vSpSOd+MR#5u+6L)#-d#8#Vikf#n3M^0t${-WuAdodM6z zvthc3r@xp+Eni-8Gc+X#W55$CF0$KN;|3Y4Dp>F)CJrmKY577(I_K4dIy)L1`fK%2 zHO3sXe@t}*hG<}?HLwqGSS|fYzkyMpbenI0^D5du!UiY!5QA)3!W<%S^G8j!*l>2Y z5Jr28>~f1ZI)Z#UE``kF-nYbcn@S6<;Y`oFu~>8A9~Nl2bjt`KbC6{`&8?ki(Uvh2 zKBNi3Q{HK*RqCJdLKq?J@KiQOn^_~^N+c!6{W%MK@T1@yRsN-YPThoRzIQaPz+K+m zJw7OV1e4v2t?*)xy0S-0sqFHk2gu$^13b;r4$dl=#jVFxBsJ|d(zM+JV1@s?%1v-c zVD!Im-YSp~uafVv4hllTR*V_g+we5Lkb*0}oplYxLi4U}aP@vL<>G>zzSDfoy5P{e z9@+8(RAR)>j6gar#aG}Wn6eoEDG$Y$bP(}n{j^1RHiBiZG8)?Jm#xK>bp{SWEyL@L zrWwC_g?fI0_PBLdu8iBdJJf}Qy?Y|np)C^`sw0^AbigF0Y!%C4BB;YmfkfD*gUkXs zs?V6!(VEMFS$%P;@;EO5LnfTx6@NadnA%CCFKB>e1!6AVZ z(?Td^xDtO>cMT*dT*wIoAxYAt{fYpzfl{&rt4jQW6cG9O(KxyKn zR6^Bs0m{0NZxu12#qpnUzqiU`5#SW5R)0(FQH|(5J*KOb`6}P;UgaCSoU}-A)@t>4 zGw6oMO2<8ppAe&D`lnKtJ6B%i-2_z(l|AP+yQHQ_K z;jeV~j1KKLr;{cA5;s1l*Q+b#K6BO#ArOrq64^g1QR8O%p>(vLZ$pHmOB_Opd>K++ zi00A5(Pb=_8mK6Qn*Sb7ZApgk-KZpSG?FegA4$iI)POFXM95iR4JZ7!D?(7?0mYQ}10;ez`ERx|2rk#JMGu7n>BfDa~eVDx_jOQnM~AOs)ys_MXxBL3 z=#{_D{r_;oSFWLU$!cLkFEt)yWb~OQK0TNf*9&;nO5TX(z+Oz6_#yXM;9vaDc;W;^ z?Kk*)qqfOJ{Fj-wtwu_*p1BTUDxR!;8hkT4CIPozGyiQ?yZeuhua@|ddr-fw`Sw*YITt)F%W3s-U zb&$=w()pM~?<~r#Q+LC*ghThd72VEg?B*)XkAH!~jj-hxx&LK>NhlxnZ@>h*YGm}P zu#jhF_3}s&!T6_j_|H0+2Cn(xYIs{U*PAkfWTe!n=zrqIAFBx>hvZ%=j1DFohn@d) zx5hX9=$ZX|8=vOT#d89;u^IKUiLY=Q@gM$M;FtIh`3LxEoF|m&w=2myNtGcZ0c9-q zOI*m@8g9n{Bm}3V{7ObqjT8Y4r^p0NHkJYtb>wHVnWw| zGFx@7-bim+aCnHrl{X1fk;go?h)k_|eM%I;$aY@ybNp}s15If;li_DsXGRl%C)RWzoxAc#xOwo| z-O>bE#V(1%@Pf?M_v55z$tqC*1oIOaa6gd&_v7KepE1Gjs4wGkan{!2v+|N$yGosh zTK&A4S>y{-9G3>b7A@@*ppq?9G#G3#u+z%!lr!v%?ZSeo1y={riRt)QiHrz9y06ZA zde~CE;Ec2p@#R|fT)Y>Ecv{SBIun3U%S<@f!8y4GXl&PLu=A;nsnxJmqoOGv^^aRJ zHcy>h&NsJY#wYVY$HPTyo;UQ|gDed4!m*ce5IFfG5=6F&G1`t8TH#S0==W=Ql?U7ZNC#TEwy!&BG9 z$czBv*7YDGpoj~mm2TKX+U<5Z{YD{(m&rk`XbgY38M%Z4itDuEh{mX&pYvf!Sr##$;QA+52?s{W^SBhb|Cq zKtDe_SG($oh*;0LPv9G+WK<;Tf#oquakv4%$+VFLUDtCnsh%{*vm%!UxBtkAL*UAn z1et@+eo-A1C^?!{3)3IHCR6)GRx~h8;4_wPUun5utWF|FEJ%ua%G6IEP^C_@T$*ynfoy3oCqK!T0FQaOTsT z5fRnKlpVVDQyg0BQsL0rSm`sO00%g++rY`aCK0*+r44uSC$l_ApSM5iDf3 zl3c%vW+^N8ZR83_wJD2Krs>e(6qz&$^)f@Ik8lDGg;63J&7>5OQ%-EkaaZ_YYt}qg zNJG!|evFC6(cGZA^s?p{0*r4<6koGIBTE*yVq_W=^h&9Vk}}YfSxwa}wNK%!r$q;C zlzj}9S}kFG8gXZ*?X+vjy{fS-QPz~ornfrj(bP<3FdY+UfS9MpI`wsq@ek^Tj1C<% zARXB-{q;=e=oy}!*SOup!%lk7;T+f|`vN-kAtfv=6! zBqxF&N3)PK=?FS^3BixKM%&XdE&Lg)YHEG4W*GWVtriz9sn%SfKn??KjXvFNk{cG-oHw4(9$Pyzx%I#B*s$I&wy039(Sgy8 zqg#|IX7o0)#cU>9jLOvbrXP*ve!h)w<}i;CX8b9ehz(1_%M#Ao8j%#Fk{RC;jYxr9 zi7uoiFBvUJ_P5j)=doN#jss~;+}fxl2zmwKUkbw>^Yt-@O|r+ z<|=4sG4v`;Y=(eaD5S!?2`-`rq+RGs3tp|J{k~xHH{lh4&si5=nDIFi#zU? z&j$$zQG(gR{P~ctB{I{_2boUne*kp&Z>)$iOfwedFwHI;mF-7AA(0RJIAQP2iVQuP`$(p!qJ@b|&i-g9_v9}e{;c1{qu7T623t^{ANr?CDF?Su_ zShs*D5$}QZB@2Um43y&WO0XY#fs_WyReM$mQi&dgQrSn46Efbe^b(7-*EWJH$rZymcF$l-r@1R+dlZ~qpG{&@cc{8`UR#>ox<9G?hq-IC zJL!?|$O3wPK%Fu5hfIuPY%4g3;3j{RFU;ubS_)Y~SRk0@+Zf>x@P`v=BgN)zM^ZK3 zcw8I(t#=-c6o8S72dIyxnM=Ze-G;ab*N-L;R}4%B;y2cs)Al_=6^y*I6!71*s2~g6 zDSpCCk{g+MB)QzA@Cy$mS79>0`c>^Pu{%i!pEBPROA|RwCJ7OlsfomGz01dH_k{A9 z?pZ#wCn=K6_ zO(K^*qEPx8c1WaiRxbGpZe9xNkn?m2>WE%4SrCz3m}!fiAjFUGEP{*S#oy<=9fDmc zHqJK|P4LXj(KgzMxBZM7Zf!yyL4VtnL7i0WoJqwHEe=}G*INB=cpk)%=wWU~X%A3R zB?DvM@jGnohKY_B?hRVmbu;v#Stv=PEi7l_IIJsAnYuru%SnDlAtQ@2aARLF#6&^B z8s>r{PH9$C@S6p;D#wFRWF$^DwuHE&tgt&J*URC$Ybrnye`CDIviw@R45Cs_uGFpk zI#|S$78Wq5?U|wCth?TNZP>PbM*X0A#)b_vslKef#=mLLVXyPW9_TFt(OH+tU;!6@ z6Llt80WLQ5Qu>+;?bj&jaMB#TFT8^UMJQpcl(#n#&<$XA$r0u3dV;(X) zNTxB!229lJYRN;nli*VPr5t-s#FnWCSt5R#i!;sfWRJhL;%D*(1x`|6a%()Hhj;3*Lx+M6vXI38S_e%!qpENa zSm&ZMi&&E(9tO4Jr*$@@vzv9+ue04cGojFy%q-}qInGnf&xyu5pO8j0r1@3Kgm0#_ zt}<-7;T%%7l&sQc{Hs#7Kf#1w8I=5GoXmJ_todCTu~oRV*y8RggGylQWqMI3$*y12 zBtOVW#Fh$UD2;cZJPtGAhhSxjLR!xeCo%+J3)e)!CW>Vi;A~;fByGKL3wDYz?wVws zB@ss1Oi=+i_K|%;%x;=*LtqqcGbwY?)!Rf7T$8-O`Y6u9XpdacPH4Ad)3YR?=!j=L zCGI;!7tZo@*bI$jT38caK+-iKjdkQ&Wo2ZC*Hnk2rDa{AQq8uC3w_5;+=Dt0h-XDl zp}<;Ra?u4S!WT8Ql<; zFld;hNtHv^R;WXN^C0xqZTL3OG8JDSp8*N`lr+qvi?YrI&*EoUo>K8(N-B%=ZVVWG zwySh4fxh^;(0rC}<7N)eyFfP@1Ug0n;Cw6}U8FgQv?DynHZPH`l0UQ5#oq`~M#@r* z-@ZXaB9rO{qvm9mQM9K|MzBksnwcDJ&%a8)csE_~iKw+at@X#!y%5b>*&4-odEnpz z;;NExWh|KDu)bgGAP@T7R9AfpsvpEY*X!|+t_k_F3)3nC5}yHeqq5ny*Q|PIw#AF+ za{QNi3=l=}|Ea?tai|QC$iHVG*9g`BJ58)RD5k8t1#;YMDGV3bg1Uc@38tN)wzC{y zBNGhHYOALcS+NbUbm%l}`bsFU0EiEvp4jemAUlZrL7N8P6cWJPCSHCZV zTRegy{A!EK4fZ!x@+%9YVxUfU+{L1H#EO*ERc zI^|15r{i_H6&jJTS7#09J#6 zzKC{9@&e7*4gHy6#xl(PlCEk0JWY$swAN>xbdJ_GQ(a`js={5X?H6s<{4-(AXm#_! z_AOs0tY_LYaII>5-Uknmy?ZoiKycA{i>xv1gp3}giih=f5MJA!l{y5)v`7c|MT@5S zn(73+nOMLZ<>9(nrDmEN+Rg6_LfgSpYp6PZ!L3`=5Y--aYhWIGHo1Q7s4KJae1J#Y z#!rI+J2xAT=CnJ=$8@HbWvHS0?n@;~-2E=i{Y_jd_rp5Zk)=OhE|>e(?=8GE?Z|g_!d7v*oC%}i z?s`esu0n`)QDw!5P!1Tlg#2PiD~3=&GUT44)FV|8_Qcr3LF*q~h*`2&jC zx?0mq>W#g8sMa~w49CN$Kc0OeP$k3gSw`sgoRG&il+IT(04~U10F4s*7zQ#{8{-6*e z*x(|T$ilfn&`05{@*L-y)kFwp&qZy*0lybqf?>@We%MDNStNM~(;2Qn3~6%zg-GpG z^-Z>w2nj9G{Qi&z+CsM0Xu4b_ur|E!E!{n#g8}>-IGZd~hSHLaO3BxpR0ibgP_R)K zSS^G4!-A#QZ`3C-u$;52>3lD9Ltlf~Vdf^7G-q%Fd*=WV7@m*jEYupQ4>@lfz+HJF zs^5gpbugG4TqHclrY*Df1W4+0q7W_NqB4PzE6Oz;{0KH9uCu!S;%;2>7ORNj!ca(G z!ZKQl&gS(~gHw#Ie2*r$U0k*99WTbry=_E~d_ZnAEa#`8Qq~YGo+{s=3B=G~EB!1wN=!FQerrGfp z?+oTz37B*y{3aH`6Ca1)X1|rQ%#-9(kVI|GotC8AJ;pv@p9RwZKwu? z6y;g3vG&%-?9rj56=;S?(A=gYKvCr8Pm`jXtSI`hd2#9}ji|)!25(WGG^U7MDodnR zyoJlt=$Y*bAIqb)zQ9uBt*S6r-xiUbO@MtYUnkGP#;A&xI?4pv-u#VOB${Nk3d<4P zBAqyKTs%(MGYJtwG^I2}PrGTt!s$y3i!0h~F)Ly(EGea5Fs3rwmJpRBw47aBKCNA- zlDNtsy&UBp`y?X>vwbq+qVagI<>^;3Va*--p+xk_3T!oJDeLgg&s3Z*>#9!MummmM)@Gx z$4_$JJ+=RYYwu3jDYn{i?Vxk%LR*GN7Z}wy5cJKxL&kbhg&&R z`m3z3A@R)&OyTnU+&K*YmC|L~!zBKkN=c$=7D>c@xml{#`CC7Mb+k}jSZ)qh+012$ zA!;;Jcr}wiHS{{81f#oWo?9r9tT!C+hmJB6X7=<)i_|zSbqb904ms z%Z=0oJ(S#AZaCNkz{(&cLg5hyVDfWafMW7{#DN)pb`3G^ujA7gi+ zBP#ZG9Zu*VnWC~aY?kxPi9^#z4<1U_99OmB^7jVAJ!T=3k%7dKsuivu% zA{lJZ|4Vs{Z26)5=H2Dn%VU%%j}DY?E^plY(B|^!PB%{UbE(>mc1idx}R@D`L=0Y#bkRVFlGfhz{_0W1gEkm zS1d%2BO}4)xxo?D0f#fN$JMN3iQ9>P88M0Ei?DW_&X2pNSr3^_9N+WfX+{y`7}Ybx zr6jQkD?xOLK-)CE2*x;g{Ft?fIlC!Bno#R_WQ*hiWCBD1W#>oixhbk|x4S%kb5y^@ z&atW88r5&JbE=w%>bKkZ7%#pfs_)Pbj(YJXF1;bD-)Wcbv`d?#`dwxP*lEXIQGJrT z`O21P9-)MW@P0QFyfLcZ9lcB~<57KgRNoWTr=t2j6wXy>*PEjHy{fjdJ*wXq)$g}+ z+W0_Jf3uz664f7!>JQmD?R`sBf2*CdZ4!|)kJ$MH?b{pGAJq?zYVz$|+85Q|W|!V( zm+s)w{-}PyE*-E-JEHnyQGMDfp@Rpb`XM_vk6rz6RDWC%(G`07_NacuZqeUwh$_3H zdAj_LXlrFMsw0L!Y4_;rOjJK==XYEGk45!&M)l*?e>y)K)lb-6pzu^wf0vyD4ujMg z8c+F?QT^%YWp=X4l$T#Xlru@tH;~g_h7#)5Y}Lep#*ivRW5a%S@e)?c@Ptd37{bu`g7J({vy6#X zYeW}LvvOMdWFtT+NO)y=NLg^ECXOy)Kw^tV5_!pd=Uu`Al{DzWrPGTGwLNF%Y7$_> zwsv}z*^2!&fNZ7)9k7o$m)P1g-^M8pSHPTvF4T+BS!qU7(!|8D6Wap(1g;HZMel<3 zrq?CnUmU{@jt+rs93z68^CitI_@UIiXVzeb73_3lWno1dw#Zj>hK;&cmX{YBQcvZQi{TfGBJ0Z-8HhY@^)s@z&tpFVj-Oy$ zuoE8FJ`p@#^0%P!7BJ*i3d@W2RzGHU(CwPm|~tPocd zw+n2d`B8ox&U{NQmcCm9Ywe@Ig0w+bOdKFe+%ed3OqQG)*VQ^{5`q*>DmDI{GI4xS zGC2GA?Vz4u=weMk#z4Wjy=^~#8xM1shX65_9HH(^ctXKAae80O(0kL6o!l$?qTG6e z>@oG^+!DEJkIzd)X}-;WIToirw%Q^yZ4a85u$l1a1d%nSdMq@VEvi$D6FgFwjPOI) zgNO#1@L&>P;H&W2mar(<*#(d;h%lI*cUEFdV)xt9(dIO+r1yA8o))6okYI;E(^NYE zQfNmpmZ;-9r6+5=!AD$nM3c}tG$|R9-LKFdE7I7a2x@__Os-BB1! zg=ugPg;^fqTBF0k`o~!0r{08~6rb(tZzfsIeX3ObKxdp>)!!=%OuZgDr0jpBrZG>G zOPHo53ihpZgL))q!MatX0gbK}h%U@q?f0qy8i^>k152J#UN=|agcntCyryTY(k42) znz~6px9T7@HS?x)fNigCNzgX&ElV4#Ywc={tLaCz@8@gMd)HJX{<5{MdJz4WjbqQ5 zx~ZhFT@A8Vwht!GOLwKq$pK*#fk3{F zpKd>gE_9v)a#4eu(k>ig_*-A z2(PnFR$*nq{bHGkC$w*sVe6Pi z9A$*rzFq=bgj}q?t)>OvZOg(S`%nk@6W=sA{5B_DaBzWUZ}Z2aD?e;-DMTNA4|Yl* z1P)k-8wc$MMh5Tya|shOvqMqk^3g+i;S2_UJ&AD^YVw{)mSyv;Y`N|W9k}PQ3uYiD zi6*6s7&g3uAs|{(l4;dp<*3G*!Vj~m<}ThGom3%j_M=a8s*r+znz};|)J*==WC(($ z%~L{g@Vc_CavErmfLBtqPtqiN&jg>jiB5W@Qi-Qk_w_MjsJ08=ZEw>+o4aE1^4wJj zfH#D&Rzh1n{hAU5X{kKhNu=$yWV5e`6rN~qP1}?-NXFbdSFc@M&0WkStn*?JwE`VPoL){5bTCyw`3@)v&CxuZoA-;8>u>jfO(8RG0bs z8Z!Xz;Yix;TrsyAj?MuH%}xhE*i__e10cbVdHjNra|pj?j+r9Sutmj5=F(Mtue$aEi za8)k@%n7N&EC7ZZnA#V#X<54KzHDIml5d@Ho=r;^_Ba=nDjN)@Yp4+lQfjLa&Xi5@ z(Qq27f?a0D6e1>=W*6GvG)QjZK33-t(g0@R{OIc1YR;YkAR{`zz` z5WV)C-$UI1PtA|tr1Rc=5UzeVUk^&555&Z;?#0(PMQ`qgO6NSaofUkPqnQ}dS?(JCz9d$zsAm{ zvq+z#nHlF=d)!<0?VL7-H`;GTIAKYTMri}Oxaj?B&6!WBb43o3=FIlhE$BUK1P+@u z0#FlAu_JF{B0(4zU-D(!*Qwj&AT(ZtC4MC>ErlF?Zhf%!y6Wye4XxL1l>@%{T@Be9 z*el)dGko2w1H<2fi;JWhZQ2%KN{_mA_yW&qHXhaUa=iFVbmby#ZXQ9J86=EB=QH_3 zp4m$29B$23+O6rKpXYvprM-chXtkwoJl&*ssZ(n!v=4GuQi)Ai{CmZ6KS4$rJC^z- z@~FR!Z{q;_RO~M12gB>}>*m07^8+F=VFq`naX}DfNzLdF9}=q#=d&7BrUYb(nwAKk zFSdVvh=3X+T44GIEy6Ku&H!nLl9`IevwNvpOJ>eL&H{ccP9a%rm!NB$W^Upv3Too% zH!ps0zR$Wj)nfH97l-J>bYYfT|6H?`ZpmiZ9a4ozhla2r_&78kP4F^@5iNt0vhL-o zpxt_kIv>|Vt$gkD&#Q(&g>JSL7MbVTHj~x>6>-9LkG>Ac!C3Fki?N*z?%+g z*?V^A{-Zi*vL$cVi)};mf5=H=8;6KxOl~sigJ9!)QZyma-c~B@vf8L;r};Kys`44@ zqX?rxk_8uX%9!D%Uw$}R`1XHqakLm_^E&Q_X{=Gq&uwPr9CxwYw1*IIkr@D2`~&+l zOQdpanINwxOoMQ^`FP0+*>m8ftC-sW9R@pkU1o{-B@2vAw_D*hf!(mU{9YY-)=czdZ6MP&{VTHzrs$9&BQ$Kv9*0P6UyI>@l=9$QmxjEV%| z#)ev>oI$QJBY4$IOQPZd8-JN1jddKNe%ERUb}RJdTVmzWYQaMRVU-YMFiy8J2Fn#-nrP|^p z+w)L_B7L)APul#I7!y~Go?KeGj4z4dTv|r2!zxGA zm@i;`^cY#qJYx!Dt^MpYGQ{uC$86qkW@68a_Z)lX#M_U~yz9{M$Bxb((%f(*p8)Ww zS93dF?RTh8H1j(qDn*4pYDcJ*yKbg(dr{@ z3O1$tRIcRjMm_5f4f2g2#Z`SO*rYIGyP+CttA?U~M4{lqQC88RTr7yC(?IYRJoRnt z;1GC|u_y5+3u6SX;$`Fx;!L69_Z}o@GS+tCf(@@+IAc5U8Rw}db{G+j5QEmK*=Y2P zt4LCyN*_SQK)x~XP#OJAOhPKOlXk$me!9ldyhUj|1%Hp7PhJ+@ZwvzSn*n=M5^oeZ zkK9m=*6Hom%1-rhON!Efo~n2fP_M{5w@mEZNazs!IVRAthE0kAz?wzZ+?4<=*q zR|4h$2U(zPDDUeo+G`{`E9n}@S!#0{nH|Ut-Sz&3UR~0weH>44Rx`TDiDr)G>NMYm zMi{sPRHz$sLZR49CL@IkES(PLT(t0E<`g9gHj%xQ?#zlNngZ>4X7bJVKY{yCGC<Go=AV-(5Kw@)hN@Ui?^9$#t&bXtYBwL%p1Bdgr5pOzk z`T(*Bqd{CzQ-Zju2z7vNS;&DUfRqsegT&*~8~7=9Wb*&43y8kB?{KO&T(!_WZ0U?z z*0K4#m)MF3i8kR0p5AA{$38~kxqhwo^T20csqn*k4o1gi3w#dc$U~(4tRG2phyA(A zsk!d-_@!On*?)~SxmLnfQ&30}Qh(=Ch-`M%S95P`j%4$- z?rUz!{+w`Y#=hp(j;k7LOB1;dqpK!>$D*C$EVEKV?oeNJfyFfmCNTou+L8>dSv3rG zRMJ#NJ?4uujH%+kc}De?0&dA+WV8gz9~PN*v(|F9_6RR$p<4`b z&Cm(0Lw|`H&2P@f*gV!SSU$j=uhAm1F^Q%m;Ic7y27x}M7or>b8upHJ!nlH#SnY(O zer{-HHW4I@&`FC*WP%BPiE%^#>jH||aUT>cirkFE@@`tynBKOL0_Ck$cX5K&Osig? zVSa)N>;X1*5piv=;aq;^1j@qmJb>z%>MRJP?7L3e#OOVkcs*xOU&$EVEtaj|;k3o1 zCc>N(f>BfOtzr9+$-{)stDH3FLz5Le#B?$O@Up=*iDj6{L@;30Q3S)qdO8um!6rHv zo?gN-gtyhmGo_gKFZdb=S%;XO0W@s2Xi(^DtLTaN)}TSF5}8oAcdSD!g*X;AbOYxm zt{oI`R54)=dwPOqtx$*NXb^mjVehcHd>99S2F$lY>>MFi^CgeQH64h)>@XRH#pt?~ zvTQT+98eQwzKfV$gRIx~`8SZiDc>9az8>?@8D8^%UMP|j%tyMWCZ`{X3j6ssevCuc zG)}`37)k~i600Kvt_akEk{u=CrbM8&0}{vsi!+Om(GiM?I4kR`J5$$nUZj{UlL^Jh z_sSI_MJ>~j9wZeK3FcUQGuCmDX3S1*Y7ISU@eZ?0^|{}K-JNJNeti2VqQS)EOm(-L z6p|1qCSPFM2ZD^SlRZqR%G4s&WLr5}6$?x5UQ(5Fr}2fDjN#SduRXjRn;vP~3(qwg z%Qa<=3_7x;k)#0&sfz2BTa!|GCG6}HgbbHRo|7p5T+*bu(~adt#pda%hYu!|(~Rf* z$+Wcpw3eakC@#^IVO^F%q}?z*>pMQA&t_g=6(nh1+7GEs3rjpIsQc5pguH`6FSEc# zH3dLF*WMKCIrC)4=SiVXHHw2wI-*Ln>macSN_>kW+;`W(kZ3JIW8$Sp6O*CLO=^ie z)@K%3A;dGjx%$L&NvhxH+PQv{mMq5$XBU>z?rPjgQB{+D$}z{xPoW|Qq^}wBuo(hB zWvkMSOw+MIsVDd(vj{`e(zKwo{G?)K5>`#Sts-I~m0m+_a=VOW-bfm&aEYX0G2iA(D*FA8{`tDma0+tjxl@80C za5U1EWb^rI0f}XZ)#C0jRw09zO#!F&ngnUZ4YiJ7Nex6BO_QMB({98R%=YY&=5W|@ z|C$w1aTTGR#~f9GJfYF%X1yBbei*D>=jX0Y`mSW%Z}xFCY+$?@yQSr&J(h08GBY#m z6VIj3tOkQec6i4er98cxS^1Lrls3jNIx|U)?(xshSNpQW01U_MI$yP zW?E&Rf>rLXU~g&b;etC`ypw@R1KWjeGCrIkt8kleyM6`WKB!! z`KZLN=CF@-_~97fKW(UxhT9`3+uXu!QIoTHX{s`^~;9gyEt*l z7zzC9xiA>6)({!69NQJp)a@bZ74VfSmQz4wya1wdS^$BY0yuQiE0~M9f}RbSJ!7}0 z@cM}9+^Eg%3;~Ycg3KzYIbrr#zl7k&&rveCNh^Iu2tx+5Ayr`qv-g#7$6l;fzg2+S z#4YJsPy`E2YQb~r@1wQiCMX;_mGH)179W?bWR9m<|%tCizL9FMSpjQlJ7HC-aSBS!cVrF zKm?_F67yXZ0RMoly~v?8pbYh_ioWU#rAx3G5Hx;C1yo_?CFxwWEFDMnrcIP6?@=f+myiKLJS4Ajp^jfj-pmc&{4)_r6`be+ zea1kx#f!g?nkv3vbdH*_Epqv3QiQ>M_@$f(Hg4#$GFS3u*qRbH4m6W(WmA{4Nk^wG zxh@KzQok-=YMAhk57`qsHKr>`H?%F!tpVC<0!7tGpQJXcASfzZd;d=q?7)l@3fKR{YlbEw=siOEn!J`!|&P~jOEEXeX*4` z^f!~|NlwRQVFHhd0lPUHtSAMuw7(EzGiGUCSPEw8F$IZ>Mp|Aul8m?!+e_b*lb-SLTCLNk2wN^d8%SAslu?UUB&O)^SC^0yaKZQtX)h6;GZ>HsEZ}v zCtUGdF`$bkf%_^*3TreLA~O2fmi=Bw%lOtk$vf!+HLmZd(el{XJJrbz zQG8!sRsU>KwZW_1{y$9WGT#%KWU}r5gO1jHIjO=lvUU}`fHz?w4CE&tAYz=Mx~Zea zd-DlIXt^|x_GDuH6qChva%R3<2fJ)~#oxr)q#88iMOc$F_N`;f&9> zdD7xtWInpL&o?*XHk)5fr0|?q{CTreBvD*y|P>T5CrEf*P$wVYGHlRuo86 zJGV&i+TtsMA!=+8>CMkAWMV+-q53(yH_HRkkCq4U)tv+^n;agNmK7&17 z=(52Hw+kR5=MVE*SJOy7J6hPR5CRs`NLC;+<2$LYV~`76utEMFPBaT`s5K;HY=Fc0 zs8}?P?xq7)wZaftAHO4FglXi=ECcO7^o*g(>=Hr+KZ+3&uFMHWFuh8KcvdC_E?EOI zS8a+n@A9l}W~h~3E|a6I;qnBu?apj6^DLeC`uxAm(GJJ3%n|$W*c#ceiESfkrU^~< zWN7Su=g?SUl_xYBW^E{FvM~nvEwIzEyxpw{Mf4GlNUOAw_^+HeAl$zv0HSm=g&@Ps zj*lVd?pB7|g1rOP;4F$FTIV!SbM7l!yV_LC)X{_`U$ zFU~=E8wf(v!~&6NoT+3d?re|CWEBhbTW*uazYaf@?AO|vTXH^5Mj?x1rIoppyq)z? z-Xn^QOM<`u5K$KLlW2HNdS{}NC>3uS*$tSNj`kSMrM=pAtW(Wf{i5&Fs<|4V4(o^*+vT<-Ao6(XcX9pR=ItjFb0`lyLi$3HXK+CShs1 z+Kg|R5iD_OTkXZnEEc}B3g;W$Yrf-mapPGb%>*Y(b34Se-3H=F~zGR zS5v7bJlrK|{c3deEs`qSLRcNNoYB0XAXd=$$^M-bEb|L%D$=4oq2Rga#<(1#I4~ zn;@QxzniihgFVaz8|+VU;)BgFiV)l_?LAyE4WCHVbTOW`XyYER7Xp}$!}&)^{@tzv z;?T4TOxP2x_*N5+8EdD~;?p7yVM2poi9whNZ3`aBxTxfb-09bxMiJ61ST+3w^T}Z! z1cR%(>FKe~=**^-%`zJu)zO}a3Hdd-s+0VZ1wa!##AnafKQ4H0;%PK#_Ual!u~9-c ztayd3eU^4Cg{=m9kgvh^9!`*{nMGia(xItG;4%&@rb*!3}ky!o>C93RRaQCN1MeDYK- zYNfy8>a(;@&Lv!pUF35DgNM5>NgREeU2wEo*c?FGYE)#<^ZY%iGXuY*1WbOWW_H5c zHUap&fUIc~4Gtl1+O?W~CLetK(SE*--{7!1SV6nR8j8Ja_~|<^i6imfn9s{b#>k$) z&P=+9FM=)7&3LC61unweY@>7rNZZnK1xjPvrRxd-3IsQBg&bJxB7cjnmy_$6Xa-#$ zNv>yN8gzY~T_?>J=Nr@#?dP=qF@+p2EMZ)>?OmJSDfb$qg)h@RY9_IC#R@0BvI7M3 z2UC=%x+EAI>y&vov<63>vjs95S#YCyUFTk0UU2WVQg0@1Quo1;;689qs~`+(O{lGp z{xVjM;*w9m+ZUXO7%+vy|F3MezO7UIN?>Jst((-PmV<#kW_)~#TfZy}RL`RR=Ju}f z2uXB^dc6?O)I@Cb(O;pZ&33H;K?bQi8D(TK();X(n=sfgeUShou7C_=MUSzlM3vND zG3TfuB+n!PD*hEsqlz4!))!I=KE;K}VyjSFY=p>BVMwb)2tM<%TOS-m&+yIZ{+YU_ zNf*f|1LYdaH^;lXn3k>;RFaSSr*rGyBqt(Z9O;8vpIAg(g1l3f3}{^vkNcB{dAkW= z$w&lJ6A(%<6cC`WF(Bjz%?DKVU<~1;VkJz5^F4bhk+`zCJI4;Z3yWmU&(!u>5xi*! z*WAzU2k4{m6T)-9Pv1kz^em* z1-!DJV>D-7!TnNxHNA|}atkz)gl)xwgxx3RD#0BjlRvf4+?MLPU4VaGD-Q-TqRbPt zsU4JV>suTr*9GM@;AP^0>H#B|e-!US9xY1>yuN`>Iz%9IPrI5E)$x>NCO2M8;SHz9>l%lxaQ;Om`rr%8&X^h7uQEhImJ8YQ(Q-SI`p6n%1 z5pJ(^f=8SvbN=Q7=7KXR- zqodt8ArS2XBY5_(D|_eL#_ z!lpe(b{Ik^&$BXjq2}5CgKBBK9TRmIpIA#;xKjZi@|YsoeYE5c;j??j zttGAqaMOHkB{_%-+!860?NFXjeDl|iu9=ti6t_{t#Nciq-Wcz@Pd$XqNh#~@mlodX3U_P=9+tg*dWa!BW|S*fzIhk^KATn=rx-9N$x+AHnrH?+J(8VTLycu zO9ty`4$h^Fu=rI;U?x`_$h2_0M+6DdQgPXf`9$1ozrK=(T zA@<6!NfnAz((s3QPmR+&!i@NC@$iRJN07DsM<|PkEgfD1_|=(=}y!%KzW&T?b&))%|}z zb|_X9+_s)*ynqk^wQ3Ye7%GYc84eur$X$|?Dp zj#{nOYOAew{PX{O-uJ!xjl0Vt0kQm&cc1rpd+*=-sZG&Oaq|u>o?d8%>H>JU6Z=7K zqsaZ1SXAI=ov^9^y*Vsp+(6Y7_Gd%JYr)6Qis6kT%t|9jqL9DKxujFKGn~a+uYr)$eSahr(qqn=U%&AXa$c<<6olLB9 z4M?TyYvT z=i%xg?80K(7_V>hVBU^6ST{&-=v~MiGwjw#*l-8?r- zll54TmV%{auv=P^EGA=NM&aK3q5b$x8s3h|EkKs|6Q6ryy5^k4+!bYbKn-XcX$|J z%LC<>7p#vr)?wpI-p(44jwE6uiWhI?ZO-%o9b7h+Zb*&RD{}Zc_11{~;ti#dvif^Y z2#sC5mFKvaHjE?K++vH+I!*{Io-k8ywAltzzgx`BIK5Yg>#EFEt~kYw?z%46L@wT7 zDvO%6&E^(&lJear`>#&IGt>~3Mn5|z1)27h*>Bi?~ z>fXYi3;4rkP<}YT;d@IFT&>koQCSnKTyP1C)uvGAIpQr)kn}}ldjE3(4r>l`kn%{S zp)-=+;6_7>`!Uj$9Pser@^9vxN)cMAC{6~+>`M1v$XGN?yzv8#Kni>Px)(DG;k$Do zoGq_zT6Oz?eh+;c?hC;QF)e5NFxyDYhwY`+GM80MKvN-?PTZkeEwoX6)h3+pp?qt1 z(YSHShf-upHfMY%+7DWzm4iXq_mCz|n*NVz$*jT43ca<>B8@xr>}LS^X+lJ8TYg*% zVTYVuFweqh3+P+WEHN2)tU+F-2k`Tq(yi*kxXJEvMg^^r-rLReojPC7Mk3=Cg2e!L zr(2f5(UQx-MVt$sI%`(N{D)?lB~*p%fE*2_dF#mrvOS%m zi;vqv1q#w8(m3JOK>vpNtt?Wb;GDv-^kEP@+_XMU2Aj4CUo+nvYD1hKqm3GXBWU=B z$Ad7PDNHO>^lLIix)49oMj`Re-4HwLC@8wCVK?mGT*r5Kxd;Qnim11jqz#a3?9lk~ z25PPD8D;7bq~6J9C@`ATiTwcN!K%aWnj*F~#?LXLY)lm*kz!-2o0Lpj>l@D90Bwnf z8DsQC4~>=+{TN!#Vm+wS(PAM)4+_(|KS$2$8llg1vE9TsXZ6`T97ARbpq=J|2fI&Q zxlqk`D&taZ9p~9O^vBMfF5gH&mPr&@J^z3u??Eo;Iw-cYNA{15M-7&~PN!x{-x%&m z&k#po`s30(b-)HpUQ#u~HEojDI-*ZLV+r!c}zES_GrZ7UO$EQw;0C zlINyy>xkitCb~z*S2FO%6Kb8j#*bHv`O*!~f_Zy_c$Iceha2S!ld&ka*-=qVsCDko zSX^Yv7Q%A$v3Mi67Ng|dLwbkEfA&HbG*oD|uzGarPQX0%o8<}zn5!$JCa`iJ;dolw zpFb1vV^1QwO}`#f>`Q%rwZ)4yO1;REyCo#5U??ggPQ9>_;*SGmewL6b+GM6MbI!5> z#AJx{U-2V_nT;B{=TFVfC7bNox-9F)4oh?>?Pv~BDp|aY9o-(o9Q9CWF-X;e1c%>+ z#b;LzKSz%XP#f^C&8FwE)s}M3vyIZA_tSTo=u?d-&&7i-&l4Q@1Qt@ z)o-k3zFwGml`2Q!RHA;R60~WaI#H>E4ngzGVM%{=Tz`BYcAggexDuyKpYIi~=9k=g zOGFb-&A7$KzWFRQB~yy+Th$e4$azg8-s6%*6IKrWbq;gs0IoUZd*tr*4`%FQ-f))^ zRm{(5p^%!p-Z;lX;m2nzaAl^pY>U3!XMh)A8&NOp{g`-Z+gw9o$|u14fiF1BFLSv^ zee}uoe>tOg${oS2s8}qMw;4DZ$5u~&5fJk@eIez_0s2eE(bRJ4=)#FML`m4uWq0mK~FT1d0 z+J0M#vT0qXPz%i}PfE&gf-N&tQJ{4fkHU_@Dz%}6wVlN`PL9-8He#O5t2%ViF>Pf< zg)KYt?P&*JnPD0wtO)VsgnVO7A2UZ2%rD{c<76D$$|#jBjWkqAx9LRrfUo+D zn0~tu@48{e&C=AESdhRMQEVG_D&lQkoj3_ncW{D^aTFCe{J^(#2FhizY58=lzm35Q zL@40+JeXYptf=UR5+iHb1DPpPn2p>`pUfu0JrXHrBZDS4#XQyY!1~lR0!4#b4u>!?-SiZUdpDbnfZNIe}Au2YW3 z=Z~~IG9b`Z2!n2Ryt>4%EI@A{Z%NDdQZv&zSyW`Bg!e=AF!X82c_SQiCiMhexP?FL z-RBK5WurpZ!FdC5F1{jJRTXR?@jX9@P({Ts*22wUSN#AxN`3gA`i2g^n(AzVUcX66Pfq^q>FD7$(l9(!D zYr?r6u3f;O=TKH}woSUJ;+bdNpuiYLA5`zF7DBFv-e?6dSiwpfXNMTg$k+wi2hlya zIs`q(K-G+QXZj-qWn2tHOCp-=XnvzVvMevF7O2E}Mhj*(!#Cy|@CF5%8rYG~%P+h| z9fbGh@LguKIE*DeaiqUazrJ4O+l)(VX#SwA-|Z9YFls(OPkRU5hMDkFMbzt^L|jqtOwKR!5CmrmVH zh3Wj!#eWuM%lLCLf6m|!tD!E)DRzu{xQ{QM4@PXwECv$;MA49W_QFeUd`R=5X91P8 z%X&1g3m-;r|6Aw5HpYD1d;)7B2Y;#n-&;nz!jEV3dqEKTbLJcLK7@zc!r$=%|MKFjo`-T^XNb}=FsU(CQ#F~clVwL2(V$RC}V%OG31 zx!niNxSY9bB-KO%nNN<(YbDHWoDBFCAoXkhyu=@W+lRWZR4tR4%^4OR@QMh(1V6yh zIwNucYHj-*_#(s>P-}Sn^KOYg&#!2sIPp0VLxB_zLyf}bMJ{CZ^FEeav||Zt#>;8O z@}PNg3RGI(%xU`qB?r3DH@l*vXRCme|oo+>T38^f=gx! zsxR1l<$SKX?#amq{CT5E2TlLFvHm~XOxpbZGfx`4sL21O9e)QZY_D~^W!E{ zf#Kg6c*cMWw!aGszc}%j>ZiBf?|7$=>f;>0pPD?e&FRy(Uw_rVU*A4X+r-I=hqq(+ zI0Qa@j{AN1(msZF5qv8HOJORWz@i9NbhRNEO*K|F6k|spSF)8KlPGCSa3-mjnN)en zY^|;4W1pe2CW2)>yjG``ctQtve5!_I1HOl1)Y9?A7+NMd{!CP>^70aXa~7{4(nV$8 zI~I$Xi9W)^T}RmA`#)Uw!5cDoi>5&}jZ)FwBdJsb!)y#CGZCr6=(a&s<=2{?OAFq_ zaI#3%wx=0yPqU^y&H3$VMx)1U8;zF4(|FG?%^bivCtPZSF?m&nRHZQfRz=bHNEJUO z9xuT%m;TrnXGR~WAQ~r8X~wM!5SMEaiuIq*cDJ^EC}2x zRvh;;plMZHyu<$b;-2&lx}3-)r?^s~9M>o76@)Aj>q8GHa&ST`Vt*^vtXH@(+|?0N zrl9d|S}aoAN@GineC8+?ReKbsL-?1ouKapuVf~(BwQCYO&a z2b52a&wvD_JmWeSfK_=yr#^4bQVE=u(PxzOSDP^mjYM(q6#FlUFh7~fkKO32Y186O zv5rSk^T?7=v))QY0%|vB6qS!msI+73r)9JKCLZKZ% zeP`8Gy8d!YR<{r(p~A&{O_xPvK`jC!`-(OxP{~oNaRvZE!@@b2o#cbs3Tq%-mcv#S zCK!xENPnjpZ4HW_zDh=vRaHENw#l0!SOC&H25LOFI6X;aTQBiXyM&o>lkq^A4`JyQ zq~b!F9KVf5$=+7fE#`5HqiRJ>CaPVdx4>M=8iP9!y-A4oE;;bc0h zj5O@kF?{%2uK{{1NOfhVc1%775!Q7<{}$`tA{5ohNQnx~aD<01D(a>l9RrX4O5-Dk zfbj`lt;S@R2Fip(t4ifaYdL$Fw8EJne%ERNB25Qy(>2-=+{x=Q?t8igMA-tRub)u* z5_wZ*bnBODtZ%4b1En31(xoq|<^Cxyrm0mG@RDCZk1C!<;)Xa5ge;0F<~Y7Kpff&F znM6gxPmPM;P>TM66it!-sZo`&c&&=Yuoa6cfOeLm5}~QD8>gypXb?Z_V$q^1w82QH zcp6*h=&T??1B~AU+^VgP)YV1cbM?4-{X3Sw<1t-C6P`e<7oxL6N+&9j0PKxT-^yN< z71t>0%83dt6;gN7NQ4BYNPyiE;0@-BwLsirkc!}&Z=vf zP76!KqMD=Y?HKJ!h}XhrOnY1on4)LWF0tF^Mzz8XwMfE>3P^MUX_<~HWXP9_hGeZm zLTWT4kBnsudGJVaoZnc5BEw5cAu9A^95LRSaO&}!&z?>|eZCk6xKJO^b7fk0`a4?}J@hu21Ra;@r~Gl1lVyd)7HRgjO*lG8|pE>Mb$_-XmJ@Q z6C5sphOuvByJml&0_N)Tn#)uiu6LU2_9bnsPdb=7oVbe&;F1OE(+vFNCn=z=KY@lt8rI4>#6M$?(h_Oi(nWf}Sl`M0)0|)mq z#}90FGZE#unoK|>ncFdkqc~>HL8BZU+8U9`@v)&jCWI1=b+~(kvckoUs!`I-)SY}L zi^ewZQdLzI8WkFk!TvZ@l-$;e#u$TRV94*8XsAXuV;u!-{LWlG)lW|2W5$i&)$jVa z@n+haDG$25<}b85AFc?8^i!%xGHnWabrYlDisK43E4VHSG`_h@1!X#IpB|wWOkJo&rh#(VqN`b`$ zXE=C{p%9Zd{dmn&U&4Y<7@%3Rf%bY~`VWk+IH~4K3c4c50S62On|a9!8%yaLGvP8x zHl{Ydz`lmhl52~zl3vRsqm*ZFH^Ro)^mr!Rm?oMEhm^tRA0&0Kpun*@Vu;OdTOrw- zN;uPMs%>2nbT&cQZAf!WsfYE_V{@a5)5Bu=g!qcfa>B-ZpH;^h*`CI+q7eFqXqGui z7U@&9=^{pIgmh0MM!M#)rG^530Y!42OS5AzGO z*rY)P2$o#QEWJ=-{K+{7#aYD0>KZc?6@xmxishJ8ju|P!ivbVHD+&>cW7J&w$TJsw z_qHLa%Oy4CbGy1s&}A-Dv}ZH3j1jP_lh=+F#_|LaUgG07ZTSk2uF4W_^ys=8Vf=^T zowmgSly0oow-}k)n;Fl!v*0mi&d8n^qv>QlPhFsy*fABHxnfB{>**sBa}#nrC8}Ep zZ3%Hkx2z}1dSZ)Gf~{oT?$TOYzQQF+9qwOdz%A^9sRm;oPva z0Fmezwrt|?H2dLcIW1xf0td!8pO>8iX5y`{w!sIeLk;n|m>J}OvFV-9bYP3bhCx|< zoz$5@o6P|nyyYqu(~Gvu@X;=2VXC61zN|aG$+L+a0?G3?jSW%M6O&GQ>f9OgyX(6% zt1FAS!loy+MIbWW_f6wNjs*-ToNjKu^PPRjZ(c zShP_elCq|4__1if_K~^G`$Qw0aWc}J!(vkF>v(hvYnR?os4Bw}PoI6;5lG|NC6~Cw zoN>O$R^0icLzD24vC*NL(V>0tVWZKZX}CacbZGkM(8AH714f6cShG1%$gCwv-=ZBr zDP@l&+2EhHDCr>FK^;ELB8D-QGE*BJK};5z3On;cCpA;wYdtRAHm+c`qyj1WDvj^E~_Nn$X>Z)|XUw^Umn?wI2 z>PvPr>fcO!?v(eFZ{OGQ$);nb%=!1$1=gM8x0!VQkgKnJes^q$JT!H)O-moW`cM13 zGV^c7-Cc~iIFR}qmm2#|C_YOfr5e>M6Yb^*M$LFWGWN&r`Pbe4^?#F!KbpAP&t_e- z*Skw6e)DAI=D)vwdTIQi;b#qgynm_s?7n6Hd~O-`k>nBgKQZ=|dTr|+k3Z(^KBY!m ziT<}4eSdtcsV|PVG6eGRgRmbwdSC1t8*#vXt!+iqTidAa6;_{U)hQosgms79E4TVV zv~KhiPKUn-Ak0HOVfXrJ!}J@(?*$02o>xwHD5!S7F-LCgQ{5}5w>;n;%~G9$X1!Pg zvlAhJ+y@&>e3W_Jer}svTy`(VjJ@ z5&E@I`wZeR${}`xSROF{JE&274e=BN?T$8PHb$IiJ`OdC!wphi486kE6>a@bg!^r+ zZC^rM|6FU^2Y+9o)u~5u2>9$Dyw_HBYinC_znqxRh%_l)-rDvo#Hkxfxci*b+P3tH z);0&>JoD1lw&NabZTlAPE_()b1o$Mvb{N8RBJyD|#3%4)ILwwpuNh$}M_$_W+yi!t zo^=J)?>eEiZ7kF-e$q8Z^(*gfZ94+$am3>bxJP{Fn%1_DAwLZ1b$Wq>Z``M?ZC1R9 zcpM6MUWLEU-;A*S0{AfM3Bq;JODnXXeBw~J1@X!Yt!>5X&Jy6*v~S z0Qe{buLZ{TS22e;T9)FJvO!sfxk?;YuVJ?^hHZ+BY8~Du!RmK1jn`G6&P`<8AA!Ls zM>Kj^n^xG1O1IR>&WpJWYEPAJL~m+)WOlXal`%3+^I~F^>9O_D&+S%a_q>WPxab81 zGt1`|o{VZa`d15LEltUk8E6;I)yF>z=W_pMuDlNhQW?Y8p(NBG!}z**^O(kZtC&pH zbAe9uuup)|Cr^DwW!Gszqq?h@5tR1h9MX_6=Cq#v_l)fSX6AP~N z>Ny0{$}C(2?eWMd2mi2EIJcOwGz;MR)iZs*m3jvsd@#n;2}~fd(}j14ll2^ZYkIFOhIKN&JcCgxhWUD#f@>NagD_-Ww5I1X z_!2N?)5vgLEpdibvYY#cyaQEd0iuMtot@RmxY#T`V?hdg#A!^KxfXzdvaFZIqJ<{H z_4o`gca-(!9zJagH+`o>P-RistFZzlBPrS4)N4dcbI(egw{l~g%@rQRAonNQCfW0hfOK%Y|nCfDGndMP{Imvf3Dv%?wjI-5CHU;&_Wd8VH$Kx~+?UGLI;+ zs+naL<0wkA*+DAGOz~KS^k#|PD`84>&K~B^W)mprK&Cvl>+8sF`y;zLN@}n@6I2+_ zEKst}*d|!l6rR1sV_Jh*vXw9UlO-X&1!x*eF*gHCd01}2B2T9AV>^J|<_NxX%Xv;M z+8?%4wv6a}mctdOBzgr51s64jm30z!j;Gprw3)QcqE8vuP4j~nW$CFd_dZJ!EZ2Of zGJ?r=hql6zbW5U=^UAPI8zcHr^_~JJ^op$E|fF zk-<0yX57=^&bWsL$~uCEglp(%{_TsD++5+6E~psRdwhJRA&FIm-92ii2AWeV@KHyo z23xB9_#DH{En-R1NE2L=l@5P+?Pe?1kd1{*%(2eV&`!+#?sOP$am^ENeBv3)Tb$Zs zxl&%=(xGJP$sO~O!su)3p{5tVGOG#vQU}*w(1!4(P40ZU-K_3*rL*O+6x(U)_S&pU z*a{GeR3X}-QKK>oXjl}$1RZvQ3kYJ<*w5QDqTYG^>0;Z(7-u>bQ*bi7VkTUYDy(M> zTp7V?AV(Z1?|SFL-2E0$;AOrzc8J+g`)W%j32~yRiEVo@-ON%}Sl%`WjWWwn=*NW2bdUQT!m=bP@$FSN?SMbUo#-TR%Z8TASVKp(v z)iFzdIOf1d(iNkU2K|;Ze6g8`FHaXnWosPkQ~`6bX0%r5@^Q!~Vkz*ht67Cab z!B`xxSExHYb&A>ohFO*vf&{U~ZwWtpuPakIPL&}^F{3!998U=ba2R18vu$~~DomqZ zAX6Dk6dyT_X}@=`5D30ItLD;P91cn?hL8ACQR95wen4t(4N~z$ePcrr&OByjN9hJk zJ#wp~4bQECdLbGmA?=`yE_rSlGawxvq=2AanH??bw(=@EPRZ)=wmbF6w96_QUxcwJ zj;(H&#yQ@2iJ7k2X)6QXnBXwEI)MQRnw;85HIKfrBk*`qHhT_E{Z`iSRQB8wSzcD| z_neiyvW$ar$T=M0HB%=JeXy!8nUq!)Nep9fy&x|dXi>;XeZ#FW6t)`fR3d`2rj-q< zq%c|%Qs}^&_=z@z3$d9SXZDm(0n>4LQxJv27_d$u(@+i)+89qCmg{ns-hqV<1xAV; z4(P%Vjx_T#AyKa}vwx5=wg>HDaM6rOJ*qH{Zed2JcYk>7R_nr5(c2vpiAZ!$q_f?E z=Z;zn_cRcL!Ag=41svDgpsCkaE#M2FxIe|Cg^4sS-BYu8K#`LsnG9lwGG(qqQagSQxA3H)l`Vdq&yxqFf=e{g=dR?hNf?UKg#u#vGgCK*+3ndiB9vB#PF4K}qmbGiU62 zc*t3Z*y23J8{Vvz-sBF;r zBbmKw9JS1CPEJm`o7!?FlWAnkn{@TL>z?OErA5-}B+YG}BQZVq!^;t#y>r-Mi&5J$ z2F-%h;LHq14uLp0Lvd!)=T$nlZq2rHZA{@1Fm_d{?AbKI!E;dODXv6q1qpwbz&y3}~$Ai%) zOP`JPHSBw1>4dAgHm%JR3nShJzEhNF#Fc5fx-blZwN!*URgL8Vd)87`-E*1qEOcd( zE0;N57nMnW+yxJ+$4K-XPnQ2Wtup>+63g_&dJ1XAekNX6U-WbUyfYpdYmM7Pmywm7 zv~xv8yw5w1v@4N8D>`8%vF$YtC9?xUC*rfI??uw7u0mCq|JaMh`eKE;*o6*H6ObVXjSm~2j7hf?K~z^ic#Loh#7l2-qE_3nQ5CowY3!Kee-tyld_ zGml&N7$qz|Vxvkau9lgvBC;%Xn4vM$Teatl^ww;tzRf?BoEbpt-l@RYjPJN2m9zh<57zi_br+OO1a=d-b!4Yu= z@OY?MdtX3)6x8_1pM4EZh5R9i%OK7(@e!WNj6y#4sTnq6E#61w_ zL%a&{AjG8*Z$R*h)f*t*gm?mC8N?S54?|oI@g>BQ5LZKd4RIgDMG&X;$NC<`i4Z$O z%rZz`k4r|D4HK~t@~a`I;1!(L04dUtUkjvYfc!cjMI+?b11T0keglxA3Gy3(6wQ#| z1f*zz{AM7IiK0rIhTqS3~|Pkm4H1UjtHH3;F9nit8X>0i?Jd@;87KH$eU- zkm5$je+#6z3G%mq6gNZuHjv^L$X5a>ZiW1JK#JQS|2>f6cF5lWQrrRgAAl5hLjEq0 z;x5QrffRQ`{vMFx9?0JZQrrvq2SAEnK>i_+;y%d#2&A|l@{fQN4?zAWAjN}_e+;B} z2=Y&W6c0oGXCTERkberKSPuDTK#E5p{|k`fF~~m$Qald%Ux5_gKzw1ux43t*r`);t$CxXiZ5)SoXCH%?K#ki6Z2RUIycB9pkPn91K?W~_ z8jqb*jdyhsFNazL^2g8~ml?c*Y7j?4c-!`?z-MkH?d&kvWgAPJ z*;bG813h|^JbIKbfu4e3+dl}%_WyL?2@sA^FEHw708fPIW7G#5^)rDdLG(51KQQWN z0Z)eLXVixn^|OJeK=e22>lyWPfTuzXFzP=v>OTdZ1~Jg6uW!`P1+MMkKM!#TnRpeM zcwGuy3bD0OA8FJt1D+2t!l;ij>X!pAfY`>UZ*SDE0A2{Otx+Fs)UO0y1W{%PeI;b_^*IeBhvoUzz2Xd%TI7n??tFR1968@Kf|aKY3Dg(hvA_e z;`1Ig>y{0#HPfDdufaa;v7ch!z;Iak>mEJ!4OWlxH;tb4i}+iQd8nPBcj*rCPaZd{y7l{S&^rc#@%$H%@gOo?{to;l zka{;mQ13rb`wHSWM*Uo)PNbcG7(4Wbc8LGwT z-{_0cgi`F~5#)~15U{pKepVpU0eahvuwXG)MLR zFqZ~$UNRek^AaNYfOhnTK@V47t3?n~AoemyKHTVWt%Z7AYaxB(nlS_OVPvSYA;M3j{?o=MLGk}J z>pjd<`kMgfjm`3iez~Q_{I3H1*8%>rhewQDQ2c-0qfhCp9)7Kn3yS$SJo+aZxuEF3 z>CvZjWq`jO;J*v-3{}p+T@4Ww_mR*{OgxfbA}22k|6d^g?lxSoAiOE^X(Qwp(dO6B zJ^4jfUI_5x0(|>XG{r~q9gKOwg76r_1q;Ie94Y<@7KF=;eZhk8e~rFiL3n#(U$7uN%5cGg@Slu% z!GiF1Mqd!-jr)QH;YWjf{JO1>p@17nJ;$81lEk z+}dMRoK0|9t+P4W3nFGVi>!`d!A``6jG~mk?E<_oz)J&sqK9vdA;FKZYeQsxSZU%T zSP=f5;eyCtnA;ZSi8Mb3;oKhKC6Yg3%nKHTpEO)h;*Yl2JST+FLpsHslOX=7jPo^H^x7~f-qi`cS@j7q(0*AOaLd64>TSK7KG0>_5~%p z&lok<_ero<3j0Lbr}b|=`s6eDqn{JPcNslFac_OA4fnn@`hud5v@p*J;a7~lU_lsT zus)N~e(mFFzpQBl3EiDiN22h^Bjv*~<@EE7CsdyR?;GI#0=$2K4+!vq0X`_e3;O+V zIs&;b(vOJrtVUnv><>;P$G*BV6P!qn*O8pr;6(C+fd_&U$qxk{0!}190(clWkvsyd z04I{;)RHqFoJfugbYkE{@}qz?;6!pUw0bT@7B)=SZDL9cF*K0dhfD_4=0j~lll4D%pTn$bnzX5n1IFbBj;Emu! z^4oy7fD_5@1l|r#B)47ePeNd6@7ad0B} zGr*_7iR8}%p9Lq9{|fj5IFbA%;IF}n-RfTB!UIukA5gzupk_9RG%Z9kVB;XDqtlz zk$eHL2AoJ<53BBVa{Uc6B++OCV+y{pV~12^us5>o#SAh zNc*Qbs_#k2O(OYEfoFmf$u9yf1t*g4Yupzs2p?#;U_luDihcwO!b=PnEC{3D(2rn2 z_&CD_3&K|*T$dtzKQr;W8vH8oYYo2<{5tTP4Zj`y7VtX_zZd*2@cRsZ2>gEVM+|=) zd^z}&hCd7b6!`Oo{~G)S@Ru|%t9}*yH{h=u{#)=B;BOoL4){v&cMbmlycPV9hJOP7 z5%{Nu{}uc*@GlMj8vJkI|1|vH;NO7%SM!2ues$sh!29AutW5ub;Qji9@Z~4r>wymj zU*GUy;6uSTGJG@ejls7td@JxR!M8TN5PSr9*zoPai@?WdURFI0ycm2(!*>DS34Axh zCxDlLPc(cocq#Z)!>57o1-_r*<>1r74={W#_$=^)3_le7VDQ5=FQ|@y9|2xzcr|zw zJZ^X$_)*|V!_(mP;Ejg2fG+|++VJDSj{!fy@KeA~1V7F2v%pUWKS%Sj>ZRa61;4=X zOTaG#zs&HTfnN^(bHlF%Uj}}?;WvZd0Di0CcY@yrez)QGf!_oEfZ>mTKM4LPkoo-- z@Nw{Gw0=SL3*gU!|H|mU415usNb_&>QGH+SGuC+vNY3hYzh`{@2blXE%(oiyqYZvpc}@@=6WfrQ=gjeIWR3 z@Pm#1;lO#|M7mcAcPrq2mB;-h9{1_ri5^}HdvVxLnDnB)`vlhe`UQCZ03Q(G0|R_e zfENTfj)2hbYu}eO0rn^4W$*g=!vVe}4e95E@P{UDg3>v_07nJaPXw+={`g-is-S-0e?+5sk z9=_}Y@lR0Pm$31d%c9=LS)c4bjsEbzHP6qN2l(9qeqVq;9^jt`_?rR#X@D<7O_1k= z@R9$Kum~1}7ouDy`wn%8EZ_J(sgnXHk~aYx!HMLHfz9AV@?(KVgA>V@0FMJFlAi=T z0h~yFD)3}*BKaA>)4+-3X9Ld!Cz4}-**OQCNPa%>Ja8g8&b2xhfD_3t1zrqJB)%g;6(DFz#oDW$?2;2soNL~co4xC87J#ZvA zk-Qi<8k|Tz4!8q2k$flMcyJ>5F2J3^iR2}~UBQXu__(RFJ2;WN6u2iik$f_+44g>5 z7jOzVk$f6(Z*U^{bl|?=MDlXr{@_INS-_d#MDn@7+2BO-gMkNv6Uh$+9s*7zKLU6d zIFWpQKh>wAU&x69$>YE(@CAm~1M9$3hBx<9eH;3Xb&dwo{E5Khz)vy!ESNhT=Fc(a z&j+3hexc!)0WSu>!tiClpMhUv_>I8pz;8DE4&bfecNu;k@E-6747V-2AWE_CaW*C` z%BYoX{Y*^sQT-G?G?)1skdaZ1Y#_eSSfB>0 zAK**W>!}~A^|7VuH?@K4`k(kXKy3)OhIQl5hS(b?HW*$1>*I^D#Cf<@+sLFqe{2G8 zf^cpMz8P?HMg1-GU;i$~J!pQ*F2=oo!2FNYkJVPaDne>&pZmjoESK*iIy8~XR%g|= z@wvXODpcELRKi+Tg!)9+hO3ckl-k~?jaFk+vD!hivCu14J~%nFui6jidWNh0@i!cAYYkWB*uxUn_E!f$ zHVa}l&h`vfbJcG_cF z;^E>(rHW>$xvpDTOa=d{a9+y&qwWCn=c@W;RzDZIuKRVX;3h>!f19CA`fmJH_ewZy zIb>Q;&Zh=7mw)~BNiwaZ)9EOLV1fRVvtxCt4(|wd+&ifpW|9iuo5bJ3K#QBJw@T$O zlg2K3gKAWZ@b*lz{%cW-)zLZYh>c?|JVqU>j#J00CF%skmnKfszr$6j{yRyv|JQNs z+c%LbzFko}S+)O{E6!b2W4~&cr&R7|5#V6P>$U{ zyp7d^e`mmby3I%YP??fpOGwWl%bk=x_g8!E`LW}JuA%FI*yFe~_p_05|J+n{Ww~S9 zAGRcgx)!c%(^Z)fkXJ9auenrn%`a@|>EdQN-S_&ncF6ndxOh{5^9wKMn1S3?Wz2G= zkHna%vM8BBj(be(OuT5H>8Shr!jyrKRJ zhE`N*f-<(?-oISwO?{THTy?2G%6%?7uA2ChT@smJG-c7X(Y`F`61hCq9$9w$smd5z zq>11ox>S{riHnRspIq^$38sy#H`!Gu8R2M4I(6x;4V}0wdRFe$>qzc*iE$8DyuXaU z#FqIip{I{lPPD2Psn5syPnrM86@R)THiGV0yEGAuzu2&TS+qX4k3rMIy{hy%JO3Fz z8y1!W32!itHq;gw7MoVN;?KPIKS38)NBOsKmBItZ4CV7-yd$;>3aF+7{^=o zgKm;bP4nien6ja@I<6{n)8;ExX+j=r$EsSpUNlA#8{5i>3OQpam@EI?_**x;m@EI? z8t?6aU0ag-xyrvSu@=2CXiwg;dGX!0>=Ijsz?K7ViSUM$DIz|*s^qrx)9~+b-bz!iPV3a`jYQ9BxE*DZurHF%ju%HYR%@3Kf}@9V}139 z*ShUuP=8f8!xQZPZMnB7wbCE*VELCYv=@JGev4ad5!^qjNy@rv`DNlle*N4!-n_Ra zB=>?k;=a^;8#3EMvdq}DVTk2VY{+l!{1-dHUcj|yL)2Tyd^}T^XXcaqS>OG6;hj5( zxqM@~{IRhvcODsUZ*I79uNyXXvU5yy#Fo@F>!Rpn$6s1H*Q|Ac^D>)4L_YcQRP2Zw z+F&<-+Ft?i_8B5)xV);l!so4XR?bxkSBMKN!8RTigXwG4yN)(NyeS%#+qxyO;;-vZ z(5!HO4&^q}Io0gBu|H+A_1$#0aa(nCaZ+jV0&DQsu?jCdf>>2mlbFZuMaoy@(+`41S^|NQvqdQ>;+F?kf_4Brs zB0pQ5qkgK+Rp+Ut>U?#9y3jZOwf*rHbOKM%?-#_-cNL{QhQJ1RA)aB|5b*1{5 zx=Q_AEmK#kYt*&sI(5CeLEWfsQa7tx)UE0^b-TJl-Kp+UcdL8Uz3LaZzxRIifO=3p zq#jm}sO9QW^_Y5GJ)xddPpPNXGwNCOoO)ippnj=-rGBkmR4?K7iI>$YxC7!f^}1T2 z-cWC<->SFN+qlKyck1`*9rXwGu4+~9srS_f>O=KM^^y9M`dEFU{;cEssrpR)MSZUR zs=ml<|AOH$0q-#UZrdO&jo+SS zLDzF}x23YST+C%Ys7Cwwo}gKm+we(G_OFbcD9Q-3;8FjkjP3n?KY6X8KN8LR< zu6pswHUIL))ot%xnO9%j4gQMn+~e=a{hmmhT{_&O=^0<>O7Q79m#s^jH@J^g{Vt#z zDp$5@;j*I;TZ*NWli5c~wAB|zQ}(g#C`(|jvbHMWqaUt)>!TlC{hpOsU%KO}wM)#E zCTAN1!CKoL-nH=A{FVHpe_gY`DyF4!!RL2Fm2IzUOZ9 z#f*fkr_;}SvYw$>(~p}HA`6B`QqMip7fe^1=dQZVQFq0Yxgt#3Bd;I!J%ye|_q~KQ zAoczYwCJ3SXCH{W_+=FNBO+v++8{(bQ0EA_Sdhx(`bMt!Tx&cE=x zw#Vz=xWw7}_aEi|^Xjqucy-CW`jmV1DesDYF8BWn7yb{T4MJZk4L2DID>`x?mw!2Z z%wJ#J0@e?I{qZ+|H-O<8=nTT$UxS?=;Kr}@oFC$zuc6KcxZP`*GaPq%ZR~77q9!r8{z)+uzhbHccdYb0*t+TIzBJGhFS9dH-ZIA=WW+uF(5 z8MkaPe7iWi@_sE<;_U7)P4>X;S`%;;;+_!vo9L7}Wze65o3y5wzo|x#_V;r3)?wWT zH)+xSzRtejVwd{+;YO|fo#WID+@wYQna)h-M5E6*9)KIQX2ZrD+@y6N{tm+5!P@hcIVj;5O=8ZGxbp7uTCs!KeN`XT>ePR1y|32vE zN`cO*eIMfgzZ?g)D61O(o^XRe;umv)}Yqdj5SB zZs)Ca>YRk*osB1*dS{`N!WfjQ_ScRvIj&DTX`c_{(mL5$w8wi?;5` z>Xy6X#IT4d`XwO?wh;dI6uhn{jRJ_pU$WGy0r4Hr2Oxu#`izw zJr_f-OI~^BYhA}Cd&}L9eO~h>*7msPT0dS@wa({CNB5|A-les}$&nrLM~_X+!$>J(=M~JT=uPA_W5*Ir~5J+OQOWoMH_M##h>iFJF?po`iz;R2wkJhbyXNuy86%!8KJqZd1Z0~ku6;`TczWi%O9^j z>UYHbZg@>+mnW6g``TW(Yj^_sV(;I8%vq8oa~(9oa&tBobH_Aoavn9 zob8dBORm^DF1q&Wp}V&TpKTomZS!d+5xe+oDKa>z~Q(eD%ks zl|TQw&#Zev?3#<#cGqlm$F%jS>tB5Te%a_w+I{!!1Xp@o?#fnQELP1=+Fmsma>ukc z+|2FMno?yQUsHbfroXoB>Iriy!or|rhkbk%R{e$EFeYZoJJ9M0lboAu5x%yNYzSZYj z*JncANk5hvoAxp{%l|7gM!DTgQ`Mi(WVz-~ep4H$uK$UD1CYN1)Ua;++3@-?SNi(b zKXRGqzS_IayQ?^Vl~U>r0aZH3#jZ_BLAU%{E~dP{az`Nb`FQ>E%Jb`ZO$FthwI${{ zGTmPI=yOjz!5I8+a5v@r<;1&N(X(>#QGE0Mx;u5fEwl0Q`kq@(leU-3ZNloZzV+^t z&;M0d&$Z*yyK(t0y59ZzF0tvp{m$BKKh-wN`3Al%>-o{T+SyR#GiQCU?gcTQJy$*Z z3r$~o9C6L9y38G`x*n{GtE~O2V&7}mhRCZ%xxF!ktz&OItxnJWz324oUobtsOPu+U zYkb@r`P5r(_H=p%!`ajB=W{RUuken0=X~z_kL*KqnY;SFUW3hc3L0yiTtWCk7iLUWr%KF_V>+Pp=;q|6GL*$0DbN0oQ zYsYYU!Z*kXU_WofTAFE?Ad!A!;1Uu`0wmJIPz49w=Nr?TS={gIBtNS5h%G$@KrrdGr zrlHk$G3bA9a`Dv-4P{;NkM`Y|iL7(>-S~FLzH6H@8-Bm4%ltmL>fcRS=hAO=np(Z- zRI66UU;a3y)#~{3`|mBGex0?C+5W@*x{Wt>9m#qAd3BwHlsaVl)!b;?7D1aEosDDH z=b{pd-aH8^yLdLXWRx?08+F){GX7m}d2Ff)c9bR(vab7*+lGxN%akh@S?;w0o8$ga zyDYaqT~(D7&$VO1u=QsCOGy2tz)cyd+ql@2u?wGR^Lriugv=1 z9(Jb`dSfi5-YxkyrrvO@DY-x1jHw%2SLQcmS#Ev*oX(o<9hB3)x$2rt&s^ol>Jg>< z^Q?U^gw&;)#h`vZ9(2jN;+m(6JoRqNg_ISlQf5(P{yHma+K4B-)|OkZD3ixkGYSE4 zL)AMniJKb=X&FUT@=bo}J7)vIr=$D}n(r#_omg8}{jq1*vSV&rgU+FK+0Egu#@KJ( zy4PFiPXSvFsA~I2iFbC+OE}lg{C7*ajWLmN4nDmdzo36X-kp3GHza0~lUDA=*7}nx ze(aHLX}9LqR_yxOC%=vEoPP4!$(O!%)FYTLb@SD_eCB&zy*uS^)$I7=&>gq@F09?G zw@=-yS@+%5I{&ED&9m<0e{a}vL$rEjy%87J&D9&1?)c`0^}8VJP7GGf&gze~KfJ5v zf9^FE>jTFaYx}b*>BG3YBeL9Su`2F&#;)r>Wp>o(qPC-5kyD zzL?3@ckNP^tuN(8R_VEmBY%EdYY%gKqVK;fSFZGItm#9~y4ZQw+?6P?>8IQ#^ktdrzmMuzk1mv(v%9&X=2I+j3Q! zRoDN#cMf${-gRG^eK#HrN02+?*Q)!|8DEAY)s#*-rX=NFCSed2Z+NWBj7cyyL2k`@ z?RQpg?REv}wi{v_AFq$DuBheoJ4bL;wD=p4)KQv0f%bJ=gIeHZiV=BhP*mvgcHood(o zzWVLtak`Iz5M`|jt`_1n+qi(lPuCzq@3tNHEw-Ok7ScG`D8m#*J_K41Lm zemm^>_~csq>S;AQR$V=4M^mfAH|v+hT&s^(kE4HAPFeep8-DK!tE=kD+IMHo>*ku@ zuNgI_MfUjBO-agn{;_e*z0zTI^P_vZi(%v1NG`Lksx{+{iMs+P_N^JZBsN9Gst3{9 z60@!?Hzc`qtShc5D|1a-m27mwFM3`(UU{}nYu-rr*A8ziu$>r2;dzn{6=i!tb~eQy}D z<&rkvwcqS;c2*^SOgigA*UY*8W!rQ0D5HLFKH2{NFQ~XTQvNT*HW{Dy&gD(#Ol60=yY{kOS{qdUw_@9Ij;u=$rqQ}o=(wb; zX%pYaJnDEn+f@^*FPCzMZ1wry^FA>~J@4w;=VI=hT{~1)CAHU%7+o?VNLP8+9B-+uiE3>;K2_yd)8?pCt<9uxMQSXx?I zHfb_`OQ%fbZ)xdXd+#%C-~FcVUpk|F<^i*2&nYdPdmtRZbCCW$SpRnLbI80y4}+1z zA&#ifW{<>gM9cKg{K}}1Sd~?*wi3Y_OXHNpEc2o_%Cm7gUioOsg7r<^+CwA0Tx^Q^Pa`RTdmEj|B&3op9( zlBFX?T)OnK%dfcdXIK4v+11x9U3%@(rAx27{)QWGy7`u+OK)9z+wFJUxpe7WP`n$$ zJSKkk+&khIR>_Ap{`dJ*vkA@JpRL?w6}t1lgAY9{79UyOWe0lL!lQZId+hN%8Uf|f zC!T!j>7~ysefGKMU-;#(e*GeA*Gs<%81m2&FT3QGSC=k*?e!IJyt%aWx22_Ty5{vMvSIrNFurSeF9pQea&QtV@A)DX=aD)}_F@ z6j+x6>r!A{3am?kbt$ke1=gj&x)fNK0^i{j_+sgofBOyxZ(Y!OIR#dEJ8_)@YjXy0EWu3jAHp$Fx2^S3mbn6n@u4;cra5{4zejH2m3#=Wja=|4$inPfXnM`Gxpj zZuqvPx8B0%&xRjTs@*F+SMc_4URQ9&fwMt#~a+y`13~-&$o?#JBfbj&jn9^UGS(u3@@IY zOEnxZ*zlhSSGyYA&0vYa-3{(xaDu@>2467#er)h9!6#CpUw@S~7I6DJDR zKOi{$FB+GWk1*!9H2%JC{23zV)Mvt%93Z^)6v2ZZ5!~cUjZYj_Xxs^jx|(C~48hXJ z1yBFG;88`!{0QM{L%}5n3Wm-WyzoiEZ@<=9+O&OHI#yRvpG-F>N*dyIv1n5yZdj@% zBhN^pv2;T!*`kfd6EHbu-%vaqO2yK#)S_54RFzDH_HAjXNhSuXxrqgdWK$xPtZ#@X z6D6TBg_VQVv_uu{wWt}98EWPsbM`5pF|%yWKB}a?HqtPrdDov*{A8ywwedt_^O)*H zquQY{ol>>&`8(8WM|UjVS=Bexq+*dMgAl2&Nv2||(RdWCP1eT}MI%G8R4SQL#XA&^ zDIUM`&S_OxJbrAtg1=+aDv?Z#iKHvz@lbUt*;tQ2N8{CqNneC*QKUAmBT*M=2&L;| zmGP>0ETtw#5{aZ$XbFW!heJ*AhMG{gurge%ii>xcsY8cAB6S*)(c(%~xP9^1@ljQu zf*WZ>Kh%&+hUUksRbgc)lBy2Ty?7#&iX^IIMPr-CjT?(+q?*}MKDz>r#1qvO4atgV zvT=TGOdZy&4r^40%~hdLadGirz+Um%SV)afqeDn5$mo`u+?Yzm5)C0qpwQT6HAg2E zWuc-vWHU0Vk|ru6wY8zDI8K(0EE(*HKtn208Ji!eT!0uf%&(x^iKLcA(hYG+60zn6 zVpS?q7gL9(@f@zo%eO9}lNGd&psQozB^A}N1~H^POE0M2N;v-xi_T`&`p%wX6~*M(L15Dcd?dHma3q zc^YEcQLS1uBOV{AX1637BFzUO=q&qVq6$G`VO3+|kfPW`DjVX9Vrooz2+iY|@^Uq1 z62eo_h`3awk#TAan3G7hfFF2{mSxil>vvdL+%5X=?w-Q3ymTRvSakhZ2o-^O0Zs z$Khj8u`XVjN~)O=)TE%6v0fWn6stu;tjpnS4MCGSQ5(||u=()@e3m^Hi&kW0Ar`Pu zvMR)oha$DrNtEQ8I)(C?tdi=FrUTY0DiPvTMMFz{3{@9p2`bXwNn4agsjjSuC#sSP ztw%Ig6+tPBB~WOYMpV+hgA_|p)c&NdgY$t4(lk+p;)C+i5JQr?_E0w}la0s&maLW-2O^=&(@v zVyNzs`g-IWEaXtFl+JR@jyo$O)wM;U&I)0g21zX{=whSOZrY5!)Qqwj+Jf{WVoE7B z#t1-0UITdyq86eaf=^07g@6SR>p={L;6w9Ch&l+`;}e3QIX)8vw3#&I#SnD2#i&mQ z#v$e#PQR?2;j1+2l+zFUkW(yzpue<7_vseHlYro3{j%n$PC3Itx2qtkA?&k1B(xue zXoO%o(0#hS1H^2@8-UceX+(229yDkDr8%2M^n0uk^nWn~?N~P;&Ddia(0%IDZH9+} zoN=Xny3M=5iS`MG!^@dobc1QnuuzY2jX+SHPg$zEkquO)d)Cc$LrsjMJu~uS-p_BW zs*0sTNt8Ua`AzH$Spm?p7FUMTp`()V1WD0I?W)4qQFr4;W&dMxzkgR>rvdlVx7{1$P$dq_4H242}b>mF+Jz1#Ym4b zlzFk3)5dH)J!xl-B+g>0Y1<_v6NXzXwM0uu_`m*Kx>8BO{lJsBi0zEt{jM>K~05X z3mZ|t8fqem&^QiLnXzbnbl`&45%u-pt->yR~`;3kV3xk5MqddsUAEdd|6tl7*dGUog>xaP-rfO zr^XroC<^XifZc!uFV@499`Xla%I{AU<7JMf*+}X{NT6-84U0@Wbi}9Cp(n!FGRsgj zjz}pr$4;l{QPa?&d!7~4*;PWgOfSR$EHjU+Y8R`eWC2lf&XlfHVYTVIPs zB-eQc34LNUW)2v%)JKs1+B4hen>m^Ghx2QjESbrX&H|Gx)I>QP9pdC0`GE>1qoGCd zSQA!A^r{7l0h*aFQ7xSc+R%tTCw2ID|acudQOB2>#66WTt`%jNN! z_1>d+cuxKwjBekS_7gV{665b*0xvv)Y@tP zLw{~#{+;rTIAv<*`NFKeW}tvUODy}@biBB%wvPC00&MU&MFGpg&Jymhjgu=L0e4}NcQ>Dl)+|LD$*rp)~7`)_`@`F>N* ze`EgvFMqLQiiA_CK33w9K`Eo0kz~yIB|`_>r;n8o2U#-I7>`U&R^E8pYZLE%;mEU! z&U|j-zgvDjbJ&#ECkE1Y$?`May5yeMuH0kC8*h4Jn}1B(ZNiOTP5JNo*N^|%C1<}p z=;1>PCns-<77eJ`K&dC%+S=YNyJ+WS7Xl~l{Kq?YR;qQP@Rv<~%-pRBZJw%)RYxjY zLUSk29&hD(Vc!z0dBqdsEQ7I~)E>r8+${BDK{&dn+QU*d!C0&diEDBC}DjuAB2=vuG` zfuSV&1vcs#CDYC8W>$1OZs?g4+WE?w2$vgUDb?6ewF`WKv<^KD##9(z#;Z6sT-b=Y zVoaIg3#Y`*>>n5gy&s`6j`)>r*w9(WxbldBB-YC6vF6S>Iu+ogosXm&>p8SQKP!EE zX8)tMQ5DwmXE6ljadP}Dj;lRjE0)55M}`{V!gP4g(V-c0r%&G#L%nShiE@=L=WqEj zbLW=SMHXO5E|N&AW6HNKFVS}YpSt&ekL#-P$DftvI28z4TG&aEB^N2SQ!sMDvNW=l zNHdB?vYk2^X-4wIYMGH@%Qz4g*v-N&OACY!3xTk-KoUqo8W5Ha=}t&OAUI%PNho0n z%fkG>-*e8r?@duL?Ed!iAN%RucY8he+|zC#e;b#y;2ej&OBo`{hbRjnO+nASWhro2 z5PAm4l&lH!f!FyfE(C7M@dew-`40f$PlGB6oG6`+4d%d2@L}wg>B`Wx^+hX^7fszX+&U)@y3P%Z$l{qJo4?HaMcfnP zJ2jqjjOB*K1JhUDnE`!|#4l!p}gw?AX~mW@~-W9*Uo&Tdf@IxYr^3fn+f3OKyJ(8tRW9fm}fhAVR4@`l%6Y&r?01yMk zjj7|^BQ^k-%y7o76WkQb~jpFZO=kV(^c zN-;Mwv^;j|l0{8TixxHU3$2lfR1vn!!U)?kIMpFz`GpXue_8!52U9@I5dalCzkeC| zrE6mS%T}%!!tX-ck6Fxy6ODjds_2F}wBh>($f zAwjNuA7b8Q%I}WS#CXy}MJwZW;=BsNAQ{5Ok#yA++RO475d$SN;B5qzBKAZa4V6fo z8KLyRG!LoxAvX6doC!z9!HF;6ya+l9PiRW9)>t^tD&Mz3sjP^n9f|?=Ax4wnF4}-> z8`f}+2&Hwf*et}^9EK9}LEUs^3TP&1(9?3{Wq)Z{0cb>60tX;dC}gJ5A42wE5i%-& zQ4!K4Uu#$3?Cp`#{*o5?a+HjJ!2PDlwBOWSyWa-K!4Kz1qF2%R*!{s}#JZJ=L!M-Z z+wGTwDz_R$xgpNbfRY`c%sJ8^YD%KSbVNHn3>372~#@A zK`b;KumOmhBCE@V{7<}7>pMD7oE+adSY%g$zar=~C)OCcS`l?18IyTVvke~w`V|OR6;b+!(qrv*bli+k57?8 zhXqIy<2WebE_ZfIm}P{zO(G}6C-CD)VpZ?RP0MZ|*gi!WVj{ib$x+?L$3}zG6H@}w6jCKh=Q~V~WZ}sG{VKc` zC2Ka;7s=!FCxtK`PY@E*KoheIl6ow&y^B>9nU7d;WSlY%G1Adkb7SF&Sd=gvBqte` zblT7}?0^u=Q@ZEu@fER~e|$v=qw#@{gZ-FJV_uhYH4>NrZjps-M((fV-gwAsoyLlA z1ps?gq}a-+$W+Ef_*c?t_>)fS@uVUmJ(q_&YrPJ-#8)i50zK^&fiNVPC^QmNU1Dg1 zuTSmxtZQX_k&jFJ_{(EUu?&iME!_cX`fyQk`kSXSf)~;BTib` zo~-7Ke_|Macs})CAJ(5|wK?-&ALg%X*QKcHRtCFCBJ*C4ZZpPba9MoJmasxZNC^!A zEO(COaI~=UY$&iUBgYDI&Rle5&R~@r?9}wlI^SyLUp~|+5Z`9XoV$waKIG?)u&#w+ z9jvbHLfDxxJ6(Dnp1FlL!}{&?LKj#GBST=~+?x`9;0l{E5vRfUK zj3_Q)KG8>repC2Xy9xabZ&DRz%uf;$rZ4ANixSBYPP{B9+j|BKM4WiXAsLKs!hRGi zIr~j)hJ1CzxhWSic^tb^lj9Su%&k*$@fAcqq^!AI%4bysfGo2al!h?noCzeZP%^9+ zgs)G6-JIn#h2;p@YSsi2SEwnGa)ih=Ycfv6rC~X9Cy=;HW&UD{$S+NS-+8pBK2pw{ z2_$ZPMLCWnIct+NlI;zWjcr*NuLH?Ik}j8}>h>og3sw}4wy#sfrF?lHZnO@|$$obE z6b>|_NL|8=FkeY_b@j30;ir%U>rL^TiU{n}*ohP%@#E)cvlTI4#i+8c8s*c4TXo7C z%*bo~=8C-0-;R7bYeLCw?OH$9NH^c|*89y+%bQn1DR2GyNO=I3VL#5;xWy8}eF*31 zxe`d+#l8%7bs7Ti5$HE#ITwZH%$-2uUQ|)eyo%Xl#jrhdCXl#$v>5Jpk$v7~0sQ>D zGs?Rgb&Das7DxL->GCd`lu?N$u*hW&gJCN6qmuFGOxIMEZf^L-@|ISon-g9!U42!$ zTI;-e)hsP95bc}Sx?z!P*M?;x-Mr>M)2;Vdq4ek6^O=bjhh^C~%soGu?xL!6bIvy= z+f$wl;~w%!<{bM|Pj%Cq^Lw5NCCRC$vT*F8X{an2$7b&0d}&Nqm|sFI&PtPUm}fni zpyYPk4kU8usU5WKUd#} zB7N1fP18o>(|yOqKPnwR`2X(t@rL{V>hj)k{*OuzTfN`B1@82L*FT1~$I(BPZLj6$ z;#`SwbM64+NOv?o-3Pf}UEM(k;eX|?Zh`zTnHL=7)}Xx^5G<(hjC?LQNMb~M%AE*3 z=pe`4fLabH&?cFLC0+!Kr|t|$jk(MyULasV{ga9`(_WSnx*GuEQ16Tjr=>m%9#+)t zW%b*fuu?lkpWC z2~yf29Hy0%_~l-#FRFz~h=i83A(0PKJMvJ~%W5szsN~}0VzjFjDzoTJi56GlsW#if zw~dZi7R)yx-NF3(p(s^=WPxU=NsuR0#|z_wq{WO4cY@4Tn9_!!=9as*(S3}x$l#=e zzXAnmY(YJc92?ba;bcZZk^YqZ4)*Ncoou0ZuAtPXK$#ICZ$x-D=u6CmU|V-rIvUxj z=I)tj=`ZHMe$0X9)!x@0jI?wmH>LY~`jY1CZcUvXjI0^W6n6-f41(U&2%Qd+*=&>X zc+fgl4kz*^C`f0rQ57R&?1H`s5drMIqJ*_u*hxufrAws(mKpDk_ihqbYgfFtPh4%i zo$849_KL^W*4{*CLZc;;eVuJ_@rIIQQXK7Z2;7USr?Xw&ZOKGR9EtXLSL?arOoq-x za%-!V(St&gTFlw;-h{;LPsP=zyS1}ReA-*%-AN5>?T4KNR=ul7BXuR)TDw-L7o96Z z=c>?oTIf7Ibe<79&kUU}6KCq&6p9gNTdx(~-{00FK8g5NZ6K@D)7!Zv*p2nyEKJp) zyLDT7>&DK$Q~)WQuGYSIJ00oncz3!hz9rrzUmN>7(y7k#;=y_8jqy}pI@J?LJo{)% zcK7tgQ>jjrdtMreTl>5E(&fG#on3wLUP-gLzoVnOHIYsxy3UQnPxbYp@J;mU=uC8` zHp7ufraQX&#hE%c(dIuoAYEu5E1Op}uMW=Z>fDCSVI@T0ds(bw4>_ns@8R{*m! z(RGL{r8c*ow)*rw@&MsHW92I6T(!#kt~%pP=etrI-R)<{dwS`f&X&Q#;AyLZ>80XI zZ@+XG-0;p2bV&f_E`?J`ZG|#M7D&5(V8Ma)Ni}Sp^4=d@QvuuRP3;8`T;S;=0O|?W zn8LR*wnNj7%F|0EI`?W8acgPaWoLjauAk_+&CC_U{%I? zl*t(EJ{dw?kTXvYL}76X3L|WmKpqXisRnzA6>f1m!I+0&DddDrgU^*RH3hH^A|N>8 zr=Ov+C#=ahrEM(>MClx%5VFcdQ6VUgB8Fqb5C+N&Yv1V1CEJh4%ji7X{W}xMurtkU~lupYm2IQvD#q3u<;ielV}nGRfG3nMUyL! z&7$3VLYEhoJRp08rC~0t40B;&IM*3xnrme+06}G1W@(naDg0!E$YBJofx5UE;f5A7 z!c7jWn?3y_BQ3N8GcrCLRl0=D#T51uy{v%Qosp{`wgV z!azih`Cuc#i<=T8sww)Hme~)LBA`SNzsbU|MScX9EwX1c;|bDe_R41d5hvC@KkzF1 zL?19BdWE6voX9784Q1Lu48g7nq=Tnn>0x{lEY<<2_5c%uEtZ|469oZ*E;Ysg5eaa@ zrxhxbK1PjEWYBJv>;w&O!f^Jd?8HzA?DH+N=x)CAI z1=xn#GcmjnI^s?$DHIQZ##bf_nH(o)DCN-)G6K*H6M+TeW|`cUakOH>4O^!Yc%~q3 z=`_AjE+9(cmM`$jysf?hh27Cnu)jiyMHgT6m@3-u;UHG5EMbbOcsVO@IH7+j8KJ>s z21xyP?CPvzG9 zvN!nfpW{`OlAc4w#i@{!lWV8LWv>Bw=&rd!_=I#kyBR{=}O9Z zG7f*W+d(2zm@T(Bl~)P;CO0w7(rd?=Jzv*B(OfI@tsRH?>UfsVZd(=+sZnUHk57&d zj{8j+(^U}B87pifpl@in#t;N*&=81x3sGDATH z01Y;J5gn0-jI8G{eFk$4N3Y>2GHW%L%2b%oD!&DR7|d|CN|a<&!_kYevSTZLPy(9o zZ#^QuBD^;eUjd&PFQC+X{WX+w3uW{QN(uj;k|VEZmjArm|6X0^8<#ODl$u?ZR9QSB4g5eF9>t&jkUykcEtBUx)^f*y(|I~iB%C3Gn z@B561@5>#Z{aYZsfBwZPzOT~zklptkIiusmV>iYISG;b+H9h}+@lPifzGlf=&ic@f z&;HYwK6TG`fAsXPS3dXHy5g$dlWy#N`^MiF9vpc2+g|Y6S6+YKhi|*@ykq%`sVBepyH9@gpC3q_Sy=p><5wKI_p<*S zx@yY}9p`^x_s3rN&ei|$`0xMx)A#MY^=o%+esbI2Z~xe?4GS|bsB1iV^|!zA%ZK0e zv(Nlt^FQX_wdmu^ZvNeQ_n-BJ-S4>M(iinCI<4ioOaJu9qu;vYkMIA*^n13wam^QB z^ofs-{KKAoU0=Q6q~!;#z4*x1mwft{|MI8*_|A78Tl%RZZrlFPo$q_+t3E&Wz(vm_ zp0|Eg^Eoe_IQj#n+n;{y@&Eqbi|=Up%()-f^)FYx<>RmU=4XHLp(F2U`cmT8<3GCM z*bfC?Uh(7D!9DdGIwpoMzWKFRzwM77{{HprzVed$Uj5^Xe*4+FH$V5cC*8a1jE%?j z?i|=s`1y_By5`!e{_*u=ze_&3{DGss`o!s9Ipu@Lz2@Md$xYc)`VMJ-yF<#blGLk?>K!+*TbXVIQkE#{_N}T`q@9e;pR_# zynS14^P#&Mw%_@JA1(a5)gNxW{96}1@`_))^pAgd<3sQH;wRqy#i_IU&U@J<$M632 zqPt&o{nEF#H2>+CUyeN1{hfci?Tw$>|Gsbh^Wr^+jbtx~cm3GN{gIm+P?*{QmF1=okAQ8$IX7`=9yR>+gH*ma9je zcjvV`vb+B<@TdRyM(z#C3l<#r@W`QqgX@m@uiqWD@SndP8(VYHvH7ljtrtH~xODhm z@7Z_I+D-Q#eDDs>S6DMT8w61CB^KWi_^s+-QePqF{v3svxdh7#F z|KsaFd+Fca`1wPx*>}eWPP_l6{r~!n!*-qihv1kuU3>UDUU2o%Klmprs0_xeOI@S9&=b?C?|uUYWoFFmvH@3!7`%LZ`^a`&Hw%Q36BkQHhus3zuj}+Kjpga|KqmI=eoap&W$aT!L1*DV#OEl zZ@uR6v-V!~(7MsP?)k_cpLy`UOMaGb`|pRxPVcyK_)~Y^bn*9#O$WC>dBQ=brMnjW z+c)+c_1M}=59#^0*1Cpck3Hh{zmFaHjrtq6Z@vEY`VT+2=<07g zyyT>-@4oJaYxjQbZ`NIZ?rV;^p?S>(w|(JLBe&ccd+klX{QUKIy!*%}K7Y`=@BQrL z%Qrpn^Uv(O_kGV_{K&ztJ^s<+bB`GO@$1%P-@g8m(W9g|eDCOe?<*btwuVm! zi$44Q!!B=s+cCeo_rnYSVf$|uy!6jsJ~V&f)`8!DYdCksrDu-3@TZ6F7`yDn_y75a z%kKNf^LBs#*l(Zp*zow{H~--ePv8Egw%fn(HxIn&x{LRJ_`wHX^|pIHbk~<3THX7b z$CJMv{^C8uTW|g7V~5`OinGuB+~)5uJL;jX7cctEf1Y*FnHTRqxb-VfU;KFg_d`SQ8Yi{{! z;}N%g?ycwDu>IOOlny5p+jcHi{GrllXec=T^ zId9>W6PFxQ`sSKLhb}l`!E;LQ&;3jO(*w`mSK5(@e{baYT~93f;8XV=wYTrJ2PeLK z{Xs9!EFS*Y?~lLu?(R+b&PR5Rtv~CMdp`Z>c@I83bj0HuezoSIm!&>^>&L(P{xAOE z)!+Nvrk|B=T=A0M+;-a=zI@9!SG?`|)JH#j!zqWHdG{@EJ9O`NmTdh&-yOpbpWM8A z==z(^%G_1=;_Vl{ecAZZm)(BE4Ig^bkzaZ7S%~LwJhQcsmPC%gb0nUl@Encj7(BD3`JW8?zbyYxr67ntDqS6j(iicW@n>zbMesBjU=qi?PRfQ48LM}Ts2-B3Hv%th_ z_=#3UJ<@?=AW=~Pi2e{LC;=rAY147?DY4F{pw2|-c~M-uAq z_&hK#m2XG+2n$tDxX6T8k^><1d?-^GK!Obn3E(e`NAWBQ(sv&9W@1&=M^<23+VMA{y=yBTf=LnqW5%EN^=dA) zfPnN1DQ9Lk)>RJWgE|eWu-89Pz@(i*j$}33Ajc0i=p3<*$IHBka3Oq=&0xuktEvl(-?`?1dwxF3_`1gKJ5KclU{1R14VIIaurHK-6?b8wH3?fA0ZNoI)Mxe#m8Jz~U zbWNGCJYOgnf&dN}=Tbz}6d{M9zexUw@8T9SLx7SL?~8;B#htA{&8wjuB)WED9KuaO z^RFGhYR?aBP%*98I#MOaVFymPFUV^E9D{H=2wT2|arCVt-=iDYwHmDvGxZGW4zi*Z z@dVwGp#Y)Xi7*<#D@&)N&)ybpsSk3BK8T@7bQYw9Q|zmSaqzJSUnVDD?;5BMF$&AqW`pzt z_5(vVJwO2f=r?udih8&y0#?Kz?LdgKv9AC}QuskYq!e3FJzuwZap!2_*5ObV#0NZ- zNlmDQNkIuwPxUS917?n28RkS(sX}2B^PPB{+de!Xn`b)0bz?=W(mcQgV!5X0Ovy^d z;Xa_N+)uFq+V82r<2)cy1?8$*RkUZmjX`~6*W|);oP*fu+~_>tgp3`S3J~zE!@UN2 zW7I>guB2~5)!J+h6ntSNdxSLXa;!cT;$_K1m8{34)7feG8OGZjrYG-?HWakfiX1S$ zg30T?Kxhvm8(7uC<-+v^;Nf5hzo~6Ynxe zhkI}U@ZxMZNdpkbd0mc_L;$NpwfxzD?HUbt9_8D3G$=BU^-L(s8C_Wt@od+p*E~>$4+%~}e4zVdgLp|toT~drSLP{Ru50Dbc zVgsT`9{~!FPFNDa#lc2L{%AR2jN7-%(y$zd6r92ip10N~w!yzp@AHIJPn16O?fXj` zRz6V*;LhQB6&}`wKQPend#LW~b$8e8UvTY$W9xpk;Oh%k*S)#!y1ET@yXrnzx4o{X z?#jB0>$cTR)NQW2w(g3$#=2)01a&tpcxXYa?uQHRUU27vg>~00xVr8Ibqf#LU-yE8 zVh1%I^laS^>wZ)yQJ>IENMaHR>jV!x5QS)8eJvC<)?=x{lZtai2| z#M6B|Ir@vTyFnnV5ca)B_jr96Urv93RTAAtO#y^qcWk&^Edx3GAXrmn=SlGOHQp=d zh{s(M(?`LD9YSC@3>E{2WddS-I*X~^RywQf&*u#-5V06yJ!?h{NyJEt^ja58D_Oqv^|%&5^MGYNE;=UY7UmOElALck&cdLxb1 z?jypN)s4!Us+H&IkxeqsnGPDT(~_l8>Fs7j1zqH!6p|7w8-`<}?g6Ovmk6=_6*(kn zbETmfb~Rvf`TPc$TbV|`aF2;KT-d5fPK-h*0;C{{l>dpPeRu#V|f^?bs9L3$d|fg*UZMA1&nWZe_0Ax?vt z3Tm(*qao?8XuZEDSuD1|jd>rgY`_=}6KR_Q;1DR{_?XHK7G}KxnjWtH(Tf(!r-RRb ztfheasc^3rEwhI=nTb{Xz~+vvT%KM4b!lTfh@kxz3CL)$6o$jc#ID;U??LnF00lTf zxl*fB20*j4IszEfI?h(TUIx2Wca6<6X;PpXcY>5ai^B|_=cR(S%>j5j*W8%D% zN499raN1y^%~L{30%ioMp}Cc-RxiQ*cTWEEf~jrz1%=E`gI;QM4R;srvR}DL;V`8L z)M81CXta|(4V*`RUq{o*GjaYhi_Af|s{`Z+e!Uh3{S*&hFQM=kW5LDR6^AhHl3>^9 z2r~kr4l3{nlzW23C)a1!L>eRtP=KIv`yG|yMdv6I;euV;w#BTKzP1`&0Gb+OhIxI$ zL3H^AiO}1nyMX9OIT{vr%mw}IQvO`@NSJiD^T$XNC`R(fz~auyGP{;Gt^GwIdB?P@91dd7ga`TV)2=)=X|3WK^ zdWlf~1QN;A^V0xGE`sS(SjmE4x$_!)l2 z3;t-?%0!b9b~~S{c01+~Lq3O-XyLU=xfL#YXvXxlO{dJgQ8#N(S?&r%dn} z;#Jm9P!d)!O7@Y9F0G+6` zAJuOw%1sE#9IFZXF!P!~Ze>R1OXGS>l9eku@LN)~z-3|$3W;bSmm9+gpZE{yzuF=0 z%2`*huz!dG1OZmL!UQG4hli3zz*n4Daqnd|W>7^mPGC6(G$_}7!I!W3ap~>X{_j2i zRU_|D%%jXRkZ!i;f2+=GKRR)+!(K6CzT)6$QWhkw)Z z?ZCT$us_|T`JI68?teueee8el>8z1|Ex*b-ycOwYdn)7qPkpn@nev(~tX7-oSLt8* zU0GITxclat<-2dX4cv*m72TA#ivIL=rl?P~GBx$D|F?f1dg_;@tMI%M&u8%5jOVL( zD$D&_c&x#59v+@a--+i&Jon@IEuQC~s-VUNi5gXA+Lz$rn*z1bchv2|0LOC94jZ^a zAY;jvj2nxW1k2o;;;K`2O7ndy2k8S1M`su>pMKuUUJJt){Bgawuz zRPk~_V_p%ZY}bj9NLxvzK3xBf`?%2vMrJw;(&$8x zMNqj^jpY4F~K(E+5j>=M%M*50!N zldF?Ge<$PuJuV-lHK@5qB=1xMvdj;pgmPb)0$|+G-wTUCFmD)~2x#Kt$ih20prIIg zh0zA>B4yTm(h3WDp{d=Qil-B;PTvU8#sg5Z~4p zbL2!=FejeAmImpdKc3upR(QGq5tvj_;o0CmKUu|C{lwCh%L;-aO$y*<36Kk6M!KiJ z&y#6Ao+$Vf>Vb>qK;*?epna`vXQwxHB{#Nqg>)wLNHB!q4D>E(R^E5Jb!M*64PV$& z*oD3;8?CB1(o(}TzZqclRLnTS?+2A zKn)Q2a`{=c2|cpF->b?CYweGamB$RZwX>=+I-&C3t}qH9a;#NGlZj^I04a5{(~N6d z#>g7l9_7rc1gf8Q~oPgqn??D25VV`pOHxqb1J(MWlvBeZ8naYeHu7zh~~(}(J`a&(g^5aqkb z4B|1~w~ru^&=Hew41%rT_~N>GkVHgOmrc~;KV}caFmR!(slCS9Flj_B7H~mfJP`qk zX_5%5f^{G@#p*FHI3b!1FTlj8(kSMzcs3O0Ywf*3H-g#5cYgCldIfT#BKcf%-u+ec z#HOKJ4_qBJ*Mc7cw-`+FAl%cC5Zf2QE#*HTz>AAYISAk_X9#YiP)GPOIK5Kvfilqm zBNXgz(wG!sG7lK}#YX6of~!)#L(V(d0i|PG9RtV1$1w;J2w(tI)nd_LqZ&AlBgU#a zezrJSBc_ixxw~0o3_~WF+zxLVNi#35aouW+M4b@2`=#UCoQzu~fCgj|2>=d=@j#h! z#&qs-VKeowcoXiA6(ph%71<-U!CXyr8uCpdJmEz8w0`4R@Qj2NhoLkX7B1yfysxt_ z-ks7|=r2qlTD#4)u$h<=x>btc1bBMN)1qwK;K-D)<4y8GV1vouU>Vm>ScbgEJObk& zv?^DuRGJG2LQbT}B$Juw_C3ezO^DA8(QR9}uP96h zlLYfkMf&2zG!U$2NbmrY8r%+h5WJ%(sx3`X5(Dp{M3qYijS7?V^?2IciP2J@z6#Bo zJ-JU8mMgg6?5QB9B1o=76`P|d;#^5(Tq@F+W0Uj9p(4G*O8?q=xO@({KE!MN^-g8= z=Q86QC?E1FeAyY@;Z7&A$qLyU7%?*Y!>KqH^LVAlRBgRsoz|RW=y}Ue4E}^tX{(w< z21;;mg`BgMYcOSAr2>!WPjt4y^3{Q15>sP(Oo7}~7Ac+VyBr_tN3u1JGv~wmLI42* zp-gO5lNbKd4c|5d)CV@9aF98$>cHX^k{E0gxmtG$A?gF11_D1aufwCBfqTP2xswuy znJrvwCQB~BZy_jP6&;_DRy)|_XMk9MF|^N}rc7YkZ6>Za1lpQ>ffit=uZs9=886wS za4~ieM5WLpnn03Dt;1N*sub)HT*d${$s{tnb71rrfuu^2`T8J&#P%FMbEEb1*d5o9gmG|R z6(hklqOMToPtX=x{F$c22KbVwxR^kq^ka<@8HS?;m^zr)+jX-CQblzsLw}Pf1_@y! z5e&>A*$BGRlAuxFOECGN8iI^-6Ap(1YAjZ3CdMaJxCvAXCoY1;t@yLol2Vag&BkbV zI97muw-y(WfnVk2K(Ku9sF&I-I;Ap^8rmHFfZqC*@@6bFQeOQ9AVz{OqGq^Qplml3f!p2uRa1S)nU z`7r|HTSOVr{%T>T2zpo@C}50#s)I~LQROjpl6y;LghyLPB-PBVn*R$Dt= zYBJjcC`BMrH7v5P)lMciHP29-=?c|OxU+z>>x^CP)?Mwia`T!5sS+X}Z*-;jWrF#H zEuTbQkoCs`XN?p@9ZK5i3EGh<#a`ax8{JE%-d=ue=aP%SFh{ zd8|^82u#x(sK009xd|7PQb!PbaJTDJ>}`! zIVZ4JqVJ7(FlQD%Tb7^TRxrPmW$Ah-?}IfRO)6TWBJcyqQqj&@@#o#nO@C!SA^l&~ zPe}h4^%K(lwe7B*-q|?i-W|ljh?@XKrEdnrq8uxkDHinH1lRx(>z`du(e}nDoFjk| zIz5*)$o5zOZ#Q>XQSNRnMBW$GHG&t~B#* zxm1R{z=27+XN?`VNB)05pgAgEJ{GYx`}$%Fwo2<>FFY z0X#GH1L$M}7>~+gtNMXZObouxP=DfB3RC8%59S17D`s9*xk_oV)=Dj{C7h)-=EV## ztMjF{64%BI?eQ4Q9P0;A9x^!)_Lw1`FuZK2vUwZ_BeK2(5Wv1bXrUqM5t3DepCmRl zDtJ$9w;`b3>I7!sWxV8?rYUfLT7Z*!*-h*->9jkYcgt_4XmjQVJx(0NVR^|UFl&`B z_g9k)(IhT^Opc}v@fRG@#|zYrcZUP;vgu(v;7Rqxlh6-U@#*i531*{){WS%KDFC*o zWfVdEk{&{*qvFo3hX_OEu#;8Uxzc@gCUrHk=4;!FmB*_FRx3=PM{VI(Z}>G@*IF@_efmAU3Bx4<)!FI%1*1O(4lN z2o@0-;yi>C7mh|emXUOfkCE&mTz~|`rpTZPCtqmt?`^Txp3bU!RZJR=loT8JmY5iD zvQ%6J(RAc=+qBb(B9tDdM_Ny6Yq-p1MWq^q9y`WONUwSYsfoXy>7>{+OSb|3bWj}x zgtkHlq*mJ13X#LPyv=4ae`iU0t*0r4a3lmOeH2M~bxkMRk2 z!x$*5as>iNz~~j4r4LAIRcb>TwNILUUDc9_<%QpaK09eNV=iwBD7}pCe@jqFc8ldZUdAzNU-wO+X%&}7aEEavrXPu zvN_zxDsFf0okoz`;nX=bB5w#4$Q#RnZ(JY9mz9U&)oqq(@zsPbD~U4fT5ubTa7IY3l- zcT4$P!d}MR*D-mp)r&NijjHsbC9ph-Ei{S;5C-r8FU&4zBfI<|#G8e-ETJ&)IZzUZ zfoM(?v80rN6QD!L$WcZT7A03A;2f7H-f$3(gUACl+_6(2Fbs2H0?4%(S1VhF0dV^< zTtBp_vn?RkS?(9YZA88Co_K2??So6Z2d2ZH8sUj z+?s@jf}tL04gd*j1ukP4Mx$0(6T<*cYlSV9u<@FC)-wzwaz2fjvf4Cdnga+!RQN7~ zFKELRzUtG=@#0ev`YNP>FHZCJsu7OeIvwy&MHrD<7K!bqR@)Y{{@9Xgg{_+L z_Am^acCE0b(qSW$HNw^+)kv;Zz&eEFF0B!=jv-^U(wxYU;abJ4XF#na>zPDFZbD=P znC=KV7IRpqFOUnU&SFbU7Yn&&ES+@9R<8HxmfHaRXAdwRsL@6)H&W~Vfe0SOl4FRP}L zWgoz5Ax}z90LRICoQ>GP7hwX*BCCq58LsErTH)*0GdvSp z7voLYwPGw=7uG}K&4jd7#+wO&tBN;sC%LFn?(Cf{(#|FzV_6(w6S`Ko>8EL6H9|Xi0(blijcSb}w z?2)aopV$OSq1sP$ID}C#k=Gl3@L;Lu!F{Fkez~ud`s2RRD<0cd`s{z~D_sG<75D8c z{p67cOTWj%H=i-YIr-5COWn`zD}C_$`$`w@-B-H%5q)Av^W8`Hm16fI4DJhlv9I*0 z`yMQf;Bo0E9^O~#xnJ{L_A{jW!M@U;QQmdP=gx=rm418AgQagH-8=An5OKF5{8xxS zgnE4t?^e98NBp}`=4w2AUv>9`rQe`V+u`1{e_!bk)ZsXMpNw+f^4oo-sXy#1y#V>& zinh-7Y)5&_W95I(9(Um^d0mP0x8tcS=VvJUBgp@m#~z&ZxeIYlLBIYKb(k&g+h@t^ zbfj;`QUx@h~l)U04s> z?$LZt`^ml%@JPtnPvH)7NEUR)#Bo+95+9*2cE!PqKMD*>%h zl#jLa`TFyjvWNr^*Yikby~DquNk%}?`#57JC?{K$i|oAn=4h=Z9k932knt(V=&!j zPQA_t6zlw3mP>jTUmo-wa1KEO2X)RcJs}#`Zz04898j$ zkbl5A$Yh3Xh-_GW-+>w2%W^15U*qZn>yN<06JNgA)D?r@q7s^+`if?u)E*r;dPaq2 z!oH03pd+O;*5}=MNyINDF&0m(XSxIVq_@%vW=gmR*4>b|fPkNH1vpIDGL&E;8snUA zD^~5|u}-z$uwm5GavZKinJt|h1fwaMTq-9|0{!nymc~4VA^{paZ&oHfLYD?A=d7KA z0s{?~?T{ywTzP6|*Eh%-0sNgSUT#-z5YYmv9Kj+Aq?2)T1+J`u*qsxD>Pes9zN}+o+gUa+uSD8C80THD;B6(seR1`RbJKK$pg>o=Sokc#7sKC2byM7I@ z=8M@%WTJYya^IRU-4u*1{3Yr7>sPEk;B>Ps4s>PJx>EkxyxTdS^s}{hKIvy`_nhhH zXn*_0F4(NuM)p@Ybul?;_d|rLWb3kx9sOnTp{U;zO#_G+11XXh%?p9DkjdtEEnV7} zYg#Fn==gn|d2$B3d{(ZQE31_&mM+CUM?2_|dNB|FB%jU%>(Y(6JvudNlMxmgye*A_ z?$wd_zEDduSN%!7^@cfQkCW1U`RPbIX2{aFBbt}>L!vL;-nmIT6tvu8k#au6xJ*aF z<2|WP=-V>5U9K_190g~@tf;IM;y)2mn7Zb5BavPT+uhOCm+ozC@05|2(IFH7H5;UL zs_G_%i9_fsGJN2z?0}^)*ms2Gc`7*Mb4nQw<2eHhj9MLYc6xTdS*o^ zWT+|vI<^bI)}wfUP~2TK>

    =Fiq~V*|ZN!^Alb^7356dqPyf^(F{!^v{Lpxv4~k_ zXl+jthOQxesK*wN)p(O)XxN@19xyvZf?RHy#Zg5h9DQ^@fzlv&{bi>V@OI=p64W@1 zm|u7fsXiD8s|c4w3esQWI0ZbrkOP8TlGHQZg(@cn(`66Aden3W zkD%t&2%}#KNPF>bBTSrmuwP8m{sh#|DY8ZLx0Iyx=wMU}is8Ob&c_xC7Eyf)3QsAb zaIvQKMC7Xc%YDGGHRD#r?Rn_$DtBLzQ;1KI4hmH=IXc5VH8O4=2vd{nU|dkP4r~NU z(ULPina5R(0dNH|)DplX(RStC<$|UayMR7VEL%ZWeQ^TTg0djEYW@O%^dbgGxvi)# z<`4++0f%rxkV7KUP#nakP7K6OhjxI9`l$>icGhSw5oPqf)ChDkp6r0BC0Iuy%0{sh zUOfbM9oka_-zgA8EC&24HyDEi9>sIfpQ$AQS6tj-T|poCX@a%{smbw)*5dToU?(Ro z5v;&4rXW6cS-vnn#(NbtZmTMi@|gCHzz_FAE>MMLH^QY+@n zcA(k$LH$nR@P*#msb48ErKIj&NPogyjS~^EqTFZOI3!<$A*8W$1qza37FMB-8w=w* za$`Mt*9&d9-Y^ScM%+15)U;tEVi~A1XZ*%KzOBBCy6qJsR>_)o?Jl`gvZA;7pr%d2-c}rA36!3Oh1a#Cy$L4 zF{$N6ONBB6>rWp)WRm${c~`vy1zfIP+uvZC>1IZIiOSiF`*& zVg@;AKtWFcLe|*z1KDbl{fYJzcPvnfa90d=5;;K@1FJZ<9$sqF99ZMzxGQ%UG_#KY z)yJoXx6>?wbp`gHNJo(+S(H7XIbgR(lgqceBPu83(;S4ujg^HFtniVcF7pHDm9qkV zoI2d1ICtFnMdueRVBq?{Xx+bF*9FZ zt>KmpZQ}C>rF;2ZVeg4n{l3`VxS&XWKm3ZmuUo5cxkLNa&dqnJ^lJGQKB>$DoKXhy zSzKF8qyhUpbW5@2LS)^k2PrtTOa!cxp{;ypm`hVa49Rod@xIOJwyxGxibMtZf_cL} zNVGNv=@x+T-IC@^aJFt~)sNl8Je43y=0E&Wh0Lt@Mo*#&*Bhv)VruAeJ9R&G? z;La<4TN99*$^7ut_>`;9ywY`GW&++4HFBxvm2Tegy(TgCNi_~ut9~{VgH#R%qK0n9 zg2Y&=asxQ+#Lh6>B%ltBWJH3}kW<;e0QByL8=wRH6ZM09S2Md2+=5YgQ7GKz!P4s;_2$N%K@niokq15MRc4QnUhdZ z6H;=78ciaj^m#GXu#q(I0i}2gStin+7Hpf?cZfv`(Be5hiVbP|ZH#r9fUMM%#m1v6 zLv;D1=jczFGd5fZ5#{T}rT~UlaM?0@WR9*Y1+X!g4l7uQHC}6h{D`@Qg;U&oYM_Z# zP&z1c_C_&t*@|{zh+u|CWQtq_n{tCgw5RvIfqUu7y2Z`}T>5`ex)^R?n7LeFB9Pge zY?LyWAa066-K64_mDfU)B^q%l&xNBR6^N;0JC_JwSEP&fXSm3DjuK*$wiUy{X$$df zscG0w060u&C#z_4(Tyf(A2@=5Hbd(-z}oz|(ydAC4@3D~fZGCCc(fHNGS+*;2GW&l zzyX+WF(_CG1S;BvJA|o=*EEvffiYGtPvlrvgBwA)%(?e^c7TW3;U4R{n42kj1Z^TH zA@v70H2bw|6;bX3^~kyfbJ>EGou>MjE`QE9im*4W$GGY8V`IVM;i(eki=k7$ZIgTi zu~-KIT+3j)*zbQWvC*{51>SsTdHK^eE2=#`flY>7Cfh6Z{K$S)`aNJemFoP;F@CdL z4a;tc#FOhp%l6pL_L$pd14$_4r@sgtm?8a~=s=`?AsEo6=>&mp0PqkSLT9E4GoNzZ zW@S zP0)<3m%55M1mI*~1Cpr^Vn0QYo>>!eHW^$-K5JsD6uU9P3+(okofn+(p0(B%AeuB7 zW&q6Wj%gT4J_m>|sJS!9Km;3lf(@?-He`bhL&1hbuwg9Na89t{(qKbZuwf+F&>3vV z2OBmA8@2}FqUq-2KI(?B{991|<9LQF->dBXI=o+GZsz%v)pJ9{uL!mv%|ey_c+$NL_{aq$o2{kqSG>9Q#Q89cAFyrwPxX1s5WAN~J~_Dh;bnTMh+-@>}+Xu1P+e+>D24$s4u|DWvrOT71+n|c1bxlfLi`69Suw?0{VE5i9~_+sdG zetfS(oFEdf$=v^B?>%^@BjM4s2jad0<==@XZh4K{dkfxYMDjn@+@Fm2y%+9hZhNw{ z5cTEr48EN^`abgZCrkH7;vI}{h7a01g?F2|qv;ORJ&7`Iz*BE|ooVlv;C);q|9w`M zV#M#Ya4&=Z+C%rsvkYxagK<@TVw8b+xrc8?~a5=(;kTX6Da=|crLKKM(v%# z`|L>mFE;nTMf`4o`wpz1=0o<%^ElR*b4TBgBF+aQ@xE>DWms>F_hP*N90`x6JrMWb zB9AnleU{hJmjCbYeZToJzt5QaYzwE~8o00g+*744j0>M%Ul+QapYxA~Irm2`?V(7! z80#^b<}Y!d``M>TlgQ`ucr(3w)1Qya)497NW!Awx^35kpA6>Lpp7F1SZs*7MhHpGs zis5m7Z#4JQ_AcQ4U?kkdJJ9!2Uw^W681gyS@=96VTJZizB>&sYy)aVu6X9+>Zf~ja zOHY;l25&xfcwUNcL1H6+7L-c(k6+!vrP4zFTUbduUa(+c>0lpTT4?OUc3>|_WheqQ z5uPB}n#2SRc?`%V1kYd^SR{Gdz*6yFl+uDEO)8R!tL9RujV#Q{G5W*ifJ#l48H$u} z+>F$MJctZ|#Vecw(2#gA#mgOkf&rA41}A~c3f$N%#~vKojmge>FoyV#4_TxEoO|Fy zf~L^!Q9_h*zkN#XbeGzxz=hn|Q;vj6 zJ)KE8S@}Mbj1dKV6HsZS^D?32sV{*YrMSC{fLLz|hk#`uXNY3{pXCya^SXT_95elq^|KvD~AFSsY|>KQvVZ8&p_VX_lBkJoMvd zX972*J{1qst``~4>Vhd|9AKVgc~*kiCF2D%TA=clt3bc?Sy~fO6_=qhV#|aw-6_x6 z8LuI?8Ri2b4(r3~ZSy=Uxp@)GPRRsym8?~73^Fh9^sIFw9w?7l=SLV;KEf^z+lk6R z4y$UuDQOeQ+{AI`PFuNA^V)LoL)11Oc^>(?nQYSybdAaF;H#iJB26l8D8gIkV2%hzo*=lYVd6bou@5LY^McEA2YLtJ2og{NgpoU~dWVXCROM5P4^lCzfg{k%Qz? zr9^{5g+sY2y^`dLQUNu>8)cWvV30mVQD&T{FT)`iz#1YMqTlN6KOwQs6L6E~GtW?x zb=Umjhtn~TK{H7k8FErsFpuR*1`0?E(E#v@ba5~>U@+Zi-e?2Lm8&dB%dTxsO!gqQ zQ8qkw6?tfFI&_pqU|C+o3q7GbnrlrEy!mZEDe?KnTlIY%+?glL*%6Eser z40HaIu-sH6C<%CNm^jAv47S)E2Xq$f=7Yf&y#rx-DQxtF*Bb!)@}j{cuo*c@=*e0` z+J!l_Ab*9$cPchMh>W3Zu@A?^EH%QMHyY@SH=qZQF#=oxVs`;oi1vMye#VT1Z0Wle z#CB0MfYcPkr8q{wD1!PyZu(M5-)GWc(@R?lVuC=Vr0^Af^b2+h?GxUHkSH#}t(rV#*6z@;Et zMdTniVmpYJv&&H)Z~z*+o}pHe{59SImXPp*dbB!0H5r9f;9rvGBCL#*pyjP&*;L3_ zLwohEcOVBUaO|ctMkHhpfhepfK{US(VRLUGZv;b%otJ_Jx?X^MMm9oQ7_swLfS`QF z85d#<3`ui{k!f8yt`L@=t`k{dQ2<`C#5j+mM-4BzfZ|1x9Dy?8!eUpWAQWtHtXPkI z+O)tzgmMUT#F$p3ar(_=X?%RH-dS=E*E;lGXoi3*z;(5*K$K`)T<$yKr;H;C%Qyh> zm!+ot3~0#>s)&FVR|ZYBpPSum;C63zGgcB70xh${gK`@Ki4Q1n!24^Pzox(oP+N6y z6fls&v6wYp1b?uu^UTCDByltYMk9A?@Xej!eDYvbtH(q38hlB@`PD0^eh3C6>*LeU zVd}==qZjOosZBDnNJ8BpcWenn?TGVCCfORG-Xf!Hq98D&Pj#VT92|I)U48TEPCu}| zejpqhn zWFBPPxJwZrBizm!Wn;0MgQ1&0rP-Lh8aP+JlYnwV0yYGvo*Jyjy%lSNi-NJ_V$eJ& z@hYo8(licK?x>oT-&O0^1sm2Oi*>=`b;xX8(6kP@tqU$%7c5&B>{%CP#Z?8FZo(3P z0l_G6T6S7jlvWC>8rZTH9~nH42k8lu-Rk?ow=h5pcq<8}_Th_;I`W7ZYzktx<#G`S zK=KbSq6yf8kfpan0_?aA?tsla^>s~iz9JhA@INTVo#cj8v3JB1ZlGagOshcRJ1*w<@aR>pYip zoZ{4)ZB@QL9(HCb{6Sm<1UU2`F0?mWJE0sG&D~-1cXeZyHRDb3qU_kRXw0ZgXf$7% z+rknz?0aSlTZTW>(t{7DIqKuDp#mK70dBC!?8Yvjf{H4T6W!l*3ERNBGX_AQ95^F; z3)?+cdtgittrBY0%#E5yJ{39eT5$#Fp^Md-Z5&<|9f#TR##Ra;)WjWqU(!0Tc3q3e zsI6NkdKP}CK);O-6mfO63T$xoVlgXO0%IcdB9d-+iA!X)iIH`*14KBW|G)S$K;^#N<4${qqV5qZy zMtn?{2*q#>cMAJkO<&wXcldNy-)Jo0Um`3hTth ztsS7>xf6vu-++XtxIvlF9j3H9nR~2I#;CgA49*(y3>HkVjzP1JB6l({q)%c4s;oDv zS5@T$ivNF4(Uj_fPMHu&2IPQwyr(oEu{1$QNX@i<;tlbBDxvX^?czBYQJaVdk$kFb z9e-}bSX7)d-Pn0tm^JY5mbo1$Q4{G=KNEpgWku!(bx+&$#4LkbX(CXIdJ5UToT3H$ zXV5(a4$4EJQDG$~f^IgDCo6`PlVhWy+MTQq_#!5^2vs6?JOh)+SP0SGz$PdAp%xyZ z_(fB6Upwory`^3}+ur}v(!23w;C|az_Lf%R-Gb-4@cTPFop8Sr{x8D&Bs_cIcL|=A za1X-2ttZ{z*ReWi%*#!j_?zdAobo4uE7uy^@JEho;GMbE=b@?_<)T0D5nu}#r|`QR z??5?Gb$o)Hr?x;0S`?c#4iHoO)@<O!2tB~`k<1Msq8QP+L#8XckVHN>s$4CexPHx@KGi`y&wY4_H= zf{5ECvvtMw;YS+_k?=-zOni51L};y&EjHii=w6{8fqpBvJkF!_*z?P7m;{xhNP$-= zAf#skQzDei#LCE`p7Uh&PU>;j$&q5@dZy#M2GiXl#u*m_BZfdk#BgKN#DVxLZwQZU zJVnT5RNzPI(Z!Bn5?@w`E?BWC6xP?_gAy&sjuTFC$;GzgL67QUcYFZkEyF9A6NgTd z8GH+?YD-WvHq-uS3+uqvL9;g`GgfCDsQ0~z}a$wJDYH}Ie>(kYEDSA4fok+|iy z_XwpN%HY}sY8l?IH=>hzT|^GkLu*IwK{+)Q^#*(z1lXoo`AA}cFIN2NdgZy|%dWB{ zFzIxVn;+d$0RfDRTCpc%9h`xhB32m=jtb4RV+}IS+D@7Dkey&dUH=tf?_cMH-86%N zQx_Dtmn?$d?f}et6PPa2i=xCiJTg826SV?kwR~_SGO%=Dz=m@Sa2mJlU52|?P4!SB zR>zZU=MhiKtc+NlpUeSYtZspGE=vQpLKdUtm|755>fc~sm#|&!EekqO219`a8coLQ zcLpw$EMTqA9&aiV6XhS@)5ofROlS$)F7%#7^J z@IFPc%?x=hNURecknvAD(nu_Zsa}CPb@FazW{2qDkn?V8?DP!=3}p$U9m{#F1b`4d z5ab_=nl7N8FP1i&t2-oha4PfFO>?GvHI%&L5ws9uJ~8M-WPo#Lku$XQ#-RA4nmv{I z+DpA>Cz2&?!+^8_ukTOJd=3-9?uncw&S@4VfW(scRb(5^Y-JPF8%JIy`|?o zytmYVXD{5(f5FqGFTnk2Jnz9Xx_57>@6i3FyAIx8Iuq|x@ceM${?Z5WeC$_yOOL|; z0{A_K@2}#U&-l|Q`>_3`N8tB9xUaHj6T)tV|0nU>gs>dG`TQB-gZO>}p5MZKp*;ux z7CInD?Jq4qVt*-x_aVpO{oMVfFCT-vpSQpCLbxAz(f-nVU%bC`4Ze@UJBIhN)cH4iOUvPY2lC#7_&xZ3FTMv6_D7V}`uzQ+ z1l$d%V-Mnd1nIwp@5@ofx1O`V)Pg)yaK8oaZq(yAlz#%gUk~@ysN08;z8(1AW> z%lDVQ*0R5JgG3}qfkEsH8o!i4(>Gwn&mfUx7RlSnFEb)8fVWD3Nln?Qjwm3hPD>CnaTNw zazF=JBFY0DjOP$M3-KI|=TJO{;i*M-!VXi;TLe<*=)8SI*$p*ww7M)*Q6XIc5}Jq> zfb&HAv+kn;1;hqa#;`)A6YSEQvWxr79gz=V%i2AJK;*K(ZKxgiKA2LMO843A?f= z8M0~)8e`x{r*cKu5ulRlS55ch7({1~=q{rHj*;bwTp@deXuU^x94?&3m2A}VmiqxI z`{E>Rym*KkHO>T%Z&`fMHtmpUhYHAuifT6SU6cHy8DQ9`!9*DuA0}Rgb291Ta(ZE% zh~y0cLj+PVG){Z2X<+-Ha>KydTDS z&GD!&@*j5g%w?eVNZl!MvmImV%oj77t9PUxRs=U*@`NE{L!H!NAY_mm3%bU6;D?AX zE`e5j95=EK@XACT0W1qauA)R@W&?VivX-S(+6&DMURH|*LaPE~ort)9&3No%(1+EK zhFIOIm64l}RvxWu%_AB_|7ECJV#NZa#xR6g$j-P)L}aMQ>wt*pYQ`Mb`9u!w++s1Q zX;YjMcyho=S1cd3_4MO>>jYK9b&iP};a8DPstU&5SLj^8i(p>O`U~V@y}J z-KzbMc)8FdSR^`(Y)x>?9XE#ZK$kTe`y09N%k$7NrSybtLna*qTP>r=etLXL1TEbp zcS8RRB@-L+|6_Pl=URppYe4(e(l=N{Hv*R4Hwf%<98}mT%!|TtnmlmnnY&9|Bb89L zI5|gE^O|RbF&J8;jl;&gJ9CH@e3Nbuu&Tu$3>i*{$Qv3$(Gq}FQoKD4K}}QxJaEo{ z;^W4ZpE$)7rW;@=m%`#hAbApmEXQ62duoKQAo}pmKP*HnkdwIXPV!rWH7|(f!y5r* zc?v9A6Qev0MhC?(tMOtpvuGAMOUpM+pXFMSW|ppvLgohc`t0r;UkvFels;DLkke~G zs(~N|%w&NKE$y+2&7Pi(t(|oCbV@G4_4ZtDH8ZgEII>RST4c5Ss1g!9iuz{MOv|cU z`n;TD$s2UzG((D=`7AbAi>Mm{xMe%B`+;hQVfThElpF;+==tI80tT7$+zD*sjB)<6 z7~Yad#TFQ>gqVcNcCg-M;h8}(Stgqjj3wi4P>A_5RzOQpAMOr4SL?CLpfRXW+xv9WVgx~ntM z*U{CwDFr^Sg?IHZpej7+1?>nPoY9SDsMHrZ{VfovDaI}kTYF5Uwl zB_)J@kY&!p8&Ed%gUs(FEJBVAQAml?=dz(Px~5>n1wUnr?H(w{`Z>=2(A9 z3V}2EmEz}3GDW*G5E zGGFAwIR>{EU_YECAuT2<0`o2*KPylwNjtb*%SYbokbW4^9?$QYXvt1ZtdfkRx;SE> ze$p~c&^YRC~Py(`I-Qu6EEXxz`-ubhr-S#`vbD2=^E=+IZcO<^YnT7RdgyT?OW?>)FNJ$T zkYwh9D~Ex0V^*{%-b|NZ#*C?coH|l*)M#pgpj7~?Ti|;p2x1INW|jhTxUL1vG$z=> zup2W&I8pO^yrP7TEL9g2OJ;g(G1QhQIRT7wz4dufe_BGv|LT9Bg1LrKReRNvx8p#*~&kC-92KP zYiqbjwkDFBTN9gtt^J9<-qtoQn{;n`GSPJ|99w(M(c8YY7vG8YcvmX}63N8Iu4LQU zaJFLUC77x`b#9^!?_PV`E0JvL>tmWWY{h+e$G5e0;nmgJyD8q$*%gPor?qc0UZ|dU z^z?SZuQ%BiPo)C=*wovjuKrYCH*xC$9F^zE*}> zE!sPK<83Tm9m!s8MMtu$E4dZki6oGM?syR2#(u)z{#5HG`D8}%-d_48lAVd3{yud| zMZ|M+G9`ZfiPkNxon5UPQ3nL1k{x|pTYEK6)LODgrlf@kZfi~SX_w%mGil*{ar6N) zVFu`dzGPcc+=*llc6$0^=sK|Xr(i=}hY7AkGS%PNPQL`YVv9PYf8fO)*o=Wp0x`g6 zcWa_uh7Rtny#T57v_XW+b%Z$4S=uf5>c!AY7xg4lo!inKt?gS7xwpHuD~R}{;^*|o z0f5VWdr@YxI~orugZ+A+ywv!Ii(+k7#@Wuu^XxCA=V(jOh^K704OZ=j7qs%>+;J)P{^jCrT- zj?RvxIWef}x3RUaZL_&M+c^m(S#LZQ?@K2W>5gRY*}=BfzP?^v2XXtr-RE6cb@t_r z=k@lXhFz`aog0V?EmX&*uH;5^tp+FCoRg#86~|Co?5<>MySm%sabT}lpSHK9xjn$V zfNpyBB^W`o9B1u-0x5eS4$a&Q@>%DH(;8t;#V2-2=c9=fmg=shKA`lB=3JySt&{r8 zpo;-E4jTRr9O@F*P?8zLr|%Z z#nraC7zAy=9)q!c2o!+nLy7)X*4=&&bp$4QK1w!J)A{k=cGPgf8bllpYXef}!*fngy)_co0=9(m^X2d<%UI z4(=xm7_xvN9{@|Z@MllL;5KA*(m-Q#&`=!bbz+p~QDYQDOvV|^tz3}-ekuBHY9{Cn zcBveL(TvG7(HrSd*w#ZJFl+Q4{D}+cHNVk-$#KYfiQL?B9_EDpi>?s~!Sa))L*{CQ z>1mLq;2?^jgJV=2{8Rg^iYRER#+5{Aj)J8#w?r`az{n2iaP4l&`SBDlU95Aa^VB5M z+i--vqaNPCU6zpwVTT%r8m5Z%ps(Ew&DeaJ_!wU7P`qf>0)qhu79)%`!$ql(02X&a z`$gYE;B2RR4M6GxqifSj$Z=d6V>I-Odhg&H2?Rmqn`PiFV}ut7{1ZibunK(H+oB1T z8T54*5iX*?#3%!?SrvCNPNa~TG`gQ4sy zfaUb6blc|E-ZW3n_L&w4sX?F>VE>d@=`Hcz6etDy2?&mxQCy&W_4ZpB_6wdy;vE__ zwKa^`-^0BCg+?-K1$xufnF19;urUPFhelJ)DL4;6dS9#e?cL;^kqsS)gQV%>e&-`> z>Dhd43P{zaIClKD^hW$|O{rB@{cP{-c99X7V&$XXeZ8FtUmQD244bDDt=&GFbm2zq zy2w!6R(o}KO24#i?!+$U0=mvl_W@yKd>~!vt?|xHoBL8OSP)C17ro90h(zZWHL32s zw)OO;6WElUM~7f{$Z}J>Z&Po&H|;l2_3PPM;RoW5ODj&TXlHVZ^F1rMQ80sEpk2rV z)F9vFuH>f9L|G@`BAiW_JJJc=f?1@A-ASi+Z%lW^6E55Cc(>pb$kLp+0Ve?jQ$2u= z3bqFn)#h6_P+yE61`!r@fu1woIcXq)VV370NjPm1n|hP|J-$B^U1{Lg*7x}6LTTYw zcPjFc2>pSqgddnw{>zZ@WN%9FPgW-p@xv)WMm%v|yjLbhggTlc`U}hAHGbS^n*_ zOW|k}7P+lYbHTKg+|cX5o6(|nTYek|_?(NC1YEHnlST#%HR z1&Oll?AG>nV$O~}8wRk1NWj@~05YqYWimr&M?x`2fUN7XjC%7tWnJgJ<&2ruo{5y3 zYVC-pJNgr{9-~e8|Jb|l_&SP%VbrTaGonVcAc6pa4UtU~&4^~pHU_zXWval~mJJ5E zV98*ELMWnIbcHIqs4)bHLMS4XD1;)6!2(Po0t5jjQ7FLy0wU)=vwMytQxfvN-~D}m z-0L5QM`zFO?Ci|!?C$LBY#jSZW0Leqhmz12&rpjc%k;0$Tm-LFc~l(Hzdo%{lzJDD}-c9`G`^b4L`hZfy|Ea z%_->u5vN|V?1cT}y)yYSaqQ^$7@2(Qx0T6+!-h}nf0#{A96u`A&^U63jUTmh-)em; z3C;YY#!gh#I}~Pu?3*?|oyq-vDIYmO$_!8L5|}gjUS9U~38RO__ZZSY%f|jQti1fB zm6r~Y$t)X=L48ZcEhU*76TLSs+`j0G&dNFJr+#67^SAVhzU7C0YhC%*PzJthb>X+~ zTwnZS{}uKXv9AZ%@0YI!*Z-&Q2yCS!izC0%J)Eyaex={OxwgI{pJdB;r)%N7BUJwW z9=`v$L&s_zQ6G*T9vY}ki_ZeoWX=sVV8y2q2gcQyztv`;?Z;_l`b*NL8T-_-<;?K=o=H`3Hy~h#)U{tIDCxMPqub{M>GvZ!$Uis zroZIt@cp$a_5Q8tuK(Zt=8~$tzxccNm(Z+r$cXe$Wnri83ooQpXdg@e8t#VmE*HKW zGIB!tr#Nx<(_)fDYGOD}yCvA~+sa=u!Gvw={X5S3WSR01eEQEgu=L_%4vgE-l3&Ig z7@CeU^Nl%BvrXnp*pAHKs>iba>p9p@V?x_$9J_P^XTDAx+ke*dcK9)AdC9aYr@u}} zZrzV|$rT6N?rH$zUTe7uKCvA!WdA=FXySrN{V-!ZT(1clUdmD_o9$ZAv@<+{!b> zk2LfTFm4*?KOsEKmOP5yZ?%~xr*yHXu1-I&vvp0O#28c~-*nc_^Z^VxY>@uY_zaLN;Z(fNLA~?IZX9xWXeEw8 zF!PK{W<{C#6?a43ga_abH0r|1-u9zG%y zTTc}vc^Pj*zi>U`tfyV=OmAxvhrVv)14Cz6XZ4#99y#jw)qQhgFNRhu?<=jE6qfgjyCh@W z{`Ts{@XEXXz3nxyB+prg4rksnmw8=d+*vB#RfmKfONmc5uOtS49(&{o+_- zqiUlK&7AQJar@(>8MB9sG`nM)#c-7&eP4U;g@!E%1%4;{VAyZ_Et2^u z3aJ$@ua8{(0-Pv$?pO<}z8G<{=gE`jM76WS5{Nsl)p`?c7~9MDq+zsH3t7Am#o^Tq znGp8}8*AM)a|~@|duyguPuELWBFX5u%}`^ZM=mE>-wf{-n$_C`KWX;dNy%&HBYk*0 zqZ#_rrT>g0nf^Q8gTwQ+)zwMkaLtf$YDG^Rm07B9f#lGlb8`Ibew;B?VZD>I9#5Za zAlaJu%Lym1^fi8!Ufg>q`8gDmB)*d-r5`=B*z`&9qhp~lJ6*)5C;4PT{KVn(q%G99 zWGlm*>BYk`>f{-bn;OPnJ~_MvUW;_duyDKxMXd$!5bPOa*@?ew$vNp?bJGbAIRf98|T$brB=?zx#vBBn->GT(8yn=hY zdQ88esk0~9$&4r=E)S|cahSwW~ zugMU8e$@1PvZt3bPolfKF+Z7-{1xhk>grH>Lc-O~ofL{ke0mhRB|6A?TVDKbK7ZCs z)5k~XcG2*~Ns5|XLeB`5NNnwlTKlb`TH^h1MvX^9XQ=Q^Nrp#tTBF+ZfS4(htG&`F z)-?9J6E&kIu94%8%jsVJI=)8nGkbjzlmaun?^LI-WFUl)?|r|5RZ>yL zr#zvK>dmIO(u!-Rl_&W&vv*3I>T#~R-8Vbja0n;BZf~VK**l|hTcLOM_}koR;ijQ} zz3K9hDM5X+shg(Nrt@c#cNp8R!{IDloy1jmO|3f8U?FjCBo%z$@}V}5$BpTm+o$7+x_DNbHNI0dXU5bM zWLV!&X2*GzueGIXdY^SX?%?7KP_J2*ibKpUAF%(R{O2fhr8FL zUdaR+2QWPJ7@UwC7&AXu{@W&(C5OSxT;e2zSyhwmVAC=aN6eS>Zi*$FaPYM0nIGbn zmCc?S&Lh4S*Ke76*v#scW=ayV|0L&ap{)0xG~t99DzkLzW!4*)(joExGgpBFx1KsM z6sa)OY3~@BVbBv}mZxuf`pbm$0u$ybI)zRF)!*Ur%sIb1y`fwWPmiz^E&-hOcm^f> z3q?Y=Zq;O{WaF9pE=A%4S2ADRU#zh2DTWYAxOVCt05v{g3@I9TJJn5fYe}xSRwe|MlDzfhZ?Kq&`E6>cerY!00&>xQ(n5^$Ru1obL zblGRS;tN!>{-^npi`6JPRHx9e`}cNHi|amV=_0c?Q2iMksN#SBDco>O2>;?!%R*b9 z42u(LVb9JK?l)oh=+Tlp)PmJ;35|ak4J3uEQm`)n7?-643okY2NfH94gV%nP@y=&>qnD4W`WSpE(z(TTTidSDDNoPy%g|-NPKEmay|rt4fa};LnxcksXemeQ%kVmJCTZcgTPN zNOIK>N);Q_UV~_i3IK4ksSR_6@0^m?ne97Z2#SK)U;!xs{nPJ=1?~ z`*9O`AKQ$7Owai(tv`L2wbtgjFdLb)2C09OzXnORucw<%df|#&y`h_uM@}-sSbWEP zo&}o{p6aZcH)V!**%!L%jyr!%nWp2RM^=V}@w8`#u5Dk-9uewo(~0-E@1D;=VsLn@ zrQZVIjCW|dTB*4%li?xt!oC|C0s4-o$q`L1rQgaL=1NYt!e62K@9P+6j5;0a98KdH z;^&c-(EU7w6t`*gJBKfHIT7k@j~h>!e1fE`a!KHj=`1*TF^YJfIM2D5^92V#N36`n zOJ7?^axEdZLN3GyfiQ52EK91qQ2oS%=7saMu%mn<9x9gP#4`jSLZMr!2!)-Zx5-4} ze0w~4=ZIE{M;wS~%$~K59OTlnyu5*!79?vi(BX0M!9a@4SrGD|EDHJV(m6aoX(u*ma-4P5VXVdERT6PD z;`y{Oc;GvX5cSoe#2E>on#%(8(I(}rdw7(^ie>@ zg=+xM87j*&)5pUQuYMQv-+Re}r)ddwKnYEx#c^F0_K1+I&PkHCuQ)7khf_($^;me2 zE>4tLg`?HN@$jR`W0^Jfh!BvHGt#IK$r~8{-CUk4oR*vhgdF{Ma~>R0^*^k2K<`Y+ zXfz&}Oux~t_sqzkUEw`F$u?V|Z3=^t4~cryLERE|4NZ-@N%qw;N$y1H`Mytb#Y4Hq z`%qXm2|rHY-b9P*`;d*Zja56v)6CPH2ka0ZH{4-J{{5%rJdT`68T*Wu+u5OBE7Vvs zYsi2@4Qd#YwRiIs&pF}brOE(I;nC^%jq7pi@L<~NDai}z`dWk1#lUh-fWldDW}$GMH6Xt5Tlp{< z4qI{KO?*fRNt-m3^`7}AA%<~zP4YZ^dYt|wD&b0fKs+VnwhYdssWXYNwpF$ z`SiLKJ9T=xg)6iEe^)=IbE~fsj;p|Ai=?nR@7u~jIv0{%H`HG>^9)HFr+!k%k^&b$ zs+>vJj4uydmRe)r^3*;2zMnU@UY=TaoBwW^?;Cbzz8`&$@V7S4hvI!r@v_t`pC^27 z*lt;>)@KJ}4~^rS+b&C8?Q{2_WvL(fT=nDR_dEUmN_xKIOxwoi3*T=XyezfW4$D(J z`b_k9#IqR2GTM-9_hqH2YkY{xtA(pUk|$THlZJsoQgTYP(V&(+d1Op42*F~+Kz`A2g|f?`?Qz{tOumO{;q&sS z^#5-8@4KEb-zkS0TdQPQ>WHz4;qU+L=Qd$o`yJuEI%aw562IN& z)9TYScX=vnuVwM)gwvE&pN87LX_?=G1t)#`^vpc>{M5Kwr!P+(%Zuukr(P&smg*2z z@c-85DREgL4ijzHvQvzIcIxufZ+`NBH%_03N0T_bB8|$#?IC}c%r~Z+bh`9X<$&M! zbIke1EW6;pTju+Qotf|S?-Blz3zw(%67RN)m#5a__x*&pkN5e$^Z!rgyX1R>|E77~ z7`iMqTl}xxbJ_R)%#r^0`usP`{I~Ni`5xh~yU=)odn`*`F8-^D|M&fbutOev-}(P1 z^UV>r|FqmC4UT`x&8m&Y8|3%>9CMkm0)4*k{Qr~r9{L{PuY39O)UYA(P5b05Fmu^G zY`}o@`G2_DPAaQ&(k+U!X2CBCP+Bt(%=;uM4Xex;f0O?@ukeLA#rDb?+!oy zIm}+w|MjuMT!9UlHYB~O(0cDuH8k8NvFKfgbJk2OLK|MSQ}58K7cLl+F#CSjSZC~} zxT`{M?6k8D$@F9R?kIjO33^xlZxUjFgy>yWdcM$T7>1CDw{vp(LT}iRc((7o^8cLv zy{k>9f4W;nvWECPKa;tci@Ol!H&V;h)G!y2ZZd^V9pUHr0@a0uX)|gDxD*WStJ-8V z!F_G%a3L)RN4n~Effg1y+0ZNLEzX>ICk`{#L%$O8t??Tcnpa$7g0 zSFblheZ?XjmAEkVZArgU5w1|bVNrjpr zh3UN}-tYnce#6tr5Vk+QZ2M37(_7BtEsAqS8+VQ_jyO2I{7pDKg`s3xa|IC>Bzl%e^ z?E1!^N&K`R{!il>yvrulQC4=&Dg*LDvW1aq!@o6G598MM{#z>^(zf^O*Z&yq@HjUf zI&RR^ZT0luVaLItyMN}6)P&j7YvTbHMuyh9xHV(Qfc@0B2Zv>9R2c3kdX2iXv6*(G2El& zHQzh%9S4Us6i!fLkBggv#~7Q<0k>8Ut>X%ZyG=KDp4%Y%&D8yHZq?-Pi1pW#aHa3z z-QxcJbYl8n@-?;3&gp-5CI7a&tY~!nU;6jWPb~O-{NL5dzfE2ovC&br{+AABgZqB4 zXZ&BX)adosOaDtRzfR`g?ials{#$#O##hH5J$%7h?a9Bq9rAt~|F`_+g+m@*e)F0e z-hav2#Z_CZnU2qZIeQIw^%nnIcK&tYzcsdQxpK+T!%kfz9nCdXe{Qb}@9kW=`gzH} z)z=-i`WE&6mtOyBA3d?!=5_veZt`!n@vF^?|4VOH7()5q{@d5DgM12oHuc%qXG5P2 zeDZyM;IqEZdg;%)%zW1IcjmLUzx#jI^8LF$VYm6VkIDblzc5zx*FXPN0RLv@5bpox zUr4*}^Z9q{2 zK2G29!thG5_#WHV^WwYu$^C+GB+8^za`U1v`L!_I>n)t)9z{)IVPSd<8K<*ugA^L< zT92aiM0aicGfzMIPm2Fee(U|yAJ)26y8D|aF5(+=u6$;BaY%Lgp|r>)?sR>#(}&df zW=n7PwB%|e9^p8BUokwTr5DWXV`sTVrPJLv7LMXEkK-#+cSw@qj>71V>H98`M=N?? zr=^ETI@rw6=;8Hu>4eg6JsF^;?`B`$aLWD0*zUa*CsnGq@X;JzX z`_@us<BWK4qCyy!|GGs{Mk%F5#v#PMJ zaPZ8q>HY{$OoZ=86&`6t@oWS1i(XK8%$(#Myn~O6yPTUnUa>tdoPy7G<3EbV#bGCH z7MW<)6b=fP-f_>onmOTFT9Hf-ITt^1t0!puva*_OhYlD#MfF)&=!K@9kkNfS>3Al< zxI>w$ZcyAcxc4^lwhB*rV%!m{?}q_#K;eJM+I6^!dxpfzZy)}j^xTR&Z3tsX;h@1& zreszeKiug}Y=eiz!3-@--n^IW9z*6VICARjqmmKF?3L-lxTgwRKacT;SL{E|V2fib z;;|iv9d5)Eg9Gk0e?U61b$g#XTmKcul(<(!$US|Nl6u_xX_LXYw5@pTGQN)-`pAk( zRVFIarp%Mg^JmqB|CgNcH4b>1{4mendeeUWRi^t z5A$2`ap@r9Cur0Rs3MrQ4^LWOR(?JMi* zvdPnJZ0H^sH<>1n;O!Y|djpkga+6Hq<*uPuNndX2AmDi(N!I&LkkH}IlL7V+b+?AP z^k8NyCCBKo6UG~OCM3w{OqBGJ2)l5)_h#rr7uR|Y>vMIc=wCwPvHtaXER>p|Gz|_V zBiUhwhUn|jG9`XDU{c3~1PsU3xiiH6yYq8gIwB#LXNJxs>HdCdDSC<=HIigsP#+oiDQlHVStVi zWfDDJNBEyHx*djR+5hYX;S|K%U)0EbNfZw5Nx-4fOJ3pN4{0!P@VtQo2A`CUt`whQ z;CF>3^!&{n+`?Hz@>aWTS4t`a;S3u$A!L7VOq?`@(jT6ItPb5s)2}kt%Qc*SgcZgw z?+xwf$+|q1HDK@|>D6a;?B1OrQv%W_CLz&Q+QHMm+Y90&jZ9D1)Zt{acJAzI@tv!u zs{J5-ENp1H@C;4&AYL#u*;B%>(2jF`+tDw{4ct4{FkTb(64HRd^V3nS@nlrG;Vpic z#nCQ#%}{&;X0}%>92=jQn;y=8JhVSQT7*{1}CST z`iCb~Z|1lk9~48`&eYuDdCH{jP4DJmjsfA^-@k92EiP+=(%rxI>|YUv1Ft*}ol6ZK zuE|i!IXK5}X^Efj&vc&)*_erdf*W=t^PY6%jzfNp)_3 zl!GfKjvtyFcGJ@p=($; zosFLa3kjUr%|l)3TzC46`F<2@aqG+DIE^wvXHK}%?Si3NNWWy=)tV>OLmA4{7k$@f z$@c6&ZcI43NvLX-zQ;+Y6_zGz-Mcp?3kpLw+stIqE)Clqy0wYi-rElOdbBFkl9@hw z>Ds(s)I!k;V{HscC&=*qCX5(&pctf&uJJ7zS(C1;`aLD#Ea=eq^&d6XnMB`+(_@_( zDC0v5GtaFaIW#%*I4Z0uc@843rM6G1uYegcA&lH_VtIwJ!;N-)uzFX&v$&Q|AJKZB zA_zG=-LsK;*N6A^_Pfqar{jJT_Mc$bXPXgvtV!|ADOsHQ_L5LxC8OC7w4a4{H5u4G z{mh-&LtH~bnoX6Mc{riQBU7PJI39T?QFz09T>EN=cGDsBa*xmJ-M10RK6>b?$Yql&d+%lYq$F1)1mk@ky&6eQ} zLt7g7)N?Y^wu}!3-#9^zystZshWJ(`$MtBz8RGxgiZxOAk; zOhjV9H%XC7uKCgl8uzJ>&km9S zh&^KyUlyp{!aHiBt#_GMxb?0+JMMT&`2Q~P|93uR-T+M{apQEz^eKt9p^0SWD#-+>iwvF)BD1h>aj0(5TdQEDZPU2BvMjtw~wb-EGfnDNkeAk zNqf*rzxBRTE&ZEjrg^jC{W)nw>I=Acu}s5Hn8C^QWP5qdH-7YVhD=V*ccO}Tqs4IR znwml(dgwQa-88RWincDXIJT8x?_h-yBVnS#r^24$5)o^%|l0DWq*70w>FBi@P zqNlev_+}c2dK;@WTzpp$$xq*0ZE}j6sa5QG>A<4Ukn^n(P5zjWQTGXkr*R)7LQA>F7~m#QgZ{xOnP*!w!xe8Adf8J?g;p zT*Jbv1xAmWFk+N}DS3GOHH=jkzV25ZMp_nDJmT``Q4=Q|ykq!IBQuU3Wi~Q2B7F$nwz3sOLmPWd)$2R{GErCxRJT* z?wPNHSNAlWV5Vm=VpGGBbRgQ8QaWgXbA;q-OSDe-4>3_oQ%J zbjNtYjJbn%jpo%1PL?T+U)vnFwuDsLJIb5|ZJ)H{95&>zC|%`;BSHG4B)L#df9t#K zNl)mzN=r}ZJyI6;g%!>>`a(>fb@pqUiw{Z3>e4?B&|;lA+Jqx{=8P{Y)xH{|JEoD@UF!EC}HTgO>Zj4I~ zgi|ogXR6OopU^No!sj@j89t+Z4)B@j6Mi4(bE40|KB4V;f=?JZV4lxOK8N@m>J#Rj z?{irC@9>WF@GpL6Ekk&deZo3s`DCX1bESX#4A-ZBSn}Dv-{0q!eAqiZ{C?!_D}T={ z^Gx(ko0(%j0muJ|Kk5 zAzQ?I14y<&HCo(wsQ5-=To^~x-Y~! z4r3=rv#KYG&SDd9WZ73y^l13bKX3)t+3WdK`M=E1c3#0ErQ&TihSIUO@VFU^+_fIc zY97iq*0LZgE4q|byoa59j>Xwo(Q?*v%YAGo_hC^^R#eF@{*tA+S<&Cv$SwD^y`0U` zRkET6_V7-&teO?w%aYZyqUYJp4t6nrKg+M47467wj%Dr|SP89B1S<$ns!>lOl zBKgE0a|PdG@upeP4=z?dc{HoIfE|2`xdmC#!b^n9;g?$PW?9i1msuYNvY9utlO4?a zQC3uXxpK`zS;x6t#0%NUJGg=mvUKyTXeq1t0h_p>QM&RA<`r7+&#aF(v4KBl!4_H3 z^ecqVQ`yLwR|=mGFmKDO=r=6lI#)?w?$1V^!FE2(+^w>rPgurbS4(%E$}X_+f2`t$ z&BEgc%o~&yjk?u(_yX&gb(?hLP_bNv0bdvI1XiB+7*I-bQw zUduM#$xc4T6?~NyL$aa)zce3*v5U1V*xveC%P-ldRMr=iaZ{4*u;m)Az}WF8+h%nfjx0#sfQTKi_5fzSjFE>CTQfq!&M8 z(SG)eH>EotXBXdR(J<-ymiTi#>$#9kT=UP;flbUCZu{88i{3V!cd@EW`m%*bbxEHQ zS<$R_Y!?rEPy9#9$M@wQf68WF&JJe%#eOv^D_WJ++?>tagKa#4rTeQtyDiT@u#N9B zZ?t;!Z{p9RSj`$XaXxbo$cpBDAU*gYtN2egas3bNKirS`2WCY-{75{xGizDHX3l3( zc~LrRS}w@Ji-Swm-9&_p+J4W-DJ~<&>;whts4V$1s0tR&+e;*vu}z#)7J> z=u?(+y`TD>lemb#V<&%ny5*-iFJd__WHWa;!}@p;JNX`an0==Crztl)Sya}GP%!u;d2 zqP5Sqe%`?@-gb`VPRNSxXE$G9UA6PDbCp-V%#xYT=gw0;xH_A86uY^YwX>w_`SObo zu!l=oGTV911@;f_!xmPsoims}$MK!Typ)xEfVF&@4ZM7z^koyfx#mUUccSArTX`5) za5nSiW<}>PwoaCf%y75^7nH40sq2!uHGo! zn9p|Z#4e6!{sQ|c%Q&44yr0e7@@Mjcm$Bd!`NVR*#YW~|AzmEFf>YH4tY_|(*2i71 z5^f!@F+b;V5zlAEPwdBRJdfjvBhrRS(mS;t1U@J4pAEqp&$y51q& z^DNI&UVfMGcn#Zl9}CV`E?LdpelEV8&%6tqpRtw~-7TKn=^o)Nbo^xt@4wgb4bD$l z&)e=(KKWRSbh=Rezykh}^&I~z>CeO2#THgxtXbu_3-hBEqAf{>k;Y2schuM z?BpF``X$Z-TZPN>9~B<={EhVCC>CF8eXQrLY~n$WS)P|L|1!r}7PFmYtbRgyJV=ZU>CPy4|ikp&5py&y~S~l<-Cope1=8MS<${P`_8ABf2;MsV*OmmMxOnue7MbV zV43aZy6ohZEV*4gSZhJX~d5feEtGLde_>B5AR^vJ@SDKJn}8u%cK4*-oJ1>Wh4K@MO^i5>*Emi@F?cr zs~%$=&+d|+_qiT?N4ek`@0yR7G5>zorSF-}wU-Nz8?lY;?Bc}t#pjpmE!OigHZl7z z@|D*xw?+NR0{(&Je4ACg@2}F0ZEWQqS@bLE)h&K(W-ISvCnx+(eer{rb6h@|k~% z_oK>lkM(lBwO>ee^D^fC#(4uvc^8}c-nuWOT6x}jFQoDw)6T{c7O($8Y7xi&;DuBt zpJB=4%0>PQsdA2C6|ZC+i#K>7)xzD`&Ntc3)ixCF6ZStAaW__SK5Ka{8@TtzFQnRd z&?YaW@}HEiEaSF6v>u+n=?kewKE*E1D-iB))sLIKkSgXatm0ZfG9S-n3$JEwo8u=7 zxaH=ypXV0Ze%`f(?dQ-f#qW2{Yqt^~Zd+tMyo#kyDYtB97d!bGSFmbp+y8s#gKXmg z+xVRW2U_pb$^%RIIji~UAmMV;ZH4=c;}qLDY&+9Ab+Gk6t6pa_Pa9%7&t}DQ_M;tM zNcC`+oupH{`f6wMbMq4G<<2a9-u$fPePKGYb~pcG`Nwju&nn)%hw%B2q0;*W>AR=! zIKI^S`J=tWe~Ef^Z_DvL*6|Z|a?n1~fisx*qH@Gy{*u*vi49z5U-NNWmcHctkF7kD z#Y^P}ySU$Q+sEnyt*1jdVK)~s_htE6uKe&xHu07*@|mZOwS4%_@>iViv5|+3m%jWZ zS8(lvl!I4o7b`fH^_;|Zp3CB8uDe;r+JmJNyIIGo3BrHP_5I<(=bdcjkw=*S59VhR zw>eULxGyXJsNI20oWk5r$9)#?gYY{ys+8U=U@M=WD&1e#{=;$}RwW*Mg>~F-n)!G< zJD4@y_OX@)f70I05>7qV_Hi~_*l?V9aq}6&{YsxoN%MnRT{u$#Lh{&cCWp&lL`@WNx?P4I8=TdE)Um zI;@%BV9i9`?bEaop~Q=k7XVI#1_62rhhDcP09<8 z;UZqn{J$&z*GYHY#a7O^LA*Y3p2`XixY71-x0}R&h5f!+zOwK(^YbF+{lj$>tGLbW zwwsk~5A7B5u?c}_BS#ltrJ*Usm%+ z_sTEceV=m7gYFmaf7)&qv*MTH!(-Uazx_(N{=#l7jYq_f=d<)H^*NikXRG!8OS=`zxWl8;muvpU^px~v0WV+^?`J2U57Rwm z`x@(+^_YBQ0dupmqd_cSDJys-t2y;?%X9n_$|pNnoShvFf6{un%5N>7lN}9aHHWgE zm$030a0S5H+9m}zTpKuXRf5-H7v!kb2&TZcn4<5>H_PnQjt(P6``o8(O z_^-<6`q|M1-G1kqf0M31$c|28GY5WXzu@W2%g>JPXA$3E8Q1wp{CP6lxs3T6NQaMY zFWXtk+di>fymy7=H_VP+{fG7N^G{7@(?4w&H~GSLZTd2bC;wl z*uxIitg<9kT96&RzijCZJE9u6)S^i`DHLLg%o48t$^kW{2i zZa>)3@?3o<+sOf3#B#3SPnowzc643%ou9ImUxn#I9S3$6F4tx|f6S6Sm75a#8Lwq0 zZ)bjKc61LH@vGg0&oR48pS{G3rM#5&yp5eK-ox*Et4CPMAw%tFyp`45a8L8|EH?2S zwsW;o@!LmvVG(!T%ltf?ZLDGGzUnEqvt)1SykB-Soh3YVAMuE1UT&TRCl%@Od%w zN65$h&BuG$&NrDmGCO*YCG2J$*FC`R+=#iO9M4(Ck!}7h8BOOU7nL;|{W2{4H1TE#{3=f3t{d zA1wadiWS_N)!dt{e2{tLv!h2@#J{kCYflg!hqLOS?C4##bH57Z&~&UyhV6yr12Cn?*-B4zPhumEy~%xFSqv*^$}NoTH>Wf5k3#v!F6N z+Tv*2%{|!8TIL^>9X-iv=1ej_$FlV3?C2s^@KOt6u)z$skWb^SvJ}EYL)36&lPN95 zbE9L0#};;QmE+_eUuN~R>}bas>JOgJPF{4p>C=_FYV&jTnc~maSbnVfYnF84V{GEH zv&Dy9b4))jJ38k?@#JeWzpg_S2}M_ZmEJYLL#x#C}EJ#0ABeBnDQYwTC& z+iqUVc81`m^;sQvX&RJov$}2ciizp>p97BlVx1*BER$Fi-mJ? zb~O1C<&_V!nMYhI-R3JdtY-0L;>&F>7tR9vE$jHhM(M|a%snML+L;wRovpl>D|kDL zPF4Qdz>lxB9XzZ_I@M)I_py#|vxV=ni;rAqxt}=ix!!U-h0R>=2Jt>kda#ytY~p!r z;m6GVsq3K|&Cl^Sng4X&qCD|zHu7P%@qt_A+ZoFDZMK)!u$xO*a;ELNUHrHY7qOfx zSjFPA)Elhk6>R2HY~{XpC}+Hw`Ssb+FIdh;*vO6V6b_$Y-r4H)yQBvXVjDkT!8z)i zyKO)7?lGO?*vZZB6|Zw0PwqFJEi67SJG$XP>B1=wi3iVQ?)kQh)!g|p<%ZRd+mBiI zg!wP9KeCIh?BN4X%Fl)BZ!TgRyZ9W-8=S}gPJFp8>v$QPc{N+P=~L$Cmh9nuEVA|B6D*070JvW2TGkuSW0C6_r4hVRUI(ejte2NrQ7mU2rrb33+j zC+0RfKC*!Ovz~uv(a+@HOSYG9Fz<@&X!cU!u$FZ^or~DO+$-g0hj4fo+j!3_(v63` zYWh{`DVFddR`E5~@dI}7fMw>p+I24L`N3<_gIoN;_iNOfZ`pqS;LplEcVyYM*3V9M zGOtO!#3F9|)kC%E|TF(c^63tL)$!?+Wh*>t`*GdQbZC zS$6SF=HKYNnU&mXxqRVC%)d!~u#*ekx4k!KM>nyBPqLeTXXP#S^S=m}m#~$Ou#-dn zWx*sXuSo{my&rTj#Zaw!Z zXDr|cT*NO}dY}9nBOGqPPL5&G{q}d3a==*g^W$;i&C>DK!;_i!OZzK}_z1iB8#cE% zo`&yS&e~r|&x2lcKhg4B!Qsq%Kzj!(*>JG!;UJ?e!TqWA#CH(?Buar!Sh(u=6a3|{OSb1b3(Q0zY`9tIg>3sg}G0ur&!K+ z*~Ft~N@t$H;@{gJSj#8a%1_wCXqJ3?+W8ghSi=^c%WhuEf@hpxvy%6+k?*pd1+%UH zS>>Juyp*MUm37>7j`i^%cC((j&q*hiaQhQ&C&#j#Gg;7Xe`G!PoohSzA}gMkZ#A}$ zmF(iFELm*(*vJpq$+c>w*9*?)Sqzgf<+=G$IA!Y2Na zE&P)0TxWs&VkygBk)CYh3oL$Bxjsca`J(eSGW9#_xz=go!9Cc+FIn-L>!Y7q zj!&K;zRal?EC8Ox^gnR z*nN@pa>tA1$6JmIY~!#?EYJB|!P}Yl=j`a0EMgZ+`7WEd>ZQWt_N;h2J39C>@!+4? z!;LQ&&o1Sq(fs^1d-z9IyyLk2GxaNrnD?&pMb`5V?Bswe%+EVn`JVlYwfxDI(t&5N zldrR6x#JnDxy4n=2ajX!`;H4N<;AS!A~x_hZ01YsX8YB)^DpYTYs}9dTq_*D#2yZB z67RoeM>E*ME1BD^-e5IHUMK!s`+D2+H`mQKSRWs_(ROk%yZ9>eKal@7i3eX}Ge5pr zx^vnsw&z3V2W;Y1Z0BXo_T!J#tG6r1e1ZiZ%TJcD^$ztgN8KrXcnVkWY?l39`f(Ar zzsvT0VmlXEKkwuUUh)g+yu$edTlhZn{^9<>y~5>hxrjf$Pr7pvd$`3fZTF|rhfSQ% zcAmoA&(zy&;1%rQW6b~D{>fVYku7|i?fg-T?fIvAgH7C(oh)Vf7wQkT@ii8IsXqLb z@Y&8q-01=9;Y8NvOTQl zqipAUERAxa*MDm|_iqzVUczqP&5Ep?=ySGmuiq(G**Q`4l{Ortn$$h+>=xuiK0~W0+eAY56`z819a-!{+yIM|E!g`Ko z6DP8TN3osLn7?{XG@WIf!AjoC2L6(*e2m?Ejsf?|4-gMN%o4uHa{hx= z+;L6u;n8g50xsf(Y~yuY!5`+Cf32M84%YD*ws5nxtY__L+QAo zd|)U4w5jdhC?|TOzAf&#hc_r8~n)jasfMe1@nI>pIFAf zvX-B*hkxJP_HLRJ?Ov!nbJiBtTaXi-y`}K^0$cbB+gY=f>6_(5r)^`sJe!?-f#pB4 z{}o$5E7-)3*~w2?vUyIl-eBp)joHo=OAB+NHFpp%uFnRZ&HOELq9Hp9m;11RBiY6= z?BUGt`<6M;)SZ-1E@UU~XUSH=57W8I&el_u6Rkc}e(zu$v=BipL0=yB}zIzRZH{q;t9D`3NgHWQ^r`6PuVn*77`;oqUl!+;p7f zf1DFt#8PIBw>)cE$M@L8BM!1Wo7u?^*u&iqwtR6;^mCT-M-wd1OIgR<3d{3kw(>75 z8f-tBsQmFFR`RSv?03A3c|&rdL5G^oV_46nhe_w{2xR?BsjQE3v<@jGwWV zJ#69VqpWwAoM_z9!sQBfbBjr)@9Ox$dRDQGs~;o0-EyLJSkArK!u!JX-PNNk7MFacJi1r#jjL-aF%@I3-!M5l@pzLw(aGO z3vK7#;&-8ZVkxWlQC=>RU;E}npImM|{Q1wsf4`jQL3Z<=D=jxHCpz#d;qh%Y@Y-v{ zXLwHZF3Y(1TIGSu*v?N`T9y;#HHjyq>rCf%?BTAg7~%NKMLdgbyqPQbAWKHtKUm8@ zvw_9eo1aHAca(C<3a)X3a>I4m!Y$d(3GC*BEZX1x$x`lmqwV6JtmOf0}KED&K3NUdF46LfLq0f z>#%|svw@efU`$T*=6OwOsetwx5I8%zfF)!`Q(&?B;pQJw&-?0Uu-u zm$016S;go<<%Jt?1-E0_p~`>w&N5aWrd+Ur@358m4_OcIVdLTU|3{?{tA1mBM>vkK znX{fSA5UZMk&ff6;{(5yFMNva+@wvuRXQ(V5w~Y0$3JEIQPTez^K;>I!av&n)h-|S z2HSba^R{o2^B*=ad$IU%1aprOPgZi37vvYKSUEW-YFuJ_nERsnrr2&4aOz9afom*P zzPL8KxkHD1m?}MA7d~HNd6nbCo3@LS*~qKk@;i(FEdJASqJvn?b6C&cvzt4T zJwIj}*Wbc&3#^aTyqcYSjU}fzo@}`^RmV5j#@)7Bn#wy>{uPCOkXU7BiU zimjZso$xrDxo1dU7Vs>V^FmhfPIhqnA4{Jzoquu>uPK(EJYulzJ9csDr<@27_dx7Ibsr+Xr3l_TW-J1o-n^8h{EGE_VWi(Lc3yj+?|f#AbmAIgZ9gAl z{Uz%EakiV+kGH-{mEVJ;7gs%4zHvXU;NL66`!eT0Ea!z2&BrYcv7M}E3*Tc8_de8o zm)kD3a30%v`eD+cQMw$lG}Xw`BhAlCE2YQJLOW6vb(yF$G=e*?+k|+j$7{ zu2pVX#Qo-2jt`tDe116Bb~V|*YQ&fC&y#N~IoWd8DQ_&|Y71;1*E>bHJeDQbs~=C5 zZu|*bcolnCSZ6=JK|ZjI1wRolX8lw-=VhnMC$^j+{2R3&u#{i1f@_~CTyD;Ko^h`A z@*H;Y(hJOYlk+y#^L;k)WA?CzRW}P~q3yUuIbcDv^DLI|Kvr=sJ9#?GZdHGBLI*a1k$PuwU{S_VC9STK;zRJu7)9+xSa%@lp2h_bk4{afW4F#!9Ywk#ISX z?QCQZ-)H5W*3UW?T`aylhWU3XN37s-R`aAwm zdTNpHEa&go$kiLggCm%Kw{|90@_5$qPImHHHs9ksojn}%GwJ&a$2B(a_iW}GSD2sG z%)d7$YGN5%*v678<^3$*N89w%#s$z z*K4hx_cz&J_#6vC2wQ|NqypSu{7^Xkye2X2-zCn6D z1eschvn%x_iy+#)`Fn4NsAS-L!` zoZV)AF5x1+$xe2&=r@i#w@U|}&)mmyqQ_azPuR*k?(qF__4}Q|=M*ktBXgf{e7no< zT);-&%`UdE=t=4JbL;2MZ0FG|`mOmFNf&;=cK(AUZR&%&t(Q-<$miclr(Y=t9R7gq zdCK|Cuf>DMKWIC+-b2!v6)gC@;|A-w_%Z3t%^tVh)2_Q%%h#FvjQaj}*3Vs^HXp}5 zryTMl)<3JhZI?fMiQW7Yi=NYtzz(kdymW7O-pFF^$_AdsHg>S+dF6A7={&N-c5uI! z#b4$3@Soz@p&YP?Z+;=Yc*>WS=Wp1~ zk9z$6vg5~B!skS`@t^;aF0VL$j5<Bc%vVHdC8-12{r-bEd$cHTG0_dhyL?9`EJvTgnw%_z&j&S@}O+I83pX7oA{x-UBwKT(h0E`33O{w)yGY$xL#QH^k#O z=D7Ns_IvRBTjKI=b}kf+e8eJ8ds{vn&g8<;$V2Sl3h&5=>$Av(tM-49XyjIAcprQC zJ>$`6WZ8G!ez^)exei-=mdRK&GLzk0^*wdvGViPZqS45P%y0p#JnRG44@WS)STs`q z&^RtR%5}(YW*4`Pn*8|Y$LhidK9R=~(a3(I#p5CD<}g;7W&4uR$d#Xq%l+#1i$}1+ z&)MJ&U&wc{m)s1hm&VDB2(a4Tt#O1x;=+B-$>*RN1)nn;sEiQ5HaKLa^UFuQe`B9H zjAh=!wiTk0vFu=Lu$}+1#HDA+iv?zfL?f|=e0U_=+oF*i(;Uw{>$An>3 zqLF=nR}VhHD);(RUaPu3S>$vMaMQ)dhS}Akktf;9YnB)r##fI<-WxJDOmhNDJgaSN zSm9G_@dG9j(a5M3$A&$;ZuPNYA0K7g8qr9VNlw~ytpC5Wzgvp8Ry6YSR_5W8sj*>m z@R*skqmg5_)sI(fH#Y2CCmQM8aco%ULOaQ4-DqStW>{c_tL!{BY;X#D*NghTUj5pm zkyCb&FaKt8{b=OcUB`x1t~zvVnA;#4d4o+Jw43uAMkD#%$A-m?#M?vsjiZrISmBO) zTHhwo$Xa_D$8*@rPZ{0R?RD?5VV>LUFK_O|wxs+IaLn$%cYgpj5tnpR` zyo+sHMvi;yO&&rPt2Y55Pwv9%< zV1;ex$dg;J#XQ@#bAQGp``N)g&vpIrN_O!L7WorvOr2*Q{=xR`-LIbSI${SqnZCe$ z%(1}>+2Yk~+aVe$GRYClvyT=2#TGLcTIY^Y-^8zee3Us(V}Wa3r0zV14Zh75+q&et zllxl+{E-7pUM$Ye(a7HH;ROu%I0x7mY){+w!FIM?V*hzD6T7&6nBmo|bNfrJd)H{B zi)B8`CSPXfP`6{|`5n8Nzsz;YHyCgV+jjH#b-8u&Ja)3o5|_QgJlu|LySx8ome;e3 z@3O*+uarMWGqZ=sgR7k9Ls!dt&uC<;Yt)N}vcX|Ybf_D<_+M5zifwzjpT1TeoXcLW zdY$;(ksW(SBS*8$FWBUFOzsnnyn4O$@)P#)k#6mreuKRCjYd|w(RIVuZ*qUIUo;ZG zS^XH?YQ6l40sm%ZfA_1miO12bGhp-pk84HO0dHfCOWbb$jPDpn&F^!bmoR#GG_w2y>dzNh;&u5eOF~`&~*7u}#F4n8=Jf6v8JXcpB-aId z`8^XSdp!TIb#rrOxh<<T!V` zJe65q!yZ1vKEBS>Y1YF$C$qshY%yfwbdM`<*iT;17N@f949_dyG@gaG#N$nG%lAyr zyWWu}GpzAaHu)o?XGJ4tR_z;$?B!?%{B`jB*=}d=S`VLLG#`x|{JuPR8M}Btiws%k z!lSJ79Jja6%*({*t}pJ+247~|xvocc@PF)LAA32SeQYv%p2rWS7_G~PH?xcXvdFG4 zjN^P(dE%GG^M7n|%df;a-|d|VM!pu0XE4LBnd1&)+~o(w^D?G6ot@lwtbJsTMb_EN)Hr!E%|3Q8dZGPcf}KpU$_(4b%a27CIKVO^ z6Xe4<2iV2@4x*wz(|l$hch>|uJ6INWry>+@od6M^xJPO)!X zj)_a`CkwoqHSRjq`Aa=6v738Lw>}=sCOa9uOgqz@&o2JNUjD{DE<8iO%iVu4%VSyQ zi)`^Pc3k0hJySh-Hv`UQ@;~-(mic)b`#6>D1&?nH`LdgJE;C!cS9*M7ii`HUzIi(v zyqn3ZJU+3D&#}rc7`@u_FJ{Ww_VY1uf20K`1js0wK z`5(03;PI9PZpk_yWZR8yZ_IN4ALYR(7{AH&_LKSeJCiqioE$KoTmI_0;eCIo$1SeM z__(me<(a(I^}-Hr$S&^6GV^S(&dhC|Pq4(u(&NH_E3mC-Jm~X89G19K&8tV3X6B8}7PZRvz4#P42gxeD8`z)?9vESm6Fc#)WmRwW2(^ zGgEiFU9-fK7`?~yKIVDJO5?&lKD>%JJzl@Ei{G%y9~iwi8rf)7=NYif-`IAa$Gz3W z;Sa2F=hfAb`!IRG$5ZC`6?-^`WgfW3xG?^J=eO+O)@#b2m#~L7vdsHfNfU`HMTwDac4X0 z=eFCc6K~wXb;8@&Hqz~UN8{MOvv}-a^jY~b!H3w*!_%%;KFyBj)Mpp_#qq51qFwcW z-u)_TWgp*Q`c>~^vBGcJV89lyKE(e1 z*Zn`M>|q~kj8;5evy+=1Y9E+pji<528<>2}b-_I6vCNeYGyZk!Ws1)-&kxzlX>9WL z!}WW^{VP+fFvAbn!#c}cx|46ZZrOOt`wq;!?e!81oIcpjzZkIX2=#c!?U!A=hrN7( zeH_hb)$27TxXLj5&coT{9qfG9KC#L*j@17>&j*=di#hIcl=-<2D?EZtj$q<__ZQ6Y zGj?z9o~N*vZ=dBl_{_eXt=_zbHGa@n`2bry50giVfT z+ZUd{oF`w7V1?6|`%>M`cgzhgaJ%BSZ2!vhmkY&Z7rS{Io80Rnd4BD2kzG8b%X)Yj zD`VUq*!GR)18_Y2?-uTPq!9%XlZ-P1$jN@2V`2*t8YUoF2$ZvPDU_ciJ< z+4GKT#o~#6xVEsJj zCi&0sdX>HGVU5qT#W$FmDUX}ouklevXL;X*Y0h95W4DOUy_ssLJBxgZy{xg1pR>v7 z?3nF&^I$vwV6@-k&8^~c9p|}b5C|GkO#ZD)a}mmI`%Z>!xqoE!}a=|{a}gP-6_xSt!ub;Ht*8@gX``d z`@^9l%=e@54_ZIFOZJz4v-2nMA90@lvdY+_+PNo_KYM&;j_W^WK6W$ui|6OebB!nM z4S4Bjo0PJpIPN{Z#e(A_m$tY zk34`yzQY0j!d%Pa0jn&(bAWj!L(eZ*;fHLC#3Iv~ zWym6xnwMII=gu-YpgJ_R4lS%&A#$y_Huv$ zvme`!cr0=yOYHx|esj|=)NAQjWJ~6FIP3i8OXrt~MV9jK zo1ZY?%aimU5{rBts1xV2m(eNK*%pg@$1c7)Re%1)&J|;kV4B+v&zUYCzQ`7*v3;dj zWVsn`H{6|FypT0s&45J?a0KHkTL;_uU#9s1JNX40+<2DjaFtl(m)X|Et^1wlq0For zi){OgcJ9s^M>4sZ^8;?@yp&Cz_N%z7$0E8ID1)Vz%>_feyvz!3wClC^SqDUe2f*2WY^kmXDqVH8b4%o9rcQi z_j`PDg1=Zi(|U~)azKRfxrqT|CV zhb%TeY;g^?wZ|gsGQ)jY$KZTFc9e$FspMwsnsm3|7NksuPkzE zo4huUMN%uuhv%}uXIWzJO8RdRi>$t~{yd#EUbu>Uw^W~1t(S9|<*ln3&y82NFMN&x z|7LWnSR|8>Hy>svzh{9%*BBo*`5)%Cc0bHI`_{8={=gQ4cJ155A}g&gKKIzbzVN{f z)hp%t*hD>fFB99kUto%3H??2fY%}ZG&iq^I&*xa?|JdXggXgz*zqge*+>I?B!_*Gq zGsAZf?Je{n^$15<3)`97GZwj>1#Z}(ZXC^2M=bI? zOYGcBf9}1v^Lxc2Pq4so?BNaj$d{iny|;1f;q&_%$Km_CZuYTX?BVqXIL~b}^4-^U zccAs~@`H`vFBXX(B0djbi+8cKzx_N^Kjs-dz~c+^%p4{T-(r=&Go5iA9Il=FvYV%} z!jWw7C1wuvxYB7p{&Ix)yl9xZ9_0R*WxjNz`3`nnGtcNz_K95_;D<~d;_-@k{>CyF zJ=%4AXe`pk47Xr~V~%m%9p--UIP-GT6U=wG>-QwbOrIsJXIb? z#3Cm%!^hamjZV{_yE8S+{q5=U<3VSb|Hzmh=(f+?mJP0Rmb&smrjLq69%mXJVqXQ_cOeZiDRwn9ChatEV0T8o98;8jYU?z$UMiz zBFA-^|9JJj)cw#2t|!*mV)8`KS1uEmH*$dQUasFsZm(B3W|_gsvB3PPd7X9T z%y+&0;Cyy-vYc#nBwQm@aCK3 z$CYn(zsCeyT!(FEhzgCp(JP%Ocy(ibWcdl+$;TphGRHUA&B)#2bE$i*kIS)mj{MonU0Gw9 zZRdI((PLg-eXsrGldSSp_VGhT&vQS(1b4nq9A@s*AY_iF={Pnxa{BzW_j}4_KQuHIN=@R zIE8Ij#UeAAa>?^EuWziScW!m+j1bs2}^- z$pc5J3qN5uhkhg4d*eG_T35IG4fZngmGL)tp2q~Q|5}~6 z{us9hKEZBo{EhzH`dj()h(2|=QN72?i-(UFpO-OxliNExx$Okk6_=f;|IMy5mbmsL z`LmA!H=8VvTVjzVrWnT?r>j4+`hRBlSS7PJJ>nb zIG)HV?`9uE#&7p{HBUco!YprLjZ>Mr!|RFpt}Eu4zSHYd7P;vH>*Uctm~XiI7nV4Y z6}JCq9e1e{ySO6*?#8yeT_-H?IM#U^JMW1_mibA1p27wnWwb|rKdU=u{9<0NFd+YX zJ-#!~8LV?YQ}=nE^s6`=$`;G)y5H+)*16x`@_s;_Tk66?*foOx>d!8AKj``l)r+S_ zCir`n{1%!JmUuK1CC@hpk9l!yLKuD6>rm#o&Y}~-K5ov`Bi7Fv`xi6rQP=I_j``aX z6Z~$T`-3GXgxycZBF`-2xYzyFvJ=8O&suImn0_i2d4zrZlpRmUBI~U%!T*cNk9B@F zc>IjGL&W6?>>TO!8>@VVeSD8ij$!&)_X{lXyTNw;%;akGE{?n>Ir zUN5aYA?)I5?B$tk@-}8(@c6|Z_A}r-4sexKCipv$>zwUOGtb-E%{$oSG)7j-x8T;};JD?E7(b$!+AL-sLX zlOL_+{C_>ptZkhB_FXnbqN7mWRy>=Ft7qi7H znE4otZS&cu+Az^+E?Bmd49d0y!jf_wOHg2mRQ=~ z`aX95e}H_LWySeIM!er6Uf-DKk4U6GOn!exB8el#Ws%XpB9Y`#6T%|%>|>dUzax%Aby#R(*vaf76T>Rwi%ksMcXrHZTD)Z@hJCEI zO$@tsH7=ojsQRouF>Eoh;Y9BPINo?-SZ0v}EN?Q=_t2=vrW3t>mrv4s9pY~`F)Xmo z%wF2J5TE7k%)hrdJ5KaF5!S;7GrLU;gMGC#y`MbxFn)je?Wz9(;&e>(dfGbno#^{i z#2Y4$gUxf&#IWrUiENnK4+@`DD6kc_apTf<~*}U>Q}QaR+&CZ9;4;Q z^#9CvwEj#SWB)%Bmj%{XoILDcX1;)QtpW}^Z zk_BcNA0s{!4A^Ab3C@2zG3;iZO%@nEQ9amTyw84}q<({*Y+m-9V%=k{k6EU2#xZ%S zJeXr?y#A-jpJgT|$e#tKPv=C(EVA`p>aGw&uyd%X$`QXR@hI7n_gKOY~D2TMzTU7|-~?#IW=q`LO*;^D)o-pXR+v|H!1U^J;Zjcv4tloxRtJ8=Dk% zUneeGj4!6&_4+S4DNJ-bUdr)}*2Nws;*-KU(`+%%wwtVHnMq-T`Q;~h9&9{Qx2W3+ z;aO7?Q0wp z`{GIdoE3W#WiQVe(0JWR3+ESUgfaSwB%8y^c?I%)%-9 zKPCU1yqP~;K2OX4EXRzWZQhaMae#H!p4EPy{GZc)zWsS#eyp;5x#Kebqx}VSX77vQ zU!y)RiGQv6Ubfyl3Ny@3ay(vq7Fe1hF7wmmHN|O<`kyvA?AzG)Kc7C?-(`HyI(w4houPd*?MyO#miEo% z$<&tG&z9F##xY^&42|aQ|4ukiSs9iO_rJ5PM*v%e}Qq# zUO3tRGdX4_GZ%@&>?M=K!VcDdsr52(nL6yKoqfzRnKs`w&hH{04h(vodhcre*IUO> z$2W+xmw2~M_P)J5*t56q>1CPm+vKyqxa>Vhez&XRA^P3vn8mxrIn@62sK?>zbHDzb z@);rTBlLe*|6$@k;rJ-?F@Ci5KVu#yMruDs`*Y$PXZ-V%!^{beU(oMl{a><=IrF{j zdN|d(UUhuB@l2j!d_~-|qwODqZ`A8T{Tud= zRmLyU?`P}k;($0ThUU3g`$9oj9CY!(=i#k;$slaMRKKNyFwZ9Y*kbo(+LsQ(+U4e9 z`xVx=jCPh-Du~0>RgRYp!k+6KGq_3r4T7-aW_fL>KMPFUq7GXGVe&TXXP)t`#AkZz z!1oim{iS%1^V^EsBcJWWV`)eI?sL3T5N7U|R|g-EH=9iErT+-??;ZFYu=D#ke$cvy z1>wL$_JOU3^*hQs9+gj4JO*qrew@4>lNY<#WFHI1i}QrIth34Pr^GuU2zwbnNxn}z zKG`vwmjyo0s{i%+4|-$ZeGC0=vfi@1*gNPgL702N{uZr|@n_8UqVpqzF#eLfpH)9r zKQjNz@~D}I>5t{d7Hh125`>Mx_R&EYeZ~4d)sF$QuZs6M|Epi0ycw{>CR zY_Z7VYsQU}535YRWj=N=Io|O*;;@6w3G!iSqII#%Dy!^colOReR`q9sEv6WsWFMJe znMu}|X21*wm}UFB`cJk#mf7~6ILtHMQ0MpcXU_-X%{HFpAA_*+p>_Rg-cjcNLq5#@ zBhE+s*SMN-3rz_JSY_X6c`Q67%>K_Ydze^citkskUraGznepfpzkhCiWS!a=nG3w9gH~P2f$M}l!V8E_##a+qzm|WTTK6wo~R=-u{Jx=@TQ^Jn% z@>+LF*vrIv#!pn=^~Im8|HkHHVN>w~^Rd7x%Sn;k41rXTa2*7v8ph8fR1TPz)|j(?f|Sb4N~oc;Mn z``Pkf@e=d?EAExzh4Q{?N?2n4YVCtwGbQYd_@0Yvt)Cf27xKM-*I6G6H_B^a-;2Z+ z(>K|#MSP#pYE!*W;(N9>ni{speE;LdQ#}vzy-_5*SYn=KHkjUd zs?U-69u;;mU@x=jsXj+0KBG&Rf0wDghr#!vv4@FWr-n7=IlwC0mo(o{^E1nCmRVto zjluJ~P4&CS&a;Cpb}_U2)Ue7T`xxJ2YS?7?LH(E3{;+vjdc=B`kr#WHmH(sqvGl~$ zFulCvUh7*yUMw>G^wh90L>!ixd`5rf+1|#H`m?}pHlNkb#PjA`QTq$lzmoPB#bJ>> zEWKjg%)e&6D~rz}0|qR-F7H+JV{*{9#AmrGKC|yz|El7BG&L--#0v8@ahd(txYeB> zJ=OOc$m>({B-D#VRzDMm#jnI&L%qIM4;GnQQ~qPrlO+x?`HlS7l3$;FV0?mjYs-_# zb<}sFIEsbYsEBUd)VDS9b z`ZGJ|0(mjfw9ia4zKwD0V!+(C*89DFto|V0cJlqver>PcPudy$W?q*5aDE5J>>RXZ z+@P^(Vf&8aZ#OLrSjrM zzG-21r+My|7t>o9#!M?}2IFud+VIkK&`^G4bRy?^ns6(WCWeJG0No`&jMI zIX+GvFHQ^VY`r4S#y69Wp&k<+ZcICL2tzKHcw08qfA~<)4`D_ao)E#`Lh`Jmc74 ziLJroHJv|Sp6g5xbC)>3f&Q#-?D$f7Zl?cb++uoIyxcmro*oXckdoIG=G|6a%xpj1 z-^U&AFx~%a>X&w&*`da>u$%Q2#N9()S2{j?df3Gxi!8C1Wp-XA-|MG`>8q{h3FGdt zj*-UQDL&IImz`(pWpx{E_eV)J9` ze%kp@teZ^+Opcb0$S)=KofHYz5-|SHJ1zWowo=747}5 z7v|@h|8?=^>&FsH%ztM;-f;Yr`QMb!fVd2Pv!1uix6q8R&T4cc;`rnSReaOU?+pSXg>Sn0R0RWyNJ{g&AQV z>nqO)yFV~)730}lbw-%`&~ai$SY~$38DWdXwPu8wQQFs@5ti6mXGYi}L8Z>td0aIQw zaYJW@&6(!iZKmIqGH!4E8SJNDL%+jjhKbqoK8|zcbHdE9Z5~gY8P*x(W`^1M;+(Gk z0&y;v534uN4EvhK-!e0d{wQwG%rG~g|Da3wKZ|?iv%K$JV2zpkW`^-0{txIu<5u$j zZ4ZmLvj5L`OrERyKdBG3ujc>OM$h#7CdPj{Gpw>cRh-qeGt0#EnPEqQ^Je;7x%f-W z3j5ade`dSSDh8+m|jgkw$_>zcCX`jy;)&{O}4M=|ESyb8+4Od zKKCs@rq=WSAW6rpZ>C?n{!BBuh4ajBIV;SrZyj6B3Y*MtGb=1@pnppL4fWe$miO(f zd#71Gmo4tj#%(PB-NoO;IM!I`nB{jpEYrr&lXGU>k#KIarSb|D&u!s*WUWEdmr=Ot9@VXtn4Swee&Jk zI+!}Zy!X!v1I8avmyGqW$npsB89eOzI?#3YjQkI>UnAwm{Iljc*ti$epT!r|>rnk( zG0$Pfzh-|9x4w6b>lBwY7T=f85#o+khhg&gRQr+q%<(bu`BEOo>Nn1M*koJQ@iciJ zr{8q(k2ijXIxs%d{3jSUOTMf(tm{N|XP((P=4FA&lf+>MtE@9UPrRIXY_Txk^?Isf zmRVgOFP56K!hy5IXYOoqzB5l=`}f)}aGt44oc~ci1@r#o_J6H-Kf5lk*FNAn>URED z^WPvodzks%ez5R|{B9KQPuJ@$@=rFxGUJ;y!rHCsJ!sK5w%u;r=8Z7N5(}(u(Fmh= zXlH^g=9t;C;rEb@-^%$r?aMZeu*xd?SZ8#&aZIqu)SxNzvAC`FyX3K5!{6InPun-b z9=4ddTi!c1d{4UeosGXoJ_k0!Ze~wvgiTgYHm=9Kr!>MMq1L)LYv zW7aQggxQko;0o(t`AYLYY#moO!hpezjvq1q&FaN~?T=aiE#`k*|6A3Q$=lTV3GKt> z{iJwznU~c^8a^jxp2yVjDgB?eFHAnGKda9-!p5L4G{W@L#{ahwmYA+M&%zt(@{D}n zG9O#-$b*Hd{v)mXef=5#z`C9@4+9oP>G!<#*Z7ike{8>AwlAM*XP)h^$cNpmv&np2 z-Ci}Gd6romJpRHuSYo0gk1w^e^tE*`V8Fx}^?FU5Z^RvRoH{Tw-tp_!J<0etboJ+SRdVXZU>|Oo9cEc)7Xua1DsIYZu0+DB%4#hq!LPpccVFUXsjS7wKaS^B+dK2|xv z^y~UHw7;R=vz=#-^*3D)Y`vv_zj@wv-7xvS<2mAfATO3bG~Zn3N2v$PEV22Sy3RB1 z3;D9h3QKGaIz}Dmn}=B@zHxoB$O_Bf>c{L@?F;0=7K`JIYsz=Jda*Un{NKs@7vq`u z&3NV`{bAyJ^DNXKW|&{3KP zjlWwxm}WOKY%$Md#OFxa!7_VUWtG_;bz5lg|3>=5E|!>C*ys8mkUz^zE#mW>BeX|j zk>tbb6!U*FtTXe7IxXsRw(Mp0G5Ia#^OaAi8_Q2?U&8oj`okit>{wF#k?O!A1Gb)3 zhozi<&iqU3&jJfCsxzCfIKPZ|uj$9aoAOyszjxGsd2vRGw}Q`w)~suY{-4UDO}<~7 zml^gl{jKrLvu#E5ja4_+Cz^)=^DE0|y7pE4f7}f9V||wTuWo$};}hb~=?`mb>c;`b z=c>nA;<0UQ^Ra^kW?5!)9sTCn*LBUqCbRRce?4_!vRyp(F}XmT^|iB;b(WZJ%9DAv zZ(zTeWBfbUHPdV|&*X;U{$Sl3Y5!3^8;i#}n?I@Frtx6_X`HV2Qlw{MHj z3A=X?haEc_zr-Bh^J?6Zb9|0dJ(ighwwPbuxSh@4HYe;%Tjxr1!U~hC&+&b&Tzii1 zXO;gtbHY69>uP6tL+wMw*=SCfV|J4{VVQYGcNdSHY_Y`RrgOr!J>{|4oG{y=|K{dp zVoT@u5|U1l=`y8;@0BqEndnx_HllD^RTe9ar=tDoA}J^ZQlLVV_(OtvTc9s z$;g)h`wlSQfpfwpTkOo}f6$z;&Lmrd9wPpM@;OwzgVd907CVh+!0v zvzzfF=Y$O=*kYE2L*;j@Ivt_?xH)0hF!`M@Ck&W5(Y_qX)2#1U<4!kk);u>^2kS-i z9H;#;<4zFo$vI)~iN=q#k0;rO=NvQfg5#5|_scn9>Qw!iVTlDMzOqhczm^}cxQNN%A~Pe(Yj4(C=LP!NRrHH$@&d$(yBH^`EET z?ebY5pF8wtjs^Cx$TCZ;vBiM#rsF$}`$4?n;<0j%djDkpd*$`ByqIK(X;xTegLSr8 z8ZhsD`u%1e=KpqG+;3i{SZ}$#u=$U14F0vx56E-zxnXsL{!7da+a7crpBt72U3zZV zWP16zVY(#WP3C&tBHzvChTRW~yZPL3faxvfhS^8tv)$Y zOdXD$8@8TQr&Eo4O1!h?dfg%3Idj9FXLz3eOmcu3#z*RR!Q8Nm@eAjMozIHLJoBs! z9$zF+)-N{ibK+kz*Y}l~p8@k%SYKHjrd|;LKXd)Akn=3FI(YoD^%mq=v7W2=y7}41 zEZg2P?rQ6N+d8fhpZV+NdR<`tJLL1Bx(+uF(|5~%lze)u_gA0OzgOPBMSRX$U0G(g z{~Ji&FFq3w80Y^7GHee19|1f4|3H4kT)$JUKL-Z?Uw|q9Cy;s2x>;Z!tIYa;fy6`V z<^Kc>4(*A;la;G%8&6!Ta`KRZ}t7X#LrctSiDm|4tu_AvS6+%U1Y`B-M1 znI**O6=z9to>qTWS!4Yf`7Y)BNaNXjP2O>zb9`Mp<8O+$wDz~m&*rB8ZyD{Q z?8CC+eB}Ic+H2-nUi-)D!onx&#p-DNR}kmZxncVd`G0P`OxEoO%U?L(rXM>Qu+Gd^ z>a?QI`7+HGvy6W&A0}92lD#ak#ws%_$%ox+vBJa{ahYa|1twS4k6mmrv5N8Eh|4;A znf})NtLo1pORTcWChLr@CU15!+o%3ajCFmjZajNfVv}X25{}1N_ZsG9o|y^avd96J zm|N34tTABwTKcn_nTf`&?U=nxP8N3^<5*>j155_?WnFo(z#=QGvdJdf*As7w^{;O| z>|}bXyjf;$1M{=Q!ZhpJ&@nrhoh~lRGwjbs&a;Ot)|r^8J{xnEePMpS^DMH->JQFu zs{KdtS!8FDzqr3+VnAM-$%h$cS!RLp&CUC(^)T_9^>5+)@AiqMKlIzue1DpMEAg0O zlO>k^7N6CYxLdof{&8Kf#Y)P!e;u>Hwr#D8JuHN-ca}K7D&yN}XFFT$W+F1r=LzJ^ z3QLS`FaL$+`P{30Sy(&ci_Z)Db}-*k^Ss|}JxkB?xdHpIjP_lOTW+4`S>miPFAP{3 zqJ60NZS%a3?U?D^jazYESYTnLd0~qIYkP>hvi3c>$~?crtlz5h{I0V2Y%;mpJnu)_ zf9ChK9`>?1cz!?YVTH}ayfCr9dDn2v5{n0zhkY6CY%;#qJl{KEJ|+(`e(iZ-5A*9- z_rdmIU3nfN4+e*tf4zCWFT!|cnQ6CfRv9qAzB~@sZ)^QJ9W%#(Wfr%U*D(Ee)QT9#4gsuBr8m_<0Ru5u*?<%CQcTASNp^|lczWyYP~smvWIon*x~>)yE%Wl z@r<8gUe=gDT0UnQ$2=3qSU2+=V8G;A@;KJ@z<@n$W#z;4aq>A^e|DZ@UiL9yaISuA zJ5Rsk?KfL2F>!+WGs_kW>^NT@>|>do7s!)6OrPjH^K8FRf2LVtC(F#U%5K(KVv`lN zSZDks^RmG9i}Yun`IGJQ#rBCgHkrJPr-;LNPM%CMdAWSpV2i0MtmjnzN1W5tjiu9F zrv>BAP-i9?Fv9`n8NX5XC+c#EOVX|BN zL2p!t`{Z?#{kq>gx3~@mz18?ZZ&Npx*!BR6_Gg4R>|mW)27~7x6z_KNnPHuIW*@RX z#!KpOr}!+g$oO#k%miCZGV`#0>}HF7EZwC}kBED>IFFj2olM{3{*D<&AG2>vG2UZc zEU?BZ2iRi!?;d0+k6^MQEm_)uL~ zW{CsLzF=QRnfFEWeIyR+Y`*07U6b$2^7&YuUy&b+ui8(>|7)I4w6n%Kdq$i8HRJzh zKDGvZUB6HDf7AYdX5P2-XYp2BSFV?@t&cs-v&<@MEPZX>G4f}bE!J5Wqu$>*&rSyHW4ceA zZ?%s#uFvr}#|*}+-&lD}kO%V<%{xv%7Fc9zy!9PMl|U@+J1XNowH`C)#laV)XG+;sD@&g4S#!}b~C zu*}55^TWQG`Y}CAoferN_Ocb7A9ghKi_H&fOfNd$=T`JzY<}3o_~PR9o0mBjmk^J2 zwwPXWewdmg-qP}5VVU{f&zA>l%q*vUp5qndyFeX=IL~~Wd78$pC?3-*>-U}htIQ9R z-xyRUKo$ZtRK zncUxc{#CaFte?Sw*2(-q))ktM8D7Dk8$s^{6RmO+OZ(*PFXAc9`m_5?`ix|fg<44JpMRrDgp8goeEV9lfOEG5WhfT(h zQ}0CwKOe6?i#g96OUGN!;y%~U64NKhj|H|bAwTAsJW-q_ooDA#@?uw9|C7wOwD>vw zm(|YPa{h0E-3-{v%&D%+<@G;zei&Urze}u>@yi?!@j3j<&C4naZO;G4{xHeniqrAhv-}T}!&tAs6wGW=ZQTyuRvzx(9 z*2(xS)|rqeQ)`IBZYFPayI}k_>s(Vj*4SclE%hwQgPGf1KWodAc_!{uCuW#hN1WmE zWa2L4Sz>%$^RqbUJ@R0)NB{M#=U#EyVwsuyte;uN+nv8(J}ixJdtYDN2eq@n<_6Zs z=!V*vV3{d4nPL1P^r6hP&RdAjBnvFC&H<($mB*Iiu*uA0 z*0Ys7SYVa$t<{f3W*#^HHpV?+Jc}%)dl}cubs{Jw)Hamj`>-rnkOwk#&@yacimo@Wn)+4-!pEg zda|2kmRV=OCUd*lulMD{-~;0Z{m{C0cYc)m?IF%+{aF2<`I!0C`90;sB&+OYz$z1; z$&VR!cgT+cOP{OLUh=5B&h~bm8796mFY`?7BR^)@{8~I_$GBaw#g2XT`__DHvB5&0 z`t9fZSl0!cEVD39eVHDw{`)&W!Q%rH6V>Yg`LTxu)>&pWV;xL0KFRgOG@C3ld7yPq zwk}rLU}1`N9HjqL=MR<#0~R>I5)+47$257f%G_b%&agfvXR7z%*25-Cv#hhze5|q5 zklzvN!ro!x_p1j>OdV-m>||z+>xN~P8J}w$6Kt@+=uzS@$HYAIGRX=HY_i0zqvgpu z)ANlx#xbibE>OQ?_5aR3G5Nju*kp^*Kg{}L2DkN&i2MW9u*Zo-F>~>cx0Vey6B6Q!F#f%s#1;c4^XkP8wpbl>amVNAzr=ztdaiw92b=6-i$$iFT;P2L z^KgK9wx1^-rdedyMfxqZAZ%P>9IKbgGrqv@WT_*QmuX*G943}o5T-5{XW0dQ2TL3l zuaGC>|55Md#ARZLI1JccaK6pD7_jq7aaUU4^}Bo-TxI?LC+&UU+p6mS|1|Aj&=96p z85p2I!3hBhRvZwZ8`;)v+18B?HV9Clz`y_l3JeG^XcOiwUYW<2DKlwdh=iVeYx5-p~=kaJ?_rA~j-+7$}=RWkGfc#qQ zf8tO1*aMUUOoO4R#PLD=2a|o!!88~+k$U(v`6uBA7(JPIeg->W2bc)qKbQhr9>Si^ z*HNBRu=g-@Fau_F{s{C_|HO4abg)l&8h$2;Lo52hG?)c_(2hr$MGMGfH|-W49uclz&P0O1ae>;jI`m`=aB<@LEmi3-H)Gh zu>S?hJ(v71at?;TB-r;Q&gUclBzC}oFH=4+1Ev-bm#47TPMpCUSobt~79tP&7U5rt zb1(-+&VcV3?1N)qv;%$5q8H47Ij~^>xy95o7yzSS2T4@Q>4_X7FnkPjxKl=GX&fqh^OOo4%OX|G@i^nDAz z!4McYk9MVVFac)4G?+M_dPt)WjDsn#4@`r;Z=)aV1+!oh%z*=-uah`{aj@e%=mCeo zzy+Lt7dv1t7z2}F{6gZe5qU8DJ^Z_f{O{9$y72oY_(9(w{9r$r14BRH{9^dP5ikQr zFQNWl#xJl7j9!XAItO!LWEuKj!GACThAzYItDJ)wa0KlBA^u;EUq2!r90H?Y*N-Vb z*bnBwmJEK!sQ;fpzXJK!kO$+Ni3ivR`mUrM{giTpEnpmsff=x0^sCSh2Ei;C0{ec3 zKVb0Zly5op0H(mEA?RQd%zy*n2$%umS0k_UYmj>#yq57C40KbzUmypLfT0`V+k*dK z$1rj?p$`n*jDNqx4j2P7w-CoSh}UiKfiW-!Ccs`Wx)Q%c2Zz8o*zqg$f=SSKJN|(I zFff9Cumy~QU0@vS1CwCGoA?I?!4WVF=D=<+atHds7+Cif_Q4h~1xCPF5B`90Fe&VX zAIyOrzvlc-=wNUa@>|gdM!^i&2d3{LuD^kAHTJ;B8svV9UN8n`zyUCHFY>>`?tRd~ zG?)gXYtc7~{QdBOp$90>@5u*aVB|sS2h4)WKj0TQ0EYS~?>6**8b83mXDH9x*adq* z-$TUh9r(ZwFbSr?>^l7TBYu1q{b1r@?EMM;NAMqvgF|2>iF_70Fa)L^MIOwor`>Od z|8e>Q7y@HEkb46AJBich>2JH>2eaS^Sodf0`|;zi_z(7jfiKY?$I$mAcEQA#XV(Jx_b7<@^QW3#PtFxhC-b6d2xv_p-i4e8DI<1SY|bJ>dg$UVPYfBo=-W8etbHwnF93XE;UpZD<|8Q2GofFnBp9`*5l&cPNi2abY) z?_&>4gDoGx-WZMe3SAWga2<~?^xu(Fqi`e!04}OH_hk) z6X3{J`~!1f<~aQM4e<2@?#a}Q2Hnm_EjDmsRp-(u9JQ(>sap3*) z1XyA9ufzq+ zfpw>mKSsX=qyI#ID}MY7oDTk*dO97y!4wz+N5Qx-j9*~G4E*>%;tgiO5ike(W+IoT zd|(XBfH^QU3%#CfzOD^mKA5V@=EuM+7@CXz z30Zy*fpYFiJ{X*cd<1{MmU-COJDX2}888bb>$CareEj!ic`pjR`{2g{|952>L?&0i$5(VB{9T2M&PI#%w-)2KvD)7&!#{9rz2z&%{1B2xh?% z(03^M&O$HP4aN^g4;Y!k`4aSisinw+BcSi2=sTM@ff+Cj_ML-1Fbf8bBpy-PBNzvh z$H0Fcd|(XBfq_ow$8vrldckZL{9ymZ=m7(lfGxxe%$$I~%fL@$^TEp~-&Ewl1Q@s+ zyxiNqjS&)CcuU}@Dq%Ife3N$#s7Ku1LnZcD*Tv_ zpP$121^5Hz7GnP%%D)J`3G9LcVB`$!>U=Tvum*c)5!ZW>Tf+JM=vj)r2gpB%_=52$ z@qZAxbBVj~Jg^Ucz!aG7g#Xj{c_DVd+(p<0N0t$v&rpubu?uFw+(VpSfxUI`Uj-c; zSx&qBEa%ryJ}`I#@?dTSd=JBaBmDx5gDEfxj)I|^i0dPi?`HZT7`TOaB++*(ad;HD zmGFVVJK%c^f58kG@1g!4=e!qtU>3}PIdBw=-wFTc@dr$TNpJv6frI_%2OGYK-c{5m z7y+BUgdCUv(_q7s=m&d2-(A%2m+==I0~27w)10q{AIyNkui*dP*a4$p^sDfJLtx-j z)WZhK2?n3RpL=K@U_1dG%z!Ol$GCxL zcD8W-9Qwg582Tmc1RQ+>f4%|zSIB{JFaf5(B$#*;`RCz#i}M%g2fwCV-z45!vG*

    Z&!}lHH@(1j`L|nJg?tVzUfT15#&bKMoCivf>JYeRJ z@PX0o#N#KF7tH+}Jv-q0C44){e*^hl$p4CbFb+2S8M`C+0mi^SFbR%=IWX`S=x^db zm;*Cl@YlrQuh7AkG4y~DFah?0zOB?R7zGEw9GC-xzoj1k1|3X*32+2Vfn#7A^!-2N zN9mVf5F7#{zo*^*9eywYroj{#_yhd!Vjt`PN5F*6x6vNKEZFo9_}(TTjDZO-1rCC_ zcd+wM&Uc{aU)bA4J%SN%5R8LkU<%CSh})lu*T1PRumg<#g>r&{zfwLh0Y?81elP(B z#_%7E{Ec|!@ehoHIdBjR{y+Tm@IKGq@uPQcj5Cw{|Du-<^3P93rzeI zKAnSuURf*CLcj)G}0G6B0e_`vADDeoTW z1>;~OPdSA(+qoWqA54PL+U@zeiSX^Qo$qInzvp)DU*Z>-1ash!&iCG)@7`PQdu`80 z>M6HxJJ0)K9~=dJ{_Xj&kN23sBp95uJs;c$zV~m>r@#<60!G1zANmKj=W}4DVSB!7 zU*tcCobW^2`93M-0K34E{kG=^z$};neUrE6!N$^RJf0i$472s&7I8s{e<*NR_Y-!$xnDED;o!Im)eQ_utYPNm#4C@&bD z37$s1fEloE7J6DK7nlUQ+wdz)+`;G!&S%31j)AFJw1YYL560(mJ{!Jy*qwvl^YI%D zfiZAw0s3^_PX0XN2gbpMh3EsjK;L}M7eNQRz%)2;2KBRm_;nx;c7Z9dZ!zU+hyP6c zT1fiV0jAEQ{5l7d7a?~(=ims~(1kyp z#2buU!1*PV8;pSQ3-Jf^U4%bi5F7+!VC+)H7cdQmy5L)e9~aXf!009TeHnJaUNCqm z?cj3kfn8vF8FHZSGVFa4IyeAEW83+jEPAd$4;a6S@?Jq)!3^kI&Nu+Z!QhpY2aJNz zt0^a#0n=dU8sxzg7`TdfU5lP;@E05eb71gV@~4`#tgH~LmkUN8&#t|R|u z;tBe0!4I8-IWTZ5datKEx6$sv+)C=@2IzMXXD|g0>AVL&SKt?z025#u%z;@j(u+ebXWz-NfhO7J1d4f@tmZZHS- z-%dS#7W-iOVajm_dLN-2J@6%IFTKR|QTV|e*l;KQJqF(@;`BM<0p`}zZ|?&8(FbM* z@NYHxp2HrPdKGvjQyB;PoNKsfUyki zQ|DlM4fenxa0JYPIk4qk;U3A6@coSP zf*G*kA^5=PI{f=N{(wQy_gVCUkw@SI`ySn%fq~CKe;s{b9E`6={ulTS z#=#tz0E3Ui4~~JEEu24r+%R$dJo#W>KXH45^Dp8DIQk^z1S4O@?_XgL431EK;hXsT z6#BuIr{M$R;K*BG3jM!E9*q8$cJdYM{tJ6wrJUdhn93pdHRS#cKbXwp*9Q2&&@<=( zJHQ;61Vf%3`NXsM31-0@*zg>F)a>9pWY_^CU`v>jF2Y*KSz%Fp)VDy6VLn!ah zi9a|x1RhHHet~|l3k)6xZo&TH(1$rc0)1c-jJ^Rs*bSz^(O+TjBlrROj>O*)_<}p~ zy>G$?#@~Vu>;p64$ZzoLXv+IL{5Xbs8ifxG`~mx5FBmx%`Zn^x%sb?R$v=_bOnI`{ zJC1n%nK*!fzY_lwkptr=lm9pDfRTUTcL+Kd2Q&Y|53v8=!~sl$IdBLJoI*YSAMppf z!4xMAR889@R{0Zm*o4_;}1%0OzM=$_p!C08{J<&4*`H9#A<6vYaet;P; zE1X67_Cl_0N8YzLa$pQhfGzdlY~ll^!890{gIynbBIp5A^C|y6$SvU9kDYenurGQS zQhqSLh;SW13=DM8-of-)luPgDg9$LO1ic@kJYa4= z?16o}Z=VA*U~nmPFnd1ja)08{Nj{hcN5ISl#Nhz=E}~xvFD8z9PybTvf`KcL2V={T z4-ofjIX@8pz{o-91-rm_H~t@tUN8h^!6cXiM?v3p$bkVc$ou?Jupi8TBVgou+RY)v z6-*wAe&J#8-+&)YgEe@12LhF1>#aX24hyzZT)|dg>cYfhjQedCGSN ze)VGqOoM%3226peFH`Og=wJZ!Jxx5p0N4%2z(FvcB7ZS)0MlUTE6AOReJ}tcNp`x@;7%z%-z@p}XH1_qy@9OvUVI0BA5M|dx&xsB*uj=q=RzZ&^L=wJ+tU4xz<5FaoF=B`EVWy;r0y}d$w!N?DhzYhE{ z@dSgL$iE&xe?nYtK;LWB;|k6<;}@9zDfM+D_;dQ#P1t#zb_9-qV>iS13*vJNa$ArG z<6sWVf+M$bK1>{MqddQ)++Yf!G16W z*75$n?|_{=|AQQucpAL{Foir=_Z9SmgWw1l`YQe%h@W5-OoG0Hu=6$e!7eZf_JJ92 z2=pCH+&16`I0`1frf0|p`@k$%_jTxv!~q;R1U=8<@1Z;Mz5(nVhJ7#!j(|C^s7zbnDgnlIYz!cc@Ey@Q5U*!BK>hs&=2a*2{ zet}^yaWs0sG}!-L>>PtWFbOtn1dqjEFbihDTr+yV5B)gofvKsqmzVJ4MDoGFNyKju zIvDr?aR4J==w$4G4IV4i+_cD3vtm-shkbiaTwAl}B+&!>z53X;{E;?~pfbP5(?p*5 zhY!u(HN(1- zNJ1z zH2)Mh;6!4&?S)kbQta}hwP(*&dn6{Tsk^t9hc-#7FU9C>{5hsp6f23If@2BgJWQmp zf6{q&JBva8!?aBPqZX_AFC9ECW%zFuWrlxJLhWf)?KEOncac?hMF$l}C6|A2uBuI- zr_heRgdMe~LJ~cUpKAZ>3q(-#DD+3*|G4P${FA6T(_Xuwx1P)IhKo))K3S+NP9+y2 ze;slQly4`MCk1^8a+iq~QF&$+%j1od7f5=B`1>4sjupS1q=(xvo|Wk76Ro z6QF&qLXS`Uc2W#N^qa|)`xBy34!ge+-zy8<)yQ+()Uycr18rG>{9qf(vkpJZxKZkV z^!He?XPHI}ul&fO=OY#LaCz-n`#gyXSH2=w~yE{S3Qy zKU?H)y}D8_Gx6ynKIfr-PwBCf$~B7q4UcZi&lU~0?^U_h)S^G3a;;LidiJ>16s*{9 zZF$vG(;gnrM&##+=ITc`l{Y)%M+86KJS}6@tF1@&isHg6erX|wNl}A!M#^7Ix zAB#k&QqS=!^=#T9{h`C@ZxX$4 zF`k-nNM$C;-yC`;;%`(0>UEsn>HcQ#jOu!Me9`kFdQJb84wCeC5bUkzY{`F81oYbN zjak8NZ_E-sdw6GCnu{&YbanL+CD%9%|EdXzx;3>t;%}15rM7t;_UBn7^I!Idu)p~| z+Lzv5{w{avm0!WVm=BZNta+w1UY+i5yr4MV$)^tZHe!D|$L{`eO@;mvr#;TXp0nLc zPZB-vKC&%8qk^8BTur?PFS{_Mvh%(FX3Rpf`iwb^kx~#?jmE(rd;)Cc=#m|M&F}q5U0RK~D@l zucGI8mD@E=UFxb&Q~&S}{||NtvHPP?dA+q@Y7{+N(Q}6ER_o_X1kQO)aUP;QJ>=4- z`fKrdJiE|$sjaU{{Vk|gf1}I~QS>^;4f&Zs??l@B|LSL)b~e-Hr}T}WZ}NN4mqFhL zT>4ZW!F@cQDd_ue>QDBg@K1%mm1D;|!@Oj#CuaDYKUp4jGk*3V*NWWLlB+&`a`~Yu zD<3~qZ(-*9#R5F4g0Z&-uF5` zg&3a}qSrk?CDA)&$$Ohe5MmofA<;%~c%tV1fzd$+mj#grdEk3yew zT-3Y}-q+IiQR%BPFNiM&pW4rV;_HL2`9JWfJ*MGXan^r7&y3O^R-aVvzx32ivikFX z)2_we0>20U{u_R^k1qHp!EfrJ>iYAB^45%;lH%S#yW4(Z`MTDWAH5nc{u@73?^*cY z%Xl!t_}PtpXT68f7kZynpJ#Kd{%v0$S6a8v^0%(2xNetUz35SYpKa^0+hb{*SmHo;JvXAm!=kqc8)e8J|##efi z=zW2CCaQ8&9|vbwYB&vuL|6};;?k>n8$<7O=ug;s$L(vdKDDp6rn9fHx>ChOkPUqR zzwz&e|4z@6-R+Oa-zMrUf?v+@RqebVJFOjCtn07R_(J=*yyA6o1N^6==UDk=C+W#T zZ$r=BqLuW_@i%fEX78^#ueYP{AC8{KZ5;yXX_2#(`()Nj4n6qeec7!@tn&X>^vvbB zkOCaU$<+Gx5E1dGM|)c~gXGfG)BVUXooSplS!x#pWbQ(4Pp-o%&Z`Uk?cOIU&ttNy z7#@hOly)NWF zj=rlU7vb8+-c!=4;@M07F7%$u{OpJ)b9?Ps`xGih%p}ESjDKgMk7Y_RML5c!=iNnH z^2Z;+NohPP?bnssb=beMrgp-F>Mc_9m69t?D{EXEcJfDM*z}1^{^yz(?4){%eu)0@ z<^NDmzo=YK(wm}w+uF+O!PGx`oB6J^e|Po&Ms>Y)wA-^P==JT#xQSjq*H^V&)y`v| zw``?s^%(gZMeil(&2d~vs+TVGPD*XdFRkNb_w_PI_3}e+^?H$=B>w#qJ8R{qolN~> zXX1u!`ET0(j~mxY`$!A@%WD@>lByfFRqB7atNKlQRQ>;RHuYa{29!V1$*g~$q1+lL zDwVtBPZ)pp+MPctcOQQj&&lMcN}rv2!9nb_UcV*({6{#cWT({bXZg3*)IPUIm4erf z)%xGAneN|JbDcqWU)js1Tv4FhHNmDVw<*SxD)HLt?k_EHD_*b9&E!v{9eZkTFW8j6 zY4Y#2%Ft>W)mx4(+J{5|i2O#ZuE zw-u872_2yEkoBkf{qEx)_P5ubT-hD7&208YrQ0>$v{!3yYq~P|8IA!^K4$ReZQ^sF z;!~R6W-&B>);%w2Tvl?~Yj)o^y8M$FYdo;n%{C+GJy~%XueWxensR^VIi{$p zadO=kxefb0^4m@-PZZ&{=lHIF6}w-cLAV1Ydwu--I{KcFt_pD)AiwjeE%|#iU%JXu zJEdlC*Ay%*rhSdle{$%(S?#9wM>V>UmWgPW*t*9fKKb3iLbUT6+wwgX{AS3i?X2Q= z1iAgXGx;w{Q3bza*9fALL^qP58x=Erp97KEh=C-_JI=9Ao=*zClSoe>k{z>y#l8HYI zy%T;N7gCsmDD<{(Y~lNQoRs`xo!C?7-9?X_W$qA8ulI6SrFe3_)m7~~bJCfl{T_hb z8w<)owUadZCt`QG^qcjgv|9H)C6|Ng9OMq=xR4|_hFt5nwpshLmRxIL;VHQm;yD93 z$M9n81rKI_AGw86X35QR%0=xZy`T=<=@*`by{*N{3~qc*8^b z2FTw`zK#n?avA7-)aL>bEjd+@Ng5xsw$h+gwja(;kT%Hw^%93cL9m9XTs27ylS3h*sm$SS& zPD5{lPO*wf^r1$N=Opx)>jpbV^eptL@P}-gK=e8axG((9_O5sZpi6(37#9`qZ_<9b zJ5;<+Ut0e~;NNm>hPS&)N&35>FGr8lp9u6g^eN9Vj!B?2e^%N*IK$tmJ24fOYxCKh zAXS;qJFCr~$K&U>jHLCi1@O^PhUrh=6^Zs^-_Pyvw_W0I=l?V=hA*(%2~T2JUXQHo7`F0XL zgWUDd4;KypFG5K4QRqF;y`tMm^c?gnpwANxe(zlWM9~`#^LUtC6`10MA})S==i;u$zz7qolN}C1v$W?bTo&mYVAx$oIicP2IRY?bvzXm4vh^n&EAlv zicbUAkt*-mqL}#1C_QHrE}tkB=aAY7dYJBtNpXv!XEl1-Yd9&zxfr+MDsk(k4c?5t zn~U14_L`DD+Up6Tqwg%!?B<*Q@}ryl?;z)FucD7a*ZRXb4yYaHpl^iVv>UZ!o~)w- zFt%Iv0#g{DsHa)*>OM)A$<}CSwR7ox8+ms-??A2@d$LhT@*@WQ=LLT36~@(G=$o-~ znwZZijoV@9Dvw+L0Q6nNRXPhv#~J8fF7P|_k3vsDch2wP&p}^@U1$Fgy@7#u1Nz$?GsYi>{xI}T^tkz>(9f^H-wj>uD_n41Hu+0Hp9B9r4!YWNKlE=yzg=|fmY$3B zt|)8|s@-Pbd-vHb`R|msw>HzSe_L#~?KCel{*BQO|A5}v(tBMo-wc7W8(=_Q#`@$) z>BBDb@GofsGwb!(jy+Jy?=IrF4L#>^?D0lT`%v9Skss!|RfrB8fhVoQM8MxQj{j9P}sPpID???V^Fk^Z;~o zox_@+Rm)laNoIO8`dY}}iXVr#@sBGxdzEPU5hGvzyXAVJr*-A`pZ@9Mab_ZzY{s{9-J_)kK4B`?O$r2^vi5NRJaf*U5BJ;VE19K&oSW3 zP8K^8zqy6)LX_Dl?H`uxboe`KpWe+jv?;IdKfZWF#<~xLN~I8g9V{Tp1Nv8iAM`Ut zp#6I1pl?>a>A=b#BmW1x$#39-{$IPvZz2CU;!sV02l=g(N5hWnpJ&YL#Ofyj@@FCM zT&Kvd1oWxMJt{`i@3h{(yBPm$J!ItGr+hoLfP=`L1bvHWW}Vfh^%{|6J^MU0z}kiF zB&}>FpKcDVIOULAhP|^S#|Xz$$Bb9jmX2a7z28LdzRI_g{A}TZZY^>*i)Q>(3C*-> z^$X&=7CEyXu$D_^4?TvQ=EFH^hsYJ@@pkW<*6drntgbenv=^F={L|bq9XrEdA&EAG zoy{+9aqLs6QL%lX7bxuOCdm&l-n@bQ(tygkF0~Ccj!#Q*IXM z_T-`b2>ES{w=4@yew3)#%Y>rdxyU=~UG{n*v?AwRKS^H_`aJln%_nK{r&N#|f^lYkrx%Cnu$GyVCy6Ebhnf z_QATEHvjsXdHyH)+fZ|cZqj_OZa1U3RUf+VvoH4fELJfoK56W)+qliT?lARXt-Zvg zadgDaZ<@eK$-heXgU`@?$0KX2yJFe}7dVSnvi^1WA$qvQ<5}D@exEN2eRc(UH}q2~ z&=b&)t3dCEes~3X8v6bf=tI!=sX)&{uW`{KdFnpy@%-(MOn#$1U%B?rYoFEq5wj30 zJx8u~6hdy<;I{l?jvei2zQ6evcQZ2mxtj()uQ!wL5Wl_QN{=*MqybU_eJjv+iSjka zU104;>C`p;H;Z3wU?KWcy@jOm458;#=y!=|#zVZf$HT=`wD*$n<&m6^3(Gag^;VO+ zXuO=-Ss1xy{Lb0)^={TLbNm}?YR}!x!b0PhlB>KMtKFBp0DnKMdb5*aGK4?tU*>m{ zMYG1K)rE0Nacdwx;XCbdU3)i-iK6>H!Sxez&T&ulCg`5$%f~~}L(t!bzmelY61@ZZ zU-8RdAcCUDpuYqCLoRwR^li|&ja^LQPeOmPg8l*MuT{{Wf&POE`bVL^ZiW0L>_hqZc`uZvRK!N>Sz6A?848>l|Nhex5B0Un3+~rvu_s}e=^kXndoDf zFDBW^qGvVxn;$RwQ+p@{GgG3<5hNb%$eml1vevUrOh8+)e})|=dp*i^wf!7#2O&DD z@_N?9hhQv5FPF8&q;kd4`}QmBlh}IgamQS*cQ6^f>*#LsU&+-kS_}6sWk)gJ&t)eB zZ4^73Dfjm^ZZjTK^#43MWtHbzwBPv-<7OY?g{1ZqI!X6Owph=7l*SorACV2q$@D$y zrLA7a71m(VCBNgu{XqOS^(!Jtekakd_|*w{*LOY33@yHi>2dy$GWZY!qVzqd88KpI^b_b&oU88aWU&r zZVTU5VcXBF4-?3>VMotBIp!1g0csDTohqEg1)TgHY_#m8I4&gFA41QDA8xb8MeN(- zG4}2EHrZdbpKn~~@3bUU&M@;+62IRTNw4Qry~?!88KRPw{m6cf8s|#y|CQ#y8TGt2 zY&mWW$?pOD3o!mV_bJq#66hO#VN0H$mosr2w=ZnQqci9kKO8?CE#TsSB>iKIM-$M0 zkD*xqq(6)PiTJxyq%wcKpDBiSM*TUC<1>oKj&*Z4dYaK6u~eJ?ieKauo-d|9Tr#fy z^geD`^%*~V*(hj1&-pGreduXr{q0(hSo?URmL~d@x$_r5Hcfk;TZpG?A5T7xqHhD& z(|7#m`FR%0QeBKxsQES%V2v?Ku5oBXwfQ+mdwSCnG5-~(?o&OU@8R!x<#D2Y)-J9o z#L1Qse?R=Kv}ZFuP;Whq|Bc@E!u1Su#iSX9D-G3uf(iV)tIF#~^elRop+{jTB|FnO(XN_v&M!gg|7r9yY!y=rM-lY=2>Mb{OYMv60q?A0{hO;$GU>@; zll@-gRKEK~D9JIac-hn(-);gdEMCOUwc@vv%9laUI`p{LFQd@cSD@#hKUsm^&}xkz zZaqQh-@vY$9)|u*1$q>EssgKL75Pyx!My$3^wl zMV#5Gv3l3+`r1!m$VouTT;uc}!R?7pas93FVi`QA7lfwO(-l2~*lB)^_EEmRVUV!b z2`Ysj<5{QsdGLAnWb*v1a4~gp6gr*ux^YW><{q5vK8~~e%e}AoSDek& z*BSm5(>S}dVo;~m*WO>_UojoN4#THkhx}^f*V^*M{isH7#d$9V|F_Zeck$av?I}!UZ${4% zc0JqcjY|6W5~5rzIJ=x z%3fy?$MXB{3^8XDLidHAd0!qJEU#VY} z<~`l_`eUVeZ-9QVtS^&~7nFc1&mej>|8z^fp88ZA#$Cs9zd_Fvbk^R(4wt())`U@| zJe{uMnEH_KQT$l%7!NcKMP{+q`gA6LlwI$3eU!!_v*9<7V1zUSg7 zhpS%ZYb){D|FIlA*Il_@&VMMA|D7DLliF278}sweSdZ9#*y|z6(No8hJ+(*DDBKgI z>bakF$zRZCt{-fD>JMG$YyHKR{Ofjmv&V-@{ekxqbdR~hbmN%UlkCf1vo4eWn&NCH z)ky|BOMcG#2IcLEn+Rs~*F;lx{Zx01$MegF?dObbJ@U7K3zOwfw8PBG`QT{fr)qiue&ksD3v7S@4?P%VKV`t)!{hn`e{65!ssd#oA#JWCNzK)gL z0CMffmBxMV_0IjRG1}4j$US1)5~y5R$qwKkG2rs<5Uhb;5c`yR{WKjP4%{+LA1y0^Dj&ufFk{Vn;CXoMG?61K7xgt2@+3f8oghBFwXPH_|ifxca^t*yy z(_SwsG&`d|LVg=@KBgES@6&9rbvXC?q`!~)P<+`2@OZ9+eiPgKt$_W*UDa=9({C3)QE%sB9hh^BFPPsRiuEZX%FcA%T-V6Q)BDdKXuH@qIb~{nyDv-`C<}14*l&X#y>CL2mR;J#ZyQ+PKkf# zmOMY>TTG%4LVq6qD~nWXyd8l)%sQs9Z*Z@d=Q!8Y^1Mr;F8m+9dnLUI))Sl1JHeq> z@n~7dzrWbuPc!2nH}fVgs^|HWvisd}>g56C_jkyv|8yh29>3UbHT}7VXG|vAJj(AQ z|61g#^xeJ%>@l6IY5pY^FfX%$$*_dk z#K+Bk!j{)-{)yJhd8kp{_Os#j5$s;1_}5-hW8RJMW8_PbcXy*AG{6G7=ecwt?2ILHY=<7^xR9hj2wnQ?ReqlHan3un2ihwe zW(@6=N>2xVzJs0*6_kLYccZ71xH#LD=n3er!SAF;p!Y*>h5tA9IA_-<i>V*f|`#zZ4DqyIB|W9;^4;m6rP|cLY7(aQQEK z7xd?$w{ooKjLxOEiXMkPk#ZTj@<^ihL4O5)XFCW%PeETt`@6h+zGL6Act31?jdw$( z>CUVzq~A5)t*hVSxO1Wz3;VXVGX%1Ory?3+Fg2jT__19QucHV63>_Q7H!8!HU>vT^2)fUy(w%j_q z(gIs>fzD>sx0i9QfTqG&*NcHA^jFH)TP=Rh`de93durwSD~|Ua)0vLGl*yl=;Mqy- zx)(d@-^)a++P}T?tcG2Fg{?TZFwV|=sr)$*wZ9Sh|Bo&CulOy!U(Ra<2pyYUaaw^vtkG|FM{9OlRHaQ=a#%KRzCsWhHYAGO~3{&lqr{OfC% zg3}??Hv20&s6|$jZOS!1udU|a!awqzk$p@4sY_+#ALHHCB3t8;7N*7i=OdmU{Ac-l z%|Te}DBL9a`FCtN$9(`Mlk$mQO}`sEL;om$-(UVm(6bsn=i7RE_ ={~KfroMy6 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�qf7jyM!9y)JVyommC{di;QXM{YV_)PMYe><7j z3cc|_J&I20mzl4gxhH$1tH&IjIhW_C1jqdu{7lVV;rlD3wxsnq-xY4Q7cA?+;FLo zi)p)U(>85GNg+Uh009aFDG;P$fIOKA-e#pEJ*&nR(`!XP)_UNGeA;`R2gqOTlt*UZ69H z%=SAVX+9H|D5fvvEl0_Z;<0l-%{c;JIaJ@B&|mwe5$FCuuibQYAd7i{W;5l{x>wzO z){l{pB||DrU2f!mR$$v%oDdCz>hrwKHG$6ljwCqZ^lVE{wMxBd!lCZk#9be z4)Jr{st~HmlLYTZ=$$EmP4zs7fzN^7lwio06K7kZ9mMRSC|JN2&)U>xE}`36uw1|; z(cZhmuX8o)XYe!U!7V@4du=cA1NfP^gZciHzKG}~$*K0Oy+61frF!oGZ_P0y;rkMq zjrzA!d35?%k0^vrw*xZ&s?7$Vvj;j4ORu8JtNHD#(Iu07{n(Wi(7nn~bpDZiWshOc zDc5xZd3q^oby0fR$okTC(5Y}pn13tzw*@+Dp))8*$gkFU!u8UZfM4zCa|h*J3B4xa z@u?p^vrtRq)!dRSy8Y1IM8CPn_Dlb~8zB?_MQ1DxEg-49S|26{8sx!)1522 zI?u;|HwRA!)o11tw1$oz*3;hq>cVb|o=wt&A^42Ihht)XJz$=YjTdZ>C+aY@frVV- zc*!0rg~t8uaW{J4ymss{zb~SmOnX|m_}4$q_=LZGz5+&3dbmWpMo(h%(82RB2=SMk z(#`L}f1b*jI8NoEj5IVnS}*oM>WA)3?4Fqydi~1VFX+t&N}G9A^(66R_>RiY^7wk|rQG^y*GqK|YJ4q}bpAz@mO|-V zfad~z}0^G?I!(B178RHC>O|6@J8ULMbK{rUJ89b zol5d|0&jp$HNRD#{{AxEzP>*7GwMgv88=BUhM~9n*pbW^tsS)X)@vX7lWm_f(7YNn zFQO%!4?Ia$>Dl%0@yo5>=|1%DEh7Q`vJZ{GX8?Z}ztwNr<1EcvmsEPz#`{^k@6W#1 zDEL^;JZYT%bOd}|Uqac%w-5Zy;D_sd2>7e$uhh~_o&1;pz8m<%2d)pJum3jJ@@~L8 z+E~DT&w@*(#4kiv5+N{dcZjIH1;j5Sz()SI?<0ThUgutRtQ@zkJLg~T;of`n#^0VQ z?-ufJ2OeH0>j%CKxZmGU{$b!7q5l!L5_k$eY4fX%+*HYrq935&Zys^(S-mW)f5xAU z|1P*c1dmjHh@n@7o^`-~sY{HfX@BUgr+vPterwu4K8OM=E9AeDqnq}406Y`tjH1zTSuJrAJ&_&)&V=+$onAMdaxT`SR!mOet9?HJzJDD~ z_^sksGLm^+3Tp5Z-zsn-hlvxlUIAG6ec+!A{`>jurYe5)g1@PB#QBZ@b|Pn-R5#*i zcEm7Z=x)L8y#c!6_35JR^jGTPI5A_Nt~QrSjsf^BCI34Gw@K|(W%D-+h8*#EUWE%U z$$QB^OYdzGUMukJ$UmfhNc$%CV|je>9??ApJb#>DK2a8F#6zt9i;GU#a8#!afHZs^PcK371~e>liuGYs?W7o~PE3EWw51rxzDL$K@qKf=z1p1zBf zhDRD6*DFwPW+KGp8lV(M_1n_HJ?OMw6~Eo2-@VV!aXx@u5s-asIr@*Q7r!>zPizBa z68t9cFH7vFar$Qg!Ww(ybTRqQXPgV~8=3$<`{a>Kqm(F0UpzmN`%V%!M2FQqKE13r908w8 zAm=8PqrRW@!5X^{1mU#*Q1D{l^IW-n{iq{P{xtCNi2S{I^0xwiQ$+r8<*&-^*FC^v zq5QRy^EoH~xzdlQdh+}xeL>)Dv_ZrW@7ba5hgny~Z@(0BZc=@;!DoGSu3S~XUnPIo z-fYQ}zXkZNi2TEO@^=G&Dk6W;^NHB^fuG_E$y4=F27C>2zEvHQ`iPES#;2SS$2U_C z1u{ie*}Rd=BO2#cWbG6bvT=xt#JQ$4p&2b37d}{E9IO{XRZ_h* zW48{0PrZRS|HwY{!zZ?2Bx4L`&^|1Jy0s6UK30bEn_dH3>) zUO(;iN$^s7ZjZ-yepq(vk?^L#y9m6r-rFSjBzQ9y?hV}2EO;;Q8_4e; zhXpVDG4)G+HKUuvzY2IQ`HdfH`0LB`P7+=t?`P32cM61^kKg9__a(qj2hZ>K8vO^p zmi!fB6lHfj`^+j^{H|%tj$>~(V@HT*tQ3EnB=;nID&T*SU`FojGO~$l7r(&#lzRQE z-Xn*99*XG;-L$DpPP>=0uJ$45en|bwrhcBy(A&9iB=ZwhtXHm3JkiAc%)IOA$bu~^ zOk9>=M#d39Gx^tyEKST>uFd(1By26wT2Zuh**2^iLdnYV4+odw(RW2kKYNyx*DLo4H=J^4d>Ap1dyOuXhvQIfc)1e#e;j zM=hjCo<8XAhpvAeL+~NsTfz7DmrCFhz-KKRar}PT-CN(F+gK~HpinpBqpWxo>gb{; z`9Gp|<+qzeuWEq#CH&1i!lOrgLHCDe%}(|kV!{=@Ug(_-J^#E)@J{IMfS&5WO@j9T zPlw7=54_Lj->S^;XH|~q0xmZH&gI`F`WhO)7n^@s(%`pqkc=HH{9a)Gb@JHHX&CuL zcZ_~x=7}~Us{UF2BJ%_K#qHupJ6gZfv*&yZT_vB*idZ%ZYeWfbu=ngI_U3c&IYabp z5}z*k>{~jL*>2Zar}67Kb6gPrT4aCm{LQKF#bdX_$M2`L!Dk9SH7iFB=3Z~zYxYbe zo4JMTW}Sm&Vp|<8pBX}b`?^SX5U_}?f`tm;@#+6i zBK9c$E9Y#%gJIFsm{-xIL=jau+h=mSJ=j}4S zsmC_#>wB0dntmvrB$amG{}| zV0#7P_K6qsw^tSR;Im)c<$PaH!jl^L>xS+Q=0oQE)^v7LAGMbL`F*nmg>jBfMww1S zUvigxmHYAFYwq`q|2>ihOX(Gh!j!?4{i)i8d>4*n{%G|n$1kSc+7C_K%={oA8o|PI z05SggdW(_Dv5!f{=PSRoE7NLWdX(_D1%5TnBksQZ()bw|FsFHp9+W?nhrL3_QOdr1qZzZ`M^K&i6Gud+zBi>oM`iLmkgo-$Qp04~MQl4k^0z zKcl{(dy?ew^p^VWOroWC9>Tf^dNI@Xh^!Kbw91*JKP-UmkA3y0cH9Ep^)1B9gMJk9 z`p?@LKWdTo_ui67?I~Eyh3Rus`*DcYaSi!;{x-x{@iwnHhY?9~3=t>1bJMQO*A2w^ zr<_OS5dO^dIerAA-bLAAKTTPbM5hP2Uxki;ysre_2Av(m$$qJfAv;OeiSrS7jia<^ z)?6BTUD%;s=q(kVO_FN>dfSle8Nob%M5Mlv70lOuNy_&)bQV||dPuI~|7Lzb-2C0P z{rvV@#PCleo*fPB)!dh%_c-1U;#(`(b-_KUhGv|c)Py@UKQ^y4-GaJ`wwUguhN zwOc>!{VVt`)O(u*?*mWk^F=O@r{F`ttDzT$PXJ#X$}e3_?qGWGILLg!KvuTdJGi4ngd^yX{Oy^G&&61@Cn>aT6Y`A!r3 zE~XI$pMd_q$?uQ18o6!$@Oo1#@IB-|R>YYv>Rh4Pp%Zum^q)%dAM|D#|5X0?uOgel zXFuv$w|M|QPl}ICs<%n_Y+VN*!OVE64$c7`chU#g$p08|qKAX)H>%IdU!pIx<0HaH z&S<}9VQLMp#V_3-kBuV7UzDFE;3%i8o>!gF-Hlu;tsi`^zMF9mSM3Di@_ca;lR;<7 zj+=`M%^6fb$oYsXG*ymz#`${6F`M6RYU9Tg{C385{kz_H#eUb7?w7ue-#3n&ebk@2C+%ft=MEv+*?#C$Gmg6B zRnB?{%^P+1x+tiA`q1}FpntLeHkI%!8OA@NolRWB>PhJuXIH53CfR4(1fG9fPXn(9 zPx`UI)~nSIes|8 z?;OeW2HSytn2m2&voanu=nElA5?$T1c34C?x}ZC9*GTppmQxN4N2ngAo=C)Aa{Gm$ z>iBO%;BQC&{w$a`{xUAe->Np>A&>Gao4=BX-2uJ-u(b53s(=ZO25lSSpT6u7YXjwr}1aP-@jEqswe*j z^5^SEYTuXOWA?Y$z?=AYg12MCNMN6q`1b(c3EZ4p_4?Nml$*J!lr_8jY09B>FZmz- z{WH?t3DN&F^QU}qHLu>&M2Zv791>Yw#-WzHY1UC@!sis}zfIy(KZ^cgk5}9Nl{2o; zHg@0DV$KTxH9r@pT{?*e{02UcxlDM9Pak}CJTQ{^SFk*u-{$c#2V5SFUeL{!XOekm zIr{o;$!$|5&$2P>JoeVy8$Y;F(UkQADLq#sdgrQ`bn{sQ>)tr9f?~hH1Q=-f1&2N*>Vpq_Q#i4SJ!)MJmMlvsmvDcpU=*LIH<&?aNGyRlu zx?{i4RA1%4V|<3rlmJ0GcW3F?@7F7TBl$N%=W^vgNAtQH*d+#Hdpxb}Uh@j^{GZiJ z+s~E%nOtYJK2q14*}n~WN+Z!J>{POJ`20_n%fD0 z37-5t@d^6R-641h@Q*-W&EqEJuLQnn%ZPKY2wUDXff2kG_7ujH)^WL^sX&@&tMi*24+tu7&P0 z%S#XGb@El_L%>Ztv9Xc%$zCW~$@?y??GU#<3IMY5)Vr#Z@OwhK9X z8_8wrwT=4zPvn>>fK8IG6?!vQ1p7%N@J`?xw~jdL371FA|NQp6I=%_FAkXIt>$vT} z_fbMoFP!a5 zhJMKp*q=#x%sRJZC&?}q??s-+MlwHDd!v8WE=7&2OSL8Vw~+(5vqGbKt0jK%6nuWc zZ#NnH2cPwik7QmvFdz0ADcT?52U>e0J{r$XK;Qo0GU3_G-#C2sJu#B`ysfWk?QC6Q zgc(2tqnbkQ^ND~v3wq+;Pu%}A@HhR|%Aj&KzlOelpLkS~|9JJ8Z#>(ckH1LDu68q@ zzaKs+)tlCB@=E3S@8j^_w4HTM5%ByMZ=Rw!Bqu}w;Kq}I=$!0A$sdSEfY)Tl$M$$) z7P9eWWT!thQm=3RYH{mT_v1dlY-x1ND|y zxN{?hlR^B-c>i(mRyiQ^uiCW=ctih4=AnFkir-$XNqjdtZfLFxGySoZ`2A}5+#ll8 z1D{PVjASrhe*KB+kHp0iH%9A^6Btu@v<`JYe2(|=Q9Ts>5qtBJ-RDMp&wP2>w=a1J zIc@>ZAI}qB8oZf5rT#?EeBb>BH+<{ZUE1YR@XGYwCe>dXc-vT)E0=zG{UWMd`u<$B znX&$v%9X~>90#AdmWLiy{EfqBJLPiyEbG5}`pmud_+J}CJ$cDDJVHzcGCH*G>UH?86!MmXQ5Bj&io(10mT=n%He!EHV ze#t@p!(1Rw!H0qW0{AgLxa6J$UOhPCeAm{q2aH#?e`+5G);3@e95ZM7*#vTTLD%@R zOtR}=yBfdfdTl-qZ&0>T zVW(c2@iQhEkNosYAX&7J@rZr9(oM&H#I;2xJ3p+Y-kt%^*d^s5sh-o|Z9*=;e=m3= z@Nbdd-!A3ATY;~E&jNl2{RQ^r%yRqIUbWFT#m77Dz&iK|3y$bjrEyrT| zekA*_KH3f~Ddfxbj3o>Pp}@&vYwvrAlm3hO@jZsK^N;E+{b&5`U)cSm@qP}hq-L}_ z#|ljS6!Cs#s2)^5ZNPWz9?8_IJ>x?LPw*<>?c&IKkPU60pHAiH2*lJ{6oNxLymC2 zn*hEMI;e|ZPZ$RhPf<$S^BhM+bQ;M&LfpwuNASu??Axp8JHOqeeoza1HE>gY;xOEY z#O%n)q4zDk-^lxG1mbQ^GMw*b5ZzAR-v~dW_x9c=*^3_FJHb0z{e=GQj~D4%Y7!im zEo-L+DBx+(5l=Ts&nKX>dCy4ZE0&IJZ{pt8?(+qUi&IVft1no5C)DoVxra1y#J{sH z{Y95JPw8FlUzz{z<$esot^ZZ3t1C2tvg3!!S^fg+QONf`<+Dlhb%H;GeQ)y)O1=j} z@;Me$^v99!9ningCC*dzIAP_xQ*h5t=)OWPj%p3B=#>18{){~4{1*8a(wMctD}h(P zHj;T4wk7zl>yh4u(&4;-l#B9EQM<_4ewe zgZ9@xg&UylChiw&M~`M+5FPH(%dwyAbJAt#vloZ_zeR=d zop@IvsCGr!D;gd9+ztJ0#iJQxL%ec({;?My)Xwh2OVQ;vky@2|68roh zP`@RknKvcLG4B26yJEh9L3U&aKAYY*n)$pfPtN+h@e_5?)<5B({=!h7T}}7q zV^z%O3%|ZA^MtP)qF?z>`pb!%SSahbqSud}dUSW|r7~m9L)a60K-fxSqWDj^?dj zhW=f?a;U#I{x9Rf;?c||e$(IiF0<=R+xf|JiP-;avG?aG4@vTNfwzY5qs$S2(fJxW zfZ#;~iP)*%vg5IgF-d&-$zQQ#)banwPjoV{FEkC_;ozMv1e=661>Sn_PL7m26vDyQ&gmX2l`EgnJi8FpFM$SJz#fY%hlYXNUt?P%t4i?;?mXO`)d zTXb&&??NA*^q~iM_43h7X}&mvUmvi~(dyvY=N8s$*1{(o&nWsA_L=X9+^d>Bklr;V zE{x{mjW=DdFz<&?TK3+iDxR(IY2rLlyXpZxId)UGF(}d$@H;)awOcut{z$N0S|K$c z`Oh59yiN9?IUBc(>Nl(_C)U6re+0QO(XV+DlZ6Ug?b)1xE#(aCEY85rocGhLJ7fHc zzTYNd^O0u)w!{G(fBUC=@*xz1*6T9UHe2)q&Se#`F={hwvWF`u84CjZZoCme4mVdbNSc3L4i z8n2f)aqwaCKSzH5{td}nOa6w2Q74YB{ByJ2$@Gh2-hUN5$>=8OLkI9R;F&lh`e6NA zdUAVmd8+!-RL!zf-Px&{xkR)XPD`_U4Qw2x2eelEZ z@%x{mS5lCS?SbA6c7EuechDkQ4EE^R_^tG^;|BUY^mbU;^iX@WKyTJnqnX1G&c6Kp zK=x(wH|QaJ*7@v9Gkk{Nv;Df!%%=}*FIiX6_7Wz?A+PzY!ox0kcTSuMwCffFK zue%xfs(!{e^hB^A3}&#a>b>>uXM?(VbdY3Pi@zxK)CI+f`3L1#VXctN!N zbSmOEXUpN!^GV{k|A5XnmER`ONhXuAnd|Vk1oP7=C5~;Y!!M8IZ+t5FJrmjWTIe)D z=P8YA#$Hn?I0v%lcDsZrkM_~-1pl+*XOrr)6a3w`jb_djO!Zk8tk0tVX1%U2crS?X z`oW9cKI(qwqC)pSrPDl;HAKia*6O%{$b#ApkEY%Pg?r^b#=8*(Trql|9zvGZz#W4kCdD5 z5G-;`fr+!N;5YZ9^4pm#l3o1LwEGbK;@!fxN%o}~y83?LrGka&ax7OS23n?N)So+{ z^Bw3Y923KbvhPj*6TM#O>HDWA>wSpcWo~Z0BZ=NH^sa)Q)Q)~;$>~3i+{wd}=KH6< z;l<#U0G|V1oiZAG##gCqAWw9wc)ynVI!o`(cSsxDaHgq`M&57Zz2U1oB-K+Z@U6f# z?R1mioxmF?mwvlRzk7hkT>0$_!TW&MkUva+2zYe_d_wu*d$dcOr|2Z#kc@qWaUsY5 z1wM!TVLhw_UJcy8{wzARz}q6|Gy~txcmMqBP0HT}{3`N?gT8;?jM{w*@cs15 z&)V_D+8^S#iOVqAfssn>Q$qfk&^LSor_ddLY>M|a_m5`&sD?+6?7j$ZT;OZ!cAutJ z0^Y1)fuSPgDLEsJ%A<9tZ!_M1j^A#Q-E1yIzdkdXU01Vmv(Ml0VqLpAfINpGufJX^ z!S4Zo1K;hNW9N(h`GHJPm*2kGflu=Ev2OMf^7z+nRgaUT z&@$j_DCcb!-X3qudKji$)aUQPGxkV%NRqD+yv?-RTmj(I?oD5f9Npmk7CiqwXKAu_ zfwvtzGavHw((|AF@s6hWXQQItlB<~g3J*g6o#JnkDL?dQQr{=JK%Uamq7?ldxQRb| z{s{K}BG&~ma#xbCj(qR;;fro9@H64(@6W3HX5ibqMl*z6jGp8<*Yi{Qm)6y?kw{Ic zOgR|eW6<@>YuX>W`>Cf(C5N%kty%jlyeZoGpXiNQzfc~M@Fu~lKz^go22Zycn%Cxi z@e#>b6YpmWWZqxwzBcmIQ-4oFx5z;;|B7xccnx{zN}d+pujjqLeuUQne8U5ynV*P~ zBhLm3vZC-ZM=$%~cNY9aBc@BiNT&SY&E9C|KcR9|k!M)%C6DX|>uEXrs~`YJ=IAc^jfK(Gx_bNN`4GO=MmsN0@9E4=_l5;JwFcn z9=|)d%|rE8d?froH=3Dc#|7*EdFzB2-9&-36&DkK0@7JmNb(e+cdx)VExtDCcMEj& z{nb|m11YCH7+l&9<;(U3@hxvKOow(y!$?0R4@hAI+2}9r`)r znP)e24_~4>dcDLjQaL(_U-rRAwB4lkt31lFAJ++y?n^}GjtE{2X7Pb@9*?}yGl%DGT5#}3SM2PpARQV(wf?>%~Nlkld%n}MI053dTm zq7a_SP+81)h}`Fk))I|t7i&9oniEMp<`(k(%4fy5k$n4+t5o^0Kf2XR@Dkv!(ErW+ z!`=fZx}Ct+Lf6cP4c(7A1h0f3^WJv)qwt52>oM^C=d`MT4}h=wTrImnecFD@kYeX; z%XII->!E(@e8EF>i;1IdfUdD){9mb(zp`VT@$Pj2ymm74OY^l8PGZRpQ1#dWub*na z<#W(`LU=Z*-dmv;qux&t%(T}ff$^o6c3DWh%lz;@Ywx#!r~0fH-1rk-#7Xi`fHxDo z)p~D};N#-=CDu1xAWy-kfY*@!IKh$QLRhKa6tfU2eR`+0e>rx<>o*vyHzW?h6z1zV zYFDMuefpc;5Lz3MJn9oKQ(sr8{cK9}>_MIl%x}-K@>sh`+`<3dk)C1x8qHi|{Vm&mQGAx^ z4%Yvo)*{-^%wDmxBP4?S>WFk3(-EaVhAz`*^CM zKD+gYTdD&?JCsa&6G!|Se3tv_Tk!Oold)g@a92+MY6SiY@Ha{>o0Pv5_)g&deU#Gu zPT+IU!+px@m6Ii)_ zBswK;!9EbDHu2)1Jl;7t$K09v(f*NwXM*!z=}9wmVw*=Zj~&>aG;v!^;__+iiR!Pv zoclK6Gi7Dfql~`+_`K=aU70Ncc=GBa(4TdSEq$6K-{*b#+Rb;OHyWkU`{K7IWAE;_ z`*)z@yuT^?zLNJ{dETqM^}OHt_0h~?1wcK&!`tWK+0XhEUn037x?h-@Re5{^fv+dOPYjbk4SXGN6R)!f%HIflEpX#^P!H~X;w8XKq3<96tH|F8e9t4JnbU*) z)brOHWEC^HofBN~tHL23dwy5uHGaEE?J+KX$k7$FQ&H`~^^x(!-~sfnj1N&XBY&x{ zBE-M;ZL|mb<-+AH0$%^)V0o3l&E|ivgr$Bo{+e>g^FfW1p8k4%v&ZKW)z?J_ zm`Bvt7sRfmJkPmI#Dl*!_-uS?G!S>J1l|RF6Y$?zJ@C)}6wl`>+R~7_W#~=aN4yI@ zH9kJ-&*RXm{=ulzE@s>5D*RL@lk_h64*WabKPbCSd2{vwnR%IZ)dXh1+5Xv!fAS^x zjyWXFzoOd+-OW#rW*)-)<)@oCmg>tPtokWp9H0F{@P1vDrx&^p0-wuo-5-N}GI0+@ zDTFt~`;ljZ@nzYI3E?8eawQC-Y9W5?R#=d(H`Krj*cM$oS$@knrzH)TYCv*AZ@*Gr+3-l)`@WVR`)MQS{O5&vMX=UQ8fQ1AdguhnrNN z$#olbc%cy3kjKJaE!9=C3UF8C1eh2%Hu8R)sDm@3bN&HrT3u0{F9d^fcq zQ8>*83?o+|=RpSe{#cPXJ4x{R;~5XxHx!<4wE%zgOC)1&_+>EOCq9ku!k^*1 z{r7_7brhc^@_SE<9VdBVzCmR%_Kdjuoe6Wll>5a@?Ah|drOs^B{I=!Rc+iQS zj#F+E-(w4kW~}5fH^E5ndZAzXE9Qv{KfBO z-2*yDihxammjho*{&%`So`R==|BU>`@3-#+Zv;LDyxPL_5WE%m8>ru$^?%?s(4QH~ z-veCrVO>`9R&@G+&k2p&f)4?o2_0XU%kZ55J_ESa(@n~sJc0UwPPq%@DR>F+J@n&K zLhwqP|M(ER7WgdanEgZco#-?JFGqf#nK1O*fFBFoU(ag)F5p|?d$DMkdF>gg(zv69 zqSpeYee^TGA0z!908jEBXg*xYdg5c?uMmBkM7QXD$=C#Ne_TfJGT?uTfL8&3Jpx`2 z{I3!47U26M;2psKHv--b{NEwC%GnEi9p(Hl$sX|IuXeW&n)Q}p@@;#befr8ry!bk^ zDB#4JRjwZ1KLP!)9u~8J^iAOY`c0F+9QY3CJuiBGz7;wrJd2qKQMX09bbr=D^Lt)l zyf*tE$Bz}?Hr7MxpntaL*d*QSg#Mm0?Y@KneeFY}0FZY#97#|5p>rX0&Jzu`vHG`8 zRsk9oJ>ZUo zQw^$@^!wTOLcZ%)Rb!Avtl(PUy^`{AQmX%VO=^V9rF< z6j|ln!uuikd|U|Te57-akZM-%2YA0Wr@iOW>hlU!?_In#=!_7=So z;On7h*4?T8%MB%7=pBFK(0d7a-YtOGEGSe6!z8_L1b_2NyH5alFACw8@xC_?zVy7C z_fPV^NfbSOScoymo&s0Ce)5$f=Lx}lD^jIrnMy`&jJ+u*-wV+5_j}J3gU7Qv1t}E{5NH19AST z<A^1j6DOqN^lcjV-&-~i2Q3O3ESrlFB$ zqGlP_?sI=Tgwzk4p)&!U#|5Ik+T(m0hWZ3g80}Q6S^MoI-)!2?_|YMKZ48n%a`&R& zOMjmm7aD@jb-=^%mkHo&BH+oBvB%s$cC;h1`B(K`0{pCq{FT7#BjB~bw}t4K@&jK( zJDn)XR8)5TGBiF7Am35Y4UbPf;5Quvei8YOi@+ZTuJPbN{3U-y1b!I{)*25Egx?AN zheP=F6uB9EjR&{Lj?%7vJvHCMaQ300q=7K_(n9AG8LZP}_og|UH6Ww*(RluL_&v#Q zH>uAKNnYk5?!DfAe)Ix+|FrJ74Dd4t9YnVSy6d33*d@wS_PP8N{7L4KYl8hcI*w4S zZ%#z?YhS-BroJwMkAMB889rU`+4lnb1g5R8TSMZnD7-!dSy&kVY6#@I&!+xbuzxSW z-|SzvWmWwZ&td*GFq--2w06b05ysax=D?QfPviLx=$>k6>LI(?0^QeupC$nI1b-MS z;A{Yr{qE%bA+PSr{IA}J`u}o<+EL%KkMydK{4-t}&2&i4fPb%#anD+4U3!Md$M`ST z4VY_h78aVL4EBF#o9RkTHmmw;3F}2`k>f^w$KngIJodHjkg-?Ds-CJo#C-RsqnVeL z&l?Xt{{TB5|FqKr*=>Th{VPGKq`%(7~gx_aO4MknhR^$-z0iAiT@CM_UsGBab#a6fd2vbAC=cDkMW0Bq3j%S&n_#gf0q0gc3^PS z*-zr-H*rjL4mNpu2tK=B$vWGbKL_of+Moq`d(iLag8df$b|2DGyurH)LLJv3ta9m| zwUy8<7rsrh2mR2!>~;J%OV`$GR9wHF6_eT1`J19wd^-L&>lTM3`H$C59zD;0t=D&^ z)=d+?m)s@9bKm}#U71OZXEv!Hw!vq|uF=fHg3&wq8iIk0YF%KesPZ1Atad4lBZ z1Ai_4)?bD1$w__M`&2xAIz#JSJEB!x*hX)MW69XH@G-gF&9ybSzsTx$~i3d&*PkKnU? zmpS33=3k@#bE!|>-)8-<9Q*6(zwQHCGL8D1a&$9poq-&eNM4(a{==t%a(q!RQx2V9 znX3;w;1@X=RS*5NZ!7rzb%Ao=eZnVRc&W02Z^t|AlZnRy@d8hxQ%?RW=$L(1!Xc?0 zlJoF)p<~uTj2tv67Z`%=^b7X4ydAtsgW>$6-&Nq93Vgdj=tIu>to)y^2cr|hYXvVx zxmDLbxzT@n7zD-(3c0D!3Hd6Qk#hq1?}p#I1mH_w96^2#rP4k?BZ;kYi=1@88Jc;qx?yENQGIqGf6W>9{D?$+jvk|$>(hIH6u8aFGTO^O_ zQ#$(t%72c<(L*}WkwyUI3*Ce5`8!^J<6f+S#Cs25zlNZ9^VF`ue7+ez6TtWXY&3I4 zzJBfbRWu{(=MhG7Q6X9s0oNUnN@~vu^l&Ep&G#1K*p-O;HJFr)<$G~y6oR4d(C=M< z{rhj?-LlVoS3bu+1nUr?APOL`&m z?cLlrV)Zvik7&R4Ll?_c&{mMJ9%aX!BKD~s_HVv(CptDsKYF0Q?q$voq9)SQY0Aqz zaPh<;(SBo=&v;uw?04|F$YsJ)e2Nw^pZxV`=JkW*GeW0`Pz7VUrSG*j7sP%Y;v@Uf z3ZIIMUB_Xi%$ui}Ydh>@lkTh-vb=5PoTgpC+sruscGZt(@6Fzk1Qk2WXYpm%l|ub; zUxA&#O1?7wjz^CFR7RV`r?`d+7$g1~!AHm5{Cq^Gg})=AQ)g-DAv%rFnep3EXTN+% z-Y7b~;Jg_+;kZi=bY_l^X8!xY?PB)to*do&=7t{0JAO++?4PvD-TZcwJL98z*WeUlsB$cZu*6oqFhO*vt8->FH$kaSQq8LFc_bI+C*+I-6hP zz6>8+?b-|cH1eBvGvjruI}DohN<+LqgZE~9V*Z#DAHY7uR|E$SQ~o9Fhu}LPX8z1Q z!2a`SH$O}9pC`yW;INW>Rpeg^AOH9$`Raks$s=Da?^}7V?+G2H`kB5zbM8Jq9NEi! z<98M70sp2wcR|igl5ZG3k0XbFy;Jf{ia+h6GAkY}e`{XhQd2PD6)#Q3J`pOH;N`$S z8loo}Y2ek+Gvk^Uhr<6RB9{#wIRcALEBRGFW;|xJRhO&;-U++`Iz}(KPu;)o8UF?6 zxD-R4ZHBD=^bl`57J6ph(qa~#j6EBM-Yn|5J2>8X^KEaO;NH-~5)i#QERkfXu(5(+PYwbXExB*$erz zIdqi2kNo?whgT~<+e0j0)_voPqWG4R|5)fBuKYID@=Pwn->2U{dT{!Py5y@Rr+iw6 z+D3a^;WFW=_HBXB;qd>w;9kGPKeh9J^~;W6zpNr_4|rFBx5?t=jIZGFJ)FCZgP0AK zD>HqRzj5%Zsi%(#;PEy7CGq$6Lv-JLBfcY&WPL~5zcfY+V}Cyh{|e#HC0|Zd(&1CP zocIRym{2`>{ea0tyu;TKY6^9)P&OXx%yh(O06EWu&-vox3%f3Hx`?2r9(&;<`}(wP zFMmJLg`iqqQbAB5)}*}e81%(h2Z6qcXBldC{AhB$ zv+-Bu+d{t0@H69$myak%e7@nvY)JAB6IcEm^cIMoP11u2@V9~gL&1;Q^rpVfv2)cOfCu3a#nv=CF^`A+^&Vz2RkFNS< zH*{z4-LRSY?3WkcS)xhGj}BnJnjeYBz6PJ)NpEaYeI?Ie{)L@1<1h8%p2O*fe`8`W za85~bRg%B%kKBI~jJJ4p)jJ=vTE4?~qUFl^iCvc@Vk!8%>I__?Z0#mRAeUIOOiz&n?J{9b^6oPsfpOvkz<& zuKmP&KbsuP{K?0s68I#1s{b{b`HtXTzqN6Ky7(vj=EDYJM6Z$a+$SG882CPo`eph| z=3~T5&HB05FR3-HJ2+8_67sdOUbP;4bI*+y&F6a&nnvDtLTB~AM>F5%x37OPqqpP3 zic|#)TcJ**bwEsPw#P2ew%QQHsgEA)<|6nn6n&dIcqZ$SAHM6XK1Z*YY99eBXW`k~ zio*CcKo^-xzOx6<1Oz^#{PJSwS!hZwO0@Ftt%MIY!r-f zh5Hre%0MqDJYSFbh0F9fv(NzT3a8p@7`$4_J6m|xZm0P<3A_n-tKfWR!tWoO@lfM1 z1;TSF#pj)c&pVU5Z)a$jbuTDadseNYf3iNZM0!NKBiDr{fX9Euzm4{6fsgu_n^c}w z@U{atev79s)RcSc1BQIQF8kx9jc|$H7V!QGUUe4}5G0Bnxi@-bemfq5Q2DZuSG& zccRk?T=iKK%HIS0>(H4mIDN+5Khy_&4t(D#IDWi)zeJm*@1HlRJ|=*xKBjEHxAxSF zGtt1_eP8iik>-g;^>Fp$Rw)xP($KLPnaXzKTex%sfos@Hzx+Iq-XLMVaj)e12X?g zKZ?%b{1oS!%=#en-yA>N#IfT2d|zq)^O&^(Ov8&1e~G(KrTx@&y$t6T%noxyo2|NKVvI1YR*`IjlbXK$FF z-kLQr!Y?`(x`&Ph;thhA0lx!$;~#;4Ikjo*AMjb^H~R#EWB<-{D_VGMw97}qE8@4C zBu^`N)!>=?(mZ)^^PSrpW%5LS7`f+xZ`M6(v!WVOqTdId*|eAG|Im>Z3qAzAG*k}J zo3Qdm#Z81)4!<$5ENio_)|;3!fvC{0IA< z(;v;ekSm@O#dwC{PUg{{D&{-{^?aD*vPu1+q!E3<9y2T(`qS9UMV$Yf?ijdJFT~&L z3kNeCpU)KmLCr@x5vM-!jWF6c1gO$a9V?gPae^ z&exR=t;9ME^v8O}&Tai)>E2I#s&FHQL4>sbqbw z3p!?e!@VhWqBF*(vs1y#3~kj<2lTfh_g{kZUax+<`M37(JQ=;b;eFq{y4kptr57+ zGn#%Msy9MSt-is|v}+6Ne1}0Ntgk)Lse?{fU;8Y5KfDCKL%^%aZ_bYzJ9e$>mKZ+8 z)WbIF#~**L1h43lWbAvuPvf`r$G`q@an?@N*jv~gpHlUj22bZL-za^Is#nha5}(C^ z4ODElzfa;vdER0=T~&RPF)buKeKcbaj3S!#PCzASR)iv{PcLsSPf&q#v>$#!E~?`_bVgx*Z# zf2x%KMAffnZx*Gt#uJafDYcCudpj|a9XxmPx0}Ba{`LUd$Lh@fxID0rD7WIg5$4O_=(o{qZ+&PgtR z{xb>_FGh=dNnzsE=r^kh6Aj5!1Mc6dRKq-mgsTfu4MY%}|EW9Vwm&$p;3`H`%Ywqh zjT%yND~x#Em8pgWsiw0GoA@_U4K?m1c~p_o5PyBF+Z0fr$H`B3u1V)xexb^*)kga{ zQE+*f(JyZ21+nxHr3Ho9qDTaBh{~Ujb2^HQO6Aysk}H^h;D7%}0MFmTzUe^PEFi8m zwEcH=GWM2PLA$K}+YFtZ)nl1MgYy_qul)V3I{tG?fu4j)Z4a19e{0dxCyou;5Ahj* z&n))8{XEFW^CLVvv6yAD#1Euhxty}&lH$TU;A7^)&{sliha&&)~_yF`}liZ|obU}aXys=DU&>!;Z%PR+844L+N8PnfO7PD^o zfGPh~7{JA2nX7{Sa#Z;jrkdg}MYf`E-J*nbyJL~d?_Uh4{P3BvbS(3hpJLWSkcHxB1blwnbq%*DXq@LiP%>&3^p|0x@_IERV-vUwjx zNV4BS`uZL@MuZ?EZ3M2)9KMVl5)~WxOBEv0KGo$x(Iyg)gP-)=6p zGa+>04YaU70K9U&w@L7R@Gb{#j)8!uSAq`%Ukkk>1+Yo*N#N^%hyCiJYn=Rkzgqdr zfXA-LUEinzzJK*t;NB|buLu6Cw+{yHJE;WT0(=&9jNca+Pj2)LC)b#G2O|p@PC0tO z+W>;09$>wv${>Q7Gm8Y9tus9jkKIiPCiR`9o8J?5 zHwj*LE$6m?ze_;c?Ghwao+{us0{_0?*v|+#Hxy_CJi}jh{-eAk;kSW53I3-9$cz8+ zNPNlF2mbuh!NC4I!H0nF!;Ty!x;6Rsw?8oVEPB<@gUCjbsI1BbHF1vYzuKH_%UL$-K3t*FMQTqC1 z>>l9f2}ZonzYi#0mkkXW47GbJ`8Ocfe+%NtMI|VX=dkBoyuOU(%5s$}i)nY(Ro24K z%;ODJ$F2`Rch;J*?0Kqe{Ib+WSurZmi&uCeQqe+~3jh*mRi-F*pj`Hg&_xnTiQ z50$NqAMi2#!Sa_}wZLzLjM=L$&M)yAESiqq_w)XZ)4U(&{n5O4`Lr`}*9KrUY$f=~k0$x9j9tIL4*A<>u{QX8&euNV zS5mpVDiX0Hp?iXXIR8kVdgvVwe6~Q8yFJc_Y@F9ImAjSq@8kVq)w_AG>qF-i7=dg) z$<9zmTL&Scf32OAEGw_d<@ zUK7Bh=f&~(8bLh%vnX^k?@5DyD)qhB;^)|VylT6zqK>%9<5BirdeaG=SD+&uQMvid zAT8kS%ihBK-|+qj``+!}{lI@70Urjw8b9I~<;UDFw)S8W_+#Yv$Bo6a=wsX~4E$P4 z-?lR${y2?`K=hYJ-c^!M_t_j595223ndd*ROl>QO-^?M-dVb8+;idGnZnNoE&8H<} zpF)l!eReMm-!1T6{~m9g_V?4v*kKpn!&bY+sXYbr7^QU}GjT#exQ9soN$BjOAAHry zZ~YebSzG-%Pp7XBDI9Cdvi8)%JT^zYW^5+m>2iP?OqFu#D$i0iJVf+#w+RE#N3%&xxehmES{>v9`N7x{=v*|girs>>0h3{ zHKukH#6L~b&qW{fxtn>Y!*c3kxvtLtLw>(acBQC|c>D(jGj~}&IsR;8YGXnC4nCDs zliFOc5N%#gi^ZReG7KtrBlHwM+syAsyV8JwaeT3WUGnCyJ?#Jagm07jX)ko^ zsQ5F(%JiE%jhq`WbJkv5n=5YzbmxZX)+6sEbgP*k{oU$$(2im@3kv8x z3uvz;)|f8Bx?q*!OXUrH*6*%5+Um4l&xaDRpVNN+{f^SN=39yX5-tw_2o?%jCHyIc*0Xko&-Gn~9Pe|gLbj^Az){T}EaN;{qr(O#=W?gp4FgU3S4qfWs4d{R1o(*$&m zIB765F5-Fn>C#lg`KhLbsns>9HM-F5_Q)>V42i1S*hdJx<#rs+*Y7v02DT!hT!8Hi zQ#+7!CpEE~=LpYD1&O9<<`+Hi`9$Sl<|@gp{){`V`sxF|gL=Qxg3;JPN6+*0-%auMak~!pzGg{vpiMD@+%8HD^d+}^V%cT>j3mNL9bbIB2%1$OjZ0G2R=eOKPGro zKVAvhPei(5roAeO8*YKFKmJ?^sj54Zu>s)I(!D=uA5{OX;4MBCKhw(N??)`(#@G1j zU*+l{|0eRURetHq_169YkDZna9|GP4{B}40%~rpFzYqaW-o-w-s$4oHz*kdm*En?K zT^hUFbq4cx^85Wt_3K*l-wgaV<;Tvnb4_t+{0cK~)cY3R|C;xA``%Z?Iq1v0QuWfw z`%-Af&D?y@!NmZ;{^HFl0Q6-G?V{_ z5&28jCu83RZuO~D`XoA)!2b#Sa+mML&b+u5_~O$CGfz%yPgZFXaSyg+nVm$;V_ekq z#7ri3<}p~Rzb(*z_``$Fecq;ims9AAvh_E>`x%t4Lvnd`UM`DHTLGb>t;42rBv}V~ z4tgglzfFP{e}!EHG!;$O&#drvhJ_W<9V%T-=d8Gl3I*HI6v z1+e&~x)L!|e(j@u9{jf`pG~IxcjH$8H|Gl^*Huotmjf@In+s0^Ukm(WqM`g;M<6>a*;VoZA8J_FFsO)RmMsx@u+mKly$_K6ibu zoiJ``yxGVjIxW24f9{y`ec5cga8fwbF11bcFX)^s`E07^xdr?NLWbI z=kZ=0eQbu#`h|AhLAh=HX_xlhZv9D)PV)VQd{&PtTs`UmUcYEC({2Q#)^Bm*)_uUY zq372L9we9zaL_q?=I+lR(Lka{ubTCI#|tMHeTVkzoPdAA34=e75T;g zm!grkesoCdf#}KyP37*rEEzi)zJ9%vK6OL?KY{;{-;REBm392PS$*o`{V#ZL=5u-K zRd#EfeDf9$X596cPdWaJ7q9fP=Wl%<>xvH9BhHc2T_H+5sZujl;}yuUg7UVgx( z+4rrye^agXe~cZ_`)ka5=~Wl+Z|42s`NmOpmb4$bk|8wy>zqz4o}^0thM{x%vcZg7 zPkujZ85>C6kP{tt=E=nylCk$Lr@vYL)98y9ZkW2_kIT6D_carYg{py`S`)n zYnYCn`e`rpG(LV!JiK-~OBHfgXrPy#bw8Mhon2?w?}bAWohj(-Uo{rK_g3HAwO?He z`U?{u!B2$FQbWP{N9~>dH2Y708#`p$)ALKz|C)I(d7Bda2Ro5dpWgi89LkV5W15XU zD$l@8iP#nJGj@mnD@kt#;Irery_wk>AG~@w4@ZRii|Ep+R*-7Ux~p@> zRqZiJzT;L7W`++&AL|lNOs9{cm%cw4`_`HCcUvzx?d#cB^_O#}**;;~u?u>eF4*gQ z?{|8AG4biU80eP~GF)b&l>1aFqu&!>NyP43#kzy!n*Q^Qv1YOqb+LYa(ca7}2iDUD zc7)@GZHMO$LLNJ5;N4ik5f+Eo0)9k(1y(yx{W}p`a`s^6=SEThBxBn@YaK8)-6_=^Td2{$=Nv|ye+)%2Ja-vWAAe);b%Ya?*YGB@T@$}{svQTyx#y_ z<#m&OPXYe}cqUE`9y27?o97#j!Yg@zc@22s`Eu9g+(#UeU-@gv|2%O2I-;@vz$+TZ zGTlLY_6uU5|`qtON&DX3!E)D(${jZm3w$T=^F#RufX_OAED-n5xG)ZU z<_&wD`K-|o^Z8RQp_0euRF$h6p>>t51-k5sBzZ)u6#31*3js-${G~rf{X+kv0(kw5 znXp|?=lqvFRhR8&!fONXbm*D!DhiKr1LGEmudDrg!K3y+USjyiQ3#Z0*> z&&NJpkb5qq4L)npn=1~I&u=67IQpyl*Lm?(AwFv7armtJsJC9;&X$hq_)VtXgx7Op zGFArO8~N=f*{zap`X6}v1w=osUlV1wmZh5F^QRHd)I-lr$=Hw2xA!?%MwL7};Irn& zy_t8}dhpM?&4$yNXmx3DCNH^*W+Y;tfZhizEj?7;A?Veuwck1Ae${p@q}x0y*QEII zzF#n74^bn(J*0ix53Q$;)}(4UUe%y~s~1Mj;U!1&b@VUf@Y_ep(fCE`4?eRkAMJB? zH&RMp%Xohic*c&i^OTp`^28@m_}5x+_4gj~&7{A7QT4-pMV%j`0h!_W|NM2Mo_5j=csBathh$ zFX=B~|0w6zgL>@giRbs2>-i3($8E%MZ$ZAtMb9Sb$rkvm{@C8kvx0@>MmXJvQyqUK zxGP-k(?-1hcj&j-zb9Oh=uJWI-@q>xAYd=_Z6Iq{<^}IzQoB`tnex&ek665Ryx$6a zaK#%=jJ|iH?=kF*@k^AKBzaoF-vIt$2IBl9cqj1n5%3=1>wp`7i@lqrH#zZ2?azNB z^vymteH@J>Iz!~w_~@sv@=gHX0lYuh&md^_Qx?Q&bFZ5@nksr*9!NNQI+e30BAH-fXTYm*TX!owMG5%ATeQ(Z>d3r~w?D($cH{SvD zmDBcL@s%B|fbWO-?IzV<8+7MfI+l5pZI2xPT&GOehWeq8?f~)6W1)M2Z=oj*-6814 zE*r~?i5XJ1VNU9FIXtF?ZK3>&E#qHjUMxsWA=_v4Hee^)uxrO$GML#eIu4?Pve;x! zn}7KZPnN9nnLJIpT}DoR&{f`+hiFg6ljlS)RFB5)Xe-K>C~uzg;?3Bt1<12V_%?O( z?1!$(yH*_`N>BXuXHDXh3G^h_WnNU6xJ2_-8Z+cf*B0u~LBtDAjTOmR&qZ;~yqV9} z61N|^crX)_E1CFUG{&OB_=8cDY&lhbTOKC`K3R^7Vrr`t?@I^|F;g50z^edaJJ+%Z$iR_R8h0Uzl-T zmxA1%TPz>_G&^N{QTAzZs)@55n$?AL%iliz?8mqg zKE}_re42Uoz^9sivrVwP<%n}CdNzA_v(vW)g&eF1K^WIU5X+~8XB++NWcVL1*g3(= z#~J~Zf0g-O>sY2w6FcOv<&D}0!FL+siH7JfP+ei-yT=eenos!XT%PmDYxJ}DNc<(* z@gHh0n^ey|@U6a=@hn)+o`2!_<3#=wuc(9Nt7+Ne7VPE~tAq6{K1E-nf8mecYWr7? zzw6nN#f&#)2jY`v-dqcxi)>l+5T91~tozhh=9XYT_Tn?75)x)W5lq#`?SS^*uz&#r-5#axYg1UeG`&`^%m$?Ys^ zzi#4hS0m52eD*`-91#Bp#xkA!7XO_1wAt!NEmG52f5cj9m9roF`V94Wg7CTJJ5Z6f zqqgy?^6SZ1Y~xtw(%^U#rH^Umhl#f*+2OE&Z2-;o5CB7Qgn}+8)O&xv#LPGl`boi= zJn1I|rk`{WKT9L$?|tQOL9PMh+P!Hkb5^jQMAbj%=Huh3)yq?BYE!G{rJAB8n#3m$aDqv)kPqjX|9;a9gG>jiS*{qoGSLqADXFoXBouetir$qAqI8tr}4b6k&{l-vB(f z)o7guc|qtZ)Ol+Q6X)2PTM}F*tyqit=(EV!GZZy6{iu!JsQBwer_UJhl=0^|Z#h#JPFJdXwJdR^*aAH>oT! zpL>mz${BYizJ6)9KQ&fb{$0Le|MW8%i>fGn>y!4a-7Sd)l?0eu@{+0jQD8WtKY&o!>a}} z*9*X$t)@0rx6tO$I6I6SJJ#&Yp6|4BaK1BVJ!T0rEv7(uDi2y3UwT-ddN=$k`5ikW zPj2?r=V}tNg3|H`^ZRS}I^Rd|>ff`^!FstXRfAY{ra<}X#neM1?fMMu@IJ{!HOx=d ztuVF8e^n3T@ZI|KSY}zid9=q@ep~z(k&WO?+-3Ls-opL__?_z;e^fuUTiHiM{WS7h z`W3zJ8|Nc%4Vp4L>y@40ucdy{0)X$21EQKY`hpW?9PFk&w!zPT|Dwt}1f7}vtV?Jd zyv(d4Enyw0PQR|uRpA_hzLl^Tp|p1ACh=v37YNP>>^$Oi&eMtcmp#h-9l6YYb5Abj zUG2#_Y`4UfJ`SB8k6ng5=DuGh-CitZZlUU}1v)#RW8#6t8FVVP9C!!tHP4M@{wzwt zIMnxvLpcZ4ee;n?%9n=E3bMON^ar3b`$yd8;sSXJJ}&uzAM1mwj;Dan0lr1`ba767 z$C=s(J~+dDE*~v0;Y2P_vHR6k?lRWV63Fu*(O+gVXvSzZw2Oc9ckp+A%)C|aZ4$f< z_#XPF6A^M=2;K#J1o+!*UOfcg0(=O)(=wKu1n&p_6X5>x2|f(`1>i@!nR!<7HwkCn+!CciDDAeEWdv8R5xaV&0(lb~SpHgnCBw z!$~`_&JVtNw^RT*nW4``%I9Ax$AQag?tueB<4yA5PxxpE<$Mq2%#eS4za9PCsVVIr zN&jYi{}|Fo+yILI9g_ZD_?snZO;5^Y%NUKHhA-iAuGTB~kD;9BSkd~g(BL6_??=6> zObJTFY1-P^*<@+9DIKv%9r0(j^1mm;{sMTp|`_gw46NB z3;t(&A%N1}8}a=aDCe}q_qXHwN045}6UIsUyYPKK_(pVt|H=1z@cq~X-Q@cZ@crMx zkIC|XgYWZ@{wZDvprk+XBe>5G-=p#+-`ny1X4Jbpk$wff@5c8ieI)%=_hJKmF|00`eUs=~oiHwuI@OQqgPW=y|p0D70Qjb63qd3n} z=liMnF74BGI`l5Kb?bidw_~6E2arD554}j=0{&8ZfGY>UOiEXL|0|@Aj#HB6My6N4 zLyfP&j|0xtn*S%jyM+9D553R`e`n(V&mzC@gW5qgepWuj^Z^^pqn3zf)AAmGzwbPh zr~YL7tai+aADh?Gf&PDyd;>l=96Rpfpz&uSej4??AdJU>9OjpHO8+iI{^)wL;F(9h z7ePPkzUu^@P<8OQ)W`Ei^yBw|=UZ8a0IBB_C~pAuM8^lA=U4H)KY}0kM}VHAF?ybZ zbnVC=?GKUV6F+YG)t*Vh>PEOYDbG?{j@`1=3yh3GA~#yYwB=8Xa{ldfv`y==L%TbVb=DEq@SL5Lfj{Z@-cLavVP2u<-BB+23$C5`y-NME_gLIS zQT~aPFZbZwit=^egO+Y`e;3LZ`97K71W0@C!S^kPLHCp3xBTZ~obIBxPW?yIcYf}6 z2Hi1Vpq+;Oy@HL+XIH@QUMcathwEk=txS*KgnG7M+|VNG^@rHiFNwRQMGsyNJ$4=H z(R-$}cI$@+P~Ocb?^gMy{DOUdua|v)ubYSGUwOaj`V(Gs!(+t{GgQynBl_?Y;FB(t ze~py$in{Fx*EG+ho`3Q^kM9F0NB1l6yY$pmOIzr^m5@`mvJ41CYxx7ZVyJ=x+Fg2G=nB3|sPuS)y%eGuK>g!bPs z@3?Ky&tlqR$dx8bd3S)XFGP827Y~Nfm^GSy_$tcl$Nat(VLX7c0LNk#zc=Ii2INz_ zcC|HG=s)i>pa=Xf_ey%q)9dT2V?T(MFU)3R?>=d{cR~LC0Og({`S~a1UWIZW2Rwct z-yna{^=v!UjoY-Zv{T(TB!)hr^F1%bd=~w8i{$6unSghpT=8FY$+w!GP=0|nm3>e+ zBOlY+EyDM=LO(tacuE;9SP_Y(pae_3Cw><5dz2sbCkWl!@%>rIuk#4yi%}yY;$(bU zjrhCacU#?DUc`Ryt1A`}zCIE9_}ggzS5dbANj-O=o;%TB`i`gSHCP|7Kd#<5D9722iywpq~%z>_|Q`8nj|-{c$Wsc$EVQvp}P%rcJM_%`F$Da zQT{h};awDA+*|e}p z-{jJy$(1kW?SeiWzu)#RYro<-=wmkHxQ-mD>QlSsOeq`b#*j|sq{eqOdrHQqe~6Dy zA_qgrm)gvCRgf<#2kLMh#$|pR;Cb$gOaKf$vwxBQdgNad=d1dD{QWov(%9@#JK-Ue zciom*?k&*!?%o-f58@;AJ@fPPT7HWBe=XlYFU~J6!aD7-H-$3{%OG+yg!E$H-zA?= z_A$ra1`TNZC-L%^uy3cOsq!cNEVBE@6Zf0HLO$Y8@_hp3uEF=$%LnZ@u|xk<`%CgY zfcQ@!{%VPrzJZ#TvL3>Bv7cTp-!-3{Q_jxVzbN}?zlr?P_x>mKo_V*8S8tS$GOply zQQxmB^~(PIuOVM_o+{t-$oDOLkIvVGo;TwAe&Dkhzms~>X27-imZZN6>ED5Jmeol= z9%pZ*-w%-fZ;@VbkoK;F))G4W2H)R@?@ou>K6-2zraMX6e(D$IwX|G^`z*beT~_9Nd2ek=V4ZTzj`d)Lc&&YAtzgG*4veI-#M@4T9lLYpM4eidyxN1$uIo_AEe+T`|~AzRIf|>=6w=|BXnWMLDlydfI=GZ_d+% zcgN%6xB_WEfqYLxJ&$3(%+SwR*ScZ8wBW0=>gQ9ZV5g&gJ)df5sh&9LOSoU*dfq#O zejtCy{2goJWRUZZuk97a?f(8*+I1E3-+s^ce*0vFAaja30c+o#FL{y)`n}SpS{*KHR5) zdVZ>3>>ugB6Ynv5Oy{q)cCQ8@;SXoKO?@dJ%tJXB{b_vuA^2W}a@x>8$2Hmy6kT@& zIeO;T#aL?+dfs$B>?zdq7BNEOzX1e>{)(FXaI-gbCRNj~@V! zF3@c&`{51Zh$iE-^Vqb~%E?3g1L-1RDFUEQ7AA1*mC;5Ku3Dd!` zH%59}(%`R={s)W1?t}VQ)b|X_qW>!Yqdqx5a<_beoXy~W@WT!Bagkhb?0Xssfan|f zON>9egZOi%+Rwrp*8-2I|5xx>aUbRxz(dEOdU)tM!9{`x_@}<1Bz%7p{_jQkw*vZ~ z^xv&0e`;&(-YfQB&E8W!!ovFvk6i`35-0y(gfEHhClP+lW1VOl>UoV<0x0!A;mff1 z&<>?D_}<_7ya)9^i1a!>;f^)QCha~4>4p9o`G9uMzzg%Xt@AGwyl~vUTn{U)_ePX6 zg>r;FkNzE{z)=burNB`N9Hqcf3LK@tQ3@QTz)=burNB`N9HqdKpg`AZ^#->DgkI*> zUkvKc*Au>i@CL%aAbc~S=X1F3vLXHHE|Hfq>~q>Y!}FM7oMD|zCR5+X+8J_))@X!Y>f+Cj1uR4+wus_)EfL z{?6)25k8sF+na=s|0_%XjyD-}e4oL5FDCSKuMKn;L(8-H-P8Tg#g_kMe*a)!RjYa~ z!&7gyc+da7`}A~2%ju^XY-73)ZMSsKXZSS27N$FcVXyB64FBL{!|U%JYxS=D8!P8U zj6a+3P4Bet=P`Ufp|^V_!xs{+CA^sMSvOn$H4LZ!$@=#v7uokuv%fE8{AGmi-EHl> zg5iyX)d9ozr3`!f-^zBR`Q6+9aeg1-_kEgj6@Hq_QV3MM+g5hHrUd`~a4EHj89K%;Jj2*q2 ze~977Fq~(2KEvY-|1rZaXZRTmZ)Nx-hF{O{Ga25_@Us|xC&SNXcn8A)!+*>0$qesg z_&E%Jis4fj{yf8{GQ6AN=Q3Pn_ymTpXZVQ>-^lO+hHql{NesW4;U_cvc833u;aeF# zk>NWSehR~PG5l19Kf&-HG5k4(pT_Wg3_qRWuQLo!y7t$189s*L2N`~1%RG&LZkzFA z8}mPd;YAFe&hYaX{yFn6Wca@rZe_TI>2V}L{~pKi^BMn#47W4K* zbcSEZ@M#R6&u~kNttMW?@G%Tu%5a|PiB?1K%P+6fxbM8!;3bzCeB(>EzTVH0- z(fS=jr~Z&%WQ$YtX+x!14;0*!QiM8r;9i z;6~_?{eSHj?R)9v z1~Z!s{&(5nQ(tQEYpnP6S6leo7Z`lyq(LwDiEMY<8vB0R#Rf;NG57}ZZ+gPQ4_#=m zm+;eUXXk4Bet_v-cb$dT?l$Q4-MY-eS6*rGuUYT<4Hmv&+~CJI8vGg4Z|t`4Ye~1~ zl1`Ir?fZX_?muTgOkHH(zrE7nBDQNG>EQS{d_3#@GRtcxT}s22-_z~xvhbw0~UWO`~6hn z^LWbn8;E~5`Qr^+Ed9GaYw%kv|Ju7PypR3$xce-88==>K6dGNQ(%~o_WS~#-!Ly%Z z^NLZz`O`KJdOYFeq|KZ97@ssG247nYb;ifhL0d&|oW&b!6FzmngBQ*^gR z%ez_N8xr69e*4?sO4QpD-#tCE%>eF(NW!-;rGI}?A{_1q;rB&}_!lO^%NTwF;kGZ^ zmp@?m2R}2vj_)P9{k3n?7~f0c{ue(pekbD{50C%F|JpN1Hy_)j`F#)BtN+Ks^Yts{ zUuRm__xN4#mlk2Wj#^rLo~C=pnMc5J{(H*sbHC9R-NbGCGbD*@C6YfsYxT6-t-bzz z!MiQ&ct4I2e&)dI|KHzQd$zsH(xaP;Qm(gSKf}9UZ}Ad$^zSGI8c|@u+l_CN@w+IG zdkFUt9w3~*+xY9LgbN9m5Ox!8Aj}eu6K*BkPPl_`C*dx_J%sxR4-n4(XVy=+kZ=iM zH{k}tEa5oeR>JLsI|z3Y?jqbnxR3Av;r#nqKjA{cC4}9C8wj(6?Yhmm?a!1+)B8ea0lT|!d--W2=@^lAe{eI)=#*Qa0y{I z;ReDi;W*(|!tI1R2zL_hBHTl`kMIED{I9Wo!i9uO2)hY45M~L-3AYk%C)`1}lW-T| z9>RTu2MFiyVf};)36~Id6K){P5{?sYCEQN9gK#I|F2X&8`v?yZ&i^{=CtOIlgs_`% z17VhMoNz1QcETNmI|+9Y?jhVqcz|&JH&{R6Lc%44-GmzmvxMV>TM4%l?jYPrxQlQP z;Xc9xg!8}2`Uw{jE+OnD+(4Km94FjLxSenZ;ZDL`gnJ105gs6%|1Yeca3SFm!fwJ1 zgjvFI!mWhc33m|gB-}-~hj1U^0mAv;V*P{*36~Id6K){P5{?sYCEQN9gK#I|F2X&8 z`v?yZ&VPXQ6D}lNLfB2XfiO!rPPmnDJK+w(orJpx_Ym$QJU}@A+pM2(A>k6jZo&AK?MQ`QK&zgbN9m5Ox!8Aj}eu6K*BkPPl_`C*dx_J%sxR z4-n4(9_uGuNVtTsn{WeRmT;VKE8%v+9fUgxcM?Yhmm?a!1+)B8ea0lT|!d--W2=@^l zAe{e0)=#*Qa0y{I;ReDi;W*(|!tI1R2zL_hBHTl`kMIED{C%vSa3SFm!fwJ1gjvFI z!mWhc33m|gB-}-~hj1U^0mAwJkM$ESBwRw+O}K$DOE^xrm2f-Z4#J&;y9oCX?jt-v zIR8hipKu}J62fl64TM?3al);H+X;6N?j+nrxQB2b;Q_+=53+v3g@j88y9qZCW(mg$ zw-RnA+(EdLa2Meo!hM7X2QBy_lHth@)Sq8@x|?q|zt7%_`t{RW518L$!CAK7 ziZu^4^72jiiY4rKr6D<5#hEHesi44Evc#HodhJW}t3qOnD z-7m8Cw=%qKfrZ-{o_x^geM#qTc}o*uCHw=mpQGWx%Z;b73hcQE|6uPxX7A7%LY_geTf4DbGuh3{o}@~2k* z*BI`3$in}^aA%*t_IY_XSa?6flVuBQqFMg=*2j$h zrytT&r!C)j?nSetKKQ6(m}TQojdENvYV|aV|L&Fa_cusz_u|>}e_%K+H_2jtm5`%k{ITT6 zw6q^gpjj{x@>pUb0;tKEFx+OPa)A+9dvG zn`Woqh9>#X?3-Qwu5Ob5#`n(7KYdN&pV&k`E@*<^^PBWvrV0LwM`x$sbDP9p)1>?d zpE5gr3r+IByh;36llYf4iGNj-_%}9*|3Yr|{{O2c`9I!7f8W|9|M8=<*MG&1*~gE+ zYf}EmTW8O|vq}EXHi&oo$n``c=yqbG_=ElaKTXC%FRxl2D-5QqnYL3anS8cAsN}B8 zoV%u2$g~HiElMq3oJ#dFMNl2d1le3Z6I6>qx*CiYD^*P%3`|rrm5x+uJ@N)anQVG2 zU#&o~KK{-<$D;F|D$RAWQ`Fz`=j#O`>96_!U0Mn6l zVK_6?5d`ZrGipJGLT0lf(&3GYz)B{w$=in7+k?#`nZjV^+|ICl%eBm)QY~lFqk&^6 z%|TXag)}cHX0w${Ric4+K3&a?D;+#}kSh%3gpS%8t7B;@kiX6#SYJ(-t0=-NX%nnT zs6}Xulv)`nj^&X%6P$N$(0R7yJv|7PlYU`Mi#7RZdP33`GQ)}s)1MIpD+@!Bnk?~H zWh|Y~PlTyEQc3cq2P(z<7~1L8I4y@W)$w$GEaVR|1@f138KD7Mg6_?g(bL636+bId zy?j1j*kaY%pg3?%X0Yl7M*2p6qWpoeY&KK&PGSWYfY@n}Iz6;_b2$gZ#&hW9;&`TP zTs7Caqy#T|CU37pY#m;1ukj}MG;Iv-?MS6oS^K28AYC3F8x{Tre|l#~c9c5?vgCu6 zYr7>5Uj|3OxukrME(Dp;QWc#jRASkJ3erbOB_-u^g-oS!BUa}ih@g42Brv*E2;3!e zkS!NSm2M)xVD05#2Srk1+ZN$xDI?4a9!Z0LOfogI6)oMVSOk@#<}*nxmPDA-c~b*U ziuNFv4Td2g5OcH~Elrn7<>HpyD5?ksieti|1wkiOEmo1cFg7}Xehr(D(@0imxPWpA z#$nLu)0jMKGFz&3sGurnM%RL`)2JRAMVbrITox3Hg~i^p@rI(*(VS>HP-ira_Kl6E zl5K(hAT`@Sh+JW?I9keQKnLv?O0l<5N-97L0t;xyIq`_JKUb(0z5OOkp>kU%jA)D@ zsRD}z2Ur#0*#zySyr8W!$QH}Oii_F<{E+cLI#n8K(wsuaiasn9tEwXN#lcO=IwKI6 zLNORhSJM(9#Wmp)3xx+5;-aO{C4-QC$)T7-_R-TR)fJh1Ml@NxyDSxrgMmb| zjImHAn?$}9Hc9f8l!MVBUN~4l2Ywb$)$b#o+8RC{L0mD zJ<#()=bWf!5dkH3Fjf&UQMOw=ni(yYeXyny)fRXG>n`s}=gMt@Ql<5-t&BYN*syN_C1b^+71nsGnEn~ z6}Clwq9dRk7NN0dJ8F06N;k1(E|RK4eUTrZAE{KB$h3Zb;efKf`atmV5R~aMrVC8 zdF{oZg@FJc#s;h4;6Y#}mbpzrV4jL$OoKpBMWIyDROG~Vx&@IDVr<9fOf;U zImf1=v*!jJ8}BWr&*iFc4uL*u>7}h@Dq|6apaM$uGb@SWSZI-A1Q;zM;+x)_GKx1M zg;+m6b(oXy;oj;aq|DqekdobX`fUqO_+Ejn73G&$#P;e91P?cE{sT?y7o{cUOGcs;xb2zDNNxlZ4~cJ-zZ*;wn8`?NtRyU z-U%zmk9zi0G(P!T@I4s)DCr&ddiqA0)e}@Pbxdg5AxsbllLlWBsYtjNMXXwTc^Ok+ zu&41E=H{3OV%j#$p(Il-7t21ba5i93<_1zflKdkr?XyB8w;HxIHu|a~<>J`zh}Lv&L_{MDqCw8L#_?1n;OaFOKpPAV5MWZfJJJp0O_IPpgMBQ_7e@y zWaZ2-94wjgA}KDWpr2#aJ_l&A)6@r6F6Jx2NO7}G@iTA?7KUxI0Z-#lUS@V^Ic;!r zwYIjlr&_Nnw6+JWSC#Rvj5YX$FK|I1@#bQA6N;!nv*z=~&6TC8)boP1G9iLhr~Vd4 z00xj1IaYv`RIZ47#he)xcx;C-8K{7#G6m5AKxDO&kfW8BricM)8N#9{fgpyFVuv!& z)3DscSgT@8t-vRWj#VdvWJAY;hTyl1(7x=hUQDo%54pv7gefaF91JyJ4HCd(mcZFj zc7%m1&6%T(s8Kdi0gD$GT!@?3B_0ZyOBb`&hyW8c$Uz>S)O?`6PB_nu6e2O!bHxH& zW5#mYPH|cL0Ec3P5emcBZ}MG5&3aziHW%#Jqs6gm!!8x9m9}t$n_O3P+{V0G`azl# zwpOOHf=OipygTZaupw5-l#m}r4xBrc4sB$nB;-K}5k6{d71=NzfJ?{A#ym8rrZ<5w zr95mZC2J%XkVG-m4fROdq!nR3nIUPAwZaSuqcWroOe0v=G@%e#rn=|>?Rv?lBZ)-F zv@Rz~2hO!xyv-_9VBzsYFNaMJsVn0DM3}~}he6k2r zj$sAlymok0;8%_6^2nGH{n=nVKVtL$2KK<5%9p$|Jr+^yTR^{u*S`=O&mq{P|K(yX zQ*4!4%rEZE63MA~utJ6i#Z7Fm9Ng>RuC)1@FpGxzz&umMKT{aSgqT7=wvD&jLs9z< zbIUr$9R_i%dHJB~{xC?vdXP?V579$~hqy>}7;99sEK!YN?gPgq7qc3yO^tdgcYD*q zfK}dbQOb!2*wp@pTF?bfbKQenpdg6Xiyp?WaBk)rQhWufI2*28!kIB+-7<7bSSxLeVnX2R+Q()gP!!fdO1W0$Y8+}`mZ55^1n>meYL)S_ ztOamgYeYux(b3FM4oVPCnMl{@PpRLvo7&qm>yG*OLuQ63goM^bxTy9Q>iMi%2pq1@ z0P_akeOa*pGP(#Cn4H55h&OBI@|&zr9_sq%tm~dmr+WV1<>C|89u7Tn=!<3WpJT;P z%qbZ{vtwmY0nK&iaFEW5r7xtRGY~D-;^9FPQ@otciNO|ZkoDY^GUZS?K&nyr6^law z*KRUcjvYj=nt88Yc%(_^r7I^`V%X2C3UHLD&osZr?93Hv?w8waWP^?2h66@tPIOwO zF9)mi!KxjODYp;NQjfOM_6)!donaT6EerI;Hpbiv=!w4_&BqFx;{%Zv6F!20lqyy= zQV-#WS*uqSI;0q^5y*1YV6i-88VD{<*f`MPlnSh)VAckUGJ}Z;%<{{{oCv+2sj!tk zD}!KU3Y9S!5a<(dmUN5@nE6=XkW!|kI>{AMvd&h@WyGqA7w>K1gi*@gBA!suEjei= z$1)J2!U-2`SZQjAn@EbTY+@vX%NE8aXe=(OTwxr(1!XOij3&bRU^%hn7H8WKu2;)< z)!NX(uF`U@So5svT(Kazl|+_e=jdrykBl-Xs6^+zmR%EkvAvY6_8nbCku!D7`cqLw zp$lXxBA_%f#HQ!1ke8YVu%iWc5Bzom_k~Ws%Jy%2!@FKI`+g)(*9?B?1y)Y!wO0N- zW|;b%?JvHH^>iiTyBPnnC6>QG5x@7dmj7oL*uJ;DuSt~8_#boMZji{|&-iEYe8VS~ zpRbrXetSP-hg^EVd%IJU2g@z*f_t_xLWxAAhFd*Y%}%{Vkuc{Qt=Q+jeI>KKMBCWBI4u z9Pb~Jx#ca4|5?f6oxUD_3**1^*82H9T_d=6r{T3NAs?RJ>FHsIA7#B={(*3+cVptq z?w1IrW6nWhTUg{I%^(Mweu~kKg?b z;+=mw8^k;Rv^0qSI_b0fjrHqy{ux+PpFjSU`Gf72KRG@$<1d$w{d?-u$H%vx&&9{j z$-8a*a{Hm{-SzYP_}BAU!_WJ@i}_u@^nWQ{{?r$&eAgdcpO3e%pYg6gN}r3zcQM}e z$4_2k^b6_3c(*UQz8J@En)tbX+k1CBev2qtl>d!?AFlDO+4$xCTY6o6{oG7`4tM-}q{p{r<4ZIB{z#8M z5BKz|&t#N$hhcl~zqm2vy5hw*OTf9Z;Nd?(}GJ{U{HFJQde@6S%e@4v^| z=l1z23ICk;qsxEiyW{kmW`4K7cYh?_zHN;6@&DPE82(P*e#Uz}jiAfp)WhUo_!|9Z z`#C>4j)+Ws)#!5{{eRQcFW$eCj99jBnI#|L%ILze)R@ zPFq$PojrdNx_m#kiQY=)YZP|=FD3oM|6=rW|79ofclvcP-sN-Zb#eZh{HEo1`Rt*8 z*!ic0@y>tK)T>_p^fxTO^Iy+R@$&b6-Qu0UTbSR=pW0*bu3v(i*RCe!cz zg^e%nmw77rc_GKOWcp;->6!fgES8hJ-=)8SA2^x+NQL{qYyH&H%X#v*2nkFKvLIr)$=~-VRUi@QU+IKTW^Q^z%Dd&-D9De*cEyy^Q|=!-F}~m;b=< zB@F))!!7T({C6|l%J};keiFkEFua%bIbKPal#gWm_r2akgxl?I=R19W#q>U&w=5k> zYkCA}e(UDKFpFR%9K1KqE zE1!+z&#P!Azs>YVGyUs!rq}1N(fE1-`C*GEB<#A$S-uB;U^3_A= z2-qyuLwI*$o23hW!Eu^VlMltiwH)zZBMjd8rg*z2o2*yGOPPD%XagjrUhqBJA0c(ES;m zd*kiic3V80%y*>1jr!+e>ff-vtZ;vmdD@Y}D_PDlE??}QF80svtww)O@AUMr!^!W* z`zJ_*JzWw8{19-w^mxCY(8CWGY}7wP?4O&H760|z_@;kHoNmct4mRxlGtG6o;0D9v zq=fuzOB6iKb-}KE)<4rfG#C&jlFtafnqQ{xh_~mF?w`$%(*D`|MbdYU{o@1=er)-s z9yHkE&=WL(-aokj;NQe7Ml{+a&$!{eNck+W*QpU*DOisOujr-Q>^MKl=%P%6>|u zPX<5257U1Yuji5OpJ&hxOpdo*iSanuo`)?w&-`2c-8XV3pnvyDdD_hUwC@5-U)5JYNDVqw&mSVn#gYW;EGFD2RM3(3Vo+~OJCnm zuH4t>M`V)616wYuWV&&VHaA>Y(YwM^W%KFbbM3q%Gc40%!MYh9C(ZM66``Kf#Brx` zaXg3f0XXY|O9*q>+@M_b;(Ppq%GiM1ddHXETNKD8D@ch088~?Zg!Otk*){Kn zq_HC(ry6mOqMsnqGaGVyTn!H#jgTGo>7bRDTC~=(%h?J)D~)r=xV=hHPeoAI6Lz=* zse(K7@&Qia=)o7kAw4vn#uYuoTDrAP4labKN!h7f0jG~~-yDe``Hb)#L90*?xJ2%$ z6jBNaCu(ABBwfmpK>Wsv>!q~T#hRV_2{=$Bp9Lb_zAv|V>xog zPBn+KAUG&7m><&vE`n9q5$Ilah8%P6DOM^uxdTd&<*8)!Uq)D{uV>l1Wta4=T+_R% z_eu$@U$y3fzBMa1tX$WgY8Zdnn$;`UukTymyKK#hWvkb&St*BL8Yf@2`toI0uJ7PU zDIBvPiNGvjPY7oHr`zc_I1g#|v?XCazoy@08SFAT%A$ z6y(+~6AoPCD0c@1=}|d=q$NuYZ6G}EUBaOs$ccz4#6s?M5@F|UZgw@(sGJzXMQP<6 z&d+BmxYbWs9m48JD#E;tFg>2m<>h_=AqLtnH#F66w-7tHY~5-eJ__%Bv93~DLVlw8 zB}XVRh*JuM#R%#`oJjs2>Gf`$&UFmrJX%4 zxwA5I__{$==&^pLYmHpps#1cpUUGi|x?j7#N&OQzhE>o*Y&giL6kNHbgd!p|5QJ+( zM-2TIz2ncuMchFtr}D$@6P_pxrOQJyCgK1;uL7t{j1J(23f0`WR#grI3a)wupvB3l zH09AE?%=4Dih6?u8l#u*S&sG;F6!vO{Q(8u1FY8!;LN60)v&J>dqF$UaoB55^fZsXbdJ99QyKAz+vQhhr-e1`i6TfcE)CDfG{HF0E|NI%@-s)FZ{}Z8Fl! z=>c3i6llf9zft`~(+euhE@$IdeOV#5WhR&Dp^ zLYP#9mZm^4rEq{BB(eMy8VeL6D^x1WFCnu)rL$eQjKq3&8HwdCSl}X>iJBRrt0TH} zutk{u!%eWu3aQMN!HizltY?npC^(An8=R_;^mGN6b*d2IY9djKxVj-Lmo?8ifbGoL z`tAP5r&X$sqih9F_-p-j1LI%)iwiXTIL1#OZ}AK^1Y54L^824?<-5N)c(UdHlU`dl zEgfU=Vfjz8`1i8@N#f`6lZ-!?`A`3@;pe+Zx){Hb@h|vIB7T9De;MN^pAg4y@`)Dz zm#lw5qW-QEEdJMwfAGJod~e@0=~rU;A3G4Qe~R%93CD;njvwJ`377I+uQxON*M#pO zd>`S52tPr%i|}5;2MB*in8fEl`F-2Jn19FVA3W9Cf6GPIfBoNz$4@@R;(x>Z`e>7%Ni}P^CxkCsPAvPo9!>{w)k&P z&CL%yeVBAQvaOtZX^r|PS%SY?xHrKcEyv%QOnOk^E|*8@tCnXNzde?v%oRU>M{(+p zEWdH@Z+|<<@|q%bQhh%En{r9BeuQ{_n6RIEwOP51@PB3g(WxKzW(}_+r5~sE+%hYP z9Ef4 z@+j?}n~!k+1Z&^pqEZ(=((>c)?)kaHt^}69WKhxxbU{_$A+M_jlI)J@(|g?U(W$?RLUs_)e||dA!$? z41ee}J1^RpD90%jw#gc=x;Sz1FYi@%z<$x8BQ7 z!b_O$d_tEOPv_qqiDdd@*y-izecbTz;mkhM^WLu;68L+&JpKZvznba1eg6GMw%6

    f9(Mdc!12QIJeK%*dw#|D&yVN#@9oP?%RfHJUx~2G@e@f0=U2z$nf&hMC86g}@`dMn z$`Q_=FyzD*fWGOQe(U^3H z)HWx0LO=vR**4mSJ)0vT_u0l9+k2}!_asTYhjqg$wk8#^A7Az#=@Y80UJBm*vJP0a z*11k!meInnJyl|4V#Sp zm_vQiNW8A+xMJ57I>QcOh%T^w=I9f7&r04OK~JpD2wy6Xq#e_m5Il@6zb;q8gH*ET ztc+6%c8UVbE;uGsi|hi|K9*Ol$WfFZ?o3nKYh!hno#f9|@rnT+wvp2V*wcldIP`&? zaoFLD7p~A1dWgkUT)XVv6N=a)Xq&MsOy2lKP`8TVpons0E4G;p>+5);AaNE2TR(?_ z#f!DJlrRr=p^4DS>-IQwF_6pSu!OO+NToMe4p&r*gV4;O6lwn@__JRB{oZz+6IlC( zd~BQf4uZywNQ{SF@Xpk1Bo5il54Ol@jgoMMc9`{yuv3q1M7OTs9!H2GdS2CcxUbX_ z;M|3jA;Mh7jz?3)c$RQ+5LTEeF9pjD=Aq-x76u1%fZh4Ju00?pL#^O1udYYx>Oe6F zMh4xbsL!`As+!OvLy@W+15q>(fHbzW;$)LnF03CZsvWOX108+l5IYp*L{mD_6}=2&qwkJZqa2L(M&C{Dh+P#G9w<2)ZGK znJsB~-yK_Wz4KG8r&UKwr;SdS6m+0iJX?dLGruEI$OcFQVUB!It1*R>6xfv;rb4GH z79yN%5PG-uB{9C1oaAQ|8E?4QOES!tirC+4GGbMr2)t>dQi&3KQNCw{p7t|7!u4p6 zwG11+DWM{SVu0BwEaQPB1db^rR^!4RDaRQH>)~t~d(G|L(lWWNro53v>>r#I7|g)R z$YA&V1h%4M$i*o)d6%?MU6e{)z+*ms{1WA?6>Ou!^h+?Y;5Gyf)x!@3n_zhsv(U;GS=Bh@)ICAMNxzVxF z$eV;&Iany~m+MeWi&_zof>OX6iys4)mE7osK|`sOigKBF3Zf zUJ%@7?*?HXCph@Su!v*ZCk$Z1X>ugp*M<)f!3n!no-l=_CAe_7wwxl}dT1~tjz6a8 zLL!*7iF}L5FBNODU7t`b6irf0lw|zjj9HCB=p?C2>yL52bovmU8ka|eMPUv>^I@ox zN6;VvlBdT0E<=WDy!9wFVd_nZi)q)=wJo(BOiK1P^dkT@*nhmL`NMA`>7Z(FqZ zJn@QP$lzJt#(m2y&SgZR)~A*Bl)lIvnKmT!ng>^82F8Y6X(x3gm3_#yat=Hp(p$E` zj??4fU^zYStE0G=Siw8nBEs_AHcI!jZt>U~etKSKc}EHg9h3D;Ww6{)nh+f?1PBjF zN-PSHcVWvoxCo;UQyqC34-Agkr4%pIn>>zlbjRXYNo?LYB#utYP%-~#@dv3~wLdOxgD|LlE~_RoXF>qzy_@9X}cV_#ig ze!Bkb;P$hHjCi;|R?O29P9R>7bpHf5{ch;s>sXEUS3Z;U@O2nZm)sZmT<#xO!t|c5 zC($pbF+TCRVX%>W@4V6Y$8L$NW#9X&hlg%cH#8}i{Bt4o@818k^rboC(|_Wv+K8!j z@%;vKmT&F{tx@84^Xu$HfBSfl?6-Guz18{RX+$rX?(X%r{_W|42I=P7x>4%ehkm|X zvv_?|FE%g?=U_{)IZ7iUdFe)EMETJvn+ozI=z8%bZ5cxi+v`4ljP&IF0We+ zKhu&eEq62ia>l>-ws`!0#=ni_uls?;d--iIGrGN)@%#41xC%5Js7Vq?HVf>}zw%_9UUyGMN zd4c8sDa&6lX#MN>Pjy@TaomSDlEANp@qf(tUwk=Ue*a3#@8oC%@1M5)H{ZK2j{mFY zNdKj*|NZQLuV?oh^LzS6(BGH2i{(3g+gY#Q`+XDN7xDNm#`h53z0KP9hpgx&{C;gB z{uIVv&+m=!^6%b$ueXg69zI+;c>8Z`(*E`a?RPvI!DAWmz?Y0Z$#icf9X|ffIDaJ5 zH46K^{65}wB@(`k<$vx^Odoi1|s zpZGlIpz}d8!@slKkwnCTKW}1(CDP9|IQ8Zx<6A znH5F1r*^+Ff#1V4zn;D%fgiEEmHXfv+5WXmcd5ay_4V^L>R&I%;aj+0u4S2(o z{$Syc6Zj_cH+v6a0qv4xK7Y@sgM4tX@yYZbzQg$GhtIKb(96G|$$J}Kj^6{Yv;jVz z?$H8${9f^Ug0I^%SNxvf>w5ay-xGX~Cu2_hp5U95qnn7g%dP8$2Ns$E7~KHB4qJxV ze!>L_7%=RxlVOKl3_I*$*kM1z4oeI>oMhPHHijKeG3@Y8h8<2b>~J^34)-$ba6iKi zTSnM^!UYK!Fzm3CVTWA|JM3ZDVL!tTOAI@lWZ2<0h8<2Z?9f%g{x1*e&tSJf|2|j! zbqDp=B>fJafAR{_!#^A(oNN6bb^DU#yL~x*<-=3|n>a3X9%OqSw&e5N@;bB{`d^Zu zQ!?D7*k9dHfBxJg+hIpH;*TBw*ZOB8`^VuyQtm5{vi?b;{~5~fbV7gZWqYR&vE3gf zAAE9~&BLBiGP~_F{QgD4`w72ExR>yUgg++yDd9tezb0(?3oHNeJa_pRhF?ecgqtk> zc!n1cK9%qpgwJHUuUu^DPvQ6H6P`hM7U43&iwJuO(}cr>Wy0$TUq$#v!nYIthVW^` z<2Hu>p74`|pC|k};Xc9xg!7sI$%K^wTlYDI;pY>cLHP95*50!j-pKx1#_$?K=No_b z*~3X#U1jz8_u%TdemmUrxnH}+@b&T=!AAP&Y2+LCmwNu)J?01Za3lDe?T4msr*FTi zev$Nl^)EL%Em$!(JiM^U%PimC-Z-5-zA3!H>g#&H;pgwabluVb-=+mNNbsFy8qu@c zV0UhdY%$Dc@$iIQynI>ja@onA&x~R_s=e@meR9?7WRv~O-B8O0u-7p?i1T^!R)HM| z&_i!IY<<2?-#n4c`L;Q+&Q9Gb(zR_I!3n#K*zlh#;Q0jns9=XyVMxCWmWyG?khog@ zunQX7pt1Q=>ao&Osbz8nJ5SPJHyd`1`5BN7HUN7}@rFf4&*bP?y@lE~vJ;Ig`Qew9PoIfE~7qy1oxk zhb~@Vp}4v2RM}>S3)9EDhZ~-`W`iJEiDX_(@g#C5sK-s+K8^g6i+1;Dh-PG4% zH)?<)@lO!+f{xl<+(xP|X5dkS>UFYfGd#JaSMFB=7Q#F;xx%q;X>r8bCa~!kJ&f(~ zBke$U0-ZazUXOOVZO4xkWm^Ezr?q~OZs!KWp;@}Ub~wy75i5Tme78&cX0*+iQ=-V4 zHF_j}f%$OGr!Sw$R@?A4#uktzUliKpz~ktI0xsmoCP~~y9&C}llDhR431#c!rc9_7xB1K~)SNntw&~52Oi*P&`7n@62sR|Cx=phJ*R#8N+q9+68 zkq4p00FK1r?*01hmy-@Sf0)@4ZkrbD^owuR##tk8$qW+Jr$;Y}u%nWEoFk{?l1Cuy za1NA+o=`|{T$;N&7)j%7Z6-J;*kVMNz0wk$N^i_94WrLHH`vk<1nYs0klSgE159Ww z_PN@gROvjB-j1A9f@{XG6?-59b!mILYh(`#Kzqw_#NgrWga}hE%jfi1Bn}80XO?p~ zztx5}lOl;CKVzvLQ3h5-or5*-yI|oOy~xQ4dd0rZpwFX;!NI|^a`>S$_yops)hm%+ ziF5exkijFoD?iUy{UaxM)A`|I8OJ?GlSeVbXEUM)JH;OGH!OG{0zytrY#Z9St2_k_ zB3fCt&qF7hf|Ual>8w6nhBJ@UVZg$U(&dXtFUmqsXV}3(DGiTIlrlK>292aAfy=py z96iRvMs^Si27)|IB75ASXvMS{739^D3jpo)CwapK7X^%BEDoTc%0*xhiuWbyEh8B` zyfdCI=j6#Aj0h6WWhZQuZx9cABahQ0EiDb=OT|)sE1|cXE>xfaM|rTL05YYuN*SXT zYpL=pSlcFJi{OIcMJyRBPd>16jYL|Em3l@_O{YG{Az!)4O3 z(%r!KWY}`@_>!Fl)}x3R_rWJ}m`IMs3QytG8QQ}qZSb@jh)}^BSvg!R0G_D5Nr>~s z@;a5iB$XGVQaV}Y1xv+r#KBuR5RY;9JZuiB`YYwgCAbH-5oGW@nJ@@!bv4#CrLbADwP6wR zBf|W84MWfqX&VH~(i{{yFBDo|JC+%fBWF~QL0h_GQ%AZ3N8WRyGUav(B#?I%CArPK z(&ch`LM~V+gUfT!ap{elt`5#Q7x0YdZF>IcS1V!TAMw5z(x;@&o8%Qzyu~M?!Ke0k zXucDI(T!4-Yw#kQsHmDYY)=)6g~gdIP@b`@GAj^~z`-CL6hsx2xJ(YZLQFL4xxvP(MJW95 zlwc4-DFX4{?zb zsZi=sgzBgbZ&pp8M`$m&hB~|wDxwHd(VwS;#5`N6r2VAI7yXRqsf^(m@<(k56W|nIP15`R8c4x=px~GeWMj!zc{#DHEz(kSiB?hNEhZZ;4bAi8Bp{= zLFpqrk!M5r2yO!i9R-*^$>j#fq;iD*$4xydHnE)nQ0Z;^~lp(FYSWo_E#pVFtR=6rqFANLUPa&t&kdqK~O{ z*vuZl6fAXos>lTg(r z+TgM=-0vV~d}qE>Y8j+cMscGL{%zF`63p;&n%1oSZ%mky}6r`uHG5ro#YmMAIO zrE|tIjoUJ$XGx0{wUJ^CiLr)pTMf%tHpl}nI%(FbuuaQ+*dQ-O8UeikvjLKZM(fj- zUV5$Zk-mUwSnW$!VC(m7&J9&Znl(YvgZfC1p#bTd_XKecB`W@7G$)t7W$->EUn>?K zs6#qWC)e!Qz}%DtWH=wz$2FaOPM5xovx{7eHXvSE7zVI5{88?7@Eou4IjLH=fwTiT zyMhFhHSwcjAZQOd8=uoQYY^hztbv#!6rmqbW|)QU^h0Q9r!n!2qGqx{tU1kaj3u5c zb|KHIhA@^?T_=(kN@HjT&1C2Zx5jx#LUL6F%+iTwsM~YTATHA%F5fyPe2p|#eO(o{ zyjZ{l9JXRQ90#I&g%ME3a5)$c;>h&U-#JxUL5(>R3;)LAnl~kj3*0aQ&)NY*`Y_d@ zlO=>hxnbP65*6+vLme&Gro;)_L}Hp#Ce#s+1Z{*!7zlDOFdhyHS;_Tj6pedSQ)zDR z*Q!~yJTzxk;5JBIkJOoG%9ITJVqpRfB6yBjjWd~Wx^WgJ!n3Zu5H+mgU_GT^9uo;@ z!BAah($iS ze>-3sN}D>0<>Ax7-+~A)hEoe&bU;PyAhBv>5;?^8yLAR)?Nvt<5~d=!1>JJ%MYq_r z)j-jjRk?ycvC_9GTYJ1Yi$`<^NAV9-)VZBlsFmw~akutohx$eHNV}ADdW%S|gxi;70v>*bmXxe=B@Ucc_+`d$=mC{7 zu;wf`2WcLESlEOB_vh)XaP`{d7x!JZCRofuY9H5Mh>z((y`2P#x&nrQjVTq?(yY89 zng({*mccw+c<{+;y42<3IErDU^`U5Btv^>@Aya!aUYyRjEf2n0JO?h9Lk4Ttp+0r> zYRWa|i>D$zUc~)BdYOw54J@ZbP(01>H2d4LfC%6cd&yWBKvSbOvCqXXZ0$oQ0)e&b z&9>c~gA5>&x1|Y32?cA{0!jjLWy}1N58l@A@<;z#Dmv*jPcEPe$Yh+yz z4(lOeEd`P=@UZadcieJ`=?I)9Yk%ulB&0cq(Lat&@_#vM#@Don<|vPFA@)$7Mz|gk@Q|X2qg# zAaC#krUmZP3LkeD{Sfkgs0(^BWu4MG&1y-4{xEgFFm_V-MKPe;T$H;Biw{2CFjpO3=1eR%4(cjm_Zv5SKSDbS;=y7JZZ%g?B*~&dmW& z-IVaK=8A*RSh4oW<^p&LAwK0{QFx$SOPoqq(AZ=?2PaJXFpr zN@c5u%8c-1WUS%cmzWAkkAQPCLO{kCSwvEujGezt*-Nzf{V6Lylod`Gn#x z2Az7fCRa6}V_=#IcIg!P84d6Sw{VQM(YZ|*dh@wW85vR`JnCMNyil;>h8E2M15fY` zF%luwu9IaER?(*OW$`_EM*Q+;+*6T$t`*Z}&TW*Ym-<1ji<`kxN*#QZiTENN+2l?z zAfQz9CLsYXatyGfggp?8z|j>^+p1ye^su0UmcuP6o78esX(MQibbM z1nJ?aQ2$_LTbMPvg3C<9MyDeA;(kMNc#KHI-grs5k{V_?oQ|-B8;w6|QO5MM+NYpG z#2AeZKoL!hly$Xm7MqjQ=ANO0HOGRL18*y)XQtx0UC*@OYmYcWkLb0E2C zc2-SGfdW@SS+W#k0#S*KHE~RKoed_!D=wAVpRkjRIbqY))Hiqq>PC1)#uueACPl*A zuA-fRsbG?l5aWB7Q9-!oJc_fr+Ocs~*G3B0Nd;v|A|eSF`7Eq%G>fr1sFYy! z*!@mg4b!)>FV!4zlw+Dy$j||?8N((_`Moq)r;-UKD;GxtZQk?Hn;|c7I}G<3ySX-q zn`Fgy;e1W?#aWB>B3PInn6iN0eIQe*9T3$h%vY*|Bg66q+g25%w+PsrE^9DXz_OKm zz_uq`7b?HR$X+CmDval_pA_^W9^q6}tpo9j&<2Bi4`An$-8x&R17q@qy;4{PKoQy; zH^g+((Wv|2RW-p1Jvm?`*_na`SDUWT3nV7-`X)>Zh85F6=EA@qL?j8#e8VPiQE=W< z?a(x#MXYihdOKw0lN~4#GlirL^UK_ov-aQU9A%{X|yaWq4l&eL9J!#TFL0{V;RqC z_qa=&M9g9AS2lrAB0DwrhCSPox)RsNs=ERjSo|7A*gp1CSH1BQLIxH>$ufZhH7I#O zKpJvo&uME`tydz8Oopx=kxM*Pg6Sj#2GTrSMrTN=`g=I%_t3|bLL}f>YWfYw5JbKf zr4}#tMG4bf+TzedYAuVaH6x1THcL}}xm^k~AP47x_Hy9M#~m_043~jstp424q15h+ zCWghT6@~*mYhVGPR|5D0QJj7bLY^EwS`guo#iWfwAeTEJ@(}n@{K==ecuCB1?njeC1Mg|;-iC3T_ zxsKoJFe4?fm1nU@3?~kn2?I??A;eojq55lsi@H2ff^J=OHby1c>!^FLEElLL`-4y_ zUg9a|27^^AeAXN(8^pF$ZkFH!oRAfpFGv|NE7D{|#WF-g)Et!`EUUIP;U-U+j>@|S z*kvSXgePkckEk7FqXMgpVW+-xIR+ytG=%{S6r;zp?ht^Qm#dd`pol4`ccxAcAaWR5 z>?UrxA6=R!+mhq}m@FK~Hs#PSSi+#wwo$fjVOP$%i%*v`Tj?#B!@}u+pdQpZFWA^7 zjzRkhFKAmwN5`V8Q>n|-aD$7Auo!Uws&1D;XSf0-9XvLCBS30Y0$9yB&BH@uaH(M6 z)D_P~9l_$$kz*5vbS-kT)F<1fY};Rcq9b(~wx7y|B%)02rGEo4f{&Q!*hdhP3lEGH zuuBPhf#i8CyvcLdDCM^Ed~ObBY}&JTGe)=mXh#jQ6+17-SRO8d}-2 zcJ*qRreKT%ci6T&&P!$PrSVuaxZZxPy{y-N_N-e4HPZ{^VH<%p#7M9y47cQ?`k5Rf zB7q60@7kA~Gl`6`U-mAB>?y>J(DtB7ayS%mo{GY7I;BUU@Nz?BN@2wCd7#d*YEv{e zbuf>vfc+kF%X0Y;5wk|wgYL01*aa>hY`3w!i81+1(ehT;qmA0&wQ#-2DJ@DpJLIyV z7}p*tLVE2_7Nr9KtQ4%dU<(tcxA4V8>5=>``P%|lKvxIaQrFG3Ze0|d!C@$s>OmG& zm&&bR(wYn;r4-hwc{)Uuaw;l_Va_XG;Ng;|U&3j&F`QbRuF;^|WP_6`Rd^*7!(XF+-W7sL`0F)#fEw;-ib1mNf5e>}6Mes6d@iLTPw{QZ>eu zFA3!WxuEl2&PW*Vp?mDbGjT>)|9}y(s}BnjZDkQj)M;Rg0Q3gU1{=)krNIeUwGreX zKpyG`eJ`(M!N^G>#DQB5xQd~mOMlp6po0()vZ-h`SH?8cp45YzMqgY6X~Z6rH9c%# z(3$p(vcYDULW=cZv(2R`ZI3X3niPhf9j}$zF7k+URQy^B_^kwJdiR)dSL27p$qY4ex0PDWI8ZlSIbW|&Vi|trK0OOWen;HujIRs02?#PTCd8<*$i{UG}QJRKig#Ylu9Qp6; zAR|WrIjnGC8UteCaqM_mN$$jY5UdnFIaU+&)Rjp%hvP;Yu5IzTD~&C z$JE+Fa5-e6xEb3PMh+D(Xvi*Doe27@AGKJ9He^=b%QQ z)M5CyqjS>3m2*2G!l4f0crQI>V?`<@CoUvQ^c_OoxPZY=%sehS!H#z(rp2fa+vygq zS{Yzq!AdN8VXjem2u})u&m(V3#WqzRgD*v&%=I?_^`$jkSo8TsZEp#VN#^VoxKOD@ zhMK7VFw~{#$^;IOl#2y%0*X2WL9yAOniEDz_TR(OVNt6jY7Rs&x1Y-|S${#_`krOW zSIYTHEJvyV#r00<9Pd7rjmURQHT2m`(|3d8qZPb>C6t$U>}1!B*c639EKFlhK}sf= zkU5MHI-o)?`Mb;-!qAFzN2V4L2HAO=z)=|}B z6)f+R6dKB*nIs9J1+cDic>Sc^fY#bF9^9~4kCX8L1E$I%CgVbJ?KIJmtr* zg~DEI7KF%EHpkZOjDokFNAv9!(h$72D?Wrsqna{Kk6T2+uzC8uk8>Qapl7#w_RX|zDB<6FtI^B+=4kySjB3M{042{x?Wif&TB;>eO_ zuO08}S%p@6q}tlLU;)?a6w8|;G>AB=WPc6trpwx&B#dZ546__iXl%3*qOSF_s}a=o z5oe}3f;S&!YrSnflM~~y1x_`xOfJC7GSvW*c-k0yJVYokYR}AKYZe7Kp3Je;Vf#r1 z4VG=I6{29woZu6*F!!RkB3deJMqcr+C)%$A0Bd)hVlw=Hkq&6Tu%oa{n-Cad3l1Qu z?E*r;Ytjab6*CvnF<^-cz!LI7r$6#dl^HfYFzXC@qkJh+%deFrQ_*aCG?$-1uj%DZ z*pXf>vSM8Pqdw;I!nNv61KC8Sc!WBiSy3F*g1Vq(H&L_rpd_tiec zmD&Oy5oh zd3Ek%bD<2f{`)lR1@blq4Q)r=RgB9cR9vW629UUUZgPa-vUSn5W{H>-dgx znvgKwphRc{P0K?`tEI1v5igyljA~lR2Nh$tyWE`#nGUzaa=^CK+`Ld0JI4CA9(lw* zxAqBg*kJX4t%Mn6d5E(Gc=sZ|+ zsS8G!Gb|44Hpd)>PZ^}(DAm1jQn^@|i)}O-xCSdY*jAD0fX_`MXaiJmuBI0yl4A9I z_)=k5nKiU6;l8RYlH*B<`mf8B;lt%xk2=_az#uvbH-*AhmqV!dty8Cz{**4mfQe&z zaD>+qqFfxB@w93*P{;bEwi7~8>636gu-QOVu`VVB2hB2q)n5Wh;N+C~TUdjjpnJ$? zQV;qeZ`*N%9&w){drg@wTorJi0~9GvMrj>#Q-zRIkB<0(MmK!Gi?|z1RyI=PR&fxB zLpql=d(D%rh7i&0T>(^D{QLx`G`7gv2{zZgYcHD z_2@AwzX#B)JBSmEIcO|fcO`0UEy&4kiU>a}I%8B@esPr{mkvgjW2~TXy~h3Zk|y3s zdMuExClQB~9J%!Kyy`?lf5dgK`)gS!u7M7g$wilT>!P2&6YjEkLn1r;DneB(T@J=h zh(=w>vSt|i=An3mxpawv>*_-=c_46E>S`qjn>;GFbD;vPXkcywwXXZMhH~INOkV}r zUJyZ9x<=Iq0pj`~RZky?RLPyas-Bagn+~`ob7?RqX)+~ma;I$+)gt|5iww=QfQn7Z znM%b+GS6Tnl~G+HQkzK(HPI;1ksvkuNMMRyM}nFYgrZzy5gYPmjzYe0g(DENjUU)) zsJ@Ei_)(h{FxhLr9CAbn4&XcAEM_hqi*O5^BI$@4(^2D+Pp%z6sBU8M>i` zHW-a<>i~=nn+3bn_y}+|lwBs6z!m*|#&f7RsCy@D;E-t`k6i;HtgTD;S|L&a=e%eb zxE=mVJ)hbh9i}9`k6J)gf?}4{GVAOtJk1=Ponw8*m!7l&H+AFyA21O)2uBwjVzD(l zhd}#yW5n{CLT;Q6T|&NF}v? z`6YepR$Xvm?|RTwj_~FxqZ|^6p$vT-?P@wTIrIrwv{;34mtEbSP<%cd z(%(S#sv%TUN0|22SMt((Dk8e(PK~FILSR6`Xb;D$PAd7JvpscKN}l>f_XZrYl7|JF z`ahuLoAZsS_=E;-sD)-)5>RPsZ~5Sb&P^0nPn~l)F4e%WpPM?j;pLFkxx3~nIRAu8 zk+MD=n7cX$S4Y%2wuExRVFZ|?I@ea1yrm9Wo%^aH6sDXBJ6Lrd%uwgp?t?9^xS40p z>O9on(88ht4pE(B0IR8UY(cEA&fzFJcukI?ae1ijXOc~TM_!XR@Gp#vRk7i!fQ4c? zxrifxaOuhiRf60oh{6k!eHuqrNg=v0-9Kdi83DCys!hB@1 zZPO!bN2<1~y(3uWi|x_{Yw9f1vwXFXNQg)QXczVfeIJ# z(cxBmP`H)xt-j%o`yJa;^dr_gL>!mTtveiI0u{YlY=91BjorxQD;&KvA=_0~y7o@aUE^^6`RBS9P zmBDGdNZ4D(qDZt{7y?A2rS@u4{zC5El8~KhPiO3 zo61jN2%Za3_My2}b419o3%Uze%gTW?=-Sya3w=JMb=F^DGBS>50?!9_lp zpkuq4^j{@(VZoU)Q%4}1?wFKq!NMluw!#34S8^~7&QCz)%SLZ;MfmWEG~!u@F)vC( z&Qb)$L97U%@wsX%c5=yKBR%3OM`5cOWF5i90HgArkCq|64fShiNpbFL(e@`AAL+F9 zK=9$ALS!K;F@Xjj7OLXmL4Wdiy*|$XPZ5^d@dk#p3U>VGlw_yX|@PnP}Y@#nigW*j4SQvb5MQ(4Kro*RLG|&HRMRg z&wYPUkDsmNNOMDpnt@UzUqYtlhDEYj?ZL*nw6TwUGGODKxqyfIWx$XUz{KjvtH?%S z@Fc7l<6mkGJ5ule7g2{7Uw47&UJNk$I&Pm0=WKH8ym->g9QP?&O$;F! zR=%bZ2edezLdz*=gT!>g766{QFV_mzo{?h1X|;@=^3`_jSdo}T%RtX2>O?;_^~c=` zvaJ-kRQAJOtudfxt>G7Poc68INS1h_h}F_IZ1Eu~9=(_meoX5b@S|VZfOU4gB2kr3 z3jWx<-f}I5fDm1MGM-k(98*%#YP<_5r*}n5fbQxNkSUPVq@!%TcpYk^8cul1&zUJL z?Li3Bx^+leBQAc)yb3yD;{bL6<%`4eX5319>P3CjdVm4`QTT-6wxIh(4n&wrWiCNJ zWEfo^px3%aj85#N^ivZUtuk^?x*nmxI4Z+wCyrF(gO_5?fl#wSuNw;Rbw-d7Q84!5 zWsqv1gEmm$d>5^p$=Wq^5E7Z(i2KO!2j9mS9Xi5SP0%mli#N9aQhEpLsF^~Np0F=v zK*Jaow|~K?HBL13s3qAJz{9bJfww&5P*A(6R!7Y`2CgcDHoDL7-o|bcQ)ZQI`w^!Y zI|ic#U6si;M;VCim(^u6u%lW!w*2Z5oTflxFyw>t_3RDUX%^E24xudWw>}j61o)LQ za)9Gt@vDj6!-}9d|MZljozIo?Dlw|D3zAO4_+)RE4w9MpAl{L}{;KfcE)CY1!F82GfxNhF+n_tA>zG7owRoOlSC6iC`_a z4*x%SZx$q3cHZ~hJJy^Je8z)zuUY z4rT_6Kn$Q+2!c|CQnJJ0-4a8xOe+*xY)X_VnZ$qq2+AZ~GhNf&=xtbC%|XM8aCmue z=tVDH!J(EmNN91E&c{B8~6$+qy@&(mW}`Fh1~ z2Oe(-{|+Tc{E^svZk1yfF0|3UBj%|o|4T(Y8u5koBBP3U^$8sXqhsWt*LI?l77WSz zBq3ub@!~VS+vS3HDc2S;TJ|r|O{6<@3^_?AC(h=PNc{9CUan*l88{G9|s^@=MOu_ygl4r#Jy#H-(Gwx8G|to2vP zW+k8gLzQqOBNv79LsQ?`p3WvkKCEO(eUdTtnCUylF142Nh%U(wLD~*irfHRv=A?SM z>{>#2em!PBG4ELIJ|>yZcbqLOML1J06%}eJSGu0ST%bcBE1a%VBcoC>BYU35liv44 zx|TniZPg)dyvE}!lb55G);rxvKK#BaSydud5+|$BpE%`x|J%2ut6x`J(|E%}N%8#M z(g(T~H*;dTM=u+jZ&e19g!IudR}me3j>Ea9Gu5x4mMHn{L@s zacu=jR(@T>@nNW}8hdZpc%o3*jr+tq;%T=PGd*78;bEUzJM{(jw@p`<(_@=u?amB$ z@MF6@+R$=+sgQc=@)$`rcu3%P>+vpBeXO>Ft#y#gDQ9${;a`>FnjQPOw|DH{SzTf%eo3dxy}7Vb zrF^+(N$2I3-G$}ar}8L0nw|`;D0Xt(^Lu+|?o-FC*qM0~h5CBbbflGNtV^}^yKZ{iw*Nq2T71fqUTo`(LRBRb<_wXI@(*mvV z9Xntf;dHeT=blvBxLgNm*=Zc>XMc(-QrzEB@7}g2Opw*}zDVlZf~{)f zg_o8mJZw9r2(FKKUVO%{#k#X%7fO9huWj*|Wm?5vc=CE}PyL?1i6vfAxHf zm*hUZ>7eFY7n{#|HimfPvztuAG=fP+HT$dy(vL8eeYj75{L|0J-X8u}x_7u_W6#~a z5BcFaP6zOwB!0-M=DURiY1BXTkr!C1F`4^>6Z~iWBBR5#5_vcY ztRo!KHA_)ZKb}F!CGj_f3VAjC`RDvtG50yDK=hn@srh8oA9X)a^T}xv&rMvM=DUR( z)FCreyOixR(oJyZLd%@M4qcx#vIp%14=H zJ@Xtx%_mHWn<>kMUs|(0k>+LIFJtZ`&Dd9)S9BD7huN3zMIBW z8JXG-FEjGfydSrG+~NZ@0^?=GfPqY2UKfxD1V{***lB-X|EZfO%L!0TdMo<3QdQ$s!benZ& zTW_;)>23Op+ix?tymWn~`r&FtpRQ=DnV41;lh$UXuYzh_NV{JyA^{r?6@OV(iqd;=g zPKo=?@wMU~k55m(H@ef{H{Z)5s?UR&bWMI#hSh>sbJyi`@iWu{e5R?sq>#2l)XH~# zrVu~#akiyjyg<;Yar%kdX9?YdAcMw@{Wm_jaYmKm*4oy#pvkMZzTJh+vrwcjfF__JdCITOb6z12%{kZ`8+ei+N>h|X1qB; zhvVHv7R(M%9MmI(gZns5NOB|VU6L1H;W>{F`)yU`IB`nAXlj9)k>=ey^4QH5-{s?1 zYeM>5v)yV)WxpSx@3dt{c_g3SL&RTt&&4N7&3fVyg@u@)R3) zR8ykg^8)j<_tbJ6t6?$jggU$6?Efd8_gMTTJc3aN3?-He)=q({hN8p2P-=V&a>I2)mct&hgmT_(<7e13zJ zA|Uf|K4c!-5*V&Ci8}C6o=kuFW1l1oDkIpK5annl zr}B305lc&2T=_l@&R@9rg4-`I`i@tAkmm)#ol)|LL7P z`J~RK_y4#}lYXv_2T}krhj9}2iU)ad$QADvUs&2Ef0kAABd;i&0S9xe)i(9-|5pQrw0OGy!e3)FIF5@PyDaEPeR7grXAnk=6}2i8d4~f#`7=u zxj_1cmtKD5Ij(1=EH@Ep<`wZyGrf;n9+BzkZD(fAFYyx4hsgl8JfDB=v*~jz!AGKh zBED%vp~WM+>%wH0kgg`a3r#|;c1c1ezG_c=?POEs;}d@``e`-o*2fzPAZCShXR@^E zYPUNkIMEiK{TR|eeyI{z4HV1X@BJ4)TM2fppoGh3LA^xq z{Bu9r`Z02V^%EAu3MnM+F*RLxJG?Xb%ujIGLJp*q$12S47y2==mm_2cfe@p@zu9V< zS}g@qQ(|xm87n+CP~K}vNAvc&b}ZEtVZ9ANw%E^*==C&&YVfI7R?`B9^Yu`Z`o$=; zkFjh_D>1K7>HG2)IN20_yq7|*Qj-#pa?T>;;!8Ef3YnPb-&fHy!0Vgwm8IKZPo!?0Q5WCG{O1`uqWC?DG1TTPF%HK-QNAN(M{UIYu?+r zEW1(02WoN3l+;`D5n?-*^}#J81X&XGmjR%94PjOLs&n7k&OqFPr!YRsCQ0hsI6G$F z!g{V8ii3#X2P6)ulz34eiATEH=YNV9I>}-3FWqEgI8P}~H*R!f<^JUJ@wF)GT?{d1 zcg=!xVCFscseFvkNd_&+5&R{DerZnnLU2SPZ4#$FbZQd*?L?!B9}y6J`S}a!bA0sB z?~cUa05km6^Gp5gV0bOuMi>PK{cz|rRdU*34<-vzpYICYPT_u*$)=SK&(nq5{s zbSyHfw&X(dGtWHt%x8@cvyteytvl5%2&!!=^yN50LGbUl@t6sv0kNt`E?N}PMK<8m z={v5~HFitNDA`k&G>hkbv||~Us-o(aPYNp`OILm2DW_h!eHy*&k3a)OB@nWL7rugG%0+NaqaC-IT+^H3 z4dId>bdIa)u<9Y5El_nGn=9K`V-x3PRz{z;`abjWh4-vl!wVmEW@q>F;zyB9cACP2 zB?d|^IHWo)V&&>Y(wRR3hKgnJc^&sWttK%yG4*Ua#@AjVsp+f0`uyVa%+%8La%W)| z+Rrn{v3zhvf`31edhbYPjF~Cel$9QwB4NTk*T}8U_=?H9FYJ1d6x})=5(}N#meW09 z#(_$t_L+-a0(kji{^HB;j;i_2ecq?C>|eq3o1ov6ePi~m&@B6X*|!D#mh9W1jqG2` zzBBai%DxBsjoG(l8)5zjvu4mgoL!CIzcXtG{jRJC`bV?rH)Yv3WZ#{A@b~KPyR%;p z`kw5qpx=}I@HcDz$FoCdBm3U$*F*o_?5&{h%MO2^zkgr$TF^h4J%To}@6UetTQuLu zj)ML`_LZQ2Dti#Lnf>=cTiFl1OM9Ey_IFCRvY&10{!;d?r8d*)RP8^&iN7HRum!zZUd^*)M*F=0Ai=e;N{p^Xz{N+RpxG=u_EF z_D@6K&Hh=?UiQC2zai^q|7Yk2+5Z!Cn0*7$ZDgbD_XizkgP@b_deB++<3SIzk3pZx zu4R7#nq_}F``cmuW7#hT{ZRI$Fn=cdr=kCF_9sa6Q`vLb4?r8)$FiS+X4#*~{z{bl zC$hg5^e3{v9`uvh&jx)V`&&UjmHnNdpU!?R=%3C0LC_boe;D+o?7t5Ba`w5PuVh~c z`jgq0f_^6Za?qd3ek15-vy-4dot*~#bJ=a^H)MZ4yC3?$kevlxWZz_E&;DZeuAqM@ z`}Uy!R`wmxr?P)L`y-+MceC#f`tN1m6ZGHD-W&8k$i6@5f0%6q{g1L{(Em8w3i_X9 z+t8=7znpy_^nW$`;h=vl+X?!gX5FBFJ=+iZpJl_KKbsu}{m-+Pp^fZsWM2*XH?#jG z=-MB&p#M1gmZ1Ml_H99bE&D*wU(Y@m^f$5}hBmVQ zHfx9ewe0eDtA9Pa9`rQ(aL}9C-wt{^`<0+~vb#a=W!WFg=$#&9e+b&h{)g;h=>Mne zYUuyB>_>wBA6YNx|CNn{{@>X#G|T>Z_T$iZW&a|3IrQJ!`13*E)%ar2Z)^NU(BI#9 zBj~p`{`a7Npz$w)en;akzgvI)^~TQx{ez9a8uSk}-VFMO8)rfPNaH-{cQ&4SkM_T- z@q2>)(Z)9i{qDy11pQ-;?+tpf@xh?)ZtMhoPooI>J&j(_Ki(Jy{ockiLH|VKIcOt$ zZ{x+F-`Dubpx@v4Y3NhgM&mDqzSa15f^IebO3>}b--Xg2HhwyKjvKE8J!t$?&`IOZ1)VnjX3$yV?**MVej(^# z;~xb*YW!l*YmLtZJ#KtH==H`Ig8pdZOF{p1! z>d$UXj|YRiJvf~X^TFMneB7VqcYFO}Qg#Q&<6DD#*1x|q9~J%Ga&j-9Jf8LQ`#a@uj7hsc=+7QckB9B@Zl~YvpW}46*vUtE2TLiu{?0=p zFglv_XZ_L5!}6%OJL?aNhwXegzn710w9CN_9L&lAPI~#MJHI>N4Zr-XJ1L4g!}-*3 z2mNk7n@>)QS+8G?`>&tumS;Q1lm1}Pf1PB2#Hiip$n)leuyHZXN7IdIG3mcCnh)E> z*-n45GbnD%@?rn(EWf?mALV!R$)r459OkzN#qPOJ0Gv+`=K18bQ_jgIe|^iSFY_xt<#{`~f^7E zlgNG&NbcVq=9B%!uqf{Bl$6Hn`@Lat7B3iZ>f3o}Y)^NHJs}jd)Av2 zr@efzd(`jDZc%MI8@v7K`H-}dMX$H9Gb*O1cxcGMXcKe(I4FI4swg0%$gcX=VVmS#`=fU{-aSi*rSGx^Tm`xr*u2z z?BOzlZtdk%B=UD>KAGZVm@mpn|M+Bzz9@WMV?jlyUpN`% zi|f~quL(0@66{2FEX2<+bIs@RD_INcuXEHitW336YNzyv5=GE}p7u5B7ojKL<&%jl zDt-wg$`36n*K)4iT&ua>qmH}fbaDM?irLX*Y}80|N16yU`+bsaWUB# z^3kjTbg$<(LAcJz^?n=r+V%d{;`;6DJ+ruH7WX2HL0MwfBfh;OT=$H1 z&wS<*yI^L6g7zXYVB$4EnZTaW?uEIL@0H|fPlg&v<%JFelo{Q#1bXIn&)n{*POta! zR6;>(dHTiJsTSAi3V{hh6q5(n3)~gMfz<%AC)r$FKfRtG^F#6$ynj7E z?9-mt7^Sjq0uw3ifB(VI}^_(2di(TN#;`+(;X6rKMAjTl( zAjtqbfjfa@KPChM3fp)HhSTkEx*blp!|8T7-43VQ;dDEkQd63(O9JKCY>~2Nt0gpn z=F`GeftWR$hSLmpP2Dvw=|xl5%`N?GZiRt9H8%~gxoLpS&G>OMel&z8AuPUjOr1HV z${br`0Mr;&ps0laYH@r-nFFYPUqE5wNE=kBl=X5=5HQT>5i>)fR?CVz)(PqQ1W}ILi>a{@AQOQ$Mf8ub1KI1eB-##K14Lc zjnEU%`9}IFe#sMJx;TDxJRxD@DbpE9$-p0Uf6|}!iR-uw?jcOKP*mKGba7nb#^{zu z9bi7|(c#l6;vi}69-9t2Mt~TXzjrX&#!n(@dqZy` z0p&*e&7T&>4~`jz35VYAxPL?r&;uUR0n)s>0IvEskL?Qqf1x1)c-~iaI{oRbX)Z#e5eqG?FT;`Z!VNhn&lA_Gr9Di~WniC*XKY_?GMHWyN ze?CrwvO|#rY&ZxKxnOAbY#c*?jsbm7!EC{+$xtdrUweB9d+#hnB1Jt!{@w1p5`0Y zwA@V2&11VD;EHfr*cL7cTf(N$B9V41$1xYUM&ELcwswvF<(mBqfEuI9axYLo^-;_` z1UVF43xHZ&qr16wY*X(lu)Z!X*p=*b*b|3(1agD*2tY*oeW6f!g*BCvomE)d( z@`uGW+Rina&9(ldynl_hbItYwXheGfPd-=G zxHzKMJTlQha4@622LQ}qE<8G#j0ve? zc_@)*+5mP*E(-4JfnS6 zKMl*4e$*=mu{JC=cF9K8WY}Y=NYKoRSeOQ3zTZC!E{yNO(y1J=NYLKm2!E)UNA|`} zvRQXZ>dcr#br;Lpf&0;t8-alex!4JPLvNxKSi4 znE1(!y8CkmUziSAPA#w)aWWp{lsJsKyC@1OAKW?0-K8)Fee;zb@F*G!{pJx}rorcj zB&WH#Eil~@g)L!IXbDZA^|V0S7lkXqUXi^l=tnF3V8REhA58cF{b)7Ax;{0ZmSyq> z=o7sNpda)ffUceDiGqI6a~xhDl7olzyodC#UZunkg3@rQ?o{~^FcR1J9N5rIGdsthtsE@7Oo0cgv-LVa7ow_HU&bTKHU^hR|9l)RaaMabyZha zb#+x&S9Nt&S66kV-7C7f5}dBC=<15DuITEDuCD0nimtBcN^6&Oby-)JL#wOHy1J~Z z%euO(tIN8&tSfD7>uOt9+q&8gGhJ=#YFk&^y4u#&wyyl~lCCc4>XNQ5>FQGapsP!| zx}>X1y1Jw*&9`*5rK>GnZRu)DS6lI`uC{cwrK>GnX|$=UOt;lDGh$19<;RHcW<+>1V!Rnq-i$bJUJ4H))|(OS&4~AAM4VcV2NCtni2G(l zeludf8PVU2_-}4SY$FAmk%Y}i11$s(QYun1QaVyXQv6aNl})o?lh!1f3A8SNMkPi* zv?3#DOPWLiX-D!A6fH?UJYex8FVKp_@PKwCA0E(>C zT1G3HMx?zJjiVKXfv&7G_9zOt*DKyXg95>jjgDSt*DKysEtur zt*DKysEw_tjjgDSt*DKysEw_tjjgDSt*DKysEtw1t*DKysEw_tjjgDSt*DKysEw_t zjjgDSt*DKysEtuYT2UKYQ5#!P8(UEuTTvTZQ5*U0lDQI^YWEin26NO5_3)5M*I~)h7C;SAgZc0joaJ4~pg3mZbf7tV_}Urd zwPGWrKwcarwK4xau>FKV(XM*q=@MrBTII^yIM5UMrF9PrCYx9g(#Xgai=+Q#9rsY+p_`D6EPz)G({) znOgZ%6qIQLGoM2i$cN7M0j7F4C7pamppKmV;v8il+U)E_)H@8DZiMbIGx2;SbPq5x zLOZi^^7ydNj&EeiE@s8?b$}39NFNq&9XfjhNRbQYF%z<2z$yDw;Iz2QhW~QYe=wkA z)BgWpurl0eUgm%GLul#1Dtn=&C#!48nYxzjscWg1buAs;O1u4JKxpd$p{)mmwjL1L zdO&FF0imr2bm_@}(AEP&TMr0rJs`C8fY8&bx7)&oLY4+w2NAhh*>(AEP& zTMuaS$$-$-143I52yHzewDo|{)&oLY52*EIKxpd$p{)mmwjL1LdO&FF0imr2)O<1^ zwDo|{)&oLY4+w2NAhh*>(5?fr`f>2bvPb3=u&ovo4jEai%Av+6R%wR?+s%hXud?2Q zzjer({II|syX1!jjq>cU+Q~U&{c^|#&SCyrhb&AES&PxWSbQ9^=wSEmA=D7^$uaDN zV>x-&aN3Zb2MNsyY|+ne2SGFD5J;y)jMEWd$PvqMzRxc9n#Z0UEhh9MEHDn)b3V*( z9mc`}TpTtpG4mGzhq$IATyu-ngDBAOn+|eK$GGMeGk;MagPU9Iyof^h^*&ASw zaDKd)v#T;+YUiw}P*|DIH-Ta?pUwCCi}`e_Aqe!Y33JXOAVqjH?O~gB^?Z73J}qvb z70` z+?bC!WXA({!davzdSAlkhNrRfaU7G+J&)q&ad9>uv!BTBjC*YJ@y57hw}o+Zu5)&* z=A3fJrqFz}KjL5!gMAbSMU!cM7iLDTfxpVa?B#|%~#{AP@ zIF?K%p3#O$;Msh%(?0=l!wJvq@qCm|$4nb$MF$HsQ2^lrgCOGf=R*c$;2y#P6Shw< zOUwzB`NDjk?A_@Lqc z^De+fh&<#3q~DnnpBwX?1qX$@oP^TmvYIP(A%K=sd1P;wnW(W3&W#q9WOc04XNz7%*FJ(@2DZYRwbLUSo; zemOK-N%Q&8yc*b|JqGhR@N~v(cgCjmjIHXK=LEoFc8#rB;J0Si*xvgJvJhB0DmU0h zlQ7?%Q1NB0$kMcRC|BGQLtcen*oSi79SmX?p1A=iL@!693T%jBr@r@sC^E#g1j!$5Fu@L{vfC^ilq{uzbuLX)M%tVcFfqkgt9;ZQTJx^0SgWK zZu5b;0UU~n$Q{r)bYGp(N@s`;6*oa9CgNiDXcozt&DlAm2!kdD4H7e=z(@cPhuM^p zolUK~py1Eeotfp%NfXY@M`TWf_=S^q*!U?Na=?z>j5gP2MUOLzAh$$W87);)A{c#R zE&}L`G))a<%H}VC(UjWExvj=nzGEg4_w*Q)4!QBpkdc6vp?C}IUO9J6E#y76>HuU7O* zMQQWe+t{w?rHXDkT* z{V6Bprf{Xv!q5{KsX(SFvLgB$QwC)1Ci(7ee@8>;>yQpHMRJV8PU(JZ>jbABg*Y2M zAe%*UA?-CQY2z$lMrHpYbf>4lTQCNoK@sM+W+if?0JbSD1l`L16pNFo!`m_=LR-rR z^;$*(Ea(nrli^wherF%7z6i*1$e{V1GCW zEesN1GY9eh5hbKt2atbl*008wegpwNz~}_U?-L{iBQD#Mdw8KalOzL-#*QKyPoZIsI1MHCDL2pXr!;W%k@YFw6 z(isux0uIu<=jK*k&CW(wxnkPNj!5&Q@ z+1oKZ>r`kHIiFdh2FN3Dcx;9!h}rL2oFGY4D7brzHHP`_DBdR(N^Y9?kl>Wa-$4x5 zcGRa5^_W@q5MsE;(CmN=3J%zyV3{IphkZrv7`rDA1^UFVLCr{zMGbvA;?tF;qGxD_ zZS4;k5_^D_MnS(x*{4ds}T8%@6`Jjkpveu(*Ia7zJAC7IAV~DmL@ne4(AfhST~9Y#YU^?vA+zxgY|G zwl_(j(J5#p%vi=Y8fak$6O`cS_h|D&1QC=YNPLGO8QI~`6-d2@e-k29=w500sl%MC zc82;Mp%EPxgR>r1IX4GJD0YZwLGY|aB?A8Bi1X?QQ6S(h%IwT^ zF)Oa&Q*rGa1!bcgWG3wdJ1BG5;Dq3Ej(6cb=7yjcAgX~r*cj^NVw9JOky~atVn;?6 zS9I13`g1kyGW^hA;)ZUe>L1X*bMTq8@fD@JqsUx@GsWl4d8vrzC< zkR!Cwh#?E9X3bX3Aku^P!!hFv0@2tVl)(;Y7sa4I?GcFqS(JucPc@LI*Y`m&rV_6? z{2j2*7r&7BF%hO0DEdc6pli7nDGMSGQoITqJ@bX46Ac`p3SxnHJ`=l*DFTJ`KPxST zS=TcFw$slW!#71}Tib}@UMY5ih`tcHMM9X6m0&*4ac zb#5sa3xnpjnEkt#1fj*|k7hY5wSpQKl)DlxK!}bt)aeOK5ZM0>zlxU=YTK<0yb=&~a%N(;eht zMs~_lobOL=12mJEQ{>!ZKzm8}WfZhOMI=*7R!kpC)!->bm*1i%VR3jw*vQ3~M8$Au z$N7#?x5MW)$1HC%<7CEW{3;eJZDY}P{prmb0OmDTQ7mpWi|mMW&_?$N!9`Y%G~O&X z>zKD16SL7>8(>=?>anRS%CdJO3d~mAyP3Ib16&oD>$qzJ=$c&{KzHod0J?BF<9-dG z3-)UO_FY6lcP?7owE=Y3VxvllOK#;IwQp&*@`QS}G+Q#%y2^-Jx8zn%seeneRj|~=rP<13 z>g3XF6~yXCs%iBjb#=+D0;9ez%~pX?bC+hTz^KDZvsGZ!GHj#a{R&eUGi9>VEN7MIKo40eqX zB;PrOP?g>BC(QYTtYpV)IzOATaUWNra@k_Spr<`Jjgi}2fO6_ zMX6^9YOot=*$+qiI%7{Bcr=}pnfAdl0#WfA%hYB)?`#UF9mPK-oB%-XpmvIaX=TMc ztZ1bt*=>#=^svnqBb$&>9u=?86-!FnDHkCG-A)(IV8(1txnT&)u!WR)Fsnpj2=97y zY3}&G;#Zsj>~XGQ{xn^1Vh8z9QnS)IHPKP{$@rZbApO;|+r zJ2U{W{{YxEDuVW{@&W zsi_#uU60zu#J(MtZC>*|aTUE6T2=#6vOYO-{TMeq!qiJ`6+^aRZ8x;t*l4qPv!!C} zTpfTMv?=H+m-+-5Wl%H`-b69$1etS)cc^!h$sBX~AAjf%?g}Kl?|vX8RccqH42~1z ze<6BSjJ)j_HyN1%Yv81cT!e;>1m=fiCK{>5EG4&?4kqnvPC!+Qgwj`N34s@ILW=Wb zFky2+jdA7-4md-xb|j_)wY2t$Hte;W-vR8^Y7+Z{>UYh$eD@8Y<8B#rhkad>6O8*} z+?koOH9d{_Kuic2=&8yv+{butcOIQ-^rq31MrSp(vzoGF1&}#Y`*yaY@KbY}_>_$h zfUcIiC}C(W!V4%x%0ad9bNuRDWy%~IAR9fY0CYz0Tfe0e2Gzbq+RUh#BreL7i)u>%dk*weyl7cx3P1w!KPG!*g?%Gu{A$N*f33mm-bYGt$V5kx@~RfUFBQs zvTVHFAX#HegtaX$%rXbODeZnrkx?rS=A6lhRF}I_MCnhV1sl)Qi(u3i<)5V~eqs11-$*f|6Qqk4k1#QASEsX?MB1w0KX2)OH zN{IXEW9Fj$!2?G6qSG#|JaG08l3U!ixFLk(T3BXEtU>1#K*CRFOe4JZ%k{P?yG=w9F~X@=+PH5JbOS;B z!{V|0Ens50(xk*~cv+i)eTyAQ$)tvzU0NNkxpzV9c83T+(Gd_PdqrH8?{`>+Ci+l< zPh>~gjkg5KxR}oEi5OG$YPaf&%iZ&7`39eTL1fP;Gpe6W%ZLG~crZom0QrPPqW2}c z1J{UhWc-AZ3SM{%Wvv3wr=$E$RM^b-PhnX$PDdv!A)+jXea;z)Jf&C>{6xe13Q=ZE zU2gf*0^1Ei7Sn-~66Qci^ht!bP{>Sz=O`-AO$ihj9kUiknqp0vB=20NlsI>IH`!=P0BC*dk^}xGRDh^vRQ<8-N7e~O` z+`>50dUX8s@oY?U@&A;*lMOr%jtN=btKYl@0dVLWx7#}t%3OgS=z(7#H*ZA>_ioYERO1c0)syy{8SMCYY(`YmlMhqdSlmpjnO z#6FFaucYDpW#z2uD)q4HDrHxFY-sW^J^p-Db+8&$-KT8TTgs+Q>Ih@GMU94>LPQ5K zTPUXv-RK}EPVe@#Pv#Ei$oh_m zsX4OJ5d4tdPk|e_{=gn5C{Ksbbhr#E9nkGE>xSc34*IpkwHcs)Fh7B?5ghWcE0$Oc za--}*y}xg4_h0oz4MUF!42a7vBSOD>NyA@8K^|dg&b?*>UMzl%+H3A)NtWi(}O(Tl5KOd2ZJOj{R=e1KK<~MLC4IW6v?S z{<=itIE6EsotU9{YaRpVAhF!=);ye(jkq;0$`a)s#~HxxF16%IC@JWEByQy33y1Y<0)& zJ;o(^yR`?*Ak{>4&tc84@;6b=oNr1sC}Y@`hAuM03@^LXgi>qfSV@j^0s)}<-eey{ zxyAyV!-x}1nau(&lOO`&_YD-uu?M1+64KE!5sfwgsXtZE1uia6<1M->0@QtOnX zA5K#H%Lhczb6L#yoz6fiFJfdyt6BW88@4PMPM{sopcQJzyL~|@ASaEzTpMkcv`W$d z!F>^i{;ZdOe%fVL(=E@YU0P^2e+%{6lvozW1j!l9d~hOBGD*tqRpqdlFFIFJBFh0Y z=;K5vy3j@eRNVbAT8)R8Vq%qHX6_wvsHZnT zSTOA+3B&$Ix{NZ7s!fGZ?qP!~S{PLP)f&%!#mbygUGdvB{!)#nz*lytt1G@$DYrYl*u6?b|Yf<0|*xI}n1+Igw&1+HMYS`L*&0eWRfy-hmD_j{{^R*~& zeQa%Bi^7#!6u3~fwo{7&m&?}XYnF>8!>IuLySkC}fd@Tx|1FXzzQQ%B!ZC;B4r&4S4 zS`<7xSoyPNJwI3)b9lApYf<1RYi(XH74Ny$eyPRCTd%cWYH{)oZ0(m?tURn(MWtRk z-jA*QQjb}^fV?zYvsRByy^Op`TeDV=4YJ#{Uut~4puB9mwuO9mO;gV(P7Z6o)MLXL zV(piDY&cD<{Zfxj-N_SW_C%q12DHk;CyMQf%;iL~X6*^D>#^}vXzg1)Hg#Jb53Ou@ zLbTS@W8*o|`j>j%cv`gnr5+p4jMl%@W8=xu`j;BddFc8FPDE>(dTclwt^HDu4QHjb zU+S^p)U@_XJvQ8vs{K;q*Q^(mS9ZLoT+`Gd=B?%0FSUqyhq?AkEn?niuKiMrnD?7& zzts5pKfN$;&}+ZcOR7GIdNI9bt)4gaZrR)F zHET7#-Yt8DeQm4WEqkH8_DelB^={c)?lo)m*wnjaufEr;)%be1+^ToWErdVeV$f_E(42B+8jo5 zb9n#|YaQ%x<{ZmGDK>eDQ%{hzWL;Zuv0ojsR_%f_jF49-V&#`3Qh#^a@#GhaJMMe! zOjrc6fZRb&iD)SqfMYy#mq2n~Oec%n(;N5QR}97o!048Wv8V7w&SgG+K>Arbv;7>&Jh%N4D`h7o zHl8c)6eFSYWeB3&Vhy#fkfb=Q}5Ckx$qmpLli-pvH@d;!XgH z4NL&V_8)*k)>sT!OxS*!%ze~$E=A!LZ*&9t$38Y)hJGM3#QVQ^?S42A988?AL42M| z!qyT5HN1_=1vK|2^FjQ=$w#M1r?DFG(}1#{%y}o#YxNUOm4R;iF?XQ3nlPH3Onke0 zGJkEtUD*l3(FB7;C$_+ched3?FQ5f_c;FU_l+X(CMGNed0@^p1<5UtSo~Tl0k_~Td z$a71PjY?>UWssApYWhOHt;^KOhE3SFlm?P03Fw)L<-LE=@)^;WW-}~ zH@SJls3G3xn$W$;5Q}tBlL6szmu6z=?-dVG(9?-m$QPc<(-T41@*@}f-k?PKOz#lz zhP9l?JgNjD9-b3E6yo<0a{Ij6&V{5&|2_vRNCCqUTA$}$NqWB8cA(NrSJJc34}7fJ|RRRZ*iP+Oc{b zb*WvwhFTpnzQeq7SP7t{v&dwrk};_?{=&{}(#6T?6Th#|QfoHSd1uX_5+JEeIPt9f zOXsamc$kdhm^E2X2FNVMIc(jm9_f0JZ?l`HL)+vso!TZoj&0Lxv~`0gBAe{gLrRCe z$w9JO_o6bXJ9xss{U?rulP`74=_FY5yMT4rPJuIhDq`}UYm3ZKWNFU5*eV>rIF!0m?7IV@Shb4rM6GVPUP ziblZF_#xL0lS4HDO{C(aJzm6-BI`8iJiz0-+|8e!aG#c{ z!+}34E<$nI)Tf?vnnYfL*kJw+ppd8Lt~j)$^)Tbs`~WqM^_1ezr+}suY(B(KX2LpT z(!gP&ul94AMSl_Xf%_pQ6GB!Y?b${)2RiWDZK97Q@ly8vVfyu)}fNIfPb=L3HqW8-ZRl5PoUHIUV4val%?)5(V!Rbm9~g zxFTE@wgu{x(@p@(PCJ1nz_b(41rttyDWfRpj;SV~JEod|?tFAq1ekCFx@N)&=#Hr- zpgZ4}7q!l`6JXjY3iuSa(GHkx9q{P$0Ta#xC!7Fkj4Dxm6rCP`V(J5+76;5f51fAj zD1TrvdO&A%Fh4{kfWcGb<0*aJIsXJuc<-bWn4JpNqx&)%#g8!iC?5u%(vi^Ts9}jo z&oexc=R-L9z^ycvDGy-==fXgDfNkK0ArKP z%=DmqaKK#dpnT(iDc1o8L=OSj1LjQVseT8{kPeu-9w-6}Xu`A=KrIfGjsYweWn=(L z#s&QW>#zfaG6<28=>RFj1EmK56q8#(ODGn52V4@QWgcjOf122VR%qMAhi80?#~|DR zN*{Rx$BdIaJm8Zo2RV0$dQ9tJP^2h-;~?)KmBgnqG|6}M&L6C}z-3`uxFl=|n?h?b zzP=b!N5|C9vGo%`jTd7Dgn&{&Js7(%0#HO8K#{2N(PDhK7*jRJbE+eNVpwF}7CkW< z49>??Q^rPEDa&*jx}33<7GO95DQl2>rT)%TmKZ>GgTNl3h?!Lz2o6RuuVGMud)v`_ z*ZBKm9&|vjrQKZytTEMb>|+ySuO+-bp1(GpliPsin<(;yba>13gzcAwuR+~jK01-^ zNfE>95elUO{KkWCODxUqFPY_|6X^MoEe5`1GhHCLi(EX2e7w)B1sBLLRNO#2t$k(z zt>U^d3a)vbBN8}!9Mok94AmR-)_(Ys#^qCtyfne((u!kbTCoi5nD+RRRSKDpPE8|* zUUKCZ1RU8mgXzq_jgnAG>h$An;757?)$xgl^=D80tkJ$WGrcd_^=F zjvdG~WXsKH1!F)O7?QLy$1&p1L^dC8xR$S&+d+qOTZTWuk!F~-k9{pUqNNcto{9-) zYRJyT*w!+pD$+5H^~lPs+}guH`H)>p6fN?^z+g6c3}MEA__o&qBrNmCj7G^^@HWcdjO{)<5A>!mJ21t$FJvE(2L<*NlR#8&pflnw7L(Oa`tR z2OG=PZ_TXoBCUOsd0NFLekrq@bafw>!pQ#eCSdk6_5+DU%nY815{OFggFtK6hB4+tb4(DZQ*?}Ic^?mD0WpF*>bW^jrX#A!OMh%J!D(Hq55~PwUfdy- z$d2PJUzOsU4`Xg2Je2nx6H3m!9QRgY-%EXLD=am{*^#rdniku#qb$=;v;o9g)*|;Kpc|%D5eik2zrXI0z6qUE*?4vl2yzkxiP}3L%(@zhb3d8 zNqb+7*$Z*;Z%ZyF+`aHv#q*ZB?hMVSuiYX0YK9N5w^cuDjgx;r{r7$i>A&_k|pi9Lq(yt-C2xt zK6VE3%_H_<-MH{|5GaazVuE02Ht(&r;IjWhHvGnX7ni(ZlU?hQZ3NJmty3e%G5r!qr zV}Wgc^6gDo#7udDhmkgRCX&fr2`{whjBp(ZSa)$0XhN9sc-@g3jsEO@M;Ov6uv#Ot zF-!cz6-%>VS{i-KsT{3{TNP1xDxJ}pEZ zvK9eQtR5U_IcnisqkU((OEx$%j9QbE3lI1d*0I-@r3^4Z>0M2?Uz%aND{;IyDuaM6 zXrIP}Ec&ua_v9ucc9{G6!A-5F=c{14JR-?DQI5G{ci(;;>bFUQiD#}f@e`D$13QuP z(8>z;7b22$Wb^?X#6%y?mNmIUCq3Yvas0&3$N}TbYBrpAd>{^{svsOx9{ZJ7OcCo%zFjSzupZ;Q ziUoiS)!}APZ=3`}pOa|Jiz~J=;(mh$KHA1=ZXn#H|8TSMMnxCU;tb$xvP|gr36GU3 zeuJkRX)Q`lgAY$YIEQ!f44|Cu2U(Pihoj?@a=OEZMtM=nN`5!E4t}y`o}G$RA{Jds zZpoZ8wd|GmIVj=WM`u!g^tOHMaB9X()ko+|j*aBhFYDq49h% zH1bodyl}PCqX%$h8lv(QbCxI-1IB|-$;McF(W$1)3QaP55Wl2n41)~``2MWwfi+r` zCGVt^%R=R{B|Gjy59JSSmcz`F7A0~c?79m$8u4f`$n1e@AW#ktA4}+ceUVm{*qoLl zzNc(Ny~zn@+V4Y|5#vcvw0v;^P0>B!T##C`V9CSC4tBB3nxWjEJt*U?WbuSGPut-3 z_&o4}2lY^Q%ieHN_U_R+=u>OQI-F9&zC1&Dg9V%LWgDyQq|P?2jDG zPfH(NILAMiQ4$7%vb`v67L2MTA6(|m7_<7MY$9(AH2E1Mdq4m|HsGpoMYt?%3zvi~ zfy$_$0-y^76#!izr~vS#QIYx&>iZVExuT#?h%Ny10-~UQ2rvK<55yQs_K^LZon%12 z*+~ZUV-q0=QMeSW{;{hJ=o7ojK={Poa>?GZme^qi^obp2K%dxK26WBdGN5aEF@VS5 zMPu(ivk1_y0s29|2Jn4Vk%9$Hbu&`!Ytiz$qwfPE#`J)&hDP597@B>bxZvxMc(dWR zGr1(a82Q~{U?#BhCJJK##rzzIAJ|BSJrMlWO*c`vkAj8?djccBI}GS43rv93p_q7C zRG9hE4_Fj4I6x=tyaC$ftI^j_Mt(z;xdFfXxl{m4ei;=o#P}?#C_57HjvaPniu{$G zUqIXJPXO9rK?R`rI|h5KIq1NhEyQdd?GY#Gc}hFI|k=Zw@1h9 zHjVh~r+`;9LZBzyLTOKRV|2WuJ*KCCE*U`q9>()$hPjd3tN_YD*<&5Cy~-!3{YkYL z9WF-Z$lMg0D;yc})|V7@K8hl<#LTD2Cih3-P^0G2M2$V0 z0ckoSZ)pVyyb^dha69l);8tLG;k#Tq2%l_4YQjU>5j+h^44-Hw^5GLrL_U0?k;vo4 z>>3|!<=edErH@?$d%z<`QOk=5SsiISBo%Hl4=qlaYsYU+0ohbxvnm{hJxkq3-+(t! z{K^|a=K!Agh!0c>UsFi*3YOi3bSOGOl{pn&qz>?0}|^M4@P*&x~(cvTan?}7xu%7FXAi&ktcZKompzMo z&z##++4b+)_3zo;??vYhhJh6vUN6|-15md|du~~Y+KCot_%bAEk0&m*n&1=$jSY0q zrm=?|rbIzS92!0!0>c{XQOc{2;2!ZcGH&sSzTgq$aiF`q6?0#@oTkE`qBspi~mNzrg@e3;vDuo&Pw8{t%r{T2wMtJ>&IKc%h7#HZcaiuVULi`0=3 z7M7*dZ=;ME*$};D&mkUbJU;|57ia&A9PUPC0Z9}nutgwR_!7`s(`6X}JVN;c*U|w3 zbM_37wcXMo9=tW`K41+W1AUjbL@X)3wW?)bXcM)*&-i#fMhMtb^px6diM58U2AiQOn9JWYfHwpvv2eX3J0>Bq{BOYCjIyCG?d`PmsKz=jO*rCz? zZbXvzA0s2o2}T#9DR)0eSQ2bTpkOSzDe91viNS<9xu;B#n0!s`L~R%fkswcQQ#9QG z&@|EjXHCOHWUnlSNM!gJJ}`=~&Zh6vlATG{@u-_WM48U;nCfwaj8|RJ7URO;4clg=XU1 zFVg2n`bvu?Dml}j&n>^`o5=Td@C3}Sq?>qq7j5-C%vIhm4 zpB;0l6QvF6!Xj6K7fxr1gRww3o)a{;OvwuCL8>E>FP;2^*GDb3wtauwzP}xPKPZdS zHl1MGgd#H{H~{!W2;i@}HIZ!-**1}F(%3dhN)Z7XMQXsrYk;B>w2h|1P=LRY&}wfP z3eWb?eGrabjlL{Lu=;Cku+XILLgE~rZz<6xZ$sD&2i<0ipXwTXnd$_Q=(j+AA~*B$ zA?5Fd1~t4rR?_nmd$tk(aRMnQhU<34*QFlY##-*y6Dhvlje-L=eC;OAxKZlRzw5TJ|j3WSK@ z8L+HA6>}bREoAwG_I{<)FPtIC z6SRzHD}o);*ko=C`3SPl`Gkwdp+{6hKcoYoZVnkUq58#`50J_oZo9y;%?~ z-iE}j^oD?m6CjYqiHLu5mVbSY!j{~Uxv#;wKypAl;Lun>%V6SADA+Uf>;=oCrpnOq zAsRmt6_oammNS{^wJbDD|HwW|l?x1f&tOsz4?2E;PYBZ>W-qVV?KOL8&2Ft(TF%ll zx|TIxb4W+CHm^CQ+gY2pYJ5}vHj3GS$?mXf5P3m6NFdNg+G5CBa`<4#hS0qsk3^^N0j6RKcgNEY;nYNvZQdt11`ifD-;1lPD#$Z6Sd65;h{}^DAK=;YE zHlJ+b300~S_edx~Zh!Srxiu|F;*05xluEy zEH0NA>6f|}X;qQTmogvf?g3_-T{$x#9^~;D0D`d72A>e1rw!g;xb$*Zkn9_A4v;>Y z5G>7+DWB{E;B3g3QHIRRhqS4#9e&rA$J{(v8nDxIz^)2RyeulrZ2GQ00MvtF%=$%i zW}!1<0L7dLuq}hT_7PBl4DYsCm<34~_5+xo&?T^o#X4~4d>SxFyK3eZL%I_mRs!y$ zpd1zAfYyie-RMU^O`PFD9RG^zJZ3*Mdd2)4#m|JlR}P&xCJiQBkO=g2Ngc~LNin0d z<~~I_Yk=d7LnI~&gNP@5i-%n=W@$2>Dkgdg(N9Dz0kXW{)JtC>xZ!v&WE12x40lLl zusenh`j`QLe(jb-KVy~+f#v00z}?WEZ7c0=1vvvZLe?0DU+xV#9bvx-!VRin(P#79 zVIK&c#ub|9ogcmJR2>~Fo;yNW5Gtbo!FK+5MC&Lj# z;`FwnnxQ`(cINkoH-0jIQt4M#`0pj2m ziUHS{quYx6%<563#IJO)R#NuV9#ScD1TE;s%$I!n2<4NI@~O^nbz*XYPB+sYH8<=b zUWAs>%Eph-6FLUx$!&<@3XmC}Sil{3C^;UKGCk1h{zJh58?r$XB&0&3r;wI}jL7}i zmq@kXh0p4x=gJ`c5RZFe!UBkl32LCQN_>MTCs|zhkbQHAa2Y4W+|H(7WQb;o;o*lg z%F+z{8afsjAd)4n4&bPV&J0<7aK9rGB=_nM`Y?OUCyc4cHDW#WdWb>6gqSq@ra&C1Ux9-U~=T_Fll_QZKdIpHm)t= zmqf@w#v|Kxp8H6n)ac4ke_Bs}3H3$P7f`>9`aJ4Y)aOvYG;Ce{GU``Q*t?3otJu4W zy{p)}ioL7YyNbOl*t>$gE7-e&y(`$eg1sx)yMnzd*t>$g%h0AmV{aRK+t}O2-Zu8OvA2!AZR~Ah?-KSdVeb<5E@AHy_AX)X680`( z?-KSdVQ&k2TiDye-WK+@u(yT1E$nS!Zwq@{*xSV3CiXV5w~4(?>}_Ii6MLK3+r-`` z_FC9$VXuX~7WP`$Yhka2y%zRb*lS_0iM=NFn%HY%uZg`T_L|shVy}t4<}VGKPk$Np zE2uA_zKHq)>X%WUN4<*r9144sN0ahsQXWmpqe*!*DUT-Q(WE?@lt+{DXi^?c%A-kn zG%1fJ<i zlK^4042235XD6as!tyeiC=g;MT-ORss+k)T03o(E>61W)Ado&Bq_Km{*gD5Q<-S7von$Y<_O=wE^!X4A>7DupcsTj}AbMQA`O2$IPhi4~`XE9`KtRBLIqN zK7cAv^kBeZKwmpx&Vf7|O26ns2hM!~jhN>GC_exoL8fUizc=8hdEhGtgZQQi2zLvi z{jO6#D6=2&?tlr*V2+bE#BUG}=3A&u)T;xAlmVX>957cIFa!^f9b#X(qNf96;Vq2f zhU5%DKohAh?+AZc9g}^@E|PYPlCl^d;?V6DuoF+wGy2O99`kJ-mQWyynL?mn(SSKX z5jP(i0LF%x^l!q9G`oX>jyy0{G?BamPXx{y9hrTYxUS_b;<}c{i0fKLBvQ0?oZcU< zo8kQrNS#_R=wVCLhB-(LR*f$0C1 zdiC^bb5%WcOXJXzyJdIVy~y2auLK^(fU#rK7$Hch0%@-2I;a{oix${of0p6%j7` z7Ur!+hz|ZzY^CwAr)U8?g*HEFdlB<2cU<>H98^Xh<$8`Yk&bLIp2d4|WOWH%o1FeW zn58wG#JKhdB)cAFIktrc(%~%t$r@0Am$RS%Q$j)KEdkV)Lcm~lH`ZJh>So<Ix%vKa9f)gD-+}Z*T$t^iLpZ4YaUnXk zJAaB_2jvRH3`&qtEaTN3%_XhQg_z2-2%4MgS3E*)<#Ldm(fO4k$lIA6DW=Lh*HDNC zY0o_}+vRk9fOc_%__3DfOhb{PczAI*Hr6Uf3X-bIJ+0LZkT|Gt0K`<9F~IpjwD`Ge zS7teaR&`_Ak9~uUtr#-+aFcsoY4_o&$WX`m5s(74_X&_NA9|@K%*feGi_l4dBo`s) zg1qFmv$6xlW6(wBq04j%kd;u(fRWnd#=_>z8W1l&`s4;HFh2}i&h!MO&I4Wma2bv} z^xKo_2It3Zxq+xgg3jJ`X-J0ypR*pFo3n)-<`hDYgFBR_Qu&PYW|}5k<|ImoIYrrHpG-Lv zvdk__=g&k>xWws-9{b|x&{gMVj^%OiXMW_|OpiSF?jrLT??&doH=HOYx**qqx0=WbyNpSB69?VJq>-F>bs8Kzj@~p zKh$PHM5n{oNrI2CUw;pj1fYeuY5>pKr8mn?R?Hb1l%N!iEp1_GZ__yt2TW69U@zbt zeXY3(323m^LNg^@F?f}GZfgi6JhKU}EDmx4K z@%SxV0LhQvP0XqQJfMOC;s608aT7^!?`iKQ7eIW+hI`{4e*H3&*`B6p0Dg1)l)Dmj zX)4JZ8~m`eXiLM2AhGx8H|Q~g>v8q~2g1z&VD?>MS&Cwog@d~rP~H`2slTtyO)8=k zjMXb<31EKbdl&(Gn)d+~1R)C`* zrubF(eWJ&7uh)O5N3dnxegu*DfGP_VPzwPCm@5c6Z`BrBfFE9*f}&47AsDDw zTGB_dnx_T#@Y^--)+eZ*TI=x%d2f;F9)QgGOtr^hbyynIihMOCzz;K+f*?Tvnw15t zp4w(%kE+0x^c*oqRK6=@Kn1aCLdn>>pKk&&F8uYNa^;8Z% zPU>M!6yOJsA~A&vXAp(`NWrDeMe$~v;N=$%g2V4c3J$+E5FGLI(BO>g1I~G>$6T@3 zy^$ZCg8I|bM*;K4g+yQA*PW}1?9M$5q?y>}MICq$xcN@K2!%!0*?dK7mkxu5NC9pc zd#uN#vWJbi*FDEX(wUpJV+eCKmPd?KJ!FvGBRws_@H9!FyUK_u6<`lSp~;$d7tyk; z6ZDv^^}6dl%~5-7m+E!(^yn(^9*Yw_zD*?sUBxnq>Lg+l(Bh+_)=5W@$_yte0NEJ@ zxX6!E(EAc9t~c)yj`GZ$?ajnaP+0JKT<1ZFbpZ!}67tb0 zFIY;&r==XowxYlc*#J(z0Mf*oz^n<%J-4C&J=t@qu5PygxR7M#DyD~+5u?qo?48T0H(aX?vZRWe)&l#Uhb9&S@|?paXraJ08K%KSoFX`>PS7fim{^g z4Nsz8V$P<3EI=?MqEONvZN4k-X(oy-S}{Gf<_RISulkn8*KOU1jL>O86dQ*~k&nmR zayb-6bk&a|u85%zH3d%qAf`3Z;!#o6IFU+_?}U$oT%0yN?|yt0^PTX>2d^+1#Pi7{s1mi{)@mSq&ByU7#^NHy&_L>>k=dro<2dK2 z$4b5%wi;GqN~ttf<#QDQ`k%=F$27{T=Ozqb=u^F1LkJdeL>+6ms-Qf|6$o7mbB#p zP%Ld229UdU2?O}?Mg_=AvkyT5aW%~l^t4ER&QImn_Fw=%hIW9w7<&N>4uZ~u@l><` zKSnG7Kgxo3y&D1C-DM{&yIM43+08oUZrw%&;KviWo70(8c#U3wIRS;?$H{WL+k9Zj zN($a6K$`-h_z|;xVmHSj>*P1GRR~sd2D@{v<_0Lu@WAdy$J!mggWk<_hWn)W(d4Yx zIE;%AGcZK$)~BKXK3D5&NZ*}zH~E3dPlwI!W-_cybQ$hsRH|^E+Ra*fyd!i{@3l(O5K$U5*f+QCdAx;_oc>n?!)0ci`n)Ch2q3Xq_842nE8nRE9f>(8KkrGtj`yD31@FT*501mw?OKZnSmcIf z@U$xe!NHRUoS*GUi@^@BScw8P$~?mXYacloq| zBMbO&6-pJ>*|mZsDkpkVUx=U16CynOmpI}8jD+LM?&N(Sostl$J&n=UCpb++j7V@r zTxQP0z{A=qS^KMzgtcI*EImcGth5W{R9D+n1zE~t<&aF-|DUt@y7Fm<{TUBK62TN#zH8k%8iXx6?S%`V z`LZ0&XA@!?oz4kqAQiF8J_`vEyGy#*IUI=rL)GJw!TeU-=?i^)7H0X z>)W*TZQA-aZGD@zzD---hOI9fJI2f0u=Q=&`ZjERnVy)qw!RHp--fMk!`8Q9>)WvP zWjBe*$kw-E>)WvP)l)y#Da@LU)7F=R;SJZ;m-oKm+WO|UzPYV0_wSjww!ZA+He6d@ zW`Blj>zmv9)@^<3w!U>+-@2`D-PX5m>&ulqcZu#rSBr zw!WA~$GMrUZ)WS8+4^R-zU)jlN!j{x>5t*s`f~A);oACg`H$h+`eGC|Tw7mku7+#t zJ7w!TW$Qa->pNxZJ7w!TW$Qa->&wML*|5<=Q>Nwe_8{_2rTw6WG=lOZhmL zFX)Za)`)NF4cFF)tBDNP)`;tg4A<7EW@}WlHLBSfVF))#*&5YsjjFZ>tF{NLw!T$c z->R)In-<3N&x7Q?mm zWiiWeZGG81WVp7zto9kMtuGsi4A<6|Wvg*+(bl(U>sz$-E!z6BOUEQ->&vQ~;oADL z5^1=$zHD7GTw7nZF&VC{FI$uh*VeaS>szq(E!g^UM9O$loRwmnw!UnEGF)3<>|BOx z>x=EnaBY3DhZ(M|FE%p6HTA7?JkJ=n&RU0Yn)=qKO?~UrroMGdfhMl0Z++U-w?1v^ zTc0-dtxuc!)~8K<>(i#b^=VVz`n0KUecINyZR?ALY`n~}sf^~&^|q}qrf9>p^=;ew zwrzdew!Up!-?pu9+t#;j>)W>VZQJ^`ZGAbRaJRwZ`0P7HTLmhG;MvYhFiB9 zZry6Qb*tglt%h5-8gAWcxOJ=H)~$wHw;FEUYPfZ);nuB&Teli+-DMZZZ+Jx)o|-p!>u=L|5^>VZZ+Jx)o|-p!>zN-Fy3WW!>zOUV7Rt_b6a1l;nuB& zTeli+J-6~~HQYKkLzsMReRC_%R>Q4Z4YzJJ+`83p>sG_9TMf5vHQc(@aO+mXt=H}I zYcQ4Z4YzJJ+`83p>sG_9v+sJmkXFO3bFr=A z+WKwBlw{A7uy47&&R>Q4Z4YzJJ z+&b6ino`;Na)qwp+WJ}zx6VbnCa|q9=f#b4YxaF)_1`*2$(g|R`DL4u;o9eyooc4fX|JJ$wcf3Yc z|E+T~yW!gUat*NI+WxItdA9m*oo#UAajpJaxB740>c4fX|JJSkTetdeoy~(LBU@kg z2pX=fFQ+#euB|Wo3JurRmtBg6YwK(E-@4U*>sJ4*Tm83g_1`)lJB(*!_1`+191Yjj zmkpeTYwOFWEQV|A%cm@cYwOGQ#&NFIf9qENt@C+^32dKVJ{U1vTVFnyF{y48Q{e6BK{k=1|e>~=IWj-B`A#YDOWN zsu~;ARMm*tRME)fRKZNeYtyE?Yi%>5s7)E8Q*FvLJI?WDuhopTr&cwS?ON4L5o=ZR zPN|iR5w%t}7K~cSOc84(V^gh_%urvQHWRsO%V@{dhMBol8>Sf5x*0dB_9?4oM*Xi= zjh<4im@&3mF^y9#8#_a_Y_!E{$>`42l9>fnOXf{iEt!F$S~T<6O55lQm9}Y(O4|&o zmA2_noa6Fbn$As5a*vO}a*q$fa*scya*q$ga*qp)+~W_b+~ZHG+~bd`+~d!x+~W_c z+~ZHH+~bd{+)4e+00rNSP;!sIg5*x>Zw4vxllq(H6+fxJ5p(gA`WsW7_(}bZu}=J? z{>EGW;}(r{a-hRJn?P+*NrJpeB1x_9U{K%|GF{f ziJ$bpG3dcJ7CpI>`nRn7*Nst6;gkBCjVt0O^*8S^@ss)+)1LTA{f%)?{G|TIyeEEA ze`DZ-Z!COrC-pa@w)jc^8!MmqiToQopZJOV8%v+~iToQ|pZJOV8*88ViToRTAADo* zlRJ@rWAYO}>3?JN6F=#HGuIG5>3?JR6F=#HWBL<6>3?JV6F=#HWBwCA>3?GYgl{Z> zawq+7Y=Gh?{crZUh@bSou>*>q^uMtLil6kqdAEz7^uO8fB7V~U#vTaY7zE```rnuY z#ZUU*7zM>o`rpj?#83L)7zV{p`rpj^#83L)7zf2q`rnub#ZUU*7zp7T3!&Ue|C`B_ z_(}g8E1~#F{~J4@_(}g8OQHBl{~KGO_(}g8YoYi_|C`x8d}A<_JL!L8G88}Qe`7Qh zKk0vCHWWYUe`7clKk0w7IY#`X|IPLo@ss{H=0ow5{x=3h_{M@LchdjHhA4j0|Hg_a ze$xNOjwpW8|HhIie$xNOmMDJG|Hhgqe$xNOo(SI<6y;9(-3?GY5I^aEv(HBS zr2oxM8}XC=H+yZwPx{{&5yVgW-|V-6Zw!udC;e|sj^Zc%Z;X!OC;e|!V)2vyHydxn zPx{|%y%9g@e`EL%Kk0w7{YLzx|BV3>zOg{co%Fvkhlro_zuAQ&e$xMDACCA*|C^mS z;wSxY_Tq@2^uO7SBYx8V#zF(%Sc>FM`ajYCtxZzlllmw6e?8IvtzA;_llmw6e?8Iv z>xuqfPxSwKqW{+u{lA{*|Mf)ww-!pum+1f2Mk#($|3v?PRZ|F0+de`Yr9l%_MYV@GZ)|C!mdBfhPFW_Im}Z{8{XNmrwCHjAs=>J)w z|7VH*pC$T#W^Bl+j~)NAME}nc{Xa|e|18n}vqb;T68%3*^#3f;|FcB@&l3F~6S8{XNmrwCHjAs=>J)w|7VH*pC$T#mgxUkqW@=!{+}iKf0pR~ zS)%`EiT8{XNmrwCHjAs=>J)w|7VH*pC$T#mgxUkqW@=!{+}iKf0pR~ zS)%`EiT8{XNmrwCHjAs=>IHAS@})$|18n}vqb;T68%3*^#3f;|FcB@ z&l3GVOZ5LN(f_kV|IZTrKTGugEYbh7ME}nc{Xa|e|18n}vqb;T68%3*^#3f;|FcB@ z&l3GVOZ5LN(f_kV|IZTrKTGugEYbh7ME}nc{Xa|e|18n}vqb;T68%3*^#3f;|FcB@ z&l3GVOZ5LN(f_kV|IZTrKTGugEYbh7ME}nc{Xa|e|18n}vqb;T68%3*^#3f;|FcB@ z&l3GVOZ5LN(f_kV|IZTrKTGugEYbh7ME}nc{Xa|e|18n}vqb;T68%3*^#3f;|FcB@ z&l3GVOZ5LN(f_kV|IZTrKTGugEYbh7ME}nc{Xa|e|18n}vqb;T68%3*^#3f;|FcB@ z&l3GVOZ5LN(f_kV|IZTrKTGugEYbh7ME}nc{Xa|e|18n}vqb;T68%3*^#3f;|FcB@ z&l3GVOZ5LN(f_kV|IZTrKTGugEYbh7ME}nc{Xa|e|18n}vqb;T68%3*^#3f;|FcB@ z&l3GVOZ5LN(f_kV|IZTrKTGugEYbh7ME}nc{Xa|e|14Sm&l3GVOZ5LN(f_k#{Xa|e z|18n}vqb;T68%3*^#3f;|FcB@&l3GVOZ5LNS^v)x{Xa|A|FcB@&l3GVOZ5LNS^v)x z{Xa|e|18n}vqb;T68%3*^#3f;|1+=ubDYQUTpKnw;p8fcZc|4uG<7tJ;Ig33ZSqvk z(Gd8wbv{YAsZ)44=fd55-Q|`rv>qJ*4ZuF3gP#Ftq8#AtI4I%n2xmdaf@X<2#2J7+ zP^a<$u>5f0$THOh z5_L)8mN*s&*xkq3ew^=fc|=bZYW$BeokunGsH7g{)Pu?mGjM4XQ;&l2sHWNCVY9`< zW{Zc-77v>(9yVJ%Y_^p&TRd#Gc-U<5u-W2av&F+^i-*m&oMwxM%@z-vEgm*oJZ!dj z*lh8z*_P65@vzzAVY9`(9yZ%znk^nSTRd#Gc-U<5u-W2av&F+^TS&9T z!)A+z%@z-vEgm*oJZ!djjAuI%>eG4v3PdQgvV<&ZJUDrVE)x9?& zcpTkTZoFS`2lALMZo|nT=3f9RMN=U;rfi0xx;L2V?xT~systSjZACrI@rX#$F%CfF ztWVuOD6tV*cM!TW!+CjaxuHh)5ICpgMcy2pIjayV3FjseLl-Z5(jU&`X@5AAr~O%{ zp7y64iar70EK*u;Mx~-c9K57*wj?w_K!cm%^nT|(3ZSN(>N%s+I|2MK_|5QAYpX-r zH*uEL(it!}l_JH$dOkSlZiR>-0lJ-2yBxuZww`K}0h0{@nv5gkxRs4*h7zVYoPP;1 z%LQN_UBm&Kqv#hFnWNyzk;LvQJdPG!=5$ezZn376qB*hh#oF!!c&( z0XldR&JrgJQw@iSv&7M`8e_O>iu2j!(c%C=s>X4r9HzQ>nIi}}t??|Vvu|dByyi9C z0bUT$sl6UM)ZkKCIVTtPXwng=(~i(6=e?j#c`r$D@PpiNp40AuP*kXk-V5>f!MJjb z&g+Lr!R6yM^{gsdvwzNG9U~v9FL++29TGs}r^z8|_0?3_6=Q%&x5 z60H=N)IBB$Io;=I+JHgr4(+I08-a}WIfa=NUzz}5N&q98pg>iiB2X463Gmi(Cy94Z z2Rgdy3&5|-Z~79~pSL0MWr19P-=M>ExWi$t9i8%-g!4GpiIYp8BP;F5d+z?sg{r4FYk^BjP5bt;IfN_AK| zPeNyj0|*@tRgJsx2*kOWoYS`n(H6*8+>_uaZVq*KM~pdq5b`7BMMkYX?Y%rRj+hL0 zba{unwkurgC7%s|1|JX)n&1V2a{x4?Ik6XctU#1@4aDsaK(t6;i-VOp6w_0*;}Sy3G@aHp!A9 z@3{`gp>}v_c6euYbnG?Y1V3fKQJuQ<8$5eKKvY@aA$}zh4|aIVqCs(vYKO~A6k@J@ z8UVqy8UTKb`5kv8V5i&Qgnp7@iLKME@cTrEbF4dhFLlt=n6Wst283ds24KJe^7H94 zvUYTpT!;4+wdT-g$_}JafcohQl0bV;t~*D+_AC$OP_lZGcm;N5Had*$3M~y=h*~l1 z2K{_~l={ciJ*T=ww4+-@0Zh6C1(?7HI&bDN zq5;m=c{)FJk?SLOizp=X7eN4%2!NtHKjt&su7s1zHg)xe?l=OgNr6ma0^XF9Uevvq z97s!}@nYwplf?ir5IWImbL2S(d2(9m?B(b<*1_B|y8&bxz)Mg>?<5fUhNmlN@dNn> zqi=@+(%rq%SLyreHz;EaVRO-}F6&sXP zP?r?UGYjZ61|7YX`<&^nu_U~q!O+~|tXo`Y4CW(xyGQCc1f}3iYUQXSsrxE3Czv~@ zJ9reA?l1%)^1OfB>z(`@r};`87;iC+fLdz+N}kU@$mQUUr3-(dkrrK10@&c^vT-5= zeVV(kU`+FSw8H`9D|t8?x0BOE_##p{x#=n4h-fa!=1}NP{$QuT(gA?-6j&qx6a@+Z zZ1jLkfFZts2_AqUN>D)YDj2o}1r!^*IzX|pa03)uSH%ko@Cp+YP#T!60g8=*8lc#i zqC2|R4WQUqf&nfbMqo(A!`ur{Jaw_|Y6DOlRDj}Ph65-bW;lT2$qXkb zpm>*Kq>L^1r!IrR=0JOYjy}|U^90a&ZcOur>s=5$2H^f(f=YS?#pLD2QM@ADqXD6cZcZ~s zO=Ij@;dJ^);MvzJx~og29Ib;rtv~pP_rQ;;x3j&-QAHvV&7xCaAW*~>^=fX`@M+it?adjIi9M74kMKVHt z5Q!2_ffiO840X;!z)>o}0zVp>7qgz_X|B(hM*CL{u>tV9rR{l9^S*Y7Y&%TZfP?9? z(}d;5J(@t_QEX%NA_+s+i2`NW@zs@fK(3l$ScaezU1(+tr*Wbg06AD$ zkbu090n(j7%~R88yXbyGN}G2Dz}@fd@MNpaWmDqQh>YL_39~H-mtWp-+|FcGfjZoc z>rmMvo(*~ObbtgXI5JJUb#LPKJ=*;Y6s|q(p-_l+-QV4_G2LC+x2RixDJc_B0#a_> zalQ_e<|O14mOv1UR>Ep7EO27FyR>`}zyrhu>NnE;6xdS)=H&+8n#M-nPdYWwXf&{pWylFt* z`d#ULOdyv?7udZ3bkl8**QVPGC#KQN`RU1UZ*87P?#n>|a|nlI+udR^jY=@xp1H&i zOhhU6Kt#KZ0R*tl58PNnJy4eJog46ZoLufDINd)jG?)%AYA`f~&%Zd$bODV6Qm<=| z&dcF0m(QfC7NmIv^9^^(H95>rGIASG=GAnd{{aP^!G#0ZN0H zJAh3+f&wljUh$AhgO@u%v3a=z6kAug3JNF-z*7oG|Z+WVII zooI6}D7d}Z-ZyCP<@!?w3K)Ca7x-yBbA(&2@&28BUwd?;C4roW8&4Op4{YGm;H^w_ z$VPiF&vlpdoE4~j6Bpj2^IR4oJ(3BtJM-STCo%PT0)yWPQEPxUXZAD4bQDT-B-YzE zEfQNi>^K*2VR@dv*ycvC_DyH8$u0AeatMgciO1Wef)S&QPg8f^1+PeN;;joCbcQ}8 z6I~2E5ai+z&wx10cXU(gWdZbOS`OP9@;%TyVi7x($CJ66ML1u~I#hMOc^TH(c7L{g zzTKbf!(zD-zpKjAy3!8$B$n=sYE;BnBw3q3+Wo~Ql zvjRthYWY@u6{vM|6E+M>bD`IlXAr6OG8Y9=jpZgkGT?GaxfpZ-B>_Tm?bi}^Jqo@K zjl0XVUGPEb4UsQzw7C|PK~wDx#cNP=I+1h}kOtHZ43N5*-k}Q)4%&;$UG8HIc(c8T zy&p%HS(A*iP_3L{hPLE(1FF9wKQ4`AJSJG)yx2y~L($?lJ3~t`>u7UL7Z;xM+tcP1 zPklVG(Vpk_2X|k@CTT70RRtZUj=~OJRyKVuSXw4c-AKVShdHYwd8In+T<0N!)wDfN z9bNnv!&)dOjb4z@d$=oxI~o@JjR#OJK`w5PFP2%YeIgv1)#)t@IlI7( z^6J7!2FgXG&*t-`o4VxZEuiE)x43dy_a!0H#~fx1=TgqyC%HOlX#tbAiaFQNwJRWA zQp^N=@o=@A8MnyZ_`FFSJew9n} z0LmK7HE3;5;DWyv~NO>H%$eR3l zmABh0bNMl?#d5gr#%R-i16py=Zc>0o;PRGjFKu!U2kntBU*rwGGQ+?pgvZj#2>`+K zC3()#Zmf7Q6>4KYrC7PYuBDwf+_f$32itlT0j30af_eW?AiaeEWdX!m?;k(`!21Wl zJ4{eO5qS#%ssf6~TL_?d8X265DG1412%vaH-hF}syhQ~Clm>4kfYRVy1W+2hi#Sb$ zogRV$t^~Z7Ae9F1C4ge{UIHjK?LEiTL1Bgt#+Y4IDh`YX~Axv8Zmz%mW?w-#F}+?xcVgo_tZtJ}ZOl939) zZ@wZ>7I>(Ifw$E^-Qq^cR$rFlR{wab-%!K`zeid;sja2UEv~Eq_s_I=r;sC1b{S!f zJ}oqybsXIBnk%quN`f1JdCIm#JL>HSg>Vrd$IiEM0jyMWQgv%o4s8ObwNM9cve>9d zjtF>-%;u$4!hjmyx+@1h%9)G7TMOi%^;(FAhb-60G3!;AKx)Vf-ULN~YE3RiLdiLw z*+6(i@RjAsOpfJAwi0{nQ7t%Y(Vwlgj$iYLou|%OjeNGAdXE^hI*bYxc>#OGY|=%k z#59;wdXJb!Wtaw38K<3NcJ75&?U}_~)`J#X>R`dXJcNY1m#+kr!|*UTN4~P?0xGU{tiyu)UyS zxPW7Om4@vF6?wz7M(tG^wii?kH!RSoy-LIOf*PeWR;W>XDa0_TNCX@ut27iXsK^_p zJCd%_P`sdGxMBH55>^_D7}O}8vGR?iOd*CzMPk@+BS|aiN@w4VBU!_9)RiM?llL&} zsC;7$IFdNRjulbu7R5)5QI?}pqD;neL?U31c#k@MF{Z@Z)O*CHC=N4$ioAehaf?Iw zgNnRi0;6IUhlPZS;R24$SRBe9ROAiQ8Z}{YD1T5f+^|5S<|_{64{DUoSfNHurx3%W zA`x(uzv58-pdxRW?nwTML-~V>;fCcK$zO3Oe^8@z#>zL6KZO`36^UWPjpVO5ls~9Z znq!SOl0StQCN(PGSObpakFaA!RJ%p-8IwO3Xq4iRibTM1 zZ!NS*u!UMDC1RoJE{Kf8#nu8^GcKmVx`bDX#E@pDs~A{rTBLra#fG|;)D5g$t=Sn? z#()Bfgk8VITo&b3;CzdVPWKQ@NRS@^y8HHBZguyt+_C}Uc24x&Kx_)THDT}7lJbEU z`uvax9_!xUyOa<{8q5de!7A_BmfM5pwG>FKReh}m$XoVzFjtYX#()|UND-_(h0;jh z(KX-fF95rUd^bQkeKsfHbBrGgzPiGe**!F~e(+Lf&D~|WGD{7Y+*P66trMpWkqk8HNXu*@ROEmI}EjpO(VluIT$y4>fRyF2OxrdyhcSIA1IIS)P!6u>V zr~sZ+vM%O>EpE1LdFxZaC!BL`Zh`7ym0}xOxEVP5?XwY&&Vqu!;lV#}Wa+`8$U9)RUoYlmN=09VHk$WZ46u z&>~$j(qbkNW--HI0m2I9dgMR?gBCXI7W*)}u)S zPyCmAD+}j9r}%X{bR|fD>tH>)=p1dKa3$=fNN>6elth*$TH#`E?HhHpgDfEuaZ%;Q zRJr6flXyx-F;7X`R<~pDx-0^j#DeJde`tIg(&r(yX9J{y&r=?bN@Q$|abznSl4382;HvRy2vu8Gw$R{tg_Ss*aPIFcBcV+3T10eV^_ zKj()T8A|>d)myB)0_4ZyCxEqIK~Ib1C!uz7?quA{uaitKlTIjgH*brs7NF|v-)Rv? zIq=aGKffFTpXmR92i(?*IkC52p zyjv1&<(FH!w!Rg&wTYm0a=JFhv<5IoZ`pE zG$6+i2$H*AX!+vgqD)D`-IGG>eWwJAlZ`&Zl5iXEb8J!4t?{4^;-F zZsqKC1`w7VK`XMtd4goLMM#hY=Cp&9Mq+GWm$<8dA1CDH7#HEXWc|3I;e#3i;bPJS zxa{f1oL4ogLNj{hMH-4#N`Tg{9XhW~%`PJlDe*d5X6vO&)X5(cm~~ClQJYXF_n78w zD78DSoG+`yj9j2XZHhJr(gMI~2kBC1LIax)(t*%q0Tf{7Sm1+j0L@?E({BKUF7S~z zpa9@=Yd|KT7@Elz_=FmOjaX1X@v3~NDkz}X)dDR6RI#cB6|2gpk%B5#mCqmrRjewX zJPNw_%9C|g0M=bW0p+Z9RzU&f&k8F*IkUnFP@b%?wzR?uP(0~(GH3%7Lso4;0mZ|r z4PebuP(ZPzBVrq9^ zQ{yT?iBrV>nP#8WB!~tnX@?4%A#i!>ECc}t>omK@P#I}b$Rp`XE)sHpxP&_63WUS=my)H9Np}m#*51FQsW)V z2&tur3y$P|d+;LfVIlVdR_3~vojE3$jUN$v=XpGp$Ku{4_jZZYMG^8}T4?oMvYNg# zjN+wvJcu6)vVfjzePQLxcO>gTC{||Ky{+0n@sSR5Ua1pHE|xGA0Ws5Q>(Owu+b8H~ z)=QPp{0e*FgwP0lTB5WRvngLquUr)&x%1vH(TKr2fHrYBL_>pg9AF#hMFqi)@s0UF#`wo{JkN zhO|K~zP1CWC&ot7JEX2Du#g}=bsv*ivu0`ff5>c8Ikwteleo-^t;C#T~ zu!C!mysv?c&=w+Medl-#7H0c%l1_H+39?%4Iu%V77iC3-5?gOuLF9;+ev>Z;>0B~& zORu=`<2gIiWS1a%52%5N1Nqp@$s(lOk1+DOCk_3Rast-@>^e|ru;8)^EabMPI?4rI z-hgiQZtQyERFiqP9w^q%{kBo4c^-q~!cOFwg7Z;@3&JsccsF^JXgYBzftg01OI8cTx}RqO}HK5;|)OQvg|Jk1R7^ey0vTFB_!BiQURRadi8NF&}^sb$8FI%8U zxHC8I0qDKR=k6Y|y+jTH1#mAe_Z7To?;~#vHb8#7pm^B%q6HHYE);F&3#KJ;&#egx z(7y6PmDAE`q%N?U&&V*N(VVZ@1^BK}v0QHYqz=*nL|TKyjKp>3EZ@GZ^xOS8*C>d+ zk{t7K4K(r^=UW!BXj|2~tGyLMYQ356;#^v>6X=};DDBCfaL?u8+;T?O2?FtAa|ueq(I%TS#6$@~k5Q|%_pqS}q*Ae0No&WB zaFF)Xo)tl6B!aS+K)kq*(!CC$PE*m^3>}W{_MqhnA$iBJpgN(PN=Cuz$#%P^q)~DO z1t{cshn#~JAr5L8U{4n{O)0X^H)l712mv%D!HWW2*SEsX$-YN7*urt73n<{e*c6t- zHMuKdKG)-Yh}pyKhVq2V@eFiN;v%(0kP{C;8s=tls;`M(XZN6~mXx8!LCiih8BS`) zD_KQWGqri8xGozPs>Cx0&zP?ht&#h20fG>a{5&QO4fGI87#8L?JjDp$eAYekF3-zn zyZij8BLTsF!St^^yWG{Vh$*5GHdHj33DVYW1~4_5!^fNLHcvO(a0K`<1=CaO@EYi3 z6LWzYpqYDks@cwGn}eq2o=sZ2NdvowoJUTSbLyc-IGsoEQR;YksP^{4>*WS05AW@G zI9&|+J8yjTffT^)eQZjo^Z{%$mjQDV#KWaW)19OOY)VO&KVDwoByage{4sz-Eo+v^ zUSW*33b(`zyTukoQ34nE(Gi^uu(r+d;N(l^_;Kh)`?Rn!(?f^6o)U1W=mF%#t&|lL z!=a$SIzRAvHVdL$Aj4Q_aHGg*!YE2gK)y(;IM3m5lTyPkNs-Y#u zS`-kES#^Ns5SR-vKB#JrpnkL1W-+5WFGMBpxpaE82hzbwD$Se?md=kkZ(CxTw@9(M z;z)Fo8>O|WVy-nCd`ryceSIr}EVu$Hp|z%TQ$SguB*5EVx@l9oDIgP=5~vAO1r!6_ z6rdRBrU3MCK>!*mK=IH`0g8ui3Q#yw!-mCB7A@s((4Dh&Gtpk_KyQ*m)UD9*DR^b&hmy;rj8(6cI&P*mw&9W+@e;r*a_B<=GlJ+ z>a{n4`Fcas1jTVGm1_asYtua0&ac(kfYTD-mDymzz*JI5JLAwdsU8m4=#iw}&U-6N zLfCgDe=JUorPdl_Cp!sw<9R~mbUq#tEAKVcFi!1cvBnb@g($;|2aQEiTiAPnANWT0 zyLq&M!wtj2@;c2=*(`j44^(+8lcvKLL3+9_H`vRyFz0rwk&Sn_uWX`=2!uEzs5TKI z7ixyQNgB{nZ(^CpV+2EP;37wgOrLG&qa<9se*t>%B_!yW&XYAilvg<+PDz=^fo1{V zhrJv?LG^a+9&0QxG65*DdXjlqW0sF902>YeWs#8kcn0DN{8%j`9X=kS&9U071Jq%( z&nZMgT3UlyxqNc@qbpk$f(}QNM9>q$?ED7N zN|TsDs0@8_vccQ8p=BZfKayuwNF6jo1Mt)5Y8V`5FG14sdhY@Td|t4ZcTIy?P=lw0 zO^pO@uP`X_s5ra{BBeHqC4jXCg8_>@^hbNCm(Mehar6dV!ZfLYUF}$-%@aEhcYfup z0KW6Yphrc~d~G_LhgnN509XTK?YD|zU1Y@WjAwbFe8G?V?Zfc^jSe|7iK+RS&_63 z1USJjKZSvwFB$~b06o5s$mtPQJ9^#oLSnf|s<8WTQG|Rq&{JtA&7ss6`tSkW#$oYs zDg@8CbIrC@m?h4+SwK@1*`ODg_Lra`uue6h=6m``Qdka3Cm}-cSV90P?EHfb4&fjb zXkpN-j@DDzWW~8CLd`7X9jtzP3x@O4Yk?&W9!Nb3JckTw$TlRF1{$1iNCX%I7IeCW zQbs*d)*v!h9rZ3`*@L+wNFi9zXynHmd5bm46`tvwiKZGw^GzVX^#;=)O(DTO_tB|{ zWj@YO2q^b4WTfaE=cWAtB2j`I4&Ud>OR;DmiDKTkj1VljsX~rnq)}!{(hVVa)*ms|<^^ z27r=al>wlTrHA<`5YsmRp_sh^6pGm!K%tnu0hB1SH-I8AdjqIw%-aBp!MqKi7_O4c z+n^MKSsFkwIH9Xitbd%J2u_yVsmHl+^`A7MTDl ziu#~frLgJ(?HdF<%un7lc##G#mhqsei)!j3OhS0kL-P0MruLe>abBP7jM zs1mYDNC|GCO3*4vR!Oo-Kw7L&C7@)sP$48MY5)?Y^$Hb2BDDpiwm>5mXv9L9B+CRW zlVq8265s-@S|}5UMlH~&g%W{i*a8h(C=rOpEtE)%29^o}ARsL)1q49H7K#Kd60}Ir zB0-A;Es|uBkVQgDbPEO2mG~A4BrXvy6o@77{yE`Q-t0ypwqrdeQ70cY~-Bw$=lGO3xYc1E9Yy(8|A4_ zOC8klW5GkDXX*R`$Mq|FkeFvt3>-l(EwShZlkkeGa%z0&i2n6ZLX36FWe~gic(J4l_ zy71T`Bq+fC5cEB_*TOjvBy1%xFf+OS@WiI~I0ibw4?ZMfjL>ip4`=E)#Mh-BD-*o+ zb!i|1R?4o~)MCu-o0C!mlnC>DGMVJTnu~;tr#YW-vh|1>K`=+9^F*#;9NLskXm)@- zXldal_xULTI&yf19)Sza7fN0%edtL-(uOn%`GpscSuuc+q;t4bBsuM3M3SK6PcNK= z@*BS#u{1})+=fCBywg~ylv8{8Y`#dVEh21!Jd=YQ<9?3uhhB7_d+DJJWF*$`U?UBa z@j&3Qf=QjSu@>hlfm;SxjUIuF#O2_D$WaTJ*u@!?hGdV8037V)+-}35qvFC+dvb~6 za5aJvbLeS;Y`}8gqIs;cN!t8$FP~rTKL$_>&hvdT@GSFc4lkoz%ufAi#yX8gqeM~Dz-Vgfpa*KT_9!a zbRXk7RMERLdo*y&ETh-}1rQ?SIDz5>+0pR=*Bf@ zdGO;+cp3;b8&8^o#M$G=>06sXs9{3XpD!`PnN*NCY0MU<46eu~;V4Nc>XeQw*v#2k ziK~4)Z@KR@shT4$fLON3TTB|*Q82XojUB@`>F9yrh78b%&t)**;mfU&lK1~H^r?9a zb#3WuIZGdNRMHPqtbyn;0vNN5r7KbC=Q27^+U^ z7-ik&y+PjKx!1x)-jH>YF;4Ys0%?kxOs{3xcR0KxWFoGPemhgj6*6 z;=n;31ZWqQIcd(ce9FO^gH;C=rhv{PsF0er3%c;=J)&KBR3Fhwxq!|CMClQ9VbFL) zyEIXAM7uC(o6x8_f-WTUcF`^*`i^LqCJLu$7mMjTG&-lCi-iUx+Qni+oM;!Gjd0Ky z-348E_QHvFVc6{^+J!*}g+>V#bYW0KMZ1utGS3+fSCmr8JGkLOey)j1MeoP05At&f zyQbAr13qZ0f-XJ^s%V!j^L%I~`GPJa(|ggbDop7`yI4%-MH82^=6Ljj;RXzSBR^z` z!((#9BFIIqoqah_aa=WXZR>+pHG$*@BtIbe0m%aLo4tESGXsjq74s+xMLrjDwqpK9u+nxwI&hOViNYii?~+PJ1RuBnZyTs8(E zNR?~E0EDY@K^TA_Rn&igf@nmkVgvvv9JUky=~XcW09;_Dr%^@UUIG+DLrRqkssM_i zQKgDW1)vxjUaA^h^hFdvfi<*L)iYJ~OjTV`RWDT43sv<(RlQJEFI3eFRrNwu<4ILr zQB_w|HJDV@6;*XWRbxn1y-?K%QdL(})fH82SpbDor&RTrRrQorHI`J>M^*JvRee-d zA64~yRn<{dbyQUyRaHk-)lpS-R8<{SRYz6TQB`$RRUK7TM^)8PRdrNV9aU9FRn<{d zJr-5a7aby8#GNQI}OPdgT@MTSfg=QNLBx zZx!`hMg3M$zg5(474=(1uY-#EP2af!6hr-1QNLBxZx!`hMg3M$zg5(474@6Gj{_)% zIb!~`tBM}0iXN+q`chxW0W@L&1r$%+T2Z%F)U6eDYen5!(H?3+fI7FL z&aJ3(D|*-}>fwqWwu&CMiu$^uzOJaRE9&ct`nsaNuBfjo>g$U7y26fWfMTe_E9&ry zI=rF|uc*T->hOv>yrK@TsKYDj@QOOTq7JX9!z;yXa*rn25CT)tr8J7Q=u%?EYIG^p zVkNqie6bu|%BNV0E@fCOMwfCf7S;r!*U`Mfpyx{vX)Q}y%eo*=P(aZnvt`|y1thWrx2#K)1O=3Y#8;m|1C)fsw=D53 zOMJ@`-?GHFJmum^h|3beK!qIYzcH(0$r9smnG0;33OSaT$U)8CCd6L8lV^w<+4P%EKx2?l*fwTG6fY%N8ktwC{+n+StFrVG5|_dLRgmUl_hdzNm{9{ct8Q-l_YN^$y-VC zR;sJ_fC9uWN$g4zyOPANq>DHO1r%GtSCZJ3Bz7fq8Zb+euae}eB>5^yzO;k` zP&`SNmT&-yA<5Dj4nQ#^Sz5!%wT1&w3`v$2aR7=T$tp>*N|LOSB&#IJDoL_Rk}Q3p z4NwfpkydyBilITWB&jJ$YP84$Pz-%gA}FAElA4mFrX;D+st-W%BsE(00VtlNhGic` zmh7Oxm$xKE%RvCemZWGo2q38kx=2b%Qlq7z zyeN4oN?wYRm!jmQD0wMLQi_t4q9nyBVp>DWwT1*x49Q4QGNL6VfMQ5Sw4?+e52v$f zNh#No5O8~`?bZBu2 zpcs-4tu6r+L(-wuC4gc`I*O8xqNGCySpXD6(ovLj6eS&6cmgPfq@yV5C`vkXv;;sg z%IYnkfZ|C;v^E9cs7XNq#g?QLB`G>c0if6=7h96TSpx!!ElDX#QqW@QH>b-MB`-zE zOHuMtl%y1$qyR-Kwj`w}NhwNFibWS&8@@yXBrmLg3Gl&~pptj80~D!L3svXqN+vlf z7P!Mw(0OYVffi71PNsk&^)>+txIB3g1`e4QBxr@YUM@fZi7ZfnYzq>)f`qOhp({w} z3L2gY5;`rt0TfR{rv*5GVo2z;3yQ59Da7- zedx2^|Gu|*Jn=!x|Je}lZ@=r1i*fY<%YPv79}0N&-Io9S&-rwJGw_f8g6H25@;?>) zgL6w1%l{|0bzPWP{+W<|EdQek|4`t^^1nCXp9uV6`A=TE{J;HU_qu#{K4i;Z`LM6w zmIV)t*M#=_?7hDHTZMltw8#A)_xWrU?hiw_hqg)Y--K}Q*e2XvAM^G2S1)r|ADJNw_bD^6X90n@GYv`?o@S2LJ8Q%R+j8^=jLGyFxm#{#SqT zfJ^Gh)_?KCKHloDdVKV>$1nL|pI_|_9>;PPLiqM8z5h!B{x@GH`HlHLRXq4ysNX4% zuQ$Coehju57vlJFXq#|x{Mf%uxHx_kwh0%+e8|V&f7F*R#(!7f|ND^s)nE7guMY9Q82FzG{Ffi{`A7cF zRsS6QQsDpAT}k-@|KnkNz5i!@`tkXASKvQ$*^e*HAit4+F7V$F>Ua7to33P$|LirN z|K%`#e&5YL|Hyx1i1*%rS0AzYXCeNxLi=QIweb%H{x664i+`_W@_$$0$MJnNJeP6& z{$k+A@%hRLn}0e!zjd4Oc{Pcjj?ar9@af0=Z+pbI&qqW37LQr}y8=IsUlX7DAydEW z9l!U7dC!$~pMDUZ{~v`Gcy5^gEI#O@C|`X3`y<124=RgUdH@jCy0edMoh zasKxw{2hV+iV%PBY#V>aYkm9+q5o6%w z=^uH&=g0ONyv6fB8~8`xXZfo??fFLo|LS`!e{G^Zn>ezls{J~Fn{)=M!{Ee0GD{u1r?fU0i zLi{)0?#mzZAN+!k|CUg{zr4-zue{UqpBdu6IN|RI{Aca<^V>&Wmc;*=>nq>a2l@Wi zfL{=BA>d}fa{(U+__l!G81PRA{JwxEHg0uI^O4|Q4DL?^_nU+J^TGXSz-I&g?STI* z;7^C}X?y?I2Yfz%db6*8l#d<1?Cbv*A^!IS{tY34UB7gF?epJ4{AYdC=d&~5?+gCl z6x<(P@%--y?iU1{mN#`zg#O?4pS^s=_rw18`||yHsNenn$?~tf&+}^`pNYVa^}F)k z>#N_M+r0c7{Ry9bEZ-NmXz$3sUflW_-!9d!X}KtIemC(^U%vm?3HiU<=O4>|OFvuycd`*Z{U!LRWA`20uyb~u*5@GExwI`V5i|5*QD+hfx|^0B0T zU-adV&&RI7AJ*^PHvK{9pY6)`J7NBEE~FppH*wVGAJg9%_&0cAx&|o@@E5$2|Ytv;O&bcgR2X-;Th4 zETms}r|rMhH6Q;wL;ClBrA>c-;Qvsl|MS1q^M~mN{x^mA&rjkXS@r4P8sdN8TWtJY zf&ZKk|DECajqShxw|xB9#quZZbLI1%|EFR76x;=lfzZTkBI{|`d^zxgK5kMZ|^%E$jg;J-HEuRiSg z+dY2|hy1UG`p57e4*t>orQ#QTz}G*P`|CnN(fzrQ&ofs2JTCgDcKov;-0#KkA)VBY z|L>k;x&O})e&;FM|407Bx8E~@{jqSt^W*b#u{&Qmb34d4M@2~pyJNMQk{r|(qkMGabguf&3zcHkL|4CcF{eS4=e|O+7{wvF0 z{db=KzaDEe2x6U?|c5cL;RzkxA7@np_*Xvb`SJa| zdd2gH-}CWb9@0PZn>PQ|f9?7E0)N+UB>dm? z{C5TUy}D@g-x2u5(0+$L?c+!J*!4R;{trZcm|sNx#Q*O3Gl3tUzZ;_bJm&e&3*|c( z?5nZ27OZQpLqYPT=;LNZ2yn`ihn+S{VTj4^OC^dAMl4a{qyqkFZTRfga2&--x2Wt{LNloUoz{Tt4sgV z<5#}Z<3l0by#c=_;2kgW>9>QO<+HE!?&TYOeyh8w}klb`8i*{w@h67dAnZuJQw6;|J&{JvE!$ontWbw{?U%P|2;PUBX4Kg@Fz@Bas!u}8nOtggKM$;siDmdn#0YpecAbBcDr9l@>;<#+Hi zPp#f_ukz#O$siA@TyMu8+82WTAle6_UYyn=b)O6Q{>^{7#j&aYB$*xG@pj8E{I3UGknQ?s*H--#_P3|`4Bc-?`sekD zdl>MEi9?_F=j|6Fg5uMhh>sN??8`9`a2o$fyMN>FwtxO*=$~}{bS3PQ-L5`&|G0lXuKd`w`{!t~AM?3k zf7!PEbNJfh+qp-dxV?7$s4d5?AMx&?{cpPp1^%FSqoa--dE)%8Gr4VpZT0+oDD=<7 zwkcdYz>kLKVek{SU1I1$*f$&9i`O~6?bu@9*F@as7ZXhIksnXWk-C%c+d21#@@^OI zsq(k#pI3zWPx}5TymyQD_fsuMh`;6Yv*W4hAJI;5{~Qhd6W0M_ z{#V03lIVWA@wWZ*iEEE<+m++U+ibt=O5EGUPx*)5t7IykZNn%nO^eDI!$dk)-n z>)m%w+;!ibFU9rpgLfUg=fL5+@A*eNmK@^+-#an+gA=#hbMV07gA)g~3O(_f+YjG1 zaXWe3{hGTbZoi9!?>cbD#Jz`!^^dO6Ci1%V?pqGO?$E&(eAm4P?|9h@C+<3M=fM|F z9J=qNx8M50iF;p1+3tMd#EZW7t0pJE>Z`7q!p-*{Jbdugs#r|IyKa8feFyI&so*+% z_s#blJaqRxhks!H?z`|FCVBIr12o0Wuet5+JBEdL+3k0X2Qm5Ha>w2G4g(HT83lRS z!GpKPlH7XW@PV{rf-R-}7 zQ$GI_7k&DLAF%O{1pe=b@_poCA3wI={=k1zNdFBVwftRyANMir{;)0oj==x3kp4G* z(#Bu?q%Yqehx#39*z(;U_-_sQzwHqp|Ax>JhXTJJ;{S)=@cdZ+U4j435Pz%mj|6__ zQ#SpbA^tO8;nxLsg!YU1Uwzn@|3ALc^Z#KI|6JhzhfuzMam=S5CJ@Ubp!l z3jE){;QQ}6mpniA&#u6KZ`hyT{Y4vpXW+j%@ONgueQyZucQwfWzX<#zK|W*ptAW3j z+(-YT|D#X${+7pAn;xh9=#KcxP8;s)-{8w1`PYlz_LH~zpx@`yi{)SZOpyPd_WWIo zo*&zPBJjT$_*Z9b{Hx*lisR4e`+WIs2n9PA_}i898KHl#wtf0hKDUb(`LVpw9r42< z-P@u^z&qdg(!}TKaX$3lc0X}KE#ERHLb-Mx^Wl&D*pn;I#7h$W@X~vqFyEbld;fz; zJ~#d^PZ;m%Vs6zxY5E@x@9Bx~UWx0oX}Blr{_9CUK73CYXMgwQemwf$4tf8t3FA+i zZXEYh|LBhIo#>9Z7S=8QJoIz)PjP%NrT(cqrZ;$ne@?ebH@?TVioaF77(TuyqC4W4 z|5owe5%v|u^2K-&$M%oz|C+SRSABzjf8X`jx40nR{%+qdG5qz)&nJTX#CXx}Ht}12 zoQwX2ulD22Y8X$y^N0Po75NcI`H1cmM>$IUqkA&cE4owskGJ8+@K?fq&HZ7Y^X@I; zJvYqLV!RaZ*&<#{Kc*Yoe|EvkTbfSl{`B3xzhXMum2<23Tg8j%eyQb)@4qJ-|DG`K zPs~LY`@DGSiTTxI*WUjW)Bm9l+vgzqNBj-j^!Il1@Ljjr^6gKalS^T|iTS1Y z-FMpfDgR|#$Xg6|XdC_;w&8DAzJrY?ZolEYH5Mqr@!W~Td+6K<=fVv=wjj0|zpjLF z@QZOH;TG|qZtv~v&-<@auS?4{2=m3%|4VhRhWY5zZGXP{-T%}TY5%0h+oiu%|D6c> zdpf_I_-6lp`BLk>UA&|JWQ+8}{4&P>{#Umgx$CR82ppU9ti@1KU z|LD4C`$QZW2_EeB^)3W^%8;G( z&)|RZ;f_AXwo_pkAt8SAsrApfX`fH*pB+iQNp4S@bF2ROqwxIr+21I;#V_;oGs-EU zlK%ON*ZBTFcb#%P*hVgr+#ct=zhe7mXLz0-7w~EJ*s6baevR*$R2~O^SN*f=22=CF zYwh!Cm~#Aso1E8R#y($<3-|wWk0WpSC11jy_IUqKd3@v-Jl^$gkFUJP} zuf8|npYVA9`#qj`lgEQMdVFQz@vi^Q-n+m_c2)JlHF-cNqKxti7?J}dbj_rv(=!Pn znGooCCIjpwZBm?99zS~L7dF-{HKanXw6}+roIsH9dqrDLG~tOa&o@XYN0?(A7b`nQ}Fy? z7jT5-V0tl-$x6=HO-=?g^=4q8oF=(GXtcskxxS@TFNfRnK~R|qI0ZanvnP`?#S$i< z7lTSG;FRrlOgdLuVes;BaZj^ZZx&eE@TN`3$!y2)bX#zPPS@bt3sr%@${>Z~jPmZ0 z*o-M=xwizIKb5*;1{-Xh2NA=(onCB*Ykl6sbAp z?Vw<_3TiiO-82#e`(^-#n$^PDV!Lt&CYYLnrv*99wBtmYnVnFcsPC)`dt|zRXa{M3`mgi(sbG zY_)@Wsnls=vb7{U6QDTxxx=E6x&{DTgcd*}EA^V_L!(kUUWM)?azv!d&0#4W+U&Y5 zg}M>46(E$(xE*vzZ)?P+Fce&F`p`|EZXpi-(aSRWgtuxotUnMvAXoSjp0{SKf?vk zK6PqsE~M0S5)@&*DS^1`c5k(IKSk3|VPP+UH^O*2Qi-g6aO@RD`=d{52{4Roas|lMJ zSCrwP)4+@|`yRd~B4X;Yy62r4#&V_9b|dMg|JZOaGBUz8f<{6BU0>v;)H;ZKenM1P zRs#gFUZbSl5Y@ZhX$QsTY{wQr)zL_>EUFadi?F~8)_xY|LfS-hB&nt()<52r)oazo zk^BxQh!iTMmFn|YNrdK!P5^73VEv&$5zS;s3riHp)%h0kLS0~2ixusvBhr8&Xv-?A zvM^Ed6kFEN7lVbc8Ri?sRtx>Bbud)M4pbDIL5C{bSI;8XR^E#3uQ*G9B=9B)>&z*dEv)Dg-W+;iJIKC`n(U z#Z{oK+V-Nt0*Xp7M3Mp?VHuXPl&avQDivG1YLFUJS1#+nT5O}V$6O2p>#D6o7RV*I zx%T1l`e&s%D9H$|@}$cME?m?!At8aVUI-GZBC$r7MBbyrFV$4mz~~+=E;@ z3?qJE(bf&y)LgVXSntR#ptsn%TKIVVlYL|%U8jX6mr6;q$yi%tFOZjvdfgX$%5VdaQON&@W zM!ZE>Yb@h!qWR5NsxY~ia!sXqqN!;+G(@3B&Uu(qt3;_D$6xJ z)kqL$e?G>36aLkkFg7a!Wz@Bzn~Z@$Q2d`Y@wY?8=^-c&Y8@7?+N8=;7%C18k8TR& z3Wbs@Y)D}Uu<{;Pd5`P1O%blbDBcbS@rxlG9man^z$-K2Uwhsv&v@c9JR7kF==$b6 zuzzGv+z2$y?}?{JD(*(BBi$^e)mP_a%Y;FyX4U>j#!7(~_w_zxR<K)6Mu68k4n;2jLH=+X=?AEZNRR+3=hzQ!5HXZ=dhZ0t70l$nt)OGZC-O&%zoL5oz z2(vK(9>z+^TPf^hE42<#z(uaW{{xs+yNkv|;NDo|LFEw%2v5uvJ7R-4)J1kSGL3n( zf+H9#?(@b8B5q+ai)hVZNjuuPQ`*YYoJ6>={un?Jf9cnvqd-)sjb>dom8dj>MiuLv zt#T1`-aH}+WpDrxz_69j_@_~>+i-R<;xi}wOz&Kv2s(O`QSS|-FlUI3xZ#$hwZe_R z&K4^e-wI0|22r$|gXvC~_U(B@ec*c(aQxaC=Y|J zT`0mXR>EpII1vHy-HG4|gq~2vuA2>ZLO?UcDk3=S)x}>0BlR-`_o3Bx#9-5G!59YW z4KdHlz}E9g4+HYh$2)Qwk@-y&wG=v%N36-y_*M(no>$aEk&5F-<Lqu*3$0hur?!d|6Rvi) zYDRT-tCF|44qGxiPc;>2=JEC~Z5BPUf3D-1;i8;q=Y`?Oi@~dvW&673`ai+ueLP)W6{SO9PS}5k0dh56DJVGxc71`hJm@L^RuNP(&> zRH%ns-2hP^#Qqk*5DeTgEKS6wFaVA~(jtq|2RFZ2@ebZgW*Y=6*iZAyMg#}XN{Nkv z-Ad83m+=&_*{HbOtT!^~i$Eg!b|aG+^GMUZ`NFQSw~6TJ+H+b;gpOt)q=jO$ECV44 z7pwPfY7%omB9w9alH#=tB_hYute*@oJmzE8&$Y1IHY4;s?U)RBYVO~Yx8923cR+6u z`f7*KFwe!k=8FDjx`KEH{o_g641UK)cZIRMh;F#`M*4c-5&x}9G5v`A=XiOvtWmX7 z{&OA*UteHvgW6Q?sFWG?i-4gqb47S0@e*X9jgBo|!rB@Q?bx{sqZD((ckBpu>$Brb)*hpWcr^+-dbk=RgsW5zGVGC|0>?jB=}>8#-fSJ_jnxF9 zyUu*4ie?>A4{OZ+!mM!@U`+)=Y0?l<7p4rB!)++gC84nls5}_jMja5G4}3M&il#vK znolM%+j69z&$q%T;{)qtnm*ec;~`sOWkQ?XZh9Re4qZ5U0}j8S~V_pY&jfj5ZaDfHeu z4T*IG5|KeY=!mdRf!ciy-osi;YZbo>Q*0VK@y5G7-(_}z9cN5bLgVNaq`bk)6^(6q z^{-In+od|H9kI%I{ccB^IyD5YbQ$si2d69PX;+X`&W(^E-DI;fP6>oz0ffHSKmzFuwnUX9D-jUsk`b1Z z_0tc2V|4A}7r85H+l~MoM$2Od)c`x31Jx$c8r(s$(0u9u%){#LzoJQUKHfB(VL&AvE4U8g=`@zwG5D@go%_w7A& zdh{_zP~fHv<)Be%g#Beq{D=44czWnz^e|*VC=fcjKKUY_o%>IdKhst4SA*Ozg=JW0 zEKKNK80p`2(`kwyPH_{<8)0oECbM1{#J_vrY2q(e5Illoj~E5=?>#Uvxn0PY_KYD> zyOrmA;N6bJ5C$u+P?hZra~gSCbx8pew+G6Y*jtDWD>Gx_5Lif`1;Q(nS2Y>ygzp0AD^-M1UKU}kW`+RDot z{UvVf<(`9Jjd6w&r!@_^L{Xy)lI`Y+TY;;Mg^G)g>hPW&z<;z>IT76aBGjc;uPx5Y zxDkaPK6>OZGv0D|-^8B2P`4P=o?G|q>I-zM0Uf^O)}z}IjcXm3La?_I6o->{TzHGH z2#aH}6hslxIoMW$2o>^rp$T)Ccu&;eq;~v?6ch%DMuo}nWldo>9v<%&CLmInyp9Ts z-rp+kV}(U2C=7}c6(%Eg4Bio%gp03Zp-pQFKQwVuw{XoOrOW%M^lrkfk`OE2lJZCQ zP98k8`{)7GrHtVO3N3f$8>)Rs+jro=(TN>9_d|+o`XF;rfZ*++fnY|nObk25$M+nB zIz%8`aYT<$H_n0mYu5>PXne;jjsjKG+!*|=H;P;`EMvwyD&Yd5=dd6IOQMSK3D{X< zXjM9{q#ixEe;->U%&!?a5W^IKL#xq@L>aS_l*Q02qBZrXP<@kW%ezD?}AbcaF= zz&hd?gmr*Bc<3~04)`MncZ?so>5#W<)EK@}t=K@7Ferg2VI?Le4;^mSg2mEH2+~oJ}+rMXW$Hc_peLIg%?3vuWJ-7vN z!TJJR66%ibcEz<6oUd#bu@24$)SNf;zk(m+jJZZ~i~WZtv1d@} z_$1d)Nta7|#c-%Dn#|{Kge8nGt}=(QI~^eT`}Cu*Gc&qI6#H7~aH3i-w)6S%*qS{F ze!(a)b~cSQfphc4Cao!OVjRJxfRhY4CG%^7#G)i4Ai*o-0{xwN_fn5zHCtGP$L4A#(|7(Tc9w(sPQPn#Ij!y1)h z73&y>87gar3{d+EI>cZygM_HZotzAZ3(mJ1r9mu&A)iVu54Sd~-BD@QYsZErUNv;v zh^!cxcojMpdCRahGBqnQ18A)b&8I63AfbkoL8EpuQIT}<;iqHNie2+$F{_j*bVxm5 zqp<1;1D<>#oE-^I##I6xeUa{W&YJ}ECMuVxk_&~Upcl0vj1$8v$=>~r-=nMwJ zvsgVLliLd@Q^cks&hN5?O6!)(sR1tYAt6c9^uk~y}Xo_4O8zMB!(Hi2VB1CCP zc!edq(lpSXxDR1>R3{@mX0&B1h`M6otJI8RKT`$M8qA8JuNcW6K`2L5wKCmg)VmqZ zAPC4+wNMOBP_Th&RtZ+}+Z*(^wuB98*PIbr@r96txzM=KnF*7uK*@n66_>v<2wurJ zhD_s@pe!Af2hPbb8($q&Eig2azkEIj&>pd#rblvcY!u6)w%rD>auDoB7i-oDMX!_N zs;$g%QxMz)c?5-RS8svv5#6F8+|;L>(cx`ZG1mc*gQYsK#l7hn9e&|;ggb({R74Cg zI`0Q}jZkqX76nmGVioE$Gju#<9LnaBzq}X(`)N5ib}vp(Gt`5)L>WuD!{cST6zIDF zwj%~M(?O$4rBBDw<7kvmhGb_9NRT8_OR-dVCol%ELSO@yM1U7ub;N2QVyXR)>D1-> zoXcCc4ZvlWW+PS@X77EeC8QgorJ}Fcae!ua`~WoVki1Z3q?bi+;toX5#YCbPT%>H_ zf3&HDoZ^O>y9E>~sngQDcVR@Us_(iSg__Eu6ziq>G;s_#(7+hRzC{otJV)vCddLD)ByLTji=uHORsZF4>VjnTx)~Ns?Zqbv-;uIB6Kn zvxulMtFI~O%!tBL!no2cr8f$<+)khmyXonR@~h`=P_|5z76=$01SHC;{sT-IputB|j&#wxA+VSd+29*)HqA}{bzZG1wjYn| zOFq9lM4ZVYlZ=1CErapUWuV=uW>W@KdIB={nMDcFP4lbH8OA8mMqY4n{kwYg(6v&9 z0o3)>gZnWfwt^@NG_z2uBFs`=uN#R?hap3~iiPQ@1lK2MSy&9I9PW; zV@x4-SfRjj7-clDBOFSD0n&y}6R}x|sD3g016FXLQU!l3Hj@@gG?mACcvwdRFcxiz zb+%k*A~WU$w#X7;r8|}ZfUdA+5P-do6)tK5voXhk9A;2C$d4q#H$5EN3$3^4N$*WxJGx}SMj zlZ;7ATqF5-I%cc_GgkZB)>^qZ!*)Q(OIz>Vb_)<^L=ncvb<0m8Gi~)3xbYsncb1*KozK<`7YC28}$_ z6uElJOIvst5vwCql;~d|p`l*qRR$ecJPL0#-r+$Y7WKir4L^ct$_^>)u7g7N>u!s> zn3q9^f*YLZkiW2X%T|1@hVNcrP4RHmRz9%jLcC{m%eJcoRKg(g;)U1oh072S`oe<{ zcyY}zqc}u|s*Do)Wt}R&vXm0!y?T}6RRk#VnrjHP`^ZF4*j-$#%0?(h5JIbAUC0Ct z7|e8WHYjYtqOValW6)^*4>L(3%aR^Ob(V6IF9P63vT^v#qnIN0M%U-jY*fI&N)Sm( z=Og}Jc}R*m@K|{Uc3}!cGbPDD%~^_wl8i#1@~P$#zYC|71Y02gzQefd0F z1;Z{X`l#KJF03wAr+p2QNJhP}c*XJ%h;kelFuw#&G-EpEbwhxV-}6vN`SzWRB4L@D z=^oUS>sd7r9Wl#JXz_A1>cx!cj`sS3FJlAEKDVrqvCe?Tk>=R??|jsEL`b3zLI+^p z1!%tz%c)+46ptw}=&ZUCYa9sErdUpE%#zjpN^cfgs2UiUBg#)k1$mJmS)?`2$k%P^ zmfgn~i9&_rI=Vqw7Kzef(OS5ec6EUxMTQWZq;%P92eneYSSXkx^xVB@O2)o4isrK! z8kZ(Aje!f{a^Q|tNXD(;o2gtPjMfvCP1gufG6^efyjv^UfW-I*>%YsBJU|4WL}Ljg zrn1m|V#Y@wId+g|P!@&zb|Qr-{S!0Id7J);p+~o242@zV5@EmiKTpLYgfIAYxYqv0Ti1}ODAfkk6N-Qts2WRV70RE2bj%78_!<4#> zbtKpUo5&sTT32Ezg?tcV;<3&FRg2f)hz@9lqvMB;?7P*Z*^dg$nBpKQb+B<>4(9JL zH3}yIM&O2_CZ<)VJM808$_;cLFxgh;ES=D4(UXw-)%l4#XnUBS3^kozeJh+P-@tW@ zn07{4VNGP+C}=ha)aKf(82y>26@M5|v*aVBZ{Qmn=Mh<71&h zc%NwHbhEgTo!ejYKE*1q_b*UpeBvQk^rd)jm}*0^EQfErGsjoovT7pUbUWa)?Yr`jt#7C2s$l#ifZL3?0A#$N^V0H-#0b0@ikR;~bhL)qnvpbAAHnND zNTF+7iH6aobB!@Mtv)8sxx!ZV7?R-_l*fQ|9}9wsR&o&+G>Ar(5)(Q&=mO4Y{l1Rf zB3Bm{i7^eYtlsFqXvkr-%d-H=`?9c;3QCE<-0YZ{m9=M}+P}x5uJP zuq?S&&SSF-DNENjNoiVNbOkMJprGp&Y*rtQ#5U;Qngz~iav2%|Lvo^+^!(5ye4mt% zJv@3Wd=S}KK*M#dg$Yvx?OU>y2nKumlt0oGp#+#%w6;f~F+%79QiYCE#j*m#V_ewh z0IcV(PTS2EjG$A&C>+fii#j}CK@>x#&^YjeVu3*bq^$E!qnRGh1Kr&V-FAtxZ8>+F z#RX}I60^n1LVl&DDn}@MB7m<49SxK{eG4S7ZLqf|T_BIa-Kzrb%EFR3^L>-V*%7NkzDj{; z3GB%YohWs`lDdixVY4-*)m2BE+Mx2-Gsa3+d5UW0huZ#D46qoASUs=sRH2QV#&Mk| z7mbm~XiL3942Z?}I7Y$71tl=)@3B)j}?FQe=^FwK9Q#Vs& z?|e0oYYKwA(rl<7N-nl_;`iWGGZdAV&1J>bPwfTPJz^oHTb=SioGMYmgrb)nU&Oj2 zxWBNdXeFIWYYtd_Y|bp+0nnaX{iSZ~j7dssIFEo5I}ZHA3UpwLn$<;GSFi#ftnf~4 zD!lBlg>D$!Ok&Q*6b^m3SXgGGMw;eIwLMbqTUc>qhw~p1-$%q=Hn{aq!DL~N?3;*9 z0Qlt$`y_N?F{6vF2IN|wCX41+2hn$Sn?i(|Nx~(|SE)y(o2ge8V|$*c^M(hkeXi+= z(#VBasNFO-A<&4gP>90xW8GrjjXT1BX572hl+8*enMhV-Si9+H(-LHYblJXCUoZlU zT9PQIOvCD)#PATp6QxkLw4#`2I&eKOXh3^pke8FPswU{h;RP@ZU8@Hn{6>Uc0B<^U z6_Sr)4VX7z2#ySD;(M1hty{kX0)>(LnRZpoZHr44qF&t$4SoWGjV#CcE!L>O zpxwZG>4I>sM;E1{%d2yJa#xGV7x)lc6*(q{08Q|9~Y&BqJmtXTv{2&TZ&)npQZ-W^`c3(Z#3@}9MMlS1Z+Noc)n|9Fc)?(Zo>x! zFmKYxA)9F9jkE#KFD-_+SonGNQ3^_Vo^X##Go=+^K`R53QFS;Ysgv@iw8oyD~=Bj$@i4kN;F!1&>jb4l!qxwkQV zgd&wDCLJnFLjuKVY&HZmEXmBC6bs5pvYUjp>CPO_-T}Da?L~u5RVxcAY24K1w%=jkOG1Do-O_a;-12)zDd7&sD?`=3_;8(t4OUVma!m1V( z#sv(L4@HM6v-q4fl#=z<*aFA=V6C3)R7_GN3G<317S%WCi z#8NBzVwi-$hY5z}!fKfQxHs@^wP$DkYa z^ynSbs^NornS5twEba~@z$PXG4ftf}j4a$lW@0?ZW#X@v#p17KY=cI6=+#ZU(Voj~ zC1~&3O4t_JB0|PsP9G$wD0|Rm9V(hIK3qZ9P#y{P!yI58kUBuR;RFezw~d!^lE5^j zNJpdrTLRZjQ(G-CDOMUaWj2^I@EN8C%lT)`5+R*@z_2Yq^)Zxd%Bpto3RIH?YiN#q z03%qNGi{hug02xX7R5wwM0+vxEX%t1`slk z=kA4w62)?XNT4y>-;1>wwTQ~W7fq;;j{bzt#$_}{lxP7wa#!L5>TJYZcyVcCaV~Ki z(Z?Q#yC_4QeB}5GC=h9g%6cJs{1VMz+tWdU#loa>1GoyGO?4g{NV5NCN2`qqk(UxC zE*oW7&CItM+ZJ%nx3w9TDFTo>sp7IvAVC`0jPbPK z)I*I3KyNNWfYlV-@Q3{HeGl-JPkS*R+cMYl(`50}2O^0%F2-=Hm+mymFXOF$#|Tdi z7Y&=5CI5=A8x4$RQk6wIu;U64|Ky~{_+B>i1SGhN521p6XnH61KJznDsJv>2^}Z?v(I(SUwD}u*rq58YlE3WSpQ8L-i~K2~A_1 zc*k-JLyWK|%w=U?Nzq8@4) zraRb|2>cdJ^j1cj2=5qum&ihVM=gft$QG_)(;>6b4Aak5FtosTq_W0@Bowh(Ee9L; z1Pww^-P(6(Cruih7w%9iT_ZsOfiYD?ENK;?$xI2Iydkn*{wfUXmew5e$6K{q0&9;o^a}3M3DiXok3IqB_fuhpBkIf4jQ#n0qYp* z;a6PwJ#uCX?WER~oIG4yum`m%!R7>4_CnpD zL0A$goP~h9r2x$lF$im&OKZU3yaYI}A zE)m#a-E4xlW`8~`HbR?1^zN4NB6cv=;<(ZP@@B`wIR|mbie>g@h!%n!ddH^8whC@B z`oobd)~7~wQFGw6XH!$;qQ=$~s0r|KU^X~wiYTU+JQB4_$PD@?TH=+4Br3HndZd(C z5wdUxrYbnIV=Qz&44Xlwt`DOfQQDE1qu~Lo;=wtFnY{jxmwNhWpK-e`K~qF{@D6Sv zIz_B_6GEdZ%J3i|?pXaPMKb_}DVKl}KE)6(yi$Y^h9eut=`Yb9ue4;-5gl!HG2wy0*>qu z^yv{gkqwV_i1te)4vQ+-DA~|_*spwpoN;ED`%+9-Lx*)E&R95+G81VnZN!O1CXH3F zNfEw!T#yw&ZOn6`hYS}22Tx%t52(C<>ho1w*T_$R7#Tk^04SkkFiLB{@hB!F%+OMGfFu)wAfib8@*Y8IkI#VRdL;Qr4&V4VaGGbxiXk@k^IgD(1 zgcN4p2BK$=kCd%i)L+xlf%1!uVFr<`_irP%HbX_zT{hNZ#8XgvOiiyY6c@V(0O|L} zx+}jCr^Ud-?8=8WjpIY?8SkSPNMz5Uy`cWE9gl$~6wWu=2;V80=t=;Ey4I^< z3`V;ATsvx4eV#)@Y*k1pTU7;EC_JJ)ug3b;7A+J}UDb@y8j1n15dn5*g9+h|xT4c* z^K+Cf(*y{y;v^K3(Zxne;k96M=1$F`)NEr3U03~J9_^=%B{Z*i$KF%AoS3xuzN;}h zVZqJ^2FcBDS6K*bCpSPxrt=_2auA;$_qG#r%3NcS^dro!umFFOL@ijUD^#u|e? zPKdLs!l)A`8p43dF-_`)&132wtAf@l4xC}d6&-i*5EQQ%5OH|eP)&8ahcFK zfz?_OS`h3LIk2|Lsr+o{2Un)6xmwY6=?6lz2+G*|DGDrV5E>yv6Y=JvZG?R$W+c7w zW95VhOIx9o-wUg*jNnm{rVD6l(RjVf7Z4zy$_+^$uW@{g2&2932uU6z+Kd4Xx=w5| z)X{zv@%&0_W>M@K*#c7ynu3BYr7>nAGus(lL>vzZrvToZ%(p|e(M+{KaR;^GVD&kg z=t78E;;I`!2?J!`FfLLt>EoChNZ+V~ULZq6oz@xd7Wb_EMhHC83yRDqgnRRsn@Y+! z2u-W9rezU|IYi(qze#$41i=IJ^27P>xh~@; lS%XT;#)q#E=l}h`A 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�L@{dd5+uU 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 V&uQE1o+lC?zJufM$QW4H`ad9~r$qn& literal 0 HcmV?d00001 diff --git a/venv/lib/python3.5/site-packages/easy-install.pth b/venv/lib/python3.5/site-packages/easy-install.pth new file mode 100644 index 0000000000..fb5900357b --- /dev/null +++ b/venv/lib/python3.5/site-packages/easy-install.pth @@ -0,0 +1,2 @@ +./setuptools-40.8.0-py3.5.egg +./pip-19.0.3-py3.5.egg diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/PKG-INFO b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/PKG-INFO new file mode 100644 index 0000000000..0b410a29fe --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/PKG-INFO @@ -0,0 +1,73 @@ +Metadata-Version: 1.2 +Name: pip +Version: 19.0.3 +Summary: The PyPA recommended tool for installing Python packages. +Home-page: https://pip.pypa.io/ +Author: The pip developers +Author-email: pypa-dev@groups.google.com +License: MIT +Description: pip - The Python Package Installer + ================================== + + .. image:: https://img.shields.io/pypi/v/pip.svg + :target: https://pypi.org/project/pip/ + + .. image:: https://readthedocs.org/projects/pip/badge/?version=latest + :target: https://pip.pypa.io/en/latest + + pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes. + + Please take a look at our documentation for how to install and use pip: + + * `Installation`_ + * `Usage`_ + * `Release notes`_ + + If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms: + + * `Issue tracking`_ + * `Discourse channel`_ + * `User IRC`_ + + If you want to get involved head over to GitHub to get the source code and feel free to jump on the developer mailing lists and chat rooms: + + * `GitHub page`_ + * `Dev mailing list`_ + * `Dev IRC`_ + + Code of Conduct + --------------- + + Everyone interacting in the pip project's codebases, issue trackers, chat + rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. + + .. _package installer: https://packaging.python.org/en/latest/current/ + .. _Python Package Index: https://pypi.org + .. _Installation: https://pip.pypa.io/en/stable/installing.html + .. _Usage: https://pip.pypa.io/en/stable/ + .. _Release notes: https://pip.pypa.io/en/stable/news.html + .. _GitHub page: https://github.com/pypa/pip + .. _Issue tracking: https://github.com/pypa/pip/issues + .. _Discourse channel: https://discuss.python.org/c/packaging + .. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev + .. _User IRC: https://webchat.freenode.net/?channels=%23pypa + .. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev + .. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/ + +Keywords: distutils easy_install egg setuptools wheel virtualenv +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Topic :: Software Development :: Build Tools +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/SOURCES.txt b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/SOURCES.txt new file mode 100644 index 0000000000..eb4810df3a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/SOURCES.txt @@ -0,0 +1,391 @@ +AUTHORS.txt +LICENSE.txt +MANIFEST.in +NEWS.rst +README.rst +pyproject.toml +setup.cfg +setup.py +docs/pip_sphinxext.py +docs/html/conf.py +docs/html/cookbook.rst +docs/html/index.rst +docs/html/installing.rst +docs/html/logic.rst +docs/html/news.rst +docs/html/quickstart.rst +docs/html/usage.rst +docs/html/user_guide.rst +docs/html/development/configuration.rst +docs/html/development/contributing.rst +docs/html/development/getting-started.rst +docs/html/development/index.rst +docs/html/development/release-process.rst +docs/html/development/vendoring-policy.rst +docs/html/reference/index.rst +docs/html/reference/pip.rst +docs/html/reference/pip_check.rst +docs/html/reference/pip_config.rst +docs/html/reference/pip_download.rst +docs/html/reference/pip_freeze.rst +docs/html/reference/pip_hash.rst +docs/html/reference/pip_install.rst +docs/html/reference/pip_list.rst +docs/html/reference/pip_search.rst +docs/html/reference/pip_show.rst +docs/html/reference/pip_uninstall.rst +docs/html/reference/pip_wheel.rst +docs/man/index.rst +docs/man/commands/check.rst +docs/man/commands/config.rst +docs/man/commands/download.rst +docs/man/commands/freeze.rst +docs/man/commands/hash.rst +docs/man/commands/help.rst +docs/man/commands/install.rst +docs/man/commands/list.rst +docs/man/commands/search.rst +docs/man/commands/show.rst +docs/man/commands/uninstall.rst +docs/man/commands/wheel.rst +src/pip/__init__.py +src/pip/__main__.py +src/pip.egg-info/PKG-INFO +src/pip.egg-info/SOURCES.txt +src/pip.egg-info/dependency_links.txt +src/pip.egg-info/entry_points.txt +src/pip.egg-info/not-zip-safe +src/pip.egg-info/top_level.txt +src/pip/_internal/__init__.py +src/pip/_internal/build_env.py +src/pip/_internal/cache.py +src/pip/_internal/configuration.py +src/pip/_internal/download.py +src/pip/_internal/exceptions.py +src/pip/_internal/index.py +src/pip/_internal/locations.py +src/pip/_internal/pep425tags.py +src/pip/_internal/pyproject.py +src/pip/_internal/resolve.py +src/pip/_internal/wheel.py +src/pip/_internal/cli/__init__.py +src/pip/_internal/cli/autocompletion.py +src/pip/_internal/cli/base_command.py +src/pip/_internal/cli/cmdoptions.py +src/pip/_internal/cli/main_parser.py +src/pip/_internal/cli/parser.py +src/pip/_internal/cli/status_codes.py +src/pip/_internal/commands/__init__.py +src/pip/_internal/commands/check.py +src/pip/_internal/commands/completion.py +src/pip/_internal/commands/configuration.py +src/pip/_internal/commands/download.py +src/pip/_internal/commands/freeze.py +src/pip/_internal/commands/hash.py +src/pip/_internal/commands/help.py +src/pip/_internal/commands/install.py +src/pip/_internal/commands/list.py +src/pip/_internal/commands/search.py +src/pip/_internal/commands/show.py +src/pip/_internal/commands/uninstall.py +src/pip/_internal/commands/wheel.py +src/pip/_internal/models/__init__.py +src/pip/_internal/models/candidate.py +src/pip/_internal/models/format_control.py +src/pip/_internal/models/index.py +src/pip/_internal/models/link.py +src/pip/_internal/operations/__init__.py +src/pip/_internal/operations/check.py +src/pip/_internal/operations/freeze.py +src/pip/_internal/operations/prepare.py +src/pip/_internal/req/__init__.py +src/pip/_internal/req/constructors.py +src/pip/_internal/req/req_file.py +src/pip/_internal/req/req_install.py +src/pip/_internal/req/req_set.py +src/pip/_internal/req/req_tracker.py +src/pip/_internal/req/req_uninstall.py +src/pip/_internal/utils/__init__.py +src/pip/_internal/utils/appdirs.py +src/pip/_internal/utils/compat.py +src/pip/_internal/utils/deprecation.py +src/pip/_internal/utils/encoding.py +src/pip/_internal/utils/filesystem.py +src/pip/_internal/utils/glibc.py +src/pip/_internal/utils/hashes.py +src/pip/_internal/utils/logging.py +src/pip/_internal/utils/misc.py +src/pip/_internal/utils/models.py +src/pip/_internal/utils/outdated.py +src/pip/_internal/utils/packaging.py +src/pip/_internal/utils/setuptools_build.py +src/pip/_internal/utils/temp_dir.py +src/pip/_internal/utils/typing.py +src/pip/_internal/utils/ui.py +src/pip/_internal/vcs/__init__.py +src/pip/_internal/vcs/bazaar.py +src/pip/_internal/vcs/git.py +src/pip/_internal/vcs/mercurial.py +src/pip/_internal/vcs/subversion.py +src/pip/_vendor/README.rst +src/pip/_vendor/__init__.py +src/pip/_vendor/appdirs.LICENSE.txt +src/pip/_vendor/appdirs.py +src/pip/_vendor/distro.LICENSE +src/pip/_vendor/distro.py +src/pip/_vendor/ipaddress.LICENSE +src/pip/_vendor/ipaddress.py +src/pip/_vendor/pyparsing.LICENSE +src/pip/_vendor/pyparsing.py +src/pip/_vendor/retrying.LICENSE +src/pip/_vendor/retrying.py +src/pip/_vendor/six.LICENSE +src/pip/_vendor/six.py +src/pip/_vendor/vendor.txt +src/pip/_vendor/cachecontrol/LICENSE.txt +src/pip/_vendor/cachecontrol/__init__.py +src/pip/_vendor/cachecontrol/_cmd.py +src/pip/_vendor/cachecontrol/adapter.py +src/pip/_vendor/cachecontrol/cache.py +src/pip/_vendor/cachecontrol/compat.py +src/pip/_vendor/cachecontrol/controller.py +src/pip/_vendor/cachecontrol/filewrapper.py +src/pip/_vendor/cachecontrol/heuristics.py +src/pip/_vendor/cachecontrol/serialize.py +src/pip/_vendor/cachecontrol/wrapper.py +src/pip/_vendor/cachecontrol/caches/__init__.py +src/pip/_vendor/cachecontrol/caches/file_cache.py +src/pip/_vendor/cachecontrol/caches/redis_cache.py +src/pip/_vendor/certifi/LICENSE +src/pip/_vendor/certifi/__init__.py +src/pip/_vendor/certifi/__main__.py +src/pip/_vendor/certifi/cacert.pem +src/pip/_vendor/certifi/core.py +src/pip/_vendor/chardet/LICENSE +src/pip/_vendor/chardet/__init__.py +src/pip/_vendor/chardet/big5freq.py +src/pip/_vendor/chardet/big5prober.py +src/pip/_vendor/chardet/chardistribution.py +src/pip/_vendor/chardet/charsetgroupprober.py +src/pip/_vendor/chardet/charsetprober.py +src/pip/_vendor/chardet/codingstatemachine.py +src/pip/_vendor/chardet/compat.py +src/pip/_vendor/chardet/cp949prober.py +src/pip/_vendor/chardet/enums.py +src/pip/_vendor/chardet/escprober.py +src/pip/_vendor/chardet/escsm.py +src/pip/_vendor/chardet/eucjpprober.py +src/pip/_vendor/chardet/euckrfreq.py +src/pip/_vendor/chardet/euckrprober.py +src/pip/_vendor/chardet/euctwfreq.py +src/pip/_vendor/chardet/euctwprober.py +src/pip/_vendor/chardet/gb2312freq.py +src/pip/_vendor/chardet/gb2312prober.py +src/pip/_vendor/chardet/hebrewprober.py +src/pip/_vendor/chardet/jisfreq.py +src/pip/_vendor/chardet/jpcntx.py +src/pip/_vendor/chardet/langbulgarianmodel.py +src/pip/_vendor/chardet/langcyrillicmodel.py +src/pip/_vendor/chardet/langgreekmodel.py +src/pip/_vendor/chardet/langhebrewmodel.py +src/pip/_vendor/chardet/langhungarianmodel.py +src/pip/_vendor/chardet/langthaimodel.py +src/pip/_vendor/chardet/langturkishmodel.py +src/pip/_vendor/chardet/latin1prober.py +src/pip/_vendor/chardet/mbcharsetprober.py +src/pip/_vendor/chardet/mbcsgroupprober.py +src/pip/_vendor/chardet/mbcssm.py +src/pip/_vendor/chardet/sbcharsetprober.py +src/pip/_vendor/chardet/sbcsgroupprober.py +src/pip/_vendor/chardet/sjisprober.py +src/pip/_vendor/chardet/universaldetector.py +src/pip/_vendor/chardet/utf8prober.py +src/pip/_vendor/chardet/version.py +src/pip/_vendor/chardet/cli/__init__.py +src/pip/_vendor/chardet/cli/chardetect.py +src/pip/_vendor/colorama/LICENSE.txt +src/pip/_vendor/colorama/__init__.py +src/pip/_vendor/colorama/ansi.py +src/pip/_vendor/colorama/ansitowin32.py +src/pip/_vendor/colorama/initialise.py +src/pip/_vendor/colorama/win32.py +src/pip/_vendor/colorama/winterm.py +src/pip/_vendor/distlib/LICENSE.txt +src/pip/_vendor/distlib/__init__.py +src/pip/_vendor/distlib/compat.py +src/pip/_vendor/distlib/database.py +src/pip/_vendor/distlib/index.py +src/pip/_vendor/distlib/locators.py +src/pip/_vendor/distlib/manifest.py +src/pip/_vendor/distlib/markers.py +src/pip/_vendor/distlib/metadata.py +src/pip/_vendor/distlib/resources.py +src/pip/_vendor/distlib/scripts.py +src/pip/_vendor/distlib/t32.exe +src/pip/_vendor/distlib/t64.exe +src/pip/_vendor/distlib/util.py +src/pip/_vendor/distlib/version.py +src/pip/_vendor/distlib/w32.exe +src/pip/_vendor/distlib/w64.exe +src/pip/_vendor/distlib/wheel.py +src/pip/_vendor/distlib/_backport/__init__.py +src/pip/_vendor/distlib/_backport/misc.py +src/pip/_vendor/distlib/_backport/shutil.py +src/pip/_vendor/distlib/_backport/sysconfig.cfg +src/pip/_vendor/distlib/_backport/sysconfig.py +src/pip/_vendor/distlib/_backport/tarfile.py +src/pip/_vendor/html5lib/LICENSE +src/pip/_vendor/html5lib/__init__.py +src/pip/_vendor/html5lib/_ihatexml.py +src/pip/_vendor/html5lib/_inputstream.py +src/pip/_vendor/html5lib/_tokenizer.py +src/pip/_vendor/html5lib/_utils.py +src/pip/_vendor/html5lib/constants.py +src/pip/_vendor/html5lib/html5parser.py +src/pip/_vendor/html5lib/serializer.py +src/pip/_vendor/html5lib/_trie/__init__.py +src/pip/_vendor/html5lib/_trie/_base.py +src/pip/_vendor/html5lib/_trie/datrie.py +src/pip/_vendor/html5lib/_trie/py.py +src/pip/_vendor/html5lib/filters/__init__.py +src/pip/_vendor/html5lib/filters/alphabeticalattributes.py +src/pip/_vendor/html5lib/filters/base.py +src/pip/_vendor/html5lib/filters/inject_meta_charset.py +src/pip/_vendor/html5lib/filters/lint.py +src/pip/_vendor/html5lib/filters/optionaltags.py +src/pip/_vendor/html5lib/filters/sanitizer.py +src/pip/_vendor/html5lib/filters/whitespace.py +src/pip/_vendor/html5lib/treeadapters/__init__.py +src/pip/_vendor/html5lib/treeadapters/genshi.py +src/pip/_vendor/html5lib/treeadapters/sax.py +src/pip/_vendor/html5lib/treebuilders/__init__.py +src/pip/_vendor/html5lib/treebuilders/base.py +src/pip/_vendor/html5lib/treebuilders/dom.py +src/pip/_vendor/html5lib/treebuilders/etree.py +src/pip/_vendor/html5lib/treebuilders/etree_lxml.py +src/pip/_vendor/html5lib/treewalkers/__init__.py +src/pip/_vendor/html5lib/treewalkers/base.py +src/pip/_vendor/html5lib/treewalkers/dom.py +src/pip/_vendor/html5lib/treewalkers/etree.py +src/pip/_vendor/html5lib/treewalkers/etree_lxml.py +src/pip/_vendor/html5lib/treewalkers/genshi.py +src/pip/_vendor/idna/LICENSE.rst +src/pip/_vendor/idna/__init__.py +src/pip/_vendor/idna/codec.py +src/pip/_vendor/idna/compat.py +src/pip/_vendor/idna/core.py +src/pip/_vendor/idna/idnadata.py +src/pip/_vendor/idna/intranges.py +src/pip/_vendor/idna/package_data.py +src/pip/_vendor/idna/uts46data.py +src/pip/_vendor/lockfile/LICENSE +src/pip/_vendor/lockfile/__init__.py +src/pip/_vendor/lockfile/linklockfile.py +src/pip/_vendor/lockfile/mkdirlockfile.py +src/pip/_vendor/lockfile/pidlockfile.py +src/pip/_vendor/lockfile/sqlitelockfile.py +src/pip/_vendor/lockfile/symlinklockfile.py +src/pip/_vendor/msgpack/COPYING +src/pip/_vendor/msgpack/__init__.py +src/pip/_vendor/msgpack/_version.py +src/pip/_vendor/msgpack/exceptions.py +src/pip/_vendor/msgpack/fallback.py +src/pip/_vendor/packaging/LICENSE +src/pip/_vendor/packaging/LICENSE.APACHE +src/pip/_vendor/packaging/LICENSE.BSD +src/pip/_vendor/packaging/__about__.py +src/pip/_vendor/packaging/__init__.py +src/pip/_vendor/packaging/_compat.py +src/pip/_vendor/packaging/_structures.py +src/pip/_vendor/packaging/markers.py +src/pip/_vendor/packaging/requirements.py +src/pip/_vendor/packaging/specifiers.py +src/pip/_vendor/packaging/utils.py +src/pip/_vendor/packaging/version.py +src/pip/_vendor/pep517/LICENSE +src/pip/_vendor/pep517/__init__.py +src/pip/_vendor/pep517/_in_process.py +src/pip/_vendor/pep517/build.py +src/pip/_vendor/pep517/check.py +src/pip/_vendor/pep517/colorlog.py +src/pip/_vendor/pep517/compat.py +src/pip/_vendor/pep517/envbuild.py +src/pip/_vendor/pep517/wrappers.py +src/pip/_vendor/pkg_resources/LICENSE +src/pip/_vendor/pkg_resources/__init__.py +src/pip/_vendor/pkg_resources/py31compat.py +src/pip/_vendor/progress/LICENSE +src/pip/_vendor/progress/__init__.py +src/pip/_vendor/progress/bar.py +src/pip/_vendor/progress/counter.py +src/pip/_vendor/progress/helpers.py +src/pip/_vendor/progress/spinner.py +src/pip/_vendor/pytoml/LICENSE +src/pip/_vendor/pytoml/__init__.py +src/pip/_vendor/pytoml/core.py +src/pip/_vendor/pytoml/parser.py +src/pip/_vendor/pytoml/test.py +src/pip/_vendor/pytoml/utils.py +src/pip/_vendor/pytoml/writer.py +src/pip/_vendor/requests/LICENSE +src/pip/_vendor/requests/__init__.py +src/pip/_vendor/requests/__version__.py +src/pip/_vendor/requests/_internal_utils.py +src/pip/_vendor/requests/adapters.py +src/pip/_vendor/requests/api.py +src/pip/_vendor/requests/auth.py +src/pip/_vendor/requests/certs.py +src/pip/_vendor/requests/compat.py +src/pip/_vendor/requests/cookies.py +src/pip/_vendor/requests/exceptions.py +src/pip/_vendor/requests/help.py +src/pip/_vendor/requests/hooks.py +src/pip/_vendor/requests/models.py +src/pip/_vendor/requests/packages.py +src/pip/_vendor/requests/sessions.py +src/pip/_vendor/requests/status_codes.py +src/pip/_vendor/requests/structures.py +src/pip/_vendor/requests/utils.py +src/pip/_vendor/urllib3/LICENSE.txt +src/pip/_vendor/urllib3/__init__.py +src/pip/_vendor/urllib3/_collections.py +src/pip/_vendor/urllib3/connection.py +src/pip/_vendor/urllib3/connectionpool.py +src/pip/_vendor/urllib3/exceptions.py +src/pip/_vendor/urllib3/fields.py +src/pip/_vendor/urllib3/filepost.py +src/pip/_vendor/urllib3/poolmanager.py +src/pip/_vendor/urllib3/request.py +src/pip/_vendor/urllib3/response.py +src/pip/_vendor/urllib3/contrib/__init__.py +src/pip/_vendor/urllib3/contrib/_appengine_environ.py +src/pip/_vendor/urllib3/contrib/appengine.py +src/pip/_vendor/urllib3/contrib/ntlmpool.py +src/pip/_vendor/urllib3/contrib/pyopenssl.py +src/pip/_vendor/urllib3/contrib/securetransport.py +src/pip/_vendor/urllib3/contrib/socks.py +src/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +src/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +src/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +src/pip/_vendor/urllib3/packages/__init__.py +src/pip/_vendor/urllib3/packages/six.py +src/pip/_vendor/urllib3/packages/backports/__init__.py +src/pip/_vendor/urllib3/packages/backports/makefile.py +src/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +src/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +src/pip/_vendor/urllib3/util/__init__.py +src/pip/_vendor/urllib3/util/connection.py +src/pip/_vendor/urllib3/util/queue.py +src/pip/_vendor/urllib3/util/request.py +src/pip/_vendor/urllib3/util/response.py +src/pip/_vendor/urllib3/util/retry.py +src/pip/_vendor/urllib3/util/ssl_.py +src/pip/_vendor/urllib3/util/timeout.py +src/pip/_vendor/urllib3/util/url.py +src/pip/_vendor/urllib3/util/wait.py +src/pip/_vendor/webencodings/LICENSE +src/pip/_vendor/webencodings/__init__.py +src/pip/_vendor/webencodings/labels.py +src/pip/_vendor/webencodings/mklabels.py +src/pip/_vendor/webencodings/tests.py +src/pip/_vendor/webencodings/x_user_defined.py \ No newline at end of file diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/dependency_links.txt b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/dependency_links.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/entry_points.txt b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/entry_points.txt new file mode 100644 index 0000000000..d6133a25d0 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/entry_points.txt @@ -0,0 +1,5 @@ +[console_scripts] +pip = pip._internal:main +pip3 = pip._internal:main +pip3.5 = pip._internal:main + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/not-zip-safe b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/not-zip-safe new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/not-zip-safe @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/top_level.txt b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/top_level.txt new file mode 100644 index 0000000000..a1b589e38a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/EGG-INFO/top_level.txt @@ -0,0 +1 @@ +pip diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/__init__.py new file mode 100644 index 0000000000..f48c1ca630 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/__init__.py @@ -0,0 +1 @@ +__version__ = "19.0.3" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/__main__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/__main__.py new file mode 100644 index 0000000000..0c223f8c18 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/__main__.py @@ -0,0 +1,19 @@ +from __future__ import absolute_import + +import os +import sys + +# If we are running from a wheel, add the wheel to sys.path +# This allows the usage python pip-*.whl/pip install pip-*.whl +if __package__ == '': + # __file__ is pip-*.whl/pip/__main__.py + # first dirname call strips of '/__main__.py', second strips off '/pip' + # Resulting path is the name of the wheel itself + # Add that to sys.path so we can import pip + path = os.path.dirname(os.path.dirname(__file__)) + sys.path.insert(0, path) + +from pip._internal import main as _main # isort:skip # noqa + +if __name__ == '__main__': + sys.exit(_main()) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/__init__.py new file mode 100644 index 0000000000..276124df0b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/__init__.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python +from __future__ import absolute_import + +import locale +import logging +import os +import warnings + +import sys + +# 2016-06-17 barry@debian.org: urllib3 1.14 added optional support for socks, +# but if invoked (i.e. imported), it will issue a warning to stderr if socks +# isn't available. requests unconditionally imports urllib3's socks contrib +# module, triggering this warning. The warning breaks DEP-8 tests (because of +# the stderr output) and is just plain annoying in normal usage. I don't want +# to add socks as yet another dependency for pip, nor do I want to allow-stder +# in the DEP-8 tests, so just suppress the warning. pdb tells me this has to +# be done before the import of pip.vcs. +from pip._vendor.urllib3.exceptions import DependencyWarning +warnings.filterwarnings("ignore", category=DependencyWarning) # noqa + +# We want to inject the use of SecureTransport as early as possible so that any +# references or sessions or what have you are ensured to have it, however we +# only want to do this in the case that we're running on macOS and the linked +# OpenSSL is too old to handle TLSv1.2 +try: + import ssl +except ImportError: + pass +else: + # Checks for OpenSSL 1.0.1 on MacOS + if sys.platform == "darwin" and ssl.OPENSSL_VERSION_NUMBER < 0x1000100f: + try: + from pip._vendor.urllib3.contrib import securetransport + except (ImportError, OSError): + pass + else: + securetransport.inject_into_urllib3() + +from pip._internal.cli.autocompletion import autocomplete +from pip._internal.cli.main_parser import parse_command +from pip._internal.commands import commands_dict +from pip._internal.exceptions import PipError +from pip._internal.utils import deprecation +from pip._internal.vcs import git, mercurial, subversion, bazaar # noqa +from pip._vendor.urllib3.exceptions import InsecureRequestWarning + +logger = logging.getLogger(__name__) + +# Hide the InsecureRequestWarning from urllib3 +warnings.filterwarnings("ignore", category=InsecureRequestWarning) + + +def main(args=None): + if args is None: + args = sys.argv[1:] + + # Configure our deprecation warnings to be sent through loggers + deprecation.install_warning_logger() + + autocomplete() + + try: + cmd_name, cmd_args = parse_command(args) + except PipError as exc: + sys.stderr.write("ERROR: %s" % exc) + sys.stderr.write(os.linesep) + sys.exit(1) + + # Needed for locale.getpreferredencoding(False) to work + # in pip._internal.utils.encoding.auto_decode + try: + locale.setlocale(locale.LC_ALL, '') + except locale.Error as e: + # setlocale can apparently crash if locale are uninitialized + logger.debug("Ignoring error %s when setting locale", e) + command = commands_dict[cmd_name](isolated=("--isolated" in cmd_args)) + return command.main(cmd_args) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/build_env.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/build_env.py new file mode 100644 index 0000000000..d744cc78a5 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/build_env.py @@ -0,0 +1,215 @@ +"""Build Environment used for isolation during sdist building +""" + +import logging +import os +import sys +import textwrap +from collections import OrderedDict +from distutils.sysconfig import get_python_lib +from sysconfig import get_paths + +from pip._vendor.pkg_resources import Requirement, VersionConflict, WorkingSet + +from pip import __file__ as pip_location +from pip._internal.utils.misc import call_subprocess +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner + +if MYPY_CHECK_RUNNING: + from typing import Tuple, Set, Iterable, Optional, List # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + +logger = logging.getLogger(__name__) + + +class _Prefix: + + def __init__(self, path): + # type: (str) -> None + self.path = path + self.setup = False + self.bin_dir = get_paths( + 'nt' if os.name == 'nt' else 'posix_prefix', + vars={'base': path, 'platbase': path} + )['scripts'] + # Note: prefer distutils' sysconfig to get the + # library paths so PyPy is correctly supported. + purelib = get_python_lib(plat_specific=False, prefix=path) + platlib = get_python_lib(plat_specific=True, prefix=path) + if purelib == platlib: + self.lib_dirs = [purelib] + else: + self.lib_dirs = [purelib, platlib] + + +class BuildEnvironment(object): + """Creates and manages an isolated environment to install build deps + """ + + def __init__(self): + # type: () -> None + self._temp_dir = TempDirectory(kind="build-env") + self._temp_dir.create() + + self._prefixes = OrderedDict(( + (name, _Prefix(os.path.join(self._temp_dir.path, name))) + for name in ('normal', 'overlay') + )) + + self._bin_dirs = [] # type: List[str] + self._lib_dirs = [] # type: List[str] + for prefix in reversed(list(self._prefixes.values())): + self._bin_dirs.append(prefix.bin_dir) + self._lib_dirs.extend(prefix.lib_dirs) + + # Customize site to: + # - ensure .pth files are honored + # - prevent access to system site packages + system_sites = { + os.path.normcase(site) for site in ( + get_python_lib(plat_specific=False), + get_python_lib(plat_specific=True), + ) + } + self._site_dir = os.path.join(self._temp_dir.path, 'site') + if not os.path.exists(self._site_dir): + os.mkdir(self._site_dir) + with open(os.path.join(self._site_dir, 'sitecustomize.py'), 'w') as fp: + fp.write(textwrap.dedent( + ''' + import os, site, sys + + # First, drop system-sites related paths. + original_sys_path = sys.path[:] + known_paths = set() + for path in {system_sites!r}: + site.addsitedir(path, known_paths=known_paths) + system_paths = set( + os.path.normcase(path) + for path in sys.path[len(original_sys_path):] + ) + original_sys_path = [ + path for path in original_sys_path + if os.path.normcase(path) not in system_paths + ] + sys.path = original_sys_path + + # Second, add lib directories. + # ensuring .pth file are processed. + for path in {lib_dirs!r}: + assert not path in sys.path + site.addsitedir(path) + ''' + ).format(system_sites=system_sites, lib_dirs=self._lib_dirs)) + + def __enter__(self): + self._save_env = { + name: os.environ.get(name, None) + for name in ('PATH', 'PYTHONNOUSERSITE', 'PYTHONPATH') + } + + path = self._bin_dirs[:] + old_path = self._save_env['PATH'] + if old_path: + path.extend(old_path.split(os.pathsep)) + + pythonpath = [self._site_dir] + + os.environ.update({ + 'PATH': os.pathsep.join(path), + 'PYTHONNOUSERSITE': '1', + 'PYTHONPATH': os.pathsep.join(pythonpath), + }) + + def __exit__(self, exc_type, exc_val, exc_tb): + for varname, old_value in self._save_env.items(): + if old_value is None: + os.environ.pop(varname, None) + else: + os.environ[varname] = old_value + + def cleanup(self): + # type: () -> None + self._temp_dir.cleanup() + + def check_requirements(self, reqs): + # type: (Iterable[str]) -> Tuple[Set[Tuple[str, str]], Set[str]] + """Return 2 sets: + - conflicting requirements: set of (installed, wanted) reqs tuples + - missing requirements: set of reqs + """ + missing = set() + conflicting = set() + if reqs: + ws = WorkingSet(self._lib_dirs) + for req in reqs: + try: + if ws.find(Requirement.parse(req)) is None: + missing.add(req) + except VersionConflict as e: + conflicting.add((str(e.args[0].as_requirement()), + str(e.args[1]))) + return conflicting, missing + + def install_requirements( + self, + finder, # type: PackageFinder + requirements, # type: Iterable[str] + prefix_as_string, # type: str + message # type: Optional[str] + ): + # type: (...) -> None + prefix = self._prefixes[prefix_as_string] + assert not prefix.setup + prefix.setup = True + if not requirements: + return + args = [ + sys.executable, os.path.dirname(pip_location), 'install', + '--ignore-installed', '--no-user', '--prefix', prefix.path, + '--no-warn-script-location', + ] # type: List[str] + if logger.getEffectiveLevel() <= logging.DEBUG: + args.append('-v') + for format_control in ('no_binary', 'only_binary'): + formats = getattr(finder.format_control, format_control) + args.extend(('--' + format_control.replace('_', '-'), + ','.join(sorted(formats or {':none:'})))) + if finder.index_urls: + args.extend(['-i', finder.index_urls[0]]) + for extra_index in finder.index_urls[1:]: + args.extend(['--extra-index-url', extra_index]) + else: + args.append('--no-index') + for link in finder.find_links: + args.extend(['--find-links', link]) + for _, host, _ in finder.secure_origins: + args.extend(['--trusted-host', host]) + if finder.allow_all_prereleases: + args.append('--pre') + args.append('--') + args.extend(requirements) + with open_spinner(message) as spinner: + call_subprocess(args, show_stdout=False, spinner=spinner) + + +class NoOpBuildEnvironment(BuildEnvironment): + """A no-op drop-in replacement for BuildEnvironment + """ + + def __init__(self): + pass + + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_val, exc_tb): + pass + + def cleanup(self): + pass + + def install_requirements(self, finder, requirements, prefix, message): + raise NotImplementedError() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cache.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cache.py new file mode 100644 index 0000000000..eb295c4e7c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cache.py @@ -0,0 +1,224 @@ +"""Cache Management +""" + +import errno +import hashlib +import logging +import os + +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.download import path_to_url +from pip._internal.models.link import Link +from pip._internal.utils.compat import expanduser +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import InvalidWheelFilename, Wheel + +if MYPY_CHECK_RUNNING: + from typing import Optional, Set, List, Any # noqa: F401 + from pip._internal.index import FormatControl # noqa: F401 + +logger = logging.getLogger(__name__) + + +class Cache(object): + """An abstract class - provides cache directories for data from links + + + :param cache_dir: The root of the cache. + :param format_control: An object of FormatControl class to limit + binaries being read from the cache. + :param allowed_formats: which formats of files the cache should store. + ('binary' and 'source' are the only allowed values) + """ + + def __init__(self, cache_dir, format_control, allowed_formats): + # type: (str, FormatControl, Set[str]) -> None + super(Cache, self).__init__() + self.cache_dir = expanduser(cache_dir) if cache_dir else None + self.format_control = format_control + self.allowed_formats = allowed_formats + + _valid_formats = {"source", "binary"} + assert self.allowed_formats.union(_valid_formats) == _valid_formats + + def _get_cache_path_parts(self, link): + # type: (Link) -> List[str] + """Get parts of part that must be os.path.joined with cache_dir + """ + + # We want to generate an url to use as our cache key, we don't want to + # just re-use the URL because it might have other items in the fragment + # and we don't care about those. + key_parts = [link.url_without_fragment] + if link.hash_name is not None and link.hash is not None: + key_parts.append("=".join([link.hash_name, link.hash])) + key_url = "#".join(key_parts) + + # Encode our key url with sha224, we'll use this because it has similar + # security properties to sha256, but with a shorter total output (and + # thus less secure). However the differences don't make a lot of + # difference for our use case here. + hashed = hashlib.sha224(key_url.encode()).hexdigest() + + # We want to nest the directories some to prevent having a ton of top + # level directories where we might run out of sub directories on some + # FS. + parts = [hashed[:2], hashed[2:4], hashed[4:6], hashed[6:]] + + return parts + + def _get_candidates(self, link, package_name): + # type: (Link, Optional[str]) -> List[Any] + can_not_cache = ( + not self.cache_dir or + not package_name or + not link + ) + if can_not_cache: + return [] + + canonical_name = canonicalize_name(package_name) + formats = self.format_control.get_allowed_formats( + canonical_name + ) + if not self.allowed_formats.intersection(formats): + return [] + + root = self.get_path_for_link(link) + try: + return os.listdir(root) + except OSError as err: + if err.errno in {errno.ENOENT, errno.ENOTDIR}: + return [] + raise + + def get_path_for_link(self, link): + # type: (Link) -> str + """Return a directory to store cached items in for link. + """ + raise NotImplementedError() + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + """Returns a link to a cached item if it exists, otherwise returns the + passed link. + """ + raise NotImplementedError() + + def _link_for_candidate(self, link, candidate): + # type: (Link, str) -> Link + root = self.get_path_for_link(link) + path = os.path.join(root, candidate) + + return Link(path_to_url(path)) + + def cleanup(self): + # type: () -> None + pass + + +class SimpleWheelCache(Cache): + """A cache of wheels for future installs. + """ + + def __init__(self, cache_dir, format_control): + # type: (str, FormatControl) -> None + super(SimpleWheelCache, self).__init__( + cache_dir, format_control, {"binary"} + ) + + def get_path_for_link(self, link): + # type: (Link) -> str + """Return a directory to store cached wheels for link + + Because there are M wheels for any one sdist, we provide a directory + to cache them in, and then consult that directory when looking up + cache hits. + + We only insert things into the cache if they have plausible version + numbers, so that we don't contaminate the cache with things that were + not unique. E.g. ./package might have dozens of installs done for it + and build a version of 0.0...and if we built and cached a wheel, we'd + end up using the same wheel even if the source has been edited. + + :param link: The link of the sdist for which this will cache wheels. + """ + parts = self._get_cache_path_parts(link) + + # Store wheels within the root cache_dir + return os.path.join(self.cache_dir, "wheels", *parts) + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + candidates = [] + + for wheel_name in self._get_candidates(link, package_name): + try: + wheel = Wheel(wheel_name) + except InvalidWheelFilename: + continue + if not wheel.supported(): + # Built for a different python/arch/etc + continue + candidates.append((wheel.support_index_min(), wheel_name)) + + if not candidates: + return link + + return self._link_for_candidate(link, min(candidates)[1]) + + +class EphemWheelCache(SimpleWheelCache): + """A SimpleWheelCache that creates it's own temporary cache directory + """ + + def __init__(self, format_control): + # type: (FormatControl) -> None + self._temp_dir = TempDirectory(kind="ephem-wheel-cache") + self._temp_dir.create() + + super(EphemWheelCache, self).__init__( + self._temp_dir.path, format_control + ) + + def cleanup(self): + # type: () -> None + self._temp_dir.cleanup() + + +class WheelCache(Cache): + """Wraps EphemWheelCache and SimpleWheelCache into a single Cache + + This Cache allows for gracefully degradation, using the ephem wheel cache + when a certain link is not found in the simple wheel cache first. + """ + + def __init__(self, cache_dir, format_control): + # type: (str, FormatControl) -> None + super(WheelCache, self).__init__( + cache_dir, format_control, {'binary'} + ) + self._wheel_cache = SimpleWheelCache(cache_dir, format_control) + self._ephem_cache = EphemWheelCache(format_control) + + def get_path_for_link(self, link): + # type: (Link) -> str + return self._wheel_cache.get_path_for_link(link) + + def get_ephem_path_for_link(self, link): + # type: (Link) -> str + return self._ephem_cache.get_path_for_link(link) + + def get(self, link, package_name): + # type: (Link, Optional[str]) -> Link + retval = self._wheel_cache.get(link, package_name) + if retval is link: + retval = self._ephem_cache.get(link, package_name) + return retval + + def cleanup(self): + # type: () -> None + self._wheel_cache.cleanup() + self._ephem_cache.cleanup() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/__init__.py new file mode 100644 index 0000000000..e589bb917e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/__init__.py @@ -0,0 +1,4 @@ +"""Subpackage containing all of pip's command line interface related code +""" + +# This file intentionally does not import submodules diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/autocompletion.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/autocompletion.py new file mode 100644 index 0000000000..0a04199e6d --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/autocompletion.py @@ -0,0 +1,152 @@ +"""Logic that powers autocompletion installed by ``pip completion``. +""" + +import optparse +import os +import sys + +from pip._internal.cli.main_parser import create_main_parser +from pip._internal.commands import commands_dict, get_summaries +from pip._internal.utils.misc import get_installed_distributions + + +def autocomplete(): + """Entry Point for completion of main and subcommand options. + """ + # Don't complete if user hasn't sourced bash_completion file. + if 'PIP_AUTO_COMPLETE' not in os.environ: + return + cwords = os.environ['COMP_WORDS'].split()[1:] + cword = int(os.environ['COMP_CWORD']) + try: + current = cwords[cword - 1] + except IndexError: + current = '' + + subcommands = [cmd for cmd, summary in get_summaries()] + options = [] + # subcommand + try: + subcommand_name = [w for w in cwords if w in subcommands][0] + except IndexError: + subcommand_name = None + + parser = create_main_parser() + # subcommand options + if subcommand_name: + # special case: 'help' subcommand has no options + if subcommand_name == 'help': + sys.exit(1) + # special case: list locally installed dists for show and uninstall + should_list_installed = ( + subcommand_name in ['show', 'uninstall'] and + not current.startswith('-') + ) + if should_list_installed: + installed = [] + lc = current.lower() + for dist in get_installed_distributions(local_only=True): + if dist.key.startswith(lc) and dist.key not in cwords[1:]: + installed.append(dist.key) + # if there are no dists installed, fall back to option completion + if installed: + for dist in installed: + print(dist) + sys.exit(1) + + subcommand = commands_dict[subcommand_name]() + + for opt in subcommand.parser.option_list_all: + if opt.help != optparse.SUPPRESS_HELP: + for opt_str in opt._long_opts + opt._short_opts: + options.append((opt_str, opt.nargs)) + + # filter out previously specified options from available options + prev_opts = [x.split('=')[0] for x in cwords[1:cword - 1]] + options = [(x, v) for (x, v) in options if x not in prev_opts] + # filter options by current input + options = [(k, v) for k, v in options if k.startswith(current)] + # get completion type given cwords and available subcommand options + completion_type = get_path_completion_type( + cwords, cword, subcommand.parser.option_list_all, + ) + # get completion files and directories if ``completion_type`` is + # ````, ``

    `` or ```` + if completion_type: + options = auto_complete_paths(current, completion_type) + options = ((opt, 0) for opt in options) + for option in options: + opt_label = option[0] + # append '=' to options which require args + if option[1] and option[0][:2] == "--": + opt_label += '=' + print(opt_label) + else: + # show main parser options only when necessary + + opts = [i.option_list for i in parser.option_groups] + opts.append(parser.option_list) + opts = (o for it in opts for o in it) + if current.startswith('-'): + for opt in opts: + if opt.help != optparse.SUPPRESS_HELP: + subcommands += opt._long_opts + opt._short_opts + else: + # get completion type given cwords and all available options + completion_type = get_path_completion_type(cwords, cword, opts) + if completion_type: + subcommands = auto_complete_paths(current, completion_type) + + print(' '.join([x for x in subcommands if x.startswith(current)])) + sys.exit(1) + + +def get_path_completion_type(cwords, cword, opts): + """Get the type of path completion (``file``, ``dir``, ``path`` or None) + + :param cwords: same as the environmental variable ``COMP_WORDS`` + :param cword: same as the environmental variable ``COMP_CWORD`` + :param opts: The available options to check + :return: path completion type (``file``, ``dir``, ``path`` or None) + """ + if cword < 2 or not cwords[cword - 2].startswith('-'): + return + for opt in opts: + if opt.help == optparse.SUPPRESS_HELP: + continue + for o in str(opt).split('/'): + if cwords[cword - 2].split('=')[0] == o: + if not opt.metavar or any( + x in ('path', 'file', 'dir') + for x in opt.metavar.split('/')): + return opt.metavar + + +def auto_complete_paths(current, completion_type): + """If ``completion_type`` is ``file`` or ``path``, list all regular files + and directories starting with ``current``; otherwise only list directories + starting with ``current``. + + :param current: The word to be completed + :param completion_type: path completion type(`file`, `path` or `dir`)i + :return: A generator of regular files and/or directories + """ + directory, filename = os.path.split(current) + current_path = os.path.abspath(directory) + # Don't complete paths if they can't be accessed + if not os.access(current_path, os.R_OK): + return + filename = os.path.normcase(filename) + # list all files that start with ``filename`` + file_list = (x for x in os.listdir(current_path) + if os.path.normcase(x).startswith(filename)) + for f in file_list: + opt = os.path.join(current_path, f) + comp_file = os.path.normcase(os.path.join(directory, f)) + # complete regular files when there is not ```` after option + # complete directories when there is ````, ```` or + # ````after option + if completion_type != 'dir' and os.path.isfile(opt): + yield comp_file + elif os.path.isdir(opt): + yield os.path.join(comp_file, '') diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/base_command.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/base_command.py new file mode 100644 index 0000000000..3ceea49923 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/base_command.py @@ -0,0 +1,341 @@ +"""Base Command class, and related routines""" +from __future__ import absolute_import, print_function + +import logging +import logging.config +import optparse +import os +import platform +import sys +import traceback + +from pip._internal.cli import cmdoptions +from pip._internal.cli.parser import ( + ConfigOptionParser, UpdatingDefaultsHelpFormatter, +) +from pip._internal.cli.status_codes import ( + ERROR, PREVIOUS_BUILD_DIR_ERROR, SUCCESS, UNKNOWN_ERROR, + VIRTUALENV_NOT_FOUND, +) +from pip._internal.download import PipSession +from pip._internal.exceptions import ( + BadCommand, CommandError, InstallationError, PreviousBuildDirError, + UninstallationError, +) +from pip._internal.index import PackageFinder +from pip._internal.locations import running_under_virtualenv +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.req.req_file import parse_requirements +from pip._internal.utils.deprecation import deprecated +from pip._internal.utils.logging import BrokenStdoutLoggingError, setup_logging +from pip._internal.utils.misc import ( + get_prog, normalize_path, redact_password_from_url, +) +from pip._internal.utils.outdated import pip_version_check +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, List, Tuple, Any # noqa: F401 + from optparse import Values # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.req.req_set import RequirementSet # noqa: F401 + +__all__ = ['Command'] + +logger = logging.getLogger(__name__) + + +class Command(object): + name = None # type: Optional[str] + usage = None # type: Optional[str] + hidden = False # type: bool + ignore_require_venv = False # type: bool + + def __init__(self, isolated=False): + # type: (bool) -> None + parser_kw = { + 'usage': self.usage, + 'prog': '%s %s' % (get_prog(), self.name), + 'formatter': UpdatingDefaultsHelpFormatter(), + 'add_help_option': False, + 'name': self.name, + 'description': self.__doc__, + 'isolated': isolated, + } + + self.parser = ConfigOptionParser(**parser_kw) + + # Commands should add options to this option group + optgroup_name = '%s Options' % self.name.capitalize() + self.cmd_opts = optparse.OptionGroup(self.parser, optgroup_name) + + # Add the general options + gen_opts = cmdoptions.make_option_group( + cmdoptions.general_group, + self.parser, + ) + self.parser.add_option_group(gen_opts) + + def run(self, options, args): + # type: (Values, List[Any]) -> Any + raise NotImplementedError + + def _build_session(self, options, retries=None, timeout=None): + # type: (Values, Optional[int], Optional[int]) -> PipSession + session = PipSession( + cache=( + normalize_path(os.path.join(options.cache_dir, "http")) + if options.cache_dir else None + ), + retries=retries if retries is not None else options.retries, + insecure_hosts=options.trusted_hosts, + ) + + # Handle custom ca-bundles from the user + if options.cert: + session.verify = options.cert + + # Handle SSL client certificate + if options.client_cert: + session.cert = options.client_cert + + # Handle timeouts + if options.timeout or timeout: + session.timeout = ( + timeout if timeout is not None else options.timeout + ) + + # Handle configured proxies + if options.proxy: + session.proxies = { + "http": options.proxy, + "https": options.proxy, + } + + # Determine if we can prompt the user for authentication or not + session.auth.prompting = not options.no_input + + return session + + def parse_args(self, args): + # type: (List[str]) -> Tuple + # factored out for testability + return self.parser.parse_args(args) + + def main(self, args): + # type: (List[str]) -> int + options, args = self.parse_args(args) + + # Set verbosity so that it can be used elsewhere. + self.verbosity = options.verbose - options.quiet + + level_number = setup_logging( + verbosity=self.verbosity, + no_color=options.no_color, + user_log_file=options.log, + ) + + if sys.version_info[:2] == (3, 4): + deprecated( + "Python 3.4 support has been deprecated. pip 19.1 will be the " + "last one supporting it. Please upgrade your Python as Python " + "3.4 won't be maintained after March 2019 (cf PEP 429).", + replacement=None, + gone_in='19.2', + ) + elif sys.version_info[:2] == (2, 7): + message = ( + "A future version of pip will drop support for Python 2.7." + ) + if platform.python_implementation() == "CPython": + message = ( + "Python 2.7 will reach the end of its life on January " + "1st, 2020. Please upgrade your Python as Python 2.7 " + "won't be maintained after that date. " + ) + message + deprecated(message, replacement=None, gone_in=None) + + # TODO: Try to get these passing down from the command? + # without resorting to os.environ to hold these. + # This also affects isolated builds and it should. + + if options.no_input: + os.environ['PIP_NO_INPUT'] = '1' + + if options.exists_action: + os.environ['PIP_EXISTS_ACTION'] = ' '.join(options.exists_action) + + if options.require_venv and not self.ignore_require_venv: + # If a venv is required check if it can really be found + if not running_under_virtualenv(): + logger.critical( + 'Could not find an activated virtualenv (required).' + ) + sys.exit(VIRTUALENV_NOT_FOUND) + + try: + status = self.run(options, args) + # FIXME: all commands should return an exit status + # and when it is done, isinstance is not needed anymore + if isinstance(status, int): + return status + except PreviousBuildDirError as exc: + logger.critical(str(exc)) + logger.debug('Exception information:', exc_info=True) + + return PREVIOUS_BUILD_DIR_ERROR + except (InstallationError, UninstallationError, BadCommand) as exc: + logger.critical(str(exc)) + logger.debug('Exception information:', exc_info=True) + + return ERROR + except CommandError as exc: + logger.critical('ERROR: %s', exc) + logger.debug('Exception information:', exc_info=True) + + return ERROR + except BrokenStdoutLoggingError: + # Bypass our logger and write any remaining messages to stderr + # because stdout no longer works. + print('ERROR: Pipe to stdout was broken', file=sys.stderr) + if level_number <= logging.DEBUG: + traceback.print_exc(file=sys.stderr) + + return ERROR + except KeyboardInterrupt: + logger.critical('Operation cancelled by user') + logger.debug('Exception information:', exc_info=True) + + return ERROR + except BaseException: + logger.critical('Exception:', exc_info=True) + + return UNKNOWN_ERROR + finally: + allow_version_check = ( + # Does this command have the index_group options? + hasattr(options, "no_index") and + # Is this command allowed to perform this check? + not (options.disable_pip_version_check or options.no_index) + ) + # Check if we're using the latest version of pip available + if allow_version_check: + session = self._build_session( + options, + retries=0, + timeout=min(5, options.timeout) + ) + with session: + pip_version_check(session, options) + + # Shutdown the logging module + logging.shutdown() + + return SUCCESS + + +class RequirementCommand(Command): + + @staticmethod + def populate_requirement_set(requirement_set, # type: RequirementSet + args, # type: List[str] + options, # type: Values + finder, # type: PackageFinder + session, # type: PipSession + name, # type: str + wheel_cache # type: Optional[WheelCache] + ): + # type: (...) -> None + """ + Marshal cmd line args into a requirement set. + """ + # NOTE: As a side-effect, options.require_hashes and + # requirement_set.require_hashes may be updated + + for filename in options.constraints: + for req_to_add in parse_requirements( + filename, + constraint=True, finder=finder, options=options, + session=session, wheel_cache=wheel_cache): + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for req in args: + req_to_add = install_req_from_line( + req, None, isolated=options.isolated_mode, + use_pep517=options.use_pep517, + wheel_cache=wheel_cache + ) + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for req in options.editables: + req_to_add = install_req_from_editable( + req, + isolated=options.isolated_mode, + use_pep517=options.use_pep517, + wheel_cache=wheel_cache + ) + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + + for filename in options.requirements: + for req_to_add in parse_requirements( + filename, + finder=finder, options=options, session=session, + wheel_cache=wheel_cache, + use_pep517=options.use_pep517): + req_to_add.is_direct = True + requirement_set.add_requirement(req_to_add) + # If --require-hashes was a line in a requirements file, tell + # RequirementSet about it: + requirement_set.require_hashes = options.require_hashes + + if not (args or options.editables or options.requirements): + opts = {'name': name} + if options.find_links: + raise CommandError( + 'You must give at least one requirement to %(name)s ' + '(maybe you meant "pip %(name)s %(links)s"?)' % + dict(opts, links=' '.join(options.find_links))) + else: + raise CommandError( + 'You must give at least one requirement to %(name)s ' + '(see "pip help %(name)s")' % opts) + + def _build_package_finder( + self, + options, # type: Values + session, # type: PipSession + platform=None, # type: Optional[str] + python_versions=None, # type: Optional[List[str]] + abi=None, # type: Optional[str] + implementation=None # type: Optional[str] + ): + # type: (...) -> PackageFinder + """ + Create a package finder appropriate to this requirement command. + """ + index_urls = [options.index_url] + options.extra_index_urls + if options.no_index: + logger.debug( + 'Ignoring indexes: %s', + ','.join(redact_password_from_url(url) for url in index_urls), + ) + index_urls = [] + + return PackageFinder( + find_links=options.find_links, + format_control=options.format_control, + index_urls=index_urls, + trusted_hosts=options.trusted_hosts, + allow_all_prereleases=options.pre, + session=session, + platform=platform, + versions=python_versions, + abi=abi, + implementation=implementation, + prefer_binary=options.prefer_binary, + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/cmdoptions.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/cmdoptions.py new file mode 100644 index 0000000000..5cf5ee970d --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/cmdoptions.py @@ -0,0 +1,809 @@ +""" +shared options and groups + +The principle here is to define options once, but *not* instantiate them +globally. One reason being that options with action='append' can carry state +between parses. pip parses general options twice internally, and shouldn't +pass on state. To be consistent, all options will follow this design. + +""" +from __future__ import absolute_import + +import textwrap +import warnings +from distutils.util import strtobool +from functools import partial +from optparse import SUPPRESS_HELP, Option, OptionGroup + +from pip._internal.exceptions import CommandError +from pip._internal.locations import USER_CACHE_DIR, src_prefix +from pip._internal.models.format_control import FormatControl +from pip._internal.models.index import PyPI +from pip._internal.utils.hashes import STRONG_HASHES +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import BAR_TYPES + +if MYPY_CHECK_RUNNING: + from typing import Any, Callable, Dict, List, Optional, Union # noqa: F401 + from optparse import OptionParser, Values # noqa: F401 + from pip._internal.cli.parser import ConfigOptionParser # noqa: F401 + + +def raise_option_error(parser, option, msg): + """ + Raise an option parsing error using parser.error(). + + Args: + parser: an OptionParser instance. + option: an Option instance. + msg: the error text. + """ + msg = '{} error: {}'.format(option, msg) + msg = textwrap.fill(' '.join(msg.split())) + parser.error(msg) + + +def make_option_group(group, parser): + # type: (Dict[str, Any], ConfigOptionParser) -> OptionGroup + """ + Return an OptionGroup object + group -- assumed to be dict with 'name' and 'options' keys + parser -- an optparse Parser + """ + option_group = OptionGroup(parser, group['name']) + for option in group['options']: + option_group.add_option(option()) + return option_group + + +def check_install_build_global(options, check_options=None): + # type: (Values, Optional[Values]) -> None + """Disable wheels if per-setup.py call options are set. + + :param options: The OptionParser options to update. + :param check_options: The options to check, if not supplied defaults to + options. + """ + if check_options is None: + check_options = options + + def getname(n): + return getattr(check_options, n, None) + names = ["build_options", "global_options", "install_options"] + if any(map(getname, names)): + control = options.format_control + control.disallow_binaries() + warnings.warn( + 'Disabling all use of wheels due to the use of --build-options ' + '/ --global-options / --install-options.', stacklevel=2, + ) + + +def check_dist_restriction(options, check_target=False): + # type: (Values, bool) -> None + """Function for determining if custom platform options are allowed. + + :param options: The OptionParser options. + :param check_target: Whether or not to check if --target is being used. + """ + dist_restriction_set = any([ + options.python_version, + options.platform, + options.abi, + options.implementation, + ]) + + binary_only = FormatControl(set(), {':all:'}) + sdist_dependencies_allowed = ( + options.format_control != binary_only and + not options.ignore_dependencies + ) + + # Installations or downloads using dist restrictions must not combine + # source distributions and dist-specific wheels, as they are not + # gauranteed to be locally compatible. + if dist_restriction_set and sdist_dependencies_allowed: + raise CommandError( + "When restricting platform and interpreter constraints using " + "--python-version, --platform, --abi, or --implementation, " + "either --no-deps must be set, or --only-binary=:all: must be " + "set and --no-binary must not be set (or must be set to " + ":none:)." + ) + + if check_target: + if dist_restriction_set and not options.target_dir: + raise CommandError( + "Can not use any platform or abi specific options unless " + "installing via '--target'" + ) + + +########### +# options # +########### + +help_ = partial( + Option, + '-h', '--help', + dest='help', + action='help', + help='Show help.', +) # type: Callable[..., Option] + +isolated_mode = partial( + Option, + "--isolated", + dest="isolated_mode", + action="store_true", + default=False, + help=( + "Run pip in an isolated mode, ignoring environment variables and user " + "configuration." + ), +) # type: Callable[..., Option] + +require_virtualenv = partial( + Option, + # Run only if inside a virtualenv, bail if not. + '--require-virtualenv', '--require-venv', + dest='require_venv', + action='store_true', + default=False, + help=SUPPRESS_HELP +) # type: Callable[..., Option] + +verbose = partial( + Option, + '-v', '--verbose', + dest='verbose', + action='count', + default=0, + help='Give more output. Option is additive, and can be used up to 3 times.' +) # type: Callable[..., Option] + +no_color = partial( + Option, + '--no-color', + dest='no_color', + action='store_true', + default=False, + help="Suppress colored output", +) # type: Callable[..., Option] + +version = partial( + Option, + '-V', '--version', + dest='version', + action='store_true', + help='Show version and exit.', +) # type: Callable[..., Option] + +quiet = partial( + Option, + '-q', '--quiet', + dest='quiet', + action='count', + default=0, + help=( + 'Give less output. Option is additive, and can be used up to 3' + ' times (corresponding to WARNING, ERROR, and CRITICAL logging' + ' levels).' + ), +) # type: Callable[..., Option] + +progress_bar = partial( + Option, + '--progress-bar', + dest='progress_bar', + type='choice', + choices=list(BAR_TYPES.keys()), + default='on', + help=( + 'Specify type of progress to be displayed [' + + '|'.join(BAR_TYPES.keys()) + '] (default: %default)' + ), +) # type: Callable[..., Option] + +log = partial( + Option, + "--log", "--log-file", "--local-log", + dest="log", + metavar="path", + help="Path to a verbose appending log." +) # type: Callable[..., Option] + +no_input = partial( + Option, + # Don't ask for input + '--no-input', + dest='no_input', + action='store_true', + default=False, + help=SUPPRESS_HELP +) # type: Callable[..., Option] + +proxy = partial( + Option, + '--proxy', + dest='proxy', + type='str', + default='', + help="Specify a proxy in the form [user:passwd@]proxy.server:port." +) # type: Callable[..., Option] + +retries = partial( + Option, + '--retries', + dest='retries', + type='int', + default=5, + help="Maximum number of retries each connection should attempt " + "(default %default times).", +) # type: Callable[..., Option] + +timeout = partial( + Option, + '--timeout', '--default-timeout', + metavar='sec', + dest='timeout', + type='float', + default=15, + help='Set the socket timeout (default %default seconds).', +) # type: Callable[..., Option] + +skip_requirements_regex = partial( + Option, + # A regex to be used to skip requirements + '--skip-requirements-regex', + dest='skip_requirements_regex', + type='str', + default='', + help=SUPPRESS_HELP, +) # type: Callable[..., Option] + + +def exists_action(): + # type: () -> Option + return Option( + # Option when path already exist + '--exists-action', + dest='exists_action', + type='choice', + choices=['s', 'i', 'w', 'b', 'a'], + default=[], + action='append', + metavar='action', + help="Default action when a path already exists: " + "(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort).", + ) + + +cert = partial( + Option, + '--cert', + dest='cert', + type='str', + metavar='path', + help="Path to alternate CA bundle.", +) # type: Callable[..., Option] + +client_cert = partial( + Option, + '--client-cert', + dest='client_cert', + type='str', + default=None, + metavar='path', + help="Path to SSL client certificate, a single file containing the " + "private key and the certificate in PEM format.", +) # type: Callable[..., Option] + +index_url = partial( + Option, + '-i', '--index-url', '--pypi-url', + dest='index_url', + metavar='URL', + default=PyPI.simple_url, + help="Base URL of Python Package Index (default %default). " + "This should point to a repository compliant with PEP 503 " + "(the simple repository API) or a local directory laid out " + "in the same format.", +) # type: Callable[..., Option] + + +def extra_index_url(): + return Option( + '--extra-index-url', + dest='extra_index_urls', + metavar='URL', + action='append', + default=[], + help="Extra URLs of package indexes to use in addition to " + "--index-url. Should follow the same rules as " + "--index-url.", + ) + + +no_index = partial( + Option, + '--no-index', + dest='no_index', + action='store_true', + default=False, + help='Ignore package index (only looking at --find-links URLs instead).', +) # type: Callable[..., Option] + + +def find_links(): + # type: () -> Option + return Option( + '-f', '--find-links', + dest='find_links', + action='append', + default=[], + metavar='url', + help="If a url or path to an html file, then parse for links to " + "archives. If a local path or file:// url that's a directory, " + "then look for archives in the directory listing.", + ) + + +def trusted_host(): + # type: () -> Option + return Option( + "--trusted-host", + dest="trusted_hosts", + action="append", + metavar="HOSTNAME", + default=[], + help="Mark this host as trusted, even though it does not have valid " + "or any HTTPS.", + ) + + +def constraints(): + # type: () -> Option + return Option( + '-c', '--constraint', + dest='constraints', + action='append', + default=[], + metavar='file', + help='Constrain versions using the given constraints file. ' + 'This option can be used multiple times.' + ) + + +def requirements(): + # type: () -> Option + return Option( + '-r', '--requirement', + dest='requirements', + action='append', + default=[], + metavar='file', + help='Install from the given requirements file. ' + 'This option can be used multiple times.' + ) + + +def editable(): + # type: () -> Option + return Option( + '-e', '--editable', + dest='editables', + action='append', + default=[], + metavar='path/url', + help=('Install a project in editable mode (i.e. setuptools ' + '"develop mode") from a local project path or a VCS url.'), + ) + + +src = partial( + Option, + '--src', '--source', '--source-dir', '--source-directory', + dest='src_dir', + metavar='dir', + default=src_prefix, + help='Directory to check out editable projects into. ' + 'The default in a virtualenv is "/src". ' + 'The default for global installs is "/src".' +) # type: Callable[..., Option] + + +def _get_format_control(values, option): + # type: (Values, Option) -> Any + """Get a format_control object.""" + return getattr(values, option.dest) + + +def _handle_no_binary(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + existing = _get_format_control(parser.values, option) + FormatControl.handle_mutual_excludes( + value, existing.no_binary, existing.only_binary, + ) + + +def _handle_only_binary(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + existing = _get_format_control(parser.values, option) + FormatControl.handle_mutual_excludes( + value, existing.only_binary, existing.no_binary, + ) + + +def no_binary(): + # type: () -> Option + format_control = FormatControl(set(), set()) + return Option( + "--no-binary", dest="format_control", action="callback", + callback=_handle_no_binary, type="str", + default=format_control, + help="Do not use binary packages. Can be supplied multiple times, and " + "each time adds to the existing value. Accepts either :all: to " + "disable all binary packages, :none: to empty the set, or one or " + "more package names with commas between them. Note that some " + "packages are tricky to compile and may fail to install when " + "this option is used on them.", + ) + + +def only_binary(): + # type: () -> Option + format_control = FormatControl(set(), set()) + return Option( + "--only-binary", dest="format_control", action="callback", + callback=_handle_only_binary, type="str", + default=format_control, + help="Do not use source packages. Can be supplied multiple times, and " + "each time adds to the existing value. Accepts either :all: to " + "disable all source packages, :none: to empty the set, or one or " + "more package names with commas between them. Packages without " + "binary distributions will fail to install when this option is " + "used on them.", + ) + + +platform = partial( + Option, + '--platform', + dest='platform', + metavar='platform', + default=None, + help=("Only use wheels compatible with . " + "Defaults to the platform of the running system."), +) # type: Callable[..., Option] + + +python_version = partial( + Option, + '--python-version', + dest='python_version', + metavar='python_version', + default=None, + help=("Only use wheels compatible with Python " + "interpreter version . If not specified, then the " + "current system interpreter minor version is used. A major " + "version (e.g. '2') can be specified to match all " + "minor revs of that major version. A minor version " + "(e.g. '34') can also be specified."), +) # type: Callable[..., Option] + + +implementation = partial( + Option, + '--implementation', + dest='implementation', + metavar='implementation', + default=None, + help=("Only use wheels compatible with Python " + "implementation , e.g. 'pp', 'jy', 'cp', " + " or 'ip'. If not specified, then the current " + "interpreter implementation is used. Use 'py' to force " + "implementation-agnostic wheels."), +) # type: Callable[..., Option] + + +abi = partial( + Option, + '--abi', + dest='abi', + metavar='abi', + default=None, + help=("Only use wheels compatible with Python " + "abi , e.g. 'pypy_41'. If not specified, then the " + "current interpreter abi tag is used. Generally " + "you will need to specify --implementation, " + "--platform, and --python-version when using " + "this option."), +) # type: Callable[..., Option] + + +def prefer_binary(): + # type: () -> Option + return Option( + "--prefer-binary", + dest="prefer_binary", + action="store_true", + default=False, + help="Prefer older binary packages over newer source packages." + ) + + +cache_dir = partial( + Option, + "--cache-dir", + dest="cache_dir", + default=USER_CACHE_DIR, + metavar="dir", + help="Store the cache data in ." +) # type: Callable[..., Option] + + +def no_cache_dir_callback(option, opt, value, parser): + """ + Process a value provided for the --no-cache-dir option. + + This is an optparse.Option callback for the --no-cache-dir option. + """ + # The value argument will be None if --no-cache-dir is passed via the + # command-line, since the option doesn't accept arguments. However, + # the value can be non-None if the option is triggered e.g. by an + # environment variable, like PIP_NO_CACHE_DIR=true. + if value is not None: + # Then parse the string value to get argument error-checking. + try: + strtobool(value) + except ValueError as exc: + raise_option_error(parser, option=option, msg=str(exc)) + + # Originally, setting PIP_NO_CACHE_DIR to a value that strtobool() + # converted to 0 (like "false" or "no") caused cache_dir to be disabled + # rather than enabled (logic would say the latter). Thus, we disable + # the cache directory not just on values that parse to True, but (for + # backwards compatibility reasons) also on values that parse to False. + # In other words, always set it to False if the option is provided in + # some (valid) form. + parser.values.cache_dir = False + + +no_cache = partial( + Option, + "--no-cache-dir", + dest="cache_dir", + action="callback", + callback=no_cache_dir_callback, + help="Disable the cache.", +) # type: Callable[..., Option] + +no_deps = partial( + Option, + '--no-deps', '--no-dependencies', + dest='ignore_dependencies', + action='store_true', + default=False, + help="Don't install package dependencies.", +) # type: Callable[..., Option] + +build_dir = partial( + Option, + '-b', '--build', '--build-dir', '--build-directory', + dest='build_dir', + metavar='dir', + help='Directory to unpack packages into and build in. Note that ' + 'an initial build still takes place in a temporary directory. ' + 'The location of temporary directories can be controlled by setting ' + 'the TMPDIR environment variable (TEMP on Windows) appropriately. ' + 'When passed, build directories are not cleaned in case of failures.' +) # type: Callable[..., Option] + +ignore_requires_python = partial( + Option, + '--ignore-requires-python', + dest='ignore_requires_python', + action='store_true', + help='Ignore the Requires-Python information.' +) # type: Callable[..., Option] + +no_build_isolation = partial( + Option, + '--no-build-isolation', + dest='build_isolation', + action='store_false', + default=True, + help='Disable isolation when building a modern source distribution. ' + 'Build dependencies specified by PEP 518 must be already installed ' + 'if this option is used.' +) # type: Callable[..., Option] + + +def no_use_pep517_callback(option, opt, value, parser): + """ + Process a value provided for the --no-use-pep517 option. + + This is an optparse.Option callback for the no_use_pep517 option. + """ + # Since --no-use-pep517 doesn't accept arguments, the value argument + # will be None if --no-use-pep517 is passed via the command-line. + # However, the value can be non-None if the option is triggered e.g. + # by an environment variable, for example "PIP_NO_USE_PEP517=true". + if value is not None: + msg = """A value was passed for --no-use-pep517, + probably using either the PIP_NO_USE_PEP517 environment variable + or the "no-use-pep517" config file option. Use an appropriate value + of the PIP_USE_PEP517 environment variable or the "use-pep517" + config file option instead. + """ + raise_option_error(parser, option=option, msg=msg) + + # Otherwise, --no-use-pep517 was passed via the command-line. + parser.values.use_pep517 = False + + +use_pep517 = partial( + Option, + '--use-pep517', + dest='use_pep517', + action='store_true', + default=None, + help='Use PEP 517 for building source distributions ' + '(use --no-use-pep517 to force legacy behaviour).' +) # type: Any + +no_use_pep517 = partial( + Option, + '--no-use-pep517', + dest='use_pep517', + action='callback', + callback=no_use_pep517_callback, + default=None, + help=SUPPRESS_HELP +) # type: Any + +install_options = partial( + Option, + '--install-option', + dest='install_options', + action='append', + metavar='options', + help="Extra arguments to be supplied to the setup.py install " + "command (use like --install-option=\"--install-scripts=/usr/local/" + "bin\"). Use multiple --install-option options to pass multiple " + "options to setup.py install. If you are using an option with a " + "directory path, be sure to use absolute path.", +) # type: Callable[..., Option] + +global_options = partial( + Option, + '--global-option', + dest='global_options', + action='append', + metavar='options', + help="Extra global options to be supplied to the setup.py " + "call before the install command.", +) # type: Callable[..., Option] + +no_clean = partial( + Option, + '--no-clean', + action='store_true', + default=False, + help="Don't clean up build directories." +) # type: Callable[..., Option] + +pre = partial( + Option, + '--pre', + action='store_true', + default=False, + help="Include pre-release and development versions. By default, " + "pip only finds stable versions.", +) # type: Callable[..., Option] + +disable_pip_version_check = partial( + Option, + "--disable-pip-version-check", + dest="disable_pip_version_check", + action="store_true", + default=False, + help="Don't periodically check PyPI to determine whether a new version " + "of pip is available for download. Implied with --no-index.", +) # type: Callable[..., Option] + + +# Deprecated, Remove later +always_unzip = partial( + Option, + '-Z', '--always-unzip', + dest='always_unzip', + action='store_true', + help=SUPPRESS_HELP, +) # type: Callable[..., Option] + + +def _merge_hash(option, opt_str, value, parser): + # type: (Option, str, str, OptionParser) -> None + """Given a value spelled "algo:digest", append the digest to a list + pointed to in a dict by the algo name.""" + if not parser.values.hashes: + parser.values.hashes = {} # type: ignore + try: + algo, digest = value.split(':', 1) + except ValueError: + parser.error('Arguments to %s must be a hash name ' + 'followed by a value, like --hash=sha256:abcde...' % + opt_str) + if algo not in STRONG_HASHES: + parser.error('Allowed hash algorithms for %s are %s.' % + (opt_str, ', '.join(STRONG_HASHES))) + parser.values.hashes.setdefault(algo, []).append(digest) + + +hash = partial( + Option, + '--hash', + # Hash values eventually end up in InstallRequirement.hashes due to + # __dict__ copying in process_line(). + dest='hashes', + action='callback', + callback=_merge_hash, + type='string', + help="Verify that the package's archive matches this " + 'hash before installing. Example: --hash=sha256:abcdef...', +) # type: Callable[..., Option] + + +require_hashes = partial( + Option, + '--require-hashes', + dest='require_hashes', + action='store_true', + default=False, + help='Require a hash to check each requirement against, for ' + 'repeatable installs. This option is implied when any package in a ' + 'requirements file has a --hash option.', +) # type: Callable[..., Option] + + +########## +# groups # +########## + +general_group = { + 'name': 'General Options', + 'options': [ + help_, + isolated_mode, + require_virtualenv, + verbose, + version, + quiet, + log, + no_input, + proxy, + retries, + timeout, + skip_requirements_regex, + exists_action, + trusted_host, + cert, + client_cert, + cache_dir, + no_cache, + disable_pip_version_check, + no_color, + ] +} # type: Dict[str, Any] + +index_group = { + 'name': 'Package Index Options', + 'options': [ + index_url, + extra_index_url, + no_index, + find_links, + ] +} # type: Dict[str, Any] diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/main_parser.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/main_parser.py new file mode 100644 index 0000000000..b17c749280 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/main_parser.py @@ -0,0 +1,104 @@ +"""A single place for constructing and exposing the main parser +""" + +import os +import sys + +from pip import __version__ +from pip._internal.cli import cmdoptions +from pip._internal.cli.parser import ( + ConfigOptionParser, UpdatingDefaultsHelpFormatter, +) +from pip._internal.commands import ( + commands_dict, get_similar_commands, get_summaries, +) +from pip._internal.exceptions import CommandError +from pip._internal.utils.misc import get_prog +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Tuple, List # noqa: F401 + + +__all__ = ["create_main_parser", "parse_command"] + + +def create_main_parser(): + # type: () -> ConfigOptionParser + """Creates and returns the main parser for pip's CLI + """ + + parser_kw = { + 'usage': '\n%prog [options]', + 'add_help_option': False, + 'formatter': UpdatingDefaultsHelpFormatter(), + 'name': 'global', + 'prog': get_prog(), + } + + parser = ConfigOptionParser(**parser_kw) + parser.disable_interspersed_args() + + pip_pkg_dir = os.path.abspath(os.path.join( + os.path.dirname(__file__), "..", "..", + )) + parser.version = 'pip %s from %s (python %s)' % ( + __version__, pip_pkg_dir, sys.version[:3], + ) + + # add the general options + gen_opts = cmdoptions.make_option_group(cmdoptions.general_group, parser) + parser.add_option_group(gen_opts) + + # so the help formatter knows + parser.main = True # type: ignore + + # create command listing for description + command_summaries = get_summaries() + description = [''] + ['%-27s %s' % (i, j) for i, j in command_summaries] + parser.description = '\n'.join(description) + + return parser + + +def parse_command(args): + # type: (List[str]) -> Tuple[str, List[str]] + parser = create_main_parser() + + # Note: parser calls disable_interspersed_args(), so the result of this + # call is to split the initial args into the general options before the + # subcommand and everything else. + # For example: + # args: ['--timeout=5', 'install', '--user', 'INITools'] + # general_options: ['--timeout==5'] + # args_else: ['install', '--user', 'INITools'] + general_options, args_else = parser.parse_args(args) + + # --version + if general_options.version: + sys.stdout.write(parser.version) # type: ignore + sys.stdout.write(os.linesep) + sys.exit() + + # pip || pip help -> print_help() + if not args_else or (args_else[0] == 'help' and len(args_else) == 1): + parser.print_help() + sys.exit() + + # the subcommand name + cmd_name = args_else[0] + + if cmd_name not in commands_dict: + guess = get_similar_commands(cmd_name) + + msg = ['unknown command "%s"' % cmd_name] + if guess: + msg.append('maybe you meant "%s"' % guess) + + raise CommandError(' - '.join(msg)) + + # all the args without the subcommand + cmd_args = args[:] + cmd_args.remove(cmd_name) + + return cmd_name, cmd_args diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/parser.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/parser.py new file mode 100644 index 0000000000..e1eaac4204 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/parser.py @@ -0,0 +1,261 @@ +"""Base option parser setup""" +from __future__ import absolute_import + +import logging +import optparse +import sys +import textwrap +from distutils.util import strtobool + +from pip._vendor.six import string_types + +from pip._internal.cli.status_codes import UNKNOWN_ERROR +from pip._internal.configuration import Configuration, ConfigurationError +from pip._internal.utils.compat import get_terminal_size + +logger = logging.getLogger(__name__) + + +class PrettyHelpFormatter(optparse.IndentedHelpFormatter): + """A prettier/less verbose help formatter for optparse.""" + + def __init__(self, *args, **kwargs): + # help position must be aligned with __init__.parseopts.description + kwargs['max_help_position'] = 30 + kwargs['indent_increment'] = 1 + kwargs['width'] = get_terminal_size()[0] - 2 + optparse.IndentedHelpFormatter.__init__(self, *args, **kwargs) + + def format_option_strings(self, option): + return self._format_option_strings(option, ' <%s>', ', ') + + def _format_option_strings(self, option, mvarfmt=' <%s>', optsep=', '): + """ + Return a comma-separated list of option strings and metavars. + + :param option: tuple of (short opt, long opt), e.g: ('-f', '--format') + :param mvarfmt: metavar format string - evaluated as mvarfmt % metavar + :param optsep: separator + """ + opts = [] + + if option._short_opts: + opts.append(option._short_opts[0]) + if option._long_opts: + opts.append(option._long_opts[0]) + if len(opts) > 1: + opts.insert(1, optsep) + + if option.takes_value(): + metavar = option.metavar or option.dest.lower() + opts.append(mvarfmt % metavar.lower()) + + return ''.join(opts) + + def format_heading(self, heading): + if heading == 'Options': + return '' + return heading + ':\n' + + def format_usage(self, usage): + """ + Ensure there is only one newline between usage and the first heading + if there is no description. + """ + msg = '\nUsage: %s\n' % self.indent_lines(textwrap.dedent(usage), " ") + return msg + + def format_description(self, description): + # leave full control over description to us + if description: + if hasattr(self.parser, 'main'): + label = 'Commands' + else: + label = 'Description' + # some doc strings have initial newlines, some don't + description = description.lstrip('\n') + # some doc strings have final newlines and spaces, some don't + description = description.rstrip() + # dedent, then reindent + description = self.indent_lines(textwrap.dedent(description), " ") + description = '%s:\n%s\n' % (label, description) + return description + else: + return '' + + def format_epilog(self, epilog): + # leave full control over epilog to us + if epilog: + return epilog + else: + return '' + + def indent_lines(self, text, indent): + new_lines = [indent + line for line in text.split('\n')] + return "\n".join(new_lines) + + +class UpdatingDefaultsHelpFormatter(PrettyHelpFormatter): + """Custom help formatter for use in ConfigOptionParser. + + This is updates the defaults before expanding them, allowing + them to show up correctly in the help listing. + """ + + def expand_default(self, option): + if self.parser is not None: + self.parser._update_defaults(self.parser.defaults) + return optparse.IndentedHelpFormatter.expand_default(self, option) + + +class CustomOptionParser(optparse.OptionParser): + + def insert_option_group(self, idx, *args, **kwargs): + """Insert an OptionGroup at a given position.""" + group = self.add_option_group(*args, **kwargs) + + self.option_groups.pop() + self.option_groups.insert(idx, group) + + return group + + @property + def option_list_all(self): + """Get a list of all options, including those in option groups.""" + res = self.option_list[:] + for i in self.option_groups: + res.extend(i.option_list) + + return res + + +class ConfigOptionParser(CustomOptionParser): + """Custom option parser which updates its defaults by checking the + configuration files and environmental variables""" + + def __init__(self, *args, **kwargs): + self.name = kwargs.pop('name') + + isolated = kwargs.pop("isolated", False) + self.config = Configuration(isolated) + + assert self.name + optparse.OptionParser.__init__(self, *args, **kwargs) + + def check_default(self, option, key, val): + try: + return option.check_value(key, val) + except optparse.OptionValueError as exc: + print("An error occurred during configuration: %s" % exc) + sys.exit(3) + + def _get_ordered_configuration_items(self): + # Configuration gives keys in an unordered manner. Order them. + override_order = ["global", self.name, ":env:"] + + # Pool the options into different groups + section_items = {name: [] for name in override_order} + for section_key, val in self.config.items(): + # ignore empty values + if not val: + logger.debug( + "Ignoring configuration key '%s' as it's value is empty.", + section_key + ) + continue + + section, key = section_key.split(".", 1) + if section in override_order: + section_items[section].append((key, val)) + + # Yield each group in their override order + for section in override_order: + for key, val in section_items[section]: + yield key, val + + def _update_defaults(self, defaults): + """Updates the given defaults with values from the config files and + the environ. Does a little special handling for certain types of + options (lists).""" + + # Accumulate complex default state. + self.values = optparse.Values(self.defaults) + late_eval = set() + # Then set the options with those values + for key, val in self._get_ordered_configuration_items(): + # '--' because configuration supports only long names + option = self.get_option('--' + key) + + # Ignore options not present in this parser. E.g. non-globals put + # in [global] by users that want them to apply to all applicable + # commands. + if option is None: + continue + + if option.action in ('store_true', 'store_false', 'count'): + try: + val = strtobool(val) + except ValueError: + error_msg = invalid_config_error_message( + option.action, key, val + ) + self.error(error_msg) + + elif option.action == 'append': + val = val.split() + val = [self.check_default(option, key, v) for v in val] + elif option.action == 'callback': + late_eval.add(option.dest) + opt_str = option.get_opt_string() + val = option.convert_value(opt_str, val) + # From take_action + args = option.callback_args or () + kwargs = option.callback_kwargs or {} + option.callback(option, opt_str, val, self, *args, **kwargs) + else: + val = self.check_default(option, key, val) + + defaults[option.dest] = val + + for key in late_eval: + defaults[key] = getattr(self.values, key) + self.values = None + return defaults + + def get_default_values(self): + """Overriding to make updating the defaults after instantiation of + the option parser possible, _update_defaults() does the dirty work.""" + if not self.process_default_values: + # Old, pre-Optik 1.5 behaviour. + return optparse.Values(self.defaults) + + # Load the configuration, or error out in case of an error + try: + self.config.load() + except ConfigurationError as err: + self.exit(UNKNOWN_ERROR, str(err)) + + defaults = self._update_defaults(self.defaults.copy()) # ours + for option in self._get_all_options(): + default = defaults.get(option.dest) + if isinstance(default, string_types): + opt_str = option.get_opt_string() + defaults[option.dest] = option.check_value(opt_str, default) + return optparse.Values(defaults) + + def error(self, msg): + self.print_usage(sys.stderr) + self.exit(UNKNOWN_ERROR, "%s\n" % msg) + + +def invalid_config_error_message(action, key, val): + """Returns a better error message when invalid configuration option + is provided.""" + if action in ('store_true', 'store_false'): + return ("{0} is not a valid value for {1} option, " + "please specify a boolean value like yes/no, " + "true/false or 1/0 instead.").format(val, key) + + return ("{0} is not a valid value for {1} option, " + "please specify a numerical value like 1/0 " + "instead.").format(val, key) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/status_codes.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/status_codes.py new file mode 100644 index 0000000000..275360a317 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/cli/status_codes.py @@ -0,0 +1,8 @@ +from __future__ import absolute_import + +SUCCESS = 0 +ERROR = 1 +UNKNOWN_ERROR = 2 +VIRTUALENV_NOT_FOUND = 3 +PREVIOUS_BUILD_DIR_ERROR = 4 +NO_MATCHES_FOUND = 23 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/__init__.py new file mode 100644 index 0000000000..c7d1da3d90 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/__init__.py @@ -0,0 +1,79 @@ +""" +Package containing all pip commands +""" +from __future__ import absolute_import + +from pip._internal.commands.completion import CompletionCommand +from pip._internal.commands.configuration import ConfigurationCommand +from pip._internal.commands.download import DownloadCommand +from pip._internal.commands.freeze import FreezeCommand +from pip._internal.commands.hash import HashCommand +from pip._internal.commands.help import HelpCommand +from pip._internal.commands.list import ListCommand +from pip._internal.commands.check import CheckCommand +from pip._internal.commands.search import SearchCommand +from pip._internal.commands.show import ShowCommand +from pip._internal.commands.install import InstallCommand +from pip._internal.commands.uninstall import UninstallCommand +from pip._internal.commands.wheel import WheelCommand + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Type # noqa: F401 + from pip._internal.cli.base_command import Command # noqa: F401 + +commands_order = [ + InstallCommand, + DownloadCommand, + UninstallCommand, + FreezeCommand, + ListCommand, + ShowCommand, + CheckCommand, + ConfigurationCommand, + SearchCommand, + WheelCommand, + HashCommand, + CompletionCommand, + HelpCommand, +] # type: List[Type[Command]] + +commands_dict = {c.name: c for c in commands_order} + + +def get_summaries(ordered=True): + """Yields sorted (command name, command summary) tuples.""" + + if ordered: + cmditems = _sort_commands(commands_dict, commands_order) + else: + cmditems = commands_dict.items() + + for name, command_class in cmditems: + yield (name, command_class.summary) + + +def get_similar_commands(name): + """Command name auto-correct.""" + from difflib import get_close_matches + + name = name.lower() + + close_commands = get_close_matches(name, commands_dict.keys()) + + if close_commands: + return close_commands[0] + else: + return False + + +def _sort_commands(cmddict, order): + def keyfn(key): + try: + return order.index(key[1]) + except ValueError: + # unordered items should come last + return 0xff + + return sorted(cmddict.items(), key=keyfn) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/check.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/check.py new file mode 100644 index 0000000000..801cecc0b8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/check.py @@ -0,0 +1,41 @@ +import logging + +from pip._internal.cli.base_command import Command +from pip._internal.operations.check import ( + check_package_set, create_package_set_from_installed, +) + +logger = logging.getLogger(__name__) + + +class CheckCommand(Command): + """Verify installed packages have compatible dependencies.""" + name = 'check' + usage = """ + %prog [options]""" + summary = 'Verify installed packages have compatible dependencies.' + + def run(self, options, args): + package_set, parsing_probs = create_package_set_from_installed() + missing, conflicting = check_package_set(package_set) + + for project_name in missing: + version = package_set[project_name].version + for dependency in missing[project_name]: + logger.info( + "%s %s requires %s, which is not installed.", + project_name, version, dependency[0], + ) + + for project_name in conflicting: + version = package_set[project_name].version + for dep_name, dep_version, req in conflicting[project_name]: + logger.info( + "%s %s has requirement %s, but you have %s %s.", + project_name, version, req, dep_name, dep_version, + ) + + if missing or conflicting or parsing_probs: + return 1 + else: + logger.info("No broken requirements found.") diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/completion.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/completion.py new file mode 100644 index 0000000000..2fcdd393ed --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/completion.py @@ -0,0 +1,94 @@ +from __future__ import absolute_import + +import sys +import textwrap + +from pip._internal.cli.base_command import Command +from pip._internal.utils.misc import get_prog + +BASE_COMPLETION = """ +# pip %(shell)s completion start%(script)s# pip %(shell)s completion end +""" + +COMPLETION_SCRIPTS = { + 'bash': """ + _pip_completion() + { + COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \\ + COMP_CWORD=$COMP_CWORD \\ + PIP_AUTO_COMPLETE=1 $1 ) ) + } + complete -o default -F _pip_completion %(prog)s + """, + 'zsh': """ + function _pip_completion { + local words cword + read -Ac words + read -cn cword + reply=( $( COMP_WORDS="$words[*]" \\ + COMP_CWORD=$(( cword-1 )) \\ + PIP_AUTO_COMPLETE=1 $words[1] ) ) + } + compctl -K _pip_completion %(prog)s + """, + 'fish': """ + function __fish_complete_pip + set -lx COMP_WORDS (commandline -o) "" + set -lx COMP_CWORD ( \\ + math (contains -i -- (commandline -t) $COMP_WORDS)-1 \\ + ) + set -lx PIP_AUTO_COMPLETE 1 + string split \\ -- (eval $COMP_WORDS[1]) + end + complete -fa "(__fish_complete_pip)" -c %(prog)s + """, +} + + +class CompletionCommand(Command): + """A helper command to be used for command completion.""" + name = 'completion' + summary = 'A helper command used for command completion.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(CompletionCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option( + '--bash', '-b', + action='store_const', + const='bash', + dest='shell', + help='Emit completion code for bash') + cmd_opts.add_option( + '--zsh', '-z', + action='store_const', + const='zsh', + dest='shell', + help='Emit completion code for zsh') + cmd_opts.add_option( + '--fish', '-f', + action='store_const', + const='fish', + dest='shell', + help='Emit completion code for fish') + + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + """Prints the completion code of the given shell""" + shells = COMPLETION_SCRIPTS.keys() + shell_options = ['--' + shell for shell in sorted(shells)] + if options.shell in shells: + script = textwrap.dedent( + COMPLETION_SCRIPTS.get(options.shell, '') % { + 'prog': get_prog(), + } + ) + print(BASE_COMPLETION % {'script': script, 'shell': options.shell}) + else: + sys.stderr.write( + 'ERROR: You must pass %s\n' % ' or '.join(shell_options) + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/configuration.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/configuration.py new file mode 100644 index 0000000000..826c08dccd --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/configuration.py @@ -0,0 +1,227 @@ +import logging +import os +import subprocess + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import ERROR, SUCCESS +from pip._internal.configuration import Configuration, kinds +from pip._internal.exceptions import PipError +from pip._internal.locations import venv_config_file +from pip._internal.utils.misc import get_prog + +logger = logging.getLogger(__name__) + + +class ConfigurationCommand(Command): + """Manage local and global configuration. + + Subcommands: + + list: List the active configuration (or from the file specified) + edit: Edit the configuration file in an editor + get: Get the value associated with name + set: Set the name=value + unset: Unset the value associated with name + + If none of --user, --global and --venv are passed, a virtual + environment configuration file is used if one is active and the file + exists. Otherwise, all modifications happen on the to the user file by + default. + """ + + name = 'config' + usage = """ + %prog [] list + %prog [] [--editor ] edit + + %prog [] get name + %prog [] set name value + %prog [] unset name + """ + + summary = "Manage local and global configuration." + + def __init__(self, *args, **kwargs): + super(ConfigurationCommand, self).__init__(*args, **kwargs) + + self.configuration = None + + self.cmd_opts.add_option( + '--editor', + dest='editor', + action='store', + default=None, + help=( + 'Editor to use to edit the file. Uses VISUAL or EDITOR ' + 'environment variables if not provided.' + ) + ) + + self.cmd_opts.add_option( + '--global', + dest='global_file', + action='store_true', + default=False, + help='Use the system-wide configuration file only' + ) + + self.cmd_opts.add_option( + '--user', + dest='user_file', + action='store_true', + default=False, + help='Use the user configuration file only' + ) + + self.cmd_opts.add_option( + '--venv', + dest='venv_file', + action='store_true', + default=False, + help='Use the virtualenv configuration file only' + ) + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + handlers = { + "list": self.list_values, + "edit": self.open_in_editor, + "get": self.get_name, + "set": self.set_name_value, + "unset": self.unset_name + } + + # Determine action + if not args or args[0] not in handlers: + logger.error("Need an action ({}) to perform.".format( + ", ".join(sorted(handlers))) + ) + return ERROR + + action = args[0] + + # Determine which configuration files are to be loaded + # Depends on whether the command is modifying. + try: + load_only = self._determine_file( + options, need_value=(action in ["get", "set", "unset", "edit"]) + ) + except PipError as e: + logger.error(e.args[0]) + return ERROR + + # Load a new configuration + self.configuration = Configuration( + isolated=options.isolated_mode, load_only=load_only + ) + self.configuration.load() + + # Error handling happens here, not in the action-handlers. + try: + handlers[action](options, args[1:]) + except PipError as e: + logger.error(e.args[0]) + return ERROR + + return SUCCESS + + def _determine_file(self, options, need_value): + file_options = { + kinds.USER: options.user_file, + kinds.GLOBAL: options.global_file, + kinds.VENV: options.venv_file + } + + if sum(file_options.values()) == 0: + if not need_value: + return None + # Default to user, unless there's a virtualenv file. + elif os.path.exists(venv_config_file): + return kinds.VENV + else: + return kinds.USER + elif sum(file_options.values()) == 1: + # There's probably a better expression for this. + return [key for key in file_options if file_options[key]][0] + + raise PipError( + "Need exactly one file to operate upon " + "(--user, --venv, --global) to perform." + ) + + def list_values(self, options, args): + self._get_n_args(args, "list", n=0) + + for key, value in sorted(self.configuration.items()): + logger.info("%s=%r", key, value) + + def get_name(self, options, args): + key = self._get_n_args(args, "get [name]", n=1) + value = self.configuration.get_value(key) + + logger.info("%s", value) + + def set_name_value(self, options, args): + key, value = self._get_n_args(args, "set [name] [value]", n=2) + self.configuration.set_value(key, value) + + self._save_configuration() + + def unset_name(self, options, args): + key = self._get_n_args(args, "unset [name]", n=1) + self.configuration.unset_value(key) + + self._save_configuration() + + def open_in_editor(self, options, args): + editor = self._determine_editor(options) + + fname = self.configuration.get_file_to_edit() + if fname is None: + raise PipError("Could not determine appropriate file.") + + try: + subprocess.check_call([editor, fname]) + except subprocess.CalledProcessError as e: + raise PipError( + "Editor Subprocess exited with exit code {}" + .format(e.returncode) + ) + + def _get_n_args(self, args, example, n): + """Helper to make sure the command got the right number of arguments + """ + if len(args) != n: + msg = ( + 'Got unexpected number of arguments, expected {}. ' + '(example: "{} config {}")' + ).format(n, get_prog(), example) + raise PipError(msg) + + if n == 1: + return args[0] + else: + return args + + def _save_configuration(self): + # We successfully ran a modifying command. Need to save the + # configuration. + try: + self.configuration.save() + except Exception: + logger.error( + "Unable to save configuration. Please report this as a bug.", + exc_info=1 + ) + raise PipError("Internal Error.") + + def _determine_editor(self, options): + if options.editor is not None: + return options.editor + elif "VISUAL" in os.environ: + return os.environ["VISUAL"] + elif "EDITOR" in os.environ: + return os.environ["EDITOR"] + else: + raise PipError("Could not determine editor to use.") diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/download.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/download.py new file mode 100644 index 0000000000..a57e4bc4cb --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/download.py @@ -0,0 +1,176 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ensure_dir, normalize_path +from pip._internal.utils.temp_dir import TempDirectory + +logger = logging.getLogger(__name__) + + +class DownloadCommand(RequirementCommand): + """ + Download packages from: + + - PyPI (and other indexes) using requirement specifiers. + - VCS project urls. + - Local project directories. + - Local or remote source archives. + + pip also supports downloading from "requirements files", which provide + an easy way to specify a whole environment to be downloaded. + """ + name = 'download' + + usage = """ + %prog [options] [package-index-options] ... + %prog [options] -r [package-index-options] ... + %prog [options] ... + %prog [options] ... + %prog [options] ...""" + + summary = 'Download packages.' + + def __init__(self, *args, **kw): + super(DownloadCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option(cmdoptions.constraints()) + cmd_opts.add_option(cmdoptions.requirements()) + cmd_opts.add_option(cmdoptions.build_dir()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.global_options()) + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option(cmdoptions.src()) + cmd_opts.add_option(cmdoptions.pre()) + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + cmd_opts.add_option(cmdoptions.progress_bar()) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + + cmd_opts.add_option( + '-d', '--dest', '--destination-dir', '--destination-directory', + dest='download_dir', + metavar='dir', + default=os.curdir, + help=("Download packages into ."), + ) + + cmd_opts.add_option(cmdoptions.platform()) + cmd_opts.add_option(cmdoptions.python_version()) + cmd_opts.add_option(cmdoptions.implementation()) + cmd_opts.add_option(cmdoptions.abi()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + options.ignore_installed = True + # editable doesn't really make sense for `pip download`, but the bowels + # of the RequirementSet code require that property. + options.editables = [] + + if options.python_version: + python_versions = [options.python_version] + else: + python_versions = None + + cmdoptions.check_dist_restriction(options) + + options.src_dir = os.path.abspath(options.src_dir) + options.download_dir = normalize_path(options.download_dir) + + ensure_dir(options.download_dir) + + with self._build_session(options) as session: + finder = self._build_package_finder( + options=options, + session=session, + platform=options.platform, + python_versions=python_versions, + abi=options.abi, + implementation=options.implementation, + ) + build_delete = (not (options.no_clean or options.build_dir)) + if options.cache_dir and not check_path_owner(options.cache_dir): + logger.warning( + "The directory '%s' or its parent directory is not owned " + "by the current user and caching wheels has been " + "disabled. check the permissions and owner of that " + "directory. If executing pip with sudo, you may want " + "sudo's -H flag.", + options.cache_dir, + ) + options.cache_dir = None + + with RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="download" + ) as directory: + + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + ) + self.populate_requirement_set( + requirement_set, + args, + options, + finder, + session, + self.name, + None + ) + + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=options.download_dir, + wheel_download_dir=None, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=None, + use_user_site=False, + upgrade_strategy="to-satisfy-only", + force_reinstall=False, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=False, + ignore_installed=True, + isolated=options.isolated_mode, + ) + resolver.resolve(requirement_set) + + downloaded = ' '.join([ + req.name for req in requirement_set.successfully_downloaded + ]) + if downloaded: + logger.info('Successfully downloaded %s', downloaded) + + # Clean up + if not options.no_clean: + requirement_set.cleanup_files() + + return requirement_set diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/freeze.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/freeze.py new file mode 100644 index 0000000000..dc9c53a6b5 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/freeze.py @@ -0,0 +1,96 @@ +from __future__ import absolute_import + +import sys + +from pip._internal.cache import WheelCache +from pip._internal.cli.base_command import Command +from pip._internal.models.format_control import FormatControl +from pip._internal.operations.freeze import freeze +from pip._internal.utils.compat import stdlib_pkgs + +DEV_PKGS = {'pip', 'setuptools', 'distribute', 'wheel'} + + +class FreezeCommand(Command): + """ + Output installed packages in requirements format. + + packages are listed in a case-insensitive sorted order. + """ + name = 'freeze' + usage = """ + %prog [options]""" + summary = 'Output installed packages in requirements format.' + log_streams = ("ext://sys.stderr", "ext://sys.stderr") + + def __init__(self, *args, **kw): + super(FreezeCommand, self).__init__(*args, **kw) + + self.cmd_opts.add_option( + '-r', '--requirement', + dest='requirements', + action='append', + default=[], + metavar='file', + help="Use the order in the given requirements file and its " + "comments when generating output. This option can be " + "used multiple times.") + self.cmd_opts.add_option( + '-f', '--find-links', + dest='find_links', + action='append', + default=[], + metavar='URL', + help='URL for finding packages, which will be added to the ' + 'output.') + self.cmd_opts.add_option( + '-l', '--local', + dest='local', + action='store_true', + default=False, + help='If in a virtualenv that has global access, do not output ' + 'globally-installed packages.') + self.cmd_opts.add_option( + '--user', + dest='user', + action='store_true', + default=False, + help='Only output packages installed in user-site.') + self.cmd_opts.add_option( + '--all', + dest='freeze_all', + action='store_true', + help='Do not skip these packages in the output:' + ' %s' % ', '.join(DEV_PKGS)) + self.cmd_opts.add_option( + '--exclude-editable', + dest='exclude_editable', + action='store_true', + help='Exclude editable package from output.') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + format_control = FormatControl(set(), set()) + wheel_cache = WheelCache(options.cache_dir, format_control) + skip = set(stdlib_pkgs) + if not options.freeze_all: + skip.update(DEV_PKGS) + + freeze_kwargs = dict( + requirement=options.requirements, + find_links=options.find_links, + local_only=options.local, + user_only=options.user, + skip_regex=options.skip_requirements_regex, + isolated=options.isolated_mode, + wheel_cache=wheel_cache, + skip=skip, + exclude_editable=options.exclude_editable, + ) + + try: + for line in freeze(**freeze_kwargs): + sys.stdout.write(line + '\n') + finally: + wheel_cache.cleanup() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/hash.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/hash.py new file mode 100644 index 0000000000..423440e9c2 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/hash.py @@ -0,0 +1,57 @@ +from __future__ import absolute_import + +import hashlib +import logging +import sys + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import ERROR +from pip._internal.utils.hashes import FAVORITE_HASH, STRONG_HASHES +from pip._internal.utils.misc import read_chunks + +logger = logging.getLogger(__name__) + + +class HashCommand(Command): + """ + Compute a hash of a local package archive. + + These can be used with --hash in a requirements file to do repeatable + installs. + + """ + name = 'hash' + usage = '%prog [options] ...' + summary = 'Compute hashes of package archives.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(HashCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-a', '--algorithm', + dest='algorithm', + choices=STRONG_HASHES, + action='store', + default=FAVORITE_HASH, + help='The hash algorithm to use: one of %s' % + ', '.join(STRONG_HASHES)) + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + self.parser.print_usage(sys.stderr) + return ERROR + + algorithm = options.algorithm + for path in args: + logger.info('%s:\n--hash=%s:%s', + path, algorithm, _hash_of_file(path, algorithm)) + + +def _hash_of_file(path, algorithm): + """Return the hash digest of a file.""" + with open(path, 'rb') as archive: + hash = hashlib.new(algorithm) + for chunk in read_chunks(archive): + hash.update(chunk) + return hash.hexdigest() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/help.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/help.py new file mode 100644 index 0000000000..49a81cbb07 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/help.py @@ -0,0 +1,37 @@ +from __future__ import absolute_import + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import SUCCESS +from pip._internal.exceptions import CommandError + + +class HelpCommand(Command): + """Show help for commands""" + name = 'help' + usage = """ + %prog """ + summary = 'Show help for commands.' + ignore_require_venv = True + + def run(self, options, args): + from pip._internal.commands import commands_dict, get_similar_commands + + try: + # 'pip help' with no args is handled by pip.__init__.parseopt() + cmd_name = args[0] # the command we need help for + except IndexError: + return SUCCESS + + if cmd_name not in commands_dict: + guess = get_similar_commands(cmd_name) + + msg = ['unknown command "%s"' % cmd_name] + if guess: + msg.append('maybe you meant "%s"' % guess) + + raise CommandError(' - '.join(msg)) + + command = commands_dict[cmd_name]() + command.parser.print_help() + + return SUCCESS diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/install.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/install.py new file mode 100644 index 0000000000..1c244d230b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/install.py @@ -0,0 +1,566 @@ +from __future__ import absolute_import + +import errno +import logging +import operator +import os +import shutil +from optparse import SUPPRESS_HELP + +from pip._vendor import pkg_resources + +from pip._internal.cache import WheelCache +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.cli.status_codes import ERROR +from pip._internal.exceptions import ( + CommandError, InstallationError, PreviousBuildDirError, +) +from pip._internal.locations import distutils_scheme, virtualenv_no_global +from pip._internal.operations.check import check_install_conflicts +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet, install_given_reqs +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ( + ensure_dir, get_installed_version, + protect_pip_from_modification_on_windows, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.wheel import WheelBuilder + +logger = logging.getLogger(__name__) + + +class InstallCommand(RequirementCommand): + """ + Install packages from: + + - PyPI (and other indexes) using requirement specifiers. + - VCS project urls. + - Local project directories. + - Local or remote source archives. + + pip also supports installing from "requirements files", which provide + an easy way to specify a whole environment to be installed. + """ + name = 'install' + + usage = """ + %prog [options] [package-index-options] ... + %prog [options] -r [package-index-options] ... + %prog [options] [-e] ... + %prog [options] [-e] ... + %prog [options] ...""" + + summary = 'Install packages.' + + def __init__(self, *args, **kw): + super(InstallCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option(cmdoptions.requirements()) + cmd_opts.add_option(cmdoptions.constraints()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.pre()) + + cmd_opts.add_option(cmdoptions.editable()) + cmd_opts.add_option( + '-t', '--target', + dest='target_dir', + metavar='dir', + default=None, + help='Install packages into . ' + 'By default this will not replace existing files/folders in ' + '. Use --upgrade to replace existing packages in ' + 'with new versions.' + ) + cmd_opts.add_option(cmdoptions.platform()) + cmd_opts.add_option(cmdoptions.python_version()) + cmd_opts.add_option(cmdoptions.implementation()) + cmd_opts.add_option(cmdoptions.abi()) + + cmd_opts.add_option( + '--user', + dest='use_user_site', + action='store_true', + help="Install to the Python user install directory for your " + "platform. Typically ~/.local/, or %APPDATA%\\Python on " + "Windows. (See the Python documentation for site.USER_BASE " + "for full details.)") + cmd_opts.add_option( + '--no-user', + dest='use_user_site', + action='store_false', + help=SUPPRESS_HELP) + cmd_opts.add_option( + '--root', + dest='root_path', + metavar='dir', + default=None, + help="Install everything relative to this alternate root " + "directory.") + cmd_opts.add_option( + '--prefix', + dest='prefix_path', + metavar='dir', + default=None, + help="Installation prefix where lib, bin and other top-level " + "folders are placed") + + cmd_opts.add_option(cmdoptions.build_dir()) + + cmd_opts.add_option(cmdoptions.src()) + + cmd_opts.add_option( + '-U', '--upgrade', + dest='upgrade', + action='store_true', + help='Upgrade all specified packages to the newest available ' + 'version. The handling of dependencies depends on the ' + 'upgrade-strategy used.' + ) + + cmd_opts.add_option( + '--upgrade-strategy', + dest='upgrade_strategy', + default='only-if-needed', + choices=['only-if-needed', 'eager'], + help='Determines how dependency upgrading should be handled ' + '[default: %default]. ' + '"eager" - dependencies are upgraded regardless of ' + 'whether the currently installed version satisfies the ' + 'requirements of the upgraded package(s). ' + '"only-if-needed" - are upgraded only when they do not ' + 'satisfy the requirements of the upgraded package(s).' + ) + + cmd_opts.add_option( + '--force-reinstall', + dest='force_reinstall', + action='store_true', + help='Reinstall all packages even if they are already ' + 'up-to-date.') + + cmd_opts.add_option( + '-I', '--ignore-installed', + dest='ignore_installed', + action='store_true', + help='Ignore the installed packages (reinstalling instead).') + + cmd_opts.add_option(cmdoptions.ignore_requires_python()) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + + cmd_opts.add_option(cmdoptions.install_options()) + cmd_opts.add_option(cmdoptions.global_options()) + + cmd_opts.add_option( + "--compile", + action="store_true", + dest="compile", + default=True, + help="Compile Python source files to bytecode", + ) + + cmd_opts.add_option( + "--no-compile", + action="store_false", + dest="compile", + help="Do not compile Python source files to bytecode", + ) + + cmd_opts.add_option( + "--no-warn-script-location", + action="store_false", + dest="warn_script_location", + default=True, + help="Do not warn when installing scripts outside PATH", + ) + cmd_opts.add_option( + "--no-warn-conflicts", + action="store_false", + dest="warn_about_conflicts", + default=True, + help="Do not warn about broken dependencies", + ) + + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + cmd_opts.add_option(cmdoptions.progress_bar()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + cmdoptions.check_install_build_global(options) + upgrade_strategy = "to-satisfy-only" + if options.upgrade: + upgrade_strategy = options.upgrade_strategy + + if options.build_dir: + options.build_dir = os.path.abspath(options.build_dir) + + cmdoptions.check_dist_restriction(options, check_target=True) + + if options.python_version: + python_versions = [options.python_version] + else: + python_versions = None + + options.src_dir = os.path.abspath(options.src_dir) + install_options = options.install_options or [] + if options.use_user_site: + if options.prefix_path: + raise CommandError( + "Can not combine '--user' and '--prefix' as they imply " + "different installation locations" + ) + if virtualenv_no_global(): + raise InstallationError( + "Can not perform a '--user' install. User site-packages " + "are not visible in this virtualenv." + ) + install_options.append('--user') + install_options.append('--prefix=') + + target_temp_dir = TempDirectory(kind="target") + if options.target_dir: + options.ignore_installed = True + options.target_dir = os.path.abspath(options.target_dir) + if (os.path.exists(options.target_dir) and not + os.path.isdir(options.target_dir)): + raise CommandError( + "Target path exists but is not a directory, will not " + "continue." + ) + + # Create a target directory for using with the target option + target_temp_dir.create() + install_options.append('--home=' + target_temp_dir.path) + + global_options = options.global_options or [] + + with self._build_session(options) as session: + finder = self._build_package_finder( + options=options, + session=session, + platform=options.platform, + python_versions=python_versions, + abi=options.abi, + implementation=options.implementation, + ) + build_delete = (not (options.no_clean or options.build_dir)) + wheel_cache = WheelCache(options.cache_dir, options.format_control) + + if options.cache_dir and not check_path_owner(options.cache_dir): + logger.warning( + "The directory '%s' or its parent directory is not owned " + "by the current user and caching wheels has been " + "disabled. check the permissions and owner of that " + "directory. If executing pip with sudo, you may want " + "sudo's -H flag.", + options.cache_dir, + ) + options.cache_dir = None + + with RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="install" + ) as directory: + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + check_supported_wheels=not options.target_dir, + ) + + try: + self.populate_requirement_set( + requirement_set, args, options, finder, session, + self.name, wheel_cache + ) + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=None, + wheel_download_dir=None, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=wheel_cache, + use_user_site=options.use_user_site, + upgrade_strategy=upgrade_strategy, + force_reinstall=options.force_reinstall, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=options.ignore_requires_python, + ignore_installed=options.ignore_installed, + isolated=options.isolated_mode, + use_pep517=options.use_pep517 + ) + resolver.resolve(requirement_set) + + protect_pip_from_modification_on_windows( + modifying_pip=requirement_set.has_requirement("pip") + ) + + # Consider legacy and PEP517-using requirements separately + legacy_requirements = [] + pep517_requirements = [] + for req in requirement_set.requirements.values(): + if req.use_pep517: + pep517_requirements.append(req) + else: + legacy_requirements.append(req) + + # We don't build wheels for legacy requirements if we + # don't have wheel installed or we don't have a cache dir + try: + import wheel # noqa: F401 + build_legacy = bool(options.cache_dir) + except ImportError: + build_legacy = False + + wb = WheelBuilder( + finder, preparer, wheel_cache, + build_options=[], global_options=[], + ) + + # Always build PEP 517 requirements + build_failures = wb.build( + pep517_requirements, + session=session, autobuilding=True + ) + + if build_legacy: + # We don't care about failures building legacy + # requirements, as we'll fall through to a direct + # install for those. + wb.build( + legacy_requirements, + session=session, autobuilding=True + ) + + # If we're using PEP 517, we cannot do a direct install + # so we fail here. + if build_failures: + raise InstallationError( + "Could not build wheels for {} which use" + " PEP 517 and cannot be installed directly".format( + ", ".join(r.name for r in build_failures))) + + to_install = resolver.get_installation_order( + requirement_set + ) + + # Consistency Checking of the package set we're installing. + should_warn_about_conflicts = ( + not options.ignore_dependencies and + options.warn_about_conflicts + ) + if should_warn_about_conflicts: + self._warn_about_conflicts(to_install) + + # Don't warn about script install locations if + # --target has been specified + warn_script_location = options.warn_script_location + if options.target_dir: + warn_script_location = False + + installed = install_given_reqs( + to_install, + install_options, + global_options, + root=options.root_path, + home=target_temp_dir.path, + prefix=options.prefix_path, + pycompile=options.compile, + warn_script_location=warn_script_location, + use_user_site=options.use_user_site, + ) + + lib_locations = get_lib_location_guesses( + user=options.use_user_site, + home=target_temp_dir.path, + root=options.root_path, + prefix=options.prefix_path, + isolated=options.isolated_mode, + ) + working_set = pkg_resources.WorkingSet(lib_locations) + + reqs = sorted(installed, key=operator.attrgetter('name')) + items = [] + for req in reqs: + item = req.name + try: + installed_version = get_installed_version( + req.name, working_set=working_set + ) + if installed_version: + item += '-' + installed_version + except Exception: + pass + items.append(item) + installed = ' '.join(items) + if installed: + logger.info('Successfully installed %s', installed) + except EnvironmentError as error: + show_traceback = (self.verbosity >= 1) + + message = create_env_error_message( + error, show_traceback, options.use_user_site, + ) + logger.error(message, exc_info=show_traceback) + + return ERROR + except PreviousBuildDirError: + options.no_clean = True + raise + finally: + # Clean up + if not options.no_clean: + requirement_set.cleanup_files() + wheel_cache.cleanup() + + if options.target_dir: + self._handle_target_dir( + options.target_dir, target_temp_dir, options.upgrade + ) + return requirement_set + + def _handle_target_dir(self, target_dir, target_temp_dir, upgrade): + ensure_dir(target_dir) + + # Checking both purelib and platlib directories for installed + # packages to be moved to target directory + lib_dir_list = [] + + with target_temp_dir: + # Checking both purelib and platlib directories for installed + # packages to be moved to target directory + scheme = distutils_scheme('', home=target_temp_dir.path) + purelib_dir = scheme['purelib'] + platlib_dir = scheme['platlib'] + data_dir = scheme['data'] + + if os.path.exists(purelib_dir): + lib_dir_list.append(purelib_dir) + if os.path.exists(platlib_dir) and platlib_dir != purelib_dir: + lib_dir_list.append(platlib_dir) + if os.path.exists(data_dir): + lib_dir_list.append(data_dir) + + for lib_dir in lib_dir_list: + for item in os.listdir(lib_dir): + if lib_dir == data_dir: + ddir = os.path.join(data_dir, item) + if any(s.startswith(ddir) for s in lib_dir_list[:-1]): + continue + target_item_dir = os.path.join(target_dir, item) + if os.path.exists(target_item_dir): + if not upgrade: + logger.warning( + 'Target directory %s already exists. Specify ' + '--upgrade to force replacement.', + target_item_dir + ) + continue + if os.path.islink(target_item_dir): + logger.warning( + 'Target directory %s already exists and is ' + 'a link. Pip will not automatically replace ' + 'links, please remove if replacement is ' + 'desired.', + target_item_dir + ) + continue + if os.path.isdir(target_item_dir): + shutil.rmtree(target_item_dir) + else: + os.remove(target_item_dir) + + shutil.move( + os.path.join(lib_dir, item), + target_item_dir + ) + + def _warn_about_conflicts(self, to_install): + try: + package_set, _dep_info = check_install_conflicts(to_install) + except Exception: + logger.error("Error checking for conflicts.", exc_info=True) + return + missing, conflicting = _dep_info + + # NOTE: There is some duplication here from pip check + for project_name in missing: + version = package_set[project_name][0] + for dependency in missing[project_name]: + logger.critical( + "%s %s requires %s, which is not installed.", + project_name, version, dependency[1], + ) + + for project_name in conflicting: + version = package_set[project_name][0] + for dep_name, dep_version, req in conflicting[project_name]: + logger.critical( + "%s %s has requirement %s, but you'll have %s %s which is " + "incompatible.", + project_name, version, req, dep_name, dep_version, + ) + + +def get_lib_location_guesses(*args, **kwargs): + scheme = distutils_scheme('', *args, **kwargs) + return [scheme['purelib'], scheme['platlib']] + + +def create_env_error_message(error, show_traceback, using_user_site): + """Format an error message for an EnvironmentError + + It may occur anytime during the execution of the install command. + """ + parts = [] + + # Mention the error if we are not going to show a traceback + parts.append("Could not install packages due to an EnvironmentError") + if not show_traceback: + parts.append(": ") + parts.append(str(error)) + else: + parts.append(".") + + # Spilt the error indication from a helper message (if any) + parts[-1] += "\n" + + # Suggest useful actions to the user: + # (1) using user site-packages or (2) verifying the permissions + if error.errno == errno.EACCES: + user_option_part = "Consider using the `--user` option" + permissions_part = "Check the permissions" + + if not using_user_site: + parts.extend([ + user_option_part, " or ", + permissions_part.lower(), + ]) + else: + parts.append(permissions_part) + parts.append(".\n") + + return "".join(parts).strip() + "\n" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/list.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/list.py new file mode 100644 index 0000000000..a640274920 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/list.py @@ -0,0 +1,301 @@ +from __future__ import absolute_import + +import json +import logging + +from pip._vendor import six +from pip._vendor.six.moves import zip_longest + +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import Command +from pip._internal.exceptions import CommandError +from pip._internal.index import PackageFinder +from pip._internal.utils.misc import ( + dist_is_editable, get_installed_distributions, +) +from pip._internal.utils.packaging import get_installer + +logger = logging.getLogger(__name__) + + +class ListCommand(Command): + """ + List installed packages, including editables. + + Packages are listed in a case-insensitive sorted order. + """ + name = 'list' + usage = """ + %prog [options]""" + summary = 'List installed packages.' + + def __init__(self, *args, **kw): + super(ListCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option( + '-o', '--outdated', + action='store_true', + default=False, + help='List outdated packages') + cmd_opts.add_option( + '-u', '--uptodate', + action='store_true', + default=False, + help='List uptodate packages') + cmd_opts.add_option( + '-e', '--editable', + action='store_true', + default=False, + help='List editable projects.') + cmd_opts.add_option( + '-l', '--local', + action='store_true', + default=False, + help=('If in a virtualenv that has global access, do not list ' + 'globally-installed packages.'), + ) + self.cmd_opts.add_option( + '--user', + dest='user', + action='store_true', + default=False, + help='Only output packages installed in user-site.') + + cmd_opts.add_option( + '--pre', + action='store_true', + default=False, + help=("Include pre-release and development versions. By default, " + "pip only finds stable versions."), + ) + + cmd_opts.add_option( + '--format', + action='store', + dest='list_format', + default="columns", + choices=('columns', 'freeze', 'json'), + help="Select the output format among: columns (default), freeze, " + "or json", + ) + + cmd_opts.add_option( + '--not-required', + action='store_true', + dest='not_required', + help="List packages that are not dependencies of " + "installed packages.", + ) + + cmd_opts.add_option( + '--exclude-editable', + action='store_false', + dest='include_editable', + help='Exclude editable package from output.', + ) + cmd_opts.add_option( + '--include-editable', + action='store_true', + dest='include_editable', + help='Include editable package from output.', + default=True, + ) + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, self.parser + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def _build_package_finder(self, options, index_urls, session): + """ + Create a package finder appropriate to this list command. + """ + return PackageFinder( + find_links=options.find_links, + index_urls=index_urls, + allow_all_prereleases=options.pre, + trusted_hosts=options.trusted_hosts, + session=session, + ) + + def run(self, options, args): + if options.outdated and options.uptodate: + raise CommandError( + "Options --outdated and --uptodate cannot be combined.") + + packages = get_installed_distributions( + local_only=options.local, + user_only=options.user, + editables_only=options.editable, + include_editables=options.include_editable, + ) + + # get_not_required must be called firstly in order to find and + # filter out all dependencies correctly. Otherwise a package + # can't be identified as requirement because some parent packages + # could be filtered out before. + if options.not_required: + packages = self.get_not_required(packages, options) + + if options.outdated: + packages = self.get_outdated(packages, options) + elif options.uptodate: + packages = self.get_uptodate(packages, options) + + self.output_package_listing(packages, options) + + def get_outdated(self, packages, options): + return [ + dist for dist in self.iter_packages_latest_infos(packages, options) + if dist.latest_version > dist.parsed_version + ] + + def get_uptodate(self, packages, options): + return [ + dist for dist in self.iter_packages_latest_infos(packages, options) + if dist.latest_version == dist.parsed_version + ] + + def get_not_required(self, packages, options): + dep_keys = set() + for dist in packages: + dep_keys.update(requirement.key for requirement in dist.requires()) + return {pkg for pkg in packages if pkg.key not in dep_keys} + + def iter_packages_latest_infos(self, packages, options): + index_urls = [options.index_url] + options.extra_index_urls + if options.no_index: + logger.debug('Ignoring indexes: %s', ','.join(index_urls)) + index_urls = [] + + with self._build_session(options) as session: + finder = self._build_package_finder(options, index_urls, session) + + for dist in packages: + typ = 'unknown' + all_candidates = finder.find_all_candidates(dist.key) + if not options.pre: + # Remove prereleases + all_candidates = [candidate for candidate in all_candidates + if not candidate.version.is_prerelease] + + if not all_candidates: + continue + best_candidate = max(all_candidates, + key=finder._candidate_sort_key) + remote_version = best_candidate.version + if best_candidate.location.is_wheel: + typ = 'wheel' + else: + typ = 'sdist' + # This is dirty but makes the rest of the code much cleaner + dist.latest_version = remote_version + dist.latest_filetype = typ + yield dist + + def output_package_listing(self, packages, options): + packages = sorted( + packages, + key=lambda dist: dist.project_name.lower(), + ) + if options.list_format == 'columns' and packages: + data, header = format_for_columns(packages, options) + self.output_package_listing_columns(data, header) + elif options.list_format == 'freeze': + for dist in packages: + if options.verbose >= 1: + logger.info("%s==%s (%s)", dist.project_name, + dist.version, dist.location) + else: + logger.info("%s==%s", dist.project_name, dist.version) + elif options.list_format == 'json': + logger.info(format_for_json(packages, options)) + + def output_package_listing_columns(self, data, header): + # insert the header first: we need to know the size of column names + if len(data) > 0: + data.insert(0, header) + + pkg_strings, sizes = tabulate(data) + + # Create and add a separator. + if len(data) > 0: + pkg_strings.insert(1, " ".join(map(lambda x: '-' * x, sizes))) + + for val in pkg_strings: + logger.info(val) + + +def tabulate(vals): + # From pfmoore on GitHub: + # https://github.com/pypa/pip/issues/3651#issuecomment-216932564 + assert len(vals) > 0 + + sizes = [0] * max(len(x) for x in vals) + for row in vals: + sizes = [max(s, len(str(c))) for s, c in zip_longest(sizes, row)] + + result = [] + for row in vals: + display = " ".join([str(c).ljust(s) if c is not None else '' + for s, c in zip_longest(sizes, row)]) + result.append(display) + + return result, sizes + + +def format_for_columns(pkgs, options): + """ + Convert the package data into something usable + by output_package_listing_columns. + """ + running_outdated = options.outdated + # Adjust the header for the `pip list --outdated` case. + if running_outdated: + header = ["Package", "Version", "Latest", "Type"] + else: + header = ["Package", "Version"] + + data = [] + if options.verbose >= 1 or any(dist_is_editable(x) for x in pkgs): + header.append("Location") + if options.verbose >= 1: + header.append("Installer") + + for proj in pkgs: + # if we're working on the 'outdated' list, separate out the + # latest_version and type + row = [proj.project_name, proj.version] + + if running_outdated: + row.append(proj.latest_version) + row.append(proj.latest_filetype) + + if options.verbose >= 1 or dist_is_editable(proj): + row.append(proj.location) + if options.verbose >= 1: + row.append(get_installer(proj)) + + data.append(row) + + return data, header + + +def format_for_json(packages, options): + data = [] + for dist in packages: + info = { + 'name': dist.project_name, + 'version': six.text_type(dist.version), + } + if options.verbose >= 1: + info['location'] = dist.location + info['installer'] = get_installer(dist) + if options.outdated: + info['latest_version'] = six.text_type(dist.latest_version) + info['latest_filetype'] = dist.latest_filetype + data.append(info) + return json.dumps(data) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/search.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/search.py new file mode 100644 index 0000000000..c157a3128a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/search.py @@ -0,0 +1,135 @@ +from __future__ import absolute_import + +import logging +import sys +import textwrap +from collections import OrderedDict + +from pip._vendor import pkg_resources +from pip._vendor.packaging.version import parse as parse_version +# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import +from pip._vendor.six.moves import xmlrpc_client # type: ignore + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import NO_MATCHES_FOUND, SUCCESS +from pip._internal.download import PipXmlrpcTransport +from pip._internal.exceptions import CommandError +from pip._internal.models.index import PyPI +from pip._internal.utils.compat import get_terminal_size +from pip._internal.utils.logging import indent_log + +logger = logging.getLogger(__name__) + + +class SearchCommand(Command): + """Search for PyPI packages whose name or summary contains .""" + name = 'search' + usage = """ + %prog [options] """ + summary = 'Search PyPI for packages.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(SearchCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-i', '--index', + dest='index', + metavar='URL', + default=PyPI.pypi_url, + help='Base URL of Python Package Index (default %default)') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + raise CommandError('Missing required argument (search query).') + query = args + pypi_hits = self.search(query, options) + hits = transform_hits(pypi_hits) + + terminal_width = None + if sys.stdout.isatty(): + terminal_width = get_terminal_size()[0] + + print_results(hits, terminal_width=terminal_width) + if pypi_hits: + return SUCCESS + return NO_MATCHES_FOUND + + def search(self, query, options): + index_url = options.index + with self._build_session(options) as session: + transport = PipXmlrpcTransport(index_url, session) + pypi = xmlrpc_client.ServerProxy(index_url, transport) + hits = pypi.search({'name': query, 'summary': query}, 'or') + return hits + + +def transform_hits(hits): + """ + The list from pypi is really a list of versions. We want a list of + packages with the list of versions stored inline. This converts the + list from pypi into one we can use. + """ + packages = OrderedDict() + for hit in hits: + name = hit['name'] + summary = hit['summary'] + version = hit['version'] + + if name not in packages.keys(): + packages[name] = { + 'name': name, + 'summary': summary, + 'versions': [version], + } + else: + packages[name]['versions'].append(version) + + # if this is the highest version, replace summary and score + if version == highest_version(packages[name]['versions']): + packages[name]['summary'] = summary + + return list(packages.values()) + + +def print_results(hits, name_column_width=None, terminal_width=None): + if not hits: + return + if name_column_width is None: + name_column_width = max([ + len(hit['name']) + len(highest_version(hit.get('versions', ['-']))) + for hit in hits + ]) + 4 + + installed_packages = [p.project_name for p in pkg_resources.working_set] + for hit in hits: + name = hit['name'] + summary = hit['summary'] or '' + latest = highest_version(hit.get('versions', ['-'])) + if terminal_width is not None: + target_width = terminal_width - name_column_width - 5 + if target_width > 10: + # wrap and indent summary to fit terminal + summary = textwrap.wrap(summary, target_width) + summary = ('\n' + ' ' * (name_column_width + 3)).join(summary) + + line = '%-*s - %s' % (name_column_width, + '%s (%s)' % (name, latest), summary) + try: + logger.info(line) + if name in installed_packages: + dist = pkg_resources.get_distribution(name) + with indent_log(): + if dist.version == latest: + logger.info('INSTALLED: %s (latest)', dist.version) + else: + logger.info('INSTALLED: %s', dist.version) + logger.info('LATEST: %s', latest) + except UnicodeEncodeError: + pass + + +def highest_version(versions): + return max(versions, key=parse_version) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/show.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/show.py new file mode 100644 index 0000000000..f92c9bc6ec --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/show.py @@ -0,0 +1,168 @@ +from __future__ import absolute_import + +import logging +import os +from email.parser import FeedParser # type: ignore + +from pip._vendor import pkg_resources +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.cli.base_command import Command +from pip._internal.cli.status_codes import ERROR, SUCCESS + +logger = logging.getLogger(__name__) + + +class ShowCommand(Command): + """ + Show information about one or more installed packages. + + The output is in RFC-compliant mail header format. + """ + name = 'show' + usage = """ + %prog [options] ...""" + summary = 'Show information about installed packages.' + ignore_require_venv = True + + def __init__(self, *args, **kw): + super(ShowCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-f', '--files', + dest='files', + action='store_true', + default=False, + help='Show the full list of installed files for each package.') + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + if not args: + logger.warning('ERROR: Please provide a package name or names.') + return ERROR + query = args + + results = search_packages_info(query) + if not print_results( + results, list_files=options.files, verbose=options.verbose): + return ERROR + return SUCCESS + + +def search_packages_info(query): + """ + Gather details from installed distributions. Print distribution name, + version, location, and installed files. Installed files requires a + pip generated 'installed-files.txt' in the distributions '.egg-info' + directory. + """ + installed = {} + for p in pkg_resources.working_set: + installed[canonicalize_name(p.project_name)] = p + + query_names = [canonicalize_name(name) for name in query] + + for dist in [installed[pkg] for pkg in query_names if pkg in installed]: + package = { + 'name': dist.project_name, + 'version': dist.version, + 'location': dist.location, + 'requires': [dep.project_name for dep in dist.requires()], + } + file_list = None + metadata = None + if isinstance(dist, pkg_resources.DistInfoDistribution): + # RECORDs should be part of .dist-info metadatas + if dist.has_metadata('RECORD'): + lines = dist.get_metadata_lines('RECORD') + paths = [l.split(',')[0] for l in lines] + paths = [os.path.join(dist.location, p) for p in paths] + file_list = [os.path.relpath(p, dist.location) for p in paths] + + if dist.has_metadata('METADATA'): + metadata = dist.get_metadata('METADATA') + else: + # Otherwise use pip's log for .egg-info's + if dist.has_metadata('installed-files.txt'): + paths = dist.get_metadata_lines('installed-files.txt') + paths = [os.path.join(dist.egg_info, p) for p in paths] + file_list = [os.path.relpath(p, dist.location) for p in paths] + + if dist.has_metadata('PKG-INFO'): + metadata = dist.get_metadata('PKG-INFO') + + if dist.has_metadata('entry_points.txt'): + entry_points = dist.get_metadata_lines('entry_points.txt') + package['entry_points'] = entry_points + + if dist.has_metadata('INSTALLER'): + for line in dist.get_metadata_lines('INSTALLER'): + if line.strip(): + package['installer'] = line.strip() + break + + # @todo: Should pkg_resources.Distribution have a + # `get_pkg_info` method? + feed_parser = FeedParser() + feed_parser.feed(metadata) + pkg_info_dict = feed_parser.close() + for key in ('metadata-version', 'summary', + 'home-page', 'author', 'author-email', 'license'): + package[key] = pkg_info_dict.get(key) + + # It looks like FeedParser cannot deal with repeated headers + classifiers = [] + for line in metadata.splitlines(): + if line.startswith('Classifier: '): + classifiers.append(line[len('Classifier: '):]) + package['classifiers'] = classifiers + + if file_list: + package['files'] = sorted(file_list) + yield package + + +def print_results(distributions, list_files=False, verbose=False): + """ + Print the informations from installed distributions found. + """ + results_printed = False + for i, dist in enumerate(distributions): + results_printed = True + if i > 0: + logger.info("---") + + name = dist.get('name', '') + required_by = [ + pkg.project_name for pkg in pkg_resources.working_set + if name in [required.name for required in pkg.requires()] + ] + + logger.info("Name: %s", name) + logger.info("Version: %s", dist.get('version', '')) + logger.info("Summary: %s", dist.get('summary', '')) + logger.info("Home-page: %s", dist.get('home-page', '')) + logger.info("Author: %s", dist.get('author', '')) + logger.info("Author-email: %s", dist.get('author-email', '')) + logger.info("License: %s", dist.get('license', '')) + logger.info("Location: %s", dist.get('location', '')) + logger.info("Requires: %s", ', '.join(dist.get('requires', []))) + logger.info("Required-by: %s", ', '.join(required_by)) + + if verbose: + logger.info("Metadata-Version: %s", + dist.get('metadata-version', '')) + logger.info("Installer: %s", dist.get('installer', '')) + logger.info("Classifiers:") + for classifier in dist.get('classifiers', []): + logger.info(" %s", classifier) + logger.info("Entry-points:") + for entry in dist.get('entry_points', []): + logger.info(" %s", entry.strip()) + if list_files: + logger.info("Files:") + for line in dist.get('files', []): + logger.info(" %s", line.strip()) + if "files" not in dist: + logger.info("Cannot locate installed-files.txt") + return results_printed diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/uninstall.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/uninstall.py new file mode 100644 index 0000000000..0cd6f54bd8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/uninstall.py @@ -0,0 +1,78 @@ +from __future__ import absolute_import + +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.cli.base_command import Command +from pip._internal.exceptions import InstallationError +from pip._internal.req import parse_requirements +from pip._internal.req.constructors import install_req_from_line +from pip._internal.utils.misc import protect_pip_from_modification_on_windows + + +class UninstallCommand(Command): + """ + Uninstall packages. + + pip is able to uninstall most installed packages. Known exceptions are: + + - Pure distutils packages installed with ``python setup.py install``, which + leave behind no metadata to determine what files were installed. + - Script wrappers installed by ``python setup.py develop``. + """ + name = 'uninstall' + usage = """ + %prog [options] ... + %prog [options] -r ...""" + summary = 'Uninstall packages.' + + def __init__(self, *args, **kw): + super(UninstallCommand, self).__init__(*args, **kw) + self.cmd_opts.add_option( + '-r', '--requirement', + dest='requirements', + action='append', + default=[], + metavar='file', + help='Uninstall all the packages listed in the given requirements ' + 'file. This option can be used multiple times.', + ) + self.cmd_opts.add_option( + '-y', '--yes', + dest='yes', + action='store_true', + help="Don't ask for confirmation of uninstall deletions.") + + self.parser.insert_option_group(0, self.cmd_opts) + + def run(self, options, args): + with self._build_session(options) as session: + reqs_to_uninstall = {} + for name in args: + req = install_req_from_line( + name, isolated=options.isolated_mode, + ) + if req.name: + reqs_to_uninstall[canonicalize_name(req.name)] = req + for filename in options.requirements: + for req in parse_requirements( + filename, + options=options, + session=session): + if req.name: + reqs_to_uninstall[canonicalize_name(req.name)] = req + if not reqs_to_uninstall: + raise InstallationError( + 'You must give at least one requirement to %(name)s (see ' + '"pip help %(name)s")' % dict(name=self.name) + ) + + protect_pip_from_modification_on_windows( + modifying_pip="pip" in reqs_to_uninstall + ) + + for req in reqs_to_uninstall.values(): + uninstall_pathset = req.uninstall( + auto_confirm=options.yes, verbose=self.verbosity > 0, + ) + if uninstall_pathset: + uninstall_pathset.commit() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/wheel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/wheel.py new file mode 100644 index 0000000000..cd72a3df1a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/commands/wheel.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- +from __future__ import absolute_import + +import logging +import os + +from pip._internal.cache import WheelCache +from pip._internal.cli import cmdoptions +from pip._internal.cli.base_command import RequirementCommand +from pip._internal.exceptions import CommandError, PreviousBuildDirError +from pip._internal.operations.prepare import RequirementPreparer +from pip._internal.req import RequirementSet +from pip._internal.req.req_tracker import RequirementTracker +from pip._internal.resolve import Resolver +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.wheel import WheelBuilder + +logger = logging.getLogger(__name__) + + +class WheelCommand(RequirementCommand): + """ + Build Wheel archives for your requirements and dependencies. + + Wheel is a built-package format, and offers the advantage of not + recompiling your software during every install. For more details, see the + wheel docs: https://wheel.readthedocs.io/en/latest/ + + Requirements: setuptools>=0.8, and wheel. + + 'pip wheel' uses the bdist_wheel setuptools extension from the wheel + package to build individual wheels. + + """ + + name = 'wheel' + usage = """ + %prog [options] ... + %prog [options] -r ... + %prog [options] [-e] ... + %prog [options] [-e] ... + %prog [options] ...""" + + summary = 'Build wheels from your requirements.' + + def __init__(self, *args, **kw): + super(WheelCommand, self).__init__(*args, **kw) + + cmd_opts = self.cmd_opts + + cmd_opts.add_option( + '-w', '--wheel-dir', + dest='wheel_dir', + metavar='dir', + default=os.curdir, + help=("Build wheels into , where the default is the " + "current working directory."), + ) + cmd_opts.add_option(cmdoptions.no_binary()) + cmd_opts.add_option(cmdoptions.only_binary()) + cmd_opts.add_option(cmdoptions.prefer_binary()) + cmd_opts.add_option( + '--build-option', + dest='build_options', + metavar='options', + action='append', + help="Extra arguments to be supplied to 'setup.py bdist_wheel'.", + ) + cmd_opts.add_option(cmdoptions.no_build_isolation()) + cmd_opts.add_option(cmdoptions.use_pep517()) + cmd_opts.add_option(cmdoptions.no_use_pep517()) + cmd_opts.add_option(cmdoptions.constraints()) + cmd_opts.add_option(cmdoptions.editable()) + cmd_opts.add_option(cmdoptions.requirements()) + cmd_opts.add_option(cmdoptions.src()) + cmd_opts.add_option(cmdoptions.ignore_requires_python()) + cmd_opts.add_option(cmdoptions.no_deps()) + cmd_opts.add_option(cmdoptions.build_dir()) + cmd_opts.add_option(cmdoptions.progress_bar()) + + cmd_opts.add_option( + '--global-option', + dest='global_options', + action='append', + metavar='options', + help="Extra global options to be supplied to the setup.py " + "call before the 'bdist_wheel' command.") + + cmd_opts.add_option( + '--pre', + action='store_true', + default=False, + help=("Include pre-release and development versions. By default, " + "pip only finds stable versions."), + ) + + cmd_opts.add_option(cmdoptions.no_clean()) + cmd_opts.add_option(cmdoptions.require_hashes()) + + index_opts = cmdoptions.make_option_group( + cmdoptions.index_group, + self.parser, + ) + + self.parser.insert_option_group(0, index_opts) + self.parser.insert_option_group(0, cmd_opts) + + def run(self, options, args): + cmdoptions.check_install_build_global(options) + + index_urls = [options.index_url] + options.extra_index_urls + if options.no_index: + logger.debug('Ignoring indexes: %s', ','.join(index_urls)) + index_urls = [] + + if options.build_dir: + options.build_dir = os.path.abspath(options.build_dir) + + options.src_dir = os.path.abspath(options.src_dir) + + with self._build_session(options) as session: + finder = self._build_package_finder(options, session) + build_delete = (not (options.no_clean or options.build_dir)) + wheel_cache = WheelCache(options.cache_dir, options.format_control) + + with RequirementTracker() as req_tracker, TempDirectory( + options.build_dir, delete=build_delete, kind="wheel" + ) as directory: + + requirement_set = RequirementSet( + require_hashes=options.require_hashes, + ) + + try: + self.populate_requirement_set( + requirement_set, args, options, finder, session, + self.name, wheel_cache + ) + + preparer = RequirementPreparer( + build_dir=directory.path, + src_dir=options.src_dir, + download_dir=None, + wheel_download_dir=options.wheel_dir, + progress_bar=options.progress_bar, + build_isolation=options.build_isolation, + req_tracker=req_tracker, + ) + + resolver = Resolver( + preparer=preparer, + finder=finder, + session=session, + wheel_cache=wheel_cache, + use_user_site=False, + upgrade_strategy="to-satisfy-only", + force_reinstall=False, + ignore_dependencies=options.ignore_dependencies, + ignore_requires_python=options.ignore_requires_python, + ignore_installed=True, + isolated=options.isolated_mode, + use_pep517=options.use_pep517 + ) + resolver.resolve(requirement_set) + + # build wheels + wb = WheelBuilder( + finder, preparer, wheel_cache, + build_options=options.build_options or [], + global_options=options.global_options or [], + no_clean=options.no_clean, + ) + build_failures = wb.build( + requirement_set.requirements.values(), session=session, + ) + if len(build_failures) != 0: + raise CommandError( + "Failed to build one or more wheels" + ) + except PreviousBuildDirError: + options.no_clean = True + raise + finally: + if not options.no_clean: + requirement_set.cleanup_files() + wheel_cache.cleanup() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/configuration.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/configuration.py new file mode 100644 index 0000000000..fe6df9b751 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/configuration.py @@ -0,0 +1,387 @@ +"""Configuration management setup + +Some terminology: +- name + As written in config files. +- value + Value associated with a name +- key + Name combined with it's section (section.name) +- variant + A single word describing where the configuration key-value pair came from +""" + +import locale +import logging +import os + +from pip._vendor import six +from pip._vendor.six.moves import configparser + +from pip._internal.exceptions import ( + ConfigurationError, ConfigurationFileCouldNotBeLoaded, +) +from pip._internal.locations import ( + legacy_config_file, new_config_file, running_under_virtualenv, + site_config_files, venv_config_file, +) +from pip._internal.utils.misc import ensure_dir, enum +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Any, Dict, Iterable, List, NewType, Optional, Tuple + ) + + RawConfigParser = configparser.RawConfigParser # Shorthand + Kind = NewType("Kind", str) + +logger = logging.getLogger(__name__) + + +# NOTE: Maybe use the optionx attribute to normalize keynames. +def _normalize_name(name): + # type: (str) -> str + """Make a name consistent regardless of source (environment or file) + """ + name = name.lower().replace('_', '-') + if name.startswith('--'): + name = name[2:] # only prefer long opts + return name + + +def _disassemble_key(name): + # type: (str) -> List[str] + return name.split(".", 1) + + +# The kinds of configurations there are. +kinds = enum( + USER="user", # User Specific + GLOBAL="global", # System Wide + VENV="venv", # Virtual Environment Specific + ENV="env", # from PIP_CONFIG_FILE + ENV_VAR="env-var", # from Environment Variables +) + + +class Configuration(object): + """Handles management of configuration. + + Provides an interface to accessing and managing configuration files. + + This class converts provides an API that takes "section.key-name" style + keys and stores the value associated with it as "key-name" under the + section "section". + + This allows for a clean interface wherein the both the section and the + key-name are preserved in an easy to manage form in the configuration files + and the data stored is also nice. + """ + + def __init__(self, isolated, load_only=None): + # type: (bool, Kind) -> None + super(Configuration, self).__init__() + + _valid_load_only = [kinds.USER, kinds.GLOBAL, kinds.VENV, None] + if load_only not in _valid_load_only: + raise ConfigurationError( + "Got invalid value for load_only - should be one of {}".format( + ", ".join(map(repr, _valid_load_only[:-1])) + ) + ) + self.isolated = isolated # type: bool + self.load_only = load_only # type: Optional[Kind] + + # The order here determines the override order. + self._override_order = [ + kinds.GLOBAL, kinds.USER, kinds.VENV, kinds.ENV, kinds.ENV_VAR + ] + + self._ignore_env_names = ["version", "help"] + + # Because we keep track of where we got the data from + self._parsers = { + variant: [] for variant in self._override_order + } # type: Dict[Kind, List[Tuple[str, RawConfigParser]]] + self._config = { + variant: {} for variant in self._override_order + } # type: Dict[Kind, Dict[str, Any]] + self._modified_parsers = [] # type: List[Tuple[str, RawConfigParser]] + + def load(self): + # type: () -> None + """Loads configuration from configuration files and environment + """ + self._load_config_files() + if not self.isolated: + self._load_environment_vars() + + def get_file_to_edit(self): + # type: () -> Optional[str] + """Returns the file with highest priority in configuration + """ + assert self.load_only is not None, \ + "Need to be specified a file to be editing" + + try: + return self._get_parser_to_modify()[0] + except IndexError: + return None + + def items(self): + # type: () -> Iterable[Tuple[str, Any]] + """Returns key-value pairs like dict.items() representing the loaded + configuration + """ + return self._dictionary.items() + + def get_value(self, key): + # type: (str) -> Any + """Get a value from the configuration. + """ + try: + return self._dictionary[key] + except KeyError: + raise ConfigurationError("No such key - {}".format(key)) + + def set_value(self, key, value): + # type: (str, Any) -> None + """Modify a value in the configuration. + """ + self._ensure_have_load_only() + + fname, parser = self._get_parser_to_modify() + + if parser is not None: + section, name = _disassemble_key(key) + + # Modify the parser and the configuration + if not parser.has_section(section): + parser.add_section(section) + parser.set(section, name, value) + + self._config[self.load_only][key] = value + self._mark_as_modified(fname, parser) + + def unset_value(self, key): + # type: (str) -> None + """Unset a value in the configuration. + """ + self._ensure_have_load_only() + + if key not in self._config[self.load_only]: + raise ConfigurationError("No such key - {}".format(key)) + + fname, parser = self._get_parser_to_modify() + + if parser is not None: + section, name = _disassemble_key(key) + + # Remove the key in the parser + modified_something = False + if parser.has_section(section): + # Returns whether the option was removed or not + modified_something = parser.remove_option(section, name) + + if modified_something: + # name removed from parser, section may now be empty + section_iter = iter(parser.items(section)) + try: + val = six.next(section_iter) + except StopIteration: + val = None + + if val is None: + parser.remove_section(section) + + self._mark_as_modified(fname, parser) + else: + raise ConfigurationError( + "Fatal Internal error [id=1]. Please report as a bug." + ) + + del self._config[self.load_only][key] + + def save(self): + # type: () -> None + """Save the currentin-memory state. + """ + self._ensure_have_load_only() + + for fname, parser in self._modified_parsers: + logger.info("Writing to %s", fname) + + # Ensure directory exists. + ensure_dir(os.path.dirname(fname)) + + with open(fname, "w") as f: + parser.write(f) # type: ignore + + # + # Private routines + # + + def _ensure_have_load_only(self): + # type: () -> None + if self.load_only is None: + raise ConfigurationError("Needed a specific file to be modifying.") + logger.debug("Will be working with %s variant only", self.load_only) + + @property + def _dictionary(self): + # type: () -> Dict[str, Any] + """A dictionary representing the loaded configuration. + """ + # NOTE: Dictionaries are not populated if not loaded. So, conditionals + # are not needed here. + retval = {} + + for variant in self._override_order: + retval.update(self._config[variant]) + + return retval + + def _load_config_files(self): + # type: () -> None + """Loads configuration from configuration files + """ + config_files = dict(self._iter_config_files()) + if config_files[kinds.ENV][0:1] == [os.devnull]: + logger.debug( + "Skipping loading configuration files due to " + "environment's PIP_CONFIG_FILE being os.devnull" + ) + return + + for variant, files in config_files.items(): + for fname in files: + # If there's specific variant set in `load_only`, load only + # that variant, not the others. + if self.load_only is not None and variant != self.load_only: + logger.debug( + "Skipping file '%s' (variant: %s)", fname, variant + ) + continue + + parser = self._load_file(variant, fname) + + # Keeping track of the parsers used + self._parsers[variant].append((fname, parser)) + + def _load_file(self, variant, fname): + # type: (Kind, str) -> RawConfigParser + logger.debug("For variant '%s', will try loading '%s'", variant, fname) + parser = self._construct_parser(fname) + + for section in parser.sections(): + items = parser.items(section) + self._config[variant].update(self._normalized_keys(section, items)) + + return parser + + def _construct_parser(self, fname): + # type: (str) -> RawConfigParser + parser = configparser.RawConfigParser() + # If there is no such file, don't bother reading it but create the + # parser anyway, to hold the data. + # Doing this is useful when modifying and saving files, where we don't + # need to construct a parser. + if os.path.exists(fname): + try: + parser.read(fname) + except UnicodeDecodeError: + # See https://github.com/pypa/pip/issues/4963 + raise ConfigurationFileCouldNotBeLoaded( + reason="contains invalid {} characters".format( + locale.getpreferredencoding(False) + ), + fname=fname, + ) + except configparser.Error as error: + # See https://github.com/pypa/pip/issues/4893 + raise ConfigurationFileCouldNotBeLoaded(error=error) + return parser + + def _load_environment_vars(self): + # type: () -> None + """Loads configuration from environment variables + """ + self._config[kinds.ENV_VAR].update( + self._normalized_keys(":env:", self._get_environ_vars()) + ) + + def _normalized_keys(self, section, items): + # type: (str, Iterable[Tuple[str, Any]]) -> Dict[str, Any] + """Normalizes items to construct a dictionary with normalized keys. + + This routine is where the names become keys and are made the same + regardless of source - configuration files or environment. + """ + normalized = {} + for name, val in items: + key = section + "." + _normalize_name(name) + normalized[key] = val + return normalized + + def _get_environ_vars(self): + # type: () -> Iterable[Tuple[str, str]] + """Returns a generator with all environmental vars with prefix PIP_""" + for key, val in os.environ.items(): + should_be_yielded = ( + key.startswith("PIP_") and + key[4:].lower() not in self._ignore_env_names + ) + if should_be_yielded: + yield key[4:].lower(), val + + # XXX: This is patched in the tests. + def _iter_config_files(self): + # type: () -> Iterable[Tuple[Kind, List[str]]] + """Yields variant and configuration files associated with it. + + This should be treated like items of a dictionary. + """ + # SMELL: Move the conditions out of this function + + # environment variables have the lowest priority + config_file = os.environ.get('PIP_CONFIG_FILE', None) + if config_file is not None: + yield kinds.ENV, [config_file] + else: + yield kinds.ENV, [] + + # at the base we have any global configuration + yield kinds.GLOBAL, list(site_config_files) + + # per-user configuration next + should_load_user_config = not self.isolated and not ( + config_file and os.path.exists(config_file) + ) + if should_load_user_config: + # The legacy config file is overridden by the new config file + yield kinds.USER, [legacy_config_file, new_config_file] + + # finally virtualenv configuration first trumping others + if running_under_virtualenv(): + yield kinds.VENV, [venv_config_file] + + def _get_parser_to_modify(self): + # type: () -> Tuple[str, RawConfigParser] + # Determine which parser to modify + parsers = self._parsers[self.load_only] + if not parsers: + # This should not happen if everything works correctly. + raise ConfigurationError( + "Fatal Internal error [id=2]. Please report as a bug." + ) + + # Use the highest priority parser. + return parsers[-1] + + # XXX: This is patched in the tests. + def _mark_as_modified(self, fname, parser): + # type: (str, RawConfigParser) -> None + file_parser_tuple = (fname, parser) + if file_parser_tuple not in self._modified_parsers: + self._modified_parsers.append(file_parser_tuple) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/download.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/download.py new file mode 100644 index 0000000000..2bbe1762cd --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/download.py @@ -0,0 +1,971 @@ +from __future__ import absolute_import + +import cgi +import email.utils +import getpass +import json +import logging +import mimetypes +import os +import platform +import re +import shutil +import sys + +from pip._vendor import requests, six, urllib3 +from pip._vendor.cachecontrol import CacheControlAdapter +from pip._vendor.cachecontrol.caches import FileCache +from pip._vendor.lockfile import LockError +from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter +from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth +from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response +from pip._vendor.requests.structures import CaseInsensitiveDict +from pip._vendor.requests.utils import get_netrc_auth +# NOTE: XMLRPC Client is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import +from pip._vendor.six.moves import xmlrpc_client # type: ignore +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request +from pip._vendor.urllib3.util import IS_PYOPENSSL + +import pip +from pip._internal.exceptions import HashMismatch, InstallationError +from pip._internal.locations import write_delete_marker_file +from pip._internal.models.index import PyPI +from pip._internal.utils.encoding import auto_decode +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.glibc import libc_ver +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + ARCHIVE_EXTENSIONS, ask_path_exists, backup_dir, call_subprocess, consume, + display_path, format_size, get_installed_version, rmtree, + split_auth_from_netloc, splitext, unpack_file, +) +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import DownloadProgressProvider +from pip._internal.vcs import vcs + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Dict, IO, Text, Union + ) + from pip._internal.models.link import Link # noqa: F401 + from pip._internal.utils.hashes import Hashes # noqa: F401 + from pip._internal.vcs import AuthInfo # noqa: F401 + +try: + import ssl # noqa +except ImportError: + ssl = None + +HAS_TLS = (ssl is not None) or IS_PYOPENSSL + +__all__ = ['get_file_content', + 'is_url', 'url_to_path', 'path_to_url', + 'is_archive_file', 'unpack_vcs_link', + 'unpack_file_url', 'is_vcs_url', 'is_file_url', + 'unpack_http_url', 'unpack_url'] + + +logger = logging.getLogger(__name__) + + +def user_agent(): + """ + Return a string representing the user agent. + """ + data = { + "installer": {"name": "pip", "version": pip.__version__}, + "python": platform.python_version(), + "implementation": { + "name": platform.python_implementation(), + }, + } + + if data["implementation"]["name"] == 'CPython': + data["implementation"]["version"] = platform.python_version() + elif data["implementation"]["name"] == 'PyPy': + if sys.pypy_version_info.releaselevel == 'final': + pypy_version_info = sys.pypy_version_info[:3] + else: + pypy_version_info = sys.pypy_version_info + data["implementation"]["version"] = ".".join( + [str(x) for x in pypy_version_info] + ) + elif data["implementation"]["name"] == 'Jython': + # Complete Guess + data["implementation"]["version"] = platform.python_version() + elif data["implementation"]["name"] == 'IronPython': + # Complete Guess + data["implementation"]["version"] = platform.python_version() + + if sys.platform.startswith("linux"): + from pip._vendor import distro + distro_infos = dict(filter( + lambda x: x[1], + zip(["name", "version", "id"], distro.linux_distribution()), + )) + libc = dict(filter( + lambda x: x[1], + zip(["lib", "version"], libc_ver()), + )) + if libc: + distro_infos["libc"] = libc + if distro_infos: + data["distro"] = distro_infos + + if sys.platform.startswith("darwin") and platform.mac_ver()[0]: + data["distro"] = {"name": "macOS", "version": platform.mac_ver()[0]} + + if platform.system(): + data.setdefault("system", {})["name"] = platform.system() + + if platform.release(): + data.setdefault("system", {})["release"] = platform.release() + + if platform.machine(): + data["cpu"] = platform.machine() + + if HAS_TLS: + data["openssl_version"] = ssl.OPENSSL_VERSION + + setuptools_version = get_installed_version("setuptools") + if setuptools_version is not None: + data["setuptools_version"] = setuptools_version + + return "{data[installer][name]}/{data[installer][version]} {json}".format( + data=data, + json=json.dumps(data, separators=(",", ":"), sort_keys=True), + ) + + +class MultiDomainBasicAuth(AuthBase): + + def __init__(self, prompting=True): + # type: (bool) -> None + self.prompting = prompting + self.passwords = {} # type: Dict[str, AuthInfo] + + def __call__(self, req): + parsed = urllib_parse.urlparse(req.url) + + # Split the credentials from the netloc. + netloc, url_user_password = split_auth_from_netloc(parsed.netloc) + + # Set the url of the request to the url without any credentials + req.url = urllib_parse.urlunparse(parsed[:1] + (netloc,) + parsed[2:]) + + # Use any stored credentials that we have for this netloc + username, password = self.passwords.get(netloc, (None, None)) + + # Use the credentials embedded in the url if we have none stored + if username is None: + username, password = url_user_password + + # Get creds from netrc if we still don't have them + if username is None and password is None: + netrc_auth = get_netrc_auth(req.url) + username, password = netrc_auth if netrc_auth else (None, None) + + if username or password: + # Store the username and password + self.passwords[netloc] = (username, password) + + # Send the basic auth with this request + req = HTTPBasicAuth(username or "", password or "")(req) + + # Attach a hook to handle 401 responses + req.register_hook("response", self.handle_401) + + return req + + def handle_401(self, resp, **kwargs): + # We only care about 401 responses, anything else we want to just + # pass through the actual response + if resp.status_code != 401: + return resp + + # We are not able to prompt the user so simply return the response + if not self.prompting: + return resp + + parsed = urllib_parse.urlparse(resp.url) + + # Prompt the user for a new username and password + username = six.moves.input("User for %s: " % parsed.netloc) + password = getpass.getpass("Password: ") + + # Store the new username and password to use for future requests + if username or password: + self.passwords[parsed.netloc] = (username, password) + + # Consume content and release the original connection to allow our new + # request to reuse the same one. + resp.content + resp.raw.release_conn() + + # Add our new username and password to the request + req = HTTPBasicAuth(username or "", password or "")(resp.request) + req.register_hook("response", self.warn_on_401) + + # Send our new request + new_resp = resp.connection.send(req, **kwargs) + new_resp.history.append(resp) + + return new_resp + + def warn_on_401(self, resp, **kwargs): + # warn user that they provided incorrect credentials + if resp.status_code == 401: + logger.warning('401 Error, Credentials not correct for %s', + resp.request.url) + + +class LocalFSAdapter(BaseAdapter): + + def send(self, request, stream=None, timeout=None, verify=None, cert=None, + proxies=None): + pathname = url_to_path(request.url) + + resp = Response() + resp.status_code = 200 + resp.url = request.url + + try: + stats = os.stat(pathname) + except OSError as exc: + resp.status_code = 404 + resp.raw = exc + else: + modified = email.utils.formatdate(stats.st_mtime, usegmt=True) + content_type = mimetypes.guess_type(pathname)[0] or "text/plain" + resp.headers = CaseInsensitiveDict({ + "Content-Type": content_type, + "Content-Length": stats.st_size, + "Last-Modified": modified, + }) + + resp.raw = open(pathname, "rb") + resp.close = resp.raw.close + + return resp + + def close(self): + pass + + +class SafeFileCache(FileCache): + """ + A file based cache which is safe to use even when the target directory may + not be accessible or writable. + """ + + def __init__(self, *args, **kwargs): + super(SafeFileCache, self).__init__(*args, **kwargs) + + # Check to ensure that the directory containing our cache directory + # is owned by the user current executing pip. If it does not exist + # we will check the parent directory until we find one that does exist. + # If it is not owned by the user executing pip then we will disable + # the cache and log a warning. + if not check_path_owner(self.directory): + logger.warning( + "The directory '%s' or its parent directory is not owned by " + "the current user and the cache has been disabled. Please " + "check the permissions and owner of that directory. If " + "executing pip with sudo, you may want sudo's -H flag.", + self.directory, + ) + + # Set our directory to None to disable the Cache + self.directory = None + + def get(self, *args, **kwargs): + # If we don't have a directory, then the cache should be a no-op. + if self.directory is None: + return + + try: + return super(SafeFileCache, self).get(*args, **kwargs) + except (LockError, OSError, IOError): + # We intentionally silence this error, if we can't access the cache + # then we can just skip caching and process the request as if + # caching wasn't enabled. + pass + + def set(self, *args, **kwargs): + # If we don't have a directory, then the cache should be a no-op. + if self.directory is None: + return + + try: + return super(SafeFileCache, self).set(*args, **kwargs) + except (LockError, OSError, IOError): + # We intentionally silence this error, if we can't access the cache + # then we can just skip caching and process the request as if + # caching wasn't enabled. + pass + + def delete(self, *args, **kwargs): + # If we don't have a directory, then the cache should be a no-op. + if self.directory is None: + return + + try: + return super(SafeFileCache, self).delete(*args, **kwargs) + except (LockError, OSError, IOError): + # We intentionally silence this error, if we can't access the cache + # then we can just skip caching and process the request as if + # caching wasn't enabled. + pass + + +class InsecureHTTPAdapter(HTTPAdapter): + + def cert_verify(self, conn, url, verify, cert): + conn.cert_reqs = 'CERT_NONE' + conn.ca_certs = None + + +class PipSession(requests.Session): + + timeout = None # type: Optional[int] + + def __init__(self, *args, **kwargs): + retries = kwargs.pop("retries", 0) + cache = kwargs.pop("cache", None) + insecure_hosts = kwargs.pop("insecure_hosts", []) + + super(PipSession, self).__init__(*args, **kwargs) + + # Attach our User Agent to the request + self.headers["User-Agent"] = user_agent() + + # Attach our Authentication handler to the session + self.auth = MultiDomainBasicAuth() + + # Create our urllib3.Retry instance which will allow us to customize + # how we handle retries. + retries = urllib3.Retry( + # Set the total number of retries that a particular request can + # have. + total=retries, + + # A 503 error from PyPI typically means that the Fastly -> Origin + # connection got interrupted in some way. A 503 error in general + # is typically considered a transient error so we'll go ahead and + # retry it. + # A 500 may indicate transient error in Amazon S3 + # A 520 or 527 - may indicate transient error in CloudFlare + status_forcelist=[500, 503, 520, 527], + + # Add a small amount of back off between failed requests in + # order to prevent hammering the service. + backoff_factor=0.25, + ) + + # We want to _only_ cache responses on securely fetched origins. We do + # this because we can't validate the response of an insecurely fetched + # origin, and we don't want someone to be able to poison the cache and + # require manual eviction from the cache to fix it. + if cache: + secure_adapter = CacheControlAdapter( + cache=SafeFileCache(cache, use_dir_lock=True), + max_retries=retries, + ) + else: + secure_adapter = HTTPAdapter(max_retries=retries) + + # Our Insecure HTTPAdapter disables HTTPS validation. It does not + # support caching (see above) so we'll use it for all http:// URLs as + # well as any https:// host that we've marked as ignoring TLS errors + # for. + insecure_adapter = InsecureHTTPAdapter(max_retries=retries) + + self.mount("https://", secure_adapter) + self.mount("http://", insecure_adapter) + + # Enable file:// urls + self.mount("file://", LocalFSAdapter()) + + # We want to use a non-validating adapter for any requests which are + # deemed insecure. + for host in insecure_hosts: + self.mount("https://{}/".format(host), insecure_adapter) + + def request(self, method, url, *args, **kwargs): + # Allow setting a default timeout on a session + kwargs.setdefault("timeout", self.timeout) + + # Dispatch the actual request + return super(PipSession, self).request(method, url, *args, **kwargs) + + +def get_file_content(url, comes_from=None, session=None): + # type: (str, Optional[str], Optional[PipSession]) -> Tuple[str, Text] + """Gets the content of a file; it may be a filename, file: URL, or + http: URL. Returns (location, content). Content is unicode. + + :param url: File path or url. + :param comes_from: Origin description of requirements. + :param session: Instance of pip.download.PipSession. + """ + if session is None: + raise TypeError( + "get_file_content() missing 1 required keyword argument: 'session'" + ) + + match = _scheme_re.search(url) + if match: + scheme = match.group(1).lower() + if (scheme == 'file' and comes_from and + comes_from.startswith('http')): + raise InstallationError( + 'Requirements file %s references URL %s, which is local' + % (comes_from, url)) + if scheme == 'file': + path = url.split(':', 1)[1] + path = path.replace('\\', '/') + match = _url_slash_drive_re.match(path) + if match: + path = match.group(1) + ':' + path.split('|', 1)[1] + path = urllib_parse.unquote(path) + if path.startswith('/'): + path = '/' + path.lstrip('/') + url = path + else: + # FIXME: catch some errors + resp = session.get(url) + resp.raise_for_status() + return resp.url, resp.text + try: + with open(url, 'rb') as f: + content = auto_decode(f.read()) + except IOError as exc: + raise InstallationError( + 'Could not open requirements file: %s' % str(exc) + ) + return url, content + + +_scheme_re = re.compile(r'^(http|https|file):', re.I) +_url_slash_drive_re = re.compile(r'/*([a-z])\|', re.I) + + +def is_url(name): + # type: (Union[str, Text]) -> bool + """Returns true if the name looks like a URL""" + if ':' not in name: + return False + scheme = name.split(':', 1)[0].lower() + return scheme in ['http', 'https', 'file', 'ftp'] + vcs.all_schemes + + +def url_to_path(url): + # type: (str) -> str + """ + Convert a file: URL to a path. + """ + assert url.startswith('file:'), ( + "You can only turn file: urls into filenames (not %r)" % url) + + _, netloc, path, _, _ = urllib_parse.urlsplit(url) + + # if we have a UNC path, prepend UNC share notation + if netloc: + netloc = '\\\\' + netloc + + path = urllib_request.url2pathname(netloc + path) + return path + + +def path_to_url(path): + # type: (Union[str, Text]) -> str + """ + Convert a path to a file: URL. The path will be made absolute and have + quoted path parts. + """ + path = os.path.normpath(os.path.abspath(path)) + url = urllib_parse.urljoin('file:', urllib_request.pathname2url(path)) + return url + + +def is_archive_file(name): + # type: (str) -> bool + """Return True if `name` is a considered as an archive file.""" + ext = splitext(name)[1].lower() + if ext in ARCHIVE_EXTENSIONS: + return True + return False + + +def unpack_vcs_link(link, location): + vcs_backend = _get_used_vcs_backend(link) + vcs_backend.unpack(location) + + +def _get_used_vcs_backend(link): + for backend in vcs.backends: + if link.scheme in backend.schemes: + vcs_backend = backend(link.url) + return vcs_backend + + +def is_vcs_url(link): + # type: (Link) -> bool + return bool(_get_used_vcs_backend(link)) + + +def is_file_url(link): + # type: (Link) -> bool + return link.url.lower().startswith('file:') + + +def is_dir_url(link): + # type: (Link) -> bool + """Return whether a file:// Link points to a directory. + + ``link`` must not have any other scheme but file://. Call is_file_url() + first. + + """ + link_path = url_to_path(link.url_without_fragment) + return os.path.isdir(link_path) + + +def _progress_indicator(iterable, *args, **kwargs): + return iterable + + +def _download_url( + resp, # type: Response + link, # type: Link + content_file, # type: IO + hashes, # type: Hashes + progress_bar # type: str +): + # type: (...) -> None + try: + total_length = int(resp.headers['content-length']) + except (ValueError, KeyError, TypeError): + total_length = 0 + + cached_resp = getattr(resp, "from_cache", False) + if logger.getEffectiveLevel() > logging.INFO: + show_progress = False + elif cached_resp: + show_progress = False + elif total_length > (40 * 1000): + show_progress = True + elif not total_length: + show_progress = True + else: + show_progress = False + + show_url = link.show_url + + def resp_read(chunk_size): + try: + # Special case for urllib3. + for chunk in resp.raw.stream( + chunk_size, + # We use decode_content=False here because we don't + # want urllib3 to mess with the raw bytes we get + # from the server. If we decompress inside of + # urllib3 then we cannot verify the checksum + # because the checksum will be of the compressed + # file. This breakage will only occur if the + # server adds a Content-Encoding header, which + # depends on how the server was configured: + # - Some servers will notice that the file isn't a + # compressible file and will leave the file alone + # and with an empty Content-Encoding + # - Some servers will notice that the file is + # already compressed and will leave the file + # alone and will add a Content-Encoding: gzip + # header + # - Some servers won't notice anything at all and + # will take a file that's already been compressed + # and compress it again and set the + # Content-Encoding: gzip header + # + # By setting this not to decode automatically we + # hope to eliminate problems with the second case. + decode_content=False): + yield chunk + except AttributeError: + # Standard file-like object. + while True: + chunk = resp.raw.read(chunk_size) + if not chunk: + break + yield chunk + + def written_chunks(chunks): + for chunk in chunks: + content_file.write(chunk) + yield chunk + + progress_indicator = _progress_indicator + + if link.netloc == PyPI.netloc: + url = show_url + else: + url = link.url_without_fragment + + if show_progress: # We don't show progress on cached responses + progress_indicator = DownloadProgressProvider(progress_bar, + max=total_length) + if total_length: + logger.info("Downloading %s (%s)", url, format_size(total_length)) + else: + logger.info("Downloading %s", url) + elif cached_resp: + logger.info("Using cached %s", url) + else: + logger.info("Downloading %s", url) + + logger.debug('Downloading from URL %s', link) + + downloaded_chunks = written_chunks( + progress_indicator( + resp_read(CONTENT_CHUNK_SIZE), + CONTENT_CHUNK_SIZE + ) + ) + if hashes: + hashes.check_against_chunks(downloaded_chunks) + else: + consume(downloaded_chunks) + + +def _copy_file(filename, location, link): + copy = True + download_location = os.path.join(location, link.filename) + if os.path.exists(download_location): + response = ask_path_exists( + 'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)abort' % + display_path(download_location), ('i', 'w', 'b', 'a')) + if response == 'i': + copy = False + elif response == 'w': + logger.warning('Deleting %s', display_path(download_location)) + os.remove(download_location) + elif response == 'b': + dest_file = backup_dir(download_location) + logger.warning( + 'Backing up %s to %s', + display_path(download_location), + display_path(dest_file), + ) + shutil.move(download_location, dest_file) + elif response == 'a': + sys.exit(-1) + if copy: + shutil.copy(filename, download_location) + logger.info('Saved %s', display_path(download_location)) + + +def unpack_http_url( + link, # type: Link + location, # type: str + download_dir=None, # type: Optional[str] + session=None, # type: Optional[PipSession] + hashes=None, # type: Optional[Hashes] + progress_bar="on" # type: str +): + # type: (...) -> None + if session is None: + raise TypeError( + "unpack_http_url() missing 1 required keyword argument: 'session'" + ) + + with TempDirectory(kind="unpack") as temp_dir: + # If a download dir is specified, is the file already downloaded there? + already_downloaded_path = None + if download_dir: + already_downloaded_path = _check_download_dir(link, + download_dir, + hashes) + + if already_downloaded_path: + from_path = already_downloaded_path + content_type = mimetypes.guess_type(from_path)[0] + else: + # let's download to a tmp dir + from_path, content_type = _download_http_url(link, + session, + temp_dir.path, + hashes, + progress_bar) + + # unpack the archive to the build dir location. even when only + # downloading archives, they have to be unpacked to parse dependencies + unpack_file(from_path, location, content_type, link) + + # a download dir is specified; let's copy the archive there + if download_dir and not already_downloaded_path: + _copy_file(from_path, download_dir, link) + + if not already_downloaded_path: + os.unlink(from_path) + + +def unpack_file_url( + link, # type: Link + location, # type: str + download_dir=None, # type: Optional[str] + hashes=None # type: Optional[Hashes] +): + # type: (...) -> None + """Unpack link into location. + + If download_dir is provided and link points to a file, make a copy + of the link file inside download_dir. + """ + link_path = url_to_path(link.url_without_fragment) + + # If it's a url to a local directory + if is_dir_url(link): + if os.path.isdir(location): + rmtree(location) + shutil.copytree(link_path, location, symlinks=True) + if download_dir: + logger.info('Link is a directory, ignoring download_dir') + return + + # If --require-hashes is off, `hashes` is either empty, the + # link's embedded hash, or MissingHashes; it is required to + # match. If --require-hashes is on, we are satisfied by any + # hash in `hashes` matching: a URL-based or an option-based + # one; no internet-sourced hash will be in `hashes`. + if hashes: + hashes.check_against_path(link_path) + + # If a download dir is specified, is the file already there and valid? + already_downloaded_path = None + if download_dir: + already_downloaded_path = _check_download_dir(link, + download_dir, + hashes) + + if already_downloaded_path: + from_path = already_downloaded_path + else: + from_path = link_path + + content_type = mimetypes.guess_type(from_path)[0] + + # unpack the archive to the build dir location. even when only downloading + # archives, they have to be unpacked to parse dependencies + unpack_file(from_path, location, content_type, link) + + # a download dir is specified and not already downloaded + if download_dir and not already_downloaded_path: + _copy_file(from_path, download_dir, link) + + +def _copy_dist_from_dir(link_path, location): + """Copy distribution files in `link_path` to `location`. + + Invoked when user requests to install a local directory. E.g.: + + pip install . + pip install ~/dev/git-repos/python-prompt-toolkit + + """ + + # Note: This is currently VERY SLOW if you have a lot of data in the + # directory, because it copies everything with `shutil.copytree`. + # What it should really do is build an sdist and install that. + # See https://github.com/pypa/pip/issues/2195 + + if os.path.isdir(location): + rmtree(location) + + # build an sdist + setup_py = 'setup.py' + sdist_args = [sys.executable] + sdist_args.append('-c') + sdist_args.append(SETUPTOOLS_SHIM % setup_py) + sdist_args.append('sdist') + sdist_args += ['--dist-dir', location] + logger.info('Running setup.py sdist for %s', link_path) + + with indent_log(): + call_subprocess(sdist_args, cwd=link_path, show_stdout=False) + + # unpack sdist into `location` + sdist = os.path.join(location, os.listdir(location)[0]) + logger.info('Unpacking sdist %s into %s', sdist, location) + unpack_file(sdist, location, content_type=None, link=None) + + +class PipXmlrpcTransport(xmlrpc_client.Transport): + """Provide a `xmlrpclib.Transport` implementation via a `PipSession` + object. + """ + + def __init__(self, index_url, session, use_datetime=False): + xmlrpc_client.Transport.__init__(self, use_datetime) + index_parts = urllib_parse.urlparse(index_url) + self._scheme = index_parts.scheme + self._session = session + + def request(self, host, handler, request_body, verbose=False): + parts = (self._scheme, host, handler, None, None, None) + url = urllib_parse.urlunparse(parts) + try: + headers = {'Content-Type': 'text/xml'} + response = self._session.post(url, data=request_body, + headers=headers, stream=True) + response.raise_for_status() + self.verbose = verbose + return self.parse_response(response.raw) + except requests.HTTPError as exc: + logger.critical( + "HTTP error %s while getting %s", + exc.response.status_code, url, + ) + raise + + +def unpack_url( + link, # type: Optional[Link] + location, # type: Optional[str] + download_dir=None, # type: Optional[str] + only_download=False, # type: bool + session=None, # type: Optional[PipSession] + hashes=None, # type: Optional[Hashes] + progress_bar="on" # type: str +): + # type: (...) -> None + """Unpack link. + If link is a VCS link: + if only_download, export into download_dir and ignore location + else unpack into location + for other types of link: + - unpack into location + - if download_dir, copy the file into download_dir + - if only_download, mark location for deletion + + :param hashes: A Hashes object, one of whose embedded hashes must match, + or HashMismatch will be raised. If the Hashes is empty, no matches are + required, and unhashable types of requirements (like VCS ones, which + would ordinarily raise HashUnsupported) are allowed. + """ + # non-editable vcs urls + if is_vcs_url(link): + unpack_vcs_link(link, location) + + # file urls + elif is_file_url(link): + unpack_file_url(link, location, download_dir, hashes=hashes) + + # http urls + else: + if session is None: + session = PipSession() + + unpack_http_url( + link, + location, + download_dir, + session, + hashes=hashes, + progress_bar=progress_bar + ) + if only_download: + write_delete_marker_file(location) + + +def _download_http_url( + link, # type: Link + session, # type: PipSession + temp_dir, # type: str + hashes, # type: Hashes + progress_bar # type: str +): + # type: (...) -> Tuple[str, str] + """Download link url into temp_dir using provided session""" + target_url = link.url.split('#', 1)[0] + try: + resp = session.get( + target_url, + # We use Accept-Encoding: identity here because requests + # defaults to accepting compressed responses. This breaks in + # a variety of ways depending on how the server is configured. + # - Some servers will notice that the file isn't a compressible + # file and will leave the file alone and with an empty + # Content-Encoding + # - Some servers will notice that the file is already + # compressed and will leave the file alone and will add a + # Content-Encoding: gzip header + # - Some servers won't notice anything at all and will take + # a file that's already been compressed and compress it again + # and set the Content-Encoding: gzip header + # By setting this to request only the identity encoding We're + # hoping to eliminate the third case. Hopefully there does not + # exist a server which when given a file will notice it is + # already compressed and that you're not asking for a + # compressed file and will then decompress it before sending + # because if that's the case I don't think it'll ever be + # possible to make this work. + headers={"Accept-Encoding": "identity"}, + stream=True, + ) + resp.raise_for_status() + except requests.HTTPError as exc: + logger.critical( + "HTTP error %s while getting %s", exc.response.status_code, link, + ) + raise + + content_type = resp.headers.get('content-type', '') + filename = link.filename # fallback + # Have a look at the Content-Disposition header for a better guess + content_disposition = resp.headers.get('content-disposition') + if content_disposition: + type, params = cgi.parse_header(content_disposition) + # We use ``or`` here because we don't want to use an "empty" value + # from the filename param. + filename = params.get('filename') or filename + ext = splitext(filename)[1] + if not ext: + ext = mimetypes.guess_extension(content_type) + if ext: + filename += ext + if not ext and link.url != resp.url: + ext = os.path.splitext(resp.url)[1] + if ext: + filename += ext + file_path = os.path.join(temp_dir, filename) + with open(file_path, 'wb') as content_file: + _download_url(resp, link, content_file, hashes, progress_bar) + return file_path, content_type + + +def _check_download_dir(link, download_dir, hashes): + # type: (Link, str, Hashes) -> Optional[str] + """ Check download_dir for previously downloaded file with correct hash + If a correct file is found return its path else None + """ + download_path = os.path.join(download_dir, link.filename) + if os.path.exists(download_path): + # If already downloaded, does its hash match? + logger.info('File was already downloaded %s', download_path) + if hashes: + try: + hashes.check_against_path(download_path) + except HashMismatch: + logger.warning( + 'Previously-downloaded file %s has bad hash. ' + 'Re-downloading.', + download_path + ) + os.unlink(download_path) + return None + return download_path + return None diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/exceptions.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/exceptions.py new file mode 100644 index 0000000000..38ceeea92e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/exceptions.py @@ -0,0 +1,274 @@ +"""Exceptions used throughout package""" +from __future__ import absolute_import + +from itertools import chain, groupby, repeat + +from pip._vendor.six import iteritems + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + + +class PipError(Exception): + """Base pip exception""" + + +class ConfigurationError(PipError): + """General exception in configuration""" + + +class InstallationError(PipError): + """General exception during installation""" + + +class UninstallationError(PipError): + """General exception during uninstallation""" + + +class DistributionNotFound(InstallationError): + """Raised when a distribution cannot be found to satisfy a requirement""" + + +class RequirementsFileParseError(InstallationError): + """Raised when a general error occurs parsing a requirements file line.""" + + +class BestVersionAlreadyInstalled(PipError): + """Raised when the most up-to-date version of a package is already + installed.""" + + +class BadCommand(PipError): + """Raised when virtualenv or a command is not found""" + + +class CommandError(PipError): + """Raised when there is an error in command-line arguments""" + + +class PreviousBuildDirError(PipError): + """Raised when there's a previous conflicting build directory""" + + +class InvalidWheelFilename(InstallationError): + """Invalid wheel filename.""" + + +class UnsupportedWheel(InstallationError): + """Unsupported wheel.""" + + +class HashErrors(InstallationError): + """Multiple HashError instances rolled into one for reporting""" + + def __init__(self): + self.errors = [] + + def append(self, error): + self.errors.append(error) + + def __str__(self): + lines = [] + self.errors.sort(key=lambda e: e.order) + for cls, errors_of_cls in groupby(self.errors, lambda e: e.__class__): + lines.append(cls.head) + lines.extend(e.body() for e in errors_of_cls) + if lines: + return '\n'.join(lines) + + def __nonzero__(self): + return bool(self.errors) + + def __bool__(self): + return self.__nonzero__() + + +class HashError(InstallationError): + """ + A failure to verify a package against known-good hashes + + :cvar order: An int sorting hash exception classes by difficulty of + recovery (lower being harder), so the user doesn't bother fretting + about unpinned packages when he has deeper issues, like VCS + dependencies, to deal with. Also keeps error reports in a + deterministic order. + :cvar head: A section heading for display above potentially many + exceptions of this kind + :ivar req: The InstallRequirement that triggered this error. This is + pasted on after the exception is instantiated, because it's not + typically available earlier. + + """ + req = None # type: Optional[InstallRequirement] + head = '' + + def body(self): + """Return a summary of me for display under the heading. + + This default implementation simply prints a description of the + triggering requirement. + + :param req: The InstallRequirement that provoked this error, with + populate_link() having already been called + + """ + return ' %s' % self._requirement_name() + + def __str__(self): + return '%s\n%s' % (self.head, self.body()) + + def _requirement_name(self): + """Return a description of the requirement that triggered me. + + This default implementation returns long description of the req, with + line numbers + + """ + return str(self.req) if self.req else 'unknown package' + + +class VcsHashUnsupported(HashError): + """A hash was provided for a version-control-system-based requirement, but + we don't have a method for hashing those.""" + + order = 0 + head = ("Can't verify hashes for these requirements because we don't " + "have a way to hash version control repositories:") + + +class DirectoryUrlHashUnsupported(HashError): + """A hash was provided for a version-control-system-based requirement, but + we don't have a method for hashing those.""" + + order = 1 + head = ("Can't verify hashes for these file:// requirements because they " + "point to directories:") + + +class HashMissing(HashError): + """A hash was needed for a requirement but is absent.""" + + order = 2 + head = ('Hashes are required in --require-hashes mode, but they are ' + 'missing from some requirements. Here is a list of those ' + 'requirements along with the hashes their downloaded archives ' + 'actually had. Add lines like these to your requirements files to ' + 'prevent tampering. (If you did not enable --require-hashes ' + 'manually, note that it turns on automatically when any package ' + 'has a hash.)') + + def __init__(self, gotten_hash): + """ + :param gotten_hash: The hash of the (possibly malicious) archive we + just downloaded + """ + self.gotten_hash = gotten_hash + + def body(self): + # Dodge circular import. + from pip._internal.utils.hashes import FAVORITE_HASH + + package = None + if self.req: + # In the case of URL-based requirements, display the original URL + # seen in the requirements file rather than the package name, + # so the output can be directly copied into the requirements file. + package = (self.req.original_link if self.req.original_link + # In case someone feeds something downright stupid + # to InstallRequirement's constructor. + else getattr(self.req, 'req', None)) + return ' %s --hash=%s:%s' % (package or 'unknown package', + FAVORITE_HASH, + self.gotten_hash) + + +class HashUnpinned(HashError): + """A requirement had a hash specified but was not pinned to a specific + version.""" + + order = 3 + head = ('In --require-hashes mode, all requirements must have their ' + 'versions pinned with ==. These do not:') + + +class HashMismatch(HashError): + """ + Distribution file hash values don't match. + + :ivar package_name: The name of the package that triggered the hash + mismatch. Feel free to write to this after the exception is raise to + improve its error message. + + """ + order = 4 + head = ('THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS ' + 'FILE. If you have updated the package versions, please update ' + 'the hashes. Otherwise, examine the package contents carefully; ' + 'someone may have tampered with them.') + + def __init__(self, allowed, gots): + """ + :param allowed: A dict of algorithm names pointing to lists of allowed + hex digests + :param gots: A dict of algorithm names pointing to hashes we + actually got from the files under suspicion + """ + self.allowed = allowed + self.gots = gots + + def body(self): + return ' %s:\n%s' % (self._requirement_name(), + self._hash_comparison()) + + def _hash_comparison(self): + """ + Return a comparison of actual and expected hash values. + + Example:: + + Expected sha256 abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde + or 123451234512345123451234512345123451234512345 + Got bcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdefbcdef + + """ + def hash_then_or(hash_name): + # For now, all the decent hashes have 6-char names, so we can get + # away with hard-coding space literals. + return chain([hash_name], repeat(' or')) + + lines = [] + for hash_name, expecteds in iteritems(self.allowed): + prefix = hash_then_or(hash_name) + lines.extend((' Expected %s %s' % (next(prefix), e)) + for e in expecteds) + lines.append(' Got %s\n' % + self.gots[hash_name].hexdigest()) + prefix = ' or' + return '\n'.join(lines) + + +class UnsupportedPythonVersion(InstallationError): + """Unsupported python version according to Requires-Python package + metadata.""" + + +class ConfigurationFileCouldNotBeLoaded(ConfigurationError): + """When there are errors while loading a configuration file + """ + + def __init__(self, reason="could not be loaded", fname=None, error=None): + super(ConfigurationFileCouldNotBeLoaded, self).__init__(error) + self.reason = reason + self.fname = fname + self.error = error + + def __str__(self): + if self.fname is not None: + message_part = " in {}.".format(self.fname) + else: + assert self.error is not None + message_part = ".\n{}\n".format(self.error.message) + return "Configuration file {}{}".format(self.reason, message_part) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/index.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/index.py new file mode 100644 index 0000000000..9eda3a351f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/index.py @@ -0,0 +1,990 @@ +"""Routines related to PyPI, indexes""" +from __future__ import absolute_import + +import cgi +import itertools +import logging +import mimetypes +import os +import posixpath +import re +import sys +from collections import namedtuple + +from pip._vendor import html5lib, requests, six +from pip._vendor.distlib.compat import unescape +from pip._vendor.packaging import specifiers +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.requests.exceptions import RetryError, SSLError +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request + +from pip._internal.download import HAS_TLS, is_url, path_to_url, url_to_path +from pip._internal.exceptions import ( + BestVersionAlreadyInstalled, DistributionNotFound, InvalidWheelFilename, + UnsupportedWheel, +) +from pip._internal.models.candidate import InstallationCandidate +from pip._internal.models.format_control import FormatControl +from pip._internal.models.index import PyPI +from pip._internal.models.link import Link +from pip._internal.pep425tags import get_supported +from pip._internal.utils.compat import ipaddress +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + ARCHIVE_EXTENSIONS, SUPPORTED_EXTENSIONS, WHEEL_EXTENSION, normalize_path, + redact_password_from_url, +) +from pip._internal.utils.packaging import check_requires_python +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from logging import Logger # noqa: F401 + from typing import ( # noqa: F401 + Tuple, Optional, Any, List, Union, Callable, Set, Sequence, + Iterable, MutableMapping + ) + from pip._vendor.packaging.version import _BaseVersion # noqa: F401 + from pip._vendor.requests import Response # noqa: F401 + from pip._internal.req import InstallRequirement # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + SecureOrigin = Tuple[str, str, Optional[str]] + BuildTag = Tuple[Any, ...] # either emply tuple or Tuple[int, str] + CandidateSortingKey = Tuple[int, _BaseVersion, BuildTag, Optional[int]] + +__all__ = ['FormatControl', 'PackageFinder'] + + +SECURE_ORIGINS = [ + # protocol, hostname, port + # Taken from Chrome's list of secure origins (See: http://bit.ly/1qrySKC) + ("https", "*", "*"), + ("*", "localhost", "*"), + ("*", "127.0.0.0/8", "*"), + ("*", "::1/128", "*"), + ("file", "*", None), + # ssh is always secure. + ("ssh", "*", "*"), +] # type: List[SecureOrigin] + + +logger = logging.getLogger(__name__) + + +def _match_vcs_scheme(url): + # type: (str) -> Optional[str] + """Look for VCS schemes in the URL. + + Returns the matched VCS scheme, or None if there's no match. + """ + from pip._internal.vcs import VcsSupport + for scheme in VcsSupport.schemes: + if url.lower().startswith(scheme) and url[len(scheme)] in '+:': + return scheme + return None + + +def _is_url_like_archive(url): + # type: (str) -> bool + """Return whether the URL looks like an archive. + """ + filename = Link(url).filename + for bad_ext in ARCHIVE_EXTENSIONS: + if filename.endswith(bad_ext): + return True + return False + + +class _NotHTML(Exception): + def __init__(self, content_type, request_desc): + # type: (str, str) -> None + super(_NotHTML, self).__init__(content_type, request_desc) + self.content_type = content_type + self.request_desc = request_desc + + +def _ensure_html_header(response): + # type: (Response) -> None + """Check the Content-Type header to ensure the response contains HTML. + + Raises `_NotHTML` if the content type is not text/html. + """ + content_type = response.headers.get("Content-Type", "") + if not content_type.lower().startswith("text/html"): + raise _NotHTML(content_type, response.request.method) + + +class _NotHTTP(Exception): + pass + + +def _ensure_html_response(url, session): + # type: (str, PipSession) -> None + """Send a HEAD request to the URL, and ensure the response contains HTML. + + Raises `_NotHTTP` if the URL is not available for a HEAD request, or + `_NotHTML` if the content type is not text/html. + """ + scheme, netloc, path, query, fragment = urllib_parse.urlsplit(url) + if scheme not in {'http', 'https'}: + raise _NotHTTP() + + resp = session.head(url, allow_redirects=True) + resp.raise_for_status() + + _ensure_html_header(resp) + + +def _get_html_response(url, session): + # type: (str, PipSession) -> Response + """Access an HTML page with GET, and return the response. + + This consists of three parts: + + 1. If the URL looks suspiciously like an archive, send a HEAD first to + check the Content-Type is HTML, to avoid downloading a large file. + Raise `_NotHTTP` if the content type cannot be determined, or + `_NotHTML` if it is not HTML. + 2. Actually perform the request. Raise HTTP exceptions on network failures. + 3. Check the Content-Type header to make sure we got HTML, and raise + `_NotHTML` otherwise. + """ + if _is_url_like_archive(url): + _ensure_html_response(url, session=session) + + logger.debug('Getting page %s', url) + + resp = session.get( + url, + headers={ + "Accept": "text/html", + # We don't want to blindly returned cached data for + # /simple/, because authors generally expecting that + # twine upload && pip install will function, but if + # they've done a pip install in the last ~10 minutes + # it won't. Thus by setting this to zero we will not + # blindly use any cached data, however the benefit of + # using max-age=0 instead of no-cache, is that we will + # still support conditional requests, so we will still + # minimize traffic sent in cases where the page hasn't + # changed at all, we will just always incur the round + # trip for the conditional GET now instead of only + # once per 10 minutes. + # For more information, please see pypa/pip#5670. + "Cache-Control": "max-age=0", + }, + ) + resp.raise_for_status() + + # The check for archives above only works if the url ends with + # something that looks like an archive. However that is not a + # requirement of an url. Unless we issue a HEAD request on every + # url we cannot know ahead of time for sure if something is HTML + # or not. However we can check after we've downloaded it. + _ensure_html_header(resp) + + return resp + + +def _handle_get_page_fail( + link, # type: Link + reason, # type: Union[str, Exception] + meth=None # type: Optional[Callable[..., None]] +): + # type: (...) -> None + if meth is None: + meth = logger.debug + meth("Could not fetch URL %s: %s - skipping", link, reason) + + +def _get_html_page(link, session=None): + # type: (Link, Optional[PipSession]) -> Optional[HTMLPage] + if session is None: + raise TypeError( + "_get_html_page() missing 1 required keyword argument: 'session'" + ) + + url = link.url.split('#', 1)[0] + + # Check for VCS schemes that do not support lookup as web pages. + vcs_scheme = _match_vcs_scheme(url) + if vcs_scheme: + logger.debug('Cannot look at %s URL %s', vcs_scheme, link) + return None + + # Tack index.html onto file:// URLs that point to directories + scheme, _, path, _, _, _ = urllib_parse.urlparse(url) + if (scheme == 'file' and os.path.isdir(urllib_request.url2pathname(path))): + # add trailing slash if not present so urljoin doesn't trim + # final segment + if not url.endswith('/'): + url += '/' + url = urllib_parse.urljoin(url, 'index.html') + logger.debug(' file: URL is directory, getting %s', url) + + try: + resp = _get_html_response(url, session=session) + except _NotHTTP as exc: + logger.debug( + 'Skipping page %s because it looks like an archive, and cannot ' + 'be checked by HEAD.', link, + ) + except _NotHTML as exc: + logger.debug( + 'Skipping page %s because the %s request got Content-Type: %s', + link, exc.request_desc, exc.content_type, + ) + except requests.HTTPError as exc: + _handle_get_page_fail(link, exc) + except RetryError as exc: + _handle_get_page_fail(link, exc) + except SSLError as exc: + reason = "There was a problem confirming the ssl certificate: " + reason += str(exc) + _handle_get_page_fail(link, reason, meth=logger.info) + except requests.ConnectionError as exc: + _handle_get_page_fail(link, "connection error: %s" % exc) + except requests.Timeout: + _handle_get_page_fail(link, "timed out") + else: + return HTMLPage(resp.content, resp.url, resp.headers) + return None + + +class PackageFinder(object): + """This finds packages. + + This is meant to match easy_install's technique for looking for + packages, by reading pages and looking for appropriate links. + """ + + def __init__( + self, + find_links, # type: List[str] + index_urls, # type: List[str] + allow_all_prereleases=False, # type: bool + trusted_hosts=None, # type: Optional[Iterable[str]] + session=None, # type: Optional[PipSession] + format_control=None, # type: Optional[FormatControl] + platform=None, # type: Optional[str] + versions=None, # type: Optional[List[str]] + abi=None, # type: Optional[str] + implementation=None, # type: Optional[str] + prefer_binary=False # type: bool + ): + # type: (...) -> None + """Create a PackageFinder. + + :param format_control: A FormatControl object or None. Used to control + the selection of source packages / binary packages when consulting + the index and links. + :param platform: A string or None. If None, searches for packages + that are supported by the current system. Otherwise, will find + packages that can be built on the platform passed in. These + packages will only be downloaded for distribution: they will + not be built locally. + :param versions: A list of strings or None. This is passed directly + to pep425tags.py in the get_supported() method. + :param abi: A string or None. This is passed directly + to pep425tags.py in the get_supported() method. + :param implementation: A string or None. This is passed directly + to pep425tags.py in the get_supported() method. + """ + if session is None: + raise TypeError( + "PackageFinder() missing 1 required keyword argument: " + "'session'" + ) + + # Build find_links. If an argument starts with ~, it may be + # a local file relative to a home directory. So try normalizing + # it and if it exists, use the normalized version. + # This is deliberately conservative - it might be fine just to + # blindly normalize anything starting with a ~... + self.find_links = [] # type: List[str] + for link in find_links: + if link.startswith('~'): + new_link = normalize_path(link) + if os.path.exists(new_link): + link = new_link + self.find_links.append(link) + + self.index_urls = index_urls + + # These are boring links that have already been logged somehow: + self.logged_links = set() # type: Set[Link] + + self.format_control = format_control or FormatControl(set(), set()) + + # Domains that we won't emit warnings for when not using HTTPS + self.secure_origins = [ + ("*", host, "*") + for host in (trusted_hosts if trusted_hosts else []) + ] # type: List[SecureOrigin] + + # Do we want to allow _all_ pre-releases? + self.allow_all_prereleases = allow_all_prereleases + + # The Session we'll use to make requests + self.session = session + + # The valid tags to check potential found wheel candidates against + self.valid_tags = get_supported( + versions=versions, + platform=platform, + abi=abi, + impl=implementation, + ) + + # Do we prefer old, but valid, binary dist over new source dist + self.prefer_binary = prefer_binary + + # If we don't have TLS enabled, then WARN if anyplace we're looking + # relies on TLS. + if not HAS_TLS: + for link in itertools.chain(self.index_urls, self.find_links): + parsed = urllib_parse.urlparse(link) + if parsed.scheme == "https": + logger.warning( + "pip is configured with locations that require " + "TLS/SSL, however the ssl module in Python is not " + "available." + ) + break + + def get_formatted_locations(self): + # type: () -> str + lines = [] + if self.index_urls and self.index_urls != [PyPI.simple_url]: + lines.append( + "Looking in indexes: {}".format(", ".join( + redact_password_from_url(url) for url in self.index_urls)) + ) + if self.find_links: + lines.append( + "Looking in links: {}".format(", ".join(self.find_links)) + ) + return "\n".join(lines) + + @staticmethod + def _sort_locations(locations, expand_dir=False): + # type: (Sequence[str], bool) -> Tuple[List[str], List[str]] + """ + Sort locations into "files" (archives) and "urls", and return + a pair of lists (files,urls) + """ + files = [] + urls = [] + + # puts the url for the given file path into the appropriate list + def sort_path(path): + url = path_to_url(path) + if mimetypes.guess_type(url, strict=False)[0] == 'text/html': + urls.append(url) + else: + files.append(url) + + for url in locations: + + is_local_path = os.path.exists(url) + is_file_url = url.startswith('file:') + + if is_local_path or is_file_url: + if is_local_path: + path = url + else: + path = url_to_path(url) + if os.path.isdir(path): + if expand_dir: + path = os.path.realpath(path) + for item in os.listdir(path): + sort_path(os.path.join(path, item)) + elif is_file_url: + urls.append(url) + else: + logger.warning( + "Path '{0}' is ignored: " + "it is a directory.".format(path), + ) + elif os.path.isfile(path): + sort_path(path) + else: + logger.warning( + "Url '%s' is ignored: it is neither a file " + "nor a directory.", url, + ) + elif is_url(url): + # Only add url with clear scheme + urls.append(url) + else: + logger.warning( + "Url '%s' is ignored. It is either a non-existing " + "path or lacks a specific scheme.", url, + ) + + return files, urls + + def _candidate_sort_key(self, candidate): + # type: (InstallationCandidate) -> CandidateSortingKey + """ + Function used to generate link sort key for link tuples. + The greater the return value, the more preferred it is. + If not finding wheels, then sorted by version only. + If finding wheels, then the sort order is by version, then: + 1. existing installs + 2. wheels ordered via Wheel.support_index_min(self.valid_tags) + 3. source archives + If prefer_binary was set, then all wheels are sorted above sources. + Note: it was considered to embed this logic into the Link + comparison operators, but then different sdist links + with the same version, would have to be considered equal + """ + support_num = len(self.valid_tags) + build_tag = tuple() # type: BuildTag + binary_preference = 0 + if candidate.location.is_wheel: + # can raise InvalidWheelFilename + wheel = Wheel(candidate.location.filename) + if not wheel.supported(self.valid_tags): + raise UnsupportedWheel( + "%s is not a supported wheel for this platform. It " + "can't be sorted." % wheel.filename + ) + if self.prefer_binary: + binary_preference = 1 + pri = -(wheel.support_index_min(self.valid_tags)) + if wheel.build_tag is not None: + match = re.match(r'^(\d+)(.*)$', wheel.build_tag) + build_tag_groups = match.groups() + build_tag = (int(build_tag_groups[0]), build_tag_groups[1]) + else: # sdist + pri = -(support_num) + return (binary_preference, candidate.version, build_tag, pri) + + def _validate_secure_origin(self, logger, location): + # type: (Logger, Link) -> bool + # Determine if this url used a secure transport mechanism + parsed = urllib_parse.urlparse(str(location)) + origin = (parsed.scheme, parsed.hostname, parsed.port) + + # The protocol to use to see if the protocol matches. + # Don't count the repository type as part of the protocol: in + # cases such as "git+ssh", only use "ssh". (I.e., Only verify against + # the last scheme.) + protocol = origin[0].rsplit('+', 1)[-1] + + # Determine if our origin is a secure origin by looking through our + # hardcoded list of secure origins, as well as any additional ones + # configured on this PackageFinder instance. + for secure_origin in (SECURE_ORIGINS + self.secure_origins): + if protocol != secure_origin[0] and secure_origin[0] != "*": + continue + + try: + # We need to do this decode dance to ensure that we have a + # unicode object, even on Python 2.x. + addr = ipaddress.ip_address( + origin[1] + if ( + isinstance(origin[1], six.text_type) or + origin[1] is None + ) + else origin[1].decode("utf8") + ) + network = ipaddress.ip_network( + secure_origin[1] + if isinstance(secure_origin[1], six.text_type) + # setting secure_origin[1] to proper Union[bytes, str] + # creates problems in other places + else secure_origin[1].decode("utf8") # type: ignore + ) + except ValueError: + # We don't have both a valid address or a valid network, so + # we'll check this origin against hostnames. + if (origin[1] and + origin[1].lower() != secure_origin[1].lower() and + secure_origin[1] != "*"): + continue + else: + # We have a valid address and network, so see if the address + # is contained within the network. + if addr not in network: + continue + + # Check to see if the port patches + if (origin[2] != secure_origin[2] and + secure_origin[2] != "*" and + secure_origin[2] is not None): + continue + + # If we've gotten here, then this origin matches the current + # secure origin and we should return True + return True + + # If we've gotten to this point, then the origin isn't secure and we + # will not accept it as a valid location to search. We will however + # log a warning that we are ignoring it. + logger.warning( + "The repository located at %s is not a trusted or secure host and " + "is being ignored. If this repository is available via HTTPS we " + "recommend you use HTTPS instead, otherwise you may silence " + "this warning and allow it anyway with '--trusted-host %s'.", + parsed.hostname, + parsed.hostname, + ) + + return False + + def _get_index_urls_locations(self, project_name): + # type: (str) -> List[str] + """Returns the locations found via self.index_urls + + Checks the url_name on the main (first in the list) index and + use this url_name to produce all locations + """ + + def mkurl_pypi_url(url): + loc = posixpath.join( + url, + urllib_parse.quote(canonicalize_name(project_name))) + # For maximum compatibility with easy_install, ensure the path + # ends in a trailing slash. Although this isn't in the spec + # (and PyPI can handle it without the slash) some other index + # implementations might break if they relied on easy_install's + # behavior. + if not loc.endswith('/'): + loc = loc + '/' + return loc + + return [mkurl_pypi_url(url) for url in self.index_urls] + + def find_all_candidates(self, project_name): + # type: (str) -> List[Optional[InstallationCandidate]] + """Find all available InstallationCandidate for project_name + + This checks index_urls and find_links. + All versions found are returned as an InstallationCandidate list. + + See _link_package_versions for details on which files are accepted + """ + index_locations = self._get_index_urls_locations(project_name) + index_file_loc, index_url_loc = self._sort_locations(index_locations) + fl_file_loc, fl_url_loc = self._sort_locations( + self.find_links, expand_dir=True, + ) + + file_locations = (Link(url) for url in itertools.chain( + index_file_loc, fl_file_loc, + )) + + # We trust every url that the user has given us whether it was given + # via --index-url or --find-links. + # We want to filter out any thing which does not have a secure origin. + url_locations = [ + link for link in itertools.chain( + (Link(url) for url in index_url_loc), + (Link(url) for url in fl_url_loc), + ) + if self._validate_secure_origin(logger, link) + ] + + logger.debug('%d location(s) to search for versions of %s:', + len(url_locations), project_name) + + for location in url_locations: + logger.debug('* %s', location) + + canonical_name = canonicalize_name(project_name) + formats = self.format_control.get_allowed_formats(canonical_name) + search = Search(project_name, canonical_name, formats) + find_links_versions = self._package_versions( + # We trust every directly linked archive in find_links + (Link(url, '-f') for url in self.find_links), + search + ) + + page_versions = [] + for page in self._get_pages(url_locations, project_name): + logger.debug('Analyzing links from page %s', page.url) + with indent_log(): + page_versions.extend( + self._package_versions(page.iter_links(), search) + ) + + file_versions = self._package_versions(file_locations, search) + if file_versions: + file_versions.sort(reverse=True) + logger.debug( + 'Local files found: %s', + ', '.join([ + url_to_path(candidate.location.url) + for candidate in file_versions + ]) + ) + + # This is an intentional priority ordering + return file_versions + find_links_versions + page_versions + + def find_requirement(self, req, upgrade): + # type: (InstallRequirement, bool) -> Optional[Link] + """Try to find a Link matching req + + Expects req, an InstallRequirement and upgrade, a boolean + Returns a Link if found, + Raises DistributionNotFound or BestVersionAlreadyInstalled otherwise + """ + all_candidates = self.find_all_candidates(req.name) + + # Filter out anything which doesn't match our specifier + compatible_versions = set( + req.specifier.filter( + # We turn the version object into a str here because otherwise + # when we're debundled but setuptools isn't, Python will see + # packaging.version.Version and + # pkg_resources._vendor.packaging.version.Version as different + # types. This way we'll use a str as a common data interchange + # format. If we stop using the pkg_resources provided specifier + # and start using our own, we can drop the cast to str(). + [str(c.version) for c in all_candidates], + prereleases=( + self.allow_all_prereleases + if self.allow_all_prereleases else None + ), + ) + ) + applicable_candidates = [ + # Again, converting to str to deal with debundling. + c for c in all_candidates if str(c.version) in compatible_versions + ] + + if applicable_candidates: + best_candidate = max(applicable_candidates, + key=self._candidate_sort_key) + else: + best_candidate = None + + if req.satisfied_by is not None: + installed_version = parse_version(req.satisfied_by.version) + else: + installed_version = None + + if installed_version is None and best_candidate is None: + logger.critical( + 'Could not find a version that satisfies the requirement %s ' + '(from versions: %s)', + req, + ', '.join( + sorted( + {str(c.version) for c in all_candidates}, + key=parse_version, + ) + ) + ) + + raise DistributionNotFound( + 'No matching distribution found for %s' % req + ) + + best_installed = False + if installed_version and ( + best_candidate is None or + best_candidate.version <= installed_version): + best_installed = True + + if not upgrade and installed_version is not None: + if best_installed: + logger.debug( + 'Existing installed version (%s) is most up-to-date and ' + 'satisfies requirement', + installed_version, + ) + else: + logger.debug( + 'Existing installed version (%s) satisfies requirement ' + '(most up-to-date version is %s)', + installed_version, + best_candidate.version, + ) + return None + + if best_installed: + # We have an existing version, and its the best version + logger.debug( + 'Installed version (%s) is most up-to-date (past versions: ' + '%s)', + installed_version, + ', '.join(sorted(compatible_versions, key=parse_version)) or + "none", + ) + raise BestVersionAlreadyInstalled + + logger.debug( + 'Using version %s (newest of versions: %s)', + best_candidate.version, + ', '.join(sorted(compatible_versions, key=parse_version)) + ) + return best_candidate.location + + def _get_pages(self, locations, project_name): + # type: (Iterable[Link], str) -> Iterable[HTMLPage] + """ + Yields (page, page_url) from the given locations, skipping + locations that have errors. + """ + seen = set() # type: Set[Link] + for location in locations: + if location in seen: + continue + seen.add(location) + + page = _get_html_page(location, session=self.session) + if page is None: + continue + + yield page + + _py_version_re = re.compile(r'-py([123]\.?[0-9]?)$') + + def _sort_links(self, links): + # type: (Iterable[Link]) -> List[Link] + """ + Returns elements of links in order, non-egg links first, egg links + second, while eliminating duplicates + """ + eggs, no_eggs = [], [] + seen = set() # type: Set[Link] + for link in links: + if link not in seen: + seen.add(link) + if link.egg_fragment: + eggs.append(link) + else: + no_eggs.append(link) + return no_eggs + eggs + + def _package_versions( + self, + links, # type: Iterable[Link] + search # type: Search + ): + # type: (...) -> List[Optional[InstallationCandidate]] + result = [] + for link in self._sort_links(links): + v = self._link_package_versions(link, search) + if v is not None: + result.append(v) + return result + + def _log_skipped_link(self, link, reason): + # type: (Link, str) -> None + if link not in self.logged_links: + logger.debug('Skipping link %s; %s', link, reason) + self.logged_links.add(link) + + def _link_package_versions(self, link, search): + # type: (Link, Search) -> Optional[InstallationCandidate] + """Return an InstallationCandidate or None""" + version = None + if link.egg_fragment: + egg_info = link.egg_fragment + ext = link.ext + else: + egg_info, ext = link.splitext() + if not ext: + self._log_skipped_link(link, 'not a file') + return None + if ext not in SUPPORTED_EXTENSIONS: + self._log_skipped_link( + link, 'unsupported archive format: %s' % ext, + ) + return None + if "binary" not in search.formats and ext == WHEEL_EXTENSION: + self._log_skipped_link( + link, 'No binaries permitted for %s' % search.supplied, + ) + return None + if "macosx10" in link.path and ext == '.zip': + self._log_skipped_link(link, 'macosx10 one') + return None + if ext == WHEEL_EXTENSION: + try: + wheel = Wheel(link.filename) + except InvalidWheelFilename: + self._log_skipped_link(link, 'invalid wheel filename') + return None + if canonicalize_name(wheel.name) != search.canonical: + self._log_skipped_link( + link, 'wrong project name (not %s)' % search.supplied) + return None + + if not wheel.supported(self.valid_tags): + self._log_skipped_link( + link, 'it is not compatible with this Python') + return None + + version = wheel.version + + # This should be up by the search.ok_binary check, but see issue 2700. + if "source" not in search.formats and ext != WHEEL_EXTENSION: + self._log_skipped_link( + link, 'No sources permitted for %s' % search.supplied, + ) + return None + + if not version: + version = _egg_info_matches(egg_info, search.canonical) + if not version: + self._log_skipped_link( + link, 'Missing project version for %s' % search.supplied) + return None + + match = self._py_version_re.search(version) + if match: + version = version[:match.start()] + py_version = match.group(1) + if py_version != sys.version[:3]: + self._log_skipped_link( + link, 'Python version is incorrect') + return None + try: + support_this_python = check_requires_python(link.requires_python) + except specifiers.InvalidSpecifier: + logger.debug("Package %s has an invalid Requires-Python entry: %s", + link.filename, link.requires_python) + support_this_python = True + + if not support_this_python: + logger.debug("The package %s is incompatible with the python " + "version in use. Acceptable python versions are: %s", + link, link.requires_python) + return None + logger.debug('Found link %s, version: %s', link, version) + + return InstallationCandidate(search.supplied, version, link) + + +def _find_name_version_sep(egg_info, canonical_name): + # type: (str, str) -> int + """Find the separator's index based on the package's canonical name. + + `egg_info` must be an egg info string for the given package, and + `canonical_name` must be the package's canonical name. + + This function is needed since the canonicalized name does not necessarily + have the same length as the egg info's name part. An example:: + + >>> egg_info = 'foo__bar-1.0' + >>> canonical_name = 'foo-bar' + >>> _find_name_version_sep(egg_info, canonical_name) + 8 + """ + # Project name and version must be separated by one single dash. Find all + # occurrences of dashes; if the string in front of it matches the canonical + # name, this is the one separating the name and version parts. + for i, c in enumerate(egg_info): + if c != "-": + continue + if canonicalize_name(egg_info[:i]) == canonical_name: + return i + raise ValueError("{} does not match {}".format(egg_info, canonical_name)) + + +def _egg_info_matches(egg_info, canonical_name): + # type: (str, str) -> Optional[str] + """Pull the version part out of a string. + + :param egg_info: The string to parse. E.g. foo-2.1 + :param canonical_name: The canonicalized name of the package this + belongs to. + """ + try: + version_start = _find_name_version_sep(egg_info, canonical_name) + 1 + except ValueError: + return None + version = egg_info[version_start:] + if not version: + return None + return version + + +def _determine_base_url(document, page_url): + """Determine the HTML document's base URL. + + This looks for a ```` tag in the HTML document. If present, its href + attribute denotes the base URL of anchor tags in the document. If there is + no such tag (or if it does not have a valid href attribute), the HTML + file's URL is used as the base URL. + + :param document: An HTML document representation. The current + implementation expects the result of ``html5lib.parse()``. + :param page_url: The URL of the HTML document. + """ + for base in document.findall(".//base"): + href = base.get("href") + if href is not None: + return href + return page_url + + +def _get_encoding_from_headers(headers): + """Determine if we have any encoding information in our headers. + """ + if headers and "Content-Type" in headers: + content_type, params = cgi.parse_header(headers["Content-Type"]) + if "charset" in params: + return params['charset'] + return None + + +_CLEAN_LINK_RE = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I) + + +def _clean_link(url): + # type: (str) -> str + """Makes sure a link is fully encoded. That is, if a ' ' shows up in + the link, it will be rewritten to %20 (while not over-quoting + % or other characters).""" + return _CLEAN_LINK_RE.sub(lambda match: '%%%2x' % ord(match.group(0)), url) + + +class HTMLPage(object): + """Represents one page, along with its URL""" + + def __init__(self, content, url, headers=None): + # type: (bytes, str, MutableMapping[str, str]) -> None + self.content = content + self.url = url + self.headers = headers + + def __str__(self): + return redact_password_from_url(self.url) + + def iter_links(self): + # type: () -> Iterable[Link] + """Yields all links in the page""" + document = html5lib.parse( + self.content, + transport_encoding=_get_encoding_from_headers(self.headers), + namespaceHTMLElements=False, + ) + base_url = _determine_base_url(document, self.url) + for anchor in document.findall(".//a"): + if anchor.get("href"): + href = anchor.get("href") + url = _clean_link(urllib_parse.urljoin(base_url, href)) + pyrequire = anchor.get('data-requires-python') + pyrequire = unescape(pyrequire) if pyrequire else None + yield Link(url, self.url, requires_python=pyrequire) + + +Search = namedtuple('Search', 'supplied canonical formats') +"""Capture key aspects of a search. + +:attribute supplied: The user supplied package. +:attribute canonical: The canonical package name. +:attribute formats: The formats allowed for this package. Should be a set + with 'binary' or 'source' or both in it. +""" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/locations.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/locations.py new file mode 100644 index 0000000000..c6e2a3e484 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/locations.py @@ -0,0 +1,211 @@ +"""Locations where we look for configs, install stuff, etc""" +from __future__ import absolute_import + +import os +import os.path +import platform +import site +import sys +import sysconfig +from distutils import sysconfig as distutils_sysconfig +from distutils.command.install import SCHEME_KEYS # type: ignore + +from pip._internal.utils import appdirs +from pip._internal.utils.compat import WINDOWS, expanduser +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Union, Dict, List, Optional # noqa: F401 + + +# Application Directories +USER_CACHE_DIR = appdirs.user_cache_dir("pip") + + +DELETE_MARKER_MESSAGE = '''\ +This file is placed here by pip to indicate the source was put +here by pip. + +Once this package is successfully installed this source code will be +deleted (unless you remove this file). +''' +PIP_DELETE_MARKER_FILENAME = 'pip-delete-this-directory.txt' + + +def write_delete_marker_file(directory): + # type: (str) -> None + """ + Write the pip delete marker file into this directory. + """ + filepath = os.path.join(directory, PIP_DELETE_MARKER_FILENAME) + with open(filepath, 'w') as marker_fp: + marker_fp.write(DELETE_MARKER_MESSAGE) + + +def running_under_virtualenv(): + # type: () -> bool + """ + Return True if we're running inside a virtualenv, False otherwise. + + """ + if hasattr(sys, 'real_prefix'): + return True + elif sys.prefix != getattr(sys, "base_prefix", sys.prefix): + return True + + return False + + +def virtualenv_no_global(): + # type: () -> bool + """ + Return True if in a venv and no system site packages. + """ + # this mirrors the logic in virtualenv.py for locating the + # no-global-site-packages.txt file + site_mod_dir = os.path.dirname(os.path.abspath(site.__file__)) + no_global_file = os.path.join(site_mod_dir, 'no-global-site-packages.txt') + if running_under_virtualenv() and os.path.isfile(no_global_file): + return True + else: + return False + + +if running_under_virtualenv(): + src_prefix = os.path.join(sys.prefix, 'src') +else: + # FIXME: keep src in cwd for now (it is not a temporary folder) + try: + src_prefix = os.path.join(os.getcwd(), 'src') + except OSError: + # In case the current working directory has been renamed or deleted + sys.exit( + "The folder you are executing pip from can no longer be found." + ) + +# under macOS + virtualenv sys.prefix is not properly resolved +# it is something like /path/to/python/bin/.. +# Note: using realpath due to tmp dirs on OSX being symlinks +src_prefix = os.path.abspath(src_prefix) + +# FIXME doesn't account for venv linked to global site-packages + +site_packages = sysconfig.get_path("purelib") # type: Optional[str] + +# This is because of a bug in PyPy's sysconfig module, see +# https://bitbucket.org/pypy/pypy/issues/2506/sysconfig-returns-incorrect-paths +# for more information. +if platform.python_implementation().lower() == "pypy": + site_packages = distutils_sysconfig.get_python_lib() +try: + # Use getusersitepackages if this is present, as it ensures that the + # value is initialised properly. + user_site = site.getusersitepackages() +except AttributeError: + user_site = site.USER_SITE +user_dir = expanduser('~') +if WINDOWS: + bin_py = os.path.join(sys.prefix, 'Scripts') + bin_user = os.path.join(user_site, 'Scripts') + # buildout uses 'bin' on Windows too? + if not os.path.exists(bin_py): + bin_py = os.path.join(sys.prefix, 'bin') + bin_user = os.path.join(user_site, 'bin') + + config_basename = 'pip.ini' + + legacy_storage_dir = os.path.join(user_dir, 'pip') + legacy_config_file = os.path.join( + legacy_storage_dir, + config_basename, + ) +else: + bin_py = os.path.join(sys.prefix, 'bin') + bin_user = os.path.join(user_site, 'bin') + + config_basename = 'pip.conf' + + legacy_storage_dir = os.path.join(user_dir, '.pip') + legacy_config_file = os.path.join( + legacy_storage_dir, + config_basename, + ) + # Forcing to use /usr/local/bin for standard macOS framework installs + # Also log to ~/Library/Logs/ for use with the Console.app log viewer + if sys.platform[:6] == 'darwin' and sys.prefix[:16] == '/System/Library/': + bin_py = '/usr/local/bin' + +site_config_files = [ + os.path.join(path, config_basename) + for path in appdirs.site_config_dirs('pip') +] + +venv_config_file = os.path.join(sys.prefix, config_basename) +new_config_file = os.path.join(appdirs.user_config_dir("pip"), config_basename) + + +def distutils_scheme(dist_name, user=False, home=None, root=None, + isolated=False, prefix=None): + # type:(str, bool, str, str, bool, str) -> dict + """ + Return a distutils install scheme + """ + from distutils.dist import Distribution + + scheme = {} + + if isolated: + extra_dist_args = {"script_args": ["--no-user-cfg"]} + else: + extra_dist_args = {} + dist_args = {'name': dist_name} # type: Dict[str, Union[str, List[str]]] + dist_args.update(extra_dist_args) + + d = Distribution(dist_args) + # Ignoring, typeshed issue reported python/typeshed/issues/2567 + d.parse_config_files() + # NOTE: Ignoring type since mypy can't find attributes on 'Command' + i = d.get_command_obj('install', create=True) # type: Any + assert i is not None + # NOTE: setting user or home has the side-effect of creating the home dir + # or user base for installations during finalize_options() + # ideally, we'd prefer a scheme class that has no side-effects. + assert not (user and prefix), "user={} prefix={}".format(user, prefix) + i.user = user or i.user + if user: + i.prefix = "" + i.prefix = prefix or i.prefix + i.home = home or i.home + i.root = root or i.root + i.finalize_options() + for key in SCHEME_KEYS: + scheme[key] = getattr(i, 'install_' + key) + + # install_lib specified in setup.cfg should install *everything* + # into there (i.e. it takes precedence over both purelib and + # platlib). Note, i.install_lib is *always* set after + # finalize_options(); we only want to override here if the user + # has explicitly requested it hence going back to the config + + # Ignoring, typeshed issue reported python/typeshed/issues/2567 + if 'install_lib' in d.get_option_dict('install'): # type: ignore + scheme.update(dict(purelib=i.install_lib, platlib=i.install_lib)) + + if running_under_virtualenv(): + scheme['headers'] = os.path.join( + sys.prefix, + 'include', + 'site', + 'python' + sys.version[:3], + dist_name, + ) + + if root is not None: + path_no_drive = os.path.splitdrive( + os.path.abspath(scheme["headers"]))[1] + scheme["headers"] = os.path.join( + root, + path_no_drive[1:], + ) + + return scheme diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/__init__.py new file mode 100644 index 0000000000..7855226e4b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/__init__.py @@ -0,0 +1,2 @@ +"""A package that contains models that represent entities. +""" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/candidate.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/candidate.py new file mode 100644 index 0000000000..4475458ab3 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/candidate.py @@ -0,0 +1,31 @@ +from pip._vendor.packaging.version import parse as parse_version + +from pip._internal.utils.models import KeyBasedCompareMixin +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from pip._vendor.packaging.version import _BaseVersion # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + from typing import Any, Union # noqa: F401 + + +class InstallationCandidate(KeyBasedCompareMixin): + """Represents a potential "candidate" for installation. + """ + + def __init__(self, project, version, location): + # type: (Any, str, Link) -> None + self.project = project + self.version = parse_version(version) # type: _BaseVersion + self.location = location + + super(InstallationCandidate, self).__init__( + key=(self.project, self.version, self.location), + defining_class=InstallationCandidate + ) + + def __repr__(self): + # type: () -> str + return "".format( + self.project, self.version, self.location, + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/format_control.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/format_control.py new file mode 100644 index 0000000000..971a3914ce --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/format_control.py @@ -0,0 +1,73 @@ +from pip._vendor.packaging.utils import canonicalize_name + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Set, FrozenSet # noqa: F401 + + +class FormatControl(object): + """Helper for managing formats from which a package can be installed. + """ + + def __init__(self, no_binary=None, only_binary=None): + # type: (Optional[Set], Optional[Set]) -> None + if no_binary is None: + no_binary = set() + if only_binary is None: + only_binary = set() + + self.no_binary = no_binary + self.only_binary = only_binary + + def __eq__(self, other): + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not self.__eq__(other) + + def __repr__(self): + return "{}({}, {})".format( + self.__class__.__name__, + self.no_binary, + self.only_binary + ) + + @staticmethod + def handle_mutual_excludes(value, target, other): + # type: (str, Optional[Set], Optional[Set]) -> None + new = value.split(',') + while ':all:' in new: + other.clear() + target.clear() + target.add(':all:') + del new[:new.index(':all:') + 1] + # Without a none, we want to discard everything as :all: covers it + if ':none:' not in new: + return + for name in new: + if name == ':none:': + target.clear() + continue + name = canonicalize_name(name) + other.discard(name) + target.add(name) + + def get_allowed_formats(self, canonical_name): + # type: (str) -> FrozenSet + result = {"binary", "source"} + if canonical_name in self.only_binary: + result.discard('source') + elif canonical_name in self.no_binary: + result.discard('binary') + elif ':all:' in self.only_binary: + result.discard('source') + elif ':all:' in self.no_binary: + result.discard('binary') + return frozenset(result) + + def disallow_binaries(self): + # type: () -> None + self.handle_mutual_excludes( + ':all:', self.no_binary, self.only_binary, + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/index.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/index.py new file mode 100644 index 0000000000..ead1efbda7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/index.py @@ -0,0 +1,31 @@ +from pip._vendor.six.moves.urllib import parse as urllib_parse + + +class PackageIndex(object): + """Represents a Package Index and provides easier access to endpoints + """ + + def __init__(self, url, file_storage_domain): + # type: (str, str) -> None + super(PackageIndex, self).__init__() + self.url = url + self.netloc = urllib_parse.urlsplit(url).netloc + self.simple_url = self._url_for_path('simple') + self.pypi_url = self._url_for_path('pypi') + + # This is part of a temporary hack used to block installs of PyPI + # packages which depend on external urls only necessary until PyPI can + # block such packages themselves + self.file_storage_domain = file_storage_domain + + def _url_for_path(self, path): + # type: (str) -> str + return urllib_parse.urljoin(self.url, path) + + +PyPI = PackageIndex( + 'https://pypi.org/', file_storage_domain='files.pythonhosted.org' +) +TestPyPI = PackageIndex( + 'https://test.pypi.org/', file_storage_domain='test-files.pythonhosted.org' +) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/link.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/link.py new file mode 100644 index 0000000000..ad2f93e191 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/models/link.py @@ -0,0 +1,163 @@ +import posixpath +import re + +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import ( + WHEEL_EXTENSION, redact_password_from_url, splitext, +) +from pip._internal.utils.models import KeyBasedCompareMixin +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Tuple, Union, Text # noqa: F401 + from pip._internal.index import HTMLPage # noqa: F401 + + +class Link(KeyBasedCompareMixin): + """Represents a parsed link from a Package Index's simple URL + """ + + def __init__(self, url, comes_from=None, requires_python=None): + # type: (str, Optional[Union[str, HTMLPage]], Optional[str]) -> None + """ + url: + url of the resource pointed to (href of the link) + comes_from: + instance of HTMLPage where the link was found, or string. + requires_python: + String containing the `Requires-Python` metadata field, specified + in PEP 345. This may be specified by a data-requires-python + attribute in the HTML link tag, as described in PEP 503. + """ + + # url can be a UNC windows share + if url.startswith('\\\\'): + url = path_to_url(url) + + self.url = url + self.comes_from = comes_from + self.requires_python = requires_python if requires_python else None + + super(Link, self).__init__( + key=(self.url), + defining_class=Link + ) + + def __str__(self): + if self.requires_python: + rp = ' (requires-python:%s)' % self.requires_python + else: + rp = '' + if self.comes_from: + return '%s (from %s)%s' % (redact_password_from_url(self.url), + self.comes_from, rp) + else: + return redact_password_from_url(str(self.url)) + + def __repr__(self): + return '' % self + + @property + def filename(self): + # type: () -> str + _, netloc, path, _, _ = urllib_parse.urlsplit(self.url) + name = posixpath.basename(path.rstrip('/')) or netloc + name = urllib_parse.unquote(name) + assert name, ('URL %r produced no filename' % self.url) + return name + + @property + def scheme(self): + # type: () -> str + return urllib_parse.urlsplit(self.url)[0] + + @property + def netloc(self): + # type: () -> str + return urllib_parse.urlsplit(self.url)[1] + + @property + def path(self): + # type: () -> str + return urllib_parse.unquote(urllib_parse.urlsplit(self.url)[2]) + + def splitext(self): + # type: () -> Tuple[str, str] + return splitext(posixpath.basename(self.path.rstrip('/'))) + + @property + def ext(self): + # type: () -> str + return self.splitext()[1] + + @property + def url_without_fragment(self): + # type: () -> str + scheme, netloc, path, query, fragment = urllib_parse.urlsplit(self.url) + return urllib_parse.urlunsplit((scheme, netloc, path, query, None)) + + _egg_fragment_re = re.compile(r'[#&]egg=([^&]*)') + + @property + def egg_fragment(self): + # type: () -> Optional[str] + match = self._egg_fragment_re.search(self.url) + if not match: + return None + return match.group(1) + + _subdirectory_fragment_re = re.compile(r'[#&]subdirectory=([^&]*)') + + @property + def subdirectory_fragment(self): + # type: () -> Optional[str] + match = self._subdirectory_fragment_re.search(self.url) + if not match: + return None + return match.group(1) + + _hash_re = re.compile( + r'(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)' + ) + + @property + def hash(self): + # type: () -> Optional[str] + match = self._hash_re.search(self.url) + if match: + return match.group(2) + return None + + @property + def hash_name(self): + # type: () -> Optional[str] + match = self._hash_re.search(self.url) + if match: + return match.group(1) + return None + + @property + def show_url(self): + # type: () -> Optional[str] + return posixpath.basename(self.url.split('#', 1)[0].split('?', 1)[0]) + + @property + def is_wheel(self): + # type: () -> bool + return self.ext == WHEEL_EXTENSION + + @property + def is_artifact(self): + # type: () -> bool + """ + Determines if this points to an actual artifact (e.g. a tarball) or if + it points to an "abstract" thing like a path or a VCS location. + """ + from pip._internal.vcs import vcs + + if self.scheme in vcs.all_schemes: + return False + + return True diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/check.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/check.py new file mode 100644 index 0000000000..0b56eda454 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/check.py @@ -0,0 +1,155 @@ +"""Validation of dependencies of packages +""" + +import logging +from collections import namedtuple + +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.pkg_resources import RequirementParseError + +from pip._internal.operations.prepare import make_abstract_dist +from pip._internal.utils.misc import get_installed_distributions +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +logger = logging.getLogger(__name__) + +if MYPY_CHECK_RUNNING: + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from typing import ( # noqa: F401 + Any, Callable, Dict, Optional, Set, Tuple, List + ) + + # Shorthands + PackageSet = Dict[str, 'PackageDetails'] + Missing = Tuple[str, Any] + Conflicting = Tuple[str, str, Any] + + MissingDict = Dict[str, List[Missing]] + ConflictingDict = Dict[str, List[Conflicting]] + CheckResult = Tuple[MissingDict, ConflictingDict] + +PackageDetails = namedtuple('PackageDetails', ['version', 'requires']) + + +def create_package_set_from_installed(**kwargs): + # type: (**Any) -> Tuple[PackageSet, bool] + """Converts a list of distributions into a PackageSet. + """ + # Default to using all packages installed on the system + if kwargs == {}: + kwargs = {"local_only": False, "skip": ()} + + package_set = {} + problems = False + for dist in get_installed_distributions(**kwargs): + name = canonicalize_name(dist.project_name) + try: + package_set[name] = PackageDetails(dist.version, dist.requires()) + except RequirementParseError as e: + # Don't crash on broken metadata + logging.warning("Error parsing requirements for %s: %s", name, e) + problems = True + return package_set, problems + + +def check_package_set(package_set, should_ignore=None): + # type: (PackageSet, Optional[Callable[[str], bool]]) -> CheckResult + """Check if a package set is consistent + + If should_ignore is passed, it should be a callable that takes a + package name and returns a boolean. + """ + if should_ignore is None: + def should_ignore(name): + return False + + missing = dict() + conflicting = dict() + + for package_name in package_set: + # Info about dependencies of package_name + missing_deps = set() # type: Set[Missing] + conflicting_deps = set() # type: Set[Conflicting] + + if should_ignore(package_name): + continue + + for req in package_set[package_name].requires: + name = canonicalize_name(req.project_name) # type: str + + # Check if it's missing + if name not in package_set: + missed = True + if req.marker is not None: + missed = req.marker.evaluate() + if missed: + missing_deps.add((name, req)) + continue + + # Check if there's a conflict + version = package_set[name].version # type: str + if not req.specifier.contains(version, prereleases=True): + conflicting_deps.add((name, version, req)) + + if missing_deps: + missing[package_name] = sorted(missing_deps, key=str) + if conflicting_deps: + conflicting[package_name] = sorted(conflicting_deps, key=str) + + return missing, conflicting + + +def check_install_conflicts(to_install): + # type: (List[InstallRequirement]) -> Tuple[PackageSet, CheckResult] + """For checking if the dependency graph would be consistent after \ + installing given requirements + """ + # Start from the current state + package_set, _ = create_package_set_from_installed() + # Install packages + would_be_installed = _simulate_installation_of(to_install, package_set) + + # Only warn about directly-dependent packages; create a whitelist of them + whitelist = _create_whitelist(would_be_installed, package_set) + + return ( + package_set, + check_package_set( + package_set, should_ignore=lambda name: name not in whitelist + ) + ) + + +def _simulate_installation_of(to_install, package_set): + # type: (List[InstallRequirement], PackageSet) -> Set[str] + """Computes the version of packages after installing to_install. + """ + + # Keep track of packages that were installed + installed = set() + + # Modify it as installing requirement_set would (assuming no errors) + for inst_req in to_install: + dist = make_abstract_dist(inst_req).dist() + name = canonicalize_name(dist.key) + package_set[name] = PackageDetails(dist.version, dist.requires()) + + installed.add(name) + + return installed + + +def _create_whitelist(would_be_installed, package_set): + # type: (Set[str], PackageSet) -> Set[str] + packages_affected = set(would_be_installed) + + for package_name in package_set: + if package_name in packages_affected: + continue + + for req in package_set[package_name].requires: + if canonicalize_name(req.name) in packages_affected: + packages_affected.add(package_name) + break + + return packages_affected diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/freeze.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/freeze.py new file mode 100644 index 0000000000..388bb73ab9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/freeze.py @@ -0,0 +1,247 @@ +from __future__ import absolute_import + +import collections +import logging +import os +import re + +from pip._vendor import six +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.pkg_resources import RequirementParseError + +from pip._internal.exceptions import BadCommand, InstallationError +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.req.req_file import COMMENT_RE +from pip._internal.utils.misc import ( + dist_is_editable, get_installed_distributions, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Iterator, Optional, List, Container, Set, Dict, Tuple, Iterable, Union + ) + from pip._internal.cache import WheelCache # noqa: F401 + from pip._vendor.pkg_resources import ( # noqa: F401 + Distribution, Requirement + ) + + RequirementInfo = Tuple[Optional[Union[str, Requirement]], bool, List[str]] + + +logger = logging.getLogger(__name__) + + +def freeze( + requirement=None, # type: Optional[List[str]] + find_links=None, # type: Optional[List[str]] + local_only=None, # type: Optional[bool] + user_only=None, # type: Optional[bool] + skip_regex=None, # type: Optional[str] + isolated=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + exclude_editable=False, # type: bool + skip=() # type: Container[str] +): + # type: (...) -> Iterator[str] + find_links = find_links or [] + skip_match = None + + if skip_regex: + skip_match = re.compile(skip_regex).search + + for link in find_links: + yield '-f %s' % link + installations = {} # type: Dict[str, FrozenRequirement] + for dist in get_installed_distributions(local_only=local_only, + skip=(), + user_only=user_only): + try: + req = FrozenRequirement.from_dist(dist) + except RequirementParseError: + logger.warning( + "Could not parse requirement: %s", + dist.project_name + ) + continue + if exclude_editable and req.editable: + continue + installations[req.name] = req + + if requirement: + # the options that don't get turned into an InstallRequirement + # should only be emitted once, even if the same option is in multiple + # requirements files, so we need to keep track of what has been emitted + # so that we don't emit it again if it's seen again + emitted_options = set() # type: Set[str] + # keep track of which files a requirement is in so that we can + # give an accurate warning if a requirement appears multiple times. + req_files = collections.defaultdict(list) # type: Dict[str, List[str]] + for req_file_path in requirement: + with open(req_file_path) as req_file: + for line in req_file: + if (not line.strip() or + line.strip().startswith('#') or + (skip_match and skip_match(line)) or + line.startswith(( + '-r', '--requirement', + '-Z', '--always-unzip', + '-f', '--find-links', + '-i', '--index-url', + '--pre', + '--trusted-host', + '--process-dependency-links', + '--extra-index-url'))): + line = line.rstrip() + if line not in emitted_options: + emitted_options.add(line) + yield line + continue + + if line.startswith('-e') or line.startswith('--editable'): + if line.startswith('-e'): + line = line[2:].strip() + else: + line = line[len('--editable'):].strip().lstrip('=') + line_req = install_req_from_editable( + line, + isolated=isolated, + wheel_cache=wheel_cache, + ) + else: + line_req = install_req_from_line( + COMMENT_RE.sub('', line).strip(), + isolated=isolated, + wheel_cache=wheel_cache, + ) + + if not line_req.name: + logger.info( + "Skipping line in requirement file [%s] because " + "it's not clear what it would install: %s", + req_file_path, line.strip(), + ) + logger.info( + " (add #egg=PackageName to the URL to avoid" + " this warning)" + ) + elif line_req.name not in installations: + # either it's not installed, or it is installed + # but has been processed already + if not req_files[line_req.name]: + logger.warning( + "Requirement file [%s] contains %s, but " + "package %r is not installed", + req_file_path, + COMMENT_RE.sub('', line).strip(), line_req.name + ) + else: + req_files[line_req.name].append(req_file_path) + else: + yield str(installations[line_req.name]).rstrip() + del installations[line_req.name] + req_files[line_req.name].append(req_file_path) + + # Warn about requirements that were included multiple times (in a + # single requirements file or in different requirements files). + for name, files in six.iteritems(req_files): + if len(files) > 1: + logger.warning("Requirement %s included multiple times [%s]", + name, ', '.join(sorted(set(files)))) + + yield( + '## The following requirements were added by ' + 'pip freeze:' + ) + for installation in sorted( + installations.values(), key=lambda x: x.name.lower()): + if canonicalize_name(installation.name) not in skip: + yield str(installation).rstrip() + + +def get_requirement_info(dist): + # type: (Distribution) -> RequirementInfo + """ + Compute and return values (req, editable, comments) for use in + FrozenRequirement.from_dist(). + """ + if not dist_is_editable(dist): + return (None, False, []) + + location = os.path.normcase(os.path.abspath(dist.location)) + + from pip._internal.vcs import vcs, RemoteNotFoundError + vc_type = vcs.get_backend_type(location) + + if not vc_type: + req = dist.as_requirement() + logger.debug( + 'No VCS found for editable requirement {!r} in: {!r}', req, + location, + ) + comments = [ + '# Editable install with no version control ({})'.format(req) + ] + return (location, True, comments) + + try: + req = vc_type.get_src_requirement(location, dist.project_name) + except RemoteNotFoundError: + req = dist.as_requirement() + comments = [ + '# Editable {} install with no remote ({})'.format( + vc_type.__name__, req, + ) + ] + return (location, True, comments) + + except BadCommand: + logger.warning( + 'cannot determine version of editable source in %s ' + '(%s command not found in path)', + location, + vc_type.name, + ) + return (None, True, []) + + except InstallationError as exc: + logger.warning( + "Error when trying to get requirement for VCS system %s, " + "falling back to uneditable format", exc + ) + else: + if req is not None: + return (req, True, []) + + logger.warning( + 'Could not determine repository location of %s', location + ) + comments = ['## !! Could not determine repository location'] + + return (None, False, comments) + + +class FrozenRequirement(object): + def __init__(self, name, req, editable, comments=()): + # type: (str, Union[str, Requirement], bool, Iterable[str]) -> None + self.name = name + self.req = req + self.editable = editable + self.comments = comments + + @classmethod + def from_dist(cls, dist): + # type: (Distribution) -> FrozenRequirement + req, editable, comments = get_requirement_info(dist) + if req is None: + req = dist.as_requirement() + + return cls(dist.project_name, req, editable, comments=comments) + + def __str__(self): + req = self.req + if self.editable: + req = '-e %s' % req + return '\n'.join(list(self.comments) + [str(req)]) + '\n' diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/prepare.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/prepare.py new file mode 100644 index 0000000000..4f31dd5a67 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/operations/prepare.py @@ -0,0 +1,413 @@ +"""Prepares a distribution for installation +""" + +import logging +import os + +from pip._vendor import pkg_resources, requests + +from pip._internal.build_env import BuildEnvironment +from pip._internal.download import ( + is_dir_url, is_file_url, is_vcs_url, unpack_url, url_to_path, +) +from pip._internal.exceptions import ( + DirectoryUrlHashUnsupported, HashUnpinned, InstallationError, + PreviousBuildDirError, VcsHashUnsupported, +) +from pip._internal.utils.compat import expanduser +from pip._internal.utils.hashes import MissingHashes +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import display_path, normalize_path +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.vcs import vcs + +if MYPY_CHECK_RUNNING: + from typing import Any, Optional # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.req.req_tracker import RequirementTracker # noqa: F401 + +logger = logging.getLogger(__name__) + + +def make_abstract_dist(req): + # type: (InstallRequirement) -> DistAbstraction + """Factory to make an abstract dist object. + + Preconditions: Either an editable req with a source_dir, or satisfied_by or + a wheel link, or a non-editable req with a source_dir. + + :return: A concrete DistAbstraction. + """ + if req.editable: + return IsSDist(req) + elif req.link and req.link.is_wheel: + return IsWheel(req) + else: + return IsSDist(req) + + +class DistAbstraction(object): + """Abstracts out the wheel vs non-wheel Resolver.resolve() logic. + + The requirements for anything installable are as follows: + - we must be able to determine the requirement name + (or we can't correctly handle the non-upgrade case). + - we must be able to generate a list of run-time dependencies + without installing any additional packages (or we would + have to either burn time by doing temporary isolated installs + or alternatively violate pips 'don't start installing unless + all requirements are available' rule - neither of which are + desirable). + - for packages with setup requirements, we must also be able + to determine their requirements without installing additional + packages (for the same reason as run-time dependencies) + - we must be able to create a Distribution object exposing the + above metadata. + """ + + def __init__(self, req): + # type: (InstallRequirement) -> None + self.req = req # type: InstallRequirement + + def dist(self): + # type: () -> Any + """Return a setuptools Dist object.""" + raise NotImplementedError + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + """Ensure that we can get a Dist for this requirement.""" + raise NotImplementedError + + +class IsWheel(DistAbstraction): + + def dist(self): + # type: () -> pkg_resources.Distribution + return list(pkg_resources.find_distributions( + self.req.source_dir))[0] + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + # FIXME:https://github.com/pypa/pip/issues/1112 + pass + + +class IsSDist(DistAbstraction): + + def dist(self): + return self.req.get_dist() + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> None + # Prepare for building. We need to: + # 1. Load pyproject.toml (if it exists) + # 2. Set up the build environment + + self.req.load_pyproject_toml() + should_isolate = self.req.use_pep517 and build_isolation + + def _raise_conflicts(conflicting_with, conflicting_reqs): + raise InstallationError( + "Some build dependencies for %s conflict with %s: %s." % ( + self.req, conflicting_with, ', '.join( + '%s is incompatible with %s' % (installed, wanted) + for installed, wanted in sorted(conflicting)))) + + if should_isolate: + # Isolate in a BuildEnvironment and install the build-time + # requirements. + self.req.build_env = BuildEnvironment() + self.req.build_env.install_requirements( + finder, self.req.pyproject_requires, 'overlay', + "Installing build dependencies" + ) + conflicting, missing = self.req.build_env.check_requirements( + self.req.requirements_to_check + ) + if conflicting: + _raise_conflicts("PEP 517/518 supported requirements", + conflicting) + if missing: + logger.warning( + "Missing build requirements in pyproject.toml for %s.", + self.req, + ) + logger.warning( + "The project does not specify a build backend, and " + "pip cannot fall back to setuptools without %s.", + " and ".join(map(repr, sorted(missing))) + ) + # Install any extra build dependencies that the backend requests. + # This must be done in a second pass, as the pyproject.toml + # dependencies must be installed before we can call the backend. + with self.req.build_env: + # We need to have the env active when calling the hook. + self.req.spin_message = "Getting requirements to build wheel" + reqs = self.req.pep517_backend.get_requires_for_build_wheel() + conflicting, missing = self.req.build_env.check_requirements(reqs) + if conflicting: + _raise_conflicts("the backend dependencies", conflicting) + self.req.build_env.install_requirements( + finder, missing, 'normal', + "Installing backend dependencies" + ) + + self.req.prepare_metadata() + self.req.assert_source_matches_version() + + +class Installed(DistAbstraction): + + def dist(self): + # type: () -> pkg_resources.Distribution + return self.req.satisfied_by + + def prep_for_dist(self, finder, build_isolation): + # type: (PackageFinder, bool) -> Any + pass + + +class RequirementPreparer(object): + """Prepares a Requirement + """ + + def __init__( + self, + build_dir, # type: str + download_dir, # type: Optional[str] + src_dir, # type: str + wheel_download_dir, # type: Optional[str] + progress_bar, # type: str + build_isolation, # type: bool + req_tracker # type: RequirementTracker + ): + # type: (...) -> None + super(RequirementPreparer, self).__init__() + + self.src_dir = src_dir + self.build_dir = build_dir + self.req_tracker = req_tracker + + # Where still packed archives should be written to. If None, they are + # not saved, and are deleted immediately after unpacking. + self.download_dir = download_dir + + # Where still-packed .whl files should be written to. If None, they are + # written to the download_dir parameter. Separate to download_dir to + # permit only keeping wheel archives for pip wheel. + if wheel_download_dir: + wheel_download_dir = normalize_path(wheel_download_dir) + self.wheel_download_dir = wheel_download_dir + + # NOTE + # download_dir and wheel_download_dir overlap semantically and may + # be combined if we're willing to have non-wheel archives present in + # the wheelhouse output by 'pip wheel'. + + self.progress_bar = progress_bar + + # Is build isolation allowed? + self.build_isolation = build_isolation + + @property + def _download_should_save(self): + # type: () -> bool + # TODO: Modify to reduce indentation needed + if self.download_dir: + self.download_dir = expanduser(self.download_dir) + if os.path.exists(self.download_dir): + return True + else: + logger.critical('Could not find download directory') + raise InstallationError( + "Could not find or access download directory '%s'" + % display_path(self.download_dir)) + return False + + def prepare_linked_requirement( + self, + req, # type: InstallRequirement + session, # type: PipSession + finder, # type: PackageFinder + upgrade_allowed, # type: bool + require_hashes # type: bool + ): + # type: (...) -> DistAbstraction + """Prepare a requirement that would be obtained from req.link + """ + # TODO: Breakup into smaller functions + if req.link and req.link.scheme == 'file': + path = url_to_path(req.link.url) + logger.info('Processing %s', display_path(path)) + else: + logger.info('Collecting %s', req) + + with indent_log(): + # @@ if filesystem packages are not marked + # editable in a req, a non deterministic error + # occurs when the script attempts to unpack the + # build directory + req.ensure_has_source_dir(self.build_dir) + # If a checkout exists, it's unwise to keep going. version + # inconsistencies are logged later, but do not fail the + # installation. + # FIXME: this won't upgrade when there's an existing + # package unpacked in `req.source_dir` + # package unpacked in `req.source_dir` + if os.path.exists(os.path.join(req.source_dir, 'setup.py')): + raise PreviousBuildDirError( + "pip can't proceed with requirements '%s' due to a" + " pre-existing build directory (%s). This is " + "likely due to a previous installation that failed" + ". pip is being responsible and not assuming it " + "can delete this. Please delete it and try again." + % (req, req.source_dir) + ) + req.populate_link(finder, upgrade_allowed, require_hashes) + + # We can't hit this spot and have populate_link return None. + # req.satisfied_by is None here (because we're + # guarded) and upgrade has no impact except when satisfied_by + # is not None. + # Then inside find_requirement existing_applicable -> False + # If no new versions are found, DistributionNotFound is raised, + # otherwise a result is guaranteed. + assert req.link + link = req.link + + # Now that we have the real link, we can tell what kind of + # requirements we have and raise some more informative errors + # than otherwise. (For example, we can raise VcsHashUnsupported + # for a VCS URL rather than HashMissing.) + if require_hashes: + # We could check these first 2 conditions inside + # unpack_url and save repetition of conditions, but then + # we would report less-useful error messages for + # unhashable requirements, complaining that there's no + # hash provided. + if is_vcs_url(link): + raise VcsHashUnsupported() + elif is_file_url(link) and is_dir_url(link): + raise DirectoryUrlHashUnsupported() + if not req.original_link and not req.is_pinned: + # Unpinned packages are asking for trouble when a new + # version is uploaded. This isn't a security check, but + # it saves users a surprising hash mismatch in the + # future. + # + # file:/// URLs aren't pinnable, so don't complain + # about them not being pinned. + raise HashUnpinned() + + hashes = req.hashes(trust_internet=not require_hashes) + if require_hashes and not hashes: + # Known-good hashes are missing for this requirement, so + # shim it with a facade object that will provoke hash + # computation and then raise a HashMissing exception + # showing the user what the hash should be. + hashes = MissingHashes() + + try: + download_dir = self.download_dir + # We always delete unpacked sdists after pip ran. + autodelete_unpacked = True + if req.link.is_wheel and self.wheel_download_dir: + # when doing 'pip wheel` we download wheels to a + # dedicated dir. + download_dir = self.wheel_download_dir + if req.link.is_wheel: + if download_dir: + # When downloading, we only unpack wheels to get + # metadata. + autodelete_unpacked = True + else: + # When installing a wheel, we use the unpacked + # wheel. + autodelete_unpacked = False + unpack_url( + req.link, req.source_dir, + download_dir, autodelete_unpacked, + session=session, hashes=hashes, + progress_bar=self.progress_bar + ) + except requests.HTTPError as exc: + logger.critical( + 'Could not install requirement %s because of error %s', + req, + exc, + ) + raise InstallationError( + 'Could not install requirement %s because of HTTP ' + 'error %s for URL %s' % + (req, exc, req.link) + ) + abstract_dist = make_abstract_dist(req) + with self.req_tracker.track(req): + abstract_dist.prep_for_dist(finder, self.build_isolation) + if self._download_should_save: + # Make a .zip of the source_dir we already created. + if req.link.scheme in vcs.all_schemes: + req.archive(self.download_dir) + return abstract_dist + + def prepare_editable_requirement( + self, + req, # type: InstallRequirement + require_hashes, # type: bool + use_user_site, # type: bool + finder # type: PackageFinder + ): + # type: (...) -> DistAbstraction + """Prepare an editable requirement + """ + assert req.editable, "cannot prepare a non-editable req as editable" + + logger.info('Obtaining %s', req) + + with indent_log(): + if require_hashes: + raise InstallationError( + 'The editable requirement %s cannot be installed when ' + 'requiring hashes, because there is no single file to ' + 'hash.' % req + ) + req.ensure_has_source_dir(self.src_dir) + req.update_editable(not self._download_should_save) + + abstract_dist = make_abstract_dist(req) + with self.req_tracker.track(req): + abstract_dist.prep_for_dist(finder, self.build_isolation) + + if self._download_should_save: + req.archive(self.download_dir) + req.check_if_exists(use_user_site) + + return abstract_dist + + def prepare_installed_requirement(self, req, require_hashes, skip_reason): + # type: (InstallRequirement, bool, Optional[str]) -> DistAbstraction + """Prepare an already-installed requirement + """ + assert req.satisfied_by, "req should have been satisfied but isn't" + assert skip_reason is not None, ( + "did not get skip reason skipped but req.satisfied_by " + "is set to %r" % (req.satisfied_by,) + ) + logger.info( + 'Requirement %s: %s (%s)', + skip_reason, req, req.satisfied_by.version + ) + with indent_log(): + if require_hashes: + logger.debug( + 'Since it is already installed, we are trusting this ' + 'package without checking its hash. To ensure a ' + 'completely repeatable environment, install into an ' + 'empty virtualenv.' + ) + abstract_dist = Installed(req) + + return abstract_dist diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/pep425tags.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/pep425tags.py new file mode 100644 index 0000000000..1e782d1ae8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/pep425tags.py @@ -0,0 +1,381 @@ +"""Generate and work with PEP 425 Compatibility Tags.""" +from __future__ import absolute_import + +import distutils.util +import logging +import platform +import re +import sys +import sysconfig +import warnings +from collections import OrderedDict + +import pip._internal.utils.glibc +from pip._internal.utils.compat import get_extension_suffixes +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Tuple, Callable, List, Optional, Union, Dict + ) + + Pep425Tag = Tuple[str, str, str] + +logger = logging.getLogger(__name__) + +_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)') + + +def get_config_var(var): + # type: (str) -> Optional[str] + try: + return sysconfig.get_config_var(var) + except IOError as e: # Issue #1074 + warnings.warn("{}".format(e), RuntimeWarning) + return None + + +def get_abbr_impl(): + # type: () -> str + """Return abbreviated implementation name.""" + if hasattr(sys, 'pypy_version_info'): + pyimpl = 'pp' + elif sys.platform.startswith('java'): + pyimpl = 'jy' + elif sys.platform == 'cli': + pyimpl = 'ip' + else: + pyimpl = 'cp' + return pyimpl + + +def get_impl_ver(): + # type: () -> str + """Return implementation version.""" + impl_ver = get_config_var("py_version_nodot") + if not impl_ver or get_abbr_impl() == 'pp': + impl_ver = ''.join(map(str, get_impl_version_info())) + return impl_ver + + +def get_impl_version_info(): + # type: () -> Tuple[int, ...] + """Return sys.version_info-like tuple for use in decrementing the minor + version.""" + if get_abbr_impl() == 'pp': + # as per https://github.com/pypa/pip/issues/2882 + # attrs exist only on pypy + return (sys.version_info[0], + sys.pypy_version_info.major, # type: ignore + sys.pypy_version_info.minor) # type: ignore + else: + return sys.version_info[0], sys.version_info[1] + + +def get_impl_tag(): + # type: () -> str + """ + Returns the Tag for this specific implementation. + """ + return "{}{}".format(get_abbr_impl(), get_impl_ver()) + + +def get_flag(var, fallback, expected=True, warn=True): + # type: (str, Callable[..., bool], Union[bool, int], bool) -> bool + """Use a fallback method for determining SOABI flags if the needed config + var is unset or unavailable.""" + val = get_config_var(var) + if val is None: + if warn: + logger.debug("Config variable '%s' is unset, Python ABI tag may " + "be incorrect", var) + return fallback() + return val == expected + + +def get_abi_tag(): + # type: () -> Optional[str] + """Return the ABI tag based on SOABI (if available) or emulate SOABI + (CPython 2, PyPy).""" + soabi = get_config_var('SOABI') + impl = get_abbr_impl() + if not soabi and impl in {'cp', 'pp'} and hasattr(sys, 'maxunicode'): + d = '' + m = '' + u = '' + if get_flag('Py_DEBUG', + lambda: hasattr(sys, 'gettotalrefcount'), + warn=(impl == 'cp')): + d = 'd' + if get_flag('WITH_PYMALLOC', + lambda: impl == 'cp', + warn=(impl == 'cp')): + m = 'm' + if get_flag('Py_UNICODE_SIZE', + lambda: sys.maxunicode == 0x10ffff, + expected=4, + warn=(impl == 'cp' and + sys.version_info < (3, 3))) \ + and sys.version_info < (3, 3): + u = 'u' + abi = '%s%s%s%s%s' % (impl, get_impl_ver(), d, m, u) + elif soabi and soabi.startswith('cpython-'): + abi = 'cp' + soabi.split('-')[1] + elif soabi: + abi = soabi.replace('.', '_').replace('-', '_') + else: + abi = None + return abi + + +def _is_running_32bit(): + # type: () -> bool + return sys.maxsize == 2147483647 + + +def get_platform(): + # type: () -> str + """Return our platform name 'win32', 'linux_x86_64'""" + if sys.platform == 'darwin': + # distutils.util.get_platform() returns the release based on the value + # of MACOSX_DEPLOYMENT_TARGET on which Python was built, which may + # be significantly older than the user's current machine. + release, _, machine = platform.mac_ver() + split_ver = release.split('.') + + if machine == "x86_64" and _is_running_32bit(): + machine = "i386" + elif machine == "ppc64" and _is_running_32bit(): + machine = "ppc" + + return 'macosx_{}_{}_{}'.format(split_ver[0], split_ver[1], machine) + + # XXX remove distutils dependency + result = distutils.util.get_platform().replace('.', '_').replace('-', '_') + if result == "linux_x86_64" and _is_running_32bit(): + # 32 bit Python program (running on a 64 bit Linux): pip should only + # install and run 32 bit compiled extensions in that case. + result = "linux_i686" + + return result + + +def is_manylinux1_compatible(): + # type: () -> bool + # Only Linux, and only x86-64 / i686 + if get_platform() not in {"linux_x86_64", "linux_i686"}: + return False + + # Check for presence of _manylinux module + try: + import _manylinux + return bool(_manylinux.manylinux1_compatible) + except (ImportError, AttributeError): + # Fall through to heuristic check below + pass + + # Check glibc version. CentOS 5 uses glibc 2.5. + return pip._internal.utils.glibc.have_compatible_glibc(2, 5) + + +def is_manylinux2010_compatible(): + # type: () -> bool + # Only Linux, and only x86-64 / i686 + if get_platform() not in {"linux_x86_64", "linux_i686"}: + return False + + # Check for presence of _manylinux module + try: + import _manylinux + return bool(_manylinux.manylinux2010_compatible) + except (ImportError, AttributeError): + # Fall through to heuristic check below + pass + + # Check glibc version. CentOS 6 uses glibc 2.12. + return pip._internal.utils.glibc.have_compatible_glibc(2, 12) + + +def get_darwin_arches(major, minor, machine): + # type: (int, int, str) -> List[str] + """Return a list of supported arches (including group arches) for + the given major, minor and machine architecture of an macOS machine. + """ + arches = [] + + def _supports_arch(major, minor, arch): + # type: (int, int, str) -> bool + # Looking at the application support for macOS versions in the chart + # provided by https://en.wikipedia.org/wiki/OS_X#Versions it appears + # our timeline looks roughly like: + # + # 10.0 - Introduces ppc support. + # 10.4 - Introduces ppc64, i386, and x86_64 support, however the ppc64 + # and x86_64 support is CLI only, and cannot be used for GUI + # applications. + # 10.5 - Extends ppc64 and x86_64 support to cover GUI applications. + # 10.6 - Drops support for ppc64 + # 10.7 - Drops support for ppc + # + # Given that we do not know if we're installing a CLI or a GUI + # application, we must be conservative and assume it might be a GUI + # application and behave as if ppc64 and x86_64 support did not occur + # until 10.5. + # + # Note: The above information is taken from the "Application support" + # column in the chart not the "Processor support" since I believe + # that we care about what instruction sets an application can use + # not which processors the OS supports. + if arch == 'ppc': + return (major, minor) <= (10, 5) + if arch == 'ppc64': + return (major, minor) == (10, 5) + if arch == 'i386': + return (major, minor) >= (10, 4) + if arch == 'x86_64': + return (major, minor) >= (10, 5) + if arch in groups: + for garch in groups[arch]: + if _supports_arch(major, minor, garch): + return True + return False + + groups = OrderedDict([ + ("fat", ("i386", "ppc")), + ("intel", ("x86_64", "i386")), + ("fat64", ("x86_64", "ppc64")), + ("fat32", ("x86_64", "i386", "ppc")), + ]) # type: Dict[str, Tuple[str, ...]] + + if _supports_arch(major, minor, machine): + arches.append(machine) + + for garch in groups: + if machine in groups[garch] and _supports_arch(major, minor, garch): + arches.append(garch) + + arches.append('universal') + + return arches + + +def get_all_minor_versions_as_strings(version_info): + # type: (Tuple[int, ...]) -> List[str] + versions = [] + major = version_info[:-1] + # Support all previous minor Python versions. + for minor in range(version_info[-1], -1, -1): + versions.append(''.join(map(str, major + (minor,)))) + return versions + + +def get_supported( + versions=None, # type: Optional[List[str]] + noarch=False, # type: bool + platform=None, # type: Optional[str] + impl=None, # type: Optional[str] + abi=None # type: Optional[str] +): + # type: (...) -> List[Pep425Tag] + """Return a list of supported tags for each version specified in + `versions`. + + :param versions: a list of string versions, of the form ["33", "32"], + or None. The first version will be assumed to support our ABI. + :param platform: specify the exact platform you want valid + tags for, or None. If None, use the local system platform. + :param impl: specify the exact implementation you want valid + tags for, or None. If None, use the local interpreter impl. + :param abi: specify the exact abi you want valid + tags for, or None. If None, use the local interpreter abi. + """ + supported = [] + + # Versions must be given with respect to the preference + if versions is None: + version_info = get_impl_version_info() + versions = get_all_minor_versions_as_strings(version_info) + + impl = impl or get_abbr_impl() + + abis = [] # type: List[str] + + abi = abi or get_abi_tag() + if abi: + abis[0:0] = [abi] + + abi3s = set() + for suffix in get_extension_suffixes(): + if suffix.startswith('.abi'): + abi3s.add(suffix.split('.', 2)[1]) + + abis.extend(sorted(list(abi3s))) + + abis.append('none') + + if not noarch: + arch = platform or get_platform() + arch_prefix, arch_sep, arch_suffix = arch.partition('_') + if arch.startswith('macosx'): + # support macosx-10.6-intel on macosx-10.9-x86_64 + match = _osx_arch_pat.match(arch) + if match: + name, major, minor, actual_arch = match.groups() + tpl = '{}_{}_%i_%s'.format(name, major) + arches = [] + for m in reversed(range(int(minor) + 1)): + for a in get_darwin_arches(int(major), m, actual_arch): + arches.append(tpl % (m, a)) + else: + # arch pattern didn't match (?!) + arches = [arch] + elif arch_prefix == 'manylinux2010': + # manylinux1 wheels run on most manylinux2010 systems with the + # exception of wheels depending on ncurses. PEP 571 states + # manylinux1 wheels should be considered manylinux2010 wheels: + # https://www.python.org/dev/peps/pep-0571/#backwards-compatibility-with-manylinux1-wheels + arches = [arch, 'manylinux1' + arch_sep + arch_suffix] + elif platform is None: + arches = [] + if is_manylinux2010_compatible(): + arches.append('manylinux2010' + arch_sep + arch_suffix) + if is_manylinux1_compatible(): + arches.append('manylinux1' + arch_sep + arch_suffix) + arches.append(arch) + else: + arches = [arch] + + # Current version, current API (built specifically for our Python): + for abi in abis: + for arch in arches: + supported.append(('%s%s' % (impl, versions[0]), abi, arch)) + + # abi3 modules compatible with older version of Python + for version in versions[1:]: + # abi3 was introduced in Python 3.2 + if version in {'31', '30'}: + break + for abi in abi3s: # empty set if not Python 3 + for arch in arches: + supported.append(("%s%s" % (impl, version), abi, arch)) + + # Has binaries, does not use the Python API: + for arch in arches: + supported.append(('py%s' % (versions[0][0]), 'none', arch)) + + # No abi / arch, but requires our implementation: + supported.append(('%s%s' % (impl, versions[0]), 'none', 'any')) + # Tagged specifically as being cross-version compatible + # (with just the major version specified) + supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any')) + + # No abi / arch, generic Python + for i, version in enumerate(versions): + supported.append(('py%s' % (version,), 'none', 'any')) + if i == 0: + supported.append(('py%s' % (version[0]), 'none', 'any')) + + return supported + + +implementation_tag = get_impl_tag() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/pyproject.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/pyproject.py new file mode 100644 index 0000000000..8d739a6c19 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/pyproject.py @@ -0,0 +1,171 @@ +from __future__ import absolute_import + +import io +import os +import sys + +from pip._vendor import pytoml, six + +from pip._internal.exceptions import InstallationError +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Tuple, Optional, List # noqa: F401 + + +def _is_list_of_str(obj): + # type: (Any) -> bool + return ( + isinstance(obj, list) and + all(isinstance(item, six.string_types) for item in obj) + ) + + +def make_pyproject_path(setup_py_dir): + # type: (str) -> str + path = os.path.join(setup_py_dir, 'pyproject.toml') + + # Python2 __file__ should not be unicode + if six.PY2 and isinstance(path, six.text_type): + path = path.encode(sys.getfilesystemencoding()) + + return path + + +def load_pyproject_toml( + use_pep517, # type: Optional[bool] + pyproject_toml, # type: str + setup_py, # type: str + req_name # type: str +): + # type: (...) -> Optional[Tuple[List[str], str, List[str]]] + """Load the pyproject.toml file. + + Parameters: + use_pep517 - Has the user requested PEP 517 processing? None + means the user hasn't explicitly specified. + pyproject_toml - Location of the project's pyproject.toml file + setup_py - Location of the project's setup.py file + req_name - The name of the requirement we're processing (for + error reporting) + + Returns: + None if we should use the legacy code path, otherwise a tuple + ( + requirements from pyproject.toml, + name of PEP 517 backend, + requirements we should check are installed after setting + up the build environment + ) + """ + has_pyproject = os.path.isfile(pyproject_toml) + has_setup = os.path.isfile(setup_py) + + if has_pyproject: + with io.open(pyproject_toml, encoding="utf-8") as f: + pp_toml = pytoml.load(f) + build_system = pp_toml.get("build-system") + else: + build_system = None + + # The following cases must use PEP 517 + # We check for use_pep517 being non-None and falsey because that means + # the user explicitly requested --no-use-pep517. The value 0 as + # opposed to False can occur when the value is provided via an + # environment variable or config file option (due to the quirk of + # strtobool() returning an integer in pip's configuration code). + if has_pyproject and not has_setup: + if use_pep517 is not None and not use_pep517: + raise InstallationError( + "Disabling PEP 517 processing is invalid: " + "project does not have a setup.py" + ) + use_pep517 = True + elif build_system and "build-backend" in build_system: + if use_pep517 is not None and not use_pep517: + raise InstallationError( + "Disabling PEP 517 processing is invalid: " + "project specifies a build backend of {} " + "in pyproject.toml".format( + build_system["build-backend"] + ) + ) + use_pep517 = True + + # If we haven't worked out whether to use PEP 517 yet, + # and the user hasn't explicitly stated a preference, + # we do so if the project has a pyproject.toml file. + elif use_pep517 is None: + use_pep517 = has_pyproject + + # At this point, we know whether we're going to use PEP 517. + assert use_pep517 is not None + + # If we're using the legacy code path, there is nothing further + # for us to do here. + if not use_pep517: + return None + + if build_system is None: + # Either the user has a pyproject.toml with no build-system + # section, or the user has no pyproject.toml, but has opted in + # explicitly via --use-pep517. + # In the absence of any explicit backend specification, we + # assume the setuptools backend that most closely emulates the + # traditional direct setup.py execution, and require wheel and + # a version of setuptools that supports that backend. + + build_system = { + "requires": ["setuptools>=40.8.0", "wheel"], + "build-backend": "setuptools.build_meta:__legacy__", + } + + # If we're using PEP 517, we have build system information (either + # from pyproject.toml, or defaulted by the code above). + # Note that at this point, we do not know if the user has actually + # specified a backend, though. + assert build_system is not None + + # Ensure that the build-system section in pyproject.toml conforms + # to PEP 518. + error_template = ( + "{package} has a pyproject.toml file that does not comply " + "with PEP 518: {reason}" + ) + + # Specifying the build-system table but not the requires key is invalid + if "requires" not in build_system: + raise InstallationError( + error_template.format(package=req_name, reason=( + "it has a 'build-system' table but not " + "'build-system.requires' which is mandatory in the table" + )) + ) + + # Error out if requires is not a list of strings + requires = build_system["requires"] + if not _is_list_of_str(requires): + raise InstallationError(error_template.format( + package=req_name, + reason="'build-system.requires' is not a list of strings.", + )) + + backend = build_system.get("build-backend") + check = [] # type: List[str] + if backend is None: + # If the user didn't specify a backend, we assume they want to use + # the setuptools backend. But we can't be sure they have included + # a version of setuptools which supplies the backend, or wheel + # (which is needed by the backend) in their requirements. So we + # make a note to check that those requirements are present once + # we have set up the environment. + # This is quite a lot of work to check for a very specific case. But + # the problem is, that case is potentially quite common - projects that + # adopted PEP 518 early for the ability to specify requirements to + # execute setup.py, but never considered needing to mention the build + # tools themselves. The original PEP 518 code had a similar check (but + # implemented in a different way). + backend = "setuptools.build_meta:__legacy__" + check = ["setuptools>=40.8.0", "wheel"] + + return (requires, backend, check) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/__init__.py new file mode 100644 index 0000000000..5e4eb92f05 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/__init__.py @@ -0,0 +1,77 @@ +from __future__ import absolute_import + +import logging + +from .req_install import InstallRequirement +from .req_set import RequirementSet +from .req_file import parse_requirements +from pip._internal.utils.logging import indent_log +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Sequence # noqa: F401 + +__all__ = [ + "RequirementSet", "InstallRequirement", + "parse_requirements", "install_given_reqs", +] + +logger = logging.getLogger(__name__) + + +def install_given_reqs( + to_install, # type: List[InstallRequirement] + install_options, # type: List[str] + global_options=(), # type: Sequence[str] + *args, **kwargs +): + # type: (...) -> List[InstallRequirement] + """ + Install everything in the given list. + + (to be called after having downloaded and unpacked the packages) + """ + + if to_install: + logger.info( + 'Installing collected packages: %s', + ', '.join([req.name for req in to_install]), + ) + + with indent_log(): + for requirement in to_install: + if requirement.conflicts_with: + logger.info( + 'Found existing installation: %s', + requirement.conflicts_with, + ) + with indent_log(): + uninstalled_pathset = requirement.uninstall( + auto_confirm=True + ) + try: + requirement.install( + install_options, + global_options, + *args, + **kwargs + ) + except Exception: + should_rollback = ( + requirement.conflicts_with and + not requirement.install_succeeded + ) + # if install did not succeed, rollback previous uninstall + if should_rollback: + uninstalled_pathset.rollback() + raise + else: + should_commit = ( + requirement.conflicts_with and + requirement.install_succeeded + ) + if should_commit: + uninstalled_pathset.commit() + requirement.remove_temporary_source() + + return to_install diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/constructors.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/constructors.py new file mode 100644 index 0000000000..1eed1dd38d --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/constructors.py @@ -0,0 +1,339 @@ +"""Backing implementation for InstallRequirement's various constructors + +The idea here is that these formed a major chunk of InstallRequirement's size +so, moving them and support code dedicated to them outside of that class +helps creates for better understandability for the rest of the code. + +These are meant to be used elsewhere within pip to create instances of +InstallRequirement. +""" + +import logging +import os +import re + +from pip._vendor.packaging.markers import Marker +from pip._vendor.packaging.requirements import InvalidRequirement, Requirement +from pip._vendor.packaging.specifiers import Specifier +from pip._vendor.pkg_resources import RequirementParseError, parse_requirements + +from pip._internal.download import ( + is_archive_file, is_url, path_to_url, url_to_path, +) +from pip._internal.exceptions import InstallationError +from pip._internal.models.index import PyPI, TestPyPI +from pip._internal.models.link import Link +from pip._internal.pyproject import make_pyproject_path +from pip._internal.req.req_install import InstallRequirement +from pip._internal.utils.misc import is_installable_dir +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.vcs import vcs +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Set, Any, Union, Text, Dict, + ) + from pip._internal.cache import WheelCache # noqa: F401 + + +__all__ = [ + "install_req_from_editable", "install_req_from_line", + "parse_editable" +] + +logger = logging.getLogger(__name__) +operators = Specifier._operators.keys() + + +def _strip_extras(path): + # type: (str) -> Tuple[str, Optional[str]] + m = re.match(r'^(.+)(\[[^\]]+\])$', path) + extras = None + if m: + path_no_extras = m.group(1) + extras = m.group(2) + else: + path_no_extras = path + + return path_no_extras, extras + + +def parse_editable(editable_req): + # type: (str) -> Tuple[Optional[str], str, Optional[Set[str]]] + """Parses an editable requirement into: + - a requirement name + - an URL + - extras + - editable options + Accepted requirements: + svn+http://blahblah@rev#egg=Foobar[baz]&subdirectory=version_subdir + .[some_extra] + """ + + url = editable_req + + # If a file path is specified with extras, strip off the extras. + url_no_extras, extras = _strip_extras(url) + + if os.path.isdir(url_no_extras): + if not os.path.exists(os.path.join(url_no_extras, 'setup.py')): + msg = ( + 'File "setup.py" not found. Directory cannot be installed ' + 'in editable mode: {}'.format(os.path.abspath(url_no_extras)) + ) + pyproject_path = make_pyproject_path(url_no_extras) + if os.path.isfile(pyproject_path): + msg += ( + '\n(A "pyproject.toml" file was found, but editable ' + 'mode currently requires a setup.py based build.)' + ) + raise InstallationError(msg) + + # Treating it as code that has already been checked out + url_no_extras = path_to_url(url_no_extras) + + if url_no_extras.lower().startswith('file:'): + package_name = Link(url_no_extras).egg_fragment + if extras: + return ( + package_name, + url_no_extras, + Requirement("placeholder" + extras.lower()).extras, + ) + else: + return package_name, url_no_extras, None + + for version_control in vcs: + if url.lower().startswith('%s:' % version_control): + url = '%s+%s' % (version_control, url) + break + + if '+' not in url: + raise InstallationError( + '%s should either be a path to a local project or a VCS url ' + 'beginning with svn+, git+, hg+, or bzr+' % + editable_req + ) + + vc_type = url.split('+', 1)[0].lower() + + if not vcs.get_backend(vc_type): + error_message = 'For --editable=%s only ' % editable_req + \ + ', '.join([backend.name + '+URL' for backend in vcs.backends]) + \ + ' is currently supported' + raise InstallationError(error_message) + + package_name = Link(url).egg_fragment + if not package_name: + raise InstallationError( + "Could not detect requirement name for '%s', please specify one " + "with #egg=your_package_name" % editable_req + ) + return package_name, url, None + + +def deduce_helpful_msg(req): + # type: (str) -> str + """Returns helpful msg in case requirements file does not exist, + or cannot be parsed. + + :params req: Requirements file path + """ + msg = "" + if os.path.exists(req): + msg = " It does exist." + # Try to parse and check if it is a requirements file. + try: + with open(req, 'r') as fp: + # parse first line only + next(parse_requirements(fp.read())) + msg += " The argument you provided " + \ + "(%s) appears to be a" % (req) + \ + " requirements file. If that is the" + \ + " case, use the '-r' flag to install" + \ + " the packages specified within it." + except RequirementParseError: + logger.debug("Cannot parse '%s' as requirements \ + file" % (req), exc_info=True) + else: + msg += " File '%s' does not exist." % (req) + return msg + + +# ---- The actual constructors follow ---- + + +def install_req_from_editable( + editable_req, # type: str + comes_from=None, # type: Optional[str] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False # type: bool +): + # type: (...) -> InstallRequirement + name, url, extras_override = parse_editable(editable_req) + if url.startswith('file:'): + source_dir = url_to_path(url) + else: + source_dir = None + + if name is not None: + try: + req = Requirement(name) + except InvalidRequirement: + raise InstallationError("Invalid requirement: '%s'" % name) + else: + req = None + return InstallRequirement( + req, comes_from, source_dir=source_dir, + editable=True, + link=Link(url), + constraint=constraint, + use_pep517=use_pep517, + isolated=isolated, + options=options if options else {}, + wheel_cache=wheel_cache, + extras=extras_override or (), + ) + + +def install_req_from_line( + name, # type: str + comes_from=None, # type: Optional[Union[str, InstallRequirement]] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False # type: bool +): + # type: (...) -> InstallRequirement + """Creates an InstallRequirement from a name, which might be a + requirement, directory containing 'setup.py', filename, or URL. + """ + if is_url(name): + marker_sep = '; ' + else: + marker_sep = ';' + if marker_sep in name: + name, markers_as_string = name.split(marker_sep, 1) + markers_as_string = markers_as_string.strip() + if not markers_as_string: + markers = None + else: + markers = Marker(markers_as_string) + else: + markers = None + name = name.strip() + req_as_string = None + path = os.path.normpath(os.path.abspath(name)) + link = None + extras_as_string = None + + if is_url(name): + link = Link(name) + else: + p, extras_as_string = _strip_extras(path) + looks_like_dir = os.path.isdir(p) and ( + os.path.sep in name or + (os.path.altsep is not None and os.path.altsep in name) or + name.startswith('.') + ) + if looks_like_dir: + if not is_installable_dir(p): + raise InstallationError( + "Directory %r is not installable. Neither 'setup.py' " + "nor 'pyproject.toml' found." % name + ) + link = Link(path_to_url(p)) + elif is_archive_file(p): + if not os.path.isfile(p): + logger.warning( + 'Requirement %r looks like a filename, but the ' + 'file does not exist', + name + ) + link = Link(path_to_url(p)) + + # it's a local file, dir, or url + if link: + # Handle relative file URLs + if link.scheme == 'file' and re.search(r'\.\./', link.url): + link = Link( + path_to_url(os.path.normpath(os.path.abspath(link.path)))) + # wheel file + if link.is_wheel: + wheel = Wheel(link.filename) # can raise InvalidWheelFilename + req_as_string = "%s==%s" % (wheel.name, wheel.version) + else: + # set the req to the egg fragment. when it's not there, this + # will become an 'unnamed' requirement + req_as_string = link.egg_fragment + + # a requirement specifier + else: + req_as_string = name + + if extras_as_string: + extras = Requirement("placeholder" + extras_as_string.lower()).extras + else: + extras = () + if req_as_string is not None: + try: + req = Requirement(req_as_string) + except InvalidRequirement: + if os.path.sep in req_as_string: + add_msg = "It looks like a path." + add_msg += deduce_helpful_msg(req_as_string) + elif ('=' in req_as_string and + not any(op in req_as_string for op in operators)): + add_msg = "= is not a valid operator. Did you mean == ?" + else: + add_msg = "" + raise InstallationError( + "Invalid requirement: '%s'\n%s" % (req_as_string, add_msg) + ) + else: + req = None + + return InstallRequirement( + req, comes_from, link=link, markers=markers, + use_pep517=use_pep517, isolated=isolated, + options=options if options else {}, + wheel_cache=wheel_cache, + constraint=constraint, + extras=extras, + ) + + +def install_req_from_req_string( + req_string, # type: str + comes_from=None, # type: Optional[InstallRequirement] + isolated=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None # type: Optional[bool] +): + # type: (...) -> InstallRequirement + try: + req = Requirement(req_string) + except InvalidRequirement: + raise InstallationError("Invalid requirement: '%s'" % req) + + domains_not_allowed = [ + PyPI.file_storage_domain, + TestPyPI.file_storage_domain, + ] + if req.url and comes_from.link.netloc in domains_not_allowed: + # Explicitly disallow pypi packages that depend on external urls + raise InstallationError( + "Packages installed from PyPI cannot depend on packages " + "which are not also hosted on PyPI.\n" + "%s depends on %s " % (comes_from.name, req) + ) + + return InstallRequirement( + req, comes_from, isolated=isolated, wheel_cache=wheel_cache, + use_pep517=use_pep517 + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_file.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_file.py new file mode 100644 index 0000000000..726f2f6a03 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_file.py @@ -0,0 +1,382 @@ +""" +Requirements file parsing +""" + +from __future__ import absolute_import + +import optparse +import os +import re +import shlex +import sys + +from pip._vendor.six.moves import filterfalse +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.cli import cmdoptions +from pip._internal.download import get_file_content +from pip._internal.exceptions import RequirementsFileParseError +from pip._internal.req.constructors import ( + install_req_from_editable, install_req_from_line, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Iterator, Tuple, Optional, List, Callable, Text + ) + from pip._internal.req import InstallRequirement # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + ReqFileLines = Iterator[Tuple[int, Text]] + +__all__ = ['parse_requirements'] + +SCHEME_RE = re.compile(r'^(http|https|file):', re.I) +COMMENT_RE = re.compile(r'(^|\s)+#.*$') + +# Matches environment variable-style values in '${MY_VARIABLE_1}' with the +# variable name consisting of only uppercase letters, digits or the '_' +# (underscore). This follows the POSIX standard defined in IEEE Std 1003.1, +# 2013 Edition. +ENV_VAR_RE = re.compile(r'(?P\$\{(?P[A-Z0-9_]+)\})') + +SUPPORTED_OPTIONS = [ + cmdoptions.constraints, + cmdoptions.editable, + cmdoptions.requirements, + cmdoptions.no_index, + cmdoptions.index_url, + cmdoptions.find_links, + cmdoptions.extra_index_url, + cmdoptions.always_unzip, + cmdoptions.no_binary, + cmdoptions.only_binary, + cmdoptions.pre, + cmdoptions.trusted_host, + cmdoptions.require_hashes, +] # type: List[Callable[..., optparse.Option]] + +# options to be passed to requirements +SUPPORTED_OPTIONS_REQ = [ + cmdoptions.install_options, + cmdoptions.global_options, + cmdoptions.hash, +] # type: List[Callable[..., optparse.Option]] + +# the 'dest' string values +SUPPORTED_OPTIONS_REQ_DEST = [str(o().dest) for o in SUPPORTED_OPTIONS_REQ] + + +def parse_requirements( + filename, # type: str + finder=None, # type: Optional[PackageFinder] + comes_from=None, # type: Optional[str] + options=None, # type: Optional[optparse.Values] + session=None, # type: Optional[PipSession] + constraint=False, # type: bool + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None # type: Optional[bool] +): + # type: (...) -> Iterator[InstallRequirement] + """Parse a requirements file and yield InstallRequirement instances. + + :param filename: Path or url of requirements file. + :param finder: Instance of pip.index.PackageFinder. + :param comes_from: Origin description of requirements. + :param options: cli options. + :param session: Instance of pip.download.PipSession. + :param constraint: If true, parsing a constraint file rather than + requirements file. + :param wheel_cache: Instance of pip.wheel.WheelCache + :param use_pep517: Value of the --use-pep517 option. + """ + if session is None: + raise TypeError( + "parse_requirements() missing 1 required keyword argument: " + "'session'" + ) + + _, content = get_file_content( + filename, comes_from=comes_from, session=session + ) + + lines_enum = preprocess(content, options) + + for line_number, line in lines_enum: + req_iter = process_line(line, filename, line_number, finder, + comes_from, options, session, wheel_cache, + use_pep517=use_pep517, constraint=constraint) + for req in req_iter: + yield req + + +def preprocess(content, options): + # type: (Text, Optional[optparse.Values]) -> ReqFileLines + """Split, filter, and join lines, and return a line iterator + + :param content: the content of the requirements file + :param options: cli options + """ + lines_enum = enumerate(content.splitlines(), start=1) # type: ReqFileLines + lines_enum = join_lines(lines_enum) + lines_enum = ignore_comments(lines_enum) + lines_enum = skip_regex(lines_enum, options) + lines_enum = expand_env_variables(lines_enum) + return lines_enum + + +def process_line( + line, # type: Text + filename, # type: str + line_number, # type: int + finder=None, # type: Optional[PackageFinder] + comes_from=None, # type: Optional[str] + options=None, # type: Optional[optparse.Values] + session=None, # type: Optional[PipSession] + wheel_cache=None, # type: Optional[WheelCache] + use_pep517=None, # type: Optional[bool] + constraint=False # type: bool +): + # type: (...) -> Iterator[InstallRequirement] + """Process a single requirements line; This can result in creating/yielding + requirements, or updating the finder. + + For lines that contain requirements, the only options that have an effect + are from SUPPORTED_OPTIONS_REQ, and they are scoped to the + requirement. Other options from SUPPORTED_OPTIONS may be present, but are + ignored. + + For lines that do not contain requirements, the only options that have an + effect are from SUPPORTED_OPTIONS. Options from SUPPORTED_OPTIONS_REQ may + be present, but are ignored. These lines may contain multiple options + (although our docs imply only one is supported), and all our parsed and + affect the finder. + + :param constraint: If True, parsing a constraints file. + :param options: OptionParser options that we may update + """ + parser = build_parser(line) + defaults = parser.get_default_values() + defaults.index_url = None + if finder: + defaults.format_control = finder.format_control + args_str, options_str = break_args_options(line) + # Prior to 2.7.3, shlex cannot deal with unicode entries + if sys.version_info < (2, 7, 3): + # https://github.com/python/mypy/issues/1174 + options_str = options_str.encode('utf8') # type: ignore + # https://github.com/python/mypy/issues/1174 + opts, _ = parser.parse_args( + shlex.split(options_str), defaults) # type: ignore + + # preserve for the nested code path + line_comes_from = '%s %s (line %s)' % ( + '-c' if constraint else '-r', filename, line_number, + ) + + # yield a line requirement + if args_str: + isolated = options.isolated_mode if options else False + if options: + cmdoptions.check_install_build_global(options, opts) + # get the options that apply to requirements + req_options = {} + for dest in SUPPORTED_OPTIONS_REQ_DEST: + if dest in opts.__dict__ and opts.__dict__[dest]: + req_options[dest] = opts.__dict__[dest] + yield install_req_from_line( + args_str, line_comes_from, constraint=constraint, + use_pep517=use_pep517, + isolated=isolated, options=req_options, wheel_cache=wheel_cache + ) + + # yield an editable requirement + elif opts.editables: + isolated = options.isolated_mode if options else False + yield install_req_from_editable( + opts.editables[0], comes_from=line_comes_from, + use_pep517=use_pep517, + constraint=constraint, isolated=isolated, wheel_cache=wheel_cache + ) + + # parse a nested requirements file + elif opts.requirements or opts.constraints: + if opts.requirements: + req_path = opts.requirements[0] + nested_constraint = False + else: + req_path = opts.constraints[0] + nested_constraint = True + # original file is over http + if SCHEME_RE.search(filename): + # do a url join so relative paths work + req_path = urllib_parse.urljoin(filename, req_path) + # original file and nested file are paths + elif not SCHEME_RE.search(req_path): + # do a join so relative paths work + req_path = os.path.join(os.path.dirname(filename), req_path) + # TODO: Why not use `comes_from='-r {} (line {})'` here as well? + parsed_reqs = parse_requirements( + req_path, finder, comes_from, options, session, + constraint=nested_constraint, wheel_cache=wheel_cache + ) + for req in parsed_reqs: + yield req + + # percolate hash-checking option upward + elif opts.require_hashes: + options.require_hashes = opts.require_hashes + + # set finder options + elif finder: + if opts.index_url: + finder.index_urls = [opts.index_url] + if opts.no_index is True: + finder.index_urls = [] + if opts.extra_index_urls: + finder.index_urls.extend(opts.extra_index_urls) + if opts.find_links: + # FIXME: it would be nice to keep track of the source + # of the find_links: support a find-links local path + # relative to a requirements file. + value = opts.find_links[0] + req_dir = os.path.dirname(os.path.abspath(filename)) + relative_to_reqs_file = os.path.join(req_dir, value) + if os.path.exists(relative_to_reqs_file): + value = relative_to_reqs_file + finder.find_links.append(value) + if opts.pre: + finder.allow_all_prereleases = True + if opts.trusted_hosts: + finder.secure_origins.extend( + ("*", host, "*") for host in opts.trusted_hosts) + + +def break_args_options(line): + # type: (Text) -> Tuple[str, Text] + """Break up the line into an args and options string. We only want to shlex + (and then optparse) the options, not the args. args can contain markers + which are corrupted by shlex. + """ + tokens = line.split(' ') + args = [] + options = tokens[:] + for token in tokens: + if token.startswith('-') or token.startswith('--'): + break + else: + args.append(token) + options.pop(0) + return ' '.join(args), ' '.join(options) # type: ignore + + +def build_parser(line): + # type: (Text) -> optparse.OptionParser + """ + Return a parser for parsing requirement lines + """ + parser = optparse.OptionParser(add_help_option=False) + + option_factories = SUPPORTED_OPTIONS + SUPPORTED_OPTIONS_REQ + for option_factory in option_factories: + option = option_factory() + parser.add_option(option) + + # By default optparse sys.exits on parsing errors. We want to wrap + # that in our own exception. + def parser_exit(self, msg): + # add offending line + msg = 'Invalid requirement: %s\n%s' % (line, msg) + raise RequirementsFileParseError(msg) + # NOTE: mypy disallows assigning to a method + # https://github.com/python/mypy/issues/2427 + parser.exit = parser_exit # type: ignore + + return parser + + +def join_lines(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """Joins a line ending in '\' with the previous line (except when following + comments). The joined line takes on the index of the first line. + """ + primary_line_number = None + new_line = [] # type: List[Text] + for line_number, line in lines_enum: + if not line.endswith('\\') or COMMENT_RE.match(line): + if COMMENT_RE.match(line): + # this ensures comments are always matched later + line = ' ' + line + if new_line: + new_line.append(line) + yield primary_line_number, ''.join(new_line) + new_line = [] + else: + yield line_number, line + else: + if not new_line: + primary_line_number = line_number + new_line.append(line.strip('\\')) + + # last line contains \ + if new_line: + yield primary_line_number, ''.join(new_line) + + # TODO: handle space after '\'. + + +def ignore_comments(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """ + Strips comments and filter empty lines. + """ + for line_number, line in lines_enum: + line = COMMENT_RE.sub('', line) + line = line.strip() + if line: + yield line_number, line + + +def skip_regex(lines_enum, options): + # type: (ReqFileLines, Optional[optparse.Values]) -> ReqFileLines + """ + Skip lines that match '--skip-requirements-regex' pattern + + Note: the regex pattern is only built once + """ + skip_regex = options.skip_requirements_regex if options else None + if skip_regex: + pattern = re.compile(skip_regex) + lines_enum = filterfalse(lambda e: pattern.search(e[1]), lines_enum) + return lines_enum + + +def expand_env_variables(lines_enum): + # type: (ReqFileLines) -> ReqFileLines + """Replace all environment variables that can be retrieved via `os.getenv`. + + The only allowed format for environment variables defined in the + requirement file is `${MY_VARIABLE_1}` to ensure two things: + + 1. Strings that contain a `$` aren't accidentally (partially) expanded. + 2. Ensure consistency across platforms for requirement files. + + These points are the result of a discusssion on the `github pull + request #3514 `_. + + Valid characters in variable names follow the `POSIX standard + `_ and are limited + to uppercase letter, digits and the `_` (underscore). + """ + for line_number, line in lines_enum: + for env_var, var_name in ENV_VAR_RE.findall(line): + value = os.getenv(var_name) + if not value: + continue + + line = line.replace(env_var, value) + + yield line_number, line diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_install.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_install.py new file mode 100644 index 0000000000..a4834b00c6 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_install.py @@ -0,0 +1,1021 @@ +from __future__ import absolute_import + +import logging +import os +import shutil +import sys +import sysconfig +import zipfile +from distutils.util import change_root + +from pip._vendor import pkg_resources, six +from pip._vendor.packaging.requirements import Requirement +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.packaging.version import Version +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.pep517.wrappers import Pep517HookCaller + +from pip._internal import wheel +from pip._internal.build_env import NoOpBuildEnvironment +from pip._internal.exceptions import InstallationError +from pip._internal.locations import ( + PIP_DELETE_MARKER_FILENAME, running_under_virtualenv, +) +from pip._internal.models.link import Link +from pip._internal.pyproject import load_pyproject_toml, make_pyproject_path +from pip._internal.req.req_uninstall import UninstallPathSet +from pip._internal.utils.compat import native_str +from pip._internal.utils.hashes import Hashes +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + _make_build_dir, ask_path_exists, backup_dir, call_subprocess, + display_path, dist_in_site_packages, dist_in_usersite, ensure_dir, + get_installed_version, redact_password_from_url, rmtree, +) +from pip._internal.utils.packaging import get_metadata +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner +from pip._internal.vcs import vcs +from pip._internal.wheel import move_wheel_files + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Iterable, List, Union, Any, Text, Sequence, Dict + ) + from pip._internal.build_env import BuildEnvironment # noqa: F401 + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._vendor.pkg_resources import Distribution # noqa: F401 + from pip._vendor.packaging.specifiers import SpecifierSet # noqa: F401 + from pip._vendor.packaging.markers import Marker # noqa: F401 + + +logger = logging.getLogger(__name__) + + +class InstallRequirement(object): + """ + Represents something that may be installed later on, may have information + about where to fetch the relavant requirement and also contains logic for + installing the said requirement. + """ + + def __init__( + self, + req, # type: Optional[Requirement] + comes_from, # type: Optional[Union[str, InstallRequirement]] + source_dir=None, # type: Optional[str] + editable=False, # type: bool + link=None, # type: Optional[Link] + update=True, # type: bool + markers=None, # type: Optional[Marker] + use_pep517=None, # type: Optional[bool] + isolated=False, # type: bool + options=None, # type: Optional[Dict[str, Any]] + wheel_cache=None, # type: Optional[WheelCache] + constraint=False, # type: bool + extras=() # type: Iterable[str] + ): + # type: (...) -> None + assert req is None or isinstance(req, Requirement), req + self.req = req + self.comes_from = comes_from + self.constraint = constraint + if source_dir is not None: + self.source_dir = os.path.normpath(os.path.abspath(source_dir)) + else: + self.source_dir = None + self.editable = editable + + self._wheel_cache = wheel_cache + if link is None and req and req.url: + # PEP 508 URL requirement + link = Link(req.url) + self.link = self.original_link = link + + if extras: + self.extras = extras + elif req: + self.extras = { + pkg_resources.safe_extra(extra) for extra in req.extras + } + else: + self.extras = set() + if markers is None and req: + markers = req.marker + self.markers = markers + + self._egg_info_path = None # type: Optional[str] + # This holds the pkg_resources.Distribution object if this requirement + # is already available: + self.satisfied_by = None + # This hold the pkg_resources.Distribution object if this requirement + # conflicts with another installed distribution: + self.conflicts_with = None + # Temporary build location + self._temp_build_dir = TempDirectory(kind="req-build") + # Used to store the global directory where the _temp_build_dir should + # have been created. Cf _correct_build_location method. + self._ideal_build_dir = None # type: Optional[str] + # True if the editable should be updated: + self.update = update + # Set to True after successful installation + self.install_succeeded = None # type: Optional[bool] + # UninstallPathSet of uninstalled distribution (for possible rollback) + self.uninstalled_pathset = None + self.options = options if options else {} + # Set to True after successful preparation of this requirement + self.prepared = False + self.is_direct = False + + self.isolated = isolated + self.build_env = NoOpBuildEnvironment() # type: BuildEnvironment + + # For PEP 517, the directory where we request the project metadata + # gets stored. We need this to pass to build_wheel, so the backend + # can ensure that the wheel matches the metadata (see the PEP for + # details). + self.metadata_directory = None # type: Optional[str] + + # The static build requirements (from pyproject.toml) + self.pyproject_requires = None # type: Optional[List[str]] + + # Build requirements that we will check are available + self.requirements_to_check = [] # type: List[str] + + # The PEP 517 backend we should use to build the project + self.pep517_backend = None # type: Optional[Pep517HookCaller] + + # Are we using PEP 517 for this requirement? + # After pyproject.toml has been loaded, the only valid values are True + # and False. Before loading, None is valid (meaning "use the default"). + # Setting an explicit value before loading pyproject.toml is supported, + # but after loading this flag should be treated as read only. + self.use_pep517 = use_pep517 + + def __str__(self): + if self.req: + s = str(self.req) + if self.link: + s += ' from %s' % redact_password_from_url(self.link.url) + elif self.link: + s = redact_password_from_url(self.link.url) + else: + s = '' + if self.satisfied_by is not None: + s += ' in %s' % display_path(self.satisfied_by.location) + if self.comes_from: + if isinstance(self.comes_from, six.string_types): + comes_from = self.comes_from + else: + comes_from = self.comes_from.from_path() + if comes_from: + s += ' (from %s)' % comes_from + return s + + def __repr__(self): + return '<%s object: %s editable=%r>' % ( + self.__class__.__name__, str(self), self.editable) + + def populate_link(self, finder, upgrade, require_hashes): + # type: (PackageFinder, bool, bool) -> None + """Ensure that if a link can be found for this, that it is found. + + Note that self.link may still be None - if Upgrade is False and the + requirement is already installed. + + If require_hashes is True, don't use the wheel cache, because cached + wheels, always built locally, have different hashes than the files + downloaded from the index server and thus throw false hash mismatches. + Furthermore, cached wheels at present have undeterministic contents due + to file modification times. + """ + if self.link is None: + self.link = finder.find_requirement(self, upgrade) + if self._wheel_cache is not None and not require_hashes: + old_link = self.link + self.link = self._wheel_cache.get(self.link, self.name) + if old_link != self.link: + logger.debug('Using cached wheel link: %s', self.link) + + # Things that are valid for all kinds of requirements? + @property + def name(self): + # type: () -> Optional[str] + if self.req is None: + return None + return native_str(pkg_resources.safe_name(self.req.name)) + + @property + def specifier(self): + # type: () -> SpecifierSet + return self.req.specifier + + @property + def is_pinned(self): + # type: () -> bool + """Return whether I am pinned to an exact version. + + For example, some-package==1.2 is pinned; some-package>1.2 is not. + """ + specifiers = self.specifier + return (len(specifiers) == 1 and + next(iter(specifiers)).operator in {'==', '==='}) + + @property + def installed_version(self): + return get_installed_version(self.name) + + def match_markers(self, extras_requested=None): + # type: (Optional[Iterable[str]]) -> bool + if not extras_requested: + # Provide an extra to safely evaluate the markers + # without matching any extra + extras_requested = ('',) + if self.markers is not None: + return any( + self.markers.evaluate({'extra': extra}) + for extra in extras_requested) + else: + return True + + @property + def has_hash_options(self): + # type: () -> bool + """Return whether any known-good hashes are specified as options. + + These activate --require-hashes mode; hashes specified as part of a + URL do not. + + """ + return bool(self.options.get('hashes', {})) + + def hashes(self, trust_internet=True): + # type: (bool) -> Hashes + """Return a hash-comparer that considers my option- and URL-based + hashes to be known-good. + + Hashes in URLs--ones embedded in the requirements file, not ones + downloaded from an index server--are almost peers with ones from + flags. They satisfy --require-hashes (whether it was implicitly or + explicitly activated) but do not activate it. md5 and sha224 are not + allowed in flags, which should nudge people toward good algos. We + always OR all hashes together, even ones from URLs. + + :param trust_internet: Whether to trust URL-based (#md5=...) hashes + downloaded from the internet, as by populate_link() + + """ + good_hashes = self.options.get('hashes', {}).copy() + link = self.link if trust_internet else self.original_link + if link and link.hash: + good_hashes.setdefault(link.hash_name, []).append(link.hash) + return Hashes(good_hashes) + + def from_path(self): + # type: () -> Optional[str] + """Format a nice indicator to show where this "comes from" + """ + if self.req is None: + return None + s = str(self.req) + if self.comes_from: + if isinstance(self.comes_from, six.string_types): + comes_from = self.comes_from + else: + comes_from = self.comes_from.from_path() + if comes_from: + s += '->' + comes_from + return s + + def build_location(self, build_dir): + # type: (str) -> Optional[str] + assert build_dir is not None + if self._temp_build_dir.path is not None: + return self._temp_build_dir.path + if self.req is None: + # for requirement via a path to a directory: the name of the + # package is not available yet so we create a temp directory + # Once run_egg_info will have run, we'll be able + # to fix it via _correct_build_location + # Some systems have /tmp as a symlink which confuses custom + # builds (such as numpy). Thus, we ensure that the real path + # is returned. + self._temp_build_dir.create() + self._ideal_build_dir = build_dir + + return self._temp_build_dir.path + if self.editable: + name = self.name.lower() + else: + name = self.name + # FIXME: Is there a better place to create the build_dir? (hg and bzr + # need this) + if not os.path.exists(build_dir): + logger.debug('Creating directory %s', build_dir) + _make_build_dir(build_dir) + return os.path.join(build_dir, name) + + def _correct_build_location(self): + # type: () -> None + """Move self._temp_build_dir to self._ideal_build_dir/self.req.name + + For some requirements (e.g. a path to a directory), the name of the + package is not available until we run egg_info, so the build_location + will return a temporary directory and store the _ideal_build_dir. + + This is only called by self.run_egg_info to fix the temporary build + directory. + """ + if self.source_dir is not None: + return + assert self.req is not None + assert self._temp_build_dir.path + assert (self._ideal_build_dir is not None and + self._ideal_build_dir.path) # type: ignore + old_location = self._temp_build_dir.path + self._temp_build_dir.path = None + + new_location = self.build_location(self._ideal_build_dir) + if os.path.exists(new_location): + raise InstallationError( + 'A package already exists in %s; please remove it to continue' + % display_path(new_location)) + logger.debug( + 'Moving package %s from %s to new location %s', + self, display_path(old_location), display_path(new_location), + ) + shutil.move(old_location, new_location) + self._temp_build_dir.path = new_location + self._ideal_build_dir = None + self.source_dir = os.path.normpath(os.path.abspath(new_location)) + self._egg_info_path = None + + # Correct the metadata directory, if it exists + if self.metadata_directory: + old_meta = self.metadata_directory + rel = os.path.relpath(old_meta, start=old_location) + new_meta = os.path.join(new_location, rel) + new_meta = os.path.normpath(os.path.abspath(new_meta)) + self.metadata_directory = new_meta + + def remove_temporary_source(self): + # type: () -> None + """Remove the source files from this requirement, if they are marked + for deletion""" + if self.source_dir and os.path.exists( + os.path.join(self.source_dir, PIP_DELETE_MARKER_FILENAME)): + logger.debug('Removing source in %s', self.source_dir) + rmtree(self.source_dir) + self.source_dir = None + self._temp_build_dir.cleanup() + self.build_env.cleanup() + + def check_if_exists(self, use_user_site): + # type: (bool) -> bool + """Find an installed distribution that satisfies or conflicts + with this requirement, and set self.satisfied_by or + self.conflicts_with appropriately. + """ + if self.req is None: + return False + try: + # get_distribution() will resolve the entire list of requirements + # anyway, and we've already determined that we need the requirement + # in question, so strip the marker so that we don't try to + # evaluate it. + no_marker = Requirement(str(self.req)) + no_marker.marker = None + self.satisfied_by = pkg_resources.get_distribution(str(no_marker)) + if self.editable and self.satisfied_by: + self.conflicts_with = self.satisfied_by + # when installing editables, nothing pre-existing should ever + # satisfy + self.satisfied_by = None + return True + except pkg_resources.DistributionNotFound: + return False + except pkg_resources.VersionConflict: + existing_dist = pkg_resources.get_distribution( + self.req.name + ) + if use_user_site: + if dist_in_usersite(existing_dist): + self.conflicts_with = existing_dist + elif (running_under_virtualenv() and + dist_in_site_packages(existing_dist)): + raise InstallationError( + "Will not install to the user site because it will " + "lack sys.path precedence to %s in %s" % + (existing_dist.project_name, existing_dist.location) + ) + else: + self.conflicts_with = existing_dist + return True + + # Things valid for wheels + @property + def is_wheel(self): + # type: () -> bool + if not self.link: + return False + return self.link.is_wheel + + def move_wheel_files( + self, + wheeldir, # type: str + root=None, # type: Optional[str] + home=None, # type: Optional[str] + prefix=None, # type: Optional[str] + warn_script_location=True, # type: bool + use_user_site=False, # type: bool + pycompile=True # type: bool + ): + # type: (...) -> None + move_wheel_files( + self.name, self.req, wheeldir, + user=use_user_site, + home=home, + root=root, + prefix=prefix, + pycompile=pycompile, + isolated=self.isolated, + warn_script_location=warn_script_location, + ) + + # Things valid for sdists + @property + def setup_py_dir(self): + # type: () -> str + return os.path.join( + self.source_dir, + self.link and self.link.subdirectory_fragment or '') + + @property + def setup_py(self): + # type: () -> str + assert self.source_dir, "No source dir for %s" % self + + setup_py = os.path.join(self.setup_py_dir, 'setup.py') + + # Python2 __file__ should not be unicode + if six.PY2 and isinstance(setup_py, six.text_type): + setup_py = setup_py.encode(sys.getfilesystemencoding()) + + return setup_py + + @property + def pyproject_toml(self): + # type: () -> str + assert self.source_dir, "No source dir for %s" % self + + return make_pyproject_path(self.setup_py_dir) + + def load_pyproject_toml(self): + # type: () -> None + """Load the pyproject.toml file. + + After calling this routine, all of the attributes related to PEP 517 + processing for this requirement have been set. In particular, the + use_pep517 attribute can be used to determine whether we should + follow the PEP 517 or legacy (setup.py) code path. + """ + pep517_data = load_pyproject_toml( + self.use_pep517, + self.pyproject_toml, + self.setup_py, + str(self) + ) + + if pep517_data is None: + self.use_pep517 = False + else: + self.use_pep517 = True + requires, backend, check = pep517_data + self.requirements_to_check = check + self.pyproject_requires = requires + self.pep517_backend = Pep517HookCaller(self.setup_py_dir, backend) + + # Use a custom function to call subprocesses + self.spin_message = "" + + def runner(cmd, cwd=None, extra_environ=None): + with open_spinner(self.spin_message) as spinner: + call_subprocess( + cmd, + cwd=cwd, + extra_environ=extra_environ, + show_stdout=False, + spinner=spinner + ) + self.spin_message = "" + + self.pep517_backend._subprocess_runner = runner + + def prepare_metadata(self): + # type: () -> None + """Ensure that project metadata is available. + + Under PEP 517, call the backend hook to prepare the metadata. + Under legacy processing, call setup.py egg-info. + """ + assert self.source_dir + + with indent_log(): + if self.use_pep517: + self.prepare_pep517_metadata() + else: + self.run_egg_info() + + if not self.req: + if isinstance(parse_version(self.metadata["Version"]), Version): + op = "==" + else: + op = "===" + self.req = Requirement( + "".join([ + self.metadata["Name"], + op, + self.metadata["Version"], + ]) + ) + self._correct_build_location() + else: + metadata_name = canonicalize_name(self.metadata["Name"]) + if canonicalize_name(self.req.name) != metadata_name: + logger.warning( + 'Generating metadata for package %s ' + 'produced metadata for project name %s. Fix your ' + '#egg=%s fragments.', + self.name, metadata_name, self.name + ) + self.req = Requirement(metadata_name) + + def prepare_pep517_metadata(self): + # type: () -> None + assert self.pep517_backend is not None + + metadata_dir = os.path.join( + self.setup_py_dir, + 'pip-wheel-metadata' + ) + ensure_dir(metadata_dir) + + with self.build_env: + # Note that Pep517HookCaller implements a fallback for + # prepare_metadata_for_build_wheel, so we don't have to + # consider the possibility that this hook doesn't exist. + backend = self.pep517_backend + self.spin_message = "Preparing wheel metadata" + distinfo_dir = backend.prepare_metadata_for_build_wheel( + metadata_dir + ) + + self.metadata_directory = os.path.join(metadata_dir, distinfo_dir) + + def run_egg_info(self): + # type: () -> None + if self.name: + logger.debug( + 'Running setup.py (path:%s) egg_info for package %s', + self.setup_py, self.name, + ) + else: + logger.debug( + 'Running setup.py (path:%s) egg_info for package from %s', + self.setup_py, self.link, + ) + script = SETUPTOOLS_SHIM % self.setup_py + base_cmd = [sys.executable, '-c', script] + if self.isolated: + base_cmd += ["--no-user-cfg"] + egg_info_cmd = base_cmd + ['egg_info'] + # We can't put the .egg-info files at the root, because then the + # source code will be mistaken for an installed egg, causing + # problems + if self.editable: + egg_base_option = [] # type: List[str] + else: + egg_info_dir = os.path.join(self.setup_py_dir, 'pip-egg-info') + ensure_dir(egg_info_dir) + egg_base_option = ['--egg-base', 'pip-egg-info'] + with self.build_env: + call_subprocess( + egg_info_cmd + egg_base_option, + cwd=self.setup_py_dir, + show_stdout=False, + command_desc='python setup.py egg_info') + + @property + def egg_info_path(self): + # type: () -> str + if self._egg_info_path is None: + if self.editable: + base = self.source_dir + else: + base = os.path.join(self.setup_py_dir, 'pip-egg-info') + filenames = os.listdir(base) + if self.editable: + filenames = [] + for root, dirs, files in os.walk(base): + for dir in vcs.dirnames: + if dir in dirs: + dirs.remove(dir) + # Iterate over a copy of ``dirs``, since mutating + # a list while iterating over it can cause trouble. + # (See https://github.com/pypa/pip/pull/462.) + for dir in list(dirs): + # Don't search in anything that looks like a virtualenv + # environment + if ( + os.path.lexists( + os.path.join(root, dir, 'bin', 'python') + ) or + os.path.exists( + os.path.join( + root, dir, 'Scripts', 'Python.exe' + ) + )): + dirs.remove(dir) + # Also don't search through tests + elif dir == 'test' or dir == 'tests': + dirs.remove(dir) + filenames.extend([os.path.join(root, dir) + for dir in dirs]) + filenames = [f for f in filenames if f.endswith('.egg-info')] + + if not filenames: + raise InstallationError( + "Files/directories not found in %s" % base + ) + # if we have more than one match, we pick the toplevel one. This + # can easily be the case if there is a dist folder which contains + # an extracted tarball for testing purposes. + if len(filenames) > 1: + filenames.sort( + key=lambda x: x.count(os.path.sep) + + (os.path.altsep and x.count(os.path.altsep) or 0) + ) + self._egg_info_path = os.path.join(base, filenames[0]) + return self._egg_info_path + + @property + def metadata(self): + if not hasattr(self, '_metadata'): + self._metadata = get_metadata(self.get_dist()) + + return self._metadata + + def get_dist(self): + # type: () -> Distribution + """Return a pkg_resources.Distribution for this requirement""" + if self.metadata_directory: + base_dir, distinfo = os.path.split(self.metadata_directory) + metadata = pkg_resources.PathMetadata( + base_dir, self.metadata_directory + ) + dist_name = os.path.splitext(distinfo)[0] + typ = pkg_resources.DistInfoDistribution + else: + egg_info = self.egg_info_path.rstrip(os.path.sep) + base_dir = os.path.dirname(egg_info) + metadata = pkg_resources.PathMetadata(base_dir, egg_info) + dist_name = os.path.splitext(os.path.basename(egg_info))[0] + # https://github.com/python/mypy/issues/1174 + typ = pkg_resources.Distribution # type: ignore + + return typ( + base_dir, + project_name=dist_name, + metadata=metadata, + ) + + def assert_source_matches_version(self): + # type: () -> None + assert self.source_dir + version = self.metadata['version'] + if self.req.specifier and version not in self.req.specifier: + logger.warning( + 'Requested %s, but installing version %s', + self, + version, + ) + else: + logger.debug( + 'Source in %s has version %s, which satisfies requirement %s', + display_path(self.source_dir), + version, + self, + ) + + # For both source distributions and editables + def ensure_has_source_dir(self, parent_dir): + # type: (str) -> str + """Ensure that a source_dir is set. + + This will create a temporary build dir if the name of the requirement + isn't known yet. + + :param parent_dir: The ideal pip parent_dir for the source_dir. + Generally src_dir for editables and build_dir for sdists. + :return: self.source_dir + """ + if self.source_dir is None: + self.source_dir = self.build_location(parent_dir) + return self.source_dir + + # For editable installations + def install_editable( + self, + install_options, # type: List[str] + global_options=(), # type: Sequence[str] + prefix=None # type: Optional[str] + ): + # type: (...) -> None + logger.info('Running setup.py develop for %s', self.name) + + if self.isolated: + global_options = list(global_options) + ["--no-user-cfg"] + + if prefix: + prefix_param = ['--prefix={}'.format(prefix)] + install_options = list(install_options) + prefix_param + + with indent_log(): + # FIXME: should we do --install-headers here too? + with self.build_env: + call_subprocess( + [ + sys.executable, + '-c', + SETUPTOOLS_SHIM % self.setup_py + ] + + list(global_options) + + ['develop', '--no-deps'] + + list(install_options), + + cwd=self.setup_py_dir, + show_stdout=False, + ) + + self.install_succeeded = True + + def update_editable(self, obtain=True): + # type: (bool) -> None + if not self.link: + logger.debug( + "Cannot update repository at %s; repository location is " + "unknown", + self.source_dir, + ) + return + assert self.editable + assert self.source_dir + if self.link.scheme == 'file': + # Static paths don't get updated + return + assert '+' in self.link.url, "bad url: %r" % self.link.url + if not self.update: + return + vc_type, url = self.link.url.split('+', 1) + backend = vcs.get_backend(vc_type) + if backend: + vcs_backend = backend(self.link.url) + if obtain: + vcs_backend.obtain(self.source_dir) + else: + vcs_backend.export(self.source_dir) + else: + assert 0, ( + 'Unexpected version control type (in %s): %s' + % (self.link, vc_type)) + + # Top-level Actions + def uninstall(self, auto_confirm=False, verbose=False, + use_user_site=False): + # type: (bool, bool, bool) -> Optional[UninstallPathSet] + """ + Uninstall the distribution currently satisfying this requirement. + + Prompts before removing or modifying files unless + ``auto_confirm`` is True. + + Refuses to delete or modify files outside of ``sys.prefix`` - + thus uninstallation within a virtual environment can only + modify that virtual environment, even if the virtualenv is + linked to global site-packages. + + """ + if not self.check_if_exists(use_user_site): + logger.warning("Skipping %s as it is not installed.", self.name) + return None + dist = self.satisfied_by or self.conflicts_with + + uninstalled_pathset = UninstallPathSet.from_dist(dist) + uninstalled_pathset.remove(auto_confirm, verbose) + return uninstalled_pathset + + def _clean_zip_name(self, name, prefix): # only used by archive. + assert name.startswith(prefix + os.path.sep), ( + "name %r doesn't start with prefix %r" % (name, prefix) + ) + name = name[len(prefix) + 1:] + name = name.replace(os.path.sep, '/') + return name + + def _get_archive_name(self, path, parentdir, rootdir): + # type: (str, str, str) -> str + path = os.path.join(parentdir, path) + name = self._clean_zip_name(path, rootdir) + return self.name + '/' + name + + # TODO: Investigate if this should be kept in InstallRequirement + # Seems to be used only when VCS + downloads + def archive(self, build_dir): + # type: (str) -> None + assert self.source_dir + create_archive = True + archive_name = '%s-%s.zip' % (self.name, self.metadata["version"]) + archive_path = os.path.join(build_dir, archive_name) + if os.path.exists(archive_path): + response = ask_path_exists( + 'The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)bort ' % + display_path(archive_path), ('i', 'w', 'b', 'a')) + if response == 'i': + create_archive = False + elif response == 'w': + logger.warning('Deleting %s', display_path(archive_path)) + os.remove(archive_path) + elif response == 'b': + dest_file = backup_dir(archive_path) + logger.warning( + 'Backing up %s to %s', + display_path(archive_path), + display_path(dest_file), + ) + shutil.move(archive_path, dest_file) + elif response == 'a': + sys.exit(-1) + if create_archive: + zip = zipfile.ZipFile( + archive_path, 'w', zipfile.ZIP_DEFLATED, + allowZip64=True + ) + dir = os.path.normcase(os.path.abspath(self.setup_py_dir)) + for dirpath, dirnames, filenames in os.walk(dir): + if 'pip-egg-info' in dirnames: + dirnames.remove('pip-egg-info') + for dirname in dirnames: + dir_arcname = self._get_archive_name(dirname, + parentdir=dirpath, + rootdir=dir) + zipdir = zipfile.ZipInfo(dir_arcname + '/') + zipdir.external_attr = 0x1ED << 16 # 0o755 + zip.writestr(zipdir, '') + for filename in filenames: + if filename == PIP_DELETE_MARKER_FILENAME: + continue + file_arcname = self._get_archive_name(filename, + parentdir=dirpath, + rootdir=dir) + filename = os.path.join(dirpath, filename) + zip.write(filename, file_arcname) + zip.close() + logger.info('Saved %s', display_path(archive_path)) + + def install( + self, + install_options, # type: List[str] + global_options=None, # type: Optional[Sequence[str]] + root=None, # type: Optional[str] + home=None, # type: Optional[str] + prefix=None, # type: Optional[str] + warn_script_location=True, # type: bool + use_user_site=False, # type: bool + pycompile=True # type: bool + ): + # type: (...) -> None + global_options = global_options if global_options is not None else [] + if self.editable: + self.install_editable( + install_options, global_options, prefix=prefix, + ) + return + if self.is_wheel: + version = wheel.wheel_version(self.source_dir) + wheel.check_compatibility(version, self.name) + + self.move_wheel_files( + self.source_dir, root=root, prefix=prefix, home=home, + warn_script_location=warn_script_location, + use_user_site=use_user_site, pycompile=pycompile, + ) + self.install_succeeded = True + return + + # Extend the list of global and install options passed on to + # the setup.py call with the ones from the requirements file. + # Options specified in requirements file override those + # specified on the command line, since the last option given + # to setup.py is the one that is used. + global_options = list(global_options) + \ + self.options.get('global_options', []) + install_options = list(install_options) + \ + self.options.get('install_options', []) + + if self.isolated: + # https://github.com/python/mypy/issues/1174 + global_options = global_options + ["--no-user-cfg"] # type: ignore + + with TempDirectory(kind="record") as temp_dir: + record_filename = os.path.join(temp_dir.path, 'install-record.txt') + install_args = self.get_install_args( + global_options, record_filename, root, prefix, pycompile, + ) + msg = 'Running setup.py install for %s' % (self.name,) + with open_spinner(msg) as spinner: + with indent_log(): + with self.build_env: + call_subprocess( + install_args + install_options, + cwd=self.setup_py_dir, + show_stdout=False, + spinner=spinner, + ) + + if not os.path.exists(record_filename): + logger.debug('Record file %s not found', record_filename) + return + self.install_succeeded = True + + def prepend_root(path): + if root is None or not os.path.isabs(path): + return path + else: + return change_root(root, path) + + with open(record_filename) as f: + for line in f: + directory = os.path.dirname(line) + if directory.endswith('.egg-info'): + egg_info_dir = prepend_root(directory) + break + else: + logger.warning( + 'Could not find .egg-info directory in install record' + ' for %s', + self, + ) + # FIXME: put the record somewhere + # FIXME: should this be an error? + return + new_lines = [] + with open(record_filename) as f: + for line in f: + filename = line.strip() + if os.path.isdir(filename): + filename += os.path.sep + new_lines.append( + os.path.relpath(prepend_root(filename), egg_info_dir) + ) + new_lines.sort() + ensure_dir(egg_info_dir) + inst_files_path = os.path.join(egg_info_dir, 'installed-files.txt') + with open(inst_files_path, 'w') as f: + f.write('\n'.join(new_lines) + '\n') + + def get_install_args( + self, + global_options, # type: Sequence[str] + record_filename, # type: str + root, # type: Optional[str] + prefix, # type: Optional[str] + pycompile # type: bool + ): + # type: (...) -> List[str] + install_args = [sys.executable, "-u"] + install_args.append('-c') + install_args.append(SETUPTOOLS_SHIM % self.setup_py) + install_args += list(global_options) + \ + ['install', '--record', record_filename] + install_args += ['--single-version-externally-managed'] + + if root is not None: + install_args += ['--root', root] + if prefix is not None: + install_args += ['--prefix', prefix] + + if pycompile: + install_args += ["--compile"] + else: + install_args += ["--no-compile"] + + if running_under_virtualenv(): + py_ver_str = 'python' + sysconfig.get_python_version() + install_args += ['--install-headers', + os.path.join(sys.prefix, 'include', 'site', + py_ver_str, self.name)] + + return install_args diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_set.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_set.py new file mode 100644 index 0000000000..d1410e9351 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_set.py @@ -0,0 +1,197 @@ +from __future__ import absolute_import + +import logging +from collections import OrderedDict + +from pip._internal.exceptions import InstallationError +from pip._internal.utils.logging import indent_log +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.wheel import Wheel + +if MYPY_CHECK_RUNNING: + from typing import Optional, List, Tuple, Dict, Iterable # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + + +logger = logging.getLogger(__name__) + + +class RequirementSet(object): + + def __init__(self, require_hashes=False, check_supported_wheels=True): + # type: (bool, bool) -> None + """Create a RequirementSet. + """ + + self.requirements = OrderedDict() # type: Dict[str, InstallRequirement] # noqa: E501 + self.require_hashes = require_hashes + self.check_supported_wheels = check_supported_wheels + + # Mapping of alias: real_name + self.requirement_aliases = {} # type: Dict[str, str] + self.unnamed_requirements = [] # type: List[InstallRequirement] + self.successfully_downloaded = [] # type: List[InstallRequirement] + self.reqs_to_cleanup = [] # type: List[InstallRequirement] + + def __str__(self): + reqs = [req for req in self.requirements.values() + if not req.comes_from] + reqs.sort(key=lambda req: req.name.lower()) + return ' '.join([str(req.req) for req in reqs]) + + def __repr__(self): + reqs = [req for req in self.requirements.values()] + reqs.sort(key=lambda req: req.name.lower()) + reqs_str = ', '.join([str(req.req) for req in reqs]) + return ('<%s object; %d requirement(s): %s>' + % (self.__class__.__name__, len(reqs), reqs_str)) + + def add_requirement( + self, + install_req, # type: InstallRequirement + parent_req_name=None, # type: Optional[str] + extras_requested=None # type: Optional[Iterable[str]] + ): + # type: (...) -> Tuple[List[InstallRequirement], Optional[InstallRequirement]] # noqa: E501 + """Add install_req as a requirement to install. + + :param parent_req_name: The name of the requirement that needed this + added. The name is used because when multiple unnamed requirements + resolve to the same name, we could otherwise end up with dependency + links that point outside the Requirements set. parent_req must + already be added. Note that None implies that this is a user + supplied requirement, vs an inferred one. + :param extras_requested: an iterable of extras used to evaluate the + environment markers. + :return: Additional requirements to scan. That is either [] if + the requirement is not applicable, or [install_req] if the + requirement is applicable and has just been added. + """ + name = install_req.name + + # If the markers do not match, ignore this requirement. + if not install_req.match_markers(extras_requested): + logger.info( + "Ignoring %s: markers '%s' don't match your environment", + name, install_req.markers, + ) + return [], None + + # If the wheel is not supported, raise an error. + # Should check this after filtering out based on environment markers to + # allow specifying different wheels based on the environment/OS, in a + # single requirements file. + if install_req.link and install_req.link.is_wheel: + wheel = Wheel(install_req.link.filename) + if self.check_supported_wheels and not wheel.supported(): + raise InstallationError( + "%s is not a supported wheel on this platform." % + wheel.filename + ) + + # This next bit is really a sanity check. + assert install_req.is_direct == (parent_req_name is None), ( + "a direct req shouldn't have a parent and also, " + "a non direct req should have a parent" + ) + + # Unnamed requirements are scanned again and the requirement won't be + # added as a dependency until after scanning. + if not name: + # url or path requirement w/o an egg fragment + self.unnamed_requirements.append(install_req) + return [install_req], None + + try: + existing_req = self.get_requirement(name) + except KeyError: + existing_req = None + + has_conflicting_requirement = ( + parent_req_name is None and + existing_req and + not existing_req.constraint and + existing_req.extras == install_req.extras and + existing_req.req.specifier != install_req.req.specifier + ) + if has_conflicting_requirement: + raise InstallationError( + "Double requirement given: %s (already in %s, name=%r)" + % (install_req, existing_req, name) + ) + + # When no existing requirement exists, add the requirement as a + # dependency and it will be scanned again after. + if not existing_req: + self.requirements[name] = install_req + # FIXME: what about other normalizations? E.g., _ vs. -? + if name.lower() != name: + self.requirement_aliases[name.lower()] = name + # We'd want to rescan this requirements later + return [install_req], install_req + + # Assume there's no need to scan, and that we've already + # encountered this for scanning. + if install_req.constraint or not existing_req.constraint: + return [], existing_req + + does_not_satisfy_constraint = ( + install_req.link and + not ( + existing_req.link and + install_req.link.path == existing_req.link.path + ) + ) + if does_not_satisfy_constraint: + self.reqs_to_cleanup.append(install_req) + raise InstallationError( + "Could not satisfy constraints for '%s': " + "installation from path or url cannot be " + "constrained to a version" % name, + ) + # If we're now installing a constraint, mark the existing + # object for real installation. + existing_req.constraint = False + existing_req.extras = tuple(sorted( + set(existing_req.extras) | set(install_req.extras) + )) + logger.debug( + "Setting %s extras to: %s", + existing_req, existing_req.extras, + ) + # Return the existing requirement for addition to the parent and + # scanning again. + return [existing_req], existing_req + + def has_requirement(self, project_name): + # type: (str) -> bool + name = project_name.lower() + if (name in self.requirements and + not self.requirements[name].constraint or + name in self.requirement_aliases and + not self.requirements[self.requirement_aliases[name]].constraint): + return True + return False + + @property + def has_requirements(self): + # type: () -> List[InstallRequirement] + return list(req for req in self.requirements.values() if not + req.constraint) or self.unnamed_requirements + + def get_requirement(self, project_name): + # type: (str) -> InstallRequirement + for name in project_name, project_name.lower(): + if name in self.requirements: + return self.requirements[name] + if name in self.requirement_aliases: + return self.requirements[self.requirement_aliases[name]] + raise KeyError("No project with the name %r" % project_name) + + def cleanup_files(self): + # type: () -> None + """Clean up files, remove builds.""" + logger.debug('Cleaning up...') + with indent_log(): + for req in self.reqs_to_cleanup: + req.remove_temporary_source() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_tracker.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_tracker.py new file mode 100644 index 0000000000..82e084a4ce --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_tracker.py @@ -0,0 +1,88 @@ +from __future__ import absolute_import + +import contextlib +import errno +import hashlib +import logging +import os + +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Set, Iterator # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + +logger = logging.getLogger(__name__) + + +class RequirementTracker(object): + + def __init__(self): + # type: () -> None + self._root = os.environ.get('PIP_REQ_TRACKER') + if self._root is None: + self._temp_dir = TempDirectory(delete=False, kind='req-tracker') + self._temp_dir.create() + self._root = os.environ['PIP_REQ_TRACKER'] = self._temp_dir.path + logger.debug('Created requirements tracker %r', self._root) + else: + self._temp_dir = None + logger.debug('Re-using requirements tracker %r', self._root) + self._entries = set() # type: Set[InstallRequirement] + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.cleanup() + + def _entry_path(self, link): + # type: (Link) -> str + hashed = hashlib.sha224(link.url_without_fragment.encode()).hexdigest() + return os.path.join(self._root, hashed) + + def add(self, req): + # type: (InstallRequirement) -> None + link = req.link + info = str(req) + entry_path = self._entry_path(link) + try: + with open(entry_path) as fp: + # Error, these's already a build in progress. + raise LookupError('%s is already being built: %s' + % (link, fp.read())) + except IOError as e: + if e.errno != errno.ENOENT: + raise + assert req not in self._entries + with open(entry_path, 'w') as fp: + fp.write(info) + self._entries.add(req) + logger.debug('Added %s to build tracker %r', req, self._root) + + def remove(self, req): + # type: (InstallRequirement) -> None + link = req.link + self._entries.remove(req) + os.unlink(self._entry_path(link)) + logger.debug('Removed %s from build tracker %r', req, self._root) + + def cleanup(self): + # type: () -> None + for req in set(self._entries): + self.remove(req) + remove = self._temp_dir is not None + if remove: + self._temp_dir.cleanup() + logger.debug('%s build tracker %r', + 'Removed' if remove else 'Cleaned', + self._root) + + @contextlib.contextmanager + def track(self, req): + # type: (InstallRequirement) -> Iterator[None] + self.add(req) + yield + self.remove(req) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_uninstall.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_uninstall.py new file mode 100644 index 0000000000..c80959e43c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/req/req_uninstall.py @@ -0,0 +1,596 @@ +from __future__ import absolute_import + +import csv +import functools +import logging +import os +import sys +import sysconfig + +from pip._vendor import pkg_resources + +from pip._internal.exceptions import UninstallationError +from pip._internal.locations import bin_py, bin_user +from pip._internal.utils.compat import WINDOWS, cache_from_source, uses_pycache +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + FakeFile, ask, dist_in_usersite, dist_is_local, egg_link_path, is_local, + normalize_path, renames, rmtree, +) +from pip._internal.utils.temp_dir import AdjacentTempDirectory, TempDirectory + +logger = logging.getLogger(__name__) + + +def _script_names(dist, script_name, is_gui): + """Create the fully qualified name of the files created by + {console,gui}_scripts for the given ``dist``. + Returns the list of file names + """ + if dist_in_usersite(dist): + bin_dir = bin_user + else: + bin_dir = bin_py + exe_name = os.path.join(bin_dir, script_name) + paths_to_remove = [exe_name] + if WINDOWS: + paths_to_remove.append(exe_name + '.exe') + paths_to_remove.append(exe_name + '.exe.manifest') + if is_gui: + paths_to_remove.append(exe_name + '-script.pyw') + else: + paths_to_remove.append(exe_name + '-script.py') + return paths_to_remove + + +def _unique(fn): + @functools.wraps(fn) + def unique(*args, **kw): + seen = set() + for item in fn(*args, **kw): + if item not in seen: + seen.add(item) + yield item + return unique + + +@_unique +def uninstallation_paths(dist): + """ + Yield all the uninstallation paths for dist based on RECORD-without-.py[co] + + Yield paths to all the files in RECORD. For each .py file in RECORD, add + the .pyc and .pyo in the same directory. + + UninstallPathSet.add() takes care of the __pycache__ .py[co]. + """ + r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD'))) + for row in r: + path = os.path.join(dist.location, row[0]) + yield path + if path.endswith('.py'): + dn, fn = os.path.split(path) + base = fn[:-3] + path = os.path.join(dn, base + '.pyc') + yield path + path = os.path.join(dn, base + '.pyo') + yield path + + +def compact(paths): + """Compact a path set to contain the minimal number of paths + necessary to contain all paths in the set. If /a/path/ and + /a/path/to/a/file.txt are both in the set, leave only the + shorter path.""" + + sep = os.path.sep + short_paths = set() + for path in sorted(paths, key=len): + should_skip = any( + path.startswith(shortpath.rstrip("*")) and + path[len(shortpath.rstrip("*").rstrip(sep))] == sep + for shortpath in short_paths + ) + if not should_skip: + short_paths.add(path) + return short_paths + + +def compress_for_rename(paths): + """Returns a set containing the paths that need to be renamed. + + This set may include directories when the original sequence of paths + included every file on disk. + """ + case_map = dict((os.path.normcase(p), p) for p in paths) + remaining = set(case_map) + unchecked = sorted(set(os.path.split(p)[0] + for p in case_map.values()), key=len) + wildcards = set() + + def norm_join(*a): + return os.path.normcase(os.path.join(*a)) + + for root in unchecked: + if any(os.path.normcase(root).startswith(w) + for w in wildcards): + # This directory has already been handled. + continue + + all_files = set() + all_subdirs = set() + for dirname, subdirs, files in os.walk(root): + all_subdirs.update(norm_join(root, dirname, d) + for d in subdirs) + all_files.update(norm_join(root, dirname, f) + for f in files) + # If all the files we found are in our remaining set of files to + # remove, then remove them from the latter set and add a wildcard + # for the directory. + if not (all_files - remaining): + remaining.difference_update(all_files) + wildcards.add(root + os.sep) + + return set(map(case_map.__getitem__, remaining)) | wildcards + + +def compress_for_output_listing(paths): + """Returns a tuple of 2 sets of which paths to display to user + + The first set contains paths that would be deleted. Files of a package + are not added and the top-level directory of the package has a '*' added + at the end - to signify that all it's contents are removed. + + The second set contains files that would have been skipped in the above + folders. + """ + + will_remove = list(paths) + will_skip = set() + + # Determine folders and files + folders = set() + files = set() + for path in will_remove: + if path.endswith(".pyc"): + continue + if path.endswith("__init__.py") or ".dist-info" in path: + folders.add(os.path.dirname(path)) + files.add(path) + + _normcased_files = set(map(os.path.normcase, files)) + + folders = compact(folders) + + # This walks the tree using os.walk to not miss extra folders + # that might get added. + for folder in folders: + for dirpath, _, dirfiles in os.walk(folder): + for fname in dirfiles: + if fname.endswith(".pyc"): + continue + + file_ = os.path.join(dirpath, fname) + if (os.path.isfile(file_) and + os.path.normcase(file_) not in _normcased_files): + # We are skipping this file. Add it to the set. + will_skip.add(file_) + + will_remove = files | { + os.path.join(folder, "*") for folder in folders + } + + return will_remove, will_skip + + +class StashedUninstallPathSet(object): + """A set of file rename operations to stash files while + tentatively uninstalling them.""" + def __init__(self): + # Mapping from source file root to [Adjacent]TempDirectory + # for files under that directory. + self._save_dirs = {} + # (old path, new path) tuples for each move that may need + # to be undone. + self._moves = [] + + def _get_directory_stash(self, path): + """Stashes a directory. + + Directories are stashed adjacent to their original location if + possible, or else moved/copied into the user's temp dir.""" + + try: + save_dir = AdjacentTempDirectory(path) + save_dir.create() + except OSError: + save_dir = TempDirectory(kind="uninstall") + save_dir.create() + self._save_dirs[os.path.normcase(path)] = save_dir + + return save_dir.path + + def _get_file_stash(self, path): + """Stashes a file. + + If no root has been provided, one will be created for the directory + in the user's temp directory.""" + path = os.path.normcase(path) + head, old_head = os.path.dirname(path), None + save_dir = None + + while head != old_head: + try: + save_dir = self._save_dirs[head] + break + except KeyError: + pass + head, old_head = os.path.dirname(head), head + else: + # Did not find any suitable root + head = os.path.dirname(path) + save_dir = TempDirectory(kind='uninstall') + save_dir.create() + self._save_dirs[head] = save_dir + + relpath = os.path.relpath(path, head) + if relpath and relpath != os.path.curdir: + return os.path.join(save_dir.path, relpath) + return save_dir.path + + def stash(self, path): + """Stashes the directory or file and returns its new location. + """ + if os.path.isdir(path): + new_path = self._get_directory_stash(path) + else: + new_path = self._get_file_stash(path) + + self._moves.append((path, new_path)) + if os.path.isdir(path) and os.path.isdir(new_path): + # If we're moving a directory, we need to + # remove the destination first or else it will be + # moved to inside the existing directory. + # We just created new_path ourselves, so it will + # be removable. + os.rmdir(new_path) + renames(path, new_path) + return new_path + + def commit(self): + """Commits the uninstall by removing stashed files.""" + for _, save_dir in self._save_dirs.items(): + save_dir.cleanup() + self._moves = [] + self._save_dirs = {} + + def rollback(self): + """Undoes the uninstall by moving stashed files back.""" + for p in self._moves: + logging.info("Moving to %s\n from %s", *p) + + for new_path, path in self._moves: + try: + logger.debug('Replacing %s from %s', new_path, path) + if os.path.isfile(new_path): + os.unlink(new_path) + elif os.path.isdir(new_path): + rmtree(new_path) + renames(path, new_path) + except OSError as ex: + logger.error("Failed to restore %s", new_path) + logger.debug("Exception: %s", ex) + + self.commit() + + @property + def can_rollback(self): + return bool(self._moves) + + +class UninstallPathSet(object): + """A set of file paths to be removed in the uninstallation of a + requirement.""" + def __init__(self, dist): + self.paths = set() + self._refuse = set() + self.pth = {} + self.dist = dist + self._moved_paths = StashedUninstallPathSet() + + def _permitted(self, path): + """ + Return True if the given path is one we are permitted to + remove/modify, False otherwise. + + """ + return is_local(path) + + def add(self, path): + head, tail = os.path.split(path) + + # we normalize the head to resolve parent directory symlinks, but not + # the tail, since we only want to uninstall symlinks, not their targets + path = os.path.join(normalize_path(head), os.path.normcase(tail)) + + if not os.path.exists(path): + return + if self._permitted(path): + self.paths.add(path) + else: + self._refuse.add(path) + + # __pycache__ files can show up after 'installed-files.txt' is created, + # due to imports + if os.path.splitext(path)[1] == '.py' and uses_pycache: + self.add(cache_from_source(path)) + + def add_pth(self, pth_file, entry): + pth_file = normalize_path(pth_file) + if self._permitted(pth_file): + if pth_file not in self.pth: + self.pth[pth_file] = UninstallPthEntries(pth_file) + self.pth[pth_file].add(entry) + else: + self._refuse.add(pth_file) + + def remove(self, auto_confirm=False, verbose=False): + """Remove paths in ``self.paths`` with confirmation (unless + ``auto_confirm`` is True).""" + + if not self.paths: + logger.info( + "Can't uninstall '%s'. No files were found to uninstall.", + self.dist.project_name, + ) + return + + dist_name_version = ( + self.dist.project_name + "-" + self.dist.version + ) + logger.info('Uninstalling %s:', dist_name_version) + + with indent_log(): + if auto_confirm or self._allowed_to_proceed(verbose): + moved = self._moved_paths + + for_rename = compress_for_rename(self.paths) + + for path in sorted(compact(for_rename)): + moved.stash(path) + logger.debug('Removing file or directory %s', path) + + for pth in self.pth.values(): + pth.remove() + + logger.info('Successfully uninstalled %s', dist_name_version) + + def _allowed_to_proceed(self, verbose): + """Display which files would be deleted and prompt for confirmation + """ + + def _display(msg, paths): + if not paths: + return + + logger.info(msg) + with indent_log(): + for path in sorted(compact(paths)): + logger.info(path) + + if not verbose: + will_remove, will_skip = compress_for_output_listing(self.paths) + else: + # In verbose mode, display all the files that are going to be + # deleted. + will_remove = list(self.paths) + will_skip = set() + + _display('Would remove:', will_remove) + _display('Would not remove (might be manually added):', will_skip) + _display('Would not remove (outside of prefix):', self._refuse) + if verbose: + _display('Will actually move:', compress_for_rename(self.paths)) + + return ask('Proceed (y/n)? ', ('y', 'n')) == 'y' + + def rollback(self): + """Rollback the changes previously made by remove().""" + if not self._moved_paths.can_rollback: + logger.error( + "Can't roll back %s; was not uninstalled", + self.dist.project_name, + ) + return False + logger.info('Rolling back uninstall of %s', self.dist.project_name) + self._moved_paths.rollback() + for pth in self.pth.values(): + pth.rollback() + + def commit(self): + """Remove temporary save dir: rollback will no longer be possible.""" + self._moved_paths.commit() + + @classmethod + def from_dist(cls, dist): + dist_path = normalize_path(dist.location) + if not dist_is_local(dist): + logger.info( + "Not uninstalling %s at %s, outside environment %s", + dist.key, + dist_path, + sys.prefix, + ) + return cls(dist) + + if dist_path in {p for p in {sysconfig.get_path("stdlib"), + sysconfig.get_path("platstdlib")} + if p}: + logger.info( + "Not uninstalling %s at %s, as it is in the standard library.", + dist.key, + dist_path, + ) + return cls(dist) + + paths_to_remove = cls(dist) + develop_egg_link = egg_link_path(dist) + develop_egg_link_egg_info = '{}.egg-info'.format( + pkg_resources.to_filename(dist.project_name)) + egg_info_exists = dist.egg_info and os.path.exists(dist.egg_info) + # Special case for distutils installed package + distutils_egg_info = getattr(dist._provider, 'path', None) + + # Uninstall cases order do matter as in the case of 2 installs of the + # same package, pip needs to uninstall the currently detected version + if (egg_info_exists and dist.egg_info.endswith('.egg-info') and + not dist.egg_info.endswith(develop_egg_link_egg_info)): + # if dist.egg_info.endswith(develop_egg_link_egg_info), we + # are in fact in the develop_egg_link case + paths_to_remove.add(dist.egg_info) + if dist.has_metadata('installed-files.txt'): + for installed_file in dist.get_metadata( + 'installed-files.txt').splitlines(): + path = os.path.normpath( + os.path.join(dist.egg_info, installed_file) + ) + paths_to_remove.add(path) + # FIXME: need a test for this elif block + # occurs with --single-version-externally-managed/--record outside + # of pip + elif dist.has_metadata('top_level.txt'): + if dist.has_metadata('namespace_packages.txt'): + namespaces = dist.get_metadata('namespace_packages.txt') + else: + namespaces = [] + for top_level_pkg in [ + p for p + in dist.get_metadata('top_level.txt').splitlines() + if p and p not in namespaces]: + path = os.path.join(dist.location, top_level_pkg) + paths_to_remove.add(path) + paths_to_remove.add(path + '.py') + paths_to_remove.add(path + '.pyc') + paths_to_remove.add(path + '.pyo') + + elif distutils_egg_info: + raise UninstallationError( + "Cannot uninstall {!r}. It is a distutils installed project " + "and thus we cannot accurately determine which files belong " + "to it which would lead to only a partial uninstall.".format( + dist.project_name, + ) + ) + + elif dist.location.endswith('.egg'): + # package installed by easy_install + # We cannot match on dist.egg_name because it can slightly vary + # i.e. setuptools-0.6c11-py2.6.egg vs setuptools-0.6rc11-py2.6.egg + paths_to_remove.add(dist.location) + easy_install_egg = os.path.split(dist.location)[1] + easy_install_pth = os.path.join(os.path.dirname(dist.location), + 'easy-install.pth') + paths_to_remove.add_pth(easy_install_pth, './' + easy_install_egg) + + elif egg_info_exists and dist.egg_info.endswith('.dist-info'): + for path in uninstallation_paths(dist): + paths_to_remove.add(path) + + elif develop_egg_link: + # develop egg + with open(develop_egg_link, 'r') as fh: + link_pointer = os.path.normcase(fh.readline().strip()) + assert (link_pointer == dist.location), ( + 'Egg-link %s does not match installed location of %s ' + '(at %s)' % (link_pointer, dist.project_name, dist.location) + ) + paths_to_remove.add(develop_egg_link) + easy_install_pth = os.path.join(os.path.dirname(develop_egg_link), + 'easy-install.pth') + paths_to_remove.add_pth(easy_install_pth, dist.location) + + else: + logger.debug( + 'Not sure how to uninstall: %s - Check: %s', + dist, dist.location, + ) + + # find distutils scripts= scripts + if dist.has_metadata('scripts') and dist.metadata_isdir('scripts'): + for script in dist.metadata_listdir('scripts'): + if dist_in_usersite(dist): + bin_dir = bin_user + else: + bin_dir = bin_py + paths_to_remove.add(os.path.join(bin_dir, script)) + if WINDOWS: + paths_to_remove.add(os.path.join(bin_dir, script) + '.bat') + + # find console_scripts + _scripts_to_remove = [] + console_scripts = dist.get_entry_map(group='console_scripts') + for name in console_scripts.keys(): + _scripts_to_remove.extend(_script_names(dist, name, False)) + # find gui_scripts + gui_scripts = dist.get_entry_map(group='gui_scripts') + for name in gui_scripts.keys(): + _scripts_to_remove.extend(_script_names(dist, name, True)) + + for s in _scripts_to_remove: + paths_to_remove.add(s) + + return paths_to_remove + + +class UninstallPthEntries(object): + def __init__(self, pth_file): + if not os.path.isfile(pth_file): + raise UninstallationError( + "Cannot remove entries from nonexistent file %s" % pth_file + ) + self.file = pth_file + self.entries = set() + self._saved_lines = None + + def add(self, entry): + entry = os.path.normcase(entry) + # On Windows, os.path.normcase converts the entry to use + # backslashes. This is correct for entries that describe absolute + # paths outside of site-packages, but all the others use forward + # slashes. + if WINDOWS and not os.path.splitdrive(entry)[0]: + entry = entry.replace('\\', '/') + self.entries.add(entry) + + def remove(self): + logger.debug('Removing pth entries from %s:', self.file) + with open(self.file, 'rb') as fh: + # windows uses '\r\n' with py3k, but uses '\n' with py2.x + lines = fh.readlines() + self._saved_lines = lines + if any(b'\r\n' in line for line in lines): + endline = '\r\n' + else: + endline = '\n' + # handle missing trailing newline + if lines and not lines[-1].endswith(endline.encode("utf-8")): + lines[-1] = lines[-1] + endline.encode("utf-8") + for entry in self.entries: + try: + logger.debug('Removing entry: %s', entry) + lines.remove((entry + endline).encode("utf-8")) + except ValueError: + pass + with open(self.file, 'wb') as fh: + fh.writelines(lines) + + def rollback(self): + if self._saved_lines is None: + logger.error( + 'Cannot roll back changes to %s, none were made', self.file + ) + return False + logger.debug('Rolling %s back to previous state', self.file) + with open(self.file, 'wb') as fh: + fh.writelines(self._saved_lines) + return True diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/resolve.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/resolve.py new file mode 100644 index 0000000000..33f572f1e5 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/resolve.py @@ -0,0 +1,393 @@ +"""Dependency Resolution + +The dependency resolution in pip is performed as follows: + +for top-level requirements: + a. only one spec allowed per project, regardless of conflicts or not. + otherwise a "double requirement" exception is raised + b. they override sub-dependency requirements. +for sub-dependencies + a. "first found, wins" (where the order is breadth first) +""" + +import logging +from collections import defaultdict +from itertools import chain + +from pip._internal.exceptions import ( + BestVersionAlreadyInstalled, DistributionNotFound, HashError, HashErrors, + UnsupportedPythonVersion, +) +from pip._internal.req.constructors import install_req_from_req_string +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import dist_in_usersite, ensure_dir +from pip._internal.utils.packaging import check_dist_requires_python +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, DefaultDict, List, Set # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.index import PackageFinder # noqa: F401 + from pip._internal.req.req_set import RequirementSet # noqa: F401 + from pip._internal.operations.prepare import ( # noqa: F401 + DistAbstraction, RequirementPreparer + ) + from pip._internal.cache import WheelCache # noqa: F401 + +logger = logging.getLogger(__name__) + + +class Resolver(object): + """Resolves which packages need to be installed/uninstalled to perform \ + the requested operation without breaking the requirements of any package. + """ + + _allowed_strategies = {"eager", "only-if-needed", "to-satisfy-only"} + + def __init__( + self, + preparer, # type: RequirementPreparer + session, # type: PipSession + finder, # type: PackageFinder + wheel_cache, # type: Optional[WheelCache] + use_user_site, # type: bool + ignore_dependencies, # type: bool + ignore_installed, # type: bool + ignore_requires_python, # type: bool + force_reinstall, # type: bool + isolated, # type: bool + upgrade_strategy, # type: str + use_pep517=None # type: Optional[bool] + ): + # type: (...) -> None + super(Resolver, self).__init__() + assert upgrade_strategy in self._allowed_strategies + + self.preparer = preparer + self.finder = finder + self.session = session + + # NOTE: This would eventually be replaced with a cache that can give + # information about both sdist and wheels transparently. + self.wheel_cache = wheel_cache + + # This is set in resolve + self.require_hashes = None # type: Optional[bool] + + self.upgrade_strategy = upgrade_strategy + self.force_reinstall = force_reinstall + self.isolated = isolated + self.ignore_dependencies = ignore_dependencies + self.ignore_installed = ignore_installed + self.ignore_requires_python = ignore_requires_python + self.use_user_site = use_user_site + self.use_pep517 = use_pep517 + + self._discovered_dependencies = \ + defaultdict(list) # type: DefaultDict[str, List] + + def resolve(self, requirement_set): + # type: (RequirementSet) -> None + """Resolve what operations need to be done + + As a side-effect of this method, the packages (and their dependencies) + are downloaded, unpacked and prepared for installation. This + preparation is done by ``pip.operations.prepare``. + + Once PyPI has static dependency metadata available, it would be + possible to move the preparation to become a step separated from + dependency resolution. + """ + # make the wheelhouse + if self.preparer.wheel_download_dir: + ensure_dir(self.preparer.wheel_download_dir) + + # If any top-level requirement has a hash specified, enter + # hash-checking mode, which requires hashes from all. + root_reqs = ( + requirement_set.unnamed_requirements + + list(requirement_set.requirements.values()) + ) + self.require_hashes = ( + requirement_set.require_hashes or + any(req.has_hash_options for req in root_reqs) + ) + + # Display where finder is looking for packages + locations = self.finder.get_formatted_locations() + if locations: + logger.info(locations) + + # Actually prepare the files, and collect any exceptions. Most hash + # exceptions cannot be checked ahead of time, because + # req.populate_link() needs to be called before we can make decisions + # based on link type. + discovered_reqs = [] # type: List[InstallRequirement] + hash_errors = HashErrors() + for req in chain(root_reqs, discovered_reqs): + try: + discovered_reqs.extend( + self._resolve_one(requirement_set, req) + ) + except HashError as exc: + exc.req = req + hash_errors.append(exc) + + if hash_errors: + raise hash_errors + + def _is_upgrade_allowed(self, req): + # type: (InstallRequirement) -> bool + if self.upgrade_strategy == "to-satisfy-only": + return False + elif self.upgrade_strategy == "eager": + return True + else: + assert self.upgrade_strategy == "only-if-needed" + return req.is_direct + + def _set_req_to_reinstall(self, req): + # type: (InstallRequirement) -> None + """ + Set a requirement to be installed. + """ + # Don't uninstall the conflict if doing a user install and the + # conflict is not a user install. + if not self.use_user_site or dist_in_usersite(req.satisfied_by): + req.conflicts_with = req.satisfied_by + req.satisfied_by = None + + # XXX: Stop passing requirement_set for options + def _check_skip_installed(self, req_to_install): + # type: (InstallRequirement) -> Optional[str] + """Check if req_to_install should be skipped. + + This will check if the req is installed, and whether we should upgrade + or reinstall it, taking into account all the relevant user options. + + After calling this req_to_install will only have satisfied_by set to + None if the req_to_install is to be upgraded/reinstalled etc. Any + other value will be a dist recording the current thing installed that + satisfies the requirement. + + Note that for vcs urls and the like we can't assess skipping in this + routine - we simply identify that we need to pull the thing down, + then later on it is pulled down and introspected to assess upgrade/ + reinstalls etc. + + :return: A text reason for why it was skipped, or None. + """ + if self.ignore_installed: + return None + + req_to_install.check_if_exists(self.use_user_site) + if not req_to_install.satisfied_by: + return None + + if self.force_reinstall: + self._set_req_to_reinstall(req_to_install) + return None + + if not self._is_upgrade_allowed(req_to_install): + if self.upgrade_strategy == "only-if-needed": + return 'already satisfied, skipping upgrade' + return 'already satisfied' + + # Check for the possibility of an upgrade. For link-based + # requirements we have to pull the tree down and inspect to assess + # the version #, so it's handled way down. + if not req_to_install.link: + try: + self.finder.find_requirement(req_to_install, upgrade=True) + except BestVersionAlreadyInstalled: + # Then the best version is installed. + return 'already up-to-date' + except DistributionNotFound: + # No distribution found, so we squash the error. It will + # be raised later when we re-try later to do the install. + # Why don't we just raise here? + pass + + self._set_req_to_reinstall(req_to_install) + return None + + def _get_abstract_dist_for(self, req): + # type: (InstallRequirement) -> DistAbstraction + """Takes a InstallRequirement and returns a single AbstractDist \ + representing a prepared variant of the same. + """ + assert self.require_hashes is not None, ( + "require_hashes should have been set in Resolver.resolve()" + ) + + if req.editable: + return self.preparer.prepare_editable_requirement( + req, self.require_hashes, self.use_user_site, self.finder, + ) + + # satisfied_by is only evaluated by calling _check_skip_installed, + # so it must be None here. + assert req.satisfied_by is None + skip_reason = self._check_skip_installed(req) + + if req.satisfied_by: + return self.preparer.prepare_installed_requirement( + req, self.require_hashes, skip_reason + ) + + upgrade_allowed = self._is_upgrade_allowed(req) + abstract_dist = self.preparer.prepare_linked_requirement( + req, self.session, self.finder, upgrade_allowed, + self.require_hashes + ) + + # NOTE + # The following portion is for determining if a certain package is + # going to be re-installed/upgraded or not and reporting to the user. + # This should probably get cleaned up in a future refactor. + + # req.req is only avail after unpack for URL + # pkgs repeat check_if_exists to uninstall-on-upgrade + # (#14) + if not self.ignore_installed: + req.check_if_exists(self.use_user_site) + + if req.satisfied_by: + should_modify = ( + self.upgrade_strategy != "to-satisfy-only" or + self.force_reinstall or + self.ignore_installed or + req.link.scheme == 'file' + ) + if should_modify: + self._set_req_to_reinstall(req) + else: + logger.info( + 'Requirement already satisfied (use --upgrade to upgrade):' + ' %s', req, + ) + + return abstract_dist + + def _resolve_one( + self, + requirement_set, # type: RequirementSet + req_to_install # type: InstallRequirement + ): + # type: (...) -> List[InstallRequirement] + """Prepare a single requirements file. + + :return: A list of additional InstallRequirements to also install. + """ + # Tell user what we are doing for this requirement: + # obtain (editable), skipping, processing (local url), collecting + # (remote url or package name) + if req_to_install.constraint or req_to_install.prepared: + return [] + + req_to_install.prepared = True + + # register tmp src for cleanup in case something goes wrong + requirement_set.reqs_to_cleanup.append(req_to_install) + + abstract_dist = self._get_abstract_dist_for(req_to_install) + + # Parse and return dependencies + dist = abstract_dist.dist() + try: + check_dist_requires_python(dist) + except UnsupportedPythonVersion as err: + if self.ignore_requires_python: + logger.warning(err.args[0]) + else: + raise + + more_reqs = [] # type: List[InstallRequirement] + + def add_req(subreq, extras_requested): + sub_install_req = install_req_from_req_string( + str(subreq), + req_to_install, + isolated=self.isolated, + wheel_cache=self.wheel_cache, + use_pep517=self.use_pep517 + ) + parent_req_name = req_to_install.name + to_scan_again, add_to_parent = requirement_set.add_requirement( + sub_install_req, + parent_req_name=parent_req_name, + extras_requested=extras_requested, + ) + if parent_req_name and add_to_parent: + self._discovered_dependencies[parent_req_name].append( + add_to_parent + ) + more_reqs.extend(to_scan_again) + + with indent_log(): + # We add req_to_install before its dependencies, so that we + # can refer to it when adding dependencies. + if not requirement_set.has_requirement(req_to_install.name): + # 'unnamed' requirements will get added here + req_to_install.is_direct = True + requirement_set.add_requirement( + req_to_install, parent_req_name=None, + ) + + if not self.ignore_dependencies: + if req_to_install.extras: + logger.debug( + "Installing extra requirements: %r", + ','.join(req_to_install.extras), + ) + missing_requested = sorted( + set(req_to_install.extras) - set(dist.extras) + ) + for missing in missing_requested: + logger.warning( + '%s does not provide the extra \'%s\'', + dist, missing + ) + + available_requested = sorted( + set(dist.extras) & set(req_to_install.extras) + ) + for subreq in dist.requires(available_requested): + add_req(subreq, extras_requested=available_requested) + + if not req_to_install.editable and not req_to_install.satisfied_by: + # XXX: --no-install leads this to report 'Successfully + # downloaded' for only non-editable reqs, even though we took + # action on them. + requirement_set.successfully_downloaded.append(req_to_install) + + return more_reqs + + def get_installation_order(self, req_set): + # type: (RequirementSet) -> List[InstallRequirement] + """Create the installation order. + + The installation order is topological - requirements are installed + before the requiring thing. We break cycles at an arbitrary point, + and make no other guarantees. + """ + # The current implementation, which we may change at any point + # installs the user specified things in the order given, except when + # dependencies must come earlier to achieve topological order. + order = [] + ordered_reqs = set() # type: Set[InstallRequirement] + + def schedule(req): + if req.satisfied_by or req in ordered_reqs: + return + if req.constraint: + return + ordered_reqs.add(req) + for dep in self._discovered_dependencies[req.name]: + schedule(dep) + order.append(req) + + for install_req in req_set.requirements.values(): + schedule(install_req) + return order diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/appdirs.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/appdirs.py new file mode 100644 index 0000000000..9af9fa7b58 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/appdirs.py @@ -0,0 +1,270 @@ +""" +This code was taken from https://github.com/ActiveState/appdirs and modified +to suit our purposes. +""" +from __future__ import absolute_import + +import os +import sys + +from pip._vendor.six import PY2, text_type + +from pip._internal.utils.compat import WINDOWS, expanduser +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + List, Union + ) + + +def user_cache_dir(appname): + # type: (str) -> str + r""" + Return full path to the user-specific cache dir for this application. + + "appname" is the name of application. + + Typical user cache directories are: + macOS: ~/Library/Caches/ + Unix: ~/.cache/ (XDG default) + Windows: C:\Users\\AppData\Local\\Cache + + On Windows the only suggestion in the MSDN docs is that local settings go + in the `CSIDL_LOCAL_APPDATA` directory. This is identical to the + non-roaming app data dir (the default returned by `user_data_dir`). Apps + typically put cache data somewhere *under* the given dir here. Some + examples: + ...\Mozilla\Firefox\Profiles\\Cache + ...\Acme\SuperApp\Cache\1.0 + + OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value. + """ + if WINDOWS: + # Get the base path + path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA")) + + # When using Python 2, return paths as bytes on Windows like we do on + # other operating systems. See helper function docs for more details. + if PY2 and isinstance(path, text_type): + path = _win_path_to_bytes(path) + + # Add our app name and Cache directory to it + path = os.path.join(path, appname, "Cache") + elif sys.platform == "darwin": + # Get the base path + path = expanduser("~/Library/Caches") + + # Add our app name to it + path = os.path.join(path, appname) + else: + # Get the base path + path = os.getenv("XDG_CACHE_HOME", expanduser("~/.cache")) + + # Add our app name to it + path = os.path.join(path, appname) + + return path + + +def user_data_dir(appname, roaming=False): + # type: (str, bool) -> str + r""" + Return full path to the user-specific data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + + for a discussion of issues. + + Typical user data directories are: + macOS: ~/Library/Application Support/ + if it exists, else ~/.config/ + Unix: ~/.local/share/ # or in + $XDG_DATA_HOME, if defined + Win XP (not roaming): C:\Documents and Settings\\ ... + ...Application Data\ + Win XP (roaming): C:\Documents and Settings\\Local ... + ...Settings\Application Data\ + Win 7 (not roaming): C:\\Users\\AppData\Local\ + Win 7 (roaming): C:\\Users\\AppData\Roaming\ + + For Unix, we follow the XDG spec and support $XDG_DATA_HOME. + That means, by default "~/.local/share/". + """ + if WINDOWS: + const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA" + path = os.path.join(os.path.normpath(_get_win_folder(const)), appname) + elif sys.platform == "darwin": + path = os.path.join( + expanduser('~/Library/Application Support/'), + appname, + ) if os.path.isdir(os.path.join( + expanduser('~/Library/Application Support/'), + appname, + ) + ) else os.path.join( + expanduser('~/.config/'), + appname, + ) + else: + path = os.path.join( + os.getenv('XDG_DATA_HOME', expanduser("~/.local/share")), + appname, + ) + + return path + + +def user_config_dir(appname, roaming=True): + # type: (str, bool) -> str + """Return full path to the user-specific config dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "roaming" (boolean, default True) can be set False to not use the + Windows roaming appdata directory. That means that for users on a + Windows network setup for roaming profiles, this user data will be + sync'd on login. See + + for a discussion of issues. + + Typical user data directories are: + macOS: same as user_data_dir + Unix: ~/.config/ + Win *: same as user_data_dir + + For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME. + That means, by default "~/.config/". + """ + if WINDOWS: + path = user_data_dir(appname, roaming=roaming) + elif sys.platform == "darwin": + path = user_data_dir(appname) + else: + path = os.getenv('XDG_CONFIG_HOME', expanduser("~/.config")) + path = os.path.join(path, appname) + + return path + + +# for the discussion regarding site_config_dirs locations +# see +def site_config_dirs(appname): + # type: (str) -> List[str] + r"""Return a list of potential user-shared config dirs for this application. + + "appname" is the name of application. + + Typical user config directories are: + macOS: /Library/Application Support// + Unix: /etc or $XDG_CONFIG_DIRS[i]// for each value in + $XDG_CONFIG_DIRS + Win XP: C:\Documents and Settings\All Users\Application ... + ...Data\\ + Vista: (Fail! "C:\ProgramData" is a hidden *system* directory + on Vista.) + Win 7: Hidden, but writeable on Win 7: + C:\ProgramData\\ + """ + if WINDOWS: + path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA")) + pathlist = [os.path.join(path, appname)] + elif sys.platform == 'darwin': + pathlist = [os.path.join('/Library/Application Support', appname)] + else: + # try looking in $XDG_CONFIG_DIRS + xdg_config_dirs = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg') + if xdg_config_dirs: + pathlist = [ + os.path.join(expanduser(x), appname) + for x in xdg_config_dirs.split(os.pathsep) + ] + else: + pathlist = [] + + # always look in /etc directly as well + pathlist.append('/etc') + + return pathlist + + +# -- Windows support functions -- + +def _get_win_folder_from_registry(csidl_name): + # type: (str) -> str + """ + This is a fallback technique at best. I'm not sure if using the + registry for this guarantees us the correct answer for all CSIDL_* + names. + """ + import _winreg + + shell_folder_name = { + "CSIDL_APPDATA": "AppData", + "CSIDL_COMMON_APPDATA": "Common AppData", + "CSIDL_LOCAL_APPDATA": "Local AppData", + }[csidl_name] + + key = _winreg.OpenKey( + _winreg.HKEY_CURRENT_USER, + r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" + ) + directory, _type = _winreg.QueryValueEx(key, shell_folder_name) + return directory + + +def _get_win_folder_with_ctypes(csidl_name): + # type: (str) -> str + csidl_const = { + "CSIDL_APPDATA": 26, + "CSIDL_COMMON_APPDATA": 35, + "CSIDL_LOCAL_APPDATA": 28, + }[csidl_name] + + buf = ctypes.create_unicode_buffer(1024) + ctypes.windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf) + + # Downgrade to short path name if have highbit chars. See + # . + has_high_char = False + for c in buf: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + buf2 = ctypes.create_unicode_buffer(1024) + if ctypes.windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024): + buf = buf2 + + return buf.value + + +if WINDOWS: + try: + import ctypes + _get_win_folder = _get_win_folder_with_ctypes + except ImportError: + _get_win_folder = _get_win_folder_from_registry + + +def _win_path_to_bytes(path): + """Encode Windows paths to bytes. Only used on Python 2. + + Motivation is to be consistent with other operating systems where paths + are also returned as bytes. This avoids problems mixing bytes and Unicode + elsewhere in the codebase. For more details and discussion see + . + + If encoding using ASCII and MBCS fails, return the original Unicode path. + """ + for encoding in ('ASCII', 'MBCS'): + try: + return path.encode(encoding) + except (UnicodeEncodeError, LookupError): + pass + return path diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/compat.py new file mode 100644 index 0000000000..2d8b3bf060 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/compat.py @@ -0,0 +1,264 @@ +"""Stuff that differs in different Python versions and platform +distributions.""" +from __future__ import absolute_import, division + +import codecs +import locale +import logging +import os +import shutil +import sys + +from pip._vendor.six import text_type + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Tuple, Text # noqa: F401 + +try: + import ipaddress +except ImportError: + try: + from pip._vendor import ipaddress # type: ignore + except ImportError: + import ipaddr as ipaddress # type: ignore + ipaddress.ip_address = ipaddress.IPAddress # type: ignore + ipaddress.ip_network = ipaddress.IPNetwork # type: ignore + + +__all__ = [ + "ipaddress", "uses_pycache", "console_to_str", "native_str", + "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile", "get_terminal_size", + "get_extension_suffixes", +] + + +logger = logging.getLogger(__name__) + +if sys.version_info >= (3, 4): + uses_pycache = True + from importlib.util import cache_from_source +else: + import imp + + try: + cache_from_source = imp.cache_from_source # type: ignore + except AttributeError: + # does not use __pycache__ + cache_from_source = None + + uses_pycache = cache_from_source is not None + + +if sys.version_info >= (3, 5): + backslashreplace_decode = "backslashreplace" +else: + # In version 3.4 and older, backslashreplace exists + # but does not support use for decoding. + # We implement our own replace handler for this + # situation, so that we can consistently use + # backslash replacement for all versions. + def backslashreplace_decode_fn(err): + raw_bytes = (err.object[i] for i in range(err.start, err.end)) + if sys.version_info[0] == 2: + # Python 2 gave us characters - convert to numeric bytes + raw_bytes = (ord(b) for b in raw_bytes) + return u"".join(u"\\x%x" % c for c in raw_bytes), err.end + codecs.register_error( + "backslashreplace_decode", + backslashreplace_decode_fn, + ) + backslashreplace_decode = "backslashreplace_decode" + + +def console_to_str(data): + # type: (bytes) -> Text + """Return a string, safe for output, of subprocess output. + + We assume the data is in the locale preferred encoding. + If it won't decode properly, we warn the user but decode as + best we can. + + We also ensure that the output can be safely written to + standard output without encoding errors. + """ + + # First, get the encoding we assume. This is the preferred + # encoding for the locale, unless that is not found, or + # it is ASCII, in which case assume UTF-8 + encoding = locale.getpreferredencoding() + if (not encoding) or codecs.lookup(encoding).name == "ascii": + encoding = "utf-8" + + # Now try to decode the data - if we fail, warn the user and + # decode with replacement. + try: + decoded_data = data.decode(encoding) + except UnicodeDecodeError: + logger.warning( + "Subprocess output does not appear to be encoded as %s", + encoding, + ) + decoded_data = data.decode(encoding, errors=backslashreplace_decode) + + # Make sure we can print the output, by encoding it to the output + # encoding with replacement of unencodable characters, and then + # decoding again. + # We use stderr's encoding because it's less likely to be + # redirected and if we don't find an encoding we skip this + # step (on the assumption that output is wrapped by something + # that won't fail). + # The double getattr is to deal with the possibility that we're + # being called in a situation where sys.__stderr__ doesn't exist, + # or doesn't have an encoding attribute. Neither of these cases + # should occur in normal pip use, but there's no harm in checking + # in case people use pip in (unsupported) unusual situations. + output_encoding = getattr(getattr(sys, "__stderr__", None), + "encoding", None) + + if output_encoding: + output_encoded = decoded_data.encode( + output_encoding, + errors="backslashreplace" + ) + decoded_data = output_encoded.decode(output_encoding) + + return decoded_data + + +if sys.version_info >= (3,): + def native_str(s, replace=False): + # type: (str, bool) -> str + if isinstance(s, bytes): + return s.decode('utf-8', 'replace' if replace else 'strict') + return s + +else: + def native_str(s, replace=False): + # type: (str, bool) -> str + # Replace is ignored -- unicode to UTF-8 can't fail + if isinstance(s, text_type): + return s.encode('utf-8') + return s + + +def get_path_uid(path): + # type: (str) -> int + """ + Return path's uid. + + Does not follow symlinks: + https://github.com/pypa/pip/pull/935#discussion_r5307003 + + Placed this function in compat due to differences on AIX and + Jython, that should eventually go away. + + :raises OSError: When path is a symlink or can't be read. + """ + if hasattr(os, 'O_NOFOLLOW'): + fd = os.open(path, os.O_RDONLY | os.O_NOFOLLOW) + file_uid = os.fstat(fd).st_uid + os.close(fd) + else: # AIX and Jython + # WARNING: time of check vulnerability, but best we can do w/o NOFOLLOW + if not os.path.islink(path): + # older versions of Jython don't have `os.fstat` + file_uid = os.stat(path).st_uid + else: + # raise OSError for parity with os.O_NOFOLLOW above + raise OSError( + "%s is a symlink; Will not return uid for symlinks" % path + ) + return file_uid + + +if sys.version_info >= (3, 4): + from importlib.machinery import EXTENSION_SUFFIXES + + def get_extension_suffixes(): + return EXTENSION_SUFFIXES +else: + from imp import get_suffixes + + def get_extension_suffixes(): + return [suffix[0] for suffix in get_suffixes()] + + +def expanduser(path): + # type: (str) -> str + """ + Expand ~ and ~user constructions. + + Includes a workaround for https://bugs.python.org/issue14768 + """ + expanded = os.path.expanduser(path) + if path.startswith('~/') and expanded.startswith('//'): + expanded = expanded[1:] + return expanded + + +# packages in the stdlib that may have installation metadata, but should not be +# considered 'installed'. this theoretically could be determined based on +# dist.location (py27:`sysconfig.get_paths()['stdlib']`, +# py26:sysconfig.get_config_vars('LIBDEST')), but fear platform variation may +# make this ineffective, so hard-coding +stdlib_pkgs = {"python", "wsgiref", "argparse"} + + +# windows detection, covers cpython and ironpython +WINDOWS = (sys.platform.startswith("win") or + (sys.platform == 'cli' and os.name == 'nt')) + + +def samefile(file1, file2): + # type: (str, str) -> bool + """Provide an alternative for os.path.samefile on Windows/Python2""" + if hasattr(os.path, 'samefile'): + return os.path.samefile(file1, file2) + else: + path1 = os.path.normcase(os.path.abspath(file1)) + path2 = os.path.normcase(os.path.abspath(file2)) + return path1 == path2 + + +if hasattr(shutil, 'get_terminal_size'): + def get_terminal_size(): + # type: () -> Tuple[int, int] + """ + Returns a tuple (x, y) representing the width(x) and the height(y) + in characters of the terminal window. + """ + return tuple(shutil.get_terminal_size()) # type: ignore +else: + def get_terminal_size(): + # type: () -> Tuple[int, int] + """ + Returns a tuple (x, y) representing the width(x) and the height(y) + in characters of the terminal window. + """ + def ioctl_GWINSZ(fd): + try: + import fcntl + import termios + import struct + cr = struct.unpack_from( + 'hh', + fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') + ) + except Exception: + return None + if cr == (0, 0): + return None + return cr + cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) + if not cr: + try: + fd = os.open(os.ctermid(), os.O_RDONLY) + cr = ioctl_GWINSZ(fd) + os.close(fd) + except Exception: + pass + if not cr: + cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) + return int(cr[1]), int(cr[0]) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/deprecation.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/deprecation.py new file mode 100644 index 0000000000..0beaf74ba7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/deprecation.py @@ -0,0 +1,90 @@ +""" +A module that implements tooling to enable easy warnings about deprecations. +""" +from __future__ import absolute_import + +import logging +import warnings + +from pip._vendor.packaging.version import parse + +from pip import __version__ as current_version +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Optional # noqa: F401 + + +class PipDeprecationWarning(Warning): + pass + + +_original_showwarning = None # type: Any + + +# Warnings <-> Logging Integration +def _showwarning(message, category, filename, lineno, file=None, line=None): + if file is not None: + if _original_showwarning is not None: + _original_showwarning( + message, category, filename, lineno, file, line, + ) + elif issubclass(category, PipDeprecationWarning): + # We use a specially named logger which will handle all of the + # deprecation messages for pip. + logger = logging.getLogger("pip._internal.deprecations") + logger.warning(message) + else: + _original_showwarning( + message, category, filename, lineno, file, line, + ) + + +def install_warning_logger(): + # type: () -> None + # Enable our Deprecation Warnings + warnings.simplefilter("default", PipDeprecationWarning, append=True) + + global _original_showwarning + + if _original_showwarning is None: + _original_showwarning = warnings.showwarning + warnings.showwarning = _showwarning + + +def deprecated(reason, replacement, gone_in, issue=None): + # type: (str, Optional[str], Optional[str], Optional[int]) -> None + """Helper to deprecate existing functionality. + + reason: + Textual reason shown to the user about why this functionality has + been deprecated. + replacement: + Textual suggestion shown to the user about what alternative + functionality they can use. + gone_in: + The version of pip does this functionality should get removed in. + Raises errors if pip's current version is greater than or equal to + this. + issue: + Issue number on the tracker that would serve as a useful place for + users to find related discussion and provide feedback. + + Always pass replacement, gone_in and issue as keyword arguments for clarity + at the call site. + """ + + # Construct a nice message. + # This is purposely eagerly formatted as we want it to appear as if someone + # typed this entire message out. + message = "DEPRECATION: " + reason + if replacement is not None: + message += " A possible replacement is {}.".format(replacement) + if issue is not None: + url = "https://github.com/pypa/pip/issues/" + str(issue) + message += " You can find discussion regarding this at {}.".format(url) + + # Raise as an error if it has to be removed. + if gone_in is not None and parse(current_version) >= parse(gone_in): + raise PipDeprecationWarning(message) + warnings.warn(message, category=PipDeprecationWarning, stacklevel=2) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/encoding.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/encoding.py new file mode 100644 index 0000000000..d36defadba --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/encoding.py @@ -0,0 +1,39 @@ +import codecs +import locale +import re +import sys + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import List, Tuple, Text # noqa: F401 + +BOMS = [ + (codecs.BOM_UTF8, 'utf8'), + (codecs.BOM_UTF16, 'utf16'), + (codecs.BOM_UTF16_BE, 'utf16-be'), + (codecs.BOM_UTF16_LE, 'utf16-le'), + (codecs.BOM_UTF32, 'utf32'), + (codecs.BOM_UTF32_BE, 'utf32-be'), + (codecs.BOM_UTF32_LE, 'utf32-le'), +] # type: List[Tuple[bytes, Text]] + +ENCODING_RE = re.compile(br'coding[:=]\s*([-\w.]+)') + + +def auto_decode(data): + # type: (bytes) -> Text + """Check a bytes string for a BOM to correctly detect the encoding + + Fallback to locale.getpreferredencoding(False) like open() on Python3""" + for bom, encoding in BOMS: + if data.startswith(bom): + return data[len(bom):].decode(encoding) + # Lets check the first two lines as in PEP263 + for line in data.split(b'\n')[:2]: + if line[0:1] == b'#' and ENCODING_RE.search(line): + encoding = ENCODING_RE.search(line).groups()[0].decode('ascii') + return data.decode(encoding) + return data.decode( + locale.getpreferredencoding(False) or sys.getdefaultencoding(), + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/filesystem.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/filesystem.py new file mode 100644 index 0000000000..1e6b033858 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/filesystem.py @@ -0,0 +1,30 @@ +import os +import os.path + +from pip._internal.utils.compat import get_path_uid + + +def check_path_owner(path): + # type: (str) -> bool + # If we don't have a way to check the effective uid of this process, then + # we'll just assume that we own the directory. + if not hasattr(os, "geteuid"): + return True + + previous = None + while path != previous: + if os.path.lexists(path): + # Check if path is writable by current user. + if os.geteuid() == 0: + # Special handling for root user in order to handle properly + # cases where users use sudo without -H flag. + try: + path_uid = get_path_uid(path) + except OSError: + return False + return path_uid == 0 + else: + return os.access(path, os.W_OK) + else: + previous, path = path, os.path.dirname(path) + return False # assume we don't own the path diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/glibc.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/glibc.py new file mode 100644 index 0000000000..8a51f69547 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/glibc.py @@ -0,0 +1,93 @@ +from __future__ import absolute_import + +import ctypes +import re +import warnings + +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional, Tuple # noqa: F401 + + +def glibc_version_string(): + # type: () -> Optional[str] + "Returns glibc version string, or None if not using glibc." + + # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen + # manpage says, "If filename is NULL, then the returned handle is for the + # main program". This way we can let the linker do the work to figure out + # which libc our process is actually using. + process_namespace = ctypes.CDLL(None) + try: + gnu_get_libc_version = process_namespace.gnu_get_libc_version + except AttributeError: + # Symbol doesn't exist -> therefore, we are not linked to + # glibc. + return None + + # Call gnu_get_libc_version, which returns a string like "2.5" + gnu_get_libc_version.restype = ctypes.c_char_p + version_str = gnu_get_libc_version() + # py2 / py3 compatibility: + if not isinstance(version_str, str): + version_str = version_str.decode("ascii") + + return version_str + + +# Separated out from have_compatible_glibc for easier unit testing +def check_glibc_version(version_str, required_major, minimum_minor): + # type: (str, int, int) -> bool + # Parse string and check against requested version. + # + # We use a regexp instead of str.split because we want to discard any + # random junk that might come after the minor version -- this might happen + # in patched/forked versions of glibc (e.g. Linaro's version of glibc + # uses version strings like "2.20-2014.11"). See gh-3588. + m = re.match(r"(?P[0-9]+)\.(?P[0-9]+)", version_str) + if not m: + warnings.warn("Expected glibc version with 2 components major.minor," + " got: %s" % version_str, RuntimeWarning) + return False + return (int(m.group("major")) == required_major and + int(m.group("minor")) >= minimum_minor) + + +def have_compatible_glibc(required_major, minimum_minor): + # type: (int, int) -> bool + version_str = glibc_version_string() # type: Optional[str] + if version_str is None: + return False + return check_glibc_version(version_str, required_major, minimum_minor) + + +# platform.libc_ver regularly returns completely nonsensical glibc +# versions. E.g. on my computer, platform says: +# +# ~$ python2.7 -c 'import platform; print(platform.libc_ver())' +# ('glibc', '2.7') +# ~$ python3.5 -c 'import platform; print(platform.libc_ver())' +# ('glibc', '2.9') +# +# But the truth is: +# +# ~$ ldd --version +# ldd (Debian GLIBC 2.22-11) 2.22 +# +# This is unfortunate, because it means that the linehaul data on libc +# versions that was generated by pip 8.1.2 and earlier is useless and +# misleading. Solution: instead of using platform, use our code that actually +# works. +def libc_ver(): + # type: () -> Tuple[str, str] + """Try to determine the glibc version + + Returns a tuple of strings (lib, version) which default to empty strings + in case the lookup fails. + """ + glibc_version = glibc_version_string() + if glibc_version is None: + return ("", "") + else: + return ("glibc", glibc_version) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/hashes.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/hashes.py new file mode 100644 index 0000000000..c6df7a187f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/hashes.py @@ -0,0 +1,115 @@ +from __future__ import absolute_import + +import hashlib + +from pip._vendor.six import iteritems, iterkeys, itervalues + +from pip._internal.exceptions import ( + HashMismatch, HashMissing, InstallationError, +) +from pip._internal.utils.misc import read_chunks +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Dict, List, BinaryIO, NoReturn, Iterator + ) + from pip._vendor.six import PY3 + if PY3: + from hashlib import _Hash # noqa: F401 + else: + from hashlib import _hash as _Hash # noqa: F401 + + +# The recommended hash algo of the moment. Change this whenever the state of +# the art changes; it won't hurt backward compatibility. +FAVORITE_HASH = 'sha256' + + +# Names of hashlib algorithms allowed by the --hash option and ``pip hash`` +# Currently, those are the ones at least as collision-resistant as sha256. +STRONG_HASHES = ['sha256', 'sha384', 'sha512'] + + +class Hashes(object): + """A wrapper that builds multiple hashes at once and checks them against + known-good values + + """ + def __init__(self, hashes=None): + # type: (Dict[str, List[str]]) -> None + """ + :param hashes: A dict of algorithm names pointing to lists of allowed + hex digests + """ + self._allowed = {} if hashes is None else hashes + + def check_against_chunks(self, chunks): + # type: (Iterator[bytes]) -> None + """Check good hashes against ones built from iterable of chunks of + data. + + Raise HashMismatch if none match. + + """ + gots = {} + for hash_name in iterkeys(self._allowed): + try: + gots[hash_name] = hashlib.new(hash_name) + except (ValueError, TypeError): + raise InstallationError('Unknown hash name: %s' % hash_name) + + for chunk in chunks: + for hash in itervalues(gots): + hash.update(chunk) + + for hash_name, got in iteritems(gots): + if got.hexdigest() in self._allowed[hash_name]: + return + self._raise(gots) + + def _raise(self, gots): + # type: (Dict[str, _Hash]) -> NoReturn + raise HashMismatch(self._allowed, gots) + + def check_against_file(self, file): + # type: (BinaryIO) -> None + """Check good hashes against a file-like object + + Raise HashMismatch if none match. + + """ + return self.check_against_chunks(read_chunks(file)) + + def check_against_path(self, path): + # type: (str) -> None + with open(path, 'rb') as file: + return self.check_against_file(file) + + def __nonzero__(self): + # type: () -> bool + """Return whether I know any known-good hashes.""" + return bool(self._allowed) + + def __bool__(self): + # type: () -> bool + return self.__nonzero__() + + +class MissingHashes(Hashes): + """A workalike for Hashes used when we're missing a hash for a requirement + + It computes the actual hash of the requirement and raises a HashMissing + exception showing it to the user. + + """ + def __init__(self): + # type: () -> None + """Don't offer the ``hashes`` kwarg.""" + # Pass our favorite hash in to generate a "gotten hash". With the + # empty list, it will never match, so an error will always raise. + super(MissingHashes, self).__init__(hashes={FAVORITE_HASH: []}) + + def _raise(self, gots): + # type: (Dict[str, _Hash]) -> NoReturn + raise HashMissing(gots[FAVORITE_HASH].hexdigest()) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/logging.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/logging.py new file mode 100644 index 0000000000..579d696219 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/logging.py @@ -0,0 +1,318 @@ +from __future__ import absolute_import + +import contextlib +import errno +import logging +import logging.handlers +import os +import sys + +from pip._vendor.six import PY2 + +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.misc import ensure_dir + +try: + import threading +except ImportError: + import dummy_threading as threading # type: ignore + + +try: + from pip._vendor import colorama +# Lots of different errors can come from this, including SystemError and +# ImportError. +except Exception: + colorama = None + + +_log_state = threading.local() +_log_state.indentation = 0 + + +class BrokenStdoutLoggingError(Exception): + """ + Raised if BrokenPipeError occurs for the stdout stream while logging. + """ + pass + + +# BrokenPipeError does not exist in Python 2 and, in addition, manifests +# differently in Windows and non-Windows. +if WINDOWS: + # In Windows, a broken pipe can show up as EINVAL rather than EPIPE: + # https://bugs.python.org/issue19612 + # https://bugs.python.org/issue30418 + if PY2: + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return (exc_class is IOError and + exc.errno in (errno.EINVAL, errno.EPIPE)) + else: + # In Windows, a broken pipe IOError became OSError in Python 3. + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return ((exc_class is BrokenPipeError) or # noqa: F821 + (exc_class is OSError and + exc.errno in (errno.EINVAL, errno.EPIPE))) +elif PY2: + def _is_broken_pipe_error(exc_class, exc): + """See the docstring for non-Windows Python 3 below.""" + return (exc_class is IOError and exc.errno == errno.EPIPE) +else: + # Then we are in the non-Windows Python 3 case. + def _is_broken_pipe_error(exc_class, exc): + """ + Return whether an exception is a broken pipe error. + + Args: + exc_class: an exception class. + exc: an exception instance. + """ + return (exc_class is BrokenPipeError) # noqa: F821 + + +@contextlib.contextmanager +def indent_log(num=2): + """ + A context manager which will cause the log output to be indented for any + log messages emitted inside it. + """ + _log_state.indentation += num + try: + yield + finally: + _log_state.indentation -= num + + +def get_indentation(): + return getattr(_log_state, 'indentation', 0) + + +class IndentingFormatter(logging.Formatter): + def __init__(self, *args, **kwargs): + """ + A logging.Formatter obeying containing indent_log contexts. + + :param add_timestamp: A bool indicating output lines should be prefixed + with their record's timestamp. + """ + self.add_timestamp = kwargs.pop("add_timestamp", False) + super(IndentingFormatter, self).__init__(*args, **kwargs) + + def format(self, record): + """ + Calls the standard formatter, but will indent all of the log messages + by our current indentation level. + """ + formatted = super(IndentingFormatter, self).format(record) + prefix = '' + if self.add_timestamp: + prefix = self.formatTime(record, "%Y-%m-%dT%H:%M:%S ") + prefix += " " * get_indentation() + formatted = "".join([ + prefix + line + for line in formatted.splitlines(True) + ]) + return formatted + + +def _color_wrap(*colors): + def wrapped(inp): + return "".join(list(colors) + [inp, colorama.Style.RESET_ALL]) + return wrapped + + +class ColorizedStreamHandler(logging.StreamHandler): + + # Don't build up a list of colors if we don't have colorama + if colorama: + COLORS = [ + # This needs to be in order from highest logging level to lowest. + (logging.ERROR, _color_wrap(colorama.Fore.RED)), + (logging.WARNING, _color_wrap(colorama.Fore.YELLOW)), + ] + else: + COLORS = [] + + def __init__(self, stream=None, no_color=None): + logging.StreamHandler.__init__(self, stream) + self._no_color = no_color + + if WINDOWS and colorama: + self.stream = colorama.AnsiToWin32(self.stream) + + def _using_stdout(self): + """ + Return whether the handler is using sys.stdout. + """ + if WINDOWS and colorama: + # Then self.stream is an AnsiToWin32 object. + return self.stream.wrapped is sys.stdout + + return self.stream is sys.stdout + + def should_color(self): + # Don't colorize things if we do not have colorama or if told not to + if not colorama or self._no_color: + return False + + real_stream = ( + self.stream if not isinstance(self.stream, colorama.AnsiToWin32) + else self.stream.wrapped + ) + + # If the stream is a tty we should color it + if hasattr(real_stream, "isatty") and real_stream.isatty(): + return True + + # If we have an ANSI term we should color it + if os.environ.get("TERM") == "ANSI": + return True + + # If anything else we should not color it + return False + + def format(self, record): + msg = logging.StreamHandler.format(self, record) + + if self.should_color(): + for level, color in self.COLORS: + if record.levelno >= level: + msg = color(msg) + break + + return msg + + # The logging module says handleError() can be customized. + def handleError(self, record): + exc_class, exc = sys.exc_info()[:2] + # If a broken pipe occurred while calling write() or flush() on the + # stdout stream in logging's Handler.emit(), then raise our special + # exception so we can handle it in main() instead of logging the + # broken pipe error and continuing. + if (exc_class and self._using_stdout() and + _is_broken_pipe_error(exc_class, exc)): + raise BrokenStdoutLoggingError() + + return super(ColorizedStreamHandler, self).handleError(record) + + +class BetterRotatingFileHandler(logging.handlers.RotatingFileHandler): + + def _open(self): + ensure_dir(os.path.dirname(self.baseFilename)) + return logging.handlers.RotatingFileHandler._open(self) + + +class MaxLevelFilter(logging.Filter): + + def __init__(self, level): + self.level = level + + def filter(self, record): + return record.levelno < self.level + + +def setup_logging(verbosity, no_color, user_log_file): + """Configures and sets up all of the logging + + Returns the requested logging level, as its integer value. + """ + + # Determine the level to be logging at. + if verbosity >= 1: + level = "DEBUG" + elif verbosity == -1: + level = "WARNING" + elif verbosity == -2: + level = "ERROR" + elif verbosity <= -3: + level = "CRITICAL" + else: + level = "INFO" + + level_number = getattr(logging, level) + + # The "root" logger should match the "console" level *unless* we also need + # to log to a user log file. + include_user_log = user_log_file is not None + if include_user_log: + additional_log_file = user_log_file + root_level = "DEBUG" + else: + additional_log_file = "/dev/null" + root_level = level + + # Disable any logging besides WARNING unless we have DEBUG level logging + # enabled for vendored libraries. + vendored_log_level = "WARNING" if level in ["INFO", "ERROR"] else "DEBUG" + + # Shorthands for clarity + log_streams = { + "stdout": "ext://sys.stdout", + "stderr": "ext://sys.stderr", + } + handler_classes = { + "stream": "pip._internal.utils.logging.ColorizedStreamHandler", + "file": "pip._internal.utils.logging.BetterRotatingFileHandler", + } + + logging.config.dictConfig({ + "version": 1, + "disable_existing_loggers": False, + "filters": { + "exclude_warnings": { + "()": "pip._internal.utils.logging.MaxLevelFilter", + "level": logging.WARNING, + }, + }, + "formatters": { + "indent": { + "()": IndentingFormatter, + "format": "%(message)s", + }, + "indent_with_timestamp": { + "()": IndentingFormatter, + "format": "%(message)s", + "add_timestamp": True, + }, + }, + "handlers": { + "console": { + "level": level, + "class": handler_classes["stream"], + "no_color": no_color, + "stream": log_streams["stdout"], + "filters": ["exclude_warnings"], + "formatter": "indent", + }, + "console_errors": { + "level": "WARNING", + "class": handler_classes["stream"], + "no_color": no_color, + "stream": log_streams["stderr"], + "formatter": "indent", + }, + "user_log": { + "level": "DEBUG", + "class": handler_classes["file"], + "filename": additional_log_file, + "delay": True, + "formatter": "indent_with_timestamp", + }, + }, + "root": { + "level": root_level, + "handlers": ["console", "console_errors"] + ( + ["user_log"] if include_user_log else [] + ), + }, + "loggers": { + "pip._vendor": { + "level": vendored_log_level + } + }, + }) + + return level_number diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/misc.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/misc.py new file mode 100644 index 0000000000..84605ee36f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/misc.py @@ -0,0 +1,1040 @@ +from __future__ import absolute_import + +import contextlib +import errno +import io +import locale +# we have a submodule named 'logging' which would shadow this if we used the +# regular name: +import logging as std_logging +import os +import posixpath +import re +import shutil +import stat +import subprocess +import sys +import tarfile +import zipfile +from collections import deque + +from pip._vendor import pkg_resources +# NOTE: retrying is not annotated in typeshed as on 2017-07-17, which is +# why we ignore the type on this import. +from pip._vendor.retrying import retry # type: ignore +from pip._vendor.six import PY2 +from pip._vendor.six.moves import input +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote + +from pip._internal.exceptions import CommandError, InstallationError +from pip._internal.locations import ( + running_under_virtualenv, site_packages, user_site, virtualenv_no_global, + write_delete_marker_file, +) +from pip._internal.utils.compat import ( + WINDOWS, console_to_str, expanduser, stdlib_pkgs, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if PY2: + from io import BytesIO as StringIO +else: + from io import StringIO + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Optional, Tuple, Iterable, List, Match, Union, Any, Mapping, Text, + AnyStr, Container + ) + from pip._vendor.pkg_resources import Distribution # noqa: F401 + from pip._internal.models.link import Link # noqa: F401 + from pip._internal.utils.ui import SpinnerInterface # noqa: F401 + + +__all__ = ['rmtree', 'display_path', 'backup_dir', + 'ask', 'splitext', + 'format_size', 'is_installable_dir', + 'is_svn_page', 'file_contents', + 'split_leading_dir', 'has_leading_dir', + 'normalize_path', + 'renames', 'get_prog', + 'unzip_file', 'untar_file', 'unpack_file', 'call_subprocess', + 'captured_stdout', 'ensure_dir', + 'ARCHIVE_EXTENSIONS', 'SUPPORTED_EXTENSIONS', 'WHEEL_EXTENSION', + 'get_installed_version', 'remove_auth_from_url'] + + +logger = std_logging.getLogger(__name__) + +WHEEL_EXTENSION = '.whl' +BZ2_EXTENSIONS = ('.tar.bz2', '.tbz') +XZ_EXTENSIONS = ('.tar.xz', '.txz', '.tlz', '.tar.lz', '.tar.lzma') +ZIP_EXTENSIONS = ('.zip', WHEEL_EXTENSION) +TAR_EXTENSIONS = ('.tar.gz', '.tgz', '.tar') +ARCHIVE_EXTENSIONS = ( + ZIP_EXTENSIONS + BZ2_EXTENSIONS + TAR_EXTENSIONS + XZ_EXTENSIONS) +SUPPORTED_EXTENSIONS = ZIP_EXTENSIONS + TAR_EXTENSIONS + +try: + import bz2 # noqa + SUPPORTED_EXTENSIONS += BZ2_EXTENSIONS +except ImportError: + logger.debug('bz2 module is not available') + +try: + # Only for Python 3.3+ + import lzma # noqa + SUPPORTED_EXTENSIONS += XZ_EXTENSIONS +except ImportError: + logger.debug('lzma module is not available') + + +def ensure_dir(path): + # type: (AnyStr) -> None + """os.path.makedirs without EEXIST.""" + try: + os.makedirs(path) + except OSError as e: + if e.errno != errno.EEXIST: + raise + + +def get_prog(): + # type: () -> str + try: + prog = os.path.basename(sys.argv[0]) + if prog in ('__main__.py', '-c'): + return "%s -m pip" % sys.executable + else: + return prog + except (AttributeError, TypeError, IndexError): + pass + return 'pip' + + +# Retry every half second for up to 3 seconds +@retry(stop_max_delay=3000, wait_fixed=500) +def rmtree(dir, ignore_errors=False): + # type: (str, bool) -> None + shutil.rmtree(dir, ignore_errors=ignore_errors, + onerror=rmtree_errorhandler) + + +def rmtree_errorhandler(func, path, exc_info): + """On Windows, the files in .svn are read-only, so when rmtree() tries to + remove them, an exception is thrown. We catch that here, remove the + read-only attribute, and hopefully continue without problems.""" + # if file type currently read only + if os.stat(path).st_mode & stat.S_IREAD: + # convert to read/write + os.chmod(path, stat.S_IWRITE) + # use the original function to repeat the operation + func(path) + return + else: + raise + + +def display_path(path): + # type: (Union[str, Text]) -> str + """Gives the display value for a given path, making it relative to cwd + if possible.""" + path = os.path.normcase(os.path.abspath(path)) + if sys.version_info[0] == 2: + path = path.decode(sys.getfilesystemencoding(), 'replace') + path = path.encode(sys.getdefaultencoding(), 'replace') + if path.startswith(os.getcwd() + os.path.sep): + path = '.' + path[len(os.getcwd()):] + return path + + +def backup_dir(dir, ext='.bak'): + # type: (str, str) -> str + """Figure out the name of a directory to back up the given dir to + (adding .bak, .bak2, etc)""" + n = 1 + extension = ext + while os.path.exists(dir + extension): + n += 1 + extension = ext + str(n) + return dir + extension + + +def ask_path_exists(message, options): + # type: (str, Iterable[str]) -> str + for action in os.environ.get('PIP_EXISTS_ACTION', '').split(): + if action in options: + return action + return ask(message, options) + + +def ask(message, options): + # type: (str, Iterable[str]) -> str + """Ask the message interactively, with the given possible responses""" + while 1: + if os.environ.get('PIP_NO_INPUT'): + raise Exception( + 'No input was expected ($PIP_NO_INPUT set); question: %s' % + message + ) + response = input(message) + response = response.strip().lower() + if response not in options: + print( + 'Your response (%r) was not one of the expected responses: ' + '%s' % (response, ', '.join(options)) + ) + else: + return response + + +def format_size(bytes): + # type: (float) -> str + if bytes > 1000 * 1000: + return '%.1fMB' % (bytes / 1000.0 / 1000) + elif bytes > 10 * 1000: + return '%ikB' % (bytes / 1000) + elif bytes > 1000: + return '%.1fkB' % (bytes / 1000.0) + else: + return '%ibytes' % bytes + + +def is_installable_dir(path): + # type: (str) -> bool + """Is path is a directory containing setup.py or pyproject.toml? + """ + if not os.path.isdir(path): + return False + setup_py = os.path.join(path, 'setup.py') + if os.path.isfile(setup_py): + return True + pyproject_toml = os.path.join(path, 'pyproject.toml') + if os.path.isfile(pyproject_toml): + return True + return False + + +def is_svn_page(html): + # type: (Union[str, Text]) -> Optional[Match[Union[str, Text]]] + """ + Returns true if the page appears to be the index page of an svn repository + """ + return (re.search(r'[^<]*Revision \d+:', html) and + re.search(r'Powered by (?:<a[^>]*?>)?Subversion', html, re.I)) + + +def file_contents(filename): + # type: (str) -> Text + with open(filename, 'rb') as fp: + return fp.read().decode('utf-8') + + +def read_chunks(file, size=io.DEFAULT_BUFFER_SIZE): + """Yield pieces of data from a file-like object until EOF.""" + while True: + chunk = file.read(size) + if not chunk: + break + yield chunk + + +def split_leading_dir(path): + # type: (Union[str, Text]) -> List[Union[str, Text]] + path = path.lstrip('/').lstrip('\\') + if '/' in path and (('\\' in path and path.find('/') < path.find('\\')) or + '\\' not in path): + return path.split('/', 1) + elif '\\' in path: + return path.split('\\', 1) + else: + return [path, ''] + + +def has_leading_dir(paths): + # type: (Iterable[Union[str, Text]]) -> bool + """Returns true if all the paths have the same leading path name + (i.e., everything is in one subdirectory in an archive)""" + common_prefix = None + for path in paths: + prefix, rest = split_leading_dir(path) + if not prefix: + return False + elif common_prefix is None: + common_prefix = prefix + elif prefix != common_prefix: + return False + return True + + +def normalize_path(path, resolve_symlinks=True): + # type: (str, bool) -> str + """ + Convert a path to its canonical, case-normalized, absolute version. + + """ + path = expanduser(path) + if resolve_symlinks: + path = os.path.realpath(path) + else: + path = os.path.abspath(path) + return os.path.normcase(path) + + +def splitext(path): + # type: (str) -> Tuple[str, str] + """Like os.path.splitext, but take off .tar too""" + base, ext = posixpath.splitext(path) + if base.lower().endswith('.tar'): + ext = base[-4:] + ext + base = base[:-4] + return base, ext + + +def renames(old, new): + # type: (str, str) -> None + """Like os.renames(), but handles renaming across devices.""" + # Implementation borrowed from os.renames(). + head, tail = os.path.split(new) + if head and tail and not os.path.exists(head): + os.makedirs(head) + + shutil.move(old, new) + + head, tail = os.path.split(old) + if head and tail: + try: + os.removedirs(head) + except OSError: + pass + + +def is_local(path): + # type: (str) -> bool + """ + Return True if path is within sys.prefix, if we're running in a virtualenv. + + If we're not in a virtualenv, all paths are considered "local." + + """ + if not running_under_virtualenv(): + return True + return normalize_path(path).startswith(normalize_path(sys.prefix)) + + +def dist_is_local(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution object is installed locally + (i.e. within current virtualenv). + + Always True if we're not in a virtualenv. + + """ + return is_local(dist_location(dist)) + + +def dist_in_usersite(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is installed in user site. + """ + norm_path = normalize_path(dist_location(dist)) + return norm_path.startswith(normalize_path(user_site)) + + +def dist_in_site_packages(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is installed in + sysconfig.get_python_lib(). + """ + return normalize_path( + dist_location(dist) + ).startswith(normalize_path(site_packages)) + + +def dist_is_editable(dist): + # type: (Distribution) -> bool + """ + Return True if given Distribution is an editable install. + """ + for path_item in sys.path: + egg_link = os.path.join(path_item, dist.project_name + '.egg-link') + if os.path.isfile(egg_link): + return True + return False + + +def get_installed_distributions(local_only=True, + skip=stdlib_pkgs, + include_editables=True, + editables_only=False, + user_only=False): + # type: (bool, Container[str], bool, bool, bool) -> List[Distribution] + """ + Return a list of installed Distribution objects. + + If ``local_only`` is True (default), only return installations + local to the current virtualenv, if in a virtualenv. + + ``skip`` argument is an iterable of lower-case project names to + ignore; defaults to stdlib_pkgs + + If ``include_editables`` is False, don't report editables. + + If ``editables_only`` is True , only report editables. + + If ``user_only`` is True , only report installations in the user + site directory. + + """ + if local_only: + local_test = dist_is_local + else: + def local_test(d): + return True + + if include_editables: + def editable_test(d): + return True + else: + def editable_test(d): + return not dist_is_editable(d) + + if editables_only: + def editables_only_test(d): + return dist_is_editable(d) + else: + def editables_only_test(d): + return True + + if user_only: + user_test = dist_in_usersite + else: + def user_test(d): + return True + + # because of pkg_resources vendoring, mypy cannot find stub in typeshed + return [d for d in pkg_resources.working_set # type: ignore + if local_test(d) and + d.key not in skip and + editable_test(d) and + editables_only_test(d) and + user_test(d) + ] + + +def egg_link_path(dist): + # type: (Distribution) -> Optional[str] + """ + Return the path for the .egg-link file if it exists, otherwise, None. + + There's 3 scenarios: + 1) not in a virtualenv + try to find in site.USER_SITE, then site_packages + 2) in a no-global virtualenv + try to find in site_packages + 3) in a yes-global virtualenv + try to find in site_packages, then site.USER_SITE + (don't look in global location) + + For #1 and #3, there could be odd cases, where there's an egg-link in 2 + locations. + + This method will just return the first one found. + """ + sites = [] + if running_under_virtualenv(): + if virtualenv_no_global(): + sites.append(site_packages) + else: + sites.append(site_packages) + if user_site: + sites.append(user_site) + else: + if user_site: + sites.append(user_site) + sites.append(site_packages) + + for site in sites: + egglink = os.path.join(site, dist.project_name) + '.egg-link' + if os.path.isfile(egglink): + return egglink + return None + + +def dist_location(dist): + # type: (Distribution) -> str + """ + Get the site-packages location of this distribution. Generally + this is dist.location, except in the case of develop-installed + packages, where dist.location is the source code location, and we + want to know where the egg-link file is. + + """ + egg_link = egg_link_path(dist) + if egg_link: + return egg_link + return dist.location + + +def current_umask(): + """Get the current umask which involves having to set it temporarily.""" + mask = os.umask(0) + os.umask(mask) + return mask + + +def unzip_file(filename, location, flatten=True): + # type: (str, str, bool) -> None + """ + Unzip the file (with path `filename`) to the destination `location`. All + files are written based on system defaults and umask (i.e. permissions are + not preserved), except that regular file members with any execute + permissions (user, group, or world) have "chmod +x" applied after being + written. Note that for windows, any execute changes using os.chmod are + no-ops per the python docs. + """ + ensure_dir(location) + zipfp = open(filename, 'rb') + try: + zip = zipfile.ZipFile(zipfp, allowZip64=True) + leading = has_leading_dir(zip.namelist()) and flatten + for info in zip.infolist(): + name = info.filename + fn = name + if leading: + fn = split_leading_dir(name)[1] + fn = os.path.join(location, fn) + dir = os.path.dirname(fn) + if fn.endswith('/') or fn.endswith('\\'): + # A directory + ensure_dir(fn) + else: + ensure_dir(dir) + # Don't use read() to avoid allocating an arbitrarily large + # chunk of memory for the file's content + fp = zip.open(name) + try: + with open(fn, 'wb') as destfp: + shutil.copyfileobj(fp, destfp) + finally: + fp.close() + mode = info.external_attr >> 16 + # if mode and regular file and any execute permissions for + # user/group/world? + if mode and stat.S_ISREG(mode) and mode & 0o111: + # make dest file have execute for user/group/world + # (chmod +x) no-op on windows per python docs + os.chmod(fn, (0o777 - current_umask() | 0o111)) + finally: + zipfp.close() + + +def untar_file(filename, location): + # type: (str, str) -> None + """ + Untar the file (with path `filename`) to the destination `location`. + All files are written based on system defaults and umask (i.e. permissions + are not preserved), except that regular file members with any execute + permissions (user, group, or world) have "chmod +x" applied after being + written. Note that for windows, any execute changes using os.chmod are + no-ops per the python docs. + """ + ensure_dir(location) + if filename.lower().endswith('.gz') or filename.lower().endswith('.tgz'): + mode = 'r:gz' + elif filename.lower().endswith(BZ2_EXTENSIONS): + mode = 'r:bz2' + elif filename.lower().endswith(XZ_EXTENSIONS): + mode = 'r:xz' + elif filename.lower().endswith('.tar'): + mode = 'r' + else: + logger.warning( + 'Cannot determine compression type for file %s', filename, + ) + mode = 'r:*' + tar = tarfile.open(filename, mode) + try: + leading = has_leading_dir([ + member.name for member in tar.getmembers() + ]) + for member in tar.getmembers(): + fn = member.name + if leading: + # https://github.com/python/mypy/issues/1174 + fn = split_leading_dir(fn)[1] # type: ignore + path = os.path.join(location, fn) + if member.isdir(): + ensure_dir(path) + elif member.issym(): + try: + # https://github.com/python/typeshed/issues/2673 + tar._extract_member(member, path) # type: ignore + except Exception as exc: + # Some corrupt tar files seem to produce this + # (specifically bad symlinks) + logger.warning( + 'In the tar file %s the member %s is invalid: %s', + filename, member.name, exc, + ) + continue + else: + try: + fp = tar.extractfile(member) + except (KeyError, AttributeError) as exc: + # Some corrupt tar files seem to produce this + # (specifically bad symlinks) + logger.warning( + 'In the tar file %s the member %s is invalid: %s', + filename, member.name, exc, + ) + continue + ensure_dir(os.path.dirname(path)) + with open(path, 'wb') as destfp: + shutil.copyfileobj(fp, destfp) + fp.close() + # Update the timestamp (useful for cython compiled files) + # https://github.com/python/typeshed/issues/2673 + tar.utime(member, path) # type: ignore + # member have any execute permissions for user/group/world? + if member.mode & 0o111: + # make dest file have execute for user/group/world + # no-op on windows per python docs + os.chmod(path, (0o777 - current_umask() | 0o111)) + finally: + tar.close() + + +def unpack_file( + filename, # type: str + location, # type: str + content_type, # type: Optional[str] + link # type: Optional[Link] +): + # type: (...) -> None + filename = os.path.realpath(filename) + if (content_type == 'application/zip' or + filename.lower().endswith(ZIP_EXTENSIONS) or + zipfile.is_zipfile(filename)): + unzip_file( + filename, + location, + flatten=not filename.endswith('.whl') + ) + elif (content_type == 'application/x-gzip' or + tarfile.is_tarfile(filename) or + filename.lower().endswith( + TAR_EXTENSIONS + BZ2_EXTENSIONS + XZ_EXTENSIONS)): + untar_file(filename, location) + elif (content_type and content_type.startswith('text/html') and + is_svn_page(file_contents(filename))): + # We don't really care about this + from pip._internal.vcs.subversion import Subversion + Subversion('svn+' + link.url).unpack(location) + else: + # FIXME: handle? + # FIXME: magic signatures? + logger.critical( + 'Cannot unpack file %s (downloaded from %s, content-type: %s); ' + 'cannot detect archive format', + filename, location, content_type, + ) + raise InstallationError( + 'Cannot determine archive format of %s' % location + ) + + +def call_subprocess( + cmd, # type: List[str] + show_stdout=True, # type: bool + cwd=None, # type: Optional[str] + on_returncode='raise', # type: str + extra_ok_returncodes=None, # type: Optional[Iterable[int]] + command_desc=None, # type: Optional[str] + extra_environ=None, # type: Optional[Mapping[str, Any]] + unset_environ=None, # type: Optional[Iterable[str]] + spinner=None # type: Optional[SpinnerInterface] +): + # type: (...) -> Optional[Text] + """ + Args: + extra_ok_returncodes: an iterable of integer return codes that are + acceptable, in addition to 0. Defaults to None, which means []. + unset_environ: an iterable of environment variable names to unset + prior to calling subprocess.Popen(). + """ + if extra_ok_returncodes is None: + extra_ok_returncodes = [] + if unset_environ is None: + unset_environ = [] + # This function's handling of subprocess output is confusing and I + # previously broke it terribly, so as penance I will write a long comment + # explaining things. + # + # The obvious thing that affects output is the show_stdout= + # kwarg. show_stdout=True means, let the subprocess write directly to our + # stdout. Even though it is nominally the default, it is almost never used + # inside pip (and should not be used in new code without a very good + # reason); as of 2016-02-22 it is only used in a few places inside the VCS + # wrapper code. Ideally we should get rid of it entirely, because it + # creates a lot of complexity here for a rarely used feature. + # + # Most places in pip set show_stdout=False. What this means is: + # - We connect the child stdout to a pipe, which we read. + # - By default, we hide the output but show a spinner -- unless the + # subprocess exits with an error, in which case we show the output. + # - If the --verbose option was passed (= loglevel is DEBUG), then we show + # the output unconditionally. (But in this case we don't want to show + # the output a second time if it turns out that there was an error.) + # + # stderr is always merged with stdout (even if show_stdout=True). + if show_stdout: + stdout = None + else: + stdout = subprocess.PIPE + if command_desc is None: + cmd_parts = [] + for part in cmd: + if ' ' in part or '\n' in part or '"' in part or "'" in part: + part = '"%s"' % part.replace('"', '\\"') + cmd_parts.append(part) + command_desc = ' '.join(cmd_parts) + logger.debug("Running command %s", command_desc) + env = os.environ.copy() + if extra_environ: + env.update(extra_environ) + for name in unset_environ: + env.pop(name, None) + try: + proc = subprocess.Popen( + cmd, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, + stdout=stdout, cwd=cwd, env=env, + ) + proc.stdin.close() + except Exception as exc: + logger.critical( + "Error %s while executing command %s", exc, command_desc, + ) + raise + all_output = [] + if stdout is not None: + while True: + line = console_to_str(proc.stdout.readline()) + if not line: + break + line = line.rstrip() + all_output.append(line + '\n') + if logger.getEffectiveLevel() <= std_logging.DEBUG: + # Show the line immediately + logger.debug(line) + else: + # Update the spinner + if spinner is not None: + spinner.spin() + try: + proc.wait() + finally: + if proc.stdout: + proc.stdout.close() + if spinner is not None: + if proc.returncode: + spinner.finish("error") + else: + spinner.finish("done") + if proc.returncode and proc.returncode not in extra_ok_returncodes: + if on_returncode == 'raise': + if (logger.getEffectiveLevel() > std_logging.DEBUG and + not show_stdout): + logger.info( + 'Complete output from command %s:', command_desc, + ) + logger.info( + ''.join(all_output) + + '\n----------------------------------------' + ) + raise InstallationError( + 'Command "%s" failed with error code %s in %s' + % (command_desc, proc.returncode, cwd)) + elif on_returncode == 'warn': + logger.warning( + 'Command "%s" had error code %s in %s', + command_desc, proc.returncode, cwd, + ) + elif on_returncode == 'ignore': + pass + else: + raise ValueError('Invalid value: on_returncode=%s' % + repr(on_returncode)) + if not show_stdout: + return ''.join(all_output) + return None + + +def read_text_file(filename): + # type: (str) -> str + """Return the contents of *filename*. + + Try to decode the file contents with utf-8, the preferred system encoding + (e.g., cp1252 on some Windows machines), and latin1, in that order. + Decoding a byte string with latin1 will never raise an error. In the worst + case, the returned string will contain some garbage characters. + + """ + with open(filename, 'rb') as fp: + data = fp.read() + + encodings = ['utf-8', locale.getpreferredencoding(False), 'latin1'] + for enc in encodings: + try: + # https://github.com/python/mypy/issues/1174 + data = data.decode(enc) # type: ignore + except UnicodeDecodeError: + continue + break + + assert not isinstance(data, bytes) # Latin1 should have worked. + return data + + +def _make_build_dir(build_dir): + os.makedirs(build_dir) + write_delete_marker_file(build_dir) + + +class FakeFile(object): + """Wrap a list of lines in an object with readline() to make + ConfigParser happy.""" + def __init__(self, lines): + self._gen = (l for l in lines) + + def readline(self): + try: + try: + return next(self._gen) + except NameError: + return self._gen.next() + except StopIteration: + return '' + + def __iter__(self): + return self._gen + + +class StreamWrapper(StringIO): + + @classmethod + def from_stream(cls, orig_stream): + cls.orig_stream = orig_stream + return cls() + + # compileall.compile_dir() needs stdout.encoding to print to stdout + @property + def encoding(self): + return self.orig_stream.encoding + + +@contextlib.contextmanager +def captured_output(stream_name): + """Return a context manager used by captured_stdout/stdin/stderr + that temporarily replaces the sys stream *stream_name* with a StringIO. + + Taken from Lib/support/__init__.py in the CPython repo. + """ + orig_stdout = getattr(sys, stream_name) + setattr(sys, stream_name, StreamWrapper.from_stream(orig_stdout)) + try: + yield getattr(sys, stream_name) + finally: + setattr(sys, stream_name, orig_stdout) + + +def captured_stdout(): + """Capture the output of sys.stdout: + + with captured_stdout() as stdout: + print('hello') + self.assertEqual(stdout.getvalue(), 'hello\n') + + Taken from Lib/support/__init__.py in the CPython repo. + """ + return captured_output('stdout') + + +def captured_stderr(): + """ + See captured_stdout(). + """ + return captured_output('stderr') + + +class cached_property(object): + """A property that is only computed once per instance and then replaces + itself with an ordinary attribute. Deleting the attribute resets the + property. + + Source: https://github.com/bottlepy/bottle/blob/0.11.5/bottle.py#L175 + """ + + def __init__(self, func): + self.__doc__ = getattr(func, '__doc__') + self.func = func + + def __get__(self, obj, cls): + if obj is None: + # We're being accessed from the class itself, not from an object + return self + value = obj.__dict__[self.func.__name__] = self.func(obj) + return value + + +def get_installed_version(dist_name, working_set=None): + """Get the installed version of dist_name avoiding pkg_resources cache""" + # Create a requirement that we'll look for inside of setuptools. + req = pkg_resources.Requirement.parse(dist_name) + + if working_set is None: + # We want to avoid having this cached, so we need to construct a new + # working set each time. + working_set = pkg_resources.WorkingSet() + + # Get the installed distribution from our working set + dist = working_set.find(req) + + # Check to see if we got an installed distribution or not, if we did + # we want to return it's version. + return dist.version if dist else None + + +def consume(iterator): + """Consume an iterable at C speed.""" + deque(iterator, maxlen=0) + + +# Simulates an enum +def enum(*sequential, **named): + enums = dict(zip(sequential, range(len(sequential))), **named) + reverse = {value: key for key, value in enums.items()} + enums['reverse_mapping'] = reverse + return type('Enum', (), enums) + + +def make_vcs_requirement_url(repo_url, rev, project_name, subdir=None): + """ + Return the URL for a VCS requirement. + + Args: + repo_url: the remote VCS url, with any needed VCS prefix (e.g. "git+"). + project_name: the (unescaped) project name. + """ + egg_project_name = pkg_resources.to_filename(project_name) + req = '{}@{}#egg={}'.format(repo_url, rev, egg_project_name) + if subdir: + req += '&subdirectory={}'.format(subdir) + + return req + + +def split_auth_from_netloc(netloc): + """ + Parse out and remove the auth information from a netloc. + + Returns: (netloc, (username, password)). + """ + if '@' not in netloc: + return netloc, (None, None) + + # Split from the right because that's how urllib.parse.urlsplit() + # behaves if more than one @ is present (which can be checked using + # the password attribute of urlsplit()'s return value). + auth, netloc = netloc.rsplit('@', 1) + if ':' in auth: + # Split from the left because that's how urllib.parse.urlsplit() + # behaves if more than one : is present (which again can be checked + # using the password attribute of the return value) + user_pass = auth.split(':', 1) + else: + user_pass = auth, None + + user_pass = tuple( + None if x is None else urllib_unquote(x) for x in user_pass + ) + + return netloc, user_pass + + +def redact_netloc(netloc): + # type: (str) -> str + """ + Replace the password in a netloc with "****", if it exists. + + For example, "user:pass@example.com" returns "user:****@example.com". + """ + netloc, (user, password) = split_auth_from_netloc(netloc) + if user is None: + return netloc + password = '' if password is None else ':****' + return '{user}{password}@{netloc}'.format(user=urllib_parse.quote(user), + password=password, + netloc=netloc) + + +def _transform_url(url, transform_netloc): + purl = urllib_parse.urlsplit(url) + netloc = transform_netloc(purl.netloc) + # stripped url + url_pieces = ( + purl.scheme, netloc, purl.path, purl.query, purl.fragment + ) + surl = urllib_parse.urlunsplit(url_pieces) + return surl + + +def _get_netloc(netloc): + return split_auth_from_netloc(netloc)[0] + + +def remove_auth_from_url(url): + # type: (str) -> str + # Return a copy of url with 'username:password@' removed. + # username/pass params are passed to subversion through flags + # and are not recognized in the url. + return _transform_url(url, _get_netloc) + + +def redact_password_from_url(url): + # type: (str) -> str + """Replace the password in a given url with ****.""" + return _transform_url(url, redact_netloc) + + +def protect_pip_from_modification_on_windows(modifying_pip): + """Protection of pip.exe from modification on Windows + + On Windows, any operation modifying pip should be run as: + python -m pip ... + """ + pip_names = [ + "pip.exe", + "pip{}.exe".format(sys.version_info[0]), + "pip{}.{}.exe".format(*sys.version_info[:2]) + ] + + # See https://github.com/pypa/pip/issues/1299 for more discussion + should_show_use_python_msg = ( + modifying_pip and + WINDOWS and + os.path.basename(sys.argv[0]) in pip_names + ) + + if should_show_use_python_msg: + new_command = [ + sys.executable, "-m", "pip" + ] + sys.argv[1:] + raise CommandError( + 'To modify pip, please run the following command:\n{}' + .format(" ".join(new_command)) + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/models.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/models.py new file mode 100644 index 0000000000..d5cb80a7cb --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/models.py @@ -0,0 +1,40 @@ +"""Utilities for defining models +""" + +import operator + + +class KeyBasedCompareMixin(object): + """Provides comparision capabilities that is based on a key + """ + + def __init__(self, key, defining_class): + self._compare_key = key + self._defining_class = defining_class + + def __hash__(self): + return hash(self._compare_key) + + def __lt__(self, other): + return self._compare(other, operator.__lt__) + + def __le__(self, other): + return self._compare(other, operator.__le__) + + def __gt__(self, other): + return self._compare(other, operator.__gt__) + + def __ge__(self, other): + return self._compare(other, operator.__ge__) + + def __eq__(self, other): + return self._compare(other, operator.__eq__) + + def __ne__(self, other): + return self._compare(other, operator.__ne__) + + def _compare(self, other, method): + if not isinstance(other, self._defining_class): + return NotImplemented + + return method(self._compare_key, other._compare_key) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/outdated.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/outdated.py new file mode 100644 index 0000000000..37c47a4a5a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/outdated.py @@ -0,0 +1,164 @@ +from __future__ import absolute_import + +import datetime +import json +import logging +import os.path +import sys + +from pip._vendor import lockfile, pkg_resources +from pip._vendor.packaging import version as packaging_version + +from pip._internal.index import PackageFinder +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.filesystem import check_path_owner +from pip._internal.utils.misc import ensure_dir, get_installed_version +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + import optparse # noqa: F401 + from typing import Any, Dict # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + + +SELFCHECK_DATE_FMT = "%Y-%m-%dT%H:%M:%SZ" + + +logger = logging.getLogger(__name__) + + +class SelfCheckState(object): + def __init__(self, cache_dir): + # type: (str) -> None + self.state = {} # type: Dict[str, Any] + self.statefile_path = None + + # Try to load the existing state + if cache_dir: + self.statefile_path = os.path.join(cache_dir, "selfcheck.json") + try: + with open(self.statefile_path) as statefile: + self.state = json.load(statefile)[sys.prefix] + except (IOError, ValueError, KeyError): + # Explicitly suppressing exceptions, since we don't want to + # error out if the cache file is invalid. + pass + + def save(self, pypi_version, current_time): + # type: (str, datetime.datetime) -> None + # If we do not have a path to cache in, don't bother saving. + if not self.statefile_path: + return + + # Check to make sure that we own the directory + if not check_path_owner(os.path.dirname(self.statefile_path)): + return + + # Now that we've ensured the directory is owned by this user, we'll go + # ahead and make sure that all our directories are created. + ensure_dir(os.path.dirname(self.statefile_path)) + + # Attempt to write out our version check file + with lockfile.LockFile(self.statefile_path): + if os.path.exists(self.statefile_path): + with open(self.statefile_path) as statefile: + state = json.load(statefile) + else: + state = {} + + state[sys.prefix] = { + "last_check": current_time.strftime(SELFCHECK_DATE_FMT), + "pypi_version": pypi_version, + } + + with open(self.statefile_path, "w") as statefile: + json.dump(state, statefile, sort_keys=True, + separators=(",", ":")) + + +def was_installed_by_pip(pkg): + # type: (str) -> bool + """Checks whether pkg was installed by pip + + This is used not to display the upgrade message when pip is in fact + installed by system package manager, such as dnf on Fedora. + """ + try: + dist = pkg_resources.get_distribution(pkg) + return (dist.has_metadata('INSTALLER') and + 'pip' in dist.get_metadata_lines('INSTALLER')) + except pkg_resources.DistributionNotFound: + return False + + +def pip_version_check(session, options): + # type: (PipSession, optparse.Values) -> None + """Check for an update for pip. + + Limit the frequency of checks to once per week. State is stored either in + the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix + of the pip script path. + """ + installed_version = get_installed_version("pip") + if not installed_version: + return + + pip_version = packaging_version.parse(installed_version) + pypi_version = None + + try: + state = SelfCheckState(cache_dir=options.cache_dir) + + current_time = datetime.datetime.utcnow() + # Determine if we need to refresh the state + if "last_check" in state.state and "pypi_version" in state.state: + last_check = datetime.datetime.strptime( + state.state["last_check"], + SELFCHECK_DATE_FMT + ) + if (current_time - last_check).total_seconds() < 7 * 24 * 60 * 60: + pypi_version = state.state["pypi_version"] + + # Refresh the version if we need to or just see if we need to warn + if pypi_version is None: + # Lets use PackageFinder to see what the latest pip version is + finder = PackageFinder( + find_links=options.find_links, + index_urls=[options.index_url] + options.extra_index_urls, + allow_all_prereleases=False, # Explicitly set to False + trusted_hosts=options.trusted_hosts, + session=session, + ) + all_candidates = finder.find_all_candidates("pip") + if not all_candidates: + return + pypi_version = str( + max(all_candidates, key=lambda c: c.version).version + ) + + # save that we've performed a check + state.save(pypi_version, current_time) + + remote_version = packaging_version.parse(pypi_version) + + # Determine if our pypi_version is older + if (pip_version < remote_version and + pip_version.base_version != remote_version.base_version and + was_installed_by_pip('pip')): + # Advise "python -m pip" on Windows to avoid issues + # with overwriting pip.exe. + if WINDOWS: + pip_cmd = "python -m pip" + else: + pip_cmd = "pip" + logger.warning( + "You are using pip version %s, however version %s is " + "available.\nYou should consider upgrading via the " + "'%s install --upgrade pip' command.", + pip_version, pypi_version, pip_cmd + ) + except Exception: + logger.debug( + "There was an error checking the latest version of pip", + exc_info=True, + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/packaging.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/packaging.py new file mode 100644 index 0000000000..7aaf7b5e85 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/packaging.py @@ -0,0 +1,85 @@ +from __future__ import absolute_import + +import logging +import sys +from email.parser import FeedParser + +from pip._vendor import pkg_resources +from pip._vendor.packaging import specifiers, version + +from pip._internal import exceptions +from pip._internal.utils.misc import display_path +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Optional # noqa: F401 + from email.message import Message # noqa: F401 + from pip._vendor.pkg_resources import Distribution # noqa: F401 + + +logger = logging.getLogger(__name__) + + +def check_requires_python(requires_python): + # type: (Optional[str]) -> bool + """ + Check if the python version in use match the `requires_python` specifier. + + Returns `True` if the version of python in use matches the requirement. + Returns `False` if the version of python in use does not matches the + requirement. + + Raises an InvalidSpecifier if `requires_python` have an invalid format. + """ + if requires_python is None: + # The package provides no information + return True + requires_python_specifier = specifiers.SpecifierSet(requires_python) + + # We only use major.minor.micro + python_version = version.parse('.'.join(map(str, sys.version_info[:3]))) + return python_version in requires_python_specifier + + +def get_metadata(dist): + # type: (Distribution) -> Message + if (isinstance(dist, pkg_resources.DistInfoDistribution) and + dist.has_metadata('METADATA')): + metadata = dist.get_metadata('METADATA') + elif dist.has_metadata('PKG-INFO'): + metadata = dist.get_metadata('PKG-INFO') + else: + logger.warning("No metadata found in %s", display_path(dist.location)) + metadata = '' + + feed_parser = FeedParser() + feed_parser.feed(metadata) + return feed_parser.close() + + +def check_dist_requires_python(dist): + pkg_info_dict = get_metadata(dist) + requires_python = pkg_info_dict.get('Requires-Python') + try: + if not check_requires_python(requires_python): + raise exceptions.UnsupportedPythonVersion( + "%s requires Python '%s' but the running Python is %s" % ( + dist.project_name, + requires_python, + '.'.join(map(str, sys.version_info[:3])),) + ) + except specifiers.InvalidSpecifier as e: + logger.warning( + "Package %s has an invalid Requires-Python entry %s - %s", + dist.project_name, requires_python, e, + ) + return + + +def get_installer(dist): + # type: (Distribution) -> str + if dist.has_metadata('INSTALLER'): + for line in dist.get_metadata_lines('INSTALLER'): + if line.strip(): + return line.strip() + return '' diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/setuptools_build.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/setuptools_build.py new file mode 100644 index 0000000000..03973e976c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/setuptools_build.py @@ -0,0 +1,8 @@ +# Shim to wrap setup.py invocation with setuptools +SETUPTOOLS_SHIM = ( + "import setuptools, tokenize;__file__=%r;" + "f=getattr(tokenize, 'open', open)(__file__);" + "code=f.read().replace('\\r\\n', '\\n');" + "f.close();" + "exec(compile(code, __file__, 'exec'))" +) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/temp_dir.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/temp_dir.py new file mode 100644 index 0000000000..2c81ad554c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/temp_dir.py @@ -0,0 +1,155 @@ +from __future__ import absolute_import + +import errno +import itertools +import logging +import os.path +import tempfile + +from pip._internal.utils.misc import rmtree + +logger = logging.getLogger(__name__) + + +class TempDirectory(object): + """Helper class that owns and cleans up a temporary directory. + + This class can be used as a context manager or as an OO representation of a + temporary directory. + + Attributes: + path + Location to the created temporary directory or None + delete + Whether the directory should be deleted when exiting + (when used as a contextmanager) + + Methods: + create() + Creates a temporary directory and stores its path in the path + attribute. + cleanup() + Deletes the temporary directory and sets path attribute to None + + When used as a context manager, a temporary directory is created on + entering the context and, if the delete attribute is True, on exiting the + context the created directory is deleted. + """ + + def __init__(self, path=None, delete=None, kind="temp"): + super(TempDirectory, self).__init__() + + if path is None and delete is None: + # If we were not given an explicit directory, and we were not given + # an explicit delete option, then we'll default to deleting. + delete = True + + self.path = path + self.delete = delete + self.kind = kind + + def __repr__(self): + return "<{} {!r}>".format(self.__class__.__name__, self.path) + + def __enter__(self): + self.create() + return self + + def __exit__(self, exc, value, tb): + if self.delete: + self.cleanup() + + def create(self): + """Create a temporary directory and store its path in self.path + """ + if self.path is not None: + logger.debug( + "Skipped creation of temporary directory: {}".format(self.path) + ) + return + # We realpath here because some systems have their default tmpdir + # symlinked to another directory. This tends to confuse build + # scripts, so we canonicalize the path by traversing potential + # symlinks here. + self.path = os.path.realpath( + tempfile.mkdtemp(prefix="pip-{}-".format(self.kind)) + ) + logger.debug("Created temporary directory: {}".format(self.path)) + + def cleanup(self): + """Remove the temporary directory created and reset state + """ + if self.path is not None and os.path.exists(self.path): + rmtree(self.path) + self.path = None + + +class AdjacentTempDirectory(TempDirectory): + """Helper class that creates a temporary directory adjacent to a real one. + + Attributes: + original + The original directory to create a temp directory for. + path + After calling create() or entering, contains the full + path to the temporary directory. + delete + Whether the directory should be deleted when exiting + (when used as a contextmanager) + + """ + # The characters that may be used to name the temp directory + # We always prepend a ~ and then rotate through these until + # a usable name is found. + # pkg_resources raises a different error for .dist-info folder + # with leading '-' and invalid metadata + LEADING_CHARS = "-~.=%0123456789" + + def __init__(self, original, delete=None): + super(AdjacentTempDirectory, self).__init__(delete=delete) + self.original = original.rstrip('/\\') + + @classmethod + def _generate_names(cls, name): + """Generates a series of temporary names. + + The algorithm replaces the leading characters in the name + with ones that are valid filesystem characters, but are not + valid package names (for both Python and pip definitions of + package). + """ + for i in range(1, len(name)): + for candidate in itertools.combinations_with_replacement( + cls.LEADING_CHARS, i - 1): + new_name = '~' + ''.join(candidate) + name[i:] + if new_name != name: + yield new_name + + # If we make it this far, we will have to make a longer name + for i in range(len(cls.LEADING_CHARS)): + for candidate in itertools.combinations_with_replacement( + cls.LEADING_CHARS, i): + new_name = '~' + ''.join(candidate) + name + if new_name != name: + yield new_name + + def create(self): + root, name = os.path.split(self.original) + for candidate in self._generate_names(name): + path = os.path.join(root, candidate) + try: + os.mkdir(path) + except OSError as ex: + # Continue if the name exists already + if ex.errno != errno.EEXIST: + raise + else: + self.path = os.path.realpath(path) + break + + if not self.path: + # Final fallback on the default behavior. + self.path = os.path.realpath( + tempfile.mkdtemp(prefix="pip-{}-".format(self.kind)) + ) + logger.debug("Created temporary directory: {}".format(self.path)) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/typing.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/typing.py new file mode 100644 index 0000000000..e085cdfeb2 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/typing.py @@ -0,0 +1,29 @@ +"""For neatly implementing static typing in pip. + +`mypy` - the static type analysis tool we use - uses the `typing` module, which +provides core functionality fundamental to mypy's functioning. + +Generally, `typing` would be imported at runtime and used in that fashion - +it acts as a no-op at runtime and does not have any run-time overhead by +design. + +As it turns out, `typing` is not vendorable - it uses separate sources for +Python 2/Python 3. Thus, this codebase can not expect it to be present. +To work around this, mypy allows the typing import to be behind a False-y +optional to prevent it from running at runtime and type-comments can be used +to remove the need for the types to be accessible directly during runtime. + +This module provides the False-y guard in a nicely named fashion so that a +curious maintainer can reach here to read this. + +In pip, all static-typing related imports should be guarded as follows: + + from pip._internal.utils.typing import MYPY_CHECK_RUNNING + + if MYPY_CHECK_RUNNING: + from typing import ... # noqa: F401 + +Ref: https://github.com/python/mypy/issues/3216 +""" + +MYPY_CHECK_RUNNING = False diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/ui.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/ui.py new file mode 100644 index 0000000000..433675d73f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/utils/ui.py @@ -0,0 +1,441 @@ +from __future__ import absolute_import, division + +import contextlib +import itertools +import logging +import sys +import time +from signal import SIGINT, default_int_handler, signal + +from pip._vendor import six +from pip._vendor.progress.bar import ( + Bar, ChargingBar, FillingCirclesBar, FillingSquaresBar, IncrementalBar, + ShadyBar, +) +from pip._vendor.progress.helpers import HIDE_CURSOR, SHOW_CURSOR, WritelnMixin +from pip._vendor.progress.spinner import Spinner + +from pip._internal.utils.compat import WINDOWS +from pip._internal.utils.logging import get_indentation +from pip._internal.utils.misc import format_size +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import Any, Iterator, IO # noqa: F401 + +try: + from pip._vendor import colorama +# Lots of different errors can come from this, including SystemError and +# ImportError. +except Exception: + colorama = None + +logger = logging.getLogger(__name__) + + +def _select_progress_class(preferred, fallback): + encoding = getattr(preferred.file, "encoding", None) + + # If we don't know what encoding this file is in, then we'll just assume + # that it doesn't support unicode and use the ASCII bar. + if not encoding: + return fallback + + # Collect all of the possible characters we want to use with the preferred + # bar. + characters = [ + getattr(preferred, "empty_fill", six.text_type()), + getattr(preferred, "fill", six.text_type()), + ] + characters += list(getattr(preferred, "phases", [])) + + # Try to decode the characters we're using for the bar using the encoding + # of the given file, if this works then we'll assume that we can use the + # fancier bar and if not we'll fall back to the plaintext bar. + try: + six.text_type().join(characters).encode(encoding) + except UnicodeEncodeError: + return fallback + else: + return preferred + + +_BaseBar = _select_progress_class(IncrementalBar, Bar) # type: Any + + +class InterruptibleMixin(object): + """ + Helper to ensure that self.finish() gets called on keyboard interrupt. + + This allows downloads to be interrupted without leaving temporary state + (like hidden cursors) behind. + + This class is similar to the progress library's existing SigIntMixin + helper, but as of version 1.2, that helper has the following problems: + + 1. It calls sys.exit(). + 2. It discards the existing SIGINT handler completely. + 3. It leaves its own handler in place even after an uninterrupted finish, + which will have unexpected delayed effects if the user triggers an + unrelated keyboard interrupt some time after a progress-displaying + download has already completed, for example. + """ + + def __init__(self, *args, **kwargs): + """ + Save the original SIGINT handler for later. + """ + super(InterruptibleMixin, self).__init__(*args, **kwargs) + + self.original_handler = signal(SIGINT, self.handle_sigint) + + # If signal() returns None, the previous handler was not installed from + # Python, and we cannot restore it. This probably should not happen, + # but if it does, we must restore something sensible instead, at least. + # The least bad option should be Python's default SIGINT handler, which + # just raises KeyboardInterrupt. + if self.original_handler is None: + self.original_handler = default_int_handler + + def finish(self): + """ + Restore the original SIGINT handler after finishing. + + This should happen regardless of whether the progress display finishes + normally, or gets interrupted. + """ + super(InterruptibleMixin, self).finish() + signal(SIGINT, self.original_handler) + + def handle_sigint(self, signum, frame): + """ + Call self.finish() before delegating to the original SIGINT handler. + + This handler should only be in place while the progress display is + active. + """ + self.finish() + self.original_handler(signum, frame) + + +class SilentBar(Bar): + + def update(self): + pass + + +class BlueEmojiBar(IncrementalBar): + + suffix = "%(percent)d%%" + bar_prefix = " " + bar_suffix = " " + phases = (u"\U0001F539", u"\U0001F537", u"\U0001F535") # type: Any + + +class DownloadProgressMixin(object): + + def __init__(self, *args, **kwargs): + super(DownloadProgressMixin, self).__init__(*args, **kwargs) + self.message = (" " * (get_indentation() + 2)) + self.message + + @property + def downloaded(self): + return format_size(self.index) + + @property + def download_speed(self): + # Avoid zero division errors... + if self.avg == 0.0: + return "..." + return format_size(1 / self.avg) + "/s" + + @property + def pretty_eta(self): + if self.eta: + return "eta %s" % self.eta_td + return "" + + def iter(self, it, n=1): + for x in it: + yield x + self.next(n) + self.finish() + + +class WindowsMixin(object): + + def __init__(self, *args, **kwargs): + # The Windows terminal does not support the hide/show cursor ANSI codes + # even with colorama. So we'll ensure that hide_cursor is False on + # Windows. + # This call neds to go before the super() call, so that hide_cursor + # is set in time. The base progress bar class writes the "hide cursor" + # code to the terminal in its init, so if we don't set this soon + # enough, we get a "hide" with no corresponding "show"... + if WINDOWS and self.hide_cursor: + self.hide_cursor = False + + super(WindowsMixin, self).__init__(*args, **kwargs) + + # Check if we are running on Windows and we have the colorama module, + # if we do then wrap our file with it. + if WINDOWS and colorama: + self.file = colorama.AnsiToWin32(self.file) + # The progress code expects to be able to call self.file.isatty() + # but the colorama.AnsiToWin32() object doesn't have that, so we'll + # add it. + self.file.isatty = lambda: self.file.wrapped.isatty() + # The progress code expects to be able to call self.file.flush() + # but the colorama.AnsiToWin32() object doesn't have that, so we'll + # add it. + self.file.flush = lambda: self.file.wrapped.flush() + + +class BaseDownloadProgressBar(WindowsMixin, InterruptibleMixin, + DownloadProgressMixin): + + file = sys.stdout + message = "%(percent)d%%" + suffix = "%(downloaded)s %(download_speed)s %(pretty_eta)s" + +# NOTE: The "type: ignore" comments on the following classes are there to +# work around https://github.com/python/typing/issues/241 + + +class DefaultDownloadProgressBar(BaseDownloadProgressBar, + _BaseBar): + pass + + +class DownloadSilentBar(BaseDownloadProgressBar, SilentBar): # type: ignore + pass + + +class DownloadIncrementalBar(BaseDownloadProgressBar, # type: ignore + IncrementalBar): + pass + + +class DownloadChargingBar(BaseDownloadProgressBar, # type: ignore + ChargingBar): + pass + + +class DownloadShadyBar(BaseDownloadProgressBar, ShadyBar): # type: ignore + pass + + +class DownloadFillingSquaresBar(BaseDownloadProgressBar, # type: ignore + FillingSquaresBar): + pass + + +class DownloadFillingCirclesBar(BaseDownloadProgressBar, # type: ignore + FillingCirclesBar): + pass + + +class DownloadBlueEmojiProgressBar(BaseDownloadProgressBar, # type: ignore + BlueEmojiBar): + pass + + +class DownloadProgressSpinner(WindowsMixin, InterruptibleMixin, + DownloadProgressMixin, WritelnMixin, Spinner): + + file = sys.stdout + suffix = "%(downloaded)s %(download_speed)s" + + def next_phase(self): + if not hasattr(self, "_phaser"): + self._phaser = itertools.cycle(self.phases) + return next(self._phaser) + + def update(self): + message = self.message % self + phase = self.next_phase() + suffix = self.suffix % self + line = ''.join([ + message, + " " if message else "", + phase, + " " if suffix else "", + suffix, + ]) + + self.writeln(line) + + +BAR_TYPES = { + "off": (DownloadSilentBar, DownloadSilentBar), + "on": (DefaultDownloadProgressBar, DownloadProgressSpinner), + "ascii": (DownloadIncrementalBar, DownloadProgressSpinner), + "pretty": (DownloadFillingCirclesBar, DownloadProgressSpinner), + "emoji": (DownloadBlueEmojiProgressBar, DownloadProgressSpinner) +} + + +def DownloadProgressProvider(progress_bar, max=None): + if max is None or max == 0: + return BAR_TYPES[progress_bar][1]().iter + else: + return BAR_TYPES[progress_bar][0](max=max).iter + + +################################################################ +# Generic "something is happening" spinners +# +# We don't even try using progress.spinner.Spinner here because it's actually +# simpler to reimplement from scratch than to coerce their code into doing +# what we need. +################################################################ + +@contextlib.contextmanager +def hidden_cursor(file): + # type: (IO) -> Iterator[None] + # The Windows terminal does not support the hide/show cursor ANSI codes, + # even via colorama. So don't even try. + if WINDOWS: + yield + # We don't want to clutter the output with control characters if we're + # writing to a file, or if the user is running with --quiet. + # See https://github.com/pypa/pip/issues/3418 + elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO: + yield + else: + file.write(HIDE_CURSOR) + try: + yield + finally: + file.write(SHOW_CURSOR) + + +class RateLimiter(object): + def __init__(self, min_update_interval_seconds): + # type: (float) -> None + self._min_update_interval_seconds = min_update_interval_seconds + self._last_update = 0 # type: float + + def ready(self): + # type: () -> bool + now = time.time() + delta = now - self._last_update + return delta >= self._min_update_interval_seconds + + def reset(self): + # type: () -> None + self._last_update = time.time() + + +class SpinnerInterface(object): + def spin(self): + # type: () -> None + raise NotImplementedError() + + def finish(self, final_status): + # type: (str) -> None + raise NotImplementedError() + + +class InteractiveSpinner(SpinnerInterface): + def __init__(self, message, file=None, spin_chars="-\\|/", + # Empirically, 8 updates/second looks nice + min_update_interval_seconds=0.125): + self._message = message + if file is None: + file = sys.stdout + self._file = file + self._rate_limiter = RateLimiter(min_update_interval_seconds) + self._finished = False + + self._spin_cycle = itertools.cycle(spin_chars) + + self._file.write(" " * get_indentation() + self._message + " ... ") + self._width = 0 + + def _write(self, status): + assert not self._finished + # Erase what we wrote before by backspacing to the beginning, writing + # spaces to overwrite the old text, and then backspacing again + backup = "\b" * self._width + self._file.write(backup + " " * self._width + backup) + # Now we have a blank slate to add our status + self._file.write(status) + self._width = len(status) + self._file.flush() + self._rate_limiter.reset() + + def spin(self): + # type: () -> None + if self._finished: + return + if not self._rate_limiter.ready(): + return + self._write(next(self._spin_cycle)) + + def finish(self, final_status): + # type: (str) -> None + if self._finished: + return + self._write(final_status) + self._file.write("\n") + self._file.flush() + self._finished = True + + +# Used for dumb terminals, non-interactive installs (no tty), etc. +# We still print updates occasionally (once every 60 seconds by default) to +# act as a keep-alive for systems like Travis-CI that take lack-of-output as +# an indication that a task has frozen. +class NonInteractiveSpinner(SpinnerInterface): + def __init__(self, message, min_update_interval_seconds=60): + # type: (str, float) -> None + self._message = message + self._finished = False + self._rate_limiter = RateLimiter(min_update_interval_seconds) + self._update("started") + + def _update(self, status): + assert not self._finished + self._rate_limiter.reset() + logger.info("%s: %s", self._message, status) + + def spin(self): + # type: () -> None + if self._finished: + return + if not self._rate_limiter.ready(): + return + self._update("still running...") + + def finish(self, final_status): + # type: (str) -> None + if self._finished: + return + self._update("finished with status '%s'" % (final_status,)) + self._finished = True + + +@contextlib.contextmanager +def open_spinner(message): + # type: (str) -> Iterator[SpinnerInterface] + # Interactive spinner goes directly to sys.stdout rather than being routed + # through the logging system, but it acts like it has level INFO, + # i.e. it's only displayed if we're at level INFO or better. + # Non-interactive spinner goes through the logging system, so it is always + # in sync with logging configuration. + if sys.stdout.isatty() and logger.getEffectiveLevel() <= logging.INFO: + spinner = InteractiveSpinner(message) # type: SpinnerInterface + else: + spinner = NonInteractiveSpinner(message) + try: + with hidden_cursor(sys.stdout): + yield spinner + except KeyboardInterrupt: + spinner.finish("canceled") + raise + except Exception: + spinner.finish("error") + raise + else: + spinner.finish("done") diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/__init__.py new file mode 100644 index 0000000000..9cba76464c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/__init__.py @@ -0,0 +1,534 @@ +"""Handles all VCS (version control) support""" +from __future__ import absolute_import + +import errno +import logging +import os +import shutil +import sys + +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.exceptions import BadCommand +from pip._internal.utils.misc import ( + display_path, backup_dir, call_subprocess, rmtree, ask_path_exists, +) +from pip._internal.utils.typing import MYPY_CHECK_RUNNING + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Any, Dict, Iterable, List, Mapping, Optional, Text, Tuple, Type + ) + from pip._internal.utils.ui import SpinnerInterface # noqa: F401 + + AuthInfo = Tuple[Optional[str], Optional[str]] + +__all__ = ['vcs'] + + +logger = logging.getLogger(__name__) + + +class RemoteNotFoundError(Exception): + pass + + +class RevOptions(object): + + """ + Encapsulates a VCS-specific revision to install, along with any VCS + install options. + + Instances of this class should be treated as if immutable. + """ + + def __init__(self, vcs, rev=None, extra_args=None): + # type: (VersionControl, Optional[str], Optional[List[str]]) -> None + """ + Args: + vcs: a VersionControl object. + rev: the name of the revision to install. + extra_args: a list of extra options. + """ + if extra_args is None: + extra_args = [] + + self.extra_args = extra_args + self.rev = rev + self.vcs = vcs + + def __repr__(self): + return '<RevOptions {}: rev={!r}>'.format(self.vcs.name, self.rev) + + @property + def arg_rev(self): + # type: () -> Optional[str] + if self.rev is None: + return self.vcs.default_arg_rev + + return self.rev + + def to_args(self): + # type: () -> List[str] + """ + Return the VCS-specific command arguments. + """ + args = [] # type: List[str] + rev = self.arg_rev + if rev is not None: + args += self.vcs.get_base_rev_args(rev) + args += self.extra_args + + return args + + def to_display(self): + # type: () -> str + if not self.rev: + return '' + + return ' (to revision {})'.format(self.rev) + + def make_new(self, rev): + # type: (str) -> RevOptions + """ + Make a copy of the current instance, but with a new rev. + + Args: + rev: the name of the revision for the new object. + """ + return self.vcs.make_rev_options(rev, extra_args=self.extra_args) + + +class VcsSupport(object): + _registry = {} # type: Dict[str, Type[VersionControl]] + schemes = ['ssh', 'git', 'hg', 'bzr', 'sftp', 'svn'] + + def __init__(self): + # type: () -> None + # Register more schemes with urlparse for various version control + # systems + urllib_parse.uses_netloc.extend(self.schemes) + # Python >= 2.7.4, 3.3 doesn't have uses_fragment + if getattr(urllib_parse, 'uses_fragment', None): + urllib_parse.uses_fragment.extend(self.schemes) + super(VcsSupport, self).__init__() + + def __iter__(self): + return self._registry.__iter__() + + @property + def backends(self): + # type: () -> List[Type[VersionControl]] + return list(self._registry.values()) + + @property + def dirnames(self): + # type: () -> List[str] + return [backend.dirname for backend in self.backends] + + @property + def all_schemes(self): + # type: () -> List[str] + schemes = [] # type: List[str] + for backend in self.backends: + schemes.extend(backend.schemes) + return schemes + + def register(self, cls): + # type: (Type[VersionControl]) -> None + if not hasattr(cls, 'name'): + logger.warning('Cannot register VCS %s', cls.__name__) + return + if cls.name not in self._registry: + self._registry[cls.name] = cls + logger.debug('Registered VCS backend: %s', cls.name) + + def unregister(self, cls=None, name=None): + # type: (Optional[Type[VersionControl]], Optional[str]) -> None + if name in self._registry: + del self._registry[name] + elif cls in self._registry.values(): + del self._registry[cls.name] + else: + logger.warning('Cannot unregister because no class or name given') + + def get_backend_type(self, location): + # type: (str) -> Optional[Type[VersionControl]] + """ + Return the type of the version control backend if found at given + location, e.g. vcs.get_backend_type('/path/to/vcs/checkout') + """ + for vc_type in self._registry.values(): + if vc_type.controls_location(location): + logger.debug('Determine that %s uses VCS: %s', + location, vc_type.name) + return vc_type + return None + + def get_backend(self, name): + # type: (str) -> Optional[Type[VersionControl]] + name = name.lower() + if name in self._registry: + return self._registry[name] + return None + + +vcs = VcsSupport() + + +class VersionControl(object): + name = '' + dirname = '' + repo_name = '' + # List of supported schemes for this Version Control + schemes = () # type: Tuple[str, ...] + # Iterable of environment variable names to pass to call_subprocess(). + unset_environ = () # type: Tuple[str, ...] + default_arg_rev = None # type: Optional[str] + + def __init__(self, url=None, *args, **kwargs): + self.url = url + super(VersionControl, self).__init__(*args, **kwargs) + + def get_base_rev_args(self, rev): + """ + Return the base revision arguments for a vcs command. + + Args: + rev: the name of a revision to install. Cannot be None. + """ + raise NotImplementedError + + def make_rev_options(self, rev=None, extra_args=None): + # type: (Optional[str], Optional[List[str]]) -> RevOptions + """ + Return a RevOptions object. + + Args: + rev: the name of a revision to install. + extra_args: a list of extra options. + """ + return RevOptions(self, rev, extra_args=extra_args) + + @classmethod + def _is_local_repository(cls, repo): + # type: (str) -> bool + """ + posix absolute paths start with os.path.sep, + win32 ones start with drive (like c:\\folder) + """ + drive, tail = os.path.splitdrive(repo) + return repo.startswith(os.path.sep) or bool(drive) + + def export(self, location): + """ + Export the repository at the url to the destination location + i.e. only download the files, without vcs informations + """ + raise NotImplementedError + + def get_netloc_and_auth(self, netloc, scheme): + """ + Parse the repository URL's netloc, and return the new netloc to use + along with auth information. + + Args: + netloc: the original repository URL netloc. + scheme: the repository URL's scheme without the vcs prefix. + + This is mainly for the Subversion class to override, so that auth + information can be provided via the --username and --password options + instead of through the URL. For other subclasses like Git without + such an option, auth information must stay in the URL. + + Returns: (netloc, (username, password)). + """ + return netloc, (None, None) + + def get_url_rev_and_auth(self, url): + # type: (str) -> Tuple[str, Optional[str], AuthInfo] + """ + Parse the repository URL to use, and return the URL, revision, + and auth info to use. + + Returns: (url, rev, (username, password)). + """ + scheme, netloc, path, query, frag = urllib_parse.urlsplit(url) + if '+' not in scheme: + raise ValueError( + "Sorry, {!r} is a malformed VCS url. " + "The format is <vcs>+<protocol>://<url>, " + "e.g. svn+http://myrepo/svn/MyApp#egg=MyApp".format(url) + ) + # Remove the vcs prefix. + scheme = scheme.split('+', 1)[1] + netloc, user_pass = self.get_netloc_and_auth(netloc, scheme) + rev = None + if '@' in path: + path, rev = path.rsplit('@', 1) + url = urllib_parse.urlunsplit((scheme, netloc, path, query, '')) + return url, rev, user_pass + + def make_rev_args(self, username, password): + """ + Return the RevOptions "extra arguments" to use in obtain(). + """ + return [] + + def get_url_rev_options(self, url): + # type: (str) -> Tuple[str, RevOptions] + """ + Return the URL and RevOptions object to use in obtain() and in + some cases export(), as a tuple (url, rev_options). + """ + url, rev, user_pass = self.get_url_rev_and_auth(url) + username, password = user_pass + extra_args = self.make_rev_args(username, password) + rev_options = self.make_rev_options(rev, extra_args=extra_args) + + return url, rev_options + + def normalize_url(self, url): + # type: (str) -> str + """ + Normalize a URL for comparison by unquoting it and removing any + trailing slash. + """ + return urllib_parse.unquote(url).rstrip('/') + + def compare_urls(self, url1, url2): + # type: (str, str) -> bool + """ + Compare two repo URLs for identity, ignoring incidental differences. + """ + return (self.normalize_url(url1) == self.normalize_url(url2)) + + def fetch_new(self, dest, url, rev_options): + """ + Fetch a revision from a repository, in the case that this is the + first fetch from the repository. + + Args: + dest: the directory to fetch the repository to. + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def switch(self, dest, url, rev_options): + """ + Switch the repo at ``dest`` to point to ``URL``. + + Args: + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def update(self, dest, url, rev_options): + """ + Update an already-existing repo to the given ``rev_options``. + + Args: + rev_options: a RevOptions object. + """ + raise NotImplementedError + + def is_commit_id_equal(self, dest, name): + """ + Return whether the id of the current commit equals the given name. + + Args: + dest: the repository directory. + name: a string name. + """ + raise NotImplementedError + + def obtain(self, dest): + # type: (str) -> None + """ + Install or update in editable mode the package represented by this + VersionControl object. + + Args: + dest: the repository directory in which to install or update. + """ + url, rev_options = self.get_url_rev_options(self.url) + + if not os.path.exists(dest): + self.fetch_new(dest, url, rev_options) + return + + rev_display = rev_options.to_display() + if self.is_repository_directory(dest): + existing_url = self.get_remote_url(dest) + if self.compare_urls(existing_url, url): + logger.debug( + '%s in %s exists, and has correct URL (%s)', + self.repo_name.title(), + display_path(dest), + url, + ) + if not self.is_commit_id_equal(dest, rev_options.rev): + logger.info( + 'Updating %s %s%s', + display_path(dest), + self.repo_name, + rev_display, + ) + self.update(dest, url, rev_options) + else: + logger.info('Skipping because already up-to-date.') + return + + logger.warning( + '%s %s in %s exists with URL %s', + self.name, + self.repo_name, + display_path(dest), + existing_url, + ) + prompt = ('(s)witch, (i)gnore, (w)ipe, (b)ackup ', + ('s', 'i', 'w', 'b')) + else: + logger.warning( + 'Directory %s already exists, and is not a %s %s.', + dest, + self.name, + self.repo_name, + ) + # https://github.com/python/mypy/issues/1174 + prompt = ('(i)gnore, (w)ipe, (b)ackup ', # type: ignore + ('i', 'w', 'b')) + + logger.warning( + 'The plan is to install the %s repository %s', + self.name, + url, + ) + response = ask_path_exists('What to do? %s' % prompt[0], prompt[1]) + + if response == 'a': + sys.exit(-1) + + if response == 'w': + logger.warning('Deleting %s', display_path(dest)) + rmtree(dest) + self.fetch_new(dest, url, rev_options) + return + + if response == 'b': + dest_dir = backup_dir(dest) + logger.warning( + 'Backing up %s to %s', display_path(dest), dest_dir, + ) + shutil.move(dest, dest_dir) + self.fetch_new(dest, url, rev_options) + return + + # Do nothing if the response is "i". + if response == 's': + logger.info( + 'Switching %s %s to %s%s', + self.repo_name, + display_path(dest), + url, + rev_display, + ) + self.switch(dest, url, rev_options) + + def unpack(self, location): + # type: (str) -> None + """ + Clean up current location and download the url repository + (and vcs infos) into location + """ + if os.path.exists(location): + rmtree(location) + self.obtain(location) + + @classmethod + def get_src_requirement(cls, location, project_name): + """ + Return a string representing the requirement needed to + redownload the files currently present in location, something + like: + {repository_url}@{revision}#egg={project_name}-{version_identifier} + """ + raise NotImplementedError + + @classmethod + def get_remote_url(cls, location): + """ + Return the url used at location + + Raises RemoteNotFoundError if the repository does not have a remote + url configured. + """ + raise NotImplementedError + + @classmethod + def get_revision(cls, location): + """ + Return the current commit id of the files at the given location. + """ + raise NotImplementedError + + @classmethod + def run_command( + cls, + cmd, # type: List[str] + show_stdout=True, # type: bool + cwd=None, # type: Optional[str] + on_returncode='raise', # type: str + extra_ok_returncodes=None, # type: Optional[Iterable[int]] + command_desc=None, # type: Optional[str] + extra_environ=None, # type: Optional[Mapping[str, Any]] + spinner=None # type: Optional[SpinnerInterface] + ): + # type: (...) -> Optional[Text] + """ + Run a VCS subcommand + This is simply a wrapper around call_subprocess that adds the VCS + command name, and checks that the VCS is available + """ + cmd = [cls.name] + cmd + try: + return call_subprocess(cmd, show_stdout, cwd, + on_returncode=on_returncode, + extra_ok_returncodes=extra_ok_returncodes, + command_desc=command_desc, + extra_environ=extra_environ, + unset_environ=cls.unset_environ, + spinner=spinner) + except OSError as e: + # errno.ENOENT = no such file or directory + # In other words, the VCS executable isn't available + if e.errno == errno.ENOENT: + raise BadCommand( + 'Cannot find command %r - do you have ' + '%r installed and in your ' + 'PATH?' % (cls.name, cls.name)) + else: + raise # re-raise exception if a different error occurred + + @classmethod + def is_repository_directory(cls, path): + # type: (str) -> bool + """ + Return whether a directory path is a repository directory. + """ + logger.debug('Checking in %s for %s (%s)...', + path, cls.dirname, cls.name) + return os.path.exists(os.path.join(path, cls.dirname)) + + @classmethod + def controls_location(cls, location): + # type: (str) -> bool + """ + Check if a location is controlled by the vcs. + It is meant to be overridden to implement smarter detection + mechanisms for specific vcs. + + This can do more than is_repository_directory() alone. For example, + the Git override checks that Git is actually available. + """ + return cls.is_repository_directory(location) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/bazaar.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/bazaar.py new file mode 100644 index 0000000000..4c6ac79d11 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/bazaar.py @@ -0,0 +1,114 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._vendor.six.moves.urllib import parse as urllib_parse + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, rmtree, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import VersionControl, vcs + +logger = logging.getLogger(__name__) + + +class Bazaar(VersionControl): + name = 'bzr' + dirname = '.bzr' + repo_name = 'branch' + schemes = ( + 'bzr', 'bzr+http', 'bzr+https', 'bzr+ssh', 'bzr+sftp', 'bzr+ftp', + 'bzr+lp', + ) + + def __init__(self, url=None, *args, **kwargs): + super(Bazaar, self).__init__(url, *args, **kwargs) + # This is only needed for python <2.7.5 + # Register lp but do not expose as a scheme to support bzr+lp. + if getattr(urllib_parse, 'uses_fragment', None): + urllib_parse.uses_fragment.extend(['lp']) + + def get_base_rev_args(self, rev): + return ['-r', rev] + + def export(self, location): + """ + Export the Bazaar repository at the url to the destination location + """ + # Remove the location to make sure Bazaar can export it correctly + if os.path.exists(location): + rmtree(location) + + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + + self.run_command( + ['export', location], + cwd=temp_dir.path, show_stdout=False, + ) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Checking out %s%s to %s', + url, + rev_display, + display_path(dest), + ) + cmd_args = ['branch', '-q'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def switch(self, dest, url, rev_options): + self.run_command(['switch', url], cwd=dest) + + def update(self, dest, url, rev_options): + cmd_args = ['pull', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + def get_url_rev_and_auth(self, url): + # hotfix the URL scheme after removing bzr+ from bzr+ssh:// readd it + url, rev, user_pass = super(Bazaar, self).get_url_rev_and_auth(url) + if url.startswith('ssh://'): + url = 'bzr+' + url + return url, rev, user_pass + + @classmethod + def get_remote_url(cls, location): + urls = cls.run_command(['info'], show_stdout=False, cwd=location) + for line in urls.splitlines(): + line = line.strip() + for x in ('checkout of branch: ', + 'parent branch: '): + if line.startswith(x): + repo = line.split(x)[1] + if cls._is_local_repository(repo): + return path_to_url(repo) + return repo + return None + + @classmethod + def get_revision(cls, location): + revision = cls.run_command( + ['revno'], show_stdout=False, cwd=location, + ) + return revision.splitlines()[-1] + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo: + return None + if not repo.lower().startswith('bzr:'): + repo = 'bzr+' + repo + current_rev = cls.get_revision(location) + return make_vcs_requirement_url(repo, current_rev, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Bazaar) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/git.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/git.py new file mode 100644 index 0000000000..dd2bd61e81 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/git.py @@ -0,0 +1,369 @@ +from __future__ import absolute_import + +import logging +import os.path +import re + +from pip._vendor.packaging.version import parse as parse_version +from pip._vendor.six.moves.urllib import parse as urllib_parse +from pip._vendor.six.moves.urllib import request as urllib_request + +from pip._internal.exceptions import BadCommand +from pip._internal.utils.compat import samefile +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, redact_password_from_url, +) +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import RemoteNotFoundError, VersionControl, vcs + +urlsplit = urllib_parse.urlsplit +urlunsplit = urllib_parse.urlunsplit + + +logger = logging.getLogger(__name__) + + +HASH_REGEX = re.compile('[a-fA-F0-9]{40}') + + +def looks_like_hash(sha): + return bool(HASH_REGEX.match(sha)) + + +class Git(VersionControl): + name = 'git' + dirname = '.git' + repo_name = 'clone' + schemes = ( + 'git', 'git+http', 'git+https', 'git+ssh', 'git+git', 'git+file', + ) + # Prevent the user's environment variables from interfering with pip: + # https://github.com/pypa/pip/issues/1130 + unset_environ = ('GIT_DIR', 'GIT_WORK_TREE') + default_arg_rev = 'HEAD' + + def __init__(self, url=None, *args, **kwargs): + + # Works around an apparent Git bug + # (see https://article.gmane.org/gmane.comp.version-control.git/146500) + if url: + scheme, netloc, path, query, fragment = urlsplit(url) + if scheme.endswith('file'): + initial_slashes = path[:-len(path.lstrip('/'))] + newpath = ( + initial_slashes + + urllib_request.url2pathname(path) + .replace('\\', '/').lstrip('/') + ) + url = urlunsplit((scheme, netloc, newpath, query, fragment)) + after_plus = scheme.find('+') + 1 + url = scheme[:after_plus] + urlunsplit( + (scheme[after_plus:], netloc, newpath, query, fragment), + ) + + super(Git, self).__init__(url, *args, **kwargs) + + def get_base_rev_args(self, rev): + return [rev] + + def get_git_version(self): + VERSION_PFX = 'git version ' + version = self.run_command(['version'], show_stdout=False) + if version.startswith(VERSION_PFX): + version = version[len(VERSION_PFX):].split()[0] + else: + version = '' + # get first 3 positions of the git version becasue + # on windows it is x.y.z.windows.t, and this parses as + # LegacyVersion which always smaller than a Version. + version = '.'.join(version.split('.')[:3]) + return parse_version(version) + + def get_current_branch(self, location): + """ + Return the current branch, or None if HEAD isn't at a branch + (e.g. detached HEAD). + """ + # git-symbolic-ref exits with empty stdout if "HEAD" is a detached + # HEAD rather than a symbolic ref. In addition, the -q causes the + # command to exit with status code 1 instead of 128 in this case + # and to suppress the message to stderr. + args = ['symbolic-ref', '-q', 'HEAD'] + output = self.run_command( + args, extra_ok_returncodes=(1, ), show_stdout=False, cwd=location, + ) + ref = output.strip() + + if ref.startswith('refs/heads/'): + return ref[len('refs/heads/'):] + + return None + + def export(self, location): + """Export the Git repository at the url to the destination location""" + if not location.endswith('/'): + location = location + '/' + + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + self.run_command( + ['checkout-index', '-a', '-f', '--prefix', location], + show_stdout=False, cwd=temp_dir.path + ) + + def get_revision_sha(self, dest, rev): + """ + Return (sha_or_none, is_branch), where sha_or_none is a commit hash + if the revision names a remote branch or tag, otherwise None. + + Args: + dest: the repository directory. + rev: the revision name. + """ + # Pass rev to pre-filter the list. + output = self.run_command(['show-ref', rev], cwd=dest, + show_stdout=False, on_returncode='ignore') + refs = {} + for line in output.strip().splitlines(): + try: + sha, ref = line.split() + except ValueError: + # Include the offending line to simplify troubleshooting if + # this error ever occurs. + raise ValueError('unexpected show-ref line: {!r}'.format(line)) + + refs[ref] = sha + + branch_ref = 'refs/remotes/origin/{}'.format(rev) + tag_ref = 'refs/tags/{}'.format(rev) + + sha = refs.get(branch_ref) + if sha is not None: + return (sha, True) + + sha = refs.get(tag_ref) + + return (sha, False) + + def resolve_revision(self, dest, url, rev_options): + """ + Resolve a revision to a new RevOptions object with the SHA1 of the + branch, tag, or ref if found. + + Args: + rev_options: a RevOptions object. + """ + rev = rev_options.arg_rev + sha, is_branch = self.get_revision_sha(dest, rev) + + if sha is not None: + rev_options = rev_options.make_new(sha) + rev_options.branch_name = rev if is_branch else None + + return rev_options + + # Do not show a warning for the common case of something that has + # the form of a Git commit hash. + if not looks_like_hash(rev): + logger.warning( + "Did not find branch or tag '%s', assuming revision or ref.", + rev, + ) + + if not rev.startswith('refs/'): + return rev_options + + # If it looks like a ref, we have to fetch it explicitly. + self.run_command( + ['fetch', '-q', url] + rev_options.to_args(), + cwd=dest, + ) + # Change the revision to the SHA of the ref we fetched + sha = self.get_revision(dest, rev='FETCH_HEAD') + rev_options = rev_options.make_new(sha) + + return rev_options + + def is_commit_id_equal(self, dest, name): + """ + Return whether the current commit hash equals the given name. + + Args: + dest: the repository directory. + name: a string name. + """ + if not name: + # Then avoid an unnecessary subprocess call. + return False + + return self.get_revision(dest) == name + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Cloning %s%s to %s', redact_password_from_url(url), + rev_display, display_path(dest), + ) + self.run_command(['clone', '-q', url, dest]) + + if rev_options.rev: + # Then a specific revision was requested. + rev_options = self.resolve_revision(dest, url, rev_options) + branch_name = getattr(rev_options, 'branch_name', None) + if branch_name is None: + # Only do a checkout if the current commit id doesn't match + # the requested revision. + if not self.is_commit_id_equal(dest, rev_options.rev): + cmd_args = ['checkout', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + elif self.get_current_branch(dest) != branch_name: + # Then a specific branch was requested, and that branch + # is not yet checked out. + track_branch = 'origin/{}'.format(branch_name) + cmd_args = [ + 'checkout', '-b', branch_name, '--track', track_branch, + ] + self.run_command(cmd_args, cwd=dest) + + #: repo may contain submodules + self.update_submodules(dest) + + def switch(self, dest, url, rev_options): + self.run_command(['config', 'remote.origin.url', url], cwd=dest) + cmd_args = ['checkout', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + self.update_submodules(dest) + + def update(self, dest, url, rev_options): + # First fetch changes from the default remote + if self.get_git_version() >= parse_version('1.9.0'): + # fetch tags in addition to everything else + self.run_command(['fetch', '-q', '--tags'], cwd=dest) + else: + self.run_command(['fetch', '-q'], cwd=dest) + # Then reset to wanted revision (maybe even origin/master) + rev_options = self.resolve_revision(dest, url, rev_options) + cmd_args = ['reset', '--hard', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + #: update submodules + self.update_submodules(dest) + + @classmethod + def get_remote_url(cls, location): + """ + Return URL of the first remote encountered. + + Raises RemoteNotFoundError if the repository does not have a remote + url configured. + """ + # We need to pass 1 for extra_ok_returncodes since the command + # exits with return code 1 if there are no matching lines. + stdout = cls.run_command( + ['config', '--get-regexp', r'remote\..*\.url'], + extra_ok_returncodes=(1, ), show_stdout=False, cwd=location, + ) + remotes = stdout.splitlines() + try: + found_remote = remotes[0] + except IndexError: + raise RemoteNotFoundError + + for remote in remotes: + if remote.startswith('remote.origin.url '): + found_remote = remote + break + url = found_remote.split(' ')[1] + return url.strip() + + @classmethod + def get_revision(cls, location, rev=None): + if rev is None: + rev = 'HEAD' + current_rev = cls.run_command( + ['rev-parse', rev], show_stdout=False, cwd=location, + ) + return current_rev.strip() + + @classmethod + def _get_subdirectory(cls, location): + """Return the relative path of setup.py to the git repo root.""" + # find the repo root + git_dir = cls.run_command(['rev-parse', '--git-dir'], + show_stdout=False, cwd=location).strip() + if not os.path.isabs(git_dir): + git_dir = os.path.join(location, git_dir) + root_dir = os.path.join(git_dir, '..') + # find setup.py + orig_location = location + while not os.path.exists(os.path.join(location, 'setup.py')): + last_location = location + location = os.path.dirname(location) + if location == last_location: + # We've traversed up to the root of the filesystem without + # finding setup.py + logger.warning( + "Could not find setup.py for directory %s (tried all " + "parent directories)", + orig_location, + ) + return None + # relative path of setup.py to repo root + if samefile(root_dir, location): + return None + return os.path.relpath(location, root_dir) + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo.lower().startswith('git:'): + repo = 'git+' + repo + current_rev = cls.get_revision(location) + subdir = cls._get_subdirectory(location) + req = make_vcs_requirement_url(repo, current_rev, project_name, + subdir=subdir) + + return req + + def get_url_rev_and_auth(self, url): + """ + Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'. + That's required because although they use SSH they sometimes don't + work with a ssh:// scheme (e.g. GitHub). But we need a scheme for + parsing. Hence we remove it again afterwards and return it as a stub. + """ + if '://' not in url: + assert 'file:' not in url + url = url.replace('git+', 'git+ssh://') + url, rev, user_pass = super(Git, self).get_url_rev_and_auth(url) + url = url.replace('ssh://', '') + else: + url, rev, user_pass = super(Git, self).get_url_rev_and_auth(url) + + return url, rev, user_pass + + def update_submodules(self, location): + if not os.path.exists(os.path.join(location, '.gitmodules')): + return + self.run_command( + ['submodule', 'update', '--init', '--recursive', '-q'], + cwd=location, + ) + + @classmethod + def controls_location(cls, location): + if super(Git, cls).controls_location(location): + return True + try: + r = cls.run_command(['rev-parse'], + cwd=location, + show_stdout=False, + on_returncode='ignore') + return not r + except BadCommand: + logger.debug("could not determine if %s is under git control " + "because git is not available", location) + return False + + +vcs.register(Git) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/mercurial.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/mercurial.py new file mode 100644 index 0000000000..26e75dee40 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/mercurial.py @@ -0,0 +1,103 @@ +from __future__ import absolute_import + +import logging +import os + +from pip._vendor.six.moves import configparser + +from pip._internal.download import path_to_url +from pip._internal.utils.misc import display_path, make_vcs_requirement_url +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.vcs import VersionControl, vcs + +logger = logging.getLogger(__name__) + + +class Mercurial(VersionControl): + name = 'hg' + dirname = '.hg' + repo_name = 'clone' + schemes = ('hg', 'hg+http', 'hg+https', 'hg+ssh', 'hg+static-http') + + def get_base_rev_args(self, rev): + return [rev] + + def export(self, location): + """Export the Hg repository at the url to the destination location""" + with TempDirectory(kind="export") as temp_dir: + self.unpack(temp_dir.path) + + self.run_command( + ['archive', location], show_stdout=False, cwd=temp_dir.path + ) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Cloning hg %s%s to %s', + url, + rev_display, + display_path(dest), + ) + self.run_command(['clone', '--noupdate', '-q', url, dest]) + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + def switch(self, dest, url, rev_options): + repo_config = os.path.join(dest, self.dirname, 'hgrc') + config = configparser.SafeConfigParser() + try: + config.read(repo_config) + config.set('paths', 'default', url) + with open(repo_config, 'w') as config_file: + config.write(config_file) + except (OSError, configparser.NoSectionError) as exc: + logger.warning( + 'Could not switch Mercurial repository to %s: %s', url, exc, + ) + else: + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + def update(self, dest, url, rev_options): + self.run_command(['pull', '-q'], cwd=dest) + cmd_args = ['update', '-q'] + rev_options.to_args() + self.run_command(cmd_args, cwd=dest) + + @classmethod + def get_remote_url(cls, location): + url = cls.run_command( + ['showconfig', 'paths.default'], + show_stdout=False, cwd=location).strip() + if cls._is_local_repository(url): + url = path_to_url(url) + return url.strip() + + @classmethod + def get_revision(cls, location): + current_revision = cls.run_command( + ['parents', '--template={rev}'], + show_stdout=False, cwd=location).strip() + return current_revision + + @classmethod + def get_revision_hash(cls, location): + current_rev_hash = cls.run_command( + ['parents', '--template={node}'], + show_stdout=False, cwd=location).strip() + return current_rev_hash + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if not repo.lower().startswith('hg:'): + repo = 'hg+' + repo + current_rev_hash = cls.get_revision_hash(location) + return make_vcs_requirement_url(repo, current_rev_hash, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Mercurial) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/subversion.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/subversion.py new file mode 100644 index 0000000000..42ac5ac356 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/vcs/subversion.py @@ -0,0 +1,200 @@ +from __future__ import absolute_import + +import logging +import os +import re + +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + display_path, make_vcs_requirement_url, rmtree, split_auth_from_netloc, +) +from pip._internal.vcs import VersionControl, vcs + +_svn_xml_url_re = re.compile('url="([^"]+)"') +_svn_rev_re = re.compile(r'committed-rev="(\d+)"') +_svn_info_xml_rev_re = re.compile(r'\s*revision="(\d+)"') +_svn_info_xml_url_re = re.compile(r'<url>(.*)</url>') + + +logger = logging.getLogger(__name__) + + +class Subversion(VersionControl): + name = 'svn' + dirname = '.svn' + repo_name = 'checkout' + schemes = ('svn', 'svn+ssh', 'svn+http', 'svn+https', 'svn+svn') + + def get_base_rev_args(self, rev): + return ['-r', rev] + + def export(self, location): + """Export the svn repository at the url to the destination location""" + url, rev_options = self.get_url_rev_options(self.url) + + logger.info('Exporting svn repository %s to %s', url, location) + with indent_log(): + if os.path.exists(location): + # Subversion doesn't like to check out over an existing + # directory --force fixes this, but was only added in svn 1.5 + rmtree(location) + cmd_args = ['export'] + rev_options.to_args() + [url, location] + self.run_command(cmd_args, show_stdout=False) + + def fetch_new(self, dest, url, rev_options): + rev_display = rev_options.to_display() + logger.info( + 'Checking out %s%s to %s', + url, + rev_display, + display_path(dest), + ) + cmd_args = ['checkout', '-q'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def switch(self, dest, url, rev_options): + cmd_args = ['switch'] + rev_options.to_args() + [url, dest] + self.run_command(cmd_args) + + def update(self, dest, url, rev_options): + cmd_args = ['update'] + rev_options.to_args() + [dest] + self.run_command(cmd_args) + + @classmethod + def get_revision(cls, location): + """ + Return the maximum revision for all files under a given location + """ + # Note: taken from setuptools.command.egg_info + revision = 0 + + for base, dirs, files in os.walk(location): + if cls.dirname not in dirs: + dirs[:] = [] + continue # no sense walking uncontrolled subdirs + dirs.remove(cls.dirname) + entries_fn = os.path.join(base, cls.dirname, 'entries') + if not os.path.exists(entries_fn): + # FIXME: should we warn? + continue + + dirurl, localrev = cls._get_svn_url_rev(base) + + if base == location: + base = dirurl + '/' # save the root url + elif not dirurl or not dirurl.startswith(base): + dirs[:] = [] + continue # not part of the same svn tree, skip it + revision = max(revision, localrev) + return revision + + def get_netloc_and_auth(self, netloc, scheme): + """ + This override allows the auth information to be passed to svn via the + --username and --password options instead of via the URL. + """ + if scheme == 'ssh': + # The --username and --password options can't be used for + # svn+ssh URLs, so keep the auth information in the URL. + return super(Subversion, self).get_netloc_and_auth( + netloc, scheme) + + return split_auth_from_netloc(netloc) + + def get_url_rev_and_auth(self, url): + # hotfix the URL scheme after removing svn+ from svn+ssh:// readd it + url, rev, user_pass = super(Subversion, self).get_url_rev_and_auth(url) + if url.startswith('ssh://'): + url = 'svn+' + url + return url, rev, user_pass + + def make_rev_args(self, username, password): + extra_args = [] + if username: + extra_args += ['--username', username] + if password: + extra_args += ['--password', password] + + return extra_args + + @classmethod + def get_remote_url(cls, location): + # In cases where the source is in a subdirectory, not alongside + # setup.py we have to look up in the location until we find a real + # setup.py + orig_location = location + while not os.path.exists(os.path.join(location, 'setup.py')): + last_location = location + location = os.path.dirname(location) + if location == last_location: + # We've traversed up to the root of the filesystem without + # finding setup.py + logger.warning( + "Could not find setup.py for directory %s (tried all " + "parent directories)", + orig_location, + ) + return None + + return cls._get_svn_url_rev(location)[0] + + @classmethod + def _get_svn_url_rev(cls, location): + from pip._internal.exceptions import InstallationError + + entries_path = os.path.join(location, cls.dirname, 'entries') + if os.path.exists(entries_path): + with open(entries_path) as f: + data = f.read() + else: # subversion >= 1.7 does not have the 'entries' file + data = '' + + if (data.startswith('8') or + data.startswith('9') or + data.startswith('10')): + data = list(map(str.splitlines, data.split('\n\x0c\n'))) + del data[0][0] # get rid of the '8' + url = data[0][3] + revs = [int(d[9]) for d in data if len(d) > 9 and d[9]] + [0] + elif data.startswith('<?xml'): + match = _svn_xml_url_re.search(data) + if not match: + raise ValueError('Badly formatted data: %r' % data) + url = match.group(1) # get repository URL + revs = [int(m.group(1)) for m in _svn_rev_re.finditer(data)] + [0] + else: + try: + # subversion >= 1.7 + xml = cls.run_command( + ['info', '--xml', location], + show_stdout=False, + ) + url = _svn_info_xml_url_re.search(xml).group(1) + revs = [ + int(m.group(1)) for m in _svn_info_xml_rev_re.finditer(xml) + ] + except InstallationError: + url, revs = None, [] + + if revs: + rev = max(revs) + else: + rev = 0 + + return url, rev + + @classmethod + def get_src_requirement(cls, location, project_name): + repo = cls.get_remote_url(location) + if repo is None: + return None + repo = 'svn+' + repo + rev = cls.get_revision(location) + return make_vcs_requirement_url(repo, rev, project_name) + + def is_commit_id_equal(self, dest, name): + """Always assume the versions don't match""" + return False + + +vcs.register(Subversion) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/wheel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/wheel.py new file mode 100644 index 0000000000..67bcc7f7f1 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_internal/wheel.py @@ -0,0 +1,1095 @@ +""" +Support for installing and building the "wheel" binary package format. +""" +from __future__ import absolute_import + +import collections +import compileall +import csv +import hashlib +import logging +import os.path +import re +import shutil +import stat +import sys +import warnings +from base64 import urlsafe_b64encode +from email.parser import Parser + +from pip._vendor import pkg_resources +from pip._vendor.distlib.scripts import ScriptMaker +from pip._vendor.packaging.utils import canonicalize_name +from pip._vendor.six import StringIO + +from pip._internal import pep425tags +from pip._internal.download import path_to_url, unpack_url +from pip._internal.exceptions import ( + InstallationError, InvalidWheelFilename, UnsupportedWheel, +) +from pip._internal.locations import ( + PIP_DELETE_MARKER_FILENAME, distutils_scheme, +) +from pip._internal.models.link import Link +from pip._internal.utils.logging import indent_log +from pip._internal.utils.misc import ( + call_subprocess, captured_stdout, ensure_dir, read_chunks, +) +from pip._internal.utils.setuptools_build import SETUPTOOLS_SHIM +from pip._internal.utils.temp_dir import TempDirectory +from pip._internal.utils.typing import MYPY_CHECK_RUNNING +from pip._internal.utils.ui import open_spinner + +if MYPY_CHECK_RUNNING: + from typing import ( # noqa: F401 + Dict, List, Optional, Sequence, Mapping, Tuple, IO, Text, Any, + Union, Iterable + ) + from pip._vendor.packaging.requirements import Requirement # noqa: F401 + from pip._internal.req.req_install import InstallRequirement # noqa: F401 + from pip._internal.download import PipSession # noqa: F401 + from pip._internal.index import FormatControl, PackageFinder # noqa: F401 + from pip._internal.operations.prepare import ( # noqa: F401 + RequirementPreparer + ) + from pip._internal.cache import WheelCache # noqa: F401 + from pip._internal.pep425tags import Pep425Tag # noqa: F401 + + InstalledCSVRow = Tuple[str, ...] + + +VERSION_COMPATIBLE = (1, 0) + + +logger = logging.getLogger(__name__) + + +def normpath(src, p): + return os.path.relpath(src, p).replace(os.path.sep, '/') + + +def rehash(path, blocksize=1 << 20): + # type: (str, int) -> Tuple[str, str] + """Return (hash, length) for path using hashlib.sha256()""" + h = hashlib.sha256() + length = 0 + with open(path, 'rb') as f: + for block in read_chunks(f, size=blocksize): + length += len(block) + h.update(block) + digest = 'sha256=' + urlsafe_b64encode( + h.digest() + ).decode('latin1').rstrip('=') + # unicode/str python2 issues + return (digest, str(length)) # type: ignore + + +def open_for_csv(name, mode): + # type: (str, Text) -> IO + if sys.version_info[0] < 3: + nl = {} # type: Dict[str, Any] + bin = 'b' + else: + nl = {'newline': ''} # type: Dict[str, Any] + bin = '' + return open(name, mode + bin, **nl) + + +def replace_python_tag(wheelname, new_tag): + # type: (str, str) -> str + """Replace the Python tag in a wheel file name with a new value. + """ + parts = wheelname.split('-') + parts[-3] = new_tag + return '-'.join(parts) + + +def fix_script(path): + # type: (str) -> Optional[bool] + """Replace #!python with #!/path/to/python + Return True if file was changed.""" + # XXX RECORD hashes will need to be updated + if os.path.isfile(path): + with open(path, 'rb') as script: + firstline = script.readline() + if not firstline.startswith(b'#!python'): + return False + exename = sys.executable.encode(sys.getfilesystemencoding()) + firstline = b'#!' + exename + os.linesep.encode("ascii") + rest = script.read() + with open(path, 'wb') as script: + script.write(firstline) + script.write(rest) + return True + return None + + +dist_info_re = re.compile(r"""^(?P<namever>(?P<name>.+?)(-(?P<ver>.+?))?) + \.dist-info$""", re.VERBOSE) + + +def root_is_purelib(name, wheeldir): + # type: (str, str) -> bool + """ + Return True if the extracted wheel in wheeldir should go into purelib. + """ + name_folded = name.replace("-", "_") + for item in os.listdir(wheeldir): + match = dist_info_re.match(item) + if match and match.group('name') == name_folded: + with open(os.path.join(wheeldir, item, 'WHEEL')) as wheel: + for line in wheel: + line = line.lower().rstrip() + if line == "root-is-purelib: true": + return True + return False + + +def get_entrypoints(filename): + # type: (str) -> Tuple[Dict[str, str], Dict[str, str]] + if not os.path.exists(filename): + return {}, {} + + # This is done because you can pass a string to entry_points wrappers which + # means that they may or may not be valid INI files. The attempt here is to + # strip leading and trailing whitespace in order to make them valid INI + # files. + with open(filename) as fp: + data = StringIO() + for line in fp: + data.write(line.strip()) + data.write("\n") + data.seek(0) + + # get the entry points and then the script names + entry_points = pkg_resources.EntryPoint.parse_map(data) + console = entry_points.get('console_scripts', {}) + gui = entry_points.get('gui_scripts', {}) + + def _split_ep(s): + """get the string representation of EntryPoint, remove space and split + on '='""" + return str(s).replace(" ", "").split("=") + + # convert the EntryPoint objects into strings with module:function + console = dict(_split_ep(v) for v in console.values()) + gui = dict(_split_ep(v) for v in gui.values()) + return console, gui + + +def message_about_scripts_not_on_PATH(scripts): + # type: (Sequence[str]) -> Optional[str] + """Determine if any scripts are not on PATH and format a warning. + + Returns a warning message if one or more scripts are not on PATH, + otherwise None. + """ + if not scripts: + return None + + # Group scripts by the path they were installed in + grouped_by_dir = collections.defaultdict(set) # type: Dict[str, set] + for destfile in scripts: + parent_dir = os.path.dirname(destfile) + script_name = os.path.basename(destfile) + grouped_by_dir[parent_dir].add(script_name) + + # We don't want to warn for directories that are on PATH. + not_warn_dirs = [ + os.path.normcase(i).rstrip(os.sep) for i in + os.environ.get("PATH", "").split(os.pathsep) + ] + # If an executable sits with sys.executable, we don't warn for it. + # This covers the case of venv invocations without activating the venv. + not_warn_dirs.append(os.path.normcase(os.path.dirname(sys.executable))) + warn_for = { + parent_dir: scripts for parent_dir, scripts in grouped_by_dir.items() + if os.path.normcase(parent_dir) not in not_warn_dirs + } + if not warn_for: + return None + + # Format a message + msg_lines = [] + for parent_dir, scripts in warn_for.items(): + scripts = sorted(scripts) + if len(scripts) == 1: + start_text = "script {} is".format(scripts[0]) + else: + start_text = "scripts {} are".format( + ", ".join(scripts[:-1]) + " and " + scripts[-1] + ) + + msg_lines.append( + "The {} installed in '{}' which is not on PATH." + .format(start_text, parent_dir) + ) + + last_line_fmt = ( + "Consider adding {} to PATH or, if you prefer " + "to suppress this warning, use --no-warn-script-location." + ) + if len(msg_lines) == 1: + msg_lines.append(last_line_fmt.format("this directory")) + else: + msg_lines.append(last_line_fmt.format("these directories")) + + # Returns the formatted multiline message + return "\n".join(msg_lines) + + +def sorted_outrows(outrows): + # type: (Iterable[InstalledCSVRow]) -> List[InstalledCSVRow] + """ + Return the given rows of a RECORD file in sorted order. + + Each row is a 3-tuple (path, hash, size) and corresponds to a record of + a RECORD file (see PEP 376 and PEP 427 for details). For the rows + passed to this function, the size can be an integer as an int or string, + or the empty string. + """ + # Normally, there should only be one row per path, in which case the + # second and third elements don't come into play when sorting. + # However, in cases in the wild where a path might happen to occur twice, + # we don't want the sort operation to trigger an error (but still want + # determinism). Since the third element can be an int or string, we + # coerce each element to a string to avoid a TypeError in this case. + # For additional background, see-- + # https://github.com/pypa/pip/issues/5868 + return sorted(outrows, key=lambda row: tuple(str(x) for x in row)) + + +def get_csv_rows_for_installed( + old_csv_rows, # type: Iterable[List[str]] + installed, # type: Dict[str, str] + changed, # type: set + generated, # type: List[str] + lib_dir, # type: str +): + # type: (...) -> List[InstalledCSVRow] + """ + :param installed: A map from archive RECORD path to installation RECORD + path. + """ + installed_rows = [] # type: List[InstalledCSVRow] + for row in old_csv_rows: + if len(row) > 3: + logger.warning( + 'RECORD line has more than three elements: {}'.format(row) + ) + # Make a copy because we are mutating the row. + row = list(row) + old_path = row[0] + new_path = installed.pop(old_path, old_path) + row[0] = new_path + if new_path in changed: + digest, length = rehash(new_path) + row[1] = digest + row[2] = length + installed_rows.append(tuple(row)) + for f in generated: + digest, length = rehash(f) + installed_rows.append((normpath(f, lib_dir), digest, str(length))) + for f in installed: + installed_rows.append((installed[f], '', '')) + return installed_rows + + +def move_wheel_files( + name, # type: str + req, # type: Requirement + wheeldir, # type: str + user=False, # type: bool + home=None, # type: Optional[str] + root=None, # type: Optional[str] + pycompile=True, # type: bool + scheme=None, # type: Optional[Mapping[str, str]] + isolated=False, # type: bool + prefix=None, # type: Optional[str] + warn_script_location=True # type: bool +): + # type: (...) -> None + """Install a wheel""" + # TODO: Investigate and break this up. + # TODO: Look into moving this into a dedicated class for representing an + # installation. + + if not scheme: + scheme = distutils_scheme( + name, user=user, home=home, root=root, isolated=isolated, + prefix=prefix, + ) + + if root_is_purelib(name, wheeldir): + lib_dir = scheme['purelib'] + else: + lib_dir = scheme['platlib'] + + info_dir = [] # type: List[str] + data_dirs = [] + source = wheeldir.rstrip(os.path.sep) + os.path.sep + + # Record details of the files moved + # installed = files copied from the wheel to the destination + # changed = files changed while installing (scripts #! line typically) + # generated = files newly generated during the install (script wrappers) + installed = {} # type: Dict[str, str] + changed = set() + generated = [] # type: List[str] + + # Compile all of the pyc files that we're going to be installing + if pycompile: + with captured_stdout() as stdout: + with warnings.catch_warnings(): + warnings.filterwarnings('ignore') + compileall.compile_dir(source, force=True, quiet=True) + logger.debug(stdout.getvalue()) + + def record_installed(srcfile, destfile, modified=False): + """Map archive RECORD paths to installation RECORD paths.""" + oldpath = normpath(srcfile, wheeldir) + newpath = normpath(destfile, lib_dir) + installed[oldpath] = newpath + if modified: + changed.add(destfile) + + def clobber(source, dest, is_base, fixer=None, filter=None): + ensure_dir(dest) # common for the 'include' path + + for dir, subdirs, files in os.walk(source): + basedir = dir[len(source):].lstrip(os.path.sep) + destdir = os.path.join(dest, basedir) + if is_base and basedir.split(os.path.sep, 1)[0].endswith('.data'): + continue + for s in subdirs: + destsubdir = os.path.join(dest, basedir, s) + if is_base and basedir == '' and destsubdir.endswith('.data'): + data_dirs.append(s) + continue + elif (is_base and + s.endswith('.dist-info') and + canonicalize_name(s).startswith( + canonicalize_name(req.name))): + assert not info_dir, ('Multiple .dist-info directories: ' + + destsubdir + ', ' + + ', '.join(info_dir)) + info_dir.append(destsubdir) + for f in files: + # Skip unwanted files + if filter and filter(f): + continue + srcfile = os.path.join(dir, f) + destfile = os.path.join(dest, basedir, f) + # directory creation is lazy and after the file filtering above + # to ensure we don't install empty dirs; empty dirs can't be + # uninstalled. + ensure_dir(destdir) + + # copyfile (called below) truncates the destination if it + # exists and then writes the new contents. This is fine in most + # cases, but can cause a segfault if pip has loaded a shared + # object (e.g. from pyopenssl through its vendored urllib3) + # Since the shared object is mmap'd an attempt to call a + # symbol in it will then cause a segfault. Unlinking the file + # allows writing of new contents while allowing the process to + # continue to use the old copy. + if os.path.exists(destfile): + os.unlink(destfile) + + # We use copyfile (not move, copy, or copy2) to be extra sure + # that we are not moving directories over (copyfile fails for + # directories) as well as to ensure that we are not copying + # over any metadata because we want more control over what + # metadata we actually copy over. + shutil.copyfile(srcfile, destfile) + + # Copy over the metadata for the file, currently this only + # includes the atime and mtime. + st = os.stat(srcfile) + if hasattr(os, "utime"): + os.utime(destfile, (st.st_atime, st.st_mtime)) + + # If our file is executable, then make our destination file + # executable. + if os.access(srcfile, os.X_OK): + st = os.stat(srcfile) + permissions = ( + st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH + ) + os.chmod(destfile, permissions) + + changed = False + if fixer: + changed = fixer(destfile) + record_installed(srcfile, destfile, changed) + + clobber(source, lib_dir, True) + + assert info_dir, "%s .dist-info directory not found" % req + + # Get the defined entry points + ep_file = os.path.join(info_dir[0], 'entry_points.txt') + console, gui = get_entrypoints(ep_file) + + def is_entrypoint_wrapper(name): + # EP, EP.exe and EP-script.py are scripts generated for + # entry point EP by setuptools + if name.lower().endswith('.exe'): + matchname = name[:-4] + elif name.lower().endswith('-script.py'): + matchname = name[:-10] + elif name.lower().endswith(".pya"): + matchname = name[:-4] + else: + matchname = name + # Ignore setuptools-generated scripts + return (matchname in console or matchname in gui) + + for datadir in data_dirs: + fixer = None + filter = None + for subdir in os.listdir(os.path.join(wheeldir, datadir)): + fixer = None + if subdir == 'scripts': + fixer = fix_script + filter = is_entrypoint_wrapper + source = os.path.join(wheeldir, datadir, subdir) + dest = scheme[subdir] + clobber(source, dest, False, fixer=fixer, filter=filter) + + maker = ScriptMaker(None, scheme['scripts']) + + # Ensure old scripts are overwritten. + # See https://github.com/pypa/pip/issues/1800 + maker.clobber = True + + # Ensure we don't generate any variants for scripts because this is almost + # never what somebody wants. + # See https://bitbucket.org/pypa/distlib/issue/35/ + maker.variants = {''} + + # This is required because otherwise distlib creates scripts that are not + # executable. + # See https://bitbucket.org/pypa/distlib/issue/32/ + maker.set_mode = True + + # Simplify the script and fix the fact that the default script swallows + # every single stack trace. + # See https://bitbucket.org/pypa/distlib/issue/34/ + # See https://bitbucket.org/pypa/distlib/issue/33/ + def _get_script_text(entry): + if entry.suffix is None: + raise InstallationError( + "Invalid script entry point: %s for req: %s - A callable " + "suffix is required. Cf https://packaging.python.org/en/" + "latest/distributing.html#console-scripts for more " + "information." % (entry, req) + ) + return maker.script_template % { + "module": entry.prefix, + "import_name": entry.suffix.split(".")[0], + "func": entry.suffix, + } + # ignore type, because mypy disallows assigning to a method, + # see https://github.com/python/mypy/issues/2427 + maker._get_script_text = _get_script_text # type: ignore + maker.script_template = r"""# -*- coding: utf-8 -*- +import re +import sys + +from %(module)s import %(import_name)s + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(%(func)s()) +""" + + # Special case pip and setuptools to generate versioned wrappers + # + # The issue is that some projects (specifically, pip and setuptools) use + # code in setup.py to create "versioned" entry points - pip2.7 on Python + # 2.7, pip3.3 on Python 3.3, etc. But these entry points are baked into + # the wheel metadata at build time, and so if the wheel is installed with + # a *different* version of Python the entry points will be wrong. The + # correct fix for this is to enhance the metadata to be able to describe + # such versioned entry points, but that won't happen till Metadata 2.0 is + # available. + # In the meantime, projects using versioned entry points will either have + # incorrect versioned entry points, or they will not be able to distribute + # "universal" wheels (i.e., they will need a wheel per Python version). + # + # Because setuptools and pip are bundled with _ensurepip and virtualenv, + # we need to use universal wheels. So, as a stopgap until Metadata 2.0, we + # override the versioned entry points in the wheel and generate the + # correct ones. This code is purely a short-term measure until Metadata 2.0 + # is available. + # + # To add the level of hack in this section of code, in order to support + # ensurepip this code will look for an ``ENSUREPIP_OPTIONS`` environment + # variable which will control which version scripts get installed. + # + # ENSUREPIP_OPTIONS=altinstall + # - Only pipX.Y and easy_install-X.Y will be generated and installed + # ENSUREPIP_OPTIONS=install + # - pipX.Y, pipX, easy_install-X.Y will be generated and installed. Note + # that this option is technically if ENSUREPIP_OPTIONS is set and is + # not altinstall + # DEFAULT + # - The default behavior is to install pip, pipX, pipX.Y, easy_install + # and easy_install-X.Y. + pip_script = console.pop('pip', None) + if pip_script: + if "ENSUREPIP_OPTIONS" not in os.environ: + spec = 'pip = ' + pip_script + generated.extend(maker.make(spec)) + + if os.environ.get("ENSUREPIP_OPTIONS", "") != "altinstall": + spec = 'pip%s = %s' % (sys.version[:1], pip_script) + generated.extend(maker.make(spec)) + + spec = 'pip%s = %s' % (sys.version[:3], pip_script) + generated.extend(maker.make(spec)) + # Delete any other versioned pip entry points + pip_ep = [k for k in console if re.match(r'pip(\d(\.\d)?)?$', k)] + for k in pip_ep: + del console[k] + easy_install_script = console.pop('easy_install', None) + if easy_install_script: + if "ENSUREPIP_OPTIONS" not in os.environ: + spec = 'easy_install = ' + easy_install_script + generated.extend(maker.make(spec)) + + spec = 'easy_install-%s = %s' % (sys.version[:3], easy_install_script) + generated.extend(maker.make(spec)) + # Delete any other versioned easy_install entry points + easy_install_ep = [ + k for k in console if re.match(r'easy_install(-\d\.\d)?$', k) + ] + for k in easy_install_ep: + del console[k] + + # Generate the console and GUI entry points specified in the wheel + if len(console) > 0: + generated_console_scripts = maker.make_multiple( + ['%s = %s' % kv for kv in console.items()] + ) + generated.extend(generated_console_scripts) + + if warn_script_location: + msg = message_about_scripts_not_on_PATH(generated_console_scripts) + if msg is not None: + logger.warning(msg) + + if len(gui) > 0: + generated.extend( + maker.make_multiple( + ['%s = %s' % kv for kv in gui.items()], + {'gui': True} + ) + ) + + # Record pip as the installer + installer = os.path.join(info_dir[0], 'INSTALLER') + temp_installer = os.path.join(info_dir[0], 'INSTALLER.pip') + with open(temp_installer, 'wb') as installer_file: + installer_file.write(b'pip\n') + shutil.move(temp_installer, installer) + generated.append(installer) + + # Record details of all files installed + record = os.path.join(info_dir[0], 'RECORD') + temp_record = os.path.join(info_dir[0], 'RECORD.pip') + with open_for_csv(record, 'r') as record_in: + with open_for_csv(temp_record, 'w+') as record_out: + reader = csv.reader(record_in) + outrows = get_csv_rows_for_installed( + reader, installed=installed, changed=changed, + generated=generated, lib_dir=lib_dir, + ) + writer = csv.writer(record_out) + # Sort to simplify testing. + for row in sorted_outrows(outrows): + writer.writerow(row) + shutil.move(temp_record, record) + + +def wheel_version(source_dir): + # type: (Optional[str]) -> Optional[Tuple[int, ...]] + """ + Return the Wheel-Version of an extracted wheel, if possible. + + Otherwise, return None if we couldn't parse / extract it. + """ + try: + dist = [d for d in pkg_resources.find_on_path(None, source_dir)][0] + + wheel_data = dist.get_metadata('WHEEL') + wheel_data = Parser().parsestr(wheel_data) + + version = wheel_data['Wheel-Version'].strip() + version = tuple(map(int, version.split('.'))) + return version + except Exception: + return None + + +def check_compatibility(version, name): + # type: (Optional[Tuple[int, ...]], str) -> None + """ + Raises errors or warns if called with an incompatible Wheel-Version. + + Pip should refuse to install a Wheel-Version that's a major series + ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when + installing a version only minor version ahead (e.g 1.2 > 1.1). + + version: a 2-tuple representing a Wheel-Version (Major, Minor) + name: name of wheel or package to raise exception about + + :raises UnsupportedWheel: when an incompatible Wheel-Version is given + """ + if not version: + raise UnsupportedWheel( + "%s is in an unsupported or invalid wheel" % name + ) + if version[0] > VERSION_COMPATIBLE[0]: + raise UnsupportedWheel( + "%s's Wheel-Version (%s) is not compatible with this version " + "of pip" % (name, '.'.join(map(str, version))) + ) + elif version > VERSION_COMPATIBLE: + logger.warning( + 'Installing from a newer Wheel-Version (%s)', + '.'.join(map(str, version)), + ) + + +class Wheel(object): + """A wheel file""" + + # TODO: Maybe move the class into the models sub-package + # TODO: Maybe move the install code into this class + + wheel_file_re = re.compile( + r"""^(?P<namever>(?P<name>.+?)-(?P<ver>.*?)) + ((-(?P<build>\d[^-]*?))?-(?P<pyver>.+?)-(?P<abi>.+?)-(?P<plat>.+?) + \.whl|\.dist-info)$""", + re.VERBOSE + ) + + def __init__(self, filename): + # type: (str) -> None + """ + :raises InvalidWheelFilename: when the filename is invalid for a wheel + """ + wheel_info = self.wheel_file_re.match(filename) + if not wheel_info: + raise InvalidWheelFilename( + "%s is not a valid wheel filename." % filename + ) + self.filename = filename + self.name = wheel_info.group('name').replace('_', '-') + # we'll assume "_" means "-" due to wheel naming scheme + # (https://github.com/pypa/pip/issues/1150) + self.version = wheel_info.group('ver').replace('_', '-') + self.build_tag = wheel_info.group('build') + self.pyversions = wheel_info.group('pyver').split('.') + self.abis = wheel_info.group('abi').split('.') + self.plats = wheel_info.group('plat').split('.') + + # All the tag combinations from this file + self.file_tags = { + (x, y, z) for x in self.pyversions + for y in self.abis for z in self.plats + } + + def support_index_min(self, tags=None): + # type: (Optional[List[Pep425Tag]]) -> Optional[int] + """ + Return the lowest index that one of the wheel's file_tag combinations + achieves in the supported_tags list e.g. if there are 8 supported tags, + and one of the file tags is first in the list, then return 0. Returns + None is the wheel is not supported. + """ + if tags is None: # for mock + tags = pep425tags.get_supported() + indexes = [tags.index(c) for c in self.file_tags if c in tags] + return min(indexes) if indexes else None + + def supported(self, tags=None): + # type: (Optional[List[Pep425Tag]]) -> bool + """Is this wheel supported on this system?""" + if tags is None: # for mock + tags = pep425tags.get_supported() + return bool(set(tags).intersection(self.file_tags)) + + +def _contains_egg_info( + s, _egg_info_re=re.compile(r'([a-z0-9_.]+)-([a-z0-9_.!+-]+)', re.I)): + """Determine whether the string looks like an egg_info. + + :param s: The string to parse. E.g. foo-2.1 + """ + return bool(_egg_info_re.search(s)) + + +def should_use_ephemeral_cache( + req, # type: InstallRequirement + format_control, # type: FormatControl + autobuilding, # type: bool + cache_available # type: bool +): + # type: (...) -> Optional[bool] + """ + Return whether to build an InstallRequirement object using the + ephemeral cache. + + :param cache_available: whether a cache directory is available for the + autobuilding=True case. + + :return: True or False to build the requirement with ephem_cache=True + or False, respectively; or None not to build the requirement. + """ + if req.constraint: + return None + if req.is_wheel: + if not autobuilding: + logger.info( + 'Skipping %s, due to already being wheel.', req.name, + ) + return None + if not autobuilding: + return False + + if req.editable or not req.source_dir: + return None + + if req.link and not req.link.is_artifact: + # VCS checkout. Build wheel just for this run. + return True + + if "binary" not in format_control.get_allowed_formats( + canonicalize_name(req.name)): + logger.info( + "Skipping bdist_wheel for %s, due to binaries " + "being disabled for it.", req.name, + ) + return None + + link = req.link + base, ext = link.splitext() + if cache_available and _contains_egg_info(base): + return False + + # Otherwise, build the wheel just for this run using the ephemeral + # cache since we are either in the case of e.g. a local directory, or + # no cache directory is available to use. + return True + + +def format_command( + command_args, # type: List[str] + command_output, # type: str +): + # type: (...) -> str + """ + Format command information for logging. + """ + text = 'Command arguments: {}\n'.format(command_args) + + if not command_output: + text += 'Command output: None' + elif logger.getEffectiveLevel() > logging.DEBUG: + text += 'Command output: [use --verbose to show]' + else: + if not command_output.endswith('\n'): + command_output += '\n' + text += ( + 'Command output:\n{}' + '-----------------------------------------' + ).format(command_output) + + return text + + +def get_legacy_build_wheel_path( + names, # type: List[str] + temp_dir, # type: str + req, # type: InstallRequirement + command_args, # type: List[str] + command_output, # type: str +): + # type: (...) -> Optional[str] + """ + Return the path to the wheel in the temporary build directory. + """ + # Sort for determinism. + names = sorted(names) + if not names: + msg = ( + 'Legacy build of wheel for {!r} created no files.\n' + ).format(req.name) + msg += format_command(command_args, command_output) + logger.warning(msg) + return None + + if len(names) > 1: + msg = ( + 'Legacy build of wheel for {!r} created more than one file.\n' + 'Filenames (choosing first): {}\n' + ).format(req.name, names) + msg += format_command(command_args, command_output) + logger.warning(msg) + + return os.path.join(temp_dir, names[0]) + + +class WheelBuilder(object): + """Build wheels from a RequirementSet.""" + + def __init__( + self, + finder, # type: PackageFinder + preparer, # type: RequirementPreparer + wheel_cache, # type: WheelCache + build_options=None, # type: Optional[List[str]] + global_options=None, # type: Optional[List[str]] + no_clean=False # type: bool + ): + # type: (...) -> None + self.finder = finder + self.preparer = preparer + self.wheel_cache = wheel_cache + + self._wheel_dir = preparer.wheel_download_dir + + self.build_options = build_options or [] + self.global_options = global_options or [] + self.no_clean = no_clean + + def _build_one(self, req, output_dir, python_tag=None): + """Build one wheel. + + :return: The filename of the built wheel, or None if the build failed. + """ + # Install build deps into temporary directory (PEP 518) + with req.build_env: + return self._build_one_inside_env(req, output_dir, + python_tag=python_tag) + + def _build_one_inside_env(self, req, output_dir, python_tag=None): + with TempDirectory(kind="wheel") as temp_dir: + if req.use_pep517: + builder = self._build_one_pep517 + else: + builder = self._build_one_legacy + wheel_path = builder(req, temp_dir.path, python_tag=python_tag) + if wheel_path is not None: + wheel_name = os.path.basename(wheel_path) + dest_path = os.path.join(output_dir, wheel_name) + try: + shutil.move(wheel_path, dest_path) + logger.info('Stored in directory: %s', output_dir) + return dest_path + except Exception: + pass + # Ignore return, we can't do anything else useful. + self._clean_one(req) + return None + + def _base_setup_args(self, req): + # NOTE: Eventually, we'd want to also -S to the flags here, when we're + # isolating. Currently, it breaks Python in virtualenvs, because it + # relies on site.py to find parts of the standard library outside the + # virtualenv. + return [ + sys.executable, '-u', '-c', + SETUPTOOLS_SHIM % req.setup_py + ] + list(self.global_options) + + def _build_one_pep517(self, req, tempd, python_tag=None): + """Build one InstallRequirement using the PEP 517 build process. + + Returns path to wheel if successfully built. Otherwise, returns None. + """ + assert req.metadata_directory is not None + try: + req.spin_message = 'Building wheel for %s (PEP 517)' % (req.name,) + logger.debug('Destination directory: %s', tempd) + wheel_name = req.pep517_backend.build_wheel( + tempd, + metadata_directory=req.metadata_directory + ) + if python_tag: + # General PEP 517 backends don't necessarily support + # a "--python-tag" option, so we rename the wheel + # file directly. + new_name = replace_python_tag(wheel_name, python_tag) + os.rename( + os.path.join(tempd, wheel_name), + os.path.join(tempd, new_name) + ) + # Reassign to simplify the return at the end of function + wheel_name = new_name + except Exception: + logger.error('Failed building wheel for %s', req.name) + return None + return os.path.join(tempd, wheel_name) + + def _build_one_legacy(self, req, tempd, python_tag=None): + """Build one InstallRequirement using the "legacy" build process. + + Returns path to wheel if successfully built. Otherwise, returns None. + """ + base_args = self._base_setup_args(req) + + spin_message = 'Building wheel for %s (setup.py)' % (req.name,) + with open_spinner(spin_message) as spinner: + logger.debug('Destination directory: %s', tempd) + wheel_args = base_args + ['bdist_wheel', '-d', tempd] \ + + self.build_options + + if python_tag is not None: + wheel_args += ["--python-tag", python_tag] + + try: + output = call_subprocess(wheel_args, cwd=req.setup_py_dir, + show_stdout=False, spinner=spinner) + except Exception: + spinner.finish("error") + logger.error('Failed building wheel for %s', req.name) + return None + names = os.listdir(tempd) + wheel_path = get_legacy_build_wheel_path( + names=names, + temp_dir=tempd, + req=req, + command_args=wheel_args, + command_output=output, + ) + return wheel_path + + def _clean_one(self, req): + base_args = self._base_setup_args(req) + + logger.info('Running setup.py clean for %s', req.name) + clean_args = base_args + ['clean', '--all'] + try: + call_subprocess(clean_args, cwd=req.source_dir, show_stdout=False) + return True + except Exception: + logger.error('Failed cleaning build dir for %s', req.name) + return False + + def build( + self, + requirements, # type: Iterable[InstallRequirement] + session, # type: PipSession + autobuilding=False # type: bool + ): + # type: (...) -> List[InstallRequirement] + """Build wheels. + + :param unpack: If True, replace the sdist we built from with the + newly built wheel, in preparation for installation. + :return: True if all the wheels built correctly. + """ + buildset = [] + format_control = self.finder.format_control + # Whether a cache directory is available for autobuilding=True. + cache_available = bool(self._wheel_dir or self.wheel_cache.cache_dir) + + for req in requirements: + ephem_cache = should_use_ephemeral_cache( + req, format_control=format_control, autobuilding=autobuilding, + cache_available=cache_available, + ) + if ephem_cache is None: + continue + + buildset.append((req, ephem_cache)) + + if not buildset: + return [] + + # Is any wheel build not using the ephemeral cache? + if any(not ephem_cache for _, ephem_cache in buildset): + have_directory_for_build = self._wheel_dir or ( + autobuilding and self.wheel_cache.cache_dir + ) + assert have_directory_for_build + + # TODO by @pradyunsg + # Should break up this method into 2 separate methods. + + # Build the wheels. + logger.info( + 'Building wheels for collected packages: %s', + ', '.join([req.name for (req, _) in buildset]), + ) + _cache = self.wheel_cache # shorter name + with indent_log(): + build_success, build_failure = [], [] + for req, ephem in buildset: + python_tag = None + if autobuilding: + python_tag = pep425tags.implementation_tag + if ephem: + output_dir = _cache.get_ephem_path_for_link(req.link) + else: + output_dir = _cache.get_path_for_link(req.link) + try: + ensure_dir(output_dir) + except OSError as e: + logger.warning("Building wheel for %s failed: %s", + req.name, e) + build_failure.append(req) + continue + else: + output_dir = self._wheel_dir + wheel_file = self._build_one( + req, output_dir, + python_tag=python_tag, + ) + if wheel_file: + build_success.append(req) + if autobuilding: + # XXX: This is mildly duplicative with prepare_files, + # but not close enough to pull out to a single common + # method. + # The code below assumes temporary source dirs - + # prevent it doing bad things. + if req.source_dir and not os.path.exists(os.path.join( + req.source_dir, PIP_DELETE_MARKER_FILENAME)): + raise AssertionError( + "bad source dir - missing marker") + # Delete the source we built the wheel from + req.remove_temporary_source() + # set the build directory again - name is known from + # the work prepare_files did. + req.source_dir = req.build_location( + self.preparer.build_dir + ) + # Update the link for this. + req.link = Link(path_to_url(wheel_file)) + assert req.link.is_wheel + # extract the wheel into the dir + unpack_url( + req.link, req.source_dir, None, False, + session=session, + ) + else: + build_failure.append(req) + + # notify success/failure + if build_success: + logger.info( + 'Successfully built %s', + ' '.join([req.name for req in build_success]), + ) + if build_failure: + logger.info( + 'Failed to build %s', + ' '.join([req.name for req in build_failure]), + ) + # Return a list of requirements that failed to build + return build_failure diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/__init__.py new file mode 100644 index 0000000000..b919b540d4 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/__init__.py @@ -0,0 +1,111 @@ +""" +pip._vendor is for vendoring dependencies of pip to prevent needing pip to +depend on something external. + +Files inside of pip._vendor should be considered immutable and should only be +updated to versions from upstream. +""" +from __future__ import absolute_import + +import glob +import os.path +import sys + +# Downstream redistributors which have debundled our dependencies should also +# patch this value to be true. This will trigger the additional patching +# to cause things like "six" to be available as pip. +DEBUNDLED = False + +# By default, look in this directory for a bunch of .whl files which we will +# add to the beginning of sys.path before attempting to import anything. This +# is done to support downstream re-distributors like Debian and Fedora who +# wish to create their own Wheels for our dependencies to aid in debundling. +WHEEL_DIR = os.path.abspath(os.path.dirname(__file__)) + + +# Define a small helper function to alias our vendored modules to the real ones +# if the vendored ones do not exist. This idea of this was taken from +# https://github.com/kennethreitz/requests/pull/2567. +def vendored(modulename): + vendored_name = "{0}.{1}".format(__name__, modulename) + + try: + __import__(vendored_name, globals(), locals(), level=0) + except ImportError: + try: + __import__(modulename, globals(), locals(), level=0) + except ImportError: + # We can just silently allow import failures to pass here. If we + # got to this point it means that ``import pip._vendor.whatever`` + # failed and so did ``import whatever``. Since we're importing this + # upfront in an attempt to alias imports, not erroring here will + # just mean we get a regular import error whenever pip *actually* + # tries to import one of these modules to use it, which actually + # gives us a better error message than we would have otherwise + # gotten. + pass + else: + sys.modules[vendored_name] = sys.modules[modulename] + base, head = vendored_name.rsplit(".", 1) + setattr(sys.modules[base], head, sys.modules[modulename]) + + +# If we're operating in a debundled setup, then we want to go ahead and trigger +# the aliasing of our vendored libraries as well as looking for wheels to add +# to our sys.path. This will cause all of this code to be a no-op typically +# however downstream redistributors can enable it in a consistent way across +# all platforms. +if DEBUNDLED: + # Actually look inside of WHEEL_DIR to find .whl files and add them to the + # front of our sys.path. + sys.path[:] = glob.glob(os.path.join(WHEEL_DIR, "*.whl")) + sys.path + + # Actually alias all of our vendored dependencies. + vendored("cachecontrol") + vendored("colorama") + vendored("distlib") + vendored("distro") + vendored("html5lib") + vendored("lockfile") + vendored("six") + vendored("six.moves") + vendored("six.moves.urllib") + vendored("six.moves.urllib.parse") + vendored("packaging") + vendored("packaging.version") + vendored("packaging.specifiers") + vendored("pep517") + vendored("pkg_resources") + vendored("progress") + vendored("pytoml") + vendored("retrying") + vendored("requests") + vendored("requests.packages") + vendored("requests.packages.urllib3") + vendored("requests.packages.urllib3._collections") + vendored("requests.packages.urllib3.connection") + vendored("requests.packages.urllib3.connectionpool") + vendored("requests.packages.urllib3.contrib") + vendored("requests.packages.urllib3.contrib.ntlmpool") + vendored("requests.packages.urllib3.contrib.pyopenssl") + vendored("requests.packages.urllib3.exceptions") + vendored("requests.packages.urllib3.fields") + vendored("requests.packages.urllib3.filepost") + vendored("requests.packages.urllib3.packages") + vendored("requests.packages.urllib3.packages.ordered_dict") + vendored("requests.packages.urllib3.packages.six") + vendored("requests.packages.urllib3.packages.ssl_match_hostname") + vendored("requests.packages.urllib3.packages.ssl_match_hostname." + "_implementation") + vendored("requests.packages.urllib3.poolmanager") + vendored("requests.packages.urllib3.request") + vendored("requests.packages.urllib3.response") + vendored("requests.packages.urllib3.util") + vendored("requests.packages.urllib3.util.connection") + vendored("requests.packages.urllib3.util.request") + vendored("requests.packages.urllib3.util.response") + vendored("requests.packages.urllib3.util.retry") + vendored("requests.packages.urllib3.util.ssl_") + vendored("requests.packages.urllib3.util.timeout") + vendored("requests.packages.urllib3.util.url") + vendored("urllib3") diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/appdirs.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/appdirs.py new file mode 100644 index 0000000000..2bd3911028 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/appdirs.py @@ -0,0 +1,604 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (c) 2005-2010 ActiveState Software Inc. +# Copyright (c) 2013 Eddy Petrișor + +"""Utilities for determining application-specific dirs. + +See <http://github.com/ActiveState/appdirs> for details and usage. +""" +# Dev Notes: +# - MSDN on where to store app data files: +# http://support.microsoft.com/default.aspx?scid=kb;en-us;310294#XSLTH3194121123120121120120 +# - Mac OS X: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/index.html +# - XDG spec for Un*x: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html + +__version_info__ = (1, 4, 3) +__version__ = '.'.join(map(str, __version_info__)) + + +import sys +import os + +PY3 = sys.version_info[0] == 3 + +if PY3: + unicode = str + +if sys.platform.startswith('java'): + import platform + os_name = platform.java_ver()[3][0] + if os_name.startswith('Windows'): # "Windows XP", "Windows 7", etc. + system = 'win32' + elif os_name.startswith('Mac'): # "Mac OS X", etc. + system = 'darwin' + else: # "Linux", "SunOS", "FreeBSD", etc. + # Setting this to "linux2" is not ideal, but only Windows or Mac + # are actually checked for and the rest of the module expects + # *sys.platform* style strings. + system = 'linux2' +else: + system = sys.platform + + + +def user_data_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> + for a discussion of issues. + + Typical user data directories are: + Mac OS X: ~/Library/Application Support/<AppName> + Unix: ~/.local/share/<AppName> # or in $XDG_DATA_HOME, if defined + Win XP (not roaming): C:\Documents and Settings\<username>\Application Data\<AppAuthor>\<AppName> + Win XP (roaming): C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName> + Win 7 (not roaming): C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName> + Win 7 (roaming): C:\Users\<username>\AppData\Roaming\<AppAuthor>\<AppName> + + For Unix, we follow the XDG spec and support $XDG_DATA_HOME. + That means, by default "~/.local/share/<AppName>". + """ + if system == "win32": + if appauthor is None: + appauthor = appname + const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA" + path = os.path.normpath(_get_win_folder(const)) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + elif system == 'darwin': + path = os.path.expanduser('~/Library/Application Support/') + if appname: + path = os.path.join(path, appname) + else: + path = os.getenv('XDG_DATA_HOME', os.path.expanduser("~/.local/share")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def site_data_dir(appname=None, appauthor=None, version=None, multipath=False): + r"""Return full path to the user-shared data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "multipath" is an optional parameter only applicable to *nix + which indicates that the entire list of data dirs should be + returned. By default, the first item from XDG_DATA_DIRS is + returned, or '/usr/local/share/<AppName>', + if XDG_DATA_DIRS is not set + + Typical site data directories are: + Mac OS X: /Library/Application Support/<AppName> + Unix: /usr/local/share/<AppName> or /usr/share/<AppName> + Win XP: C:\Documents and Settings\All Users\Application Data\<AppAuthor>\<AppName> + Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) + Win 7: C:\ProgramData\<AppAuthor>\<AppName> # Hidden, but writeable on Win 7. + + For Unix, this is using the $XDG_DATA_DIRS[0] default. + + WARNING: Do not use this on Windows. See the Vista-Fail note above for why. + """ + if system == "win32": + if appauthor is None: + appauthor = appname + path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA")) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + elif system == 'darwin': + path = os.path.expanduser('/Library/Application Support') + if appname: + path = os.path.join(path, appname) + else: + # XDG default for $XDG_DATA_DIRS + # only first, if multipath is False + path = os.getenv('XDG_DATA_DIRS', + os.pathsep.join(['/usr/local/share', '/usr/share'])) + pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)] + if appname: + if version: + appname = os.path.join(appname, version) + pathlist = [os.sep.join([x, appname]) for x in pathlist] + + if multipath: + path = os.pathsep.join(pathlist) + else: + path = pathlist[0] + return path + + if appname and version: + path = os.path.join(path, version) + return path + + +def user_config_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific config dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> + for a discussion of issues. + + Typical user config directories are: + Mac OS X: same as user_data_dir + Unix: ~/.config/<AppName> # or in $XDG_CONFIG_HOME, if defined + Win *: same as user_data_dir + + For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME. + That means, by default "~/.config/<AppName>". + """ + if system in ["win32", "darwin"]: + path = user_data_dir(appname, appauthor, None, roaming) + else: + path = os.getenv('XDG_CONFIG_HOME', os.path.expanduser("~/.config")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def site_config_dir(appname=None, appauthor=None, version=None, multipath=False): + r"""Return full path to the user-shared data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "multipath" is an optional parameter only applicable to *nix + which indicates that the entire list of config dirs should be + returned. By default, the first item from XDG_CONFIG_DIRS is + returned, or '/etc/xdg/<AppName>', if XDG_CONFIG_DIRS is not set + + Typical site config directories are: + Mac OS X: same as site_data_dir + Unix: /etc/xdg/<AppName> or $XDG_CONFIG_DIRS[i]/<AppName> for each value in + $XDG_CONFIG_DIRS + Win *: same as site_data_dir + Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) + + For Unix, this is using the $XDG_CONFIG_DIRS[0] default, if multipath=False + + WARNING: Do not use this on Windows. See the Vista-Fail note above for why. + """ + if system in ["win32", "darwin"]: + path = site_data_dir(appname, appauthor) + if appname and version: + path = os.path.join(path, version) + else: + # XDG default for $XDG_CONFIG_DIRS + # only first, if multipath is False + path = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg') + pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)] + if appname: + if version: + appname = os.path.join(appname, version) + pathlist = [os.sep.join([x, appname]) for x in pathlist] + + if multipath: + path = os.pathsep.join(pathlist) + else: + path = pathlist[0] + return path + + +def user_cache_dir(appname=None, appauthor=None, version=None, opinion=True): + r"""Return full path to the user-specific cache dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "opinion" (boolean) can be False to disable the appending of + "Cache" to the base app data dir for Windows. See + discussion below. + + Typical user cache directories are: + Mac OS X: ~/Library/Caches/<AppName> + Unix: ~/.cache/<AppName> (XDG default) + Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Cache + Vista: C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\Cache + + On Windows the only suggestion in the MSDN docs is that local settings go in + the `CSIDL_LOCAL_APPDATA` directory. This is identical to the non-roaming + app data dir (the default returned by `user_data_dir` above). Apps typically + put cache data somewhere *under* the given dir here. Some examples: + ...\Mozilla\Firefox\Profiles\<ProfileName>\Cache + ...\Acme\SuperApp\Cache\1.0 + OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value. + This can be disabled with the `opinion=False` option. + """ + if system == "win32": + if appauthor is None: + appauthor = appname + path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA")) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + if opinion: + path = os.path.join(path, "Cache") + elif system == 'darwin': + path = os.path.expanduser('~/Library/Caches') + if appname: + path = os.path.join(path, appname) + else: + path = os.getenv('XDG_CACHE_HOME', os.path.expanduser('~/.cache')) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def user_state_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific state dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + <http://technet.microsoft.com/en-us/library/cc766489(WS.10).aspx> + for a discussion of issues. + + Typical user state directories are: + Mac OS X: same as user_data_dir + Unix: ~/.local/state/<AppName> # or in $XDG_STATE_HOME, if defined + Win *: same as user_data_dir + + For Unix, we follow this Debian proposal <https://wiki.debian.org/XDGBaseDirectorySpecification#state> + to extend the XDG spec and support $XDG_STATE_HOME. + + That means, by default "~/.local/state/<AppName>". + """ + if system in ["win32", "darwin"]: + path = user_data_dir(appname, appauthor, None, roaming) + else: + path = os.getenv('XDG_STATE_HOME', os.path.expanduser("~/.local/state")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def user_log_dir(appname=None, appauthor=None, version=None, opinion=True): + r"""Return full path to the user-specific log dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be "<major>.<minor>". + Only applied when appname is present. + "opinion" (boolean) can be False to disable the appending of + "Logs" to the base app data dir for Windows, and "log" to the + base cache dir for Unix. See discussion below. + + Typical user log directories are: + Mac OS X: ~/Library/Logs/<AppName> + Unix: ~/.cache/<AppName>/log # or under $XDG_CACHE_HOME if defined + Win XP: C:\Documents and Settings\<username>\Local Settings\Application Data\<AppAuthor>\<AppName>\Logs + Vista: C:\Users\<username>\AppData\Local\<AppAuthor>\<AppName>\Logs + + On Windows the only suggestion in the MSDN docs is that local settings + go in the `CSIDL_LOCAL_APPDATA` directory. (Note: I'm interested in + examples of what some windows apps use for a logs dir.) + + OPINION: This function appends "Logs" to the `CSIDL_LOCAL_APPDATA` + value for Windows and appends "log" to the user cache dir for Unix. + This can be disabled with the `opinion=False` option. + """ + if system == "darwin": + path = os.path.join( + os.path.expanduser('~/Library/Logs'), + appname) + elif system == "win32": + path = user_data_dir(appname, appauthor, version) + version = False + if opinion: + path = os.path.join(path, "Logs") + else: + path = user_cache_dir(appname, appauthor, version) + version = False + if opinion: + path = os.path.join(path, "log") + if appname and version: + path = os.path.join(path, version) + return path + + +class AppDirs(object): + """Convenience wrapper for getting application dirs.""" + def __init__(self, appname=None, appauthor=None, version=None, + roaming=False, multipath=False): + self.appname = appname + self.appauthor = appauthor + self.version = version + self.roaming = roaming + self.multipath = multipath + + @property + def user_data_dir(self): + return user_data_dir(self.appname, self.appauthor, + version=self.version, roaming=self.roaming) + + @property + def site_data_dir(self): + return site_data_dir(self.appname, self.appauthor, + version=self.version, multipath=self.multipath) + + @property + def user_config_dir(self): + return user_config_dir(self.appname, self.appauthor, + version=self.version, roaming=self.roaming) + + @property + def site_config_dir(self): + return site_config_dir(self.appname, self.appauthor, + version=self.version, multipath=self.multipath) + + @property + def user_cache_dir(self): + return user_cache_dir(self.appname, self.appauthor, + version=self.version) + + @property + def user_state_dir(self): + return user_state_dir(self.appname, self.appauthor, + version=self.version) + + @property + def user_log_dir(self): + return user_log_dir(self.appname, self.appauthor, + version=self.version) + + +#---- internal support stuff + +def _get_win_folder_from_registry(csidl_name): + """This is a fallback technique at best. I'm not sure if using the + registry for this guarantees us the correct answer for all CSIDL_* + names. + """ + if PY3: + import winreg as _winreg + else: + import _winreg + + shell_folder_name = { + "CSIDL_APPDATA": "AppData", + "CSIDL_COMMON_APPDATA": "Common AppData", + "CSIDL_LOCAL_APPDATA": "Local AppData", + }[csidl_name] + + key = _winreg.OpenKey( + _winreg.HKEY_CURRENT_USER, + r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" + ) + dir, type = _winreg.QueryValueEx(key, shell_folder_name) + return dir + + +def _get_win_folder_with_pywin32(csidl_name): + from win32com.shell import shellcon, shell + dir = shell.SHGetFolderPath(0, getattr(shellcon, csidl_name), 0, 0) + # Try to make this a unicode path because SHGetFolderPath does + # not return unicode strings when there is unicode data in the + # path. + try: + dir = unicode(dir) + + # Downgrade to short path name if have highbit chars. See + # <http://bugs.activestate.com/show_bug.cgi?id=85099>. + has_high_char = False + for c in dir: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + try: + import win32api + dir = win32api.GetShortPathName(dir) + except ImportError: + pass + except UnicodeError: + pass + return dir + + +def _get_win_folder_with_ctypes(csidl_name): + import ctypes + + csidl_const = { + "CSIDL_APPDATA": 26, + "CSIDL_COMMON_APPDATA": 35, + "CSIDL_LOCAL_APPDATA": 28, + }[csidl_name] + + buf = ctypes.create_unicode_buffer(1024) + ctypes.windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf) + + # Downgrade to short path name if have highbit chars. See + # <http://bugs.activestate.com/show_bug.cgi?id=85099>. + has_high_char = False + for c in buf: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + buf2 = ctypes.create_unicode_buffer(1024) + if ctypes.windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024): + buf = buf2 + + return buf.value + +def _get_win_folder_with_jna(csidl_name): + import array + from com.sun import jna + from com.sun.jna.platform import win32 + + buf_size = win32.WinDef.MAX_PATH * 2 + buf = array.zeros('c', buf_size) + shell = win32.Shell32.INSTANCE + shell.SHGetFolderPath(None, getattr(win32.ShlObj, csidl_name), None, win32.ShlObj.SHGFP_TYPE_CURRENT, buf) + dir = jna.Native.toString(buf.tostring()).rstrip("\0") + + # Downgrade to short path name if have highbit chars. See + # <http://bugs.activestate.com/show_bug.cgi?id=85099>. + has_high_char = False + for c in dir: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + buf = array.zeros('c', buf_size) + kernel = win32.Kernel32.INSTANCE + if kernel.GetShortPathName(dir, buf, buf_size): + dir = jna.Native.toString(buf.tostring()).rstrip("\0") + + return dir + +if system == "win32": + try: + from ctypes import windll + _get_win_folder = _get_win_folder_with_ctypes + except ImportError: + try: + import com.sun.jna + _get_win_folder = _get_win_folder_with_jna + except ImportError: + _get_win_folder = _get_win_folder_from_registry + + +#---- self test code + +if __name__ == "__main__": + appname = "MyApp" + appauthor = "MyCompany" + + props = ("user_data_dir", + "user_config_dir", + "user_cache_dir", + "user_state_dir", + "user_log_dir", + "site_data_dir", + "site_config_dir") + + print("-- app dirs %s --" % __version__) + + print("-- app dirs (with optional 'version')") + dirs = AppDirs(appname, appauthor, version="1.0") + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (without optional 'version')") + dirs = AppDirs(appname, appauthor) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (without optional 'appauthor')") + dirs = AppDirs(appname) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (with disabled 'appauthor')") + dirs = AppDirs(appname, appauthor=False) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/__init__.py new file mode 100644 index 0000000000..8fdee66ffe --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/__init__.py @@ -0,0 +1,11 @@ +"""CacheControl import Interface. + +Make it easy to import from cachecontrol without long namespaces. +""" +__author__ = "Eric Larson" +__email__ = "eric@ionrock.org" +__version__ = "0.12.5" + +from .wrapper import CacheControl +from .adapter import CacheControlAdapter +from .controller import CacheController diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/_cmd.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/_cmd.py new file mode 100644 index 0000000000..f1e0ad94a1 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/_cmd.py @@ -0,0 +1,57 @@ +import logging + +from pip._vendor import requests + +from pip._vendor.cachecontrol.adapter import CacheControlAdapter +from pip._vendor.cachecontrol.cache import DictCache +from pip._vendor.cachecontrol.controller import logger + +from argparse import ArgumentParser + + +def setup_logging(): + logger.setLevel(logging.DEBUG) + handler = logging.StreamHandler() + logger.addHandler(handler) + + +def get_session(): + adapter = CacheControlAdapter( + DictCache(), cache_etags=True, serializer=None, heuristic=None + ) + sess = requests.Session() + sess.mount("http://", adapter) + sess.mount("https://", adapter) + + sess.cache_controller = adapter.controller + return sess + + +def get_args(): + parser = ArgumentParser() + parser.add_argument("url", help="The URL to try and cache") + return parser.parse_args() + + +def main(args=None): + args = get_args() + sess = get_session() + + # Make a request to get a response + resp = sess.get(args.url) + + # Turn on logging + setup_logging() + + # try setting the cache + sess.cache_controller.cache_response(resp.request, resp.raw) + + # Now try to get it + if sess.cache_controller.cached_request(resp.request): + print("Cached!") + else: + print("Not cached :(") + + +if __name__ == "__main__": + main() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/adapter.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/adapter.py new file mode 100644 index 0000000000..780eb2883b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/adapter.py @@ -0,0 +1,133 @@ +import types +import functools +import zlib + +from pip._vendor.requests.adapters import HTTPAdapter + +from .controller import CacheController +from .cache import DictCache +from .filewrapper import CallbackFileWrapper + + +class CacheControlAdapter(HTTPAdapter): + invalidating_methods = {"PUT", "DELETE"} + + def __init__( + self, + cache=None, + cache_etags=True, + controller_class=None, + serializer=None, + heuristic=None, + cacheable_methods=None, + *args, + **kw + ): + super(CacheControlAdapter, self).__init__(*args, **kw) + self.cache = cache or DictCache() + self.heuristic = heuristic + self.cacheable_methods = cacheable_methods or ("GET",) + + controller_factory = controller_class or CacheController + self.controller = controller_factory( + self.cache, cache_etags=cache_etags, serializer=serializer + ) + + def send(self, request, cacheable_methods=None, **kw): + """ + Send a request. Use the request information to see if it + exists in the cache and cache the response if we need to and can. + """ + cacheable = cacheable_methods or self.cacheable_methods + if request.method in cacheable: + try: + cached_response = self.controller.cached_request(request) + except zlib.error: + cached_response = None + if cached_response: + return self.build_response(request, cached_response, from_cache=True) + + # check for etags and add headers if appropriate + request.headers.update(self.controller.conditional_headers(request)) + + resp = super(CacheControlAdapter, self).send(request, **kw) + + return resp + + def build_response( + self, request, response, from_cache=False, cacheable_methods=None + ): + """ + Build a response by making a request or using the cache. + + This will end up calling send and returning a potentially + cached response + """ + cacheable = cacheable_methods or self.cacheable_methods + if not from_cache and request.method in cacheable: + # Check for any heuristics that might update headers + # before trying to cache. + if self.heuristic: + response = self.heuristic.apply(response) + + # apply any expiration heuristics + if response.status == 304: + # We must have sent an ETag request. This could mean + # that we've been expired already or that we simply + # have an etag. In either case, we want to try and + # update the cache if that is the case. + cached_response = self.controller.update_cached_response( + request, response + ) + + if cached_response is not response: + from_cache = True + + # We are done with the server response, read a + # possible response body (compliant servers will + # not return one, but we cannot be 100% sure) and + # release the connection back to the pool. + response.read(decode_content=False) + response.release_conn() + + response = cached_response + + # We always cache the 301 responses + elif response.status == 301: + self.controller.cache_response(request, response) + else: + # Wrap the response file with a wrapper that will cache the + # response when the stream has been consumed. + response._fp = CallbackFileWrapper( + response._fp, + functools.partial( + self.controller.cache_response, request, response + ), + ) + if response.chunked: + super_update_chunk_length = response._update_chunk_length + + def _update_chunk_length(self): + super_update_chunk_length() + if self.chunk_left == 0: + self._fp._close() + + response._update_chunk_length = types.MethodType( + _update_chunk_length, response + ) + + resp = super(CacheControlAdapter, self).build_response(request, response) + + # See if we should invalidate the cache. + if request.method in self.invalidating_methods and resp.ok: + cache_url = self.controller.cache_url(request.url) + self.cache.delete(cache_url) + + # Give the request a from_cache attr to let people use it + resp.from_cache = from_cache + + return resp + + def close(self): + self.cache.close() + super(CacheControlAdapter, self).close() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/cache.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/cache.py new file mode 100644 index 0000000000..94e07732d9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/cache.py @@ -0,0 +1,39 @@ +""" +The cache object API for implementing caches. The default is a thread +safe in-memory dictionary. +""" +from threading import Lock + + +class BaseCache(object): + + def get(self, key): + raise NotImplementedError() + + def set(self, key, value): + raise NotImplementedError() + + def delete(self, key): + raise NotImplementedError() + + def close(self): + pass + + +class DictCache(BaseCache): + + def __init__(self, init_dict=None): + self.lock = Lock() + self.data = init_dict or {} + + def get(self, key): + return self.data.get(key, None) + + def set(self, key, value): + with self.lock: + self.data.update({key: value}) + + def delete(self, key): + with self.lock: + if key in self.data: + self.data.pop(key) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/__init__.py new file mode 100644 index 0000000000..0e1658fa5e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/__init__.py @@ -0,0 +1,2 @@ +from .file_cache import FileCache # noqa +from .redis_cache import RedisCache # noqa diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/file_cache.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/file_cache.py new file mode 100644 index 0000000000..1ba00806cc --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/file_cache.py @@ -0,0 +1,146 @@ +import hashlib +import os +from textwrap import dedent + +from ..cache import BaseCache +from ..controller import CacheController + +try: + FileNotFoundError +except NameError: + # py2.X + FileNotFoundError = (IOError, OSError) + + +def _secure_open_write(filename, fmode): + # We only want to write to this file, so open it in write only mode + flags = os.O_WRONLY + + # os.O_CREAT | os.O_EXCL will fail if the file already exists, so we only + # will open *new* files. + # We specify this because we want to ensure that the mode we pass is the + # mode of the file. + flags |= os.O_CREAT | os.O_EXCL + + # Do not follow symlinks to prevent someone from making a symlink that + # we follow and insecurely open a cache file. + if hasattr(os, "O_NOFOLLOW"): + flags |= os.O_NOFOLLOW + + # On Windows we'll mark this file as binary + if hasattr(os, "O_BINARY"): + flags |= os.O_BINARY + + # Before we open our file, we want to delete any existing file that is + # there + try: + os.remove(filename) + except (IOError, OSError): + # The file must not exist already, so we can just skip ahead to opening + pass + + # Open our file, the use of os.O_CREAT | os.O_EXCL will ensure that if a + # race condition happens between the os.remove and this line, that an + # error will be raised. Because we utilize a lockfile this should only + # happen if someone is attempting to attack us. + fd = os.open(filename, flags, fmode) + try: + return os.fdopen(fd, "wb") + + except: + # An error occurred wrapping our FD in a file object + os.close(fd) + raise + + +class FileCache(BaseCache): + + def __init__( + self, + directory, + forever=False, + filemode=0o0600, + dirmode=0o0700, + use_dir_lock=None, + lock_class=None, + ): + + if use_dir_lock is not None and lock_class is not None: + raise ValueError("Cannot use use_dir_lock and lock_class together") + + try: + from pip._vendor.lockfile import LockFile + from pip._vendor.lockfile.mkdirlockfile import MkdirLockFile + except ImportError: + notice = dedent( + """ + NOTE: In order to use the FileCache you must have + lockfile installed. You can install it via pip: + pip install lockfile + """ + ) + raise ImportError(notice) + + else: + if use_dir_lock: + lock_class = MkdirLockFile + + elif lock_class is None: + lock_class = LockFile + + self.directory = directory + self.forever = forever + self.filemode = filemode + self.dirmode = dirmode + self.lock_class = lock_class + + @staticmethod + def encode(x): + return hashlib.sha224(x.encode()).hexdigest() + + def _fn(self, name): + # NOTE: This method should not change as some may depend on it. + # See: https://github.com/ionrock/cachecontrol/issues/63 + hashed = self.encode(name) + parts = list(hashed[:5]) + [hashed] + return os.path.join(self.directory, *parts) + + def get(self, key): + name = self._fn(key) + try: + with open(name, "rb") as fh: + return fh.read() + + except FileNotFoundError: + return None + + def set(self, key, value): + name = self._fn(key) + + # Make sure the directory exists + try: + os.makedirs(os.path.dirname(name), self.dirmode) + except (IOError, OSError): + pass + + with self.lock_class(name) as lock: + # Write our actual file + with _secure_open_write(lock.path, self.filemode) as fh: + fh.write(value) + + def delete(self, key): + name = self._fn(key) + if not self.forever: + try: + os.remove(name) + except FileNotFoundError: + pass + + +def url_to_file_path(url, filecache): + """Return the file cache path based on the URL. + + This does not ensure the file exists! + """ + key = CacheController.cache_url(url) + return filecache._fn(key) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/redis_cache.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/redis_cache.py new file mode 100644 index 0000000000..ed705ce7df --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/caches/redis_cache.py @@ -0,0 +1,33 @@ +from __future__ import division + +from datetime import datetime +from pip._vendor.cachecontrol.cache import BaseCache + + +class RedisCache(BaseCache): + + def __init__(self, conn): + self.conn = conn + + def get(self, key): + return self.conn.get(key) + + def set(self, key, value, expires=None): + if not expires: + self.conn.set(key, value) + else: + expires = expires - datetime.utcnow() + self.conn.setex(key, int(expires.total_seconds()), value) + + def delete(self, key): + self.conn.delete(key) + + def clear(self): + """Helper for clearing all the keys in a database. Use with + caution!""" + for key in self.conn.keys(): + self.conn.delete(key) + + def close(self): + """Redis uses connection pooling, no need to close the connection.""" + pass diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/compat.py new file mode 100644 index 0000000000..33b5aed0a3 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/compat.py @@ -0,0 +1,29 @@ +try: + from urllib.parse import urljoin +except ImportError: + from urlparse import urljoin + + +try: + import cPickle as pickle +except ImportError: + import pickle + + +# Handle the case where the requests module has been patched to not have +# urllib3 bundled as part of its source. +try: + from pip._vendor.requests.packages.urllib3.response import HTTPResponse +except ImportError: + from pip._vendor.urllib3.response import HTTPResponse + +try: + from pip._vendor.requests.packages.urllib3.util import is_fp_closed +except ImportError: + from pip._vendor.urllib3.util import is_fp_closed + +# Replicate some six behaviour +try: + text_type = unicode +except NameError: + text_type = str diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/controller.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/controller.py new file mode 100644 index 0000000000..1b2b943cb9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/controller.py @@ -0,0 +1,367 @@ +""" +The httplib2 algorithms ported for use with requests. +""" +import logging +import re +import calendar +import time +from email.utils import parsedate_tz + +from pip._vendor.requests.structures import CaseInsensitiveDict + +from .cache import DictCache +from .serialize import Serializer + + +logger = logging.getLogger(__name__) + +URI = re.compile(r"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?") + + +def parse_uri(uri): + """Parses a URI using the regex given in Appendix B of RFC 3986. + + (scheme, authority, path, query, fragment) = parse_uri(uri) + """ + groups = URI.match(uri).groups() + return (groups[1], groups[3], groups[4], groups[6], groups[8]) + + +class CacheController(object): + """An interface to see if request should cached or not. + """ + + def __init__( + self, cache=None, cache_etags=True, serializer=None, status_codes=None + ): + self.cache = cache or DictCache() + self.cache_etags = cache_etags + self.serializer = serializer or Serializer() + self.cacheable_status_codes = status_codes or (200, 203, 300, 301) + + @classmethod + def _urlnorm(cls, uri): + """Normalize the URL to create a safe key for the cache""" + (scheme, authority, path, query, fragment) = parse_uri(uri) + if not scheme or not authority: + raise Exception("Only absolute URIs are allowed. uri = %s" % uri) + + scheme = scheme.lower() + authority = authority.lower() + + if not path: + path = "/" + + # Could do syntax based normalization of the URI before + # computing the digest. See Section 6.2.2 of Std 66. + request_uri = query and "?".join([path, query]) or path + defrag_uri = scheme + "://" + authority + request_uri + + return defrag_uri + + @classmethod + def cache_url(cls, uri): + return cls._urlnorm(uri) + + def parse_cache_control(self, headers): + known_directives = { + # https://tools.ietf.org/html/rfc7234#section-5.2 + "max-age": (int, True), + "max-stale": (int, False), + "min-fresh": (int, True), + "no-cache": (None, False), + "no-store": (None, False), + "no-transform": (None, False), + "only-if-cached": (None, False), + "must-revalidate": (None, False), + "public": (None, False), + "private": (None, False), + "proxy-revalidate": (None, False), + "s-maxage": (int, True), + } + + cc_headers = headers.get("cache-control", headers.get("Cache-Control", "")) + + retval = {} + + for cc_directive in cc_headers.split(","): + if not cc_directive.strip(): + continue + + parts = cc_directive.split("=", 1) + directive = parts[0].strip() + + try: + typ, required = known_directives[directive] + except KeyError: + logger.debug("Ignoring unknown cache-control directive: %s", directive) + continue + + if not typ or not required: + retval[directive] = None + if typ: + try: + retval[directive] = typ(parts[1].strip()) + except IndexError: + if required: + logger.debug( + "Missing value for cache-control " "directive: %s", + directive, + ) + except ValueError: + logger.debug( + "Invalid value for cache-control directive " "%s, must be %s", + directive, + typ.__name__, + ) + + return retval + + def cached_request(self, request): + """ + Return a cached response if it exists in the cache, otherwise + return False. + """ + cache_url = self.cache_url(request.url) + logger.debug('Looking up "%s" in the cache', cache_url) + cc = self.parse_cache_control(request.headers) + + # Bail out if the request insists on fresh data + if "no-cache" in cc: + logger.debug('Request header has "no-cache", cache bypassed') + return False + + if "max-age" in cc and cc["max-age"] == 0: + logger.debug('Request header has "max_age" as 0, cache bypassed') + return False + + # Request allows serving from the cache, let's see if we find something + cache_data = self.cache.get(cache_url) + if cache_data is None: + logger.debug("No cache entry available") + return False + + # Check whether it can be deserialized + resp = self.serializer.loads(request, cache_data) + if not resp: + logger.warning("Cache entry deserialization failed, entry ignored") + return False + + # If we have a cached 301, return it immediately. We don't + # need to test our response for other headers b/c it is + # intrinsically "cacheable" as it is Permanent. + # See: + # https://tools.ietf.org/html/rfc7231#section-6.4.2 + # + # Client can try to refresh the value by repeating the request + # with cache busting headers as usual (ie no-cache). + if resp.status == 301: + msg = ( + 'Returning cached "301 Moved Permanently" response ' + "(ignoring date and etag information)" + ) + logger.debug(msg) + return resp + + headers = CaseInsensitiveDict(resp.headers) + if not headers or "date" not in headers: + if "etag" not in headers: + # Without date or etag, the cached response can never be used + # and should be deleted. + logger.debug("Purging cached response: no date or etag") + self.cache.delete(cache_url) + logger.debug("Ignoring cached response: no date") + return False + + now = time.time() + date = calendar.timegm(parsedate_tz(headers["date"])) + current_age = max(0, now - date) + logger.debug("Current age based on date: %i", current_age) + + # TODO: There is an assumption that the result will be a + # urllib3 response object. This may not be best since we + # could probably avoid instantiating or constructing the + # response until we know we need it. + resp_cc = self.parse_cache_control(headers) + + # determine freshness + freshness_lifetime = 0 + + # Check the max-age pragma in the cache control header + if "max-age" in resp_cc: + freshness_lifetime = resp_cc["max-age"] + logger.debug("Freshness lifetime from max-age: %i", freshness_lifetime) + + # If there isn't a max-age, check for an expires header + elif "expires" in headers: + expires = parsedate_tz(headers["expires"]) + if expires is not None: + expire_time = calendar.timegm(expires) - date + freshness_lifetime = max(0, expire_time) + logger.debug("Freshness lifetime from expires: %i", freshness_lifetime) + + # Determine if we are setting freshness limit in the + # request. Note, this overrides what was in the response. + if "max-age" in cc: + freshness_lifetime = cc["max-age"] + logger.debug( + "Freshness lifetime from request max-age: %i", freshness_lifetime + ) + + if "min-fresh" in cc: + min_fresh = cc["min-fresh"] + # adjust our current age by our min fresh + current_age += min_fresh + logger.debug("Adjusted current age from min-fresh: %i", current_age) + + # Return entry if it is fresh enough + if freshness_lifetime > current_age: + logger.debug('The response is "fresh", returning cached response') + logger.debug("%i > %i", freshness_lifetime, current_age) + return resp + + # we're not fresh. If we don't have an Etag, clear it out + if "etag" not in headers: + logger.debug('The cached response is "stale" with no etag, purging') + self.cache.delete(cache_url) + + # return the original handler + return False + + def conditional_headers(self, request): + cache_url = self.cache_url(request.url) + resp = self.serializer.loads(request, self.cache.get(cache_url)) + new_headers = {} + + if resp: + headers = CaseInsensitiveDict(resp.headers) + + if "etag" in headers: + new_headers["If-None-Match"] = headers["ETag"] + + if "last-modified" in headers: + new_headers["If-Modified-Since"] = headers["Last-Modified"] + + return new_headers + + def cache_response(self, request, response, body=None, status_codes=None): + """ + Algorithm for caching requests. + + This assumes a requests Response object. + """ + # From httplib2: Don't cache 206's since we aren't going to + # handle byte range requests + cacheable_status_codes = status_codes or self.cacheable_status_codes + if response.status not in cacheable_status_codes: + logger.debug( + "Status code %s not in %s", response.status, cacheable_status_codes + ) + return + + response_headers = CaseInsensitiveDict(response.headers) + + # If we've been given a body, our response has a Content-Length, that + # Content-Length is valid then we can check to see if the body we've + # been given matches the expected size, and if it doesn't we'll just + # skip trying to cache it. + if ( + body is not None + and "content-length" in response_headers + and response_headers["content-length"].isdigit() + and int(response_headers["content-length"]) != len(body) + ): + return + + cc_req = self.parse_cache_control(request.headers) + cc = self.parse_cache_control(response_headers) + + cache_url = self.cache_url(request.url) + logger.debug('Updating cache with response from "%s"', cache_url) + + # Delete it from the cache if we happen to have it stored there + no_store = False + if "no-store" in cc: + no_store = True + logger.debug('Response header has "no-store"') + if "no-store" in cc_req: + no_store = True + logger.debug('Request header has "no-store"') + if no_store and self.cache.get(cache_url): + logger.debug('Purging existing cache entry to honor "no-store"') + self.cache.delete(cache_url) + if no_store: + return + + # If we've been given an etag, then keep the response + if self.cache_etags and "etag" in response_headers: + logger.debug("Caching due to etag") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + # Add to the cache any 301s. We do this before looking that + # the Date headers. + elif response.status == 301: + logger.debug("Caching permanant redirect") + self.cache.set(cache_url, self.serializer.dumps(request, response)) + + # Add to the cache if the response headers demand it. If there + # is no date header then we can't do anything about expiring + # the cache. + elif "date" in response_headers: + # cache when there is a max-age > 0 + if "max-age" in cc and cc["max-age"] > 0: + logger.debug("Caching b/c date exists and max-age > 0") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + # If the request can expire, it means we should cache it + # in the meantime. + elif "expires" in response_headers: + if response_headers["expires"]: + logger.debug("Caching b/c of expires header") + self.cache.set( + cache_url, self.serializer.dumps(request, response, body=body) + ) + + def update_cached_response(self, request, response): + """On a 304 we will get a new set of headers that we want to + update our cached value with, assuming we have one. + + This should only ever be called when we've sent an ETag and + gotten a 304 as the response. + """ + cache_url = self.cache_url(request.url) + + cached_response = self.serializer.loads(request, self.cache.get(cache_url)) + + if not cached_response: + # we didn't have a cached response + return response + + # Lets update our headers with the headers from the new request: + # http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-26#section-4.1 + # + # The server isn't supposed to send headers that would make + # the cached body invalid. But... just in case, we'll be sure + # to strip out ones we know that might be problmatic due to + # typical assumptions. + excluded_headers = ["content-length"] + + cached_response.headers.update( + dict( + (k, v) + for k, v in response.headers.items() + if k.lower() not in excluded_headers + ) + ) + + # we want a 200 b/c we have content via the cache + cached_response.status = 200 + + # update our cache + self.cache.set(cache_url, self.serializer.dumps(request, cached_response)) + + return cached_response diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/filewrapper.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/filewrapper.py new file mode 100644 index 0000000000..30ed4c5a62 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/filewrapper.py @@ -0,0 +1,80 @@ +from io import BytesIO + + +class CallbackFileWrapper(object): + """ + Small wrapper around a fp object which will tee everything read into a + buffer, and when that file is closed it will execute a callback with the + contents of that buffer. + + All attributes are proxied to the underlying file object. + + This class uses members with a double underscore (__) leading prefix so as + not to accidentally shadow an attribute. + """ + + def __init__(self, fp, callback): + self.__buf = BytesIO() + self.__fp = fp + self.__callback = callback + + def __getattr__(self, name): + # The vaguaries of garbage collection means that self.__fp is + # not always set. By using __getattribute__ and the private + # name[0] allows looking up the attribute value and raising an + # AttributeError when it doesn't exist. This stop thigns from + # infinitely recursing calls to getattr in the case where + # self.__fp hasn't been set. + # + # [0] https://docs.python.org/2/reference/expressions.html#atom-identifiers + fp = self.__getattribute__("_CallbackFileWrapper__fp") + return getattr(fp, name) + + def __is_fp_closed(self): + try: + return self.__fp.fp is None + + except AttributeError: + pass + + try: + return self.__fp.closed + + except AttributeError: + pass + + # We just don't cache it then. + # TODO: Add some logging here... + return False + + def _close(self): + if self.__callback: + self.__callback(self.__buf.getvalue()) + + # We assign this to None here, because otherwise we can get into + # really tricky problems where the CPython interpreter dead locks + # because the callback is holding a reference to something which + # has a __del__ method. Setting this to None breaks the cycle + # and allows the garbage collector to do it's thing normally. + self.__callback = None + + def read(self, amt=None): + data = self.__fp.read(amt) + self.__buf.write(data) + if self.__is_fp_closed(): + self._close() + + return data + + def _safe_read(self, amt): + data = self.__fp._safe_read(amt) + if amt == 2 and data == b"\r\n": + # urllib executes this read to toss the CRLF at the end + # of the chunk. + return data + + self.__buf.write(data) + if self.__is_fp_closed(): + self._close() + + return data diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/heuristics.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/heuristics.py new file mode 100644 index 0000000000..6c0e9790d5 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/heuristics.py @@ -0,0 +1,135 @@ +import calendar +import time + +from email.utils import formatdate, parsedate, parsedate_tz + +from datetime import datetime, timedelta + +TIME_FMT = "%a, %d %b %Y %H:%M:%S GMT" + + +def expire_after(delta, date=None): + date = date or datetime.utcnow() + return date + delta + + +def datetime_to_header(dt): + return formatdate(calendar.timegm(dt.timetuple())) + + +class BaseHeuristic(object): + + def warning(self, response): + """ + Return a valid 1xx warning header value describing the cache + adjustments. + + The response is provided too allow warnings like 113 + http://tools.ietf.org/html/rfc7234#section-5.5.4 where we need + to explicitly say response is over 24 hours old. + """ + return '110 - "Response is Stale"' + + def update_headers(self, response): + """Update the response headers with any new headers. + + NOTE: This SHOULD always include some Warning header to + signify that the response was cached by the client, not + by way of the provided headers. + """ + return {} + + def apply(self, response): + updated_headers = self.update_headers(response) + + if updated_headers: + response.headers.update(updated_headers) + warning_header_value = self.warning(response) + if warning_header_value is not None: + response.headers.update({"Warning": warning_header_value}) + + return response + + +class OneDayCache(BaseHeuristic): + """ + Cache the response by providing an expires 1 day in the + future. + """ + + def update_headers(self, response): + headers = {} + + if "expires" not in response.headers: + date = parsedate(response.headers["date"]) + expires = expire_after(timedelta(days=1), date=datetime(*date[:6])) + headers["expires"] = datetime_to_header(expires) + headers["cache-control"] = "public" + return headers + + +class ExpiresAfter(BaseHeuristic): + """ + Cache **all** requests for a defined time period. + """ + + def __init__(self, **kw): + self.delta = timedelta(**kw) + + def update_headers(self, response): + expires = expire_after(self.delta) + return {"expires": datetime_to_header(expires), "cache-control": "public"} + + def warning(self, response): + tmpl = "110 - Automatically cached for %s. Response might be stale" + return tmpl % self.delta + + +class LastModified(BaseHeuristic): + """ + If there is no Expires header already, fall back on Last-Modified + using the heuristic from + http://tools.ietf.org/html/rfc7234#section-4.2.2 + to calculate a reasonable value. + + Firefox also does something like this per + https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FAQ + http://lxr.mozilla.org/mozilla-release/source/netwerk/protocol/http/nsHttpResponseHead.cpp#397 + Unlike mozilla we limit this to 24-hr. + """ + cacheable_by_default_statuses = { + 200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501 + } + + def update_headers(self, resp): + headers = resp.headers + + if "expires" in headers: + return {} + + if "cache-control" in headers and headers["cache-control"] != "public": + return {} + + if resp.status not in self.cacheable_by_default_statuses: + return {} + + if "date" not in headers or "last-modified" not in headers: + return {} + + date = calendar.timegm(parsedate_tz(headers["date"])) + last_modified = parsedate(headers["last-modified"]) + if date is None or last_modified is None: + return {} + + now = time.time() + current_age = max(0, now - date) + delta = date - calendar.timegm(last_modified) + freshness_lifetime = max(0, min(delta / 10, 24 * 3600)) + if freshness_lifetime <= current_age: + return {} + + expires = date + freshness_lifetime + return {"expires": time.strftime(TIME_FMT, time.gmtime(expires))} + + def warning(self, resp): + return None diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/serialize.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/serialize.py new file mode 100644 index 0000000000..ec43ff27a8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/serialize.py @@ -0,0 +1,186 @@ +import base64 +import io +import json +import zlib + +from pip._vendor import msgpack +from pip._vendor.requests.structures import CaseInsensitiveDict + +from .compat import HTTPResponse, pickle, text_type + + +def _b64_decode_bytes(b): + return base64.b64decode(b.encode("ascii")) + + +def _b64_decode_str(s): + return _b64_decode_bytes(s).decode("utf8") + + +class Serializer(object): + + def dumps(self, request, response, body=None): + response_headers = CaseInsensitiveDict(response.headers) + + if body is None: + body = response.read(decode_content=False) + + # NOTE: 99% sure this is dead code. I'm only leaving it + # here b/c I don't have a test yet to prove + # it. Basically, before using + # `cachecontrol.filewrapper.CallbackFileWrapper`, + # this made an effort to reset the file handle. The + # `CallbackFileWrapper` short circuits this code by + # setting the body as the content is consumed, the + # result being a `body` argument is *always* passed + # into cache_response, and in turn, + # `Serializer.dump`. + response._fp = io.BytesIO(body) + + # NOTE: This is all a bit weird, but it's really important that on + # Python 2.x these objects are unicode and not str, even when + # they contain only ascii. The problem here is that msgpack + # understands the difference between unicode and bytes and we + # have it set to differentiate between them, however Python 2 + # doesn't know the difference. Forcing these to unicode will be + # enough to have msgpack know the difference. + data = { + u"response": { + u"body": body, + u"headers": dict( + (text_type(k), text_type(v)) for k, v in response.headers.items() + ), + u"status": response.status, + u"version": response.version, + u"reason": text_type(response.reason), + u"strict": response.strict, + u"decode_content": response.decode_content, + } + } + + # Construct our vary headers + data[u"vary"] = {} + if u"vary" in response_headers: + varied_headers = response_headers[u"vary"].split(",") + for header in varied_headers: + header = text_type(header).strip() + header_value = request.headers.get(header, None) + if header_value is not None: + header_value = text_type(header_value) + data[u"vary"][header] = header_value + + return b",".join([b"cc=4", msgpack.dumps(data, use_bin_type=True)]) + + def loads(self, request, data): + # Short circuit if we've been given an empty set of data + if not data: + return + + # Determine what version of the serializer the data was serialized + # with + try: + ver, data = data.split(b",", 1) + except ValueError: + ver = b"cc=0" + + # Make sure that our "ver" is actually a version and isn't a false + # positive from a , being in the data stream. + if ver[:3] != b"cc=": + data = ver + data + ver = b"cc=0" + + # Get the version number out of the cc=N + ver = ver.split(b"=", 1)[-1].decode("ascii") + + # Dispatch to the actual load method for the given version + try: + return getattr(self, "_loads_v{}".format(ver))(request, data) + + except AttributeError: + # This is a version we don't have a loads function for, so we'll + # just treat it as a miss and return None + return + + def prepare_response(self, request, cached): + """Verify our vary headers match and construct a real urllib3 + HTTPResponse object. + """ + # Special case the '*' Vary value as it means we cannot actually + # determine if the cached response is suitable for this request. + if "*" in cached.get("vary", {}): + return + + # Ensure that the Vary headers for the cached response match our + # request + for header, value in cached.get("vary", {}).items(): + if request.headers.get(header, None) != value: + return + + body_raw = cached["response"].pop("body") + + headers = CaseInsensitiveDict(data=cached["response"]["headers"]) + if headers.get("transfer-encoding", "") == "chunked": + headers.pop("transfer-encoding") + + cached["response"]["headers"] = headers + + try: + body = io.BytesIO(body_raw) + except TypeError: + # This can happen if cachecontrol serialized to v1 format (pickle) + # using Python 2. A Python 2 str(byte string) will be unpickled as + # a Python 3 str (unicode string), which will cause the above to + # fail with: + # + # TypeError: 'str' does not support the buffer interface + body = io.BytesIO(body_raw.encode("utf8")) + + return HTTPResponse(body=body, preload_content=False, **cached["response"]) + + def _loads_v0(self, request, data): + # The original legacy cache data. This doesn't contain enough + # information to construct everything we need, so we'll treat this as + # a miss. + return + + def _loads_v1(self, request, data): + try: + cached = pickle.loads(data) + except ValueError: + return + + return self.prepare_response(request, cached) + + def _loads_v2(self, request, data): + try: + cached = json.loads(zlib.decompress(data).decode("utf8")) + except (ValueError, zlib.error): + return + + # We need to decode the items that we've base64 encoded + cached["response"]["body"] = _b64_decode_bytes(cached["response"]["body"]) + cached["response"]["headers"] = dict( + (_b64_decode_str(k), _b64_decode_str(v)) + for k, v in cached["response"]["headers"].items() + ) + cached["response"]["reason"] = _b64_decode_str(cached["response"]["reason"]) + cached["vary"] = dict( + (_b64_decode_str(k), _b64_decode_str(v) if v is not None else v) + for k, v in cached["vary"].items() + ) + + return self.prepare_response(request, cached) + + def _loads_v3(self, request, data): + # Due to Python 2 encoding issues, it's impossible to know for sure + # exactly how to load v3 entries, thus we'll treat these as a miss so + # that they get rewritten out as v4 entries. + return + + def _loads_v4(self, request, data): + try: + cached = msgpack.loads(data, encoding="utf-8") + except ValueError: + return + + return self.prepare_response(request, cached) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/wrapper.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/wrapper.py new file mode 100644 index 0000000000..265bfc8bc1 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/cachecontrol/wrapper.py @@ -0,0 +1,29 @@ +from .adapter import CacheControlAdapter +from .cache import DictCache + + +def CacheControl( + sess, + cache=None, + cache_etags=True, + serializer=None, + heuristic=None, + controller_class=None, + adapter_class=None, + cacheable_methods=None, +): + + cache = cache or DictCache() + adapter_class = adapter_class or CacheControlAdapter + adapter = adapter_class( + cache, + cache_etags=cache_etags, + serializer=serializer, + heuristic=heuristic, + controller_class=controller_class, + cacheable_methods=cacheable_methods, + ) + sess.mount("http://", adapter) + sess.mount("https://", adapter) + + return sess diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/__init__.py new file mode 100644 index 0000000000..ef71f3af34 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/__init__.py @@ -0,0 +1,3 @@ +from .core import where + +__version__ = "2018.11.29" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/__main__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/__main__.py new file mode 100644 index 0000000000..ae2aff5c80 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/__main__.py @@ -0,0 +1,2 @@ +from pip._vendor.certifi import where +print(where()) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/cacert.pem b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/cacert.pem new file mode 100644 index 0000000000..db68797e24 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/cacert.pem @@ -0,0 +1,4512 @@ + +# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Label: "GlobalSign Root CA" +# Serial: 4835703278459707669005204 +# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a +# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c +# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw +MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT +aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ +jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp +xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp +1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG +snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ +U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 +9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B +AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz +yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE +38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP +AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad +DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME +HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Label: "GlobalSign Root CA - R2" +# Serial: 4835703278459682885658125 +# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 +# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe +# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 +MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL +v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 +eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq +tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd +C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa +zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB +mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH +V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n +bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG +3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs +J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO +291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS +ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd +AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Label: "Verisign Class 3 Public Primary Certification Authority - G3" +# Serial: 206684696279472310254277870180966723415 +# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 +# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 +# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Label: "Entrust.net Premium 2048 Secure Server CA" +# Serial: 946069240 +# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 +# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 +# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 +MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 +LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp +YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG +A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq +K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe +sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX +MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT +XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ +HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH +4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub +j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo +U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b +u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ +bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er +fF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Label: "Baltimore CyberTrust Root" +# Serial: 33554617 +# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 +# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 +# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Label: "AddTrust External Root" +# Serial: 1 +# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f +# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 +# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Label: "Entrust Root Certification Authority" +# Serial: 1164660820 +# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 +# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 +# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw +NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw +NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy +ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV +BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo +Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 +4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 +KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI +rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi +94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB +sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi +gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo +kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE +vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t +O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua +AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP +9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ +eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m +0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. +# Label: "GeoTrust Global CA" +# Serial: 144470 +# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 +# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 +# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Label: "GeoTrust Universal CA" +# Serial: 1 +# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 +# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 +# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy +c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 +IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV +VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 +cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT +QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh +F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v +c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w +mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd +VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX +teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ +f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe +Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ +nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY +MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG +9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX +IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn +ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z +uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN +Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja +QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW +koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 +ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt +DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm +bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Label: "GeoTrust Universal CA 2" +# Serial: 1 +# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 +# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 +# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy +c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD +VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 +c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 +WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG +FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq +XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL +se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb +KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd +IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 +y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt +hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc +QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 +Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV +HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ +KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ +L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr +Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo +ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY +T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz +GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m +1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV +OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH +6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX +QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +# Issuer: CN=AAA Certificate Services O=Comodo CA Limited +# Subject: CN=AAA Certificate Services O=Comodo CA Limited +# Label: "Comodo AAA Services root" +# Serial: 1 +# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 +# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 +# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb +MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow +GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj +YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM +GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua +BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe +3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 +YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR +rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm +ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU +oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v +QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t +b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF +AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q +GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 +G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi +l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 +smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Label: "QuoVadis Root CA" +# Serial: 985026699 +# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 +# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 +# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz +MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw +IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR +dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp +li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D +rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ +WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug +F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU +xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC +Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv +dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw +ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl +IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh +c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy +ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI +KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T +KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq +y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p +dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD +VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL +MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk +fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 +7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R +cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y +mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW +xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK +SnQ2+Q== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2" +# Serial: 1289 +# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b +# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 +# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa +GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg +Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J +WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB +rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp ++ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 +ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i +Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz +PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og +/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH +oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI +yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud +EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 +A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL +MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f +BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn +g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl +fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K +WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha +B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc +hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR +TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD +mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z +ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y +4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza +8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3" +# Serial: 1478 +# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf +# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 +# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 +# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 +# Label: "Security Communication Root CA" +# Serial: 0 +# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a +# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 +# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY +MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t +dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 +WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD +VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 +9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ +DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 +Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N +QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ +xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G +A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG +kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr +Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 +Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU +JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot +RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== +-----END CERTIFICATE----- + +# Issuer: CN=Sonera Class2 CA O=Sonera +# Subject: CN=Sonera Class2 CA O=Sonera +# Label: "Sonera Class 2 Root CA" +# Serial: 29 +# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb +# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 +# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP +MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx +MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV +BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o +Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt +5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s +3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej +vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu +8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw +DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG +MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil +zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ +3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD +FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 +Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 +ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M +-----END CERTIFICATE----- + +# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Label: "XRamp Global CA Root" +# Serial: 107108908803651509692980124233745014957 +# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 +# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 +# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB +gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk +MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY +UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx +NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 +dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy +dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 +38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP +KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q +DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 +qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa +JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi +PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs +jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 +eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR +vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa +IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy +i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ +O+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Label: "Go Daddy Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 +# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 +# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- + +# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Label: "Starfield Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 +# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a +# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +# Issuer: O=Government Root Certification Authority +# Subject: O=Government Root Certification Authority +# Label: "Taiwan GRCA" +# Serial: 42023070807708724159991140556527066870 +# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e +# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 +# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ +MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow +PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR +IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q +gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy +yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts +F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 +jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx +ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC +VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK +YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH +EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN +Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud +DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE +MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK +UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf +qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK +ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE +JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 +hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 +EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm +nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX +udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz +ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe +LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl +pYYsfPQS +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root CA" +# Serial: 17154717934120587862167794914071425081 +# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 +# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 +# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root CA" +# Serial: 10944719598952040374951832963794454346 +# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e +# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 +# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert High Assurance EV Root CA" +# Serial: 3553400076410547919724730734378100087 +# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a +# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 +# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- + +# Issuer: CN=Class 2 Primary CA O=Certplus +# Subject: CN=Class 2 Primary CA O=Certplus +# Label: "Certplus Class 2 Primary CA" +# Serial: 177770208045934040241468760488327595043 +# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b +# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb +# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw +PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz +cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 +MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz +IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ +ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR +VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL +kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd +EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas +H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 +HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud +DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 +QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu +Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ +AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 +yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR +FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA +ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB +kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Label: "DST Root CA X3" +# Serial: 91299735575339953335919266965803778155 +# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 +# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 +# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O +rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq +OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b +xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw +7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD +aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG +SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 +ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr +AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz +R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 +JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo +Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Label: "SwissSign Gold CA - G2" +# Serial: 13492815561806991280 +# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 +# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 +# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Label: "SwissSign Silver CA - G2" +# Serial: 5700383053117599563 +# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 +# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb +# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Label: "GeoTrust Primary Certification Authority" +# Serial: 32798226551256963324313806436981982369 +# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf +# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 +# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx +MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 +AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA +ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 +7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W +kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI +mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ +KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 +6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl +4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K +oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj +UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU +AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA" +# Serial: 69529181992039203566298953787712940909 +# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 +# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 +# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" +# Serial: 33037644167568058970164719475676101450 +# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c +# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 +# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +# Issuer: CN=SecureTrust CA O=SecureTrust Corporation +# Subject: CN=SecureTrust CA O=SecureTrust Corporation +# Label: "SecureTrust CA" +# Serial: 17199774589125277788362757014266862032 +# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 +# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 +# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz +MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv +cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz +Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO +0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao +wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj +7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS +8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT +BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg +JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 +6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ +3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm +D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS +CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +# Issuer: CN=Secure Global CA O=SecureTrust Corporation +# Subject: CN=Secure Global CA O=SecureTrust Corporation +# Label: "Secure Global CA" +# Serial: 9751836167731051554232119481456978597 +# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de +# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b +# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx +MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg +Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ +iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa +/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ +jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI +HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 +sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w +gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw +KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG +AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L +URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO +H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm +I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY +iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO Certification Authority O=COMODO CA Limited +# Label: "COMODO Certification Authority" +# Serial: 104350513648249232941998508985834464573 +# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 +# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b +# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB +gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV +BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw +MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl +YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P +RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 +UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI +2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 +Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp ++2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ +DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O +nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW +/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g +PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u +QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY +SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv +IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 +zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd +BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB +ZQ== +-----END CERTIFICATE----- + +# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Label: "Network Solutions Certificate Authority" +# Serial: 116697915152937497490437556386812487904 +# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e +# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce +# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi +MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV +UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO +ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz +c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP +OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl +mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF +BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 +qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw +gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu +bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp +dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 +6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ +h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH +/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN +pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Label: "COMODO ECC Certification Authority" +# Serial: 41578283867086692638256921589707938090 +# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 +# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 +# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT +IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw +MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy +ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N +T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR +FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J +cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW +BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm +fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv +GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GA CA" +# Serial: 86718877871133159090080555911823548314 +# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 +# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 +# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB +ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly +aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w +NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G +A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX +SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR +VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 +w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF +mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg +4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 +4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw +EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx +SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 +ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 +vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi +Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ +/L7fCg0= +-----END CERTIFICATE----- + +# Issuer: CN=Certigna O=Dhimyotis +# Subject: CN=Certigna O=Dhimyotis +# Label: "Certigna" +# Serial: 18364802974209362175 +# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff +# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 +# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X +DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ +BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 +QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny +gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw +zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q +130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 +JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw +ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj +AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG +9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h +bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc +fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu +HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w +t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Label: "Deutsche Telekom Root CA 2" +# Serial: 38 +# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 +# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf +# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc +MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj +IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB +IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE +RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl +U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 +IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU +ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC +QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr +rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S +NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc +QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH +txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP +BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC +AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp +tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa +IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl +6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ +xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc +# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc +# Label: "Cybertrust Global Root" +# Serial: 4835703278459682877484360 +# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 +# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 +# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG +A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh +bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE +ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 +7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS +J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y +HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP +t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz +FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY +XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ +MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw +hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js +MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA +A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj +Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx +XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o +omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc +A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Label: "ePKI Root Certification Authority" +# Serial: 28956088682735189655030529057352760477 +# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 +# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 +# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw +IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL +SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH +SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh +ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X +DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 +TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ +fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA +sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU +WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS +nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH +dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip +NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC +AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF +MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB +uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl +PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP +JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ +gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 +j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 +5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB +o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS +/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z +Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE +W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D +hNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +# Issuer: O=certSIGN OU=certSIGN ROOT CA +# Subject: O=certSIGN OU=certSIGN ROOT CA +# Label: "certSIGN ROOT CA" +# Serial: 35210227249154 +# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 +# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b +# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT +AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD +QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP +MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do +0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ +UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d +RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ +OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv +JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C +AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O +BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ +LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY +MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ +44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I +Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw +i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN +9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G3" +# Serial: 28809105769928564313984085209975885599 +# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 +# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd +# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G +spki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G2" +# Serial: 71758320672825410020661621085256472406 +# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f +# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 +# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp +IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi +BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw +MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig +YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v +dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ +BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 +papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K +DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 +KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox +XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G3" +# Serial: 127614157056681299805556476275995414779 +# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 +# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 +# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa +Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl +LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u +MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm +gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 +YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf +b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 +9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S +zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk +OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA +2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW +oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c +KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM +m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu +MdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G2" +# Serial: 80682863203381065782177908751794619243 +# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a +# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 +# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL +MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj +KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 +MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw +NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV +BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL +So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal +tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG +CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT +qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz +rD6ogRLQy7rQkgu2npaqBA+K +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Universal Root Certification Authority" +# Serial: 85209574734084581917763752644031726877 +# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 +# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 +# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 +IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y +IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh +bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF +9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH +H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H +LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN +/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT +rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw +WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs +exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 +sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ +seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz +4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ +BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR +lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 +7M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" +# Serial: 63143484348153506665311985501458640051 +# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 +# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a +# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp +U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg +SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln +biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm +GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve +fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ +aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj +aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW +kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC +4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga +FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" +# Serial: 80544274841616 +# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 +# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 +# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG +EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 +MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl +cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR +dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB +pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM +b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm +aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz +IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT +lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz +AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 +VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG +ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 +BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG +AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M +U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh +bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C ++C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F +uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 +XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G2" +# Serial: 10000012 +# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a +# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 +# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX +DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 +qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp +uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU +Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE +pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp +5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M +UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN +GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy +5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv +6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK +eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 +B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ +BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov +L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG +SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS +CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen +5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 +IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK +gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL ++63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL +vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm +bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk +N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC +Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z +ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== +-----END CERTIFICATE----- + +# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Label: "Hongkong Post Root CA 1" +# Serial: 1000 +# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca +# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 +# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx +FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg +Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG +A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr +b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ +jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn +PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh +ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 +nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h +q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED +MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC +mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 +7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB +oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs +EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO +fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi +AmvZWg== +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Label: "SecureSign RootCA11" +# Serial: 1 +# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 +# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 +# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr +MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG +A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 +MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp +Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD +QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz +i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 +h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV +MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 +UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni +8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC +h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB +AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm +KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ +X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr +QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 +pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN +QSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Label: "Microsec e-Szigno Root CA 2009" +# Serial: 14014712776195784473 +# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 +# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e +# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD +VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 +ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G +CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y +OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx +FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp +Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP +kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc +cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U +fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 +N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC +xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 ++rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM +Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG +SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h +mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk +ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c +2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t +HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Label: "GlobalSign Root CA - R3" +# Serial: 4835703278459759426209954 +# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 +# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad +# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- + +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# Serial: 6047274297262753887 +# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 +# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa +# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE +BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h +cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy +MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg +Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 +thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM +cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG +L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i +NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h +X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b +m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy +Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja +EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T +KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF +6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh +OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD +VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv +ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl +AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF +661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 +am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 +ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 +PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS +3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k +SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF +3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM +ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g +StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz +Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB +jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +# Issuer: CN=Izenpe.com O=IZENPE S.A. +# Subject: CN=Izenpe.com O=IZENPE S.A. +# Label: "Izenpe.com" +# Serial: 917563065490389241595536686991402621 +# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 +# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 +# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Label: "Chambers of Commerce Root - 2008" +# Serial: 11806822484801597146 +# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 +# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c +# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz +IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz +MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj +dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw +EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp +MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 +28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq +VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q +DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR +5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL +ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a +Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl +UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s ++12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 +Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx +hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV +HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 ++HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN +YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t +L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy +ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt +IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV +HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w +DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW +PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF +5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 +glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH +FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 +pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD +xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG +tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq +jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De +fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ +d0jQ +-----END CERTIFICATE----- + +# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Label: "Global Chambersign Root - 2008" +# Serial: 14541511773111788494 +# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 +# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c +# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx +MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy +cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG +A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl +BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed +KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 +G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 +zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 +ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG +HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 +Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V +yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e +beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r +6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog +zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW +BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr +ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp +ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk +cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt +YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC +CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow +KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI +hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ +UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz +X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x +fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz +a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd +Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd +SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O +AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso +M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge +v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Label: "Go Daddy Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 +# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b +# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz +NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE +AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD +E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH +/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy +DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh +GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR +tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA +AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX +WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu +9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr +gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo +2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI +4uJEvlz36hz1 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 +# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e +# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Services Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 +# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f +# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Commercial O=AffirmTrust +# Subject: CN=AffirmTrust Commercial O=AffirmTrust +# Label: "AffirmTrust Commercial" +# Serial: 8608355977964138876 +# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 +# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 +# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP +Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr +ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL +MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 +yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr +VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ +nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG +XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj +vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt +Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g +N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC +nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Networking O=AffirmTrust +# Subject: CN=AffirmTrust Networking O=AffirmTrust +# Label: "AffirmTrust Networking" +# Serial: 8957382827206547757 +# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f +# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f +# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y +YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua +kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL +QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp +6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG +yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i +QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO +tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu +QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ +Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u +olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 +x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium O=AffirmTrust +# Subject: CN=AffirmTrust Premium O=AffirmTrust +# Label: "AffirmTrust Premium" +# Serial: 7893706540734352110 +# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 +# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 +# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz +dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG +A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U +cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf +qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ +JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ ++jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS +s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 +HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 +70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG +V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S +qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S +5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia +C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX +OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE +FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 +KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B +8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ +MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc +0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ +u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF +u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH +YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 +GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO +RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e +KeC2uAloGRwYQw== +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust +# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust +# Label: "AffirmTrust Premium ECC" +# Serial: 8401224907861490260 +# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d +# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb +# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC +VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ +cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ +BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt +VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D +0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 +ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G +A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs +aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I +flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA" +# Serial: 279744 +# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 +# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e +# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM +MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D +ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU +cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 +WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg +Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw +IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH +UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM +TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU +BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM +kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x +AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV +HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y +sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL +I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 +J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY +VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Label: "TWCA Root Certification Authority" +# Serial: 1 +# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 +# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 +# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES +MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU +V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz +WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO +LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE +AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH +K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX +RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z +rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx +3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq +hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC +MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls +XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D +lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn +aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ +YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Label: "Security Communication RootCA2" +# Serial: 0 +# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 +# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 +# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl +MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe +U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX +DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy +dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj +YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV +OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr +zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM +VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ +hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO +ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw +awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs +OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF +coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc +okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 +t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy +1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ +SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2011" +# Serial: 0 +# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 +# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d +# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix +RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p +YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw +NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK +EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl +cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz +dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ +fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns +bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD +75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP +FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV +HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp +5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu +b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA +A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p +6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 +dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys +Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI +l7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Label: "Actalis Authentication Root CA" +# Serial: 6271844772424770508 +# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 +# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac +# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE +BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w +MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC +SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 +ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv +UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX +4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 +KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ +gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb +rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ +51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F +be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe +KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F +v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn +fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 +jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz +ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL +e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 +jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz +WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V +SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j +pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX +X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok +fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R +K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU +ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU +LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT +LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +# Issuer: O=Trustis Limited OU=Trustis FPS Root CA +# Subject: O=Trustis Limited OU=Trustis FPS Root CA +# Label: "Trustis FPS Root CA" +# Serial: 36053640375399034304724988975563710553 +# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d +# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 +# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF +MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL +ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx +MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc +MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ +AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH +iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj +vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA +0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB +OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ +BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E +FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 +GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW +zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 +1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE +f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F +jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN +ZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 2 Root CA" +# Serial: 2 +# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 +# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 +# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr +6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV +L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 +1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx +MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ +QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB +arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr +Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi +FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS +P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN +9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz +uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h +9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t +OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo ++fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 +KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 +DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us +H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ +I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 +5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h +3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz +Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 3 Root CA" +# Serial: 2 +# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec +# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 +# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y +ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E +N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 +tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX +0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c +/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X +KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY +zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS +O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D +34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP +K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv +Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj +QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS +IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 +HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa +O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv +033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u +dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE +kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 +3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD +u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq +4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 3" +# Serial: 1 +# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef +# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 +# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN +8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ +RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 +hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 +ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM +EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 +A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy +WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ +1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 +6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT +91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p +TpPDpFQUWw== +-----END CERTIFICATE----- + +# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Label: "EE Certification Centre Root CA" +# Serial: 112324828676200291871926431888494945866 +# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f +# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 +# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 +MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 +czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG +CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy +MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl +ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS +b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy +euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO +bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw +WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d +MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE +1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ +zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB +BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF +BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV +v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG +E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW +iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v +GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 2009" +# Serial: 623603 +# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f +# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 +# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha +ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM +HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 +UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 +tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R +ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM +lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp +/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G +A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy +MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl +cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js +L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL +BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni +acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K +zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 +PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y +Johw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 EV 2009" +# Serial: 623604 +# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 +# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 +# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw +NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV +BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn +ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 +3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z +qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR +p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 +HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw +ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea +HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw +Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh +c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E +RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt +dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku +Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp +3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF +CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na +xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX +KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +# Issuer: CN=CA Disig Root R2 O=Disig a.s. +# Subject: CN=CA Disig Root R2 O=Disig a.s. +# Label: "CA Disig Root R2" +# Serial: 10572350602393338211 +# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 +# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 +# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV +BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu +MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy +MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx +EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe +NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH +PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I +x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe +QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR +yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO +QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 +H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ +QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD +i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs +nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 +rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI +hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf +GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb +lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka ++elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal +TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i +nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 +gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr +G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os +zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x +L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Label: "ACCVRAIZ1" +# Serial: 6828503384748696800 +# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 +# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 +# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE +AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw +CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ +BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND +VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb +qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY +HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo +G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA +lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr +IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ +0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH +k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 +4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO +m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa +cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl +uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI +KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls +ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG +AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT +VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG +CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA +cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA +QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA +7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA +cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA +QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA +czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu +aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt +aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud +DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF +BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp +D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU +JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m +AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD +vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms +tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH +7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA +h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF +d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H +pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Label: "TWCA Global Root CA" +# Serial: 3262 +# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 +# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 +# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx +EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT +VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 +NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT +B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF +10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz +0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh +MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH +zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc +46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 +yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi +laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP +oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA +BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE +qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm +4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL +1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF +H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo +RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ +nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh +15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW +6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW +nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j +wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz +aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy +KwbQBM0= +-----END CERTIFICATE----- + +# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Label: "TeliaSonera Root CA v1" +# Serial: 199041966741090107964904287217786801558 +# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c +# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 +# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw +NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv +b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD +VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F +VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 +7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X +Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ +/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs +81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm +dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe +Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu +sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 +pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs +slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ +arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD +VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG +9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl +dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj +TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed +Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 +Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI +OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 +vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW +t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn +HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx +SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Label: "E-Tugra Certification Authority" +# Serial: 7667447206703254355 +# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 +# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 +# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV +BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC +aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV +BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 +Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz +MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ +BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp +em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY +B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH +D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF +Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo +q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D +k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH +fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut +dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM +ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 +zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX +U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 +Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 +XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF +Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR +HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY +GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c +77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 ++GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK +vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 +FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl +yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P +AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD +y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d +NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 2" +# Serial: 1 +# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a +# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 +# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot 2011 O=Atos +# Subject: CN=Atos TrustedRoot 2011 O=Atos +# Label: "Atos TrustedRoot 2011" +# Serial: 6643877497813316402 +# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 +# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 +# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE +AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG +EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM +FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC +REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp +Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM +VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ +SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ +4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L +cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi +eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG +A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 +DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j +vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP +DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc +maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D +lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv +KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 1 G3" +# Serial: 687049649626669250736271037606554624078720034195 +# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab +# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 +# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 +MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV +wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe +rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 +68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh +4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp +UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o +abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc +3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G +KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt +hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO +Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt +zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD +ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 +cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN +qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 +YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv +b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 +8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k +NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj +ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp +q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt +nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2 G3" +# Serial: 390156079458959257446133169266079962026824725800 +# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 +# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 +# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 +MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf +qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW +n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym +c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ +O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 +o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j +IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq +IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz +8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh +vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l +7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG +cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD +ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC +roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga +W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n +lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE ++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV +csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd +dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg +KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM +HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 +WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3 G3" +# Serial: 268090761170461462463995952157327242137089239581 +# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 +# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d +# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 +MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR +/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu +FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR +U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c +ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR +FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k +A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw +eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl +sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp +VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q +A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ +ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD +ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI +FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv +oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg +u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP +0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf +3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl +8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ +DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN +PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ +ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G2" +# Serial: 15385348160840213938643033620894905419 +# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d +# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f +# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G3" +# Serial: 15459312981008553731928384953135426796 +# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb +# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 +# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G2" +# Serial: 4293743540046975378534879503202253541 +# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 +# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 +# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G3" +# Serial: 7089244469030293291760083333884364146 +# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca +# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e +# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Trusted Root G4" +# Serial: 7451500558977370777930084869016614236 +# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 +# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 +# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- + +# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Label: "COMODO RSA Certification Authority" +# Serial: 101909084537582093308941363524873193117 +# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 +# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 +# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Label: "USERTrust RSA Certification Authority" +# Serial: 2645093764781058787591871645665788717 +# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 +# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e +# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw +MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B +3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY +tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ +Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 +VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT +79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 +c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT +Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l +c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee +UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE +Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF +Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO +VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 +ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs +8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR +iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze +Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ +XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ +qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB +VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB +L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG +jjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Label: "USERTrust ECC Certification Authority" +# Serial: 123013823720199481456569720443997572134 +# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 +# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 +# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl +eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT +JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg +VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo +I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng +o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G +A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB +zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW +RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Label: "GlobalSign ECC Root CA - R4" +# Serial: 14367148294922964480859022125800977897474 +# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e +# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb +# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ +FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F +uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX +kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs +ewv4n4Q= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Label: "GlobalSign ECC Root CA - R5" +# Serial: 32785792099990507226680698011560947931244 +# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 +# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa +# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc +8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke +hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI +KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg +515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO +xwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G3" +# Serial: 10003001 +# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 +# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc +# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX +DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP +cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW +IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX +xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy +KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR +9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az +5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 +6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 +Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP +bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt +BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt +XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd +INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp +LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 +Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp +gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh +/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw +0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A +fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq +4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR +1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ +QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM +94B7IWcnMFk= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Label: "Staat der Nederlanden EV Root CA" +# Serial: 10000013 +# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba +# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb +# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y +MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg +TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS +b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS +M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC +UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d +Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p +rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l +pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb +j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC +KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS +/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X +cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH +1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP +px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 +MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u +2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS +v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC +wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy +CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e +vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 +Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa +Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL +eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 +FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc +7uzXLg== +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Label: "IdenTrust Commercial Root CA 1" +# Serial: 13298821034946342390520003877796839426 +# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 +# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 +# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu +VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw +MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw +JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT +3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU ++ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp +S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 +bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi +T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL +vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK +Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK +dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT +c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv +l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N +iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD +ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt +LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 +nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 ++wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK +W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT +AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq +l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG +4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ +mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A +7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Label: "IdenTrust Public Sector Root CA 1" +# Serial: 13298821034946342390521976156843933698 +# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba +# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd +# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu +VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN +MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 +MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 +ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy +RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS +bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF +/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R +3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw +EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy +9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V +GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ +2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV +WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD +W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN +AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV +DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 +TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G +lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW +mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df +WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 ++bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ +tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA +GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv +8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - G2" +# Serial: 1246989352 +# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 +# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 +# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy +NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T +RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN +cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW +wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 +U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 +jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN +BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ +jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v +1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R +nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH +VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - EC1" +# Serial: 51543124481930649114116133369 +# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc +# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 +# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 +d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu +dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq +RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy +MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD +VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g +Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi +A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt +ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH +Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC +R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX +hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority +# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority +# Label: "CFCA EV ROOT" +# Serial: 407555286 +# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 +# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 +# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD +TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx +MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j +aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP +T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 +sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL +TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 +/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp +7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz +EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt +hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP +a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot +aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg +TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV +PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv +cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL +tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd +BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT +ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL +jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS +ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy +P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 +xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d +Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN +5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe +/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z +AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ +5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Label: "Certinomis - Root CA" +# Serial: 1 +# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f +# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 +# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET +MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb +BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz +MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx +FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g +Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 +fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl +LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV +WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF +TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb +5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc +CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri +wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ +wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG +m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 +F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng +WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 +2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ +0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw +F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS +g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj +qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN +h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ +ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V +btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj +Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ +8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW +gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GB CA" +# Serial: 157768595616588414422159278966750757568 +# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d +# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed +# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt +MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg +Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i +YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x +CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG +b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 +HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx +WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX +1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk +u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P +99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r +M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB +BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh +cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 +gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO +ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf +aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Label: "SZAFIR ROOT CA2" +# Serial: 357043034767186914217277344587386743377558296292 +# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 +# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de +# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 +ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw +NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L +cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg +Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN +QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT +3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw +3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 +3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 +BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN +XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF +AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw +8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG +nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP +oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy +d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg +LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA 2" +# Serial: 44979900017204383099463764357512596969 +# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 +# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 +# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB +gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG +A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz +OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ +VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 +b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA +DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn +0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB +OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE +fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E +Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m +o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i +sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW +OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez +Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS +adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n +3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ +F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf +CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 +XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm +djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ +WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb +AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq +P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko +b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj +XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P +5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi +DrW5viSP +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce +# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 +# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix +DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k +IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT +N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v +dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG +A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh +ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx +QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA +4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 +AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 +4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C +ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV +9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD +gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 +Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq +NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko +LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd +ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I +XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI +M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot +9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V +Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea +j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh +X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ +l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf +bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 +pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK +e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 +vm9qp/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef +# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 +# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN +BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl +bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv +b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ +BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj +YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 +MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 +dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg +QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa +jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi +C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep +lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof +TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +# Issuer: CN=ISRG Root X1 O=Internet Security Research Group +# Subject: CN=ISRG Root X1 O=Internet Security Research Group +# Label: "ISRG Root X1" +# Serial: 172886928669790476064670243504169061120 +# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e +# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 +# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Label: "AC RAIZ FNMT-RCM" +# Serial: 485876308206448804701554682760554759 +# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d +# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 +# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx +CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ +WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ +BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG +Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ +yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf +BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz +WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF +tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z +374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC +IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL +mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 +wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS +MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 +ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet +UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H +YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 +LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 +RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM +LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf +77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N +JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm +fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp +6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp +1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B +9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok +RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv +uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 1 O=Amazon +# Subject: CN=Amazon Root CA 1 O=Amazon +# Label: "Amazon Root CA 1" +# Serial: 143266978916655856878034712317230054538369994 +# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 +# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 +# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA +A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI +U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs +N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv +o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU +5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy +rqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 2 O=Amazon +# Subject: CN=Amazon Root CA 2 O=Amazon +# Label: "Amazon Root CA 2" +# Serial: 143266982885963551818349160658925006970653239 +# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 +# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a +# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK +gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ +W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg +1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K +8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r +2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me +z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR +8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj +mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz +7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 ++XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI +0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm +UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 +LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS +k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl +7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm +btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl +urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ +fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 +n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE +76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H +9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT +4PsJYGw= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 3 O=Amazon +# Subject: CN=Amazon Root CA 3 O=Amazon +# Label: "Amazon Root CA 3" +# Serial: 143266986699090766294700635381230934788665930 +# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 +# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e +# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl +ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr +ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr +BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM +YyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 4 O=Amazon +# Subject: CN=Amazon Root CA 4 O=Amazon +# Label: "Amazon Root CA 4" +# Serial: 143266989758080763974105200630763877849284878 +# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd +# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be +# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi +9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk +M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB +MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw +CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW +1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Label: "LuxTrust Global Root 2" +# Serial: 59914338225734147123941058376788110305822489521 +# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c +# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f +# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQEL +BQAwRjELMAkGA1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNV +BAMMFkx1eFRydXN0IEdsb2JhbCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUw +MzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEWMBQGA1UECgwNTHV4VHJ1c3QgUy5B +LjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wmKb3F +ibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTem +hfY7RBi2xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1 +EMShduxq3sVs35a0VkBCwGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsn +Xpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4 +zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkmFRseTJIpgp7VkoGSQXAZ +96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niFwpN6cj5m +j5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4g +DEa/a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+ +8kPREd8vZS9kzl8UubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2j +X5t/Lax5Gw5CMZdjpPuKadUiDTSQMC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmH +hFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB/zBCBgNVHSAEOzA5MDcGByuB +KwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5Lmx1eHRydXN0 +Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQEL +BQADggIBAGoZFO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9 +BzZAcg4atmpZ1gDlaCDdLnINH2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTO +jFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW7MM3LGVYvlcAGvI1+ut7MV3CwRI9 +loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIuZY+kt9J/Z93I055c +qqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWAVWe+ +2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/ +JEAdemrRTxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKre +zrnK+T+Tb/mjuuqlPpmt/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQf +LSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+ +x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31IiyBMz2TWuJdGsE7RKlY6 +oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- + +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# Serial: 1 +# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 +# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca +# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx +GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp +bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w +KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 +BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy +dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG +EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll +IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU +QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT +TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg +LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 +a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr +LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr +N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X +YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ +iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f +AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH +V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf +IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 +lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c +8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf +lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Label: "GDCA TrustAUTH R5 ROOT" +# Serial: 9009899650740120186 +# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 +# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 +# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE +BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 +MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV +BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w +HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj +Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj +TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u +KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj +qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm +MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 +ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP +zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk +L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC +jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA +HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC +AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm +DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 +COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry +L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf +JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg +IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io +2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV +09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ +XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq +T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe +MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-1" +# Serial: 15752444095811006489 +# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 +# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a +# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y +IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB +pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h +IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG +A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU +cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid +RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V +seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme +9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV +EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW +hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ +DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD +ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I +/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf +ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ +yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts +L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN +zl/HHk484IkzlQsPpTLWPFp5LBk= +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-2" +# Serial: 2711694510199101698 +# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 +# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 +# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig +Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk +MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg +Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD +VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy +dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ +QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq +1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp +2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK +DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape +az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF +3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 +oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM +g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 +mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh +8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd +BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U +nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw +DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX +dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ +MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL +/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX +CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa +ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW +2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 +N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 +Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB +As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp +5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu +1uwJ +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor ECA-1" +# Serial: 9548242946988625984 +# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c +# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd +# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y +IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig +RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb +3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA +BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 +3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou +owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ +wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF +ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf +BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv +civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 +AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F +hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 +soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI +WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi +tJ/X5g== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Label: "SSL.com Root Certification Authority RSA" +# Serial: 8875640296558310041 +# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 +# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb +# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE +BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK +DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz +OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R +xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX +qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC +C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 +6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh +/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF +YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E +JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc +US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 +ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm ++Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi +M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G +A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV +cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc +Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs +PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ +q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 +cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr +a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I +H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y +K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu +nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf +oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY +Ic2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com Root Certification Authority ECC" +# Serial: 8495723813297216424 +# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e +# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a +# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz +WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 +b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS +b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI +7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg +CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD +VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T +kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ +gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority RSA R2" +# Serial: 6248227494352943350 +# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 +# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a +# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV +BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE +CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy +MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G +A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD +DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq +M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf +OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa +4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 +HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR +aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA +b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ +Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV +PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO +pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu +UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY +MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 +9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW +s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 +Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg +cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM +79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz +/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt +ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm +Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK +QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ +w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi +S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 +mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority ECC" +# Serial: 3182246526754555285 +# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 +# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d +# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx +NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv +bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA +VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku +WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX +5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ +ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg +h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Label: "GlobalSign Root CA - R6" +# Serial: 1417766617973444989252670301619537 +# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae +# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1 +# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69 +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg +MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh +bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx +MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET +MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI +xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k +ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD +aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw +LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw +1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX +k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 +SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h +bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n +WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY +rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce +MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu +bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt +Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 +55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj +vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf +cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz +oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp +nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs +pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v +JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R +8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 +5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GC CA" +# Serial: 44084345621038548146064804565436152554 +# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23 +# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31 +# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw +CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 +bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg +Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ +BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu +ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS +b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni +eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W +p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T +rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV +57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg +Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R1 O=Google Trust Services LLC +# Subject: CN=GTS Root R1 O=Google Trust Services LLC +# Label: "GTS Root R1" +# Serial: 146587175971765017618439757810265552097 +# MD5 Fingerprint: 82:1a:ef:d4:d2:4a:f2:9f:e2:3d:97:06:14:70:72:85 +# SHA1 Fingerprint: e1:c9:50:e6:ef:22:f8:4c:56:45:72:8b:92:20:60:d7:d5:a7:a3:e8 +# SHA256 Fingerprint: 2a:57:54:71:e3:13:40:bc:21:58:1c:bd:2c:f1:3e:15:84:63:20:3e:ce:94:bc:f9:d3:cc:19:6b:f0:9a:54:72 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM +f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX +mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7 +zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P +fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc +vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4 +Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp +zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO +Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW +k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+ +DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF +lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW +Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1 +d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z +XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR +gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3 +d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv +J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg +DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM ++SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy +F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9 +SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws +E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R2 O=Google Trust Services LLC +# Subject: CN=GTS Root R2 O=Google Trust Services LLC +# Label: "GTS Root R2" +# Serial: 146587176055767053814479386953112547951 +# MD5 Fingerprint: 44:ed:9a:0e:a4:09:3b:00:f2:ae:4c:a3:c6:61:b0:8b +# SHA1 Fingerprint: d2:73:96:2a:2a:5e:39:9f:73:3f:e1:c7:1e:64:3f:03:38:34:fc:4d +# SHA256 Fingerprint: c4:5d:7b:b0:8e:6d:67:e6:2e:42:35:11:0b:56:4e:5f:78:fd:92:ef:05:8c:84:0a:ea:4e:64:55:d7:58:5c:60 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBH +MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM +QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy +MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl +cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv +CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3Kg +GjSY6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9Bu +XvAuMC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOd +re7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXu +PuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1 +mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K +8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqj +x5RWIr9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsR +nTKaG73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0 +kzCqgc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9Ok +twIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBALZp +8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT +vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiT +z9D2PGcDFWEJ+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiA +pJiS4wGWAqoC7o87xdFtCjMwc3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvb +pxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3DaWsYDQvTtN6LwG1BUSw7YhN4ZKJmB +R64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5rn/WkhLx3+WuXrD5R +RaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56GtmwfuNmsk +0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC +5AwiWVIQ7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiF +izoHCBy69Y9Vmhh1fuXsgWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLn +yOd/xCxgXS/Dr55FBcOEArf9LAhST4Ldo/DUhgkC +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R3 O=Google Trust Services LLC +# Subject: CN=GTS Root R3 O=Google Trust Services LLC +# Label: "GTS Root R3" +# Serial: 146587176140553309517047991083707763997 +# MD5 Fingerprint: 1a:79:5b:6b:04:52:9c:5d:c7:74:33:1b:25:9a:f9:25 +# SHA1 Fingerprint: 30:d4:24:6f:07:ff:db:91:89:8a:0b:e9:49:66:11:eb:8c:5e:46:e5 +# SHA256 Fingerprint: 15:d5:b8:77:46:19:ea:7d:54:ce:1c:a6:d0:b0:c4:03:e0:37:a9:17:f1:31:e8:a0:4e:1e:6b:7a:71:ba:bc:e5 +-----BEGIN CERTIFICATE----- +MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout +736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2A +DDL24CejQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFuk +fCPAlaUs3L6JbyO5o91lAFJekazInXJ0glMLfalAvWhgxeG4VDvBNhcl2MG9AjEA +njWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOaKaqW04MjyaR7YbPMAuhd +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R4 O=Google Trust Services LLC +# Subject: CN=GTS Root R4 O=Google Trust Services LLC +# Label: "GTS Root R4" +# Serial: 146587176229350439916519468929765261721 +# MD5 Fingerprint: 5d:b6:6a:c4:60:17:24:6a:1a:99:a8:4b:ee:5e:b4:26 +# SHA1 Fingerprint: 2a:1d:60:27:d9:4a:b1:0a:1c:4d:91:5c:cd:33:a0:cb:3e:2d:54:cb +# SHA256 Fingerprint: 71:cc:a5:39:1f:9e:79:4b:04:80:25:30:b3:63:e1:21:da:8a:30:43:bb:26:66:2f:ea:4d:ca:7f:c9:51:a4:bd +-----BEGIN CERTIFICATE----- +MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu +hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/l +xKvRHYqjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0 +CMRw3J5QdCHojXohw0+WbhXRIjVhLfoIN+4Zba3bssx9BzT1YBkstTTZbyACMANx +sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11xzPKwTdb+mciUqXWi4w== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Global G2 Root O=UniTrust +# Subject: CN=UCA Global G2 Root O=UniTrust +# Label: "UCA Global G2 Root" +# Serial: 124779693093741543919145257850076631279 +# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8 +# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a +# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH +bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x +CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds +b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr +b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 +kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm +VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R +VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc +C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj +tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY +D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv +j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl +NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 +iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP +O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV +ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj +L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl +1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU +b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV +PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj +y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb +EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg +DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI ++Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy +YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX +UB+K+wb1whnw0A== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Extended Validation Root O=UniTrust +# Subject: CN=UCA Extended Validation Root O=UniTrust +# Label: "UCA Extended Validation Root" +# Serial: 106100277556486529736699587978573607008 +# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2 +# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a +# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF +eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx +MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV +BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog +D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS +sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop +O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk +sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi +c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj +VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz +KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ +TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G +sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs +1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD +fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN +l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ +VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 +c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp +4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s +t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj +2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO +vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C +xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx +cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM +fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax +-----END CERTIFICATE----- + +# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Label: "Certigna Root CA" +# Serial: 269714418870597844693661054334862075617 +# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77 +# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43 +# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68 +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw +WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw +MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x +MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD +VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX +BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO +ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M +CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu +I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm +TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh +C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf +ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz +IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT +Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k +JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 +hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB +GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov +L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo +dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr +aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq +hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L +6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG +HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 +0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB +lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi +o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 +gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v +faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 +Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh +jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw +3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/core.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/core.py new file mode 100644 index 0000000000..2d02ea44c4 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/certifi/core.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +certifi.py +~~~~~~~~~~ + +This module returns the installation location of cacert.pem. +""" +import os + + +def where(): + f = os.path.dirname(__file__) + + return os.path.join(f, 'cacert.pem') + + +if __name__ == '__main__': + print(where()) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/__init__.py new file mode 100644 index 0000000000..0f9f820ef6 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/__init__.py @@ -0,0 +1,39 @@ +######################## BEGIN LICENSE BLOCK ######################## +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +from .compat import PY2, PY3 +from .universaldetector import UniversalDetector +from .version import __version__, VERSION + + +def detect(byte_str): + """ + Detect the encoding of the given byte string. + + :param byte_str: The byte sequence to examine. + :type byte_str: ``bytes`` or ``bytearray`` + """ + if not isinstance(byte_str, bytearray): + if not isinstance(byte_str, bytes): + raise TypeError('Expected object of type bytes or bytearray, got: ' + '{0}'.format(type(byte_str))) + else: + byte_str = bytearray(byte_str) + detector = UniversalDetector() + detector.feed(byte_str) + return detector.close() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/big5freq.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/big5freq.py new file mode 100644 index 0000000000..38f32517aa --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/big5freq.py @@ -0,0 +1,386 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Big5 frequency table +# by Taiwan's Mandarin Promotion Council +# <http://www.edu.tw:81/mandr/> +# +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +#Char to FreqOrder table +BIG5_TABLE_SIZE = 5376 + +BIG5_CHAR_TO_FREQ_ORDER = ( + 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 +3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 +1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 + 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, # 64 +3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, # 80 +4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, # 96 +5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, # 112 + 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, # 128 + 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, # 144 + 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, # 160 +2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, # 176 +1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, # 192 +3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, # 208 + 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, # 224 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, # 240 +3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, # 256 +2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, # 272 + 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, # 288 +3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, # 304 +1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, # 320 +5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, # 336 + 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, # 352 +5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, # 368 +1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, # 384 + 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, # 400 + 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, # 416 +3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, # 432 +3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, # 448 + 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, # 464 +2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, # 480 +2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, # 496 + 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, # 512 + 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, # 528 +3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, # 544 +1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, # 560 +1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, # 576 +1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, # 592 +2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, # 608 + 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, # 624 +4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, # 640 +1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, # 656 +5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, # 672 +2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, # 688 + 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, # 704 + 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, # 720 + 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, # 736 + 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, # 752 +5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, # 768 + 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, # 784 +1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, # 800 + 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, # 816 + 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, # 832 +5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, # 848 +1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, # 864 + 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, # 880 +3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, # 896 +4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, # 912 +3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, # 928 + 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, # 944 + 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, # 960 +1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, # 976 +4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, # 992 +3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008 +3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024 +2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040 +5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, # 1056 +3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072 +5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088 +1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104 +2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120 +1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136 + 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152 +1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168 +4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184 +3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200 + 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216 + 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, # 1232 + 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248 +2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264 +5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280 +1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296 +2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312 +1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328 +1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344 +5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360 +5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376 +5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392 +3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408 +4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424 +4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440 +2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456 +5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472 +3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488 + 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504 +5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, # 1520 +5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536 +1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552 +2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568 +3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584 +4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600 +5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616 +3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632 +4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648 +1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664 +1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, # 1680 +4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696 +1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712 + 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728 +1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744 +1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760 +3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776 + 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792 +5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808 +2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824 +1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840 +1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, # 1856 +5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872 + 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888 +4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904 + 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920 +2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936 + 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952 +1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968 +1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984 + 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000 +4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016 +4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032 +1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048 +3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064 +5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080 +5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, # 2096 +1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112 +2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128 +1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144 +3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160 +2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176 +3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192 +2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208 +4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224 +4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240 +3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256 + 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272 +3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288 + 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304 +3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320 +4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336 +3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352 +1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368 +5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384 + 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400 +5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416 +1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432 + 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448 +4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, # 2464 +4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480 + 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496 +2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512 +2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, # 2528 +3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544 +1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560 +4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576 +2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592 +1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608 +1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624 +2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640 +3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656 +1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672 +5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, # 2688 +1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704 +4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, # 2720 +1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736 + 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752 +1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768 +4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784 +4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800 +2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816 +1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832 +4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848 + 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864 +5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880 +2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896 +3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912 +4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928 + 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944 +5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960 +5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976 +1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992 +4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008 +4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024 +2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, # 3040 +3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056 +3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072 +2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088 +1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104 +4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120 +3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136 +3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152 +2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168 +4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, # 3184 +5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200 +3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216 +2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232 +3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248 +1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264 +2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280 +3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296 +4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, # 3312 +2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328 +2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344 +5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360 +1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376 +2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392 +1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408 +3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424 +4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, # 3440 +2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456 +3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472 +3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488 +2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504 +4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520 +2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536 +3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552 +4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568 +5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584 +3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600 + 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616 +1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, # 3632 +4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648 +1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664 +4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, # 3680 +5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696 + 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712 +5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728 +5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744 +2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760 +3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776 +2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792 +2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808 + 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824 +1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840 +4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856 +3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872 +3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888 + 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904 +2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920 + 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936 +2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952 +4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968 +1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984 +4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000 +1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016 +3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032 + 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048 +3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064 +5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080 +5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096 +3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112 +3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128 +1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144 +2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160 +5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176 +1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192 +1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208 +3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224 + 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240 +1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256 +4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272 +5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288 +2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304 +3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320 + 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336 +1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352 +2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368 +2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384 +5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400 +5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416 +5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432 +2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448 +2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464 +1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480 +4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496 +3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512 +3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528 +4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544 +4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560 +2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576 +2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592 +5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608 +4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624 +5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640 +4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656 + 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672 + 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688 +1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704 +3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720 +4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736 +1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752 +5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768 +2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784 +2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800 +3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816 +5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832 +1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848 +3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864 +5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880 +1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896 +5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912 +2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928 +3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944 +2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960 +3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976 +3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992 +3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008 +4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024 + 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040 +2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056 +4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072 +3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088 +5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104 +1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120 +5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136 + 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152 +1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168 + 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184 +4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200 +1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216 +4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232 +1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248 + 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264 +3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280 +4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296 +5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312 + 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 +3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 + 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 +2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 +) + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/big5prober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/big5prober.py new file mode 100644 index 0000000000..98f9970122 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/big5prober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import Big5DistributionAnalysis +from .mbcssm import BIG5_SM_MODEL + + +class Big5Prober(MultiByteCharSetProber): + def __init__(self): + super(Big5Prober, self).__init__() + self.coding_sm = CodingStateMachine(BIG5_SM_MODEL) + self.distribution_analyzer = Big5DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "Big5" + + @property + def language(self): + return "Chinese" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/chardistribution.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/chardistribution.py new file mode 100644 index 0000000000..c0395f4a45 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/chardistribution.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .euctwfreq import (EUCTW_CHAR_TO_FREQ_ORDER, EUCTW_TABLE_SIZE, + EUCTW_TYPICAL_DISTRIBUTION_RATIO) +from .euckrfreq import (EUCKR_CHAR_TO_FREQ_ORDER, EUCKR_TABLE_SIZE, + EUCKR_TYPICAL_DISTRIBUTION_RATIO) +from .gb2312freq import (GB2312_CHAR_TO_FREQ_ORDER, GB2312_TABLE_SIZE, + GB2312_TYPICAL_DISTRIBUTION_RATIO) +from .big5freq import (BIG5_CHAR_TO_FREQ_ORDER, BIG5_TABLE_SIZE, + BIG5_TYPICAL_DISTRIBUTION_RATIO) +from .jisfreq import (JIS_CHAR_TO_FREQ_ORDER, JIS_TABLE_SIZE, + JIS_TYPICAL_DISTRIBUTION_RATIO) + + +class CharDistributionAnalysis(object): + ENOUGH_DATA_THRESHOLD = 1024 + SURE_YES = 0.99 + SURE_NO = 0.01 + MINIMUM_DATA_THRESHOLD = 3 + + def __init__(self): + # Mapping table to get frequency order from char order (get from + # GetOrder()) + self._char_to_freq_order = None + self._table_size = None # Size of above table + # This is a constant value which varies from language to language, + # used in calculating confidence. See + # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html + # for further detail. + self.typical_distribution_ratio = None + self._done = None + self._total_chars = None + self._freq_chars = None + self.reset() + + def reset(self): + """reset analyser, clear any state""" + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + self._total_chars = 0 # Total characters encountered + # The number of characters whose frequency order is less than 512 + self._freq_chars = 0 + + def feed(self, char, char_len): + """feed a character with known length""" + if char_len == 2: + # we only care about 2-bytes character in our distribution analysis + order = self.get_order(char) + else: + order = -1 + if order >= 0: + self._total_chars += 1 + # order is valid + if order < self._table_size: + if 512 > self._char_to_freq_order[order]: + self._freq_chars += 1 + + def get_confidence(self): + """return confidence based on existing data""" + # if we didn't receive any character in our consideration range, + # return negative answer + if self._total_chars <= 0 or self._freq_chars <= self.MINIMUM_DATA_THRESHOLD: + return self.SURE_NO + + if self._total_chars != self._freq_chars: + r = (self._freq_chars / ((self._total_chars - self._freq_chars) + * self.typical_distribution_ratio)) + if r < self.SURE_YES: + return r + + # normalize confidence (we don't want to be 100% sure) + return self.SURE_YES + + def got_enough_data(self): + # It is not necessary to receive all data to draw conclusion. + # For charset detection, certain amount of data is enough + return self._total_chars > self.ENOUGH_DATA_THRESHOLD + + def get_order(self, byte_str): + # We do not handle characters based on the original encoding string, + # but convert this encoding string to a number, here called order. + # This allows multiple encodings of a language to share one frequency + # table. + return -1 + + +class EUCTWDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCTWDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCTW_CHAR_TO_FREQ_ORDER + self._table_size = EUCTW_TABLE_SIZE + self.typical_distribution_ratio = EUCTW_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-TW encoding, we are interested + # first byte range: 0xc4 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xC4: + return 94 * (first_char - 0xC4) + byte_str[1] - 0xA1 + else: + return -1 + + +class EUCKRDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCKRDistributionAnalysis, self).__init__() + self._char_to_freq_order = EUCKR_CHAR_TO_FREQ_ORDER + self._table_size = EUCKR_TABLE_SIZE + self.typical_distribution_ratio = EUCKR_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-KR encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char = byte_str[0] + if first_char >= 0xB0: + return 94 * (first_char - 0xB0) + byte_str[1] - 0xA1 + else: + return -1 + + +class GB2312DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(GB2312DistributionAnalysis, self).__init__() + self._char_to_freq_order = GB2312_CHAR_TO_FREQ_ORDER + self._table_size = GB2312_TABLE_SIZE + self.typical_distribution_ratio = GB2312_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for GB2312 encoding, we are interested + # first byte range: 0xb0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0xB0) and (second_char >= 0xA1): + return 94 * (first_char - 0xB0) + second_char - 0xA1 + else: + return -1 + + +class Big5DistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(Big5DistributionAnalysis, self).__init__() + self._char_to_freq_order = BIG5_CHAR_TO_FREQ_ORDER + self._table_size = BIG5_TABLE_SIZE + self.typical_distribution_ratio = BIG5_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for big5 encoding, we are interested + # first byte range: 0xa4 -- 0xfe + # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if first_char >= 0xA4: + if second_char >= 0xA1: + return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 + else: + return 157 * (first_char - 0xA4) + second_char - 0x40 + else: + return -1 + + +class SJISDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(SJISDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for sjis encoding, we are interested + # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe + # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe + # no validation needed here. State machine has done that + first_char, second_char = byte_str[0], byte_str[1] + if (first_char >= 0x81) and (first_char <= 0x9F): + order = 188 * (first_char - 0x81) + elif (first_char >= 0xE0) and (first_char <= 0xEF): + order = 188 * (first_char - 0xE0 + 31) + else: + return -1 + order = order + second_char - 0x40 + if second_char > 0x7F: + order = -1 + return order + + +class EUCJPDistributionAnalysis(CharDistributionAnalysis): + def __init__(self): + super(EUCJPDistributionAnalysis, self).__init__() + self._char_to_freq_order = JIS_CHAR_TO_FREQ_ORDER + self._table_size = JIS_TABLE_SIZE + self.typical_distribution_ratio = JIS_TYPICAL_DISTRIBUTION_RATIO + + def get_order(self, byte_str): + # for euc-JP encoding, we are interested + # first byte range: 0xa0 -- 0xfe + # second byte range: 0xa1 -- 0xfe + # no validation needed here. State machine has done that + char = byte_str[0] + if char >= 0xA0: + return 94 * (char - 0xA1) + byte_str[1] - 0xa1 + else: + return -1 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/charsetgroupprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/charsetgroupprober.py new file mode 100644 index 0000000000..8b3738efd8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/charsetgroupprober.py @@ -0,0 +1,106 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState +from .charsetprober import CharSetProber + + +class CharSetGroupProber(CharSetProber): + def __init__(self, lang_filter=None): + super(CharSetGroupProber, self).__init__(lang_filter=lang_filter) + self._active_num = 0 + self.probers = [] + self._best_guess_prober = None + + def reset(self): + super(CharSetGroupProber, self).reset() + self._active_num = 0 + for prober in self.probers: + if prober: + prober.reset() + prober.active = True + self._active_num += 1 + self._best_guess_prober = None + + @property + def charset_name(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.charset_name + + @property + def language(self): + if not self._best_guess_prober: + self.get_confidence() + if not self._best_guess_prober: + return None + return self._best_guess_prober.language + + def feed(self, byte_str): + for prober in self.probers: + if not prober: + continue + if not prober.active: + continue + state = prober.feed(byte_str) + if not state: + continue + if state == ProbingState.FOUND_IT: + self._best_guess_prober = prober + return self.state + elif state == ProbingState.NOT_ME: + prober.active = False + self._active_num -= 1 + if self._active_num <= 0: + self._state = ProbingState.NOT_ME + return self.state + return self.state + + def get_confidence(self): + state = self.state + if state == ProbingState.FOUND_IT: + return 0.99 + elif state == ProbingState.NOT_ME: + return 0.01 + best_conf = 0.0 + self._best_guess_prober = None + for prober in self.probers: + if not prober: + continue + if not prober.active: + self.logger.debug('%s not active', prober.charset_name) + continue + conf = prober.get_confidence() + self.logger.debug('%s %s confidence = %s', prober.charset_name, prober.language, conf) + if best_conf < conf: + best_conf = conf + self._best_guess_prober = prober + if not self._best_guess_prober: + return 0.0 + return best_conf diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/charsetprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/charsetprober.py new file mode 100644 index 0000000000..eac4e59865 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/charsetprober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging +import re + +from .enums import ProbingState + + +class CharSetProber(object): + + SHORTCUT_THRESHOLD = 0.95 + + def __init__(self, lang_filter=None): + self._state = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + + def reset(self): + self._state = ProbingState.DETECTING + + @property + def charset_name(self): + return None + + def feed(self, buf): + pass + + @property + def state(self): + return self._state + + def get_confidence(self): + return 0.0 + + @staticmethod + def filter_high_byte_only(buf): + buf = re.sub(b'([\x00-\x7F])+', b' ', buf) + return buf + + @staticmethod + def filter_international_words(buf): + """ + We define three types of bytes: + alphabet: english alphabets [a-zA-Z] + international: international characters [\x80-\xFF] + marker: everything else [^a-zA-Z\x80-\xFF] + + The input buffer can be thought to contain a series of words delimited + by markers. This function works to filter all words that contain at + least one international character. All contiguous sequences of markers + are replaced by a single space ascii character. + + This filter applies to all scripts which do not use English characters. + """ + filtered = bytearray() + + # This regex expression filters out only words that have at-least one + # international character. The word may include one marker character at + # the end. + words = re.findall(b'[a-zA-Z]*[\x80-\xFF]+[a-zA-Z]*[^a-zA-Z\x80-\xFF]?', + buf) + + for word in words: + filtered.extend(word[:-1]) + + # If the last character in the word is a marker, replace it with a + # space as markers shouldn't affect our analysis (they are used + # similarly across all languages and may thus have similar + # frequencies). + last_char = word[-1:] + if not last_char.isalpha() and last_char < b'\x80': + last_char = b' ' + filtered.extend(last_char) + + return filtered + + @staticmethod + def filter_with_english_letters(buf): + """ + Returns a copy of ``buf`` that retains only the sequences of English + alphabet and high byte characters that are not between <> characters. + Also retains English alphabet and high byte characters immediately + before occurrences of >. + + This filter can be applied to all scripts which contain both English + characters and extended ASCII characters, but is currently only used by + ``Latin1Prober``. + """ + filtered = bytearray() + in_tag = False + prev = 0 + + for curr in range(len(buf)): + # Slice here to get bytes instead of an int with Python 3 + buf_char = buf[curr:curr + 1] + # Check if we're coming out of or entering an HTML tag + if buf_char == b'>': + in_tag = False + elif buf_char == b'<': + in_tag = True + + # If current character is not extended-ASCII and not alphabetic... + if buf_char < b'\x80' and not buf_char.isalpha(): + # ...and we're not in a tag + if curr > prev and not in_tag: + # Keep everything after last non-extended-ASCII, + # non-alphabetic character + filtered.extend(buf[prev:curr]) + # Output a space to delimit stretch we kept + filtered.extend(b' ') + prev = curr + 1 + + # If we're not in a tag... + if not in_tag: + # Keep everything after last non-extended-ASCII, non-alphabetic + # character + filtered.extend(buf[prev:]) + + return filtered diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cli/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cli/__init__.py new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cli/__init__.py @@ -0,0 +1 @@ + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cli/chardetect.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cli/chardetect.py new file mode 100644 index 0000000000..c61136b639 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cli/chardetect.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +""" +Script which takes one or more file paths and reports on their detected +encodings + +Example:: + + % chardetect somefile someotherfile + somefile: windows-1252 with confidence 0.5 + someotherfile: ascii with confidence 1.0 + +If no paths are provided, it takes its input from stdin. + +""" + +from __future__ import absolute_import, print_function, unicode_literals + +import argparse +import sys + +from pip._vendor.chardet import __version__ +from pip._vendor.chardet.compat import PY2 +from pip._vendor.chardet.universaldetector import UniversalDetector + + +def description_of(lines, name='stdin'): + """ + Return a string describing the probable encoding of a file or + list of strings. + + :param lines: The lines to get the encoding of. + :type lines: Iterable of bytes + :param name: Name of file or collection of lines + :type name: str + """ + u = UniversalDetector() + for line in lines: + line = bytearray(line) + u.feed(line) + # shortcut out of the loop to save reading further - particularly useful if we read a BOM. + if u.done: + break + u.close() + result = u.result + if PY2: + name = name.decode(sys.getfilesystemencoding(), 'ignore') + if result['encoding']: + return '{0}: {1} with confidence {2}'.format(name, result['encoding'], + result['confidence']) + else: + return '{0}: no result'.format(name) + + +def main(argv=None): + """ + Handles command line arguments and gets things started. + + :param argv: List of arguments, as if specified on the command-line. + If None, ``sys.argv[1:]`` is used instead. + :type argv: list of str + """ + # Get command line arguments + parser = argparse.ArgumentParser( + description="Takes one or more file paths and reports their detected \ + encodings") + parser.add_argument('input', + help='File whose encoding we would like to determine. \ + (default: stdin)', + type=argparse.FileType('rb'), nargs='*', + default=[sys.stdin if PY2 else sys.stdin.buffer]) + parser.add_argument('--version', action='version', + version='%(prog)s {0}'.format(__version__)) + args = parser.parse_args(argv) + + for f in args.input: + if f.isatty(): + print("You are running chardetect interactively. Press " + + "CTRL-D twice at the start of a blank line to signal the " + + "end of your input. If you want help, run chardetect " + + "--help\n", file=sys.stderr) + print(description_of(f, f.name)) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/codingstatemachine.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/codingstatemachine.py new file mode 100644 index 0000000000..68fba44f14 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/codingstatemachine.py @@ -0,0 +1,88 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import logging + +from .enums import MachineState + + +class CodingStateMachine(object): + """ + A state machine to verify a byte sequence for a particular encoding. For + each byte the detector receives, it will feed that byte to every active + state machine available, one byte at a time. The state machine changes its + state based on its previous state and the byte it receives. There are 3 + states in a state machine that are of interest to an auto-detector: + + START state: This is the state to start with, or a legal byte sequence + (i.e. a valid code point) for character has been identified. + + ME state: This indicates that the state machine identified a byte sequence + that is specific to the charset it is designed for and that + there is no other possible encoding which can contain this byte + sequence. This will to lead to an immediate positive answer for + the detector. + + ERROR state: This indicates the state machine identified an illegal byte + sequence for that encoding. This will lead to an immediate + negative answer for this encoding. Detector will exclude this + encoding from consideration from here on. + """ + def __init__(self, sm): + self._model = sm + self._curr_byte_pos = 0 + self._curr_char_len = 0 + self._curr_state = None + self.logger = logging.getLogger(__name__) + self.reset() + + def reset(self): + self._curr_state = MachineState.START + + def next_state(self, c): + # for each byte we get its class + # if it is first byte, we also get byte length + byte_class = self._model['class_table'][c] + if self._curr_state == MachineState.START: + self._curr_byte_pos = 0 + self._curr_char_len = self._model['char_len_table'][byte_class] + # from byte's class and state_table, we get its next state + curr_state = (self._curr_state * self._model['class_factor'] + + byte_class) + self._curr_state = self._model['state_table'][curr_state] + self._curr_byte_pos += 1 + return self._curr_state + + def get_current_charlen(self): + return self._curr_char_len + + def get_coding_state_machine(self): + return self._model['name'] + + @property + def language(self): + return self._model['language'] diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/compat.py new file mode 100644 index 0000000000..ddd74687c0 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/compat.py @@ -0,0 +1,34 @@ +######################## BEGIN LICENSE BLOCK ######################## +# Contributor(s): +# Dan Blanchard +# Ian Cordasco +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +import sys + + +if sys.version_info < (3, 0): + PY2 = True + PY3 = False + base_str = (str, unicode) + text_type = unicode +else: + PY2 = False + PY3 = True + base_str = (bytes, str) + text_type = str diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cp949prober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cp949prober.py new file mode 100644 index 0000000000..efd793abca --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/cp949prober.py @@ -0,0 +1,49 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .chardistribution import EUCKRDistributionAnalysis +from .codingstatemachine import CodingStateMachine +from .mbcharsetprober import MultiByteCharSetProber +from .mbcssm import CP949_SM_MODEL + + +class CP949Prober(MultiByteCharSetProber): + def __init__(self): + super(CP949Prober, self).__init__() + self.coding_sm = CodingStateMachine(CP949_SM_MODEL) + # NOTE: CP949 is a superset of EUC-KR, so the distribution should be + # not different. + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "CP949" + + @property + def language(self): + return "Korean" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/enums.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/enums.py new file mode 100644 index 0000000000..0451207225 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/enums.py @@ -0,0 +1,76 @@ +""" +All of the Enums that are used throughout the chardet package. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + + +class InputState(object): + """ + This enum represents the different states a universal detector can be in. + """ + PURE_ASCII = 0 + ESC_ASCII = 1 + HIGH_BYTE = 2 + + +class LanguageFilter(object): + """ + This enum represents the different language filters we can apply to a + ``UniversalDetector``. + """ + CHINESE_SIMPLIFIED = 0x01 + CHINESE_TRADITIONAL = 0x02 + JAPANESE = 0x04 + KOREAN = 0x08 + NON_CJK = 0x10 + ALL = 0x1F + CHINESE = CHINESE_SIMPLIFIED | CHINESE_TRADITIONAL + CJK = CHINESE | JAPANESE | KOREAN + + +class ProbingState(object): + """ + This enum represents the different states a prober can be in. + """ + DETECTING = 0 + FOUND_IT = 1 + NOT_ME = 2 + + +class MachineState(object): + """ + This enum represents the different states a state machine can be in. + """ + START = 0 + ERROR = 1 + ITS_ME = 2 + + +class SequenceLikelihood(object): + """ + This enum represents the likelihood of a character following the previous one. + """ + NEGATIVE = 0 + UNLIKELY = 1 + LIKELY = 2 + POSITIVE = 3 + + @classmethod + def get_num_categories(cls): + """:returns: The number of likelihood categories in the enum.""" + return 4 + + +class CharacterCategory(object): + """ + This enum represents the different categories language models for + ``SingleByteCharsetProber`` put characters into. + + Anything less than CONTROL is considered a letter. + """ + UNDEFINED = 255 + LINE_BREAK = 254 + SYMBOL = 253 + DIGIT = 252 + CONTROL = 251 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/escprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/escprober.py new file mode 100644 index 0000000000..c70493f2b1 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/escprober.py @@ -0,0 +1,101 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .codingstatemachine import CodingStateMachine +from .enums import LanguageFilter, ProbingState, MachineState +from .escsm import (HZ_SM_MODEL, ISO2022CN_SM_MODEL, ISO2022JP_SM_MODEL, + ISO2022KR_SM_MODEL) + + +class EscCharSetProber(CharSetProber): + """ + This CharSetProber uses a "code scheme" approach for detecting encodings, + whereby easily recognizable escape or shift sequences are relied on to + identify these encodings. + """ + + def __init__(self, lang_filter=None): + super(EscCharSetProber, self).__init__(lang_filter=lang_filter) + self.coding_sm = [] + if self.lang_filter & LanguageFilter.CHINESE_SIMPLIFIED: + self.coding_sm.append(CodingStateMachine(HZ_SM_MODEL)) + self.coding_sm.append(CodingStateMachine(ISO2022CN_SM_MODEL)) + if self.lang_filter & LanguageFilter.JAPANESE: + self.coding_sm.append(CodingStateMachine(ISO2022JP_SM_MODEL)) + if self.lang_filter & LanguageFilter.KOREAN: + self.coding_sm.append(CodingStateMachine(ISO2022KR_SM_MODEL)) + self.active_sm_count = None + self._detected_charset = None + self._detected_language = None + self._state = None + self.reset() + + def reset(self): + super(EscCharSetProber, self).reset() + for coding_sm in self.coding_sm: + if not coding_sm: + continue + coding_sm.active = True + coding_sm.reset() + self.active_sm_count = len(self.coding_sm) + self._detected_charset = None + self._detected_language = None + + @property + def charset_name(self): + return self._detected_charset + + @property + def language(self): + return self._detected_language + + def get_confidence(self): + if self._detected_charset: + return 0.99 + else: + return 0.00 + + def feed(self, byte_str): + for c in byte_str: + for coding_sm in self.coding_sm: + if not coding_sm or not coding_sm.active: + continue + coding_state = coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + coding_sm.active = False + self.active_sm_count -= 1 + if self.active_sm_count <= 0: + self._state = ProbingState.NOT_ME + return self.state + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + self._detected_charset = coding_sm.get_coding_state_machine() + self._detected_language = coding_sm.language + return self.state + + return self.state diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/escsm.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/escsm.py new file mode 100644 index 0000000000..0069523a04 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/escsm.py @@ -0,0 +1,246 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +HZ_CLS = ( +1,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,0,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,4,0,5,2,0, # 78 - 7f +1,1,1,1,1,1,1,1, # 80 - 87 +1,1,1,1,1,1,1,1, # 88 - 8f +1,1,1,1,1,1,1,1, # 90 - 97 +1,1,1,1,1,1,1,1, # 98 - 9f +1,1,1,1,1,1,1,1, # a0 - a7 +1,1,1,1,1,1,1,1, # a8 - af +1,1,1,1,1,1,1,1, # b0 - b7 +1,1,1,1,1,1,1,1, # b8 - bf +1,1,1,1,1,1,1,1, # c0 - c7 +1,1,1,1,1,1,1,1, # c8 - cf +1,1,1,1,1,1,1,1, # d0 - d7 +1,1,1,1,1,1,1,1, # d8 - df +1,1,1,1,1,1,1,1, # e0 - e7 +1,1,1,1,1,1,1,1, # e8 - ef +1,1,1,1,1,1,1,1, # f0 - f7 +1,1,1,1,1,1,1,1, # f8 - ff +) + +HZ_ST = ( +MachineState.START,MachineState.ERROR, 3,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START, 4,MachineState.ERROR,# 10-17 + 5,MachineState.ERROR, 6,MachineState.ERROR, 5, 5, 4,MachineState.ERROR,# 18-1f + 4,MachineState.ERROR, 4, 4, 4,MachineState.ERROR, 4,MachineState.ERROR,# 20-27 + 4,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 28-2f +) + +HZ_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +HZ_SM_MODEL = {'class_table': HZ_CLS, + 'class_factor': 6, + 'state_table': HZ_ST, + 'char_len_table': HZ_CHAR_LEN_TABLE, + 'name': "HZ-GB-2312", + 'language': 'Chinese'} + +ISO2022CN_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,0,0,0,0, # 20 - 27 +0,3,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,4,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022CN_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 20-27 + 5, 6,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,# 38-3f +) + +ISO2022CN_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022CN_SM_MODEL = {'class_table': ISO2022CN_CLS, + 'class_factor': 9, + 'state_table': ISO2022CN_ST, + 'char_len_table': ISO2022CN_CHAR_LEN_TABLE, + 'name': "ISO-2022-CN", + 'language': 'Chinese'} + +ISO2022JP_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,2,2, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,7,0,0,0, # 20 - 27 +3,0,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +6,0,4,0,8,0,0,0, # 40 - 47 +0,9,5,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022JP_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 00-07 +MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 08-0f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 10-17 +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 20-27 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 6,MachineState.ITS_ME,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,# 28-2f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,# 30-37 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 38-3f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.START,# 40-47 +) + +ISO2022JP_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + +ISO2022JP_SM_MODEL = {'class_table': ISO2022JP_CLS, + 'class_factor': 10, + 'state_table': ISO2022JP_ST, + 'char_len_table': ISO2022JP_CHAR_LEN_TABLE, + 'name': "ISO-2022-JP", + 'language': 'Japanese'} + +ISO2022KR_CLS = ( +2,0,0,0,0,0,0,0, # 00 - 07 +0,0,0,0,0,0,0,0, # 08 - 0f +0,0,0,0,0,0,0,0, # 10 - 17 +0,0,0,1,0,0,0,0, # 18 - 1f +0,0,0,0,3,0,0,0, # 20 - 27 +0,4,0,0,0,0,0,0, # 28 - 2f +0,0,0,0,0,0,0,0, # 30 - 37 +0,0,0,0,0,0,0,0, # 38 - 3f +0,0,0,5,0,0,0,0, # 40 - 47 +0,0,0,0,0,0,0,0, # 48 - 4f +0,0,0,0,0,0,0,0, # 50 - 57 +0,0,0,0,0,0,0,0, # 58 - 5f +0,0,0,0,0,0,0,0, # 60 - 67 +0,0,0,0,0,0,0,0, # 68 - 6f +0,0,0,0,0,0,0,0, # 70 - 77 +0,0,0,0,0,0,0,0, # 78 - 7f +2,2,2,2,2,2,2,2, # 80 - 87 +2,2,2,2,2,2,2,2, # 88 - 8f +2,2,2,2,2,2,2,2, # 90 - 97 +2,2,2,2,2,2,2,2, # 98 - 9f +2,2,2,2,2,2,2,2, # a0 - a7 +2,2,2,2,2,2,2,2, # a8 - af +2,2,2,2,2,2,2,2, # b0 - b7 +2,2,2,2,2,2,2,2, # b8 - bf +2,2,2,2,2,2,2,2, # c0 - c7 +2,2,2,2,2,2,2,2, # c8 - cf +2,2,2,2,2,2,2,2, # d0 - d7 +2,2,2,2,2,2,2,2, # d8 - df +2,2,2,2,2,2,2,2, # e0 - e7 +2,2,2,2,2,2,2,2, # e8 - ef +2,2,2,2,2,2,2,2, # f0 - f7 +2,2,2,2,2,2,2,2, # f8 - ff +) + +ISO2022KR_ST = ( +MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,# 00-07 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,# 08-0f +MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 4,MachineState.ERROR,MachineState.ERROR,# 10-17 +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,# 18-1f +MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.START,MachineState.START,MachineState.START,MachineState.START,# 20-27 +) + +ISO2022KR_CHAR_LEN_TABLE = (0, 0, 0, 0, 0, 0) + +ISO2022KR_SM_MODEL = {'class_table': ISO2022KR_CLS, + 'class_factor': 6, + 'state_table': ISO2022KR_ST, + 'char_len_table': ISO2022KR_CHAR_LEN_TABLE, + 'name': "ISO-2022-KR", + 'language': 'Korean'} + + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/eucjpprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/eucjpprober.py new file mode 100644 index 0000000000..20ce8f7d15 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/eucjpprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import ProbingState, MachineState +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCJPDistributionAnalysis +from .jpcntx import EUCJPContextAnalysis +from .mbcssm import EUCJP_SM_MODEL + + +class EUCJPProber(MultiByteCharSetProber): + def __init__(self): + super(EUCJPProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCJP_SM_MODEL) + self.distribution_analyzer = EUCJPDistributionAnalysis() + self.context_analyzer = EUCJPContextAnalysis() + self.reset() + + def reset(self): + super(EUCJPProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return "EUC-JP" + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + # PY3K: byte_str is a byte array, so byte_str[i] is an int, not a byte + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char, char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euckrfreq.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euckrfreq.py new file mode 100644 index 0000000000..b68078cb96 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euckrfreq.py @@ -0,0 +1,195 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology + +# 128 --> 0.79 +# 256 --> 0.92 +# 512 --> 0.986 +# 1024 --> 0.99944 +# 2048 --> 0.99999 +# +# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 +# Random Distribution Ration = 512 / (2350-512) = 0.279. +# +# Typical Distribution Ratio + +EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0 + +EUCKR_TABLE_SIZE = 2352 + +# Char to FreqOrder table , +EUCKR_CHAR_TO_FREQ_ORDER = ( + 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, +1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, +1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, + 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, + 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, + 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, +1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, + 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, + 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, +1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, +1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, +1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, +1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, +1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, + 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, +1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, +1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, +1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, +1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, + 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, +1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, + 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, + 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, +1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, + 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, +1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, + 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, + 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, +1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, +1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, +1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, +1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, + 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, +1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, + 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, + 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, +1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, +1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, +1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, +1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, +1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, +1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, + 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, + 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, + 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, +1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, + 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, +1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, + 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, + 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, +2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, + 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, + 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, +2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, +2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, +2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, + 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, + 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, +2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, + 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, +1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, +2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, +1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, +2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, +2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, +1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, + 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, +2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, +2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, + 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, + 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, +2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, +1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, +2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, +2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, +2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, +2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, +2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, +2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, +1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, +2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, +2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, +2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, +2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, +2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, +1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, +1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, +2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, +1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, +2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, +1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, + 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, +2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, + 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, +2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, + 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, +2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, +2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, + 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, +2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, +1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, + 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, +1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, +2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, +1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, +2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, + 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, +2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, +1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, +2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, +1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, +2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, +1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, + 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, +2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, +2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, + 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, + 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, +1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, +1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, + 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, +2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, +2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, + 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, + 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, + 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, +2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, + 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, + 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, +2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, +2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, + 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, +2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, +1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, + 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, +2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, +2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, +2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, + 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, + 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, + 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, +2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, +2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, +2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, +1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, +2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, + 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, # 512, 256 +) + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euckrprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euckrprober.py new file mode 100644 index 0000000000..345a060d02 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euckrprober.py @@ -0,0 +1,47 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCKRDistributionAnalysis +from .mbcssm import EUCKR_SM_MODEL + + +class EUCKRProber(MultiByteCharSetProber): + def __init__(self): + super(EUCKRProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCKR_SM_MODEL) + self.distribution_analyzer = EUCKRDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-KR" + + @property + def language(self): + return "Korean" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euctwfreq.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euctwfreq.py new file mode 100644 index 0000000000..ed7a995a3a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euctwfreq.py @@ -0,0 +1,387 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# EUCTW frequency table +# Converted from big5 work +# by Taiwan's Mandarin Promotion Council +# <http:#www.edu.tw:81/mandr/> + +# 128 --> 0.42261 +# 256 --> 0.57851 +# 512 --> 0.74851 +# 1024 --> 0.89384 +# 2048 --> 0.97583 +# +# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 +# Random Distribution Ration = 512/(5401-512)=0.105 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR + +EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75 + +# Char to FreqOrder table , +EUCTW_TABLE_SIZE = 5376 + +EUCTW_CHAR_TO_FREQ_ORDER = ( + 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, # 2742 +3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, # 2758 +1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, # 2774 + 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, # 2790 +3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, # 2806 +4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, # 2822 +7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, # 2838 + 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, # 2854 + 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, # 2870 + 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, # 2886 +2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, # 2902 +1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, # 2918 +3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, # 2934 + 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, # 2950 +1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, # 2966 +3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, # 2982 +2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, # 2998 + 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, # 3014 +3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, # 3030 +1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, # 3046 +7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, # 3062 + 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, # 3078 +7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, # 3094 +1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, # 3110 + 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, # 3126 + 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, # 3142 +3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, # 3158 +3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, # 3174 + 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, # 3190 +2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, # 3206 +2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, # 3222 + 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, # 3238 + 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, # 3254 +3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, # 3270 +1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, # 3286 +1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, # 3302 +1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, # 3318 +2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, # 3334 + 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, # 3350 +4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, # 3366 +1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, # 3382 +7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, # 3398 +2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, # 3414 + 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, # 3430 + 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, # 3446 + 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, # 3462 + 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, # 3478 +7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, # 3494 + 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, # 3510 +1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, # 3526 + 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, # 3542 + 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, # 3558 +7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, # 3574 +1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, # 3590 + 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, # 3606 +3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, # 3622 +4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, # 3638 +3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, # 3654 + 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, # 3670 + 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, # 3686 +1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, # 3702 +4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, # 3718 +3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, # 3734 +3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, # 3750 +2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, # 3766 +7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, # 3782 +3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, # 3798 +7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, # 3814 +1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, # 3830 +2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, # 3846 +1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, # 3862 + 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, # 3878 +1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, # 3894 +4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, # 3910 +3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, # 3926 + 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, # 3942 + 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, # 3958 + 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, # 3974 +2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, # 3990 +7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, # 4006 +1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, # 4022 +2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, # 4038 +1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, # 4054 +1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, # 4070 +7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, # 4086 +7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, # 4102 +7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, # 4118 +3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, # 4134 +4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, # 4150 +1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, # 4166 +7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, # 4182 +2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, # 4198 +7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, # 4214 +3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, # 4230 +3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, # 4246 +7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, # 4262 +2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, # 4278 +7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, # 4294 + 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, # 4310 +4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, # 4326 +2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, # 4342 +7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, # 4358 +3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, # 4374 +2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, # 4390 +2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, # 4406 + 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, # 4422 +2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, # 4438 +1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, # 4454 +1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, # 4470 +2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, # 4486 +1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, # 4502 +7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, # 4518 +7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, # 4534 +2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, # 4550 +4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, # 4566 +1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, # 4582 +7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, # 4598 + 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, # 4614 +4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, # 4630 + 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, # 4646 +2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, # 4662 + 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, # 4678 +1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, # 4694 +1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, # 4710 + 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, # 4726 +3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, # 4742 +3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, # 4758 +1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, # 4774 +3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, # 4790 +7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, # 4806 +7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, # 4822 +1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, # 4838 +2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, # 4854 +1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, # 4870 +3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, # 4886 +2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, # 4902 +3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, # 4918 +2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, # 4934 +4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, # 4950 +4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, # 4966 +3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, # 4982 + 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, # 4998 +3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, # 5014 + 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, # 5030 +3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, # 5046 +3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, # 5062 +3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, # 5078 +1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, # 5094 +7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, # 5110 + 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, # 5126 +7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, # 5142 +1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, # 5158 + 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, # 5174 +4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, # 5190 +3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, # 5206 + 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, # 5222 +2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, # 5238 +2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, # 5254 +3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, # 5270 +1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, # 5286 +4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, # 5302 +2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, # 5318 +1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, # 5334 +1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, # 5350 +2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, # 5366 +3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, # 5382 +1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, # 5398 +7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, # 5414 +1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, # 5430 +4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, # 5446 +1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, # 5462 + 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, # 5478 +1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, # 5494 +3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, # 5510 +3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, # 5526 +2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, # 5542 +1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, # 5558 +4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, # 5574 + 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, # 5590 +7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, # 5606 +2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, # 5622 +3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, # 5638 +4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, # 5654 + 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, # 5670 +7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, # 5686 +7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, # 5702 +1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, # 5718 +4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, # 5734 +3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, # 5750 +2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, # 5766 +3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, # 5782 +3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, # 5798 +2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, # 5814 +1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, # 5830 +4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, # 5846 +3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, # 5862 +3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, # 5878 +2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, # 5894 +4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, # 5910 +7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, # 5926 +3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, # 5942 +2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, # 5958 +3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, # 5974 +1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, # 5990 +2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, # 6006 +3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, # 6022 +4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, # 6038 +2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, # 6054 +2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, # 6070 +7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, # 6086 +1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, # 6102 +2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, # 6118 +1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, # 6134 +3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, # 6150 +4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, # 6166 +2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, # 6182 +3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, # 6198 +3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, # 6214 +2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, # 6230 +4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, # 6246 +2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, # 6262 +3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, # 6278 +4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, # 6294 +7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, # 6310 +3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, # 6326 + 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, # 6342 +1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, # 6358 +4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, # 6374 +1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, # 6390 +4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, # 6406 +7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, # 6422 + 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, # 6438 +7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, # 6454 +2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, # 6470 +1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, # 6486 +1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, # 6502 +3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, # 6518 + 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, # 6534 + 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, # 6550 + 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, # 6566 +3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, # 6582 +2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, # 6598 + 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, # 6614 +7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, # 6630 +1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, # 6646 +3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, # 6662 +7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, # 6678 +1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, # 6694 +7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, # 6710 +4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, # 6726 +1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, # 6742 +2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, # 6758 +2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, # 6774 +4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, # 6790 + 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, # 6806 + 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, # 6822 +3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, # 6838 +3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, # 6854 +1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, # 6870 +2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, # 6886 +7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, # 6902 +1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, # 6918 +1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, # 6934 +3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, # 6950 + 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, # 6966 +1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, # 6982 +4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, # 6998 +7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, # 7014 +2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, # 7030 +3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, # 7046 + 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, # 7062 +1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, # 7078 +2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, # 7094 +2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, # 7110 +7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, # 7126 +7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, # 7142 +7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, # 7158 +2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, # 7174 +2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, # 7190 +1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, # 7206 +4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, # 7222 +3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, # 7238 +3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, # 7254 +4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, # 7270 +4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, # 7286 +2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, # 7302 +2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, # 7318 +7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, # 7334 +4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, # 7350 +7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, # 7366 +2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, # 7382 +1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, # 7398 +3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, # 7414 +4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, # 7430 +2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, # 7446 + 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, # 7462 +2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, # 7478 +1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, # 7494 +2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, # 7510 +2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, # 7526 +4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, # 7542 +7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, # 7558 +1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, # 7574 +3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, # 7590 +7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, # 7606 +1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, # 7622 +8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, # 7638 +2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, # 7654 +8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, # 7670 +2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, # 7686 +2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, # 7702 +8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, # 7718 +8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, # 7734 +8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, # 7750 + 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, # 7766 +8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, # 7782 +4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, # 7798 +3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, # 7814 +8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, # 7830 +1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, # 7846 +8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, # 7862 + 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, # 7878 +1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, # 7894 + 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, # 7910 +4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, # 7926 +1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, # 7942 +4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, # 7958 +1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, # 7974 + 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, # 7990 +3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, # 8006 +4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, # 8022 +8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, # 8038 + 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, # 8054 +3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, # 8070 + 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, # 8086 +2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, # 8102 +) + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euctwprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euctwprober.py new file mode 100644 index 0000000000..35669cc4dd --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/euctwprober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import EUCTWDistributionAnalysis +from .mbcssm import EUCTW_SM_MODEL + +class EUCTWProber(MultiByteCharSetProber): + def __init__(self): + super(EUCTWProber, self).__init__() + self.coding_sm = CodingStateMachine(EUCTW_SM_MODEL) + self.distribution_analyzer = EUCTWDistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "EUC-TW" + + @property + def language(self): + return "Taiwan" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/gb2312freq.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/gb2312freq.py new file mode 100644 index 0000000000..697837bd9a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/gb2312freq.py @@ -0,0 +1,283 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# GB2312 most frequently used character table +# +# Char to FreqOrder table , from hz6763 + +# 512 --> 0.79 -- 0.79 +# 1024 --> 0.92 -- 0.13 +# 2048 --> 0.98 -- 0.06 +# 6768 --> 1.00 -- 0.02 +# +# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79 +# Random Distribution Ration = 512 / (3755 - 512) = 0.157 +# +# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR + +GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9 + +GB2312_TABLE_SIZE = 3760 + +GB2312_CHAR_TO_FREQ_ORDER = ( +1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, +2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, +2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, + 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, +1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, +1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, + 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, +1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, +2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, +3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, + 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, +1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, + 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, +2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, + 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, +2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, +1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, +3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, + 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, +1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, + 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, +2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, +1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, +3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, +1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, +2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, +1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, + 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, +3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, +3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, + 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, +3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, + 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, +1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, +3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, +2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, +1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, + 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, +1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, +4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, + 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, +3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, +3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, + 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, +1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, +2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, +1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, +1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, + 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, +3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, +3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, +4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, + 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, +3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, +1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, +1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, +4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, + 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, + 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, +3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, +1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, + 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, +1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, +2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, + 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, + 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, + 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, +3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, +4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, +3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, + 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, +2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, +2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, +2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, + 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, +2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, + 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, + 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, + 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, +3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, +2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, +2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, +1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, + 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, +2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, + 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, + 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, +1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, +1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, + 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, + 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, +1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, +2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, +3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, +2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, +2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, +2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, +3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, +1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, +1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, +2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, +1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, +3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, +1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, +1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, +3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, + 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, +2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, +1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, +4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, +1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, +1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, +3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, +1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, + 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, + 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, +1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, + 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, +1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, +1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, + 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, +3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, +4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, +3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, +2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, +2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, +1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, +3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, +2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, +1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, +1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, + 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, +2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, +2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, +3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, +4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, +3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, + 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, +3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, +2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, +1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, + 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, + 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, +3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, +4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, +2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, +1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, +1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, + 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, +1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, +3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, + 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, + 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, +1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, + 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, +1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, + 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, +2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, + 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, +2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, +2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, +1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, +1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, +2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, + 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, +1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, +1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, +2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, +2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, +3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, +1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, +4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, + 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, + 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, +3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, +1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, + 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, +3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, +1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, +4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, +1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, +2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, +1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, + 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, +1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, +3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, + 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, +2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, + 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, +1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, +1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, +1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, +3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, +2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, +3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, +3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, +3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, + 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, +2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, + 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, +2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, + 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, +1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, + 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, + 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, +1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, +3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, +3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, +1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, +1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, +3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, +2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, +2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, +1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, +3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, + 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, +4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, +1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, +2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, +3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, +3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, +1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, + 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, + 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, +2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, + 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, +1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, + 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, +1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, +1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, +1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, +1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, +1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, + 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, + 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, #last 512 +) + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/gb2312prober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/gb2312prober.py new file mode 100644 index 0000000000..8446d2dd95 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/gb2312prober.py @@ -0,0 +1,46 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import GB2312DistributionAnalysis +from .mbcssm import GB2312_SM_MODEL + +class GB2312Prober(MultiByteCharSetProber): + def __init__(self): + super(GB2312Prober, self).__init__() + self.coding_sm = CodingStateMachine(GB2312_SM_MODEL) + self.distribution_analyzer = GB2312DistributionAnalysis() + self.reset() + + @property + def charset_name(self): + return "GB2312" + + @property + def language(self): + return "Chinese" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/hebrewprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/hebrewprober.py new file mode 100644 index 0000000000..b0e1bf4926 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/hebrewprober.py @@ -0,0 +1,292 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Shy Shalom +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +# This prober doesn't actually recognize a language or a charset. +# It is a helper prober for the use of the Hebrew model probers + +### General ideas of the Hebrew charset recognition ### +# +# Four main charsets exist in Hebrew: +# "ISO-8859-8" - Visual Hebrew +# "windows-1255" - Logical Hebrew +# "ISO-8859-8-I" - Logical Hebrew +# "x-mac-hebrew" - ?? Logical Hebrew ?? +# +# Both "ISO" charsets use a completely identical set of code points, whereas +# "windows-1255" and "x-mac-hebrew" are two different proper supersets of +# these code points. windows-1255 defines additional characters in the range +# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific +# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. +# x-mac-hebrew defines similar additional code points but with a different +# mapping. +# +# As far as an average Hebrew text with no diacritics is concerned, all four +# charsets are identical with respect to code points. Meaning that for the +# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters +# (including final letters). +# +# The dominant difference between these charsets is their directionality. +# "Visual" directionality means that the text is ordered as if the renderer is +# not aware of a BIDI rendering algorithm. The renderer sees the text and +# draws it from left to right. The text itself when ordered naturally is read +# backwards. A buffer of Visual Hebrew generally looks like so: +# "[last word of first line spelled backwards] [whole line ordered backwards +# and spelled backwards] [first word of first line spelled backwards] +# [end of line] [last word of second line] ... etc' " +# adding punctuation marks, numbers and English text to visual text is +# naturally also "visual" and from left to right. +# +# "Logical" directionality means the text is ordered "naturally" according to +# the order it is read. It is the responsibility of the renderer to display +# the text from right to left. A BIDI algorithm is used to place general +# punctuation marks, numbers and English text in the text. +# +# Texts in x-mac-hebrew are almost impossible to find on the Internet. From +# what little evidence I could find, it seems that its general directionality +# is Logical. +# +# To sum up all of the above, the Hebrew probing mechanism knows about two +# charsets: +# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are +# backwards while line order is natural. For charset recognition purposes +# the line order is unimportant (In fact, for this implementation, even +# word order is unimportant). +# Logical Hebrew - "windows-1255" - normal, naturally ordered text. +# +# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be +# specifically identified. +# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew +# that contain special punctuation marks or diacritics is displayed with +# some unconverted characters showing as question marks. This problem might +# be corrected using another model prober for x-mac-hebrew. Due to the fact +# that x-mac-hebrew texts are so rare, writing another model prober isn't +# worth the effort and performance hit. +# +#### The Prober #### +# +# The prober is divided between two SBCharSetProbers and a HebrewProber, +# all of which are managed, created, fed data, inquired and deleted by the +# SBCSGroupProber. The two SBCharSetProbers identify that the text is in +# fact some kind of Hebrew, Logical or Visual. The final decision about which +# one is it is made by the HebrewProber by combining final-letter scores +# with the scores of the two SBCharSetProbers to produce a final answer. +# +# The SBCSGroupProber is responsible for stripping the original text of HTML +# tags, English characters, numbers, low-ASCII punctuation characters, spaces +# and new lines. It reduces any sequence of such characters to a single space. +# The buffer fed to each prober in the SBCS group prober is pure text in +# high-ASCII. +# The two SBCharSetProbers (model probers) share the same language model: +# Win1255Model. +# The first SBCharSetProber uses the model normally as any other +# SBCharSetProber does, to recognize windows-1255, upon which this model was +# built. The second SBCharSetProber is told to make the pair-of-letter +# lookup in the language model backwards. This in practice exactly simulates +# a visual Hebrew model using the windows-1255 logical Hebrew model. +# +# The HebrewProber is not using any language model. All it does is look for +# final-letter evidence suggesting the text is either logical Hebrew or visual +# Hebrew. Disjointed from the model probers, the results of the HebrewProber +# alone are meaningless. HebrewProber always returns 0.00 as confidence +# since it never identifies a charset by itself. Instead, the pointer to the +# HebrewProber is passed to the model probers as a helper "Name Prober". +# When the Group prober receives a positive identification from any prober, +# it asks for the name of the charset identified. If the prober queried is a +# Hebrew model prober, the model prober forwards the call to the +# HebrewProber to make the final decision. In the HebrewProber, the +# decision is made according to the final-letters scores maintained and Both +# model probers scores. The answer is returned in the form of the name of the +# charset identified, either "windows-1255" or "ISO-8859-8". + +class HebrewProber(CharSetProber): + # windows-1255 / ISO-8859-8 code points of interest + FINAL_KAF = 0xea + NORMAL_KAF = 0xeb + FINAL_MEM = 0xed + NORMAL_MEM = 0xee + FINAL_NUN = 0xef + NORMAL_NUN = 0xf0 + FINAL_PE = 0xf3 + NORMAL_PE = 0xf4 + FINAL_TSADI = 0xf5 + NORMAL_TSADI = 0xf6 + + # Minimum Visual vs Logical final letter score difference. + # If the difference is below this, don't rely solely on the final letter score + # distance. + MIN_FINAL_CHAR_DISTANCE = 5 + + # Minimum Visual vs Logical model score difference. + # If the difference is below this, don't rely at all on the model score + # distance. + MIN_MODEL_DISTANCE = 0.01 + + VISUAL_HEBREW_NAME = "ISO-8859-8" + LOGICAL_HEBREW_NAME = "windows-1255" + + def __init__(self): + super(HebrewProber, self).__init__() + self._final_char_logical_score = None + self._final_char_visual_score = None + self._prev = None + self._before_prev = None + self._logical_prober = None + self._visual_prober = None + self.reset() + + def reset(self): + self._final_char_logical_score = 0 + self._final_char_visual_score = 0 + # The two last characters seen in the previous buffer, + # mPrev and mBeforePrev are initialized to space in order to simulate + # a word delimiter at the beginning of the data + self._prev = ' ' + self._before_prev = ' ' + # These probers are owned by the group prober. + + def set_model_probers(self, logicalProber, visualProber): + self._logical_prober = logicalProber + self._visual_prober = visualProber + + def is_final(self, c): + return c in [self.FINAL_KAF, self.FINAL_MEM, self.FINAL_NUN, + self.FINAL_PE, self.FINAL_TSADI] + + def is_non_final(self, c): + # The normal Tsadi is not a good Non-Final letter due to words like + # 'lechotet' (to chat) containing an apostrophe after the tsadi. This + # apostrophe is converted to a space in FilterWithoutEnglishLetters + # causing the Non-Final tsadi to appear at an end of a word even + # though this is not the case in the original text. + # The letters Pe and Kaf rarely display a related behavior of not being + # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' + # for example legally end with a Non-Final Pe or Kaf. However, the + # benefit of these letters as Non-Final letters outweighs the damage + # since these words are quite rare. + return c in [self.NORMAL_KAF, self.NORMAL_MEM, + self.NORMAL_NUN, self.NORMAL_PE] + + def feed(self, byte_str): + # Final letter analysis for logical-visual decision. + # Look for evidence that the received buffer is either logical Hebrew + # or visual Hebrew. + # The following cases are checked: + # 1) A word longer than 1 letter, ending with a final letter. This is + # an indication that the text is laid out "naturally" since the + # final letter really appears at the end. +1 for logical score. + # 2) A word longer than 1 letter, ending with a Non-Final letter. In + # normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, + # should not end with the Non-Final form of that letter. Exceptions + # to this rule are mentioned above in isNonFinal(). This is an + # indication that the text is laid out backwards. +1 for visual + # score + # 3) A word longer than 1 letter, starting with a final letter. Final + # letters should not appear at the beginning of a word. This is an + # indication that the text is laid out backwards. +1 for visual + # score. + # + # The visual score and logical score are accumulated throughout the + # text and are finally checked against each other in GetCharSetName(). + # No checking for final letters in the middle of words is done since + # that case is not an indication for either Logical or Visual text. + # + # We automatically filter out all 7-bit characters (replace them with + # spaces) so the word boundary detection works properly. [MAP] + + if self.state == ProbingState.NOT_ME: + # Both model probers say it's not them. No reason to continue. + return ProbingState.NOT_ME + + byte_str = self.filter_high_byte_only(byte_str) + + for cur in byte_str: + if cur == ' ': + # We stand on a space - a word just ended + if self._before_prev != ' ': + # next-to-last char was not a space so self._prev is not a + # 1 letter word + if self.is_final(self._prev): + # case (1) [-2:not space][-1:final letter][cur:space] + self._final_char_logical_score += 1 + elif self.is_non_final(self._prev): + # case (2) [-2:not space][-1:Non-Final letter][ + # cur:space] + self._final_char_visual_score += 1 + else: + # Not standing on a space + if ((self._before_prev == ' ') and + (self.is_final(self._prev)) and (cur != ' ')): + # case (3) [-2:space][-1:final letter][cur:not space] + self._final_char_visual_score += 1 + self._before_prev = self._prev + self._prev = cur + + # Forever detecting, till the end or until both model probers return + # ProbingState.NOT_ME (handled above) + return ProbingState.DETECTING + + @property + def charset_name(self): + # Make the decision: is it Logical or Visual? + # If the final letter score distance is dominant enough, rely on it. + finalsub = self._final_char_logical_score - self._final_char_visual_score + if finalsub >= self.MIN_FINAL_CHAR_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if finalsub <= -self.MIN_FINAL_CHAR_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # It's not dominant enough, try to rely on the model scores instead. + modelsub = (self._logical_prober.get_confidence() + - self._visual_prober.get_confidence()) + if modelsub > self.MIN_MODEL_DISTANCE: + return self.LOGICAL_HEBREW_NAME + if modelsub < -self.MIN_MODEL_DISTANCE: + return self.VISUAL_HEBREW_NAME + + # Still no good, back to final letter distance, maybe it'll save the + # day. + if finalsub < 0.0: + return self.VISUAL_HEBREW_NAME + + # (finalsub > 0 - Logical) or (don't know what to do) default to + # Logical. + return self.LOGICAL_HEBREW_NAME + + @property + def language(self): + return 'Hebrew' + + @property + def state(self): + # Remain active as long as any of the model probers are active. + if (self._logical_prober.state == ProbingState.NOT_ME) and \ + (self._visual_prober.state == ProbingState.NOT_ME): + return ProbingState.NOT_ME + return ProbingState.DETECTING diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/jisfreq.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/jisfreq.py new file mode 100644 index 0000000000..83fc082b54 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/jisfreq.py @@ -0,0 +1,325 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# Sampling from about 20M text materials include literature and computer technology +# +# Japanese frequency table, applied to both S-JIS and EUC-JP +# They are sorted in order. + +# 128 --> 0.77094 +# 256 --> 0.85710 +# 512 --> 0.92635 +# 1024 --> 0.97130 +# 2048 --> 0.99431 +# +# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 +# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 +# +# Typical Distribution Ratio, 25% of IDR + +JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0 + +# Char to FreqOrder table , +JIS_TABLE_SIZE = 4368 + +JIS_CHAR_TO_FREQ_ORDER = ( + 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16 +3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32 +1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48 +2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64 +2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80 +5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96 +1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112 +5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128 +5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144 +5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160 +5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176 +5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192 +5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208 +1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224 +1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240 +1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256 +2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272 +3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288 +3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304 + 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320 + 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336 +1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352 + 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368 +5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384 + 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400 + 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416 + 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432 + 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448 + 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464 +5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480 +5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496 +5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512 +4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528 +5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544 +5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560 +5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576 +5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592 +5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608 +5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624 +5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640 +5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656 +5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672 +3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688 +5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704 +5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720 +5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736 +5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752 +5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768 +5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784 +5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800 +5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816 +5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832 +5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848 +5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864 +5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880 +5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896 +5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912 +5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928 +5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944 +5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960 +5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976 +5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992 +5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008 +5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024 +5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040 +5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056 +5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072 +5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088 +5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104 +5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120 +5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136 +5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152 +5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168 +5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184 +5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200 +5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216 +5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232 +5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248 +5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264 +5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280 +5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296 +6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312 +6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328 +6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344 +6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360 +6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376 +6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392 +6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408 +6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424 +4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440 + 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456 + 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472 +1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488 +1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504 + 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520 +3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536 +3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552 + 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568 +3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584 +3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600 + 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616 +2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632 + 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648 +3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664 +1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680 + 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696 +1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712 + 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728 +2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744 +2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760 +2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776 +2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792 +1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808 +1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824 +1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840 +1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856 +2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872 +1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888 +2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904 +1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920 +1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936 +1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952 +1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968 +1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984 +1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000 + 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016 + 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032 +1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048 +2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064 +2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080 +2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096 +3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112 +3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128 + 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144 +3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160 +1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176 + 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192 +2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208 +1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224 + 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240 +3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256 +4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272 +2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288 +1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304 +2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320 +1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336 + 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352 + 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368 +1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384 +2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400 +2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416 +2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432 +3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448 +1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464 +2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480 + 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496 + 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512 + 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528 +1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544 +2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560 + 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576 +1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592 +1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608 + 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624 +1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640 +1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656 +1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672 + 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688 +2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704 + 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720 +2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736 +3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752 +2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768 +1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784 +6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800 +1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816 +2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832 +1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848 + 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864 + 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880 +3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896 +3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912 +1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928 +1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944 +1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960 +1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976 + 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992 + 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008 +2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024 + 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040 +3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056 +2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072 + 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088 +1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104 +2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120 + 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136 +1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152 + 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168 +4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184 +2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200 +1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216 + 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232 +1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248 +2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264 + 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280 +6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296 +1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312 +1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328 +2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344 +3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360 + 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376 +3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392 +1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408 + 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424 +1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440 + 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456 +3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472 + 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488 +2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504 + 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520 +4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536 +2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552 +1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568 +1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584 +1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600 + 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616 +1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632 +3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648 +1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664 +3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680 + 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696 + 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712 + 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728 +2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744 +1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760 + 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776 +1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792 + 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808 +1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824 + 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840 + 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856 + 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872 +1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888 +1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904 +2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920 +4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936 + 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952 +1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968 + 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984 +1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000 +3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016 +1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032 +2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048 +2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064 +1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080 +1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096 +2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112 + 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128 +2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144 +1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160 +1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176 +1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192 +1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208 +3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224 +2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240 +2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256 + 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272 +3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288 +3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304 +1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320 +2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336 +1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352 +2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512 +) + + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/jpcntx.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/jpcntx.py new file mode 100644 index 0000000000..20044e4bc8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/jpcntx.py @@ -0,0 +1,233 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + + +# This is hiragana 2-char sequence table, the number in each cell represents its frequency category +jp2CharContext = ( +(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1), +(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4), +(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2), +(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4), +(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4), +(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3), +(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3), +(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3), +(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4), +(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3), +(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4), +(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3), +(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5), +(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3), +(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5), +(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4), +(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4), +(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3), +(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3), +(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3), +(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5), +(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4), +(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5), +(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3), +(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4), +(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4), +(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4), +(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1), +(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0), +(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3), +(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0), +(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3), +(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3), +(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5), +(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4), +(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5), +(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3), +(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3), +(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3), +(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3), +(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4), +(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4), +(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2), +(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3), +(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3), +(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3), +(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3), +(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4), +(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3), +(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4), +(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3), +(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3), +(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4), +(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4), +(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3), +(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4), +(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4), +(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3), +(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4), +(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4), +(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4), +(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3), +(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2), +(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2), +(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3), +(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3), +(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5), +(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3), +(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4), +(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4), +(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), +(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3), +(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1), +(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2), +(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3), +(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1), +) + +class JapaneseContextAnalysis(object): + NUM_OF_CATEGORY = 6 + DONT_KNOW = -1 + ENOUGH_REL_THRESHOLD = 100 + MAX_REL_THRESHOLD = 1000 + MINIMUM_DATA_THRESHOLD = 4 + + def __init__(self): + self._total_rel = None + self._rel_sample = None + self._need_to_skip_char_num = None + self._last_char_order = None + self._done = None + self.reset() + + def reset(self): + self._total_rel = 0 # total sequence received + # category counters, each integer counts sequence in its category + self._rel_sample = [0] * self.NUM_OF_CATEGORY + # if last byte in current buffer is not the last byte of a character, + # we need to know how many bytes to skip in next buffer + self._need_to_skip_char_num = 0 + self._last_char_order = -1 # The order of previous char + # If this flag is set to True, detection is done and conclusion has + # been made + self._done = False + + def feed(self, byte_str, num_bytes): + if self._done: + return + + # The buffer we got is byte oriented, and a character may span in more than one + # buffers. In case the last one or two byte in last buffer is not + # complete, we record how many byte needed to complete that character + # and skip these bytes here. We can choose to record those bytes as + # well and analyse the character once it is complete, but since a + # character will not make much difference, by simply skipping + # this character will simply our logic and improve performance. + i = self._need_to_skip_char_num + while i < num_bytes: + order, char_len = self.get_order(byte_str[i:i + 2]) + i += char_len + if i > num_bytes: + self._need_to_skip_char_num = i - num_bytes + self._last_char_order = -1 + else: + if (order != -1) and (self._last_char_order != -1): + self._total_rel += 1 + if self._total_rel > self.MAX_REL_THRESHOLD: + self._done = True + break + self._rel_sample[jp2CharContext[self._last_char_order][order]] += 1 + self._last_char_order = order + + def got_enough_data(self): + return self._total_rel > self.ENOUGH_REL_THRESHOLD + + def get_confidence(self): + # This is just one way to calculate confidence. It works well for me. + if self._total_rel > self.MINIMUM_DATA_THRESHOLD: + return (self._total_rel - self._rel_sample[0]) / self._total_rel + else: + return self.DONT_KNOW + + def get_order(self, byte_str): + return -1, 1 + +class SJISContextAnalysis(JapaneseContextAnalysis): + def __init__(self): + super(SJISContextAnalysis, self).__init__() + self._charset_name = "SHIFT_JIS" + + @property + def charset_name(self): + return self._charset_name + + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC): + char_len = 2 + if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): + self._charset_name = "CP932" + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 202) and (0x9F <= second_char <= 0xF1): + return second_char - 0x9F, char_len + + return -1, char_len + +class EUCJPContextAnalysis(JapaneseContextAnalysis): + def get_order(self, byte_str): + if not byte_str: + return -1, 1 + # find out current char's byte length + first_char = byte_str[0] + if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE): + char_len = 2 + elif first_char == 0x8F: + char_len = 3 + else: + char_len = 1 + + # return its order if it is hiragana + if len(byte_str) > 1: + second_char = byte_str[1] + if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3): + return second_char - 0xA1, char_len + + return -1, char_len + + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langbulgarianmodel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langbulgarianmodel.py new file mode 100644 index 0000000000..2aa4fb2e22 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langbulgarianmodel.py @@ -0,0 +1,228 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +# this table is modified base on win1251BulgarianCharToOrderMap, so +# only number <64 is sure valid + +Latin5_BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, # 80 +210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, # 90 + 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, # a0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # b0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, # c0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # d0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, # e0 + 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, # f0 +) + +win1251BulgarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 +110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 +253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 +116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 +206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, # 80 +221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, # 90 + 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, # a0 + 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, # b0 + 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # c0 + 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, # d0 + 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # e0 + 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 96.9392% +# first 1024 sequences:3.0618% +# rest sequences: 0.2992% +# negative sequences: 0.0020% +BulgarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, +3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, +0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, +0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, +0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, +0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, +0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, +2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, +3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, +3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, +1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, +3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, +1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, +2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, +2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, +3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, +1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, +2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, +2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, +1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, +2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, +2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, +2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, +1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, +2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, +1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, +3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, +1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, +3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, +1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, +2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, +1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, +2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, +1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, +2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, +1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, +2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, +1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, +2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, +1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, +0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, +1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, +1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, +1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, +0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, +1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, +1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, +1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +) + +Latin5BulgarianModel = { + 'char_to_order_map': Latin5_BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Bulgairan', +} + +Win1251BulgarianModel = { + 'char_to_order_map': win1251BulgarianCharToOrderMap, + 'precedence_matrix': BulgarianLangModel, + 'typical_positive_ratio': 0.969392, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Bulgarian', +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langcyrillicmodel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langcyrillicmodel.py new file mode 100644 index 0000000000..e5f9a1fd19 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langcyrillicmodel.py @@ -0,0 +1,333 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# KOI8-R language model +# Character Mapping Table: +KOI8R_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, # 80 +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, # 90 +223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, # a0 +238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, # b0 + 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, # c0 + 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, # d0 + 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, # e0 + 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, # f0 +) + +win1251_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +) + +latin5_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +macCyrillic_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, +239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, +) + +IBM855_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 +191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, +206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, + 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, +220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, +230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, + 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, + 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, +250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, +) + +IBM866_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 +155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 +253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 + 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 + 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, + 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, + 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, +191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, +207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, +223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, +239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 97.6601% +# first 1024 sequences: 2.3389% +# rest sequences: 0.1237% +# negative sequences: 0.0009% +RussianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, +0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, +1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, +1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, +2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, +1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, +3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, +1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, +2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, +1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, +1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, +1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, +1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, +3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, +1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, +2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, +1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, +2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, +1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, +1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, +1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, +3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, +3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, +1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, +1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, +0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, +1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, +1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, +0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, +1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, +2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, +1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, +1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, +2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, +1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, +0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, +2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, +1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, +1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, +0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, +0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, +1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, +0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, +0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, +2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, +0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +) + +Koi8rModel = { + 'char_to_order_map': KOI8R_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "KOI8-R", + 'language': 'Russian', +} + +Win1251CyrillicModel = { + 'char_to_order_map': win1251_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "windows-1251", + 'language': 'Russian', +} + +Latin5CyrillicModel = { + 'char_to_order_map': latin5_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-5", + 'language': 'Russian', +} + +MacCyrillicModel = { + 'char_to_order_map': macCyrillic_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "MacCyrillic", + 'language': 'Russian', +} + +Ibm866Model = { + 'char_to_order_map': IBM866_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM866", + 'language': 'Russian', +} + +Ibm855Model = { + 'char_to_order_map': IBM855_char_to_order_map, + 'precedence_matrix': RussianLangModel, + 'typical_positive_ratio': 0.976601, + 'keep_english_letter': False, + 'charset_name': "IBM855", + 'language': 'Russian', +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langgreekmodel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langgreekmodel.py new file mode 100644 index 0000000000..533222166c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langgreekmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin7_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +win1253_char_to_order_map = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 + 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 +253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 + 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 +253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 +253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, # b0 +110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 + 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 +124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 + 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.2851% +# first 1024 sequences:1.7001% +# rest sequences: 0.0359% +# negative sequences: 0.0148% +GreekLangModel = ( +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0, +2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0, +2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0, +2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0, +0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0, +3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0, +3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0, +2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0, +2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0, +0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0, +0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0, +0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2, +0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, +0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2, +0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0, +0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2, +0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2, +0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0, +0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0, +0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0, +0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2, +0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0, +0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2, +0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2, +0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0, +0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1, +0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2, +0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2, +0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, +0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0, +0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1, +0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0, +0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0, +0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin7GreekModel = { + 'char_to_order_map': Latin7_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "ISO-8859-7", + 'language': 'Greek', +} + +Win1253GreekModel = { + 'char_to_order_map': win1253_char_to_order_map, + 'precedence_matrix': GreekLangModel, + 'typical_positive_ratio': 0.982851, + 'keep_english_letter': False, + 'charset_name': "windows-1253", + 'language': 'Greek', +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langhebrewmodel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langhebrewmodel.py new file mode 100644 index 0000000000..58f4c875ec --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langhebrewmodel.py @@ -0,0 +1,200 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Simon Montagu +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Shoshannah Forbes - original C code (?) +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Windows-1255 language model +# Character Mapping Table: +WIN1255_CHAR_TO_ORDER_MAP = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, # 40 + 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, # 50 +253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, # 60 + 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, # 70 +124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, +215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, + 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, +106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, + 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, +238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, + 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, + 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 98.4004% +# first 1024 sequences: 1.5981% +# rest sequences: 0.087% +# negative sequences: 0.0015% +HEBREW_LANG_MODEL = ( +0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, +3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, +1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, +1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, +1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, +1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, +0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, +1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, +0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, +0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, +0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, +0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, +0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, +0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, +0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, +3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, +0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, +0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, +0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, +0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, +3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, +0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, +0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, +0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, +0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, +0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, +1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, +0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, +1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, +2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, +2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, +0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, +0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, +) + +Win1255HebrewModel = { + 'char_to_order_map': WIN1255_CHAR_TO_ORDER_MAP, + 'precedence_matrix': HEBREW_LANG_MODEL, + 'typical_positive_ratio': 0.984004, + 'keep_english_letter': False, + 'charset_name': "windows-1255", + 'language': 'Hebrew', +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langhungarianmodel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langhungarianmodel.py new file mode 100644 index 0000000000..bb7c095e1e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langhungarianmodel.py @@ -0,0 +1,225 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin2_HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, +175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205, + 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241, + 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85, +245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +win1250HungarianCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, + 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, +253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, + 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, +161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, +177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190, +191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205, + 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, +221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231, +232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241, + 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87, +245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 94.7368% +# first 1024 sequences:5.2623% +# rest sequences: 0.8894% +# negative sequences: 0.0009% +HungarianLangModel = ( +0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, +3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2, +3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2, +0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0, +3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1, +0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0, +1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0, +1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1, +3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1, +2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0, +2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1, +2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1, +2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1, +2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1, +1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1, +1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1, +3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0, +1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1, +1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1, +2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1, +2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0, +2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1, +3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1, +2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1, +1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0, +1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1, +2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0, +1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1, +2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0, +1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0, +1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0, +2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1, +2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1, +2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1, +1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1, +1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0, +0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1, +2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1, +1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1, +2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1, +1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0, +1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0, +2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0, +2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1, +2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0, +1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0, +2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0, +0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, +2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +) + +Latin2HungarianModel = { + 'char_to_order_map': Latin2_HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-2", + 'language': 'Hungarian', +} + +Win1250HungarianModel = { + 'char_to_order_map': win1250HungarianCharToOrderMap, + 'precedence_matrix': HungarianLangModel, + 'typical_positive_ratio': 0.947368, + 'keep_english_letter': True, + 'charset_name': "windows-1250", + 'language': 'Hungarian', +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langthaimodel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langthaimodel.py new file mode 100644 index 0000000000..15f94c2df0 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langthaimodel.py @@ -0,0 +1,199 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# The following result for thai was collected from a limited sample (1M). + +# Character Mapping Table: +TIS620CharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 +252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 +253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, # 40 +188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, # 50 +253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, # 60 + 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, # 70 +209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, +223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, +236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, + 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, + 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, + 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, + 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, + 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, +) + +# Model Table: +# total sequences: 100% +# first 512 sequences: 92.6386% +# first 1024 sequences:7.3177% +# rest sequences: 1.0230% +# negative sequences: 0.0436% +ThaiLangModel = ( +0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, +0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, +3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, +0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, +3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, +3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, +3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, +3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, +3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, +2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, +3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, +0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, +1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, +3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, +3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, +1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, +0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, +0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, +3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, +2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, +3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, +0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, +3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, +2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, +2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, +3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, +3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, +3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, +3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, +3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, +1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, +0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, +0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, +3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, +3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, +1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, +3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, +3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, +0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, +0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, +1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, +1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, +3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, +0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, +0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, +3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, +0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, +0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, +0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, +0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, +0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, +3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, +0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, +0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, +3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, +2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, +0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, +3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, +1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, +1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, +1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +TIS620ThaiModel = { + 'char_to_order_map': TIS620CharToOrderMap, + 'precedence_matrix': ThaiLangModel, + 'typical_positive_ratio': 0.926386, + 'keep_english_letter': False, + 'charset_name': "TIS-620", + 'language': 'Thai', +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langturkishmodel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langturkishmodel.py new file mode 100644 index 0000000000..a427a45739 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/langturkishmodel.py @@ -0,0 +1,193 @@ +# -*- coding: utf-8 -*- +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Communicator client code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Özgür Baskın - Turkish Language Model +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +# 255: Control characters that usually does not exist in any text +# 254: Carriage/Return +# 253: symbol (punctuation) that does not belong to word +# 252: 0 - 9 + +# Character Mapping Table: +Latin5_TurkishCharToOrderMap = ( +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255, 23, 37, 47, 39, 29, 52, 36, 45, 53, 60, 16, 49, 20, 46, 42, + 48, 69, 44, 35, 31, 51, 38, 62, 65, 43, 56,255,255,255,255,255, +255, 1, 21, 28, 12, 2, 18, 27, 25, 3, 24, 10, 5, 13, 4, 15, + 26, 64, 7, 8, 9, 14, 32, 57, 58, 11, 22,255,255,255,255,255, +180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165, +164,163,162,161,160,159,101,158,157,156,155,154,153,152,151,106, +150,149,148,147,146,145,144,100,143,142,141,140,139,138,137,136, + 94, 80, 93,135,105,134,133, 63,132,131,130,129,128,127,126,125, +124,104, 73, 99, 79, 85,123, 54,122, 98, 92,121,120, 91,103,119, + 68,118,117, 97,116,115, 50, 90,114,113,112,111, 55, 41, 40, 86, + 89, 70, 59, 78, 71, 82, 88, 33, 77, 66, 84, 83,110, 75, 61, 96, + 30, 67,109, 74, 87,102, 34, 95, 81,108, 76, 72, 17, 6, 19,107, +) + +TurkishLangModel = ( +3,2,3,3,3,1,3,3,3,3,3,3,3,3,2,1,1,3,3,1,3,3,0,3,3,3,3,3,0,3,1,3, +3,2,1,0,0,1,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,3,1,0,3,3,1,3,3,0,3,3,3,3,3,0,3,0,3, +3,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1, +3,3,2,3,3,0,3,3,3,3,3,3,3,2,3,1,1,3,3,0,3,3,1,2,3,3,3,3,0,3,0,3, +3,1,1,0,0,0,1,0,0,0,0,1,1,0,1,2,1,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1, +3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,1,3,3,2,0,3,2,1,2,2,1,3,3,0,0,0,2, +2,2,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1, +3,3,3,2,3,3,1,2,3,3,3,3,3,3,3,1,3,2,1,0,3,2,0,1,2,3,3,2,1,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0, +1,0,1,3,3,1,3,3,3,3,3,3,3,1,2,0,0,2,3,0,2,3,0,0,2,2,2,3,0,3,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,0,3,2,0,2,3,2,3,3,1,0,0,2, +3,2,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,2,0,0,1, +3,3,3,2,3,3,2,3,3,3,3,2,3,3,3,0,3,3,0,0,2,1,0,0,2,3,2,2,0,0,0,2, +2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,2,0,0,1, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,0,1,3,2,1,1,3,2,3,2,1,0,0,2, +2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, +3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,0,3,2,2,0,2,3,0,0,2,2,2,2,0,0,0,2, +3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,3,3,3,3,2,2,2,2,3,2,3,3,0,3,3,1,1,2,2,0,0,2,2,3,2,0,0,1,3, +0,3,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1, +3,3,3,2,3,3,3,2,1,2,2,3,2,3,3,0,3,2,0,0,1,1,0,1,1,2,1,2,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0, +3,3,3,2,3,3,2,3,2,2,2,3,3,3,3,1,3,1,1,0,3,2,1,1,3,3,2,3,1,0,0,1, +1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1, +3,2,2,3,3,0,3,3,3,3,3,3,3,2,2,1,0,3,3,1,3,3,0,1,3,3,2,3,0,3,0,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +2,2,2,3,3,0,3,3,3,3,3,3,3,3,3,0,0,3,2,0,3,3,0,3,2,3,3,3,0,3,1,3, +2,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0,0,0,0,2,2,0,0,1,0,0,1, +3,3,3,1,2,3,3,1,0,0,1,0,0,3,3,2,3,0,0,2,0,0,2,0,2,0,0,0,2,0,2,0, +0,3,1,0,1,0,0,0,2,2,1,0,1,1,2,1,2,2,2,0,2,1,1,0,0,0,2,0,0,0,0,0, +1,2,1,3,3,0,3,3,3,3,3,2,3,0,0,0,0,2,3,0,2,3,1,0,2,3,1,3,0,3,0,2, +3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,3,2,2,3,2,2,0,1,2,3,0,1,2,1,0,1,0,0,0,1,0,2,2,0,0,0,1, +1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0, +3,3,3,1,3,3,1,1,3,3,1,1,3,3,1,0,2,1,2,0,2,1,0,0,1,1,2,1,0,0,0,2, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,0,2,1,3,0,0,2,0,0,3,3,0,3,0,0,1,0,1,2,0,0,1,1,2,2,0,1,0, +0,1,2,1,1,0,1,0,1,1,1,1,1,0,1,1,1,2,2,1,2,0,1,0,0,0,0,0,0,1,0,0, +3,3,3,2,3,2,3,3,0,2,2,2,3,3,3,0,3,0,0,0,2,2,0,1,2,1,1,1,0,0,0,1, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,3,3,3,3,3,2,1,2,2,3,3,3,3,2,0,2,0,0,0,2,2,0,0,2,1,3,3,0,0,1,1, +1,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0, +1,1,2,3,3,0,3,3,3,3,3,3,2,2,0,2,0,2,3,2,3,2,2,2,2,2,2,2,1,3,2,3, +2,0,2,1,2,2,2,2,1,1,2,2,1,2,2,1,2,0,0,2,1,1,0,2,1,0,0,1,0,0,0,1, +2,3,3,1,1,1,0,1,1,1,2,3,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,2,2,3,2,3,2,2,1,3,3,3,0,2,1,2,0,2,1,0,0,1,1,1,1,1,0,0,1, +2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0, +3,3,3,2,3,3,3,3,3,2,3,1,2,3,3,1,2,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +3,3,3,2,2,3,3,2,1,1,1,1,1,3,3,0,3,1,0,0,1,1,0,0,3,1,2,1,0,0,0,0, +0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0, +3,3,3,2,2,3,2,2,2,3,2,1,1,3,3,0,3,0,0,0,0,1,0,0,3,1,1,2,0,0,0,1, +1,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +1,1,1,3,3,0,3,3,3,3,3,2,2,2,1,2,0,2,1,2,2,1,1,0,1,2,2,2,2,2,2,2, +0,0,2,1,2,1,2,1,0,1,1,3,1,2,1,1,2,0,0,2,0,1,0,1,0,1,0,0,0,1,0,1, +3,3,3,1,3,3,3,0,1,1,0,2,2,3,1,0,3,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,2,2,1,0,0,1,0,0,3,3,1,3,0,0,1,1,0,2,0,3,0,0,0,2,0,1,1, +0,1,2,0,1,2,2,0,2,2,2,2,1,0,2,1,1,0,2,0,2,1,2,0,0,0,0,0,0,0,0,0, +3,3,3,1,3,2,3,2,0,2,2,2,1,3,2,0,2,1,2,0,1,2,0,0,1,0,2,2,0,0,0,2, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0, +3,3,3,0,3,3,1,1,2,3,1,0,3,2,3,0,3,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0, +1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,3,3,2,3,3,2,2,0,0,0,0,1,2,0,1,3,0,0,0,3,1,1,0,3,0,2, +2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,1,2,2,1,0,3,1,1,1,1,3,3,2,3,0,0,1,0,1,2,0,2,2,0,2,2,0,2,1, +0,2,2,1,1,1,1,0,2,1,1,0,1,1,1,1,2,1,2,1,2,0,1,0,1,0,0,0,0,0,0,0, +3,3,3,0,1,1,3,0,0,1,1,0,0,2,2,0,3,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0, +0,3,1,0,1,0,1,0,2,0,0,1,0,1,0,1,1,1,2,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,0,2,0,1,1,1,0,0,3,3,0,2,0,0,1,0,0,2,1,1,0,1,0,1,0,1,0, +0,2,0,1,2,0,2,0,2,1,1,0,1,0,2,1,1,0,2,1,1,0,1,0,0,0,1,1,0,0,0,0, +3,2,3,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0, +0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,0,2,3,0,0,1,0,1,0,2,3,2,3,0,0,1,3,0,2,1,0,0,0,0,2,0,1,0, +0,2,1,0,0,1,1,0,2,1,0,0,1,0,0,1,1,0,1,1,2,0,1,0,0,0,0,1,0,0,0,0, +3,2,2,0,0,1,1,0,0,0,0,0,0,3,1,1,1,0,0,0,0,0,1,0,0,0,0,0,2,0,1,0, +0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,3,0,2,3,2,2,1,2,2,1,1,2,0,1,3,2,2,2,0,0,2,2,0,0,0,1,2,1, +3,0,2,1,1,0,1,1,1,0,1,2,2,2,1,1,2,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0, +0,1,1,2,3,0,3,3,3,2,2,2,2,1,0,1,0,1,0,1,2,2,0,0,2,2,1,3,1,1,2,1, +0,0,1,1,2,0,1,1,0,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,0,0, +3,3,2,0,0,3,1,0,0,0,0,0,0,3,2,1,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,2,1,1,0,0,1,0,1,2,0,0,1,1,0,0,2,1,1,1,1,0,2,0,0,0,0,0,0,0,0,0, +3,3,2,0,0,1,0,0,0,0,1,0,0,3,3,2,2,0,0,1,0,0,2,0,1,0,0,0,2,0,1,0, +0,0,1,1,0,0,2,0,2,1,0,0,1,1,2,1,2,0,2,1,2,1,1,1,0,0,1,1,0,0,0,0, +3,3,2,0,0,2,2,0,0,0,1,1,0,2,2,1,3,1,0,1,0,1,2,0,0,0,0,0,1,0,1,0, +0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,2,0,0,0,1,0,0,1,0,0,2,3,1,2,0,0,1,0,0,2,0,0,0,1,0,2,0,2,0, +0,1,1,2,2,1,2,0,2,1,1,0,0,1,1,0,1,1,1,1,2,1,1,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,1,0,0,1,1,0,3,3,1,2,0,0,1,0,0,2,0,2,0,1,1,2,0,0,0, +0,0,1,1,1,1,2,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0, +3,3,3,0,2,2,3,2,0,0,1,0,0,2,3,1,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0, +0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0, +3,2,3,0,0,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,2,0,0,0,0,0,2,0,1,0, +0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,1,0,2,0,2,0,1,0,0,0,2,0,0,0,0,0, +0,0,0,2,2,0,2,1,1,1,1,2,2,0,0,1,0,1,0,0,1,3,0,0,0,0,1,0,0,2,1,0, +0,0,1,0,1,0,0,0,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, +2,0,0,2,3,0,2,3,1,2,2,0,2,0,0,2,0,2,1,1,1,2,1,0,0,1,2,1,1,2,1,0, +1,0,2,0,1,0,1,1,0,0,2,2,1,2,1,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +3,3,3,0,2,1,2,0,0,0,1,0,0,3,2,0,1,0,0,1,0,0,2,0,0,0,1,2,1,0,1,0, +0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,2,2,0,2,2,1,1,0,1,1,1,1,1,0,0,1,2,1,1,1,0,1,0,0,0,1,1,1,1, +0,0,2,1,0,1,1,1,0,1,1,2,1,2,1,1,2,0,1,1,2,1,0,2,0,0,0,0,0,0,0,0, +3,2,2,0,0,2,0,0,0,0,0,0,0,2,2,0,2,0,0,1,0,0,2,0,0,0,0,0,2,0,0,0, +0,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,3,2,0,2,2,0,1,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0, +2,0,1,0,1,0,1,1,0,0,1,2,0,1,0,1,1,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0, +2,2,2,0,1,1,0,0,0,1,0,0,0,1,2,0,1,0,0,1,0,0,1,0,0,0,0,1,2,0,1,0, +0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,2,1,0,1,1,1,0,0,0,0,1,2,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +1,1,2,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1, +0,0,1,2,2,0,2,1,2,1,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +2,2,2,0,0,0,1,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,2,2,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +) + +Latin5TurkishModel = { + 'char_to_order_map': Latin5_TurkishCharToOrderMap, + 'precedence_matrix': TurkishLangModel, + 'typical_positive_ratio': 0.970290, + 'keep_english_letter': True, + 'charset_name': "ISO-8859-9", + 'language': 'Turkish', +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/latin1prober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/latin1prober.py new file mode 100644 index 0000000000..7d1e8c20fb --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/latin1prober.py @@ -0,0 +1,145 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState + +FREQ_CAT_NUM = 4 + +UDF = 0 # undefined +OTH = 1 # other +ASC = 2 # ascii capital letter +ASS = 3 # ascii small letter +ACV = 4 # accent capital vowel +ACO = 5 # accent capital other +ASV = 6 # accent small vowel +ASO = 7 # accent small other +CLASS_NUM = 8 # total classes + +Latin1_CharToClass = ( + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 00 - 07 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 08 - 0F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 10 - 17 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 18 - 1F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 20 - 27 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 28 - 2F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 30 - 37 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 38 - 3F + OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 40 - 47 + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 48 - 4F + ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 50 - 57 + ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, # 58 - 5F + OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 60 - 67 + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 68 - 6F + ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 70 - 77 + ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, # 78 - 7F + OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, # 80 - 87 + OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, # 88 - 8F + UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 90 - 97 + OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, # 98 - 9F + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A0 - A7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A8 - AF + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B0 - B7 + OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B8 - BF + ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, # C0 - C7 + ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, # C8 - CF + ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, # D0 - D7 + ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, # D8 - DF + ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, # E0 - E7 + ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, # E8 - EF + ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, # F0 - F7 + ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, # F8 - FF +) + +# 0 : illegal +# 1 : very unlikely +# 2 : normal +# 3 : very likely +Latin1ClassModel = ( +# UDF OTH ASC ASS ACV ACO ASV ASO + 0, 0, 0, 0, 0, 0, 0, 0, # UDF + 0, 3, 3, 3, 3, 3, 3, 3, # OTH + 0, 3, 3, 3, 3, 3, 3, 3, # ASC + 0, 3, 3, 3, 1, 1, 3, 3, # ASS + 0, 3, 3, 3, 1, 2, 1, 2, # ACV + 0, 3, 3, 3, 3, 3, 3, 3, # ACO + 0, 3, 1, 3, 1, 1, 1, 3, # ASV + 0, 3, 1, 3, 1, 1, 3, 3, # ASO +) + + +class Latin1Prober(CharSetProber): + def __init__(self): + super(Latin1Prober, self).__init__() + self._last_char_class = None + self._freq_counter = None + self.reset() + + def reset(self): + self._last_char_class = OTH + self._freq_counter = [0] * FREQ_CAT_NUM + CharSetProber.reset(self) + + @property + def charset_name(self): + return "ISO-8859-1" + + @property + def language(self): + return "" + + def feed(self, byte_str): + byte_str = self.filter_with_english_letters(byte_str) + for c in byte_str: + char_class = Latin1_CharToClass[c] + freq = Latin1ClassModel[(self._last_char_class * CLASS_NUM) + + char_class] + if freq == 0: + self._state = ProbingState.NOT_ME + break + self._freq_counter[freq] += 1 + self._last_char_class = char_class + + return self.state + + def get_confidence(self): + if self.state == ProbingState.NOT_ME: + return 0.01 + + total = sum(self._freq_counter) + if total < 0.01: + confidence = 0.0 + else: + confidence = ((self._freq_counter[3] - self._freq_counter[1] * 20.0) + / total) + if confidence < 0.0: + confidence = 0.0 + # lower the confidence of latin1 so that other more accurate + # detector can take priority. + confidence = confidence * 0.73 + return confidence diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcharsetprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcharsetprober.py new file mode 100644 index 0000000000..6256ecfd1e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcharsetprober.py @@ -0,0 +1,91 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState + + +class MultiByteCharSetProber(CharSetProber): + """ + MultiByteCharSetProber + """ + + def __init__(self, lang_filter=None): + super(MultiByteCharSetProber, self).__init__(lang_filter=lang_filter) + self.distribution_analyzer = None + self.coding_sm = None + self._last_char = [0, 0] + + def reset(self): + super(MultiByteCharSetProber, self).reset() + if self.coding_sm: + self.coding_sm.reset() + if self.distribution_analyzer: + self.distribution_analyzer.reset() + self._last_char = [0, 0] + + @property + def charset_name(self): + raise NotImplementedError + + @property + def language(self): + raise NotImplementedError + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.distribution_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + return self.distribution_analyzer.get_confidence() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcsgroupprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcsgroupprober.py new file mode 100644 index 0000000000..530abe75e0 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcsgroupprober.py @@ -0,0 +1,54 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# Proofpoint, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .utf8prober import UTF8Prober +from .sjisprober import SJISProber +from .eucjpprober import EUCJPProber +from .gb2312prober import GB2312Prober +from .euckrprober import EUCKRProber +from .cp949prober import CP949Prober +from .big5prober import Big5Prober +from .euctwprober import EUCTWProber + + +class MBCSGroupProber(CharSetGroupProber): + def __init__(self, lang_filter=None): + super(MBCSGroupProber, self).__init__(lang_filter=lang_filter) + self.probers = [ + UTF8Prober(), + SJISProber(), + EUCJPProber(), + GB2312Prober(), + EUCKRProber(), + CP949Prober(), + Big5Prober(), + EUCTWProber() + ] + self.reset() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcssm.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcssm.py new file mode 100644 index 0000000000..8360d0f284 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/mbcssm.py @@ -0,0 +1,572 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .enums import MachineState + +# BIG5 + +BIG5_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 4,4,4,4,4,4,4,4, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 4,3,3,3,3,3,3,3, # a0 - a7 + 3,3,3,3,3,3,3,3, # a8 - af + 3,3,3,3,3,3,3,3, # b0 - b7 + 3,3,3,3,3,3,3,3, # b8 - bf + 3,3,3,3,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +BIG5_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,#08-0f + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START#10-17 +) + +BIG5_CHAR_LEN_TABLE = (0, 1, 1, 2, 0) + +BIG5_SM_MODEL = {'class_table': BIG5_CLS, + 'class_factor': 5, + 'state_table': BIG5_ST, + 'char_len_table': BIG5_CHAR_LEN_TABLE, + 'name': 'Big5'} + +# CP949 + +CP949_CLS = ( + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0, # 00 - 0f + 1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1, # 10 - 1f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 20 - 2f + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 30 - 3f + 1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4, # 40 - 4f + 4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 50 - 5f + 1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5, # 60 - 6f + 5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 70 - 7f + 0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 80 - 8f + 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 90 - 9f + 6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8, # a0 - af + 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7, # b0 - bf + 7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2, # c0 - cf + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # d0 - df + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # e0 - ef + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0, # f0 - ff +) + +CP949_ST = ( +#cls= 0 1 2 3 4 5 6 7 8 9 # previous state = + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.START,MachineState.START, 4, 5,MachineState.ERROR, 6, # MachineState.START + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, # MachineState.ERROR + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME, # MachineState.ITS_ME + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 3 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 4 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, # 5 + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START, # 6 +) + +CP949_CHAR_LEN_TABLE = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2) + +CP949_SM_MODEL = {'class_table': CP949_CLS, + 'class_factor': 10, + 'state_table': CP949_ST, + 'char_len_table': CP949_CHAR_LEN_TABLE, + 'name': 'CP949'} + +# EUC-JP + +EUCJP_CLS = ( + 4,4,4,4,4,4,4,4, # 00 - 07 + 4,4,4,4,4,4,5,5, # 08 - 0f + 4,4,4,4,4,4,4,4, # 10 - 17 + 4,4,4,5,4,4,4,4, # 18 - 1f + 4,4,4,4,4,4,4,4, # 20 - 27 + 4,4,4,4,4,4,4,4, # 28 - 2f + 4,4,4,4,4,4,4,4, # 30 - 37 + 4,4,4,4,4,4,4,4, # 38 - 3f + 4,4,4,4,4,4,4,4, # 40 - 47 + 4,4,4,4,4,4,4,4, # 48 - 4f + 4,4,4,4,4,4,4,4, # 50 - 57 + 4,4,4,4,4,4,4,4, # 58 - 5f + 4,4,4,4,4,4,4,4, # 60 - 67 + 4,4,4,4,4,4,4,4, # 68 - 6f + 4,4,4,4,4,4,4,4, # 70 - 77 + 4,4,4,4,4,4,4,4, # 78 - 7f + 5,5,5,5,5,5,5,5, # 80 - 87 + 5,5,5,5,5,5,1,3, # 88 - 8f + 5,5,5,5,5,5,5,5, # 90 - 97 + 5,5,5,5,5,5,5,5, # 98 - 9f + 5,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,0,5 # f8 - ff +) + +EUCJP_ST = ( + 3, 4, 3, 5,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 3,MachineState.ERROR,#18-1f + 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START#20-27 +) + +EUCJP_CHAR_LEN_TABLE = (2, 2, 2, 3, 1, 0) + +EUCJP_SM_MODEL = {'class_table': EUCJP_CLS, + 'class_factor': 6, + 'state_table': EUCJP_ST, + 'char_len_table': EUCJP_CHAR_LEN_TABLE, + 'name': 'EUC-JP'} + +# EUC-KR + +EUCKR_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,3,3,3, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,3,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 2,2,2,2,2,2,2,2, # e0 - e7 + 2,2,2,2,2,2,2,2, # e8 - ef + 2,2,2,2,2,2,2,2, # f0 - f7 + 2,2,2,2,2,2,2,0 # f8 - ff +) + +EUCKR_ST = ( + MachineState.ERROR,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #08-0f +) + +EUCKR_CHAR_LEN_TABLE = (0, 1, 2, 0) + +EUCKR_SM_MODEL = {'class_table': EUCKR_CLS, + 'class_factor': 4, + 'state_table': EUCKR_ST, + 'char_len_table': EUCKR_CHAR_LEN_TABLE, + 'name': 'EUC-KR'} + +# EUC-TW + +EUCTW_CLS = ( + 2,2,2,2,2,2,2,2, # 00 - 07 + 2,2,2,2,2,2,0,0, # 08 - 0f + 2,2,2,2,2,2,2,2, # 10 - 17 + 2,2,2,0,2,2,2,2, # 18 - 1f + 2,2,2,2,2,2,2,2, # 20 - 27 + 2,2,2,2,2,2,2,2, # 28 - 2f + 2,2,2,2,2,2,2,2, # 30 - 37 + 2,2,2,2,2,2,2,2, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,2, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,6,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,3,4,4,4,4,4,4, # a0 - a7 + 5,5,1,1,1,1,1,1, # a8 - af + 1,1,1,1,1,1,1,1, # b0 - b7 + 1,1,1,1,1,1,1,1, # b8 - bf + 1,1,3,1,3,3,3,3, # c0 - c7 + 3,3,3,3,3,3,3,3, # c8 - cf + 3,3,3,3,3,3,3,3, # d0 - d7 + 3,3,3,3,3,3,3,3, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,3,3,3, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,3,3,0 # f8 - ff +) + +EUCTW_ST = ( + MachineState.ERROR,MachineState.ERROR,MachineState.START, 3, 3, 3, 4,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.START,MachineState.ERROR,#10-17 + MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,#20-27 + MachineState.START,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +EUCTW_CHAR_LEN_TABLE = (0, 0, 1, 2, 2, 2, 3) + +EUCTW_SM_MODEL = {'class_table': EUCTW_CLS, + 'class_factor': 7, + 'state_table': EUCTW_ST, + 'char_len_table': EUCTW_CHAR_LEN_TABLE, + 'name': 'x-euc-tw'} + +# GB2312 + +GB2312_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 3,3,3,3,3,3,3,3, # 30 - 37 + 3,3,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,4, # 78 - 7f + 5,6,6,6,6,6,6,6, # 80 - 87 + 6,6,6,6,6,6,6,6, # 88 - 8f + 6,6,6,6,6,6,6,6, # 90 - 97 + 6,6,6,6,6,6,6,6, # 98 - 9f + 6,6,6,6,6,6,6,6, # a0 - a7 + 6,6,6,6,6,6,6,6, # a8 - af + 6,6,6,6,6,6,6,6, # b0 - b7 + 6,6,6,6,6,6,6,6, # b8 - bf + 6,6,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 6,6,6,6,6,6,6,6, # e0 - e7 + 6,6,6,6,6,6,6,6, # e8 - ef + 6,6,6,6,6,6,6,6, # f0 - f7 + 6,6,6,6,6,6,6,0 # f8 - ff +) + +GB2312_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START, 3,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,#10-17 + 4,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ERROR,MachineState.ERROR, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#20-27 + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.START #28-2f +) + +# To be accurate, the length of class 6 can be either 2 or 4. +# But it is not necessary to discriminate between the two since +# it is used for frequency analysis only, and we are validating +# each code range there as well. So it is safe to set it to be +# 2 here. +GB2312_CHAR_LEN_TABLE = (0, 1, 1, 1, 1, 1, 2) + +GB2312_SM_MODEL = {'class_table': GB2312_CLS, + 'class_factor': 7, + 'state_table': GB2312_ST, + 'char_len_table': GB2312_CHAR_LEN_TABLE, + 'name': 'GB2312'} + +# Shift_JIS + +SJIS_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 2,2,2,2,2,2,2,2, # 40 - 47 + 2,2,2,2,2,2,2,2, # 48 - 4f + 2,2,2,2,2,2,2,2, # 50 - 57 + 2,2,2,2,2,2,2,2, # 58 - 5f + 2,2,2,2,2,2,2,2, # 60 - 67 + 2,2,2,2,2,2,2,2, # 68 - 6f + 2,2,2,2,2,2,2,2, # 70 - 77 + 2,2,2,2,2,2,2,1, # 78 - 7f + 3,3,3,3,3,2,2,3, # 80 - 87 + 3,3,3,3,3,3,3,3, # 88 - 8f + 3,3,3,3,3,3,3,3, # 90 - 97 + 3,3,3,3,3,3,3,3, # 98 - 9f + #0xa0 is illegal in sjis encoding, but some pages does + #contain such byte. We need to be more error forgiven. + 2,2,2,2,2,2,2,2, # a0 - a7 + 2,2,2,2,2,2,2,2, # a8 - af + 2,2,2,2,2,2,2,2, # b0 - b7 + 2,2,2,2,2,2,2,2, # b8 - bf + 2,2,2,2,2,2,2,2, # c0 - c7 + 2,2,2,2,2,2,2,2, # c8 - cf + 2,2,2,2,2,2,2,2, # d0 - d7 + 2,2,2,2,2,2,2,2, # d8 - df + 3,3,3,3,3,3,3,3, # e0 - e7 + 3,3,3,3,3,4,4,4, # e8 - ef + 3,3,3,3,3,3,3,3, # f0 - f7 + 3,3,3,3,3,0,0,0) # f8 - ff + + +SJIS_ST = ( + MachineState.ERROR,MachineState.START,MachineState.START, 3,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START #10-17 +) + +SJIS_CHAR_LEN_TABLE = (0, 1, 1, 2, 0, 0) + +SJIS_SM_MODEL = {'class_table': SJIS_CLS, + 'class_factor': 6, + 'state_table': SJIS_ST, + 'char_len_table': SJIS_CHAR_LEN_TABLE, + 'name': 'Shift_JIS'} + +# UCS2-BE + +UCS2BE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2BE_ST = ( + 5, 7, 7,MachineState.ERROR, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,#10-17 + 6, 6, 6, 6, 6,MachineState.ITS_ME, 6, 6,#18-1f + 6, 6, 6, 6, 5, 7, 7,MachineState.ERROR,#20-27 + 5, 8, 6, 6,MachineState.ERROR, 6, 6, 6,#28-2f + 6, 6, 6, 6,MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2BE_CHAR_LEN_TABLE = (2, 2, 2, 0, 2, 2) + +UCS2BE_SM_MODEL = {'class_table': UCS2BE_CLS, + 'class_factor': 6, + 'state_table': UCS2BE_ST, + 'char_len_table': UCS2BE_CHAR_LEN_TABLE, + 'name': 'UTF-16BE'} + +# UCS2-LE + +UCS2LE_CLS = ( + 0,0,0,0,0,0,0,0, # 00 - 07 + 0,0,1,0,0,2,0,0, # 08 - 0f + 0,0,0,0,0,0,0,0, # 10 - 17 + 0,0,0,3,0,0,0,0, # 18 - 1f + 0,0,0,0,0,0,0,0, # 20 - 27 + 0,3,3,3,3,3,0,0, # 28 - 2f + 0,0,0,0,0,0,0,0, # 30 - 37 + 0,0,0,0,0,0,0,0, # 38 - 3f + 0,0,0,0,0,0,0,0, # 40 - 47 + 0,0,0,0,0,0,0,0, # 48 - 4f + 0,0,0,0,0,0,0,0, # 50 - 57 + 0,0,0,0,0,0,0,0, # 58 - 5f + 0,0,0,0,0,0,0,0, # 60 - 67 + 0,0,0,0,0,0,0,0, # 68 - 6f + 0,0,0,0,0,0,0,0, # 70 - 77 + 0,0,0,0,0,0,0,0, # 78 - 7f + 0,0,0,0,0,0,0,0, # 80 - 87 + 0,0,0,0,0,0,0,0, # 88 - 8f + 0,0,0,0,0,0,0,0, # 90 - 97 + 0,0,0,0,0,0,0,0, # 98 - 9f + 0,0,0,0,0,0,0,0, # a0 - a7 + 0,0,0,0,0,0,0,0, # a8 - af + 0,0,0,0,0,0,0,0, # b0 - b7 + 0,0,0,0,0,0,0,0, # b8 - bf + 0,0,0,0,0,0,0,0, # c0 - c7 + 0,0,0,0,0,0,0,0, # c8 - cf + 0,0,0,0,0,0,0,0, # d0 - d7 + 0,0,0,0,0,0,0,0, # d8 - df + 0,0,0,0,0,0,0,0, # e0 - e7 + 0,0,0,0,0,0,0,0, # e8 - ef + 0,0,0,0,0,0,0,0, # f0 - f7 + 0,0,0,0,0,0,4,5 # f8 - ff +) + +UCS2LE_ST = ( + 6, 6, 7, 6, 4, 3,MachineState.ERROR,MachineState.ERROR,#00-07 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#08-0f + MachineState.ITS_ME,MachineState.ITS_ME, 5, 5, 5,MachineState.ERROR,MachineState.ITS_ME,MachineState.ERROR,#10-17 + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR, 6, 6,#18-1f + 7, 6, 8, 8, 5, 5, 5,MachineState.ERROR,#20-27 + 5, 5, 5,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5,#28-2f + 5, 5, 5,MachineState.ERROR, 5,MachineState.ERROR,MachineState.START,MachineState.START #30-37 +) + +UCS2LE_CHAR_LEN_TABLE = (2, 2, 2, 2, 2, 2) + +UCS2LE_SM_MODEL = {'class_table': UCS2LE_CLS, + 'class_factor': 6, + 'state_table': UCS2LE_ST, + 'char_len_table': UCS2LE_CHAR_LEN_TABLE, + 'name': 'UTF-16LE'} + +# UTF-8 + +UTF8_CLS = ( + 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as a legal value + 1,1,1,1,1,1,0,0, # 08 - 0f + 1,1,1,1,1,1,1,1, # 10 - 17 + 1,1,1,0,1,1,1,1, # 18 - 1f + 1,1,1,1,1,1,1,1, # 20 - 27 + 1,1,1,1,1,1,1,1, # 28 - 2f + 1,1,1,1,1,1,1,1, # 30 - 37 + 1,1,1,1,1,1,1,1, # 38 - 3f + 1,1,1,1,1,1,1,1, # 40 - 47 + 1,1,1,1,1,1,1,1, # 48 - 4f + 1,1,1,1,1,1,1,1, # 50 - 57 + 1,1,1,1,1,1,1,1, # 58 - 5f + 1,1,1,1,1,1,1,1, # 60 - 67 + 1,1,1,1,1,1,1,1, # 68 - 6f + 1,1,1,1,1,1,1,1, # 70 - 77 + 1,1,1,1,1,1,1,1, # 78 - 7f + 2,2,2,2,3,3,3,3, # 80 - 87 + 4,4,4,4,4,4,4,4, # 88 - 8f + 4,4,4,4,4,4,4,4, # 90 - 97 + 4,4,4,4,4,4,4,4, # 98 - 9f + 5,5,5,5,5,5,5,5, # a0 - a7 + 5,5,5,5,5,5,5,5, # a8 - af + 5,5,5,5,5,5,5,5, # b0 - b7 + 5,5,5,5,5,5,5,5, # b8 - bf + 0,0,6,6,6,6,6,6, # c0 - c7 + 6,6,6,6,6,6,6,6, # c8 - cf + 6,6,6,6,6,6,6,6, # d0 - d7 + 6,6,6,6,6,6,6,6, # d8 - df + 7,8,8,8,8,8,8,8, # e0 - e7 + 8,8,8,8,8,9,8,8, # e8 - ef + 10,11,11,11,11,11,11,11, # f0 - f7 + 12,13,13,13,14,15,0,0 # f8 - ff +) + +UTF8_ST = ( + MachineState.ERROR,MachineState.START,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12, 10,#00-07 + 9, 11, 8, 7, 6, 5, 4, 3,#08-0f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#10-17 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#18-1f + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#20-27 + MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,MachineState.ITS_ME,#28-2f + MachineState.ERROR,MachineState.ERROR, 5, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#30-37 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#38-3f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 5, 5, 5,MachineState.ERROR,MachineState.ERROR,#40-47 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#48-4f + MachineState.ERROR,MachineState.ERROR, 7, 7, 7, 7,MachineState.ERROR,MachineState.ERROR,#50-57 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#58-5f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 7, 7,MachineState.ERROR,MachineState.ERROR,#60-67 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#68-6f + MachineState.ERROR,MachineState.ERROR, 9, 9, 9, 9,MachineState.ERROR,MachineState.ERROR,#70-77 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#78-7f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 9,MachineState.ERROR,MachineState.ERROR,#80-87 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#88-8f + MachineState.ERROR,MachineState.ERROR, 12, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,#90-97 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#98-9f + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR, 12,MachineState.ERROR,MachineState.ERROR,#a0-a7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#a8-af + MachineState.ERROR,MachineState.ERROR, 12, 12, 12,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b0-b7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,#b8-bf + MachineState.ERROR,MachineState.ERROR,MachineState.START,MachineState.START,MachineState.START,MachineState.START,MachineState.ERROR,MachineState.ERROR,#c0-c7 + MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR,MachineState.ERROR #c8-cf +) + +UTF8_CHAR_LEN_TABLE = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6) + +UTF8_SM_MODEL = {'class_table': UTF8_CLS, + 'class_factor': 16, + 'state_table': UTF8_ST, + 'char_len_table': UTF8_CHAR_LEN_TABLE, + 'name': 'UTF-8'} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sbcharsetprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sbcharsetprober.py new file mode 100644 index 0000000000..0adb51de5a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sbcharsetprober.py @@ -0,0 +1,132 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import CharacterCategory, ProbingState, SequenceLikelihood + + +class SingleByteCharSetProber(CharSetProber): + SAMPLE_SIZE = 64 + SB_ENOUGH_REL_THRESHOLD = 1024 # 0.25 * SAMPLE_SIZE^2 + POSITIVE_SHORTCUT_THRESHOLD = 0.95 + NEGATIVE_SHORTCUT_THRESHOLD = 0.05 + + def __init__(self, model, reversed=False, name_prober=None): + super(SingleByteCharSetProber, self).__init__() + self._model = model + # TRUE if we need to reverse every pair in the model lookup + self._reversed = reversed + # Optional auxiliary prober for name decision + self._name_prober = name_prober + self._last_order = None + self._seq_counters = None + self._total_seqs = None + self._total_char = None + self._freq_char = None + self.reset() + + def reset(self): + super(SingleByteCharSetProber, self).reset() + # char order of last character + self._last_order = 255 + self._seq_counters = [0] * SequenceLikelihood.get_num_categories() + self._total_seqs = 0 + self._total_char = 0 + # characters that fall in our sampling range + self._freq_char = 0 + + @property + def charset_name(self): + if self._name_prober: + return self._name_prober.charset_name + else: + return self._model['charset_name'] + + @property + def language(self): + if self._name_prober: + return self._name_prober.language + else: + return self._model.get('language') + + def feed(self, byte_str): + if not self._model['keep_english_letter']: + byte_str = self.filter_international_words(byte_str) + if not byte_str: + return self.state + char_to_order_map = self._model['char_to_order_map'] + for i, c in enumerate(byte_str): + # XXX: Order is in range 1-64, so one would think we want 0-63 here, + # but that leads to 27 more test failures than before. + order = char_to_order_map[c] + # XXX: This was SYMBOL_CAT_ORDER before, with a value of 250, but + # CharacterCategory.SYMBOL is actually 253, so we use CONTROL + # to make it closer to the original intent. The only difference + # is whether or not we count digits and control characters for + # _total_char purposes. + if order < CharacterCategory.CONTROL: + self._total_char += 1 + if order < self.SAMPLE_SIZE: + self._freq_char += 1 + if self._last_order < self.SAMPLE_SIZE: + self._total_seqs += 1 + if not self._reversed: + i = (self._last_order * self.SAMPLE_SIZE) + order + model = self._model['precedence_matrix'][i] + else: # reverse the order of the letters in the lookup + i = (order * self.SAMPLE_SIZE) + self._last_order + model = self._model['precedence_matrix'][i] + self._seq_counters[model] += 1 + self._last_order = order + + charset_name = self._model['charset_name'] + if self.state == ProbingState.DETECTING: + if self._total_seqs > self.SB_ENOUGH_REL_THRESHOLD: + confidence = self.get_confidence() + if confidence > self.POSITIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, we have a winner', + charset_name, confidence) + self._state = ProbingState.FOUND_IT + elif confidence < self.NEGATIVE_SHORTCUT_THRESHOLD: + self.logger.debug('%s confidence = %s, below negative ' + 'shortcut threshhold %s', charset_name, + confidence, + self.NEGATIVE_SHORTCUT_THRESHOLD) + self._state = ProbingState.NOT_ME + + return self.state + + def get_confidence(self): + r = 0.01 + if self._total_seqs > 0: + r = ((1.0 * self._seq_counters[SequenceLikelihood.POSITIVE]) / + self._total_seqs / self._model['typical_positive_ratio']) + r = r * self._freq_char / self._total_char + if r >= 1.0: + r = 0.99 + return r diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sbcsgroupprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sbcsgroupprober.py new file mode 100644 index 0000000000..98e95dc1a3 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sbcsgroupprober.py @@ -0,0 +1,73 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetgroupprober import CharSetGroupProber +from .sbcharsetprober import SingleByteCharSetProber +from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, + Latin5CyrillicModel, MacCyrillicModel, + Ibm866Model, Ibm855Model) +from .langgreekmodel import Latin7GreekModel, Win1253GreekModel +from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel +# from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel +from .langthaimodel import TIS620ThaiModel +from .langhebrewmodel import Win1255HebrewModel +from .hebrewprober import HebrewProber +from .langturkishmodel import Latin5TurkishModel + + +class SBCSGroupProber(CharSetGroupProber): + def __init__(self): + super(SBCSGroupProber, self).__init__() + self.probers = [ + SingleByteCharSetProber(Win1251CyrillicModel), + SingleByteCharSetProber(Koi8rModel), + SingleByteCharSetProber(Latin5CyrillicModel), + SingleByteCharSetProber(MacCyrillicModel), + SingleByteCharSetProber(Ibm866Model), + SingleByteCharSetProber(Ibm855Model), + SingleByteCharSetProber(Latin7GreekModel), + SingleByteCharSetProber(Win1253GreekModel), + SingleByteCharSetProber(Latin5BulgarianModel), + SingleByteCharSetProber(Win1251BulgarianModel), + # TODO: Restore Hungarian encodings (iso-8859-2 and windows-1250) + # after we retrain model. + # SingleByteCharSetProber(Latin2HungarianModel), + # SingleByteCharSetProber(Win1250HungarianModel), + SingleByteCharSetProber(TIS620ThaiModel), + SingleByteCharSetProber(Latin5TurkishModel), + ] + hebrew_prober = HebrewProber() + logical_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, + False, hebrew_prober) + visual_hebrew_prober = SingleByteCharSetProber(Win1255HebrewModel, True, + hebrew_prober) + hebrew_prober.set_model_probers(logical_hebrew_prober, visual_hebrew_prober) + self.probers.extend([hebrew_prober, logical_hebrew_prober, + visual_hebrew_prober]) + + self.reset() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sjisprober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sjisprober.py new file mode 100644 index 0000000000..9e29623bdc --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/sjisprober.py @@ -0,0 +1,92 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .mbcharsetprober import MultiByteCharSetProber +from .codingstatemachine import CodingStateMachine +from .chardistribution import SJISDistributionAnalysis +from .jpcntx import SJISContextAnalysis +from .mbcssm import SJIS_SM_MODEL +from .enums import ProbingState, MachineState + + +class SJISProber(MultiByteCharSetProber): + def __init__(self): + super(SJISProber, self).__init__() + self.coding_sm = CodingStateMachine(SJIS_SM_MODEL) + self.distribution_analyzer = SJISDistributionAnalysis() + self.context_analyzer = SJISContextAnalysis() + self.reset() + + def reset(self): + super(SJISProber, self).reset() + self.context_analyzer.reset() + + @property + def charset_name(self): + return self.context_analyzer.charset_name + + @property + def language(self): + return "Japanese" + + def feed(self, byte_str): + for i in range(len(byte_str)): + coding_state = self.coding_sm.next_state(byte_str[i]) + if coding_state == MachineState.ERROR: + self.logger.debug('%s %s prober hit error at byte %s', + self.charset_name, self.language, i) + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + char_len = self.coding_sm.get_current_charlen() + if i == 0: + self._last_char[1] = byte_str[0] + self.context_analyzer.feed(self._last_char[2 - char_len:], + char_len) + self.distribution_analyzer.feed(self._last_char, char_len) + else: + self.context_analyzer.feed(byte_str[i + 1 - char_len:i + 3 + - char_len], char_len) + self.distribution_analyzer.feed(byte_str[i - 1:i + 1], + char_len) + + self._last_char[0] = byte_str[-1] + + if self.state == ProbingState.DETECTING: + if (self.context_analyzer.got_enough_data() and + (self.get_confidence() > self.SHORTCUT_THRESHOLD)): + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + context_conf = self.context_analyzer.get_confidence() + distrib_conf = self.distribution_analyzer.get_confidence() + return max(context_conf, distrib_conf) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/universaldetector.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/universaldetector.py new file mode 100644 index 0000000000..7b4e92d615 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/universaldetector.py @@ -0,0 +1,286 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is Mozilla Universal charset detector code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2001 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# Shy Shalom - original C code +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### +""" +Module containing the UniversalDetector detector class, which is the primary +class a user of ``chardet`` should use. + +:author: Mark Pilgrim (initial port to Python) +:author: Shy Shalom (original C code) +:author: Dan Blanchard (major refactoring for 3.0) +:author: Ian Cordasco +""" + + +import codecs +import logging +import re + +from .charsetgroupprober import CharSetGroupProber +from .enums import InputState, LanguageFilter, ProbingState +from .escprober import EscCharSetProber +from .latin1prober import Latin1Prober +from .mbcsgroupprober import MBCSGroupProber +from .sbcsgroupprober import SBCSGroupProber + + +class UniversalDetector(object): + """ + The ``UniversalDetector`` class underlies the ``chardet.detect`` function + and coordinates all of the different charset probers. + + To get a ``dict`` containing an encoding and its confidence, you can simply + run: + + .. code:: + + u = UniversalDetector() + u.feed(some_bytes) + u.close() + detected = u.result + + """ + + MINIMUM_THRESHOLD = 0.20 + HIGH_BYTE_DETECTOR = re.compile(b'[\x80-\xFF]') + ESC_DETECTOR = re.compile(b'(\033|~{)') + WIN_BYTE_DETECTOR = re.compile(b'[\x80-\x9F]') + ISO_WIN_MAP = {'iso-8859-1': 'Windows-1252', + 'iso-8859-2': 'Windows-1250', + 'iso-8859-5': 'Windows-1251', + 'iso-8859-6': 'Windows-1256', + 'iso-8859-7': 'Windows-1253', + 'iso-8859-8': 'Windows-1255', + 'iso-8859-9': 'Windows-1254', + 'iso-8859-13': 'Windows-1257'} + + def __init__(self, lang_filter=LanguageFilter.ALL): + self._esc_charset_prober = None + self._charset_probers = [] + self.result = None + self.done = None + self._got_data = None + self._input_state = None + self._last_char = None + self.lang_filter = lang_filter + self.logger = logging.getLogger(__name__) + self._has_win_bytes = None + self.reset() + + def reset(self): + """ + Reset the UniversalDetector and all of its probers back to their + initial states. This is called by ``__init__``, so you only need to + call this directly in between analyses of different documents. + """ + self.result = {'encoding': None, 'confidence': 0.0, 'language': None} + self.done = False + self._got_data = False + self._has_win_bytes = False + self._input_state = InputState.PURE_ASCII + self._last_char = b'' + if self._esc_charset_prober: + self._esc_charset_prober.reset() + for prober in self._charset_probers: + prober.reset() + + def feed(self, byte_str): + """ + Takes a chunk of a document and feeds it through all of the relevant + charset probers. + + After calling ``feed``, you can check the value of the ``done`` + attribute to see if you need to continue feeding the + ``UniversalDetector`` more data, or if it has made a prediction + (in the ``result`` attribute). + + .. note:: + You should always call ``close`` when you're done feeding in your + document if ``done`` is not already ``True``. + """ + if self.done: + return + + if not len(byte_str): + return + + if not isinstance(byte_str, bytearray): + byte_str = bytearray(byte_str) + + # First check for known BOMs, since these are guaranteed to be correct + if not self._got_data: + # If the data starts with BOM, we know it is UTF + if byte_str.startswith(codecs.BOM_UTF8): + # EF BB BF UTF-8 with BOM + self.result = {'encoding': "UTF-8-SIG", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_UTF32_LE, + codecs.BOM_UTF32_BE)): + # FF FE 00 00 UTF-32, little-endian BOM + # 00 00 FE FF UTF-32, big-endian BOM + self.result = {'encoding': "UTF-32", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\xFE\xFF\x00\x00'): + # FE FF 00 00 UCS-4, unusual octet order BOM (3412) + self.result = {'encoding': "X-ISO-10646-UCS-4-3412", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith(b'\x00\x00\xFF\xFE'): + # 00 00 FF FE UCS-4, unusual octet order BOM (2143) + self.result = {'encoding': "X-ISO-10646-UCS-4-2143", + 'confidence': 1.0, + 'language': ''} + elif byte_str.startswith((codecs.BOM_LE, codecs.BOM_BE)): + # FF FE UTF-16, little endian BOM + # FE FF UTF-16, big endian BOM + self.result = {'encoding': "UTF-16", + 'confidence': 1.0, + 'language': ''} + + self._got_data = True + if self.result['encoding'] is not None: + self.done = True + return + + # If none of those matched and we've only see ASCII so far, check + # for high bytes and escape sequences + if self._input_state == InputState.PURE_ASCII: + if self.HIGH_BYTE_DETECTOR.search(byte_str): + self._input_state = InputState.HIGH_BYTE + elif self._input_state == InputState.PURE_ASCII and \ + self.ESC_DETECTOR.search(self._last_char + byte_str): + self._input_state = InputState.ESC_ASCII + + self._last_char = byte_str[-1:] + + # If we've seen escape sequences, use the EscCharSetProber, which + # uses a simple state machine to check for known escape sequences in + # HZ and ISO-2022 encodings, since those are the only encodings that + # use such sequences. + if self._input_state == InputState.ESC_ASCII: + if not self._esc_charset_prober: + self._esc_charset_prober = EscCharSetProber(self.lang_filter) + if self._esc_charset_prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': + self._esc_charset_prober.charset_name, + 'confidence': + self._esc_charset_prober.get_confidence(), + 'language': + self._esc_charset_prober.language} + self.done = True + # If we've seen high bytes (i.e., those with values greater than 127), + # we need to do more complicated checks using all our multi-byte and + # single-byte probers that are left. The single-byte probers + # use character bigram distributions to determine the encoding, whereas + # the multi-byte probers use a combination of character unigram and + # bigram distributions. + elif self._input_state == InputState.HIGH_BYTE: + if not self._charset_probers: + self._charset_probers = [MBCSGroupProber(self.lang_filter)] + # If we're checking non-CJK encodings, use single-byte prober + if self.lang_filter & LanguageFilter.NON_CJK: + self._charset_probers.append(SBCSGroupProber()) + self._charset_probers.append(Latin1Prober()) + for prober in self._charset_probers: + if prober.feed(byte_str) == ProbingState.FOUND_IT: + self.result = {'encoding': prober.charset_name, + 'confidence': prober.get_confidence(), + 'language': prober.language} + self.done = True + break + if self.WIN_BYTE_DETECTOR.search(byte_str): + self._has_win_bytes = True + + def close(self): + """ + Stop analyzing the current document and come up with a final + prediction. + + :returns: The ``result`` attribute, a ``dict`` with the keys + `encoding`, `confidence`, and `language`. + """ + # Don't bother with checks if we're already done + if self.done: + return self.result + self.done = True + + if not self._got_data: + self.logger.debug('no data received!') + + # Default to ASCII if it is all we've seen so far + elif self._input_state == InputState.PURE_ASCII: + self.result = {'encoding': 'ascii', + 'confidence': 1.0, + 'language': ''} + + # If we have seen non-ASCII, return the best that met MINIMUM_THRESHOLD + elif self._input_state == InputState.HIGH_BYTE: + prober_confidence = None + max_prober_confidence = 0.0 + max_prober = None + for prober in self._charset_probers: + if not prober: + continue + prober_confidence = prober.get_confidence() + if prober_confidence > max_prober_confidence: + max_prober_confidence = prober_confidence + max_prober = prober + if max_prober and (max_prober_confidence > self.MINIMUM_THRESHOLD): + charset_name = max_prober.charset_name + lower_charset_name = max_prober.charset_name.lower() + confidence = max_prober.get_confidence() + # Use Windows encoding name instead of ISO-8859 if we saw any + # extra Windows-specific bytes + if lower_charset_name.startswith('iso-8859'): + if self._has_win_bytes: + charset_name = self.ISO_WIN_MAP.get(lower_charset_name, + charset_name) + self.result = {'encoding': charset_name, + 'confidence': confidence, + 'language': max_prober.language} + + # Log all prober confidences if none met MINIMUM_THRESHOLD + if self.logger.getEffectiveLevel() == logging.DEBUG: + if self.result['encoding'] is None: + self.logger.debug('no probers hit minimum threshold') + for group_prober in self._charset_probers: + if not group_prober: + continue + if isinstance(group_prober, CharSetGroupProber): + for prober in group_prober.probers: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + else: + self.logger.debug('%s %s confidence = %s', + prober.charset_name, + prober.language, + prober.get_confidence()) + return self.result diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/utf8prober.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/utf8prober.py new file mode 100644 index 0000000000..6c3196cc2d --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/utf8prober.py @@ -0,0 +1,82 @@ +######################## BEGIN LICENSE BLOCK ######################## +# The Original Code is mozilla.org code. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1998 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Mark Pilgrim - port to Python +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301 USA +######################### END LICENSE BLOCK ######################### + +from .charsetprober import CharSetProber +from .enums import ProbingState, MachineState +from .codingstatemachine import CodingStateMachine +from .mbcssm import UTF8_SM_MODEL + + + +class UTF8Prober(CharSetProber): + ONE_CHAR_PROB = 0.5 + + def __init__(self): + super(UTF8Prober, self).__init__() + self.coding_sm = CodingStateMachine(UTF8_SM_MODEL) + self._num_mb_chars = None + self.reset() + + def reset(self): + super(UTF8Prober, self).reset() + self.coding_sm.reset() + self._num_mb_chars = 0 + + @property + def charset_name(self): + return "utf-8" + + @property + def language(self): + return "" + + def feed(self, byte_str): + for c in byte_str: + coding_state = self.coding_sm.next_state(c) + if coding_state == MachineState.ERROR: + self._state = ProbingState.NOT_ME + break + elif coding_state == MachineState.ITS_ME: + self._state = ProbingState.FOUND_IT + break + elif coding_state == MachineState.START: + if self.coding_sm.get_current_charlen() >= 2: + self._num_mb_chars += 1 + + if self.state == ProbingState.DETECTING: + if self.get_confidence() > self.SHORTCUT_THRESHOLD: + self._state = ProbingState.FOUND_IT + + return self.state + + def get_confidence(self): + unlike = 0.99 + if self._num_mb_chars < 6: + unlike *= self.ONE_CHAR_PROB ** self._num_mb_chars + return 1.0 - unlike + else: + return unlike diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/version.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/version.py new file mode 100644 index 0000000000..bb2a34a70e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/chardet/version.py @@ -0,0 +1,9 @@ +""" +This module exists only to simplify retrieving the version number of chardet +from within setup.py and from chardet subpackages. + +:author: Dan Blanchard (dan.blanchard@gmail.com) +""" + +__version__ = "3.0.4" +VERSION = __version__.split('.') diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/__init__.py new file mode 100644 index 0000000000..2a3bf47142 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/__init__.py @@ -0,0 +1,6 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +from .initialise import init, deinit, reinit, colorama_text +from .ansi import Fore, Back, Style, Cursor +from .ansitowin32 import AnsiToWin32 + +__version__ = '0.4.1' diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/ansi.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/ansi.py new file mode 100644 index 0000000000..78776588db --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/ansi.py @@ -0,0 +1,102 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +''' +This module generates ANSI character codes to printing colors to terminals. +See: http://en.wikipedia.org/wiki/ANSI_escape_code +''' + +CSI = '\033[' +OSC = '\033]' +BEL = '\007' + + +def code_to_chars(code): + return CSI + str(code) + 'm' + +def set_title(title): + return OSC + '2;' + title + BEL + +def clear_screen(mode=2): + return CSI + str(mode) + 'J' + +def clear_line(mode=2): + return CSI + str(mode) + 'K' + + +class AnsiCodes(object): + def __init__(self): + # the subclasses declare class attributes which are numbers. + # Upon instantiation we define instance attributes, which are the same + # as the class attributes but wrapped with the ANSI escape sequence + for name in dir(self): + if not name.startswith('_'): + value = getattr(self, name) + setattr(self, name, code_to_chars(value)) + + +class AnsiCursor(object): + def UP(self, n=1): + return CSI + str(n) + 'A' + def DOWN(self, n=1): + return CSI + str(n) + 'B' + def FORWARD(self, n=1): + return CSI + str(n) + 'C' + def BACK(self, n=1): + return CSI + str(n) + 'D' + def POS(self, x=1, y=1): + return CSI + str(y) + ';' + str(x) + 'H' + + +class AnsiFore(AnsiCodes): + BLACK = 30 + RED = 31 + GREEN = 32 + YELLOW = 33 + BLUE = 34 + MAGENTA = 35 + CYAN = 36 + WHITE = 37 + RESET = 39 + + # These are fairly well supported, but not part of the standard. + LIGHTBLACK_EX = 90 + LIGHTRED_EX = 91 + LIGHTGREEN_EX = 92 + LIGHTYELLOW_EX = 93 + LIGHTBLUE_EX = 94 + LIGHTMAGENTA_EX = 95 + LIGHTCYAN_EX = 96 + LIGHTWHITE_EX = 97 + + +class AnsiBack(AnsiCodes): + BLACK = 40 + RED = 41 + GREEN = 42 + YELLOW = 43 + BLUE = 44 + MAGENTA = 45 + CYAN = 46 + WHITE = 47 + RESET = 49 + + # These are fairly well supported, but not part of the standard. + LIGHTBLACK_EX = 100 + LIGHTRED_EX = 101 + LIGHTGREEN_EX = 102 + LIGHTYELLOW_EX = 103 + LIGHTBLUE_EX = 104 + LIGHTMAGENTA_EX = 105 + LIGHTCYAN_EX = 106 + LIGHTWHITE_EX = 107 + + +class AnsiStyle(AnsiCodes): + BRIGHT = 1 + DIM = 2 + NORMAL = 22 + RESET_ALL = 0 + +Fore = AnsiFore() +Back = AnsiBack() +Style = AnsiStyle() +Cursor = AnsiCursor() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/ansitowin32.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/ansitowin32.py new file mode 100644 index 0000000000..359c92be50 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/ansitowin32.py @@ -0,0 +1,257 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +import re +import sys +import os + +from .ansi import AnsiFore, AnsiBack, AnsiStyle, Style +from .winterm import WinTerm, WinColor, WinStyle +from .win32 import windll, winapi_test + + +winterm = None +if windll is not None: + winterm = WinTerm() + + +class StreamWrapper(object): + ''' + Wraps a stream (such as stdout), acting as a transparent proxy for all + attribute access apart from method 'write()', which is delegated to our + Converter instance. + ''' + def __init__(self, wrapped, converter): + # double-underscore everything to prevent clashes with names of + # attributes on the wrapped stream object. + self.__wrapped = wrapped + self.__convertor = converter + + def __getattr__(self, name): + return getattr(self.__wrapped, name) + + def __enter__(self, *args, **kwargs): + # special method lookup bypasses __getattr__/__getattribute__, see + # https://stackoverflow.com/questions/12632894/why-doesnt-getattr-work-with-exit + # thus, contextlib magic methods are not proxied via __getattr__ + return self.__wrapped.__enter__(*args, **kwargs) + + def __exit__(self, *args, **kwargs): + return self.__wrapped.__exit__(*args, **kwargs) + + def write(self, text): + self.__convertor.write(text) + + def isatty(self): + stream = self.__wrapped + if 'PYCHARM_HOSTED' in os.environ: + if stream is not None and (stream is sys.__stdout__ or stream is sys.__stderr__): + return True + try: + stream_isatty = stream.isatty + except AttributeError: + return False + else: + return stream_isatty() + + @property + def closed(self): + stream = self.__wrapped + try: + return stream.closed + except AttributeError: + return True + + +class AnsiToWin32(object): + ''' + Implements a 'write()' method which, on Windows, will strip ANSI character + sequences from the text, and if outputting to a tty, will convert them into + win32 function calls. + ''' + ANSI_CSI_RE = re.compile('\001?\033\\[((?:\\d|;)*)([a-zA-Z])\002?') # Control Sequence Introducer + ANSI_OSC_RE = re.compile('\001?\033\\]((?:.|;)*?)(\x07)\002?') # Operating System Command + + def __init__(self, wrapped, convert=None, strip=None, autoreset=False): + # The wrapped stream (normally sys.stdout or sys.stderr) + self.wrapped = wrapped + + # should we reset colors to defaults after every .write() + self.autoreset = autoreset + + # create the proxy wrapping our output stream + self.stream = StreamWrapper(wrapped, self) + + on_windows = os.name == 'nt' + # We test if the WinAPI works, because even if we are on Windows + # we may be using a terminal that doesn't support the WinAPI + # (e.g. Cygwin Terminal). In this case it's up to the terminal + # to support the ANSI codes. + conversion_supported = on_windows and winapi_test() + + # should we strip ANSI sequences from our output? + if strip is None: + strip = conversion_supported or (not self.stream.closed and not self.stream.isatty()) + self.strip = strip + + # should we should convert ANSI sequences into win32 calls? + if convert is None: + convert = conversion_supported and not self.stream.closed and self.stream.isatty() + self.convert = convert + + # dict of ansi codes to win32 functions and parameters + self.win32_calls = self.get_win32_calls() + + # are we wrapping stderr? + self.on_stderr = self.wrapped is sys.stderr + + def should_wrap(self): + ''' + True if this class is actually needed. If false, then the output + stream will not be affected, nor will win32 calls be issued, so + wrapping stdout is not actually required. This will generally be + False on non-Windows platforms, unless optional functionality like + autoreset has been requested using kwargs to init() + ''' + return self.convert or self.strip or self.autoreset + + def get_win32_calls(self): + if self.convert and winterm: + return { + AnsiStyle.RESET_ALL: (winterm.reset_all, ), + AnsiStyle.BRIGHT: (winterm.style, WinStyle.BRIGHT), + AnsiStyle.DIM: (winterm.style, WinStyle.NORMAL), + AnsiStyle.NORMAL: (winterm.style, WinStyle.NORMAL), + AnsiFore.BLACK: (winterm.fore, WinColor.BLACK), + AnsiFore.RED: (winterm.fore, WinColor.RED), + AnsiFore.GREEN: (winterm.fore, WinColor.GREEN), + AnsiFore.YELLOW: (winterm.fore, WinColor.YELLOW), + AnsiFore.BLUE: (winterm.fore, WinColor.BLUE), + AnsiFore.MAGENTA: (winterm.fore, WinColor.MAGENTA), + AnsiFore.CYAN: (winterm.fore, WinColor.CYAN), + AnsiFore.WHITE: (winterm.fore, WinColor.GREY), + AnsiFore.RESET: (winterm.fore, ), + AnsiFore.LIGHTBLACK_EX: (winterm.fore, WinColor.BLACK, True), + AnsiFore.LIGHTRED_EX: (winterm.fore, WinColor.RED, True), + AnsiFore.LIGHTGREEN_EX: (winterm.fore, WinColor.GREEN, True), + AnsiFore.LIGHTYELLOW_EX: (winterm.fore, WinColor.YELLOW, True), + AnsiFore.LIGHTBLUE_EX: (winterm.fore, WinColor.BLUE, True), + AnsiFore.LIGHTMAGENTA_EX: (winterm.fore, WinColor.MAGENTA, True), + AnsiFore.LIGHTCYAN_EX: (winterm.fore, WinColor.CYAN, True), + AnsiFore.LIGHTWHITE_EX: (winterm.fore, WinColor.GREY, True), + AnsiBack.BLACK: (winterm.back, WinColor.BLACK), + AnsiBack.RED: (winterm.back, WinColor.RED), + AnsiBack.GREEN: (winterm.back, WinColor.GREEN), + AnsiBack.YELLOW: (winterm.back, WinColor.YELLOW), + AnsiBack.BLUE: (winterm.back, WinColor.BLUE), + AnsiBack.MAGENTA: (winterm.back, WinColor.MAGENTA), + AnsiBack.CYAN: (winterm.back, WinColor.CYAN), + AnsiBack.WHITE: (winterm.back, WinColor.GREY), + AnsiBack.RESET: (winterm.back, ), + AnsiBack.LIGHTBLACK_EX: (winterm.back, WinColor.BLACK, True), + AnsiBack.LIGHTRED_EX: (winterm.back, WinColor.RED, True), + AnsiBack.LIGHTGREEN_EX: (winterm.back, WinColor.GREEN, True), + AnsiBack.LIGHTYELLOW_EX: (winterm.back, WinColor.YELLOW, True), + AnsiBack.LIGHTBLUE_EX: (winterm.back, WinColor.BLUE, True), + AnsiBack.LIGHTMAGENTA_EX: (winterm.back, WinColor.MAGENTA, True), + AnsiBack.LIGHTCYAN_EX: (winterm.back, WinColor.CYAN, True), + AnsiBack.LIGHTWHITE_EX: (winterm.back, WinColor.GREY, True), + } + return dict() + + def write(self, text): + if self.strip or self.convert: + self.write_and_convert(text) + else: + self.wrapped.write(text) + self.wrapped.flush() + if self.autoreset: + self.reset_all() + + + def reset_all(self): + if self.convert: + self.call_win32('m', (0,)) + elif not self.strip and not self.stream.closed: + self.wrapped.write(Style.RESET_ALL) + + + def write_and_convert(self, text): + ''' + Write the given text to our wrapped stream, stripping any ANSI + sequences from the text, and optionally converting them into win32 + calls. + ''' + cursor = 0 + text = self.convert_osc(text) + for match in self.ANSI_CSI_RE.finditer(text): + start, end = match.span() + self.write_plain_text(text, cursor, start) + self.convert_ansi(*match.groups()) + cursor = end + self.write_plain_text(text, cursor, len(text)) + + + def write_plain_text(self, text, start, end): + if start < end: + self.wrapped.write(text[start:end]) + self.wrapped.flush() + + + def convert_ansi(self, paramstring, command): + if self.convert: + params = self.extract_params(command, paramstring) + self.call_win32(command, params) + + + def extract_params(self, command, paramstring): + if command in 'Hf': + params = tuple(int(p) if len(p) != 0 else 1 for p in paramstring.split(';')) + while len(params) < 2: + # defaults: + params = params + (1,) + else: + params = tuple(int(p) for p in paramstring.split(';') if len(p) != 0) + if len(params) == 0: + # defaults: + if command in 'JKm': + params = (0,) + elif command in 'ABCD': + params = (1,) + + return params + + + def call_win32(self, command, params): + if command == 'm': + for param in params: + if param in self.win32_calls: + func_args = self.win32_calls[param] + func = func_args[0] + args = func_args[1:] + kwargs = dict(on_stderr=self.on_stderr) + func(*args, **kwargs) + elif command in 'J': + winterm.erase_screen(params[0], on_stderr=self.on_stderr) + elif command in 'K': + winterm.erase_line(params[0], on_stderr=self.on_stderr) + elif command in 'Hf': # cursor position - absolute + winterm.set_cursor_position(params, on_stderr=self.on_stderr) + elif command in 'ABCD': # cursor position - relative + n = params[0] + # A - up, B - down, C - forward, D - back + x, y = {'A': (0, -n), 'B': (0, n), 'C': (n, 0), 'D': (-n, 0)}[command] + winterm.cursor_adjust(x, y, on_stderr=self.on_stderr) + + + def convert_osc(self, text): + for match in self.ANSI_OSC_RE.finditer(text): + start, end = match.span() + text = text[:start] + text[end:] + paramstring, command = match.groups() + if command in '\x07': # \x07 = BEL + params = paramstring.split(";") + # 0 - change title and icon (we will only change title) + # 1 - change icon (we don't support this) + # 2 - change title + if params[0] in '02': + winterm.set_title(params[1]) + return text diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/initialise.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/initialise.py new file mode 100644 index 0000000000..430d066872 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/initialise.py @@ -0,0 +1,80 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +import atexit +import contextlib +import sys + +from .ansitowin32 import AnsiToWin32 + + +orig_stdout = None +orig_stderr = None + +wrapped_stdout = None +wrapped_stderr = None + +atexit_done = False + + +def reset_all(): + if AnsiToWin32 is not None: # Issue #74: objects might become None at exit + AnsiToWin32(orig_stdout).reset_all() + + +def init(autoreset=False, convert=None, strip=None, wrap=True): + + if not wrap and any([autoreset, convert, strip]): + raise ValueError('wrap=False conflicts with any other arg=True') + + global wrapped_stdout, wrapped_stderr + global orig_stdout, orig_stderr + + orig_stdout = sys.stdout + orig_stderr = sys.stderr + + if sys.stdout is None: + wrapped_stdout = None + else: + sys.stdout = wrapped_stdout = \ + wrap_stream(orig_stdout, convert, strip, autoreset, wrap) + if sys.stderr is None: + wrapped_stderr = None + else: + sys.stderr = wrapped_stderr = \ + wrap_stream(orig_stderr, convert, strip, autoreset, wrap) + + global atexit_done + if not atexit_done: + atexit.register(reset_all) + atexit_done = True + + +def deinit(): + if orig_stdout is not None: + sys.stdout = orig_stdout + if orig_stderr is not None: + sys.stderr = orig_stderr + + +@contextlib.contextmanager +def colorama_text(*args, **kwargs): + init(*args, **kwargs) + try: + yield + finally: + deinit() + + +def reinit(): + if wrapped_stdout is not None: + sys.stdout = wrapped_stdout + if wrapped_stderr is not None: + sys.stderr = wrapped_stderr + + +def wrap_stream(stream, convert, strip, autoreset, wrap): + if wrap: + wrapper = AnsiToWin32(stream, + convert=convert, strip=strip, autoreset=autoreset) + if wrapper.should_wrap(): + stream = wrapper.stream + return stream diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/win32.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/win32.py new file mode 100644 index 0000000000..c2d8360336 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/win32.py @@ -0,0 +1,152 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. + +# from winbase.h +STDOUT = -11 +STDERR = -12 + +try: + import ctypes + from ctypes import LibraryLoader + windll = LibraryLoader(ctypes.WinDLL) + from ctypes import wintypes +except (AttributeError, ImportError): + windll = None + SetConsoleTextAttribute = lambda *_: None + winapi_test = lambda *_: None +else: + from ctypes import byref, Structure, c_char, POINTER + + COORD = wintypes._COORD + + class CONSOLE_SCREEN_BUFFER_INFO(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("dwSize", COORD), + ("dwCursorPosition", COORD), + ("wAttributes", wintypes.WORD), + ("srWindow", wintypes.SMALL_RECT), + ("dwMaximumWindowSize", COORD), + ] + def __str__(self): + return '(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)' % ( + self.dwSize.Y, self.dwSize.X + , self.dwCursorPosition.Y, self.dwCursorPosition.X + , self.wAttributes + , self.srWindow.Top, self.srWindow.Left, self.srWindow.Bottom, self.srWindow.Right + , self.dwMaximumWindowSize.Y, self.dwMaximumWindowSize.X + ) + + _GetStdHandle = windll.kernel32.GetStdHandle + _GetStdHandle.argtypes = [ + wintypes.DWORD, + ] + _GetStdHandle.restype = wintypes.HANDLE + + _GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo + _GetConsoleScreenBufferInfo.argtypes = [ + wintypes.HANDLE, + POINTER(CONSOLE_SCREEN_BUFFER_INFO), + ] + _GetConsoleScreenBufferInfo.restype = wintypes.BOOL + + _SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute + _SetConsoleTextAttribute.argtypes = [ + wintypes.HANDLE, + wintypes.WORD, + ] + _SetConsoleTextAttribute.restype = wintypes.BOOL + + _SetConsoleCursorPosition = windll.kernel32.SetConsoleCursorPosition + _SetConsoleCursorPosition.argtypes = [ + wintypes.HANDLE, + COORD, + ] + _SetConsoleCursorPosition.restype = wintypes.BOOL + + _FillConsoleOutputCharacterA = windll.kernel32.FillConsoleOutputCharacterA + _FillConsoleOutputCharacterA.argtypes = [ + wintypes.HANDLE, + c_char, + wintypes.DWORD, + COORD, + POINTER(wintypes.DWORD), + ] + _FillConsoleOutputCharacterA.restype = wintypes.BOOL + + _FillConsoleOutputAttribute = windll.kernel32.FillConsoleOutputAttribute + _FillConsoleOutputAttribute.argtypes = [ + wintypes.HANDLE, + wintypes.WORD, + wintypes.DWORD, + COORD, + POINTER(wintypes.DWORD), + ] + _FillConsoleOutputAttribute.restype = wintypes.BOOL + + _SetConsoleTitleW = windll.kernel32.SetConsoleTitleW + _SetConsoleTitleW.argtypes = [ + wintypes.LPCWSTR + ] + _SetConsoleTitleW.restype = wintypes.BOOL + + def _winapi_test(handle): + csbi = CONSOLE_SCREEN_BUFFER_INFO() + success = _GetConsoleScreenBufferInfo( + handle, byref(csbi)) + return bool(success) + + def winapi_test(): + return any(_winapi_test(h) for h in + (_GetStdHandle(STDOUT), _GetStdHandle(STDERR))) + + def GetConsoleScreenBufferInfo(stream_id=STDOUT): + handle = _GetStdHandle(stream_id) + csbi = CONSOLE_SCREEN_BUFFER_INFO() + success = _GetConsoleScreenBufferInfo( + handle, byref(csbi)) + return csbi + + def SetConsoleTextAttribute(stream_id, attrs): + handle = _GetStdHandle(stream_id) + return _SetConsoleTextAttribute(handle, attrs) + + def SetConsoleCursorPosition(stream_id, position, adjust=True): + position = COORD(*position) + # If the position is out of range, do nothing. + if position.Y <= 0 or position.X <= 0: + return + # Adjust for Windows' SetConsoleCursorPosition: + # 1. being 0-based, while ANSI is 1-based. + # 2. expecting (x,y), while ANSI uses (y,x). + adjusted_position = COORD(position.Y - 1, position.X - 1) + if adjust: + # Adjust for viewport's scroll position + sr = GetConsoleScreenBufferInfo(STDOUT).srWindow + adjusted_position.Y += sr.Top + adjusted_position.X += sr.Left + # Resume normal processing + handle = _GetStdHandle(stream_id) + return _SetConsoleCursorPosition(handle, adjusted_position) + + def FillConsoleOutputCharacter(stream_id, char, length, start): + handle = _GetStdHandle(stream_id) + char = c_char(char.encode()) + length = wintypes.DWORD(length) + num_written = wintypes.DWORD(0) + # Note that this is hard-coded for ANSI (vs wide) bytes. + success = _FillConsoleOutputCharacterA( + handle, char, length, start, byref(num_written)) + return num_written.value + + def FillConsoleOutputAttribute(stream_id, attr, length, start): + ''' FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )''' + handle = _GetStdHandle(stream_id) + attribute = wintypes.WORD(attr) + length = wintypes.DWORD(length) + num_written = wintypes.DWORD(0) + # Note that this is hard-coded for ANSI (vs wide) bytes. + return _FillConsoleOutputAttribute( + handle, attribute, length, start, byref(num_written)) + + def SetConsoleTitle(title): + return _SetConsoleTitleW(title) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/winterm.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/winterm.py new file mode 100644 index 0000000000..0fdb4ec4e9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/colorama/winterm.py @@ -0,0 +1,169 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +from . import win32 + + +# from wincon.h +class WinColor(object): + BLACK = 0 + BLUE = 1 + GREEN = 2 + CYAN = 3 + RED = 4 + MAGENTA = 5 + YELLOW = 6 + GREY = 7 + +# from wincon.h +class WinStyle(object): + NORMAL = 0x00 # dim text, dim background + BRIGHT = 0x08 # bright text, dim background + BRIGHT_BACKGROUND = 0x80 # dim text, bright background + +class WinTerm(object): + + def __init__(self): + self._default = win32.GetConsoleScreenBufferInfo(win32.STDOUT).wAttributes + self.set_attrs(self._default) + self._default_fore = self._fore + self._default_back = self._back + self._default_style = self._style + # In order to emulate LIGHT_EX in windows, we borrow the BRIGHT style. + # So that LIGHT_EX colors and BRIGHT style do not clobber each other, + # we track them separately, since LIGHT_EX is overwritten by Fore/Back + # and BRIGHT is overwritten by Style codes. + self._light = 0 + + def get_attrs(self): + return self._fore + self._back * 16 + (self._style | self._light) + + def set_attrs(self, value): + self._fore = value & 7 + self._back = (value >> 4) & 7 + self._style = value & (WinStyle.BRIGHT | WinStyle.BRIGHT_BACKGROUND) + + def reset_all(self, on_stderr=None): + self.set_attrs(self._default) + self.set_console(attrs=self._default) + self._light = 0 + + def fore(self, fore=None, light=False, on_stderr=False): + if fore is None: + fore = self._default_fore + self._fore = fore + # Emulate LIGHT_EX with BRIGHT Style + if light: + self._light |= WinStyle.BRIGHT + else: + self._light &= ~WinStyle.BRIGHT + self.set_console(on_stderr=on_stderr) + + def back(self, back=None, light=False, on_stderr=False): + if back is None: + back = self._default_back + self._back = back + # Emulate LIGHT_EX with BRIGHT_BACKGROUND Style + if light: + self._light |= WinStyle.BRIGHT_BACKGROUND + else: + self._light &= ~WinStyle.BRIGHT_BACKGROUND + self.set_console(on_stderr=on_stderr) + + def style(self, style=None, on_stderr=False): + if style is None: + style = self._default_style + self._style = style + self.set_console(on_stderr=on_stderr) + + def set_console(self, attrs=None, on_stderr=False): + if attrs is None: + attrs = self.get_attrs() + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + win32.SetConsoleTextAttribute(handle, attrs) + + def get_position(self, handle): + position = win32.GetConsoleScreenBufferInfo(handle).dwCursorPosition + # Because Windows coordinates are 0-based, + # and win32.SetConsoleCursorPosition expects 1-based. + position.X += 1 + position.Y += 1 + return position + + def set_cursor_position(self, position=None, on_stderr=False): + if position is None: + # I'm not currently tracking the position, so there is no default. + # position = self.get_position() + return + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + win32.SetConsoleCursorPosition(handle, position) + + def cursor_adjust(self, x, y, on_stderr=False): + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + position = self.get_position(handle) + adjusted_position = (position.Y + y, position.X + x) + win32.SetConsoleCursorPosition(handle, adjusted_position, adjust=False) + + def erase_screen(self, mode=0, on_stderr=False): + # 0 should clear from the cursor to the end of the screen. + # 1 should clear from the cursor to the beginning of the screen. + # 2 should clear the entire screen, and move cursor to (1,1) + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + csbi = win32.GetConsoleScreenBufferInfo(handle) + # get the number of character cells in the current buffer + cells_in_screen = csbi.dwSize.X * csbi.dwSize.Y + # get number of character cells before current cursor position + cells_before_cursor = csbi.dwSize.X * csbi.dwCursorPosition.Y + csbi.dwCursorPosition.X + if mode == 0: + from_coord = csbi.dwCursorPosition + cells_to_erase = cells_in_screen - cells_before_cursor + elif mode == 1: + from_coord = win32.COORD(0, 0) + cells_to_erase = cells_before_cursor + elif mode == 2: + from_coord = win32.COORD(0, 0) + cells_to_erase = cells_in_screen + else: + # invalid mode + return + # fill the entire screen with blanks + win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord) + # now set the buffer's attributes accordingly + win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord) + if mode == 2: + # put the cursor where needed + win32.SetConsoleCursorPosition(handle, (1, 1)) + + def erase_line(self, mode=0, on_stderr=False): + # 0 should clear from the cursor to the end of the line. + # 1 should clear from the cursor to the beginning of the line. + # 2 should clear the entire line. + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + csbi = win32.GetConsoleScreenBufferInfo(handle) + if mode == 0: + from_coord = csbi.dwCursorPosition + cells_to_erase = csbi.dwSize.X - csbi.dwCursorPosition.X + elif mode == 1: + from_coord = win32.COORD(0, csbi.dwCursorPosition.Y) + cells_to_erase = csbi.dwCursorPosition.X + elif mode == 2: + from_coord = win32.COORD(0, csbi.dwCursorPosition.Y) + cells_to_erase = csbi.dwSize.X + else: + # invalid mode + return + # fill the entire screen with blanks + win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord) + # now set the buffer's attributes accordingly + win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord) + + def set_title(self, title): + win32.SetConsoleTitle(title) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/__init__.py new file mode 100644 index 0000000000..a786b4d3b7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import logging + +__version__ = '0.2.8' + +class DistlibException(Exception): + pass + +try: + from logging import NullHandler +except ImportError: # pragma: no cover + class NullHandler(logging.Handler): + def handle(self, record): pass + def emit(self, record): pass + def createLock(self): self.lock = None + +logger = logging.getLogger(__name__) +logger.addHandler(NullHandler()) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/__init__.py new file mode 100644 index 0000000000..f7dbf4c9aa --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/__init__.py @@ -0,0 +1,6 @@ +"""Modules copied from Python 3 standard libraries, for internal use only. + +Individual classes and functions are found in d2._backport.misc. Intended +usage is to always import things missing from 3.1 from that module: the +built-in/stdlib objects will be used if found. +""" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/misc.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/misc.py new file mode 100644 index 0000000000..cfb318d34f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/misc.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Backports for individual classes and functions.""" + +import os +import sys + +__all__ = ['cache_from_source', 'callable', 'fsencode'] + + +try: + from imp import cache_from_source +except ImportError: + def cache_from_source(py_file, debug=__debug__): + ext = debug and 'c' or 'o' + return py_file + ext + + +try: + callable = callable +except NameError: + from collections import Callable + + def callable(obj): + return isinstance(obj, Callable) + + +try: + fsencode = os.fsencode +except AttributeError: + def fsencode(filename): + if isinstance(filename, bytes): + return filename + elif isinstance(filename, str): + return filename.encode(sys.getfilesystemencoding()) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/shutil.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/shutil.py new file mode 100644 index 0000000000..159e49ee8c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/shutil.py @@ -0,0 +1,761 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Utility functions for copying and archiving files and directory trees. + +XXX The functions here don't copy the resource fork or other metadata on Mac. + +""" + +import os +import sys +import stat +from os.path import abspath +import fnmatch +import collections +import errno +from . import tarfile + +try: + import bz2 + _BZ2_SUPPORTED = True +except ImportError: + _BZ2_SUPPORTED = False + +try: + from pwd import getpwnam +except ImportError: + getpwnam = None + +try: + from grp import getgrnam +except ImportError: + getgrnam = None + +__all__ = ["copyfileobj", "copyfile", "copymode", "copystat", "copy", "copy2", + "copytree", "move", "rmtree", "Error", "SpecialFileError", + "ExecError", "make_archive", "get_archive_formats", + "register_archive_format", "unregister_archive_format", + "get_unpack_formats", "register_unpack_format", + "unregister_unpack_format", "unpack_archive", "ignore_patterns"] + +class Error(EnvironmentError): + pass + +class SpecialFileError(EnvironmentError): + """Raised when trying to do a kind of operation (e.g. copying) which is + not supported on a special file (e.g. a named pipe)""" + +class ExecError(EnvironmentError): + """Raised when a command could not be executed""" + +class ReadError(EnvironmentError): + """Raised when an archive cannot be read""" + +class RegistryError(Exception): + """Raised when a registry operation with the archiving + and unpacking registries fails""" + + +try: + WindowsError +except NameError: + WindowsError = None + +def copyfileobj(fsrc, fdst, length=16*1024): + """copy data from file-like object fsrc to file-like object fdst""" + while 1: + buf = fsrc.read(length) + if not buf: + break + fdst.write(buf) + +def _samefile(src, dst): + # Macintosh, Unix. + if hasattr(os.path, 'samefile'): + try: + return os.path.samefile(src, dst) + except OSError: + return False + + # All other platforms: check for same pathname. + return (os.path.normcase(os.path.abspath(src)) == + os.path.normcase(os.path.abspath(dst))) + +def copyfile(src, dst): + """Copy data from src to dst""" + if _samefile(src, dst): + raise Error("`%s` and `%s` are the same file" % (src, dst)) + + for fn in [src, dst]: + try: + st = os.stat(fn) + except OSError: + # File most likely does not exist + pass + else: + # XXX What about other special files? (sockets, devices...) + if stat.S_ISFIFO(st.st_mode): + raise SpecialFileError("`%s` is a named pipe" % fn) + + with open(src, 'rb') as fsrc: + with open(dst, 'wb') as fdst: + copyfileobj(fsrc, fdst) + +def copymode(src, dst): + """Copy mode bits from src to dst""" + if hasattr(os, 'chmod'): + st = os.stat(src) + mode = stat.S_IMODE(st.st_mode) + os.chmod(dst, mode) + +def copystat(src, dst): + """Copy all stat info (mode bits, atime, mtime, flags) from src to dst""" + st = os.stat(src) + mode = stat.S_IMODE(st.st_mode) + if hasattr(os, 'utime'): + os.utime(dst, (st.st_atime, st.st_mtime)) + if hasattr(os, 'chmod'): + os.chmod(dst, mode) + if hasattr(os, 'chflags') and hasattr(st, 'st_flags'): + try: + os.chflags(dst, st.st_flags) + except OSError as why: + if (not hasattr(errno, 'EOPNOTSUPP') or + why.errno != errno.EOPNOTSUPP): + raise + +def copy(src, dst): + """Copy data and mode bits ("cp src dst"). + + The destination may be a directory. + + """ + if os.path.isdir(dst): + dst = os.path.join(dst, os.path.basename(src)) + copyfile(src, dst) + copymode(src, dst) + +def copy2(src, dst): + """Copy data and all stat info ("cp -p src dst"). + + The destination may be a directory. + + """ + if os.path.isdir(dst): + dst = os.path.join(dst, os.path.basename(src)) + copyfile(src, dst) + copystat(src, dst) + +def ignore_patterns(*patterns): + """Function that can be used as copytree() ignore parameter. + + Patterns is a sequence of glob-style patterns + that are used to exclude files""" + def _ignore_patterns(path, names): + ignored_names = [] + for pattern in patterns: + ignored_names.extend(fnmatch.filter(names, pattern)) + return set(ignored_names) + return _ignore_patterns + +def copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, + ignore_dangling_symlinks=False): + """Recursively copy a directory tree. + + The destination directory must not already exist. + If exception(s) occur, an Error is raised with a list of reasons. + + If the optional symlinks flag is true, symbolic links in the + source tree result in symbolic links in the destination tree; if + it is false, the contents of the files pointed to by symbolic + links are copied. If the file pointed by the symlink doesn't + exist, an exception will be added in the list of errors raised in + an Error exception at the end of the copy process. + + You can set the optional ignore_dangling_symlinks flag to true if you + want to silence this exception. Notice that this has no effect on + platforms that don't support os.symlink. + + The optional ignore argument is a callable. If given, it + is called with the `src` parameter, which is the directory + being visited by copytree(), and `names` which is the list of + `src` contents, as returned by os.listdir(): + + callable(src, names) -> ignored_names + + Since copytree() is called recursively, the callable will be + called once for each directory that is copied. It returns a + list of names relative to the `src` directory that should + not be copied. + + The optional copy_function argument is a callable that will be used + to copy each file. It will be called with the source path and the + destination path as arguments. By default, copy2() is used, but any + function that supports the same signature (like copy()) can be used. + + """ + names = os.listdir(src) + if ignore is not None: + ignored_names = ignore(src, names) + else: + ignored_names = set() + + os.makedirs(dst) + errors = [] + for name in names: + if name in ignored_names: + continue + srcname = os.path.join(src, name) + dstname = os.path.join(dst, name) + try: + if os.path.islink(srcname): + linkto = os.readlink(srcname) + if symlinks: + os.symlink(linkto, dstname) + else: + # ignore dangling symlink if the flag is on + if not os.path.exists(linkto) and ignore_dangling_symlinks: + continue + # otherwise let the copy occurs. copy2 will raise an error + copy_function(srcname, dstname) + elif os.path.isdir(srcname): + copytree(srcname, dstname, symlinks, ignore, copy_function) + else: + # Will raise a SpecialFileError for unsupported file types + copy_function(srcname, dstname) + # catch the Error from the recursive copytree so that we can + # continue with other files + except Error as err: + errors.extend(err.args[0]) + except EnvironmentError as why: + errors.append((srcname, dstname, str(why))) + try: + copystat(src, dst) + except OSError as why: + if WindowsError is not None and isinstance(why, WindowsError): + # Copying file access times may fail on Windows + pass + else: + errors.extend((src, dst, str(why))) + if errors: + raise Error(errors) + +def rmtree(path, ignore_errors=False, onerror=None): + """Recursively delete a directory tree. + + If ignore_errors is set, errors are ignored; otherwise, if onerror + is set, it is called to handle the error with arguments (func, + path, exc_info) where func is os.listdir, os.remove, or os.rmdir; + path is the argument to that function that caused it to fail; and + exc_info is a tuple returned by sys.exc_info(). If ignore_errors + is false and onerror is None, an exception is raised. + + """ + if ignore_errors: + def onerror(*args): + pass + elif onerror is None: + def onerror(*args): + raise + try: + if os.path.islink(path): + # symlinks to directories are forbidden, see bug #1669 + raise OSError("Cannot call rmtree on a symbolic link") + except OSError: + onerror(os.path.islink, path, sys.exc_info()) + # can't continue even if onerror hook returns + return + names = [] + try: + names = os.listdir(path) + except os.error: + onerror(os.listdir, path, sys.exc_info()) + for name in names: + fullname = os.path.join(path, name) + try: + mode = os.lstat(fullname).st_mode + except os.error: + mode = 0 + if stat.S_ISDIR(mode): + rmtree(fullname, ignore_errors, onerror) + else: + try: + os.remove(fullname) + except os.error: + onerror(os.remove, fullname, sys.exc_info()) + try: + os.rmdir(path) + except os.error: + onerror(os.rmdir, path, sys.exc_info()) + + +def _basename(path): + # A basename() variant which first strips the trailing slash, if present. + # Thus we always get the last component of the path, even for directories. + return os.path.basename(path.rstrip(os.path.sep)) + +def move(src, dst): + """Recursively move a file or directory to another location. This is + similar to the Unix "mv" command. + + If the destination is a directory or a symlink to a directory, the source + is moved inside the directory. The destination path must not already + exist. + + If the destination already exists but is not a directory, it may be + overwritten depending on os.rename() semantics. + + If the destination is on our current filesystem, then rename() is used. + Otherwise, src is copied to the destination and then removed. + A lot more could be done here... A look at a mv.c shows a lot of + the issues this implementation glosses over. + + """ + real_dst = dst + if os.path.isdir(dst): + if _samefile(src, dst): + # We might be on a case insensitive filesystem, + # perform the rename anyway. + os.rename(src, dst) + return + + real_dst = os.path.join(dst, _basename(src)) + if os.path.exists(real_dst): + raise Error("Destination path '%s' already exists" % real_dst) + try: + os.rename(src, real_dst) + except OSError: + if os.path.isdir(src): + if _destinsrc(src, dst): + raise Error("Cannot move a directory '%s' into itself '%s'." % (src, dst)) + copytree(src, real_dst, symlinks=True) + rmtree(src) + else: + copy2(src, real_dst) + os.unlink(src) + +def _destinsrc(src, dst): + src = abspath(src) + dst = abspath(dst) + if not src.endswith(os.path.sep): + src += os.path.sep + if not dst.endswith(os.path.sep): + dst += os.path.sep + return dst.startswith(src) + +def _get_gid(name): + """Returns a gid, given a group name.""" + if getgrnam is None or name is None: + return None + try: + result = getgrnam(name) + except KeyError: + result = None + if result is not None: + return result[2] + return None + +def _get_uid(name): + """Returns an uid, given a user name.""" + if getpwnam is None or name is None: + return None + try: + result = getpwnam(name) + except KeyError: + result = None + if result is not None: + return result[2] + return None + +def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0, + owner=None, group=None, logger=None): + """Create a (possibly compressed) tar file from all the files under + 'base_dir'. + + 'compress' must be "gzip" (the default), "bzip2", or None. + + 'owner' and 'group' can be used to define an owner and a group for the + archive that is being built. If not provided, the current owner and group + will be used. + + The output tar file will be named 'base_name' + ".tar", possibly plus + the appropriate compression extension (".gz", or ".bz2"). + + Returns the output filename. + """ + tar_compression = {'gzip': 'gz', None: ''} + compress_ext = {'gzip': '.gz'} + + if _BZ2_SUPPORTED: + tar_compression['bzip2'] = 'bz2' + compress_ext['bzip2'] = '.bz2' + + # flags for compression program, each element of list will be an argument + if compress is not None and compress not in compress_ext: + raise ValueError("bad value for 'compress', or compression format not " + "supported : {0}".format(compress)) + + archive_name = base_name + '.tar' + compress_ext.get(compress, '') + archive_dir = os.path.dirname(archive_name) + + if not os.path.exists(archive_dir): + if logger is not None: + logger.info("creating %s", archive_dir) + if not dry_run: + os.makedirs(archive_dir) + + # creating the tarball + if logger is not None: + logger.info('Creating tar archive') + + uid = _get_uid(owner) + gid = _get_gid(group) + + def _set_uid_gid(tarinfo): + if gid is not None: + tarinfo.gid = gid + tarinfo.gname = group + if uid is not None: + tarinfo.uid = uid + tarinfo.uname = owner + return tarinfo + + if not dry_run: + tar = tarfile.open(archive_name, 'w|%s' % tar_compression[compress]) + try: + tar.add(base_dir, filter=_set_uid_gid) + finally: + tar.close() + + return archive_name + +def _call_external_zip(base_dir, zip_filename, verbose=False, dry_run=False): + # XXX see if we want to keep an external call here + if verbose: + zipoptions = "-r" + else: + zipoptions = "-rq" + from distutils.errors import DistutilsExecError + from distutils.spawn import spawn + try: + spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run) + except DistutilsExecError: + # XXX really should distinguish between "couldn't find + # external 'zip' command" and "zip failed". + raise ExecError("unable to create zip file '%s': " + "could neither import the 'zipfile' module nor " + "find a standalone zip utility") % zip_filename + +def _make_zipfile(base_name, base_dir, verbose=0, dry_run=0, logger=None): + """Create a zip file from all the files under 'base_dir'. + + The output zip file will be named 'base_name' + ".zip". Uses either the + "zipfile" Python module (if available) or the InfoZIP "zip" utility + (if installed and found on the default search path). If neither tool is + available, raises ExecError. Returns the name of the output zip + file. + """ + zip_filename = base_name + ".zip" + archive_dir = os.path.dirname(base_name) + + if not os.path.exists(archive_dir): + if logger is not None: + logger.info("creating %s", archive_dir) + if not dry_run: + os.makedirs(archive_dir) + + # If zipfile module is not available, try spawning an external 'zip' + # command. + try: + import zipfile + except ImportError: + zipfile = None + + if zipfile is None: + _call_external_zip(base_dir, zip_filename, verbose, dry_run) + else: + if logger is not None: + logger.info("creating '%s' and adding '%s' to it", + zip_filename, base_dir) + + if not dry_run: + zip = zipfile.ZipFile(zip_filename, "w", + compression=zipfile.ZIP_DEFLATED) + + for dirpath, dirnames, filenames in os.walk(base_dir): + for name in filenames: + path = os.path.normpath(os.path.join(dirpath, name)) + if os.path.isfile(path): + zip.write(path, path) + if logger is not None: + logger.info("adding '%s'", path) + zip.close() + + return zip_filename + +_ARCHIVE_FORMATS = { + 'gztar': (_make_tarball, [('compress', 'gzip')], "gzip'ed tar-file"), + 'bztar': (_make_tarball, [('compress', 'bzip2')], "bzip2'ed tar-file"), + 'tar': (_make_tarball, [('compress', None)], "uncompressed tar file"), + 'zip': (_make_zipfile, [], "ZIP file"), + } + +if _BZ2_SUPPORTED: + _ARCHIVE_FORMATS['bztar'] = (_make_tarball, [('compress', 'bzip2')], + "bzip2'ed tar-file") + +def get_archive_formats(): + """Returns a list of supported formats for archiving and unarchiving. + + Each element of the returned sequence is a tuple (name, description) + """ + formats = [(name, registry[2]) for name, registry in + _ARCHIVE_FORMATS.items()] + formats.sort() + return formats + +def register_archive_format(name, function, extra_args=None, description=''): + """Registers an archive format. + + name is the name of the format. function is the callable that will be + used to create archives. If provided, extra_args is a sequence of + (name, value) tuples that will be passed as arguments to the callable. + description can be provided to describe the format, and will be returned + by the get_archive_formats() function. + """ + if extra_args is None: + extra_args = [] + if not isinstance(function, collections.Callable): + raise TypeError('The %s object is not callable' % function) + if not isinstance(extra_args, (tuple, list)): + raise TypeError('extra_args needs to be a sequence') + for element in extra_args: + if not isinstance(element, (tuple, list)) or len(element) !=2: + raise TypeError('extra_args elements are : (arg_name, value)') + + _ARCHIVE_FORMATS[name] = (function, extra_args, description) + +def unregister_archive_format(name): + del _ARCHIVE_FORMATS[name] + +def make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, + dry_run=0, owner=None, group=None, logger=None): + """Create an archive file (eg. zip or tar). + + 'base_name' is the name of the file to create, minus any format-specific + extension; 'format' is the archive format: one of "zip", "tar", "bztar" + or "gztar". + + 'root_dir' is a directory that will be the root directory of the + archive; ie. we typically chdir into 'root_dir' before creating the + archive. 'base_dir' is the directory where we start archiving from; + ie. 'base_dir' will be the common prefix of all files and + directories in the archive. 'root_dir' and 'base_dir' both default + to the current directory. Returns the name of the archive file. + + 'owner' and 'group' are used when creating a tar archive. By default, + uses the current owner and group. + """ + save_cwd = os.getcwd() + if root_dir is not None: + if logger is not None: + logger.debug("changing into '%s'", root_dir) + base_name = os.path.abspath(base_name) + if not dry_run: + os.chdir(root_dir) + + if base_dir is None: + base_dir = os.curdir + + kwargs = {'dry_run': dry_run, 'logger': logger} + + try: + format_info = _ARCHIVE_FORMATS[format] + except KeyError: + raise ValueError("unknown archive format '%s'" % format) + + func = format_info[0] + for arg, val in format_info[1]: + kwargs[arg] = val + + if format != 'zip': + kwargs['owner'] = owner + kwargs['group'] = group + + try: + filename = func(base_name, base_dir, **kwargs) + finally: + if root_dir is not None: + if logger is not None: + logger.debug("changing back to '%s'", save_cwd) + os.chdir(save_cwd) + + return filename + + +def get_unpack_formats(): + """Returns a list of supported formats for unpacking. + + Each element of the returned sequence is a tuple + (name, extensions, description) + """ + formats = [(name, info[0], info[3]) for name, info in + _UNPACK_FORMATS.items()] + formats.sort() + return formats + +def _check_unpack_options(extensions, function, extra_args): + """Checks what gets registered as an unpacker.""" + # first make sure no other unpacker is registered for this extension + existing_extensions = {} + for name, info in _UNPACK_FORMATS.items(): + for ext in info[0]: + existing_extensions[ext] = name + + for extension in extensions: + if extension in existing_extensions: + msg = '%s is already registered for "%s"' + raise RegistryError(msg % (extension, + existing_extensions[extension])) + + if not isinstance(function, collections.Callable): + raise TypeError('The registered function must be a callable') + + +def register_unpack_format(name, extensions, function, extra_args=None, + description=''): + """Registers an unpack format. + + `name` is the name of the format. `extensions` is a list of extensions + corresponding to the format. + + `function` is the callable that will be + used to unpack archives. The callable will receive archives to unpack. + If it's unable to handle an archive, it needs to raise a ReadError + exception. + + If provided, `extra_args` is a sequence of + (name, value) tuples that will be passed as arguments to the callable. + description can be provided to describe the format, and will be returned + by the get_unpack_formats() function. + """ + if extra_args is None: + extra_args = [] + _check_unpack_options(extensions, function, extra_args) + _UNPACK_FORMATS[name] = extensions, function, extra_args, description + +def unregister_unpack_format(name): + """Removes the pack format from the registry.""" + del _UNPACK_FORMATS[name] + +def _ensure_directory(path): + """Ensure that the parent directory of `path` exists""" + dirname = os.path.dirname(path) + if not os.path.isdir(dirname): + os.makedirs(dirname) + +def _unpack_zipfile(filename, extract_dir): + """Unpack zip `filename` to `extract_dir` + """ + try: + import zipfile + except ImportError: + raise ReadError('zlib not supported, cannot unpack this archive.') + + if not zipfile.is_zipfile(filename): + raise ReadError("%s is not a zip file" % filename) + + zip = zipfile.ZipFile(filename) + try: + for info in zip.infolist(): + name = info.filename + + # don't extract absolute paths or ones with .. in them + if name.startswith('/') or '..' in name: + continue + + target = os.path.join(extract_dir, *name.split('/')) + if not target: + continue + + _ensure_directory(target) + if not name.endswith('/'): + # file + data = zip.read(info.filename) + f = open(target, 'wb') + try: + f.write(data) + finally: + f.close() + del data + finally: + zip.close() + +def _unpack_tarfile(filename, extract_dir): + """Unpack tar/tar.gz/tar.bz2 `filename` to `extract_dir` + """ + try: + tarobj = tarfile.open(filename) + except tarfile.TarError: + raise ReadError( + "%s is not a compressed or uncompressed tar file" % filename) + try: + tarobj.extractall(extract_dir) + finally: + tarobj.close() + +_UNPACK_FORMATS = { + 'gztar': (['.tar.gz', '.tgz'], _unpack_tarfile, [], "gzip'ed tar-file"), + 'tar': (['.tar'], _unpack_tarfile, [], "uncompressed tar file"), + 'zip': (['.zip'], _unpack_zipfile, [], "ZIP file") + } + +if _BZ2_SUPPORTED: + _UNPACK_FORMATS['bztar'] = (['.bz2'], _unpack_tarfile, [], + "bzip2'ed tar-file") + +def _find_unpack_format(filename): + for name, info in _UNPACK_FORMATS.items(): + for extension in info[0]: + if filename.endswith(extension): + return name + return None + +def unpack_archive(filename, extract_dir=None, format=None): + """Unpack an archive. + + `filename` is the name of the archive. + + `extract_dir` is the name of the target directory, where the archive + is unpacked. If not provided, the current working directory is used. + + `format` is the archive format: one of "zip", "tar", or "gztar". Or any + other registered format. If not provided, unpack_archive will use the + filename extension and see if an unpacker was registered for that + extension. + + In case none is found, a ValueError is raised. + """ + if extract_dir is None: + extract_dir = os.getcwd() + + if format is not None: + try: + format_info = _UNPACK_FORMATS[format] + except KeyError: + raise ValueError("Unknown unpack format '{0}'".format(format)) + + func = format_info[1] + func(filename, extract_dir, **dict(format_info[2])) + else: + # we need to look at the registered unpackers supported extensions + format = _find_unpack_format(filename) + if format is None: + raise ReadError("Unknown archive format '{0}'".format(filename)) + + func = _UNPACK_FORMATS[format][1] + kwargs = dict(_UNPACK_FORMATS[format][2]) + func(filename, extract_dir, **kwargs) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/sysconfig.cfg b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/sysconfig.cfg new file mode 100644 index 0000000000..1746bd01c1 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/sysconfig.cfg @@ -0,0 +1,84 @@ +[posix_prefix] +# Configuration directories. Some of these come straight out of the +# configure script. They are for implementing the other variables, not to +# be used directly in [resource_locations]. +confdir = /etc +datadir = /usr/share +libdir = /usr/lib +statedir = /var +# User resource directory +local = ~/.local/{distribution.name} + +stdlib = {base}/lib/python{py_version_short} +platstdlib = {platbase}/lib/python{py_version_short} +purelib = {base}/lib/python{py_version_short}/site-packages +platlib = {platbase}/lib/python{py_version_short}/site-packages +include = {base}/include/python{py_version_short}{abiflags} +platinclude = {platbase}/include/python{py_version_short}{abiflags} +data = {base} + +[posix_home] +stdlib = {base}/lib/python +platstdlib = {base}/lib/python +purelib = {base}/lib/python +platlib = {base}/lib/python +include = {base}/include/python +platinclude = {base}/include/python +scripts = {base}/bin +data = {base} + +[nt] +stdlib = {base}/Lib +platstdlib = {base}/Lib +purelib = {base}/Lib/site-packages +platlib = {base}/Lib/site-packages +include = {base}/Include +platinclude = {base}/Include +scripts = {base}/Scripts +data = {base} + +[os2] +stdlib = {base}/Lib +platstdlib = {base}/Lib +purelib = {base}/Lib/site-packages +platlib = {base}/Lib/site-packages +include = {base}/Include +platinclude = {base}/Include +scripts = {base}/Scripts +data = {base} + +[os2_home] +stdlib = {userbase}/lib/python{py_version_short} +platstdlib = {userbase}/lib/python{py_version_short} +purelib = {userbase}/lib/python{py_version_short}/site-packages +platlib = {userbase}/lib/python{py_version_short}/site-packages +include = {userbase}/include/python{py_version_short} +scripts = {userbase}/bin +data = {userbase} + +[nt_user] +stdlib = {userbase}/Python{py_version_nodot} +platstdlib = {userbase}/Python{py_version_nodot} +purelib = {userbase}/Python{py_version_nodot}/site-packages +platlib = {userbase}/Python{py_version_nodot}/site-packages +include = {userbase}/Python{py_version_nodot}/Include +scripts = {userbase}/Scripts +data = {userbase} + +[posix_user] +stdlib = {userbase}/lib/python{py_version_short} +platstdlib = {userbase}/lib/python{py_version_short} +purelib = {userbase}/lib/python{py_version_short}/site-packages +platlib = {userbase}/lib/python{py_version_short}/site-packages +include = {userbase}/include/python{py_version_short} +scripts = {userbase}/bin +data = {userbase} + +[osx_framework_user] +stdlib = {userbase}/lib/python +platstdlib = {userbase}/lib/python +purelib = {userbase}/lib/python/site-packages +platlib = {userbase}/lib/python/site-packages +include = {userbase}/include +scripts = {userbase}/bin +data = {userbase} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/sysconfig.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/sysconfig.py new file mode 100644 index 0000000000..1df3aba144 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/sysconfig.py @@ -0,0 +1,788 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Access to Python's configuration information.""" + +import codecs +import os +import re +import sys +from os.path import pardir, realpath +try: + import configparser +except ImportError: + import ConfigParser as configparser + + +__all__ = [ + 'get_config_h_filename', + 'get_config_var', + 'get_config_vars', + 'get_makefile_filename', + 'get_path', + 'get_path_names', + 'get_paths', + 'get_platform', + 'get_python_version', + 'get_scheme_names', + 'parse_config_h', +] + + +def _safe_realpath(path): + try: + return realpath(path) + except OSError: + return path + + +if sys.executable: + _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable)) +else: + # sys.executable can be empty if argv[0] has been changed and Python is + # unable to retrieve the real program name + _PROJECT_BASE = _safe_realpath(os.getcwd()) + +if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir)) +# PC/VS7.1 +if os.name == "nt" and "\\pc\\v" in _PROJECT_BASE[-10:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir)) +# PC/AMD64 +if os.name == "nt" and "\\pcbuild\\amd64" in _PROJECT_BASE[-14:].lower(): + _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir)) + + +def is_python_build(): + for fn in ("Setup.dist", "Setup.local"): + if os.path.isfile(os.path.join(_PROJECT_BASE, "Modules", fn)): + return True + return False + +_PYTHON_BUILD = is_python_build() + +_cfg_read = False + +def _ensure_cfg_read(): + global _cfg_read + if not _cfg_read: + from ..resources import finder + backport_package = __name__.rsplit('.', 1)[0] + _finder = finder(backport_package) + _cfgfile = _finder.find('sysconfig.cfg') + assert _cfgfile, 'sysconfig.cfg exists' + with _cfgfile.as_stream() as s: + _SCHEMES.readfp(s) + if _PYTHON_BUILD: + for scheme in ('posix_prefix', 'posix_home'): + _SCHEMES.set(scheme, 'include', '{srcdir}/Include') + _SCHEMES.set(scheme, 'platinclude', '{projectbase}/.') + + _cfg_read = True + + +_SCHEMES = configparser.RawConfigParser() +_VAR_REPL = re.compile(r'\{([^{]*?)\}') + +def _expand_globals(config): + _ensure_cfg_read() + if config.has_section('globals'): + globals = config.items('globals') + else: + globals = tuple() + + sections = config.sections() + for section in sections: + if section == 'globals': + continue + for option, value in globals: + if config.has_option(section, option): + continue + config.set(section, option, value) + config.remove_section('globals') + + # now expanding local variables defined in the cfg file + # + for section in config.sections(): + variables = dict(config.items(section)) + + def _replacer(matchobj): + name = matchobj.group(1) + if name in variables: + return variables[name] + return matchobj.group(0) + + for option, value in config.items(section): + config.set(section, option, _VAR_REPL.sub(_replacer, value)) + +#_expand_globals(_SCHEMES) + + # FIXME don't rely on sys.version here, its format is an implementation detail + # of CPython, use sys.version_info or sys.hexversion +_PY_VERSION = sys.version.split()[0] +_PY_VERSION_SHORT = sys.version[:3] +_PY_VERSION_SHORT_NO_DOT = _PY_VERSION[0] + _PY_VERSION[2] +_PREFIX = os.path.normpath(sys.prefix) +_EXEC_PREFIX = os.path.normpath(sys.exec_prefix) +_CONFIG_VARS = None +_USER_BASE = None + + +def _subst_vars(path, local_vars): + """In the string `path`, replace tokens like {some.thing} with the + corresponding value from the map `local_vars`. + + If there is no corresponding value, leave the token unchanged. + """ + def _replacer(matchobj): + name = matchobj.group(1) + if name in local_vars: + return local_vars[name] + elif name in os.environ: + return os.environ[name] + return matchobj.group(0) + return _VAR_REPL.sub(_replacer, path) + + +def _extend_dict(target_dict, other_dict): + target_keys = target_dict.keys() + for key, value in other_dict.items(): + if key in target_keys: + continue + target_dict[key] = value + + +def _expand_vars(scheme, vars): + res = {} + if vars is None: + vars = {} + _extend_dict(vars, get_config_vars()) + + for key, value in _SCHEMES.items(scheme): + if os.name in ('posix', 'nt'): + value = os.path.expanduser(value) + res[key] = os.path.normpath(_subst_vars(value, vars)) + return res + + +def format_value(value, vars): + def _replacer(matchobj): + name = matchobj.group(1) + if name in vars: + return vars[name] + return matchobj.group(0) + return _VAR_REPL.sub(_replacer, value) + + +def _get_default_scheme(): + if os.name == 'posix': + # the default scheme for posix is posix_prefix + return 'posix_prefix' + return os.name + + +def _getuserbase(): + env_base = os.environ.get("PYTHONUSERBASE", None) + + def joinuser(*args): + return os.path.expanduser(os.path.join(*args)) + + # what about 'os2emx', 'riscos' ? + if os.name == "nt": + base = os.environ.get("APPDATA") or "~" + if env_base: + return env_base + else: + return joinuser(base, "Python") + + if sys.platform == "darwin": + framework = get_config_var("PYTHONFRAMEWORK") + if framework: + if env_base: + return env_base + else: + return joinuser("~", "Library", framework, "%d.%d" % + sys.version_info[:2]) + + if env_base: + return env_base + else: + return joinuser("~", ".local") + + +def _parse_makefile(filename, vars=None): + """Parse a Makefile-style file. + + A dictionary containing name/value pairs is returned. If an + optional dictionary is passed in as the second argument, it is + used instead of a new dictionary. + """ + # Regexes needed for parsing Makefile (and similar syntaxes, + # like old-style Setup files). + _variable_rx = re.compile(r"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)") + _findvar1_rx = re.compile(r"\$\(([A-Za-z][A-Za-z0-9_]*)\)") + _findvar2_rx = re.compile(r"\${([A-Za-z][A-Za-z0-9_]*)}") + + if vars is None: + vars = {} + done = {} + notdone = {} + + with codecs.open(filename, encoding='utf-8', errors="surrogateescape") as f: + lines = f.readlines() + + for line in lines: + if line.startswith('#') or line.strip() == '': + continue + m = _variable_rx.match(line) + if m: + n, v = m.group(1, 2) + v = v.strip() + # `$$' is a literal `$' in make + tmpv = v.replace('$$', '') + + if "$" in tmpv: + notdone[n] = v + else: + try: + v = int(v) + except ValueError: + # insert literal `$' + done[n] = v.replace('$$', '$') + else: + done[n] = v + + # do variable interpolation here + variables = list(notdone.keys()) + + # Variables with a 'PY_' prefix in the makefile. These need to + # be made available without that prefix through sysconfig. + # Special care is needed to ensure that variable expansion works, even + # if the expansion uses the name without a prefix. + renamed_variables = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS') + + while len(variables) > 0: + for name in tuple(variables): + value = notdone[name] + m = _findvar1_rx.search(value) or _findvar2_rx.search(value) + if m is not None: + n = m.group(1) + found = True + if n in done: + item = str(done[n]) + elif n in notdone: + # get it on a subsequent round + found = False + elif n in os.environ: + # do it like make: fall back to environment + item = os.environ[n] + + elif n in renamed_variables: + if (name.startswith('PY_') and + name[3:] in renamed_variables): + item = "" + + elif 'PY_' + n in notdone: + found = False + + else: + item = str(done['PY_' + n]) + + else: + done[n] = item = "" + + if found: + after = value[m.end():] + value = value[:m.start()] + item + after + if "$" in after: + notdone[name] = value + else: + try: + value = int(value) + except ValueError: + done[name] = value.strip() + else: + done[name] = value + variables.remove(name) + + if (name.startswith('PY_') and + name[3:] in renamed_variables): + + name = name[3:] + if name not in done: + done[name] = value + + else: + # bogus variable reference (e.g. "prefix=$/opt/python"); + # just drop it since we can't deal + done[name] = value + variables.remove(name) + + # strip spurious spaces + for k, v in done.items(): + if isinstance(v, str): + done[k] = v.strip() + + # save the results in the global dictionary + vars.update(done) + return vars + + +def get_makefile_filename(): + """Return the path of the Makefile.""" + if _PYTHON_BUILD: + return os.path.join(_PROJECT_BASE, "Makefile") + if hasattr(sys, 'abiflags'): + config_dir_name = 'config-%s%s' % (_PY_VERSION_SHORT, sys.abiflags) + else: + config_dir_name = 'config' + return os.path.join(get_path('stdlib'), config_dir_name, 'Makefile') + + +def _init_posix(vars): + """Initialize the module as appropriate for POSIX systems.""" + # load the installed Makefile: + makefile = get_makefile_filename() + try: + _parse_makefile(makefile, vars) + except IOError as e: + msg = "invalid Python installation: unable to open %s" % makefile + if hasattr(e, "strerror"): + msg = msg + " (%s)" % e.strerror + raise IOError(msg) + # load the installed pyconfig.h: + config_h = get_config_h_filename() + try: + with open(config_h) as f: + parse_config_h(f, vars) + except IOError as e: + msg = "invalid Python installation: unable to open %s" % config_h + if hasattr(e, "strerror"): + msg = msg + " (%s)" % e.strerror + raise IOError(msg) + # On AIX, there are wrong paths to the linker scripts in the Makefile + # -- these paths are relative to the Python source, but when installed + # the scripts are in another directory. + if _PYTHON_BUILD: + vars['LDSHARED'] = vars['BLDSHARED'] + + +def _init_non_posix(vars): + """Initialize the module as appropriate for NT""" + # set basic install directories + vars['LIBDEST'] = get_path('stdlib') + vars['BINLIBDEST'] = get_path('platstdlib') + vars['INCLUDEPY'] = get_path('include') + vars['SO'] = '.pyd' + vars['EXE'] = '.exe' + vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT + vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable)) + +# +# public APIs +# + + +def parse_config_h(fp, vars=None): + """Parse a config.h-style file. + + A dictionary containing name/value pairs is returned. If an + optional dictionary is passed in as the second argument, it is + used instead of a new dictionary. + """ + if vars is None: + vars = {} + define_rx = re.compile("#define ([A-Z][A-Za-z0-9_]+) (.*)\n") + undef_rx = re.compile("/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/\n") + + while True: + line = fp.readline() + if not line: + break + m = define_rx.match(line) + if m: + n, v = m.group(1, 2) + try: + v = int(v) + except ValueError: + pass + vars[n] = v + else: + m = undef_rx.match(line) + if m: + vars[m.group(1)] = 0 + return vars + + +def get_config_h_filename(): + """Return the path of pyconfig.h.""" + if _PYTHON_BUILD: + if os.name == "nt": + inc_dir = os.path.join(_PROJECT_BASE, "PC") + else: + inc_dir = _PROJECT_BASE + else: + inc_dir = get_path('platinclude') + return os.path.join(inc_dir, 'pyconfig.h') + + +def get_scheme_names(): + """Return a tuple containing the schemes names.""" + return tuple(sorted(_SCHEMES.sections())) + + +def get_path_names(): + """Return a tuple containing the paths names.""" + # xxx see if we want a static list + return _SCHEMES.options('posix_prefix') + + +def get_paths(scheme=_get_default_scheme(), vars=None, expand=True): + """Return a mapping containing an install scheme. + + ``scheme`` is the install scheme name. If not provided, it will + return the default scheme for the current platform. + """ + _ensure_cfg_read() + if expand: + return _expand_vars(scheme, vars) + else: + return dict(_SCHEMES.items(scheme)) + + +def get_path(name, scheme=_get_default_scheme(), vars=None, expand=True): + """Return a path corresponding to the scheme. + + ``scheme`` is the install scheme name. + """ + return get_paths(scheme, vars, expand)[name] + + +def get_config_vars(*args): + """With no arguments, return a dictionary of all configuration + variables relevant for the current platform. + + On Unix, this means every variable defined in Python's installed Makefile; + On Windows and Mac OS it's a much smaller set. + + With arguments, return a list of values that result from looking up + each argument in the configuration variable dictionary. + """ + global _CONFIG_VARS + if _CONFIG_VARS is None: + _CONFIG_VARS = {} + # Normalized versions of prefix and exec_prefix are handy to have; + # in fact, these are the standard versions used most places in the + # distutils2 module. + _CONFIG_VARS['prefix'] = _PREFIX + _CONFIG_VARS['exec_prefix'] = _EXEC_PREFIX + _CONFIG_VARS['py_version'] = _PY_VERSION + _CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT + _CONFIG_VARS['py_version_nodot'] = _PY_VERSION[0] + _PY_VERSION[2] + _CONFIG_VARS['base'] = _PREFIX + _CONFIG_VARS['platbase'] = _EXEC_PREFIX + _CONFIG_VARS['projectbase'] = _PROJECT_BASE + try: + _CONFIG_VARS['abiflags'] = sys.abiflags + except AttributeError: + # sys.abiflags may not be defined on all platforms. + _CONFIG_VARS['abiflags'] = '' + + if os.name in ('nt', 'os2'): + _init_non_posix(_CONFIG_VARS) + if os.name == 'posix': + _init_posix(_CONFIG_VARS) + # Setting 'userbase' is done below the call to the + # init function to enable using 'get_config_var' in + # the init-function. + if sys.version >= '2.6': + _CONFIG_VARS['userbase'] = _getuserbase() + + if 'srcdir' not in _CONFIG_VARS: + _CONFIG_VARS['srcdir'] = _PROJECT_BASE + else: + _CONFIG_VARS['srcdir'] = _safe_realpath(_CONFIG_VARS['srcdir']) + + # Convert srcdir into an absolute path if it appears necessary. + # Normally it is relative to the build directory. However, during + # testing, for example, we might be running a non-installed python + # from a different directory. + if _PYTHON_BUILD and os.name == "posix": + base = _PROJECT_BASE + try: + cwd = os.getcwd() + except OSError: + cwd = None + if (not os.path.isabs(_CONFIG_VARS['srcdir']) and + base != cwd): + # srcdir is relative and we are not in the same directory + # as the executable. Assume executable is in the build + # directory and make srcdir absolute. + srcdir = os.path.join(base, _CONFIG_VARS['srcdir']) + _CONFIG_VARS['srcdir'] = os.path.normpath(srcdir) + + if sys.platform == 'darwin': + kernel_version = os.uname()[2] # Kernel version (8.4.3) + major_version = int(kernel_version.split('.')[0]) + + if major_version < 8: + # On Mac OS X before 10.4, check if -arch and -isysroot + # are in CFLAGS or LDFLAGS and remove them if they are. + # This is needed when building extensions on a 10.3 system + # using a universal build of python. + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + flags = _CONFIG_VARS[key] + flags = re.sub(r'-arch\s+\w+\s', ' ', flags) + flags = re.sub('-isysroot [^ \t]*', ' ', flags) + _CONFIG_VARS[key] = flags + else: + # Allow the user to override the architecture flags using + # an environment variable. + # NOTE: This name was introduced by Apple in OSX 10.5 and + # is used by several scripting languages distributed with + # that OS release. + if 'ARCHFLAGS' in os.environ: + arch = os.environ['ARCHFLAGS'] + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + + flags = _CONFIG_VARS[key] + flags = re.sub(r'-arch\s+\w+\s', ' ', flags) + flags = flags + ' ' + arch + _CONFIG_VARS[key] = flags + + # If we're on OSX 10.5 or later and the user tries to + # compiles an extension using an SDK that is not present + # on the current machine it is better to not use an SDK + # than to fail. + # + # The major usecase for this is users using a Python.org + # binary installer on OSX 10.6: that installer uses + # the 10.4u SDK, but that SDK is not installed by default + # when you install Xcode. + # + CFLAGS = _CONFIG_VARS.get('CFLAGS', '') + m = re.search(r'-isysroot\s+(\S+)', CFLAGS) + if m is not None: + sdk = m.group(1) + if not os.path.exists(sdk): + for key in ('LDFLAGS', 'BASECFLAGS', + # a number of derived variables. These need to be + # patched up as well. + 'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'): + + flags = _CONFIG_VARS[key] + flags = re.sub(r'-isysroot\s+\S+(\s|$)', ' ', flags) + _CONFIG_VARS[key] = flags + + if args: + vals = [] + for name in args: + vals.append(_CONFIG_VARS.get(name)) + return vals + else: + return _CONFIG_VARS + + +def get_config_var(name): + """Return the value of a single variable using the dictionary returned by + 'get_config_vars()'. + + Equivalent to get_config_vars().get(name) + """ + return get_config_vars().get(name) + + +def get_platform(): + """Return a string that identifies the current platform. + + This is used mainly to distinguish platform-specific build directories and + platform-specific built distributions. Typically includes the OS name + and version and the architecture (as supplied by 'os.uname()'), + although the exact information included depends on the OS; eg. for IRIX + the architecture isn't particularly important (IRIX only runs on SGI + hardware), but for Linux the kernel version isn't particularly + important. + + Examples of returned values: + linux-i586 + linux-alpha (?) + solaris-2.6-sun4u + irix-5.3 + irix64-6.2 + + Windows will return one of: + win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc) + win-ia64 (64bit Windows on Itanium) + win32 (all others - specifically, sys.platform is returned) + + For other non-POSIX platforms, currently just returns 'sys.platform'. + """ + if os.name == 'nt': + # sniff sys.version for architecture. + prefix = " bit (" + i = sys.version.find(prefix) + if i == -1: + return sys.platform + j = sys.version.find(")", i) + look = sys.version[i+len(prefix):j].lower() + if look == 'amd64': + return 'win-amd64' + if look == 'itanium': + return 'win-ia64' + return sys.platform + + if os.name != "posix" or not hasattr(os, 'uname'): + # XXX what about the architecture? NT is Intel or Alpha, + # Mac OS is M68k or PPC, etc. + return sys.platform + + # Try to distinguish various flavours of Unix + osname, host, release, version, machine = os.uname() + + # Convert the OS name to lowercase, remove '/' characters + # (to accommodate BSD/OS), and translate spaces (for "Power Macintosh") + osname = osname.lower().replace('/', '') + machine = machine.replace(' ', '_') + machine = machine.replace('/', '-') + + if osname[:5] == "linux": + # At least on Linux/Intel, 'machine' is the processor -- + # i386, etc. + # XXX what about Alpha, SPARC, etc? + return "%s-%s" % (osname, machine) + elif osname[:5] == "sunos": + if release[0] >= "5": # SunOS 5 == Solaris 2 + osname = "solaris" + release = "%d.%s" % (int(release[0]) - 3, release[2:]) + # fall through to standard osname-release-machine representation + elif osname[:4] == "irix": # could be "irix64"! + return "%s-%s" % (osname, release) + elif osname[:3] == "aix": + return "%s-%s.%s" % (osname, version, release) + elif osname[:6] == "cygwin": + osname = "cygwin" + rel_re = re.compile(r'[\d.]+') + m = rel_re.match(release) + if m: + release = m.group() + elif osname[:6] == "darwin": + # + # For our purposes, we'll assume that the system version from + # distutils' perspective is what MACOSX_DEPLOYMENT_TARGET is set + # to. This makes the compatibility story a bit more sane because the + # machine is going to compile and link as if it were + # MACOSX_DEPLOYMENT_TARGET. + cfgvars = get_config_vars() + macver = cfgvars.get('MACOSX_DEPLOYMENT_TARGET') + + if True: + # Always calculate the release of the running machine, + # needed to determine if we can build fat binaries or not. + + macrelease = macver + # Get the system version. Reading this plist is a documented + # way to get the system version (see the documentation for + # the Gestalt Manager) + try: + f = open('/System/Library/CoreServices/SystemVersion.plist') + except IOError: + # We're on a plain darwin box, fall back to the default + # behaviour. + pass + else: + try: + m = re.search(r'<key>ProductUserVisibleVersion</key>\s*' + r'<string>(.*?)</string>', f.read()) + finally: + f.close() + if m is not None: + macrelease = '.'.join(m.group(1).split('.')[:2]) + # else: fall back to the default behaviour + + if not macver: + macver = macrelease + + if macver: + release = macver + osname = "macosx" + + if ((macrelease + '.') >= '10.4.' and + '-arch' in get_config_vars().get('CFLAGS', '').strip()): + # The universal build will build fat binaries, but not on + # systems before 10.4 + # + # Try to detect 4-way universal builds, those have machine-type + # 'universal' instead of 'fat'. + + machine = 'fat' + cflags = get_config_vars().get('CFLAGS') + + archs = re.findall(r'-arch\s+(\S+)', cflags) + archs = tuple(sorted(set(archs))) + + if len(archs) == 1: + machine = archs[0] + elif archs == ('i386', 'ppc'): + machine = 'fat' + elif archs == ('i386', 'x86_64'): + machine = 'intel' + elif archs == ('i386', 'ppc', 'x86_64'): + machine = 'fat3' + elif archs == ('ppc64', 'x86_64'): + machine = 'fat64' + elif archs == ('i386', 'ppc', 'ppc64', 'x86_64'): + machine = 'universal' + else: + raise ValueError( + "Don't know machine value for archs=%r" % (archs,)) + + elif machine == 'i386': + # On OSX the machine type returned by uname is always the + # 32-bit variant, even if the executable architecture is + # the 64-bit variant + if sys.maxsize >= 2**32: + machine = 'x86_64' + + elif machine in ('PowerPC', 'Power_Macintosh'): + # Pick a sane name for the PPC architecture. + # See 'i386' case + if sys.maxsize >= 2**32: + machine = 'ppc64' + else: + machine = 'ppc' + + return "%s-%s-%s" % (osname, release, machine) + + +def get_python_version(): + return _PY_VERSION_SHORT + + +def _print_dict(title, data): + for index, (key, value) in enumerate(sorted(data.items())): + if index == 0: + print('%s: ' % (title)) + print('\t%s = "%s"' % (key, value)) + + +def _main(): + """Display all information sysconfig detains.""" + print('Platform: "%s"' % get_platform()) + print('Python version: "%s"' % get_python_version()) + print('Current installation scheme: "%s"' % _get_default_scheme()) + print() + _print_dict('Paths', get_paths()) + print() + _print_dict('Variables', get_config_vars()) + + +if __name__ == '__main__': + _main() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/tarfile.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/tarfile.py new file mode 100644 index 0000000000..d66d856637 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/_backport/tarfile.py @@ -0,0 +1,2607 @@ +#------------------------------------------------------------------- +# tarfile.py +#------------------------------------------------------------------- +# Copyright (C) 2002 Lars Gustaebel <lars@gustaebel.de> +# All rights reserved. +# +# 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. +# +from __future__ import print_function + +"""Read from and write to tar format archives. +""" + +__version__ = "$Revision$" + +version = "0.9.0" +__author__ = "Lars Gust\u00e4bel (lars@gustaebel.de)" +__date__ = "$Date: 2011-02-25 17:42:01 +0200 (Fri, 25 Feb 2011) $" +__cvsid__ = "$Id: tarfile.py 88586 2011-02-25 15:42:01Z marc-andre.lemburg $" +__credits__ = "Gustavo Niemeyer, Niels Gust\u00e4bel, Richard Townsend." + +#--------- +# Imports +#--------- +import sys +import os +import stat +import errno +import time +import struct +import copy +import re + +try: + import grp, pwd +except ImportError: + grp = pwd = None + +# os.symlink on Windows prior to 6.0 raises NotImplementedError +symlink_exception = (AttributeError, NotImplementedError) +try: + # WindowsError (1314) will be raised if the caller does not hold the + # SeCreateSymbolicLinkPrivilege privilege + symlink_exception += (WindowsError,) +except NameError: + pass + +# from tarfile import * +__all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError"] + +if sys.version_info[0] < 3: + import __builtin__ as builtins +else: + import builtins + +_open = builtins.open # Since 'open' is TarFile.open + +#--------------------------------------------------------- +# tar constants +#--------------------------------------------------------- +NUL = b"\0" # the null character +BLOCKSIZE = 512 # length of processing blocks +RECORDSIZE = BLOCKSIZE * 20 # length of records +GNU_MAGIC = b"ustar \0" # magic gnu tar string +POSIX_MAGIC = b"ustar\x0000" # magic posix tar string + +LENGTH_NAME = 100 # maximum length of a filename +LENGTH_LINK = 100 # maximum length of a linkname +LENGTH_PREFIX = 155 # maximum length of the prefix field + +REGTYPE = b"0" # regular file +AREGTYPE = b"\0" # regular file +LNKTYPE = b"1" # link (inside tarfile) +SYMTYPE = b"2" # symbolic link +CHRTYPE = b"3" # character special device +BLKTYPE = b"4" # block special device +DIRTYPE = b"5" # directory +FIFOTYPE = b"6" # fifo special device +CONTTYPE = b"7" # contiguous file + +GNUTYPE_LONGNAME = b"L" # GNU tar longname +GNUTYPE_LONGLINK = b"K" # GNU tar longlink +GNUTYPE_SPARSE = b"S" # GNU tar sparse file + +XHDTYPE = b"x" # POSIX.1-2001 extended header +XGLTYPE = b"g" # POSIX.1-2001 global header +SOLARIS_XHDTYPE = b"X" # Solaris extended header + +USTAR_FORMAT = 0 # POSIX.1-1988 (ustar) format +GNU_FORMAT = 1 # GNU tar format +PAX_FORMAT = 2 # POSIX.1-2001 (pax) format +DEFAULT_FORMAT = GNU_FORMAT + +#--------------------------------------------------------- +# tarfile constants +#--------------------------------------------------------- +# File types that tarfile supports: +SUPPORTED_TYPES = (REGTYPE, AREGTYPE, LNKTYPE, + SYMTYPE, DIRTYPE, FIFOTYPE, + CONTTYPE, CHRTYPE, BLKTYPE, + GNUTYPE_LONGNAME, GNUTYPE_LONGLINK, + GNUTYPE_SPARSE) + +# File types that will be treated as a regular file. +REGULAR_TYPES = (REGTYPE, AREGTYPE, + CONTTYPE, GNUTYPE_SPARSE) + +# File types that are part of the GNU tar format. +GNU_TYPES = (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK, + GNUTYPE_SPARSE) + +# Fields from a pax header that override a TarInfo attribute. +PAX_FIELDS = ("path", "linkpath", "size", "mtime", + "uid", "gid", "uname", "gname") + +# Fields from a pax header that are affected by hdrcharset. +PAX_NAME_FIELDS = set(("path", "linkpath", "uname", "gname")) + +# Fields in a pax header that are numbers, all other fields +# are treated as strings. +PAX_NUMBER_FIELDS = { + "atime": float, + "ctime": float, + "mtime": float, + "uid": int, + "gid": int, + "size": int +} + +#--------------------------------------------------------- +# Bits used in the mode field, values in octal. +#--------------------------------------------------------- +S_IFLNK = 0o120000 # symbolic link +S_IFREG = 0o100000 # regular file +S_IFBLK = 0o060000 # block device +S_IFDIR = 0o040000 # directory +S_IFCHR = 0o020000 # character device +S_IFIFO = 0o010000 # fifo + +TSUID = 0o4000 # set UID on execution +TSGID = 0o2000 # set GID on execution +TSVTX = 0o1000 # reserved + +TUREAD = 0o400 # read by owner +TUWRITE = 0o200 # write by owner +TUEXEC = 0o100 # execute/search by owner +TGREAD = 0o040 # read by group +TGWRITE = 0o020 # write by group +TGEXEC = 0o010 # execute/search by group +TOREAD = 0o004 # read by other +TOWRITE = 0o002 # write by other +TOEXEC = 0o001 # execute/search by other + +#--------------------------------------------------------- +# initialization +#--------------------------------------------------------- +if os.name in ("nt", "ce"): + ENCODING = "utf-8" +else: + ENCODING = sys.getfilesystemencoding() + +#--------------------------------------------------------- +# Some useful functions +#--------------------------------------------------------- + +def stn(s, length, encoding, errors): + """Convert a string to a null-terminated bytes object. + """ + s = s.encode(encoding, errors) + return s[:length] + (length - len(s)) * NUL + +def nts(s, encoding, errors): + """Convert a null-terminated bytes object to a string. + """ + p = s.find(b"\0") + if p != -1: + s = s[:p] + return s.decode(encoding, errors) + +def nti(s): + """Convert a number field to a python number. + """ + # There are two possible encodings for a number field, see + # itn() below. + if s[0] != chr(0o200): + try: + n = int(nts(s, "ascii", "strict") or "0", 8) + except ValueError: + raise InvalidHeaderError("invalid header") + else: + n = 0 + for i in range(len(s) - 1): + n <<= 8 + n += ord(s[i + 1]) + return n + +def itn(n, digits=8, format=DEFAULT_FORMAT): + """Convert a python number to a number field. + """ + # POSIX 1003.1-1988 requires numbers to be encoded as a string of + # octal digits followed by a null-byte, this allows values up to + # (8**(digits-1))-1. GNU tar allows storing numbers greater than + # that if necessary. A leading 0o200 byte indicates this particular + # encoding, the following digits-1 bytes are a big-endian + # representation. This allows values up to (256**(digits-1))-1. + if 0 <= n < 8 ** (digits - 1): + s = ("%0*o" % (digits - 1, n)).encode("ascii") + NUL + else: + if format != GNU_FORMAT or n >= 256 ** (digits - 1): + raise ValueError("overflow in number field") + + if n < 0: + # XXX We mimic GNU tar's behaviour with negative numbers, + # this could raise OverflowError. + n = struct.unpack("L", struct.pack("l", n))[0] + + s = bytearray() + for i in range(digits - 1): + s.insert(0, n & 0o377) + n >>= 8 + s.insert(0, 0o200) + return s + +def calc_chksums(buf): + """Calculate the checksum for a member's header by summing up all + characters except for the chksum field which is treated as if + it was filled with spaces. According to the GNU tar sources, + some tars (Sun and NeXT) calculate chksum with signed char, + which will be different if there are chars in the buffer with + the high bit set. So we calculate two checksums, unsigned and + signed. + """ + unsigned_chksum = 256 + sum(struct.unpack("148B", buf[:148]) + struct.unpack("356B", buf[156:512])) + signed_chksum = 256 + sum(struct.unpack("148b", buf[:148]) + struct.unpack("356b", buf[156:512])) + return unsigned_chksum, signed_chksum + +def copyfileobj(src, dst, length=None): + """Copy length bytes from fileobj src to fileobj dst. + If length is None, copy the entire content. + """ + if length == 0: + return + if length is None: + while True: + buf = src.read(16*1024) + if not buf: + break + dst.write(buf) + return + + BUFSIZE = 16 * 1024 + blocks, remainder = divmod(length, BUFSIZE) + for b in range(blocks): + buf = src.read(BUFSIZE) + if len(buf) < BUFSIZE: + raise IOError("end of file reached") + dst.write(buf) + + if remainder != 0: + buf = src.read(remainder) + if len(buf) < remainder: + raise IOError("end of file reached") + dst.write(buf) + return + +filemode_table = ( + ((S_IFLNK, "l"), + (S_IFREG, "-"), + (S_IFBLK, "b"), + (S_IFDIR, "d"), + (S_IFCHR, "c"), + (S_IFIFO, "p")), + + ((TUREAD, "r"),), + ((TUWRITE, "w"),), + ((TUEXEC|TSUID, "s"), + (TSUID, "S"), + (TUEXEC, "x")), + + ((TGREAD, "r"),), + ((TGWRITE, "w"),), + ((TGEXEC|TSGID, "s"), + (TSGID, "S"), + (TGEXEC, "x")), + + ((TOREAD, "r"),), + ((TOWRITE, "w"),), + ((TOEXEC|TSVTX, "t"), + (TSVTX, "T"), + (TOEXEC, "x")) +) + +def filemode(mode): + """Convert a file's mode to a string of the form + -rwxrwxrwx. + Used by TarFile.list() + """ + perm = [] + for table in filemode_table: + for bit, char in table: + if mode & bit == bit: + perm.append(char) + break + else: + perm.append("-") + return "".join(perm) + +class TarError(Exception): + """Base exception.""" + pass +class ExtractError(TarError): + """General exception for extract errors.""" + pass +class ReadError(TarError): + """Exception for unreadable tar archives.""" + pass +class CompressionError(TarError): + """Exception for unavailable compression methods.""" + pass +class StreamError(TarError): + """Exception for unsupported operations on stream-like TarFiles.""" + pass +class HeaderError(TarError): + """Base exception for header errors.""" + pass +class EmptyHeaderError(HeaderError): + """Exception for empty headers.""" + pass +class TruncatedHeaderError(HeaderError): + """Exception for truncated headers.""" + pass +class EOFHeaderError(HeaderError): + """Exception for end of file headers.""" + pass +class InvalidHeaderError(HeaderError): + """Exception for invalid headers.""" + pass +class SubsequentHeaderError(HeaderError): + """Exception for missing and invalid extended headers.""" + pass + +#--------------------------- +# internal stream interface +#--------------------------- +class _LowLevelFile(object): + """Low-level file object. Supports reading and writing. + It is used instead of a regular file object for streaming + access. + """ + + def __init__(self, name, mode): + mode = { + "r": os.O_RDONLY, + "w": os.O_WRONLY | os.O_CREAT | os.O_TRUNC, + }[mode] + if hasattr(os, "O_BINARY"): + mode |= os.O_BINARY + self.fd = os.open(name, mode, 0o666) + + def close(self): + os.close(self.fd) + + def read(self, size): + return os.read(self.fd, size) + + def write(self, s): + os.write(self.fd, s) + +class _Stream(object): + """Class that serves as an adapter between TarFile and + a stream-like object. The stream-like object only + needs to have a read() or write() method and is accessed + blockwise. Use of gzip or bzip2 compression is possible. + A stream-like object could be for example: sys.stdin, + sys.stdout, a socket, a tape device etc. + + _Stream is intended to be used only internally. + """ + + def __init__(self, name, mode, comptype, fileobj, bufsize): + """Construct a _Stream object. + """ + self._extfileobj = True + if fileobj is None: + fileobj = _LowLevelFile(name, mode) + self._extfileobj = False + + if comptype == '*': + # Enable transparent compression detection for the + # stream interface + fileobj = _StreamProxy(fileobj) + comptype = fileobj.getcomptype() + + self.name = name or "" + self.mode = mode + self.comptype = comptype + self.fileobj = fileobj + self.bufsize = bufsize + self.buf = b"" + self.pos = 0 + self.closed = False + + try: + if comptype == "gz": + try: + import zlib + except ImportError: + raise CompressionError("zlib module is not available") + self.zlib = zlib + self.crc = zlib.crc32(b"") + if mode == "r": + self._init_read_gz() + else: + self._init_write_gz() + + if comptype == "bz2": + try: + import bz2 + except ImportError: + raise CompressionError("bz2 module is not available") + if mode == "r": + self.dbuf = b"" + self.cmp = bz2.BZ2Decompressor() + else: + self.cmp = bz2.BZ2Compressor() + except: + if not self._extfileobj: + self.fileobj.close() + self.closed = True + raise + + def __del__(self): + if hasattr(self, "closed") and not self.closed: + self.close() + + def _init_write_gz(self): + """Initialize for writing with gzip compression. + """ + self.cmp = self.zlib.compressobj(9, self.zlib.DEFLATED, + -self.zlib.MAX_WBITS, + self.zlib.DEF_MEM_LEVEL, + 0) + timestamp = struct.pack("<L", int(time.time())) + self.__write(b"\037\213\010\010" + timestamp + b"\002\377") + if self.name.endswith(".gz"): + self.name = self.name[:-3] + # RFC1952 says we must use ISO-8859-1 for the FNAME field. + self.__write(self.name.encode("iso-8859-1", "replace") + NUL) + + def write(self, s): + """Write string s to the stream. + """ + if self.comptype == "gz": + self.crc = self.zlib.crc32(s, self.crc) + self.pos += len(s) + if self.comptype != "tar": + s = self.cmp.compress(s) + self.__write(s) + + def __write(self, s): + """Write string s to the stream if a whole new block + is ready to be written. + """ + self.buf += s + while len(self.buf) > self.bufsize: + self.fileobj.write(self.buf[:self.bufsize]) + self.buf = self.buf[self.bufsize:] + + def close(self): + """Close the _Stream object. No operation should be + done on it afterwards. + """ + if self.closed: + return + + if self.mode == "w" and self.comptype != "tar": + self.buf += self.cmp.flush() + + if self.mode == "w" and self.buf: + self.fileobj.write(self.buf) + self.buf = b"" + if self.comptype == "gz": + # The native zlib crc is an unsigned 32-bit integer, but + # the Python wrapper implicitly casts that to a signed C + # long. So, on a 32-bit box self.crc may "look negative", + # while the same crc on a 64-bit box may "look positive". + # To avoid irksome warnings from the `struct` module, force + # it to look positive on all boxes. + self.fileobj.write(struct.pack("<L", self.crc & 0xffffffff)) + self.fileobj.write(struct.pack("<L", self.pos & 0xffffFFFF)) + + if not self._extfileobj: + self.fileobj.close() + + self.closed = True + + def _init_read_gz(self): + """Initialize for reading a gzip compressed fileobj. + """ + self.cmp = self.zlib.decompressobj(-self.zlib.MAX_WBITS) + self.dbuf = b"" + + # taken from gzip.GzipFile with some alterations + if self.__read(2) != b"\037\213": + raise ReadError("not a gzip file") + if self.__read(1) != b"\010": + raise CompressionError("unsupported compression method") + + flag = ord(self.__read(1)) + self.__read(6) + + if flag & 4: + xlen = ord(self.__read(1)) + 256 * ord(self.__read(1)) + self.read(xlen) + if flag & 8: + while True: + s = self.__read(1) + if not s or s == NUL: + break + if flag & 16: + while True: + s = self.__read(1) + if not s or s == NUL: + break + if flag & 2: + self.__read(2) + + def tell(self): + """Return the stream's file pointer position. + """ + return self.pos + + def seek(self, pos=0): + """Set the stream's file pointer to pos. Negative seeking + is forbidden. + """ + if pos - self.pos >= 0: + blocks, remainder = divmod(pos - self.pos, self.bufsize) + for i in range(blocks): + self.read(self.bufsize) + self.read(remainder) + else: + raise StreamError("seeking backwards is not allowed") + return self.pos + + def read(self, size=None): + """Return the next size number of bytes from the stream. + If size is not defined, return all bytes of the stream + up to EOF. + """ + if size is None: + t = [] + while True: + buf = self._read(self.bufsize) + if not buf: + break + t.append(buf) + buf = "".join(t) + else: + buf = self._read(size) + self.pos += len(buf) + return buf + + def _read(self, size): + """Return size bytes from the stream. + """ + if self.comptype == "tar": + return self.__read(size) + + c = len(self.dbuf) + while c < size: + buf = self.__read(self.bufsize) + if not buf: + break + try: + buf = self.cmp.decompress(buf) + except IOError: + raise ReadError("invalid compressed data") + self.dbuf += buf + c += len(buf) + buf = self.dbuf[:size] + self.dbuf = self.dbuf[size:] + return buf + + def __read(self, size): + """Return size bytes from stream. If internal buffer is empty, + read another block from the stream. + """ + c = len(self.buf) + while c < size: + buf = self.fileobj.read(self.bufsize) + if not buf: + break + self.buf += buf + c += len(buf) + buf = self.buf[:size] + self.buf = self.buf[size:] + return buf +# class _Stream + +class _StreamProxy(object): + """Small proxy class that enables transparent compression + detection for the Stream interface (mode 'r|*'). + """ + + def __init__(self, fileobj): + self.fileobj = fileobj + self.buf = self.fileobj.read(BLOCKSIZE) + + def read(self, size): + self.read = self.fileobj.read + return self.buf + + def getcomptype(self): + if self.buf.startswith(b"\037\213\010"): + return "gz" + if self.buf.startswith(b"BZh91"): + return "bz2" + return "tar" + + def close(self): + self.fileobj.close() +# class StreamProxy + +class _BZ2Proxy(object): + """Small proxy class that enables external file object + support for "r:bz2" and "w:bz2" modes. This is actually + a workaround for a limitation in bz2 module's BZ2File + class which (unlike gzip.GzipFile) has no support for + a file object argument. + """ + + blocksize = 16 * 1024 + + def __init__(self, fileobj, mode): + self.fileobj = fileobj + self.mode = mode + self.name = getattr(self.fileobj, "name", None) + self.init() + + def init(self): + import bz2 + self.pos = 0 + if self.mode == "r": + self.bz2obj = bz2.BZ2Decompressor() + self.fileobj.seek(0) + self.buf = b"" + else: + self.bz2obj = bz2.BZ2Compressor() + + def read(self, size): + x = len(self.buf) + while x < size: + raw = self.fileobj.read(self.blocksize) + if not raw: + break + data = self.bz2obj.decompress(raw) + self.buf += data + x += len(data) + + buf = self.buf[:size] + self.buf = self.buf[size:] + self.pos += len(buf) + return buf + + def seek(self, pos): + if pos < self.pos: + self.init() + self.read(pos - self.pos) + + def tell(self): + return self.pos + + def write(self, data): + self.pos += len(data) + raw = self.bz2obj.compress(data) + self.fileobj.write(raw) + + def close(self): + if self.mode == "w": + raw = self.bz2obj.flush() + self.fileobj.write(raw) +# class _BZ2Proxy + +#------------------------ +# Extraction file object +#------------------------ +class _FileInFile(object): + """A thin wrapper around an existing file object that + provides a part of its data as an individual file + object. + """ + + def __init__(self, fileobj, offset, size, blockinfo=None): + self.fileobj = fileobj + self.offset = offset + self.size = size + self.position = 0 + + if blockinfo is None: + blockinfo = [(0, size)] + + # Construct a map with data and zero blocks. + self.map_index = 0 + self.map = [] + lastpos = 0 + realpos = self.offset + for offset, size in blockinfo: + if offset > lastpos: + self.map.append((False, lastpos, offset, None)) + self.map.append((True, offset, offset + size, realpos)) + realpos += size + lastpos = offset + size + if lastpos < self.size: + self.map.append((False, lastpos, self.size, None)) + + def seekable(self): + if not hasattr(self.fileobj, "seekable"): + # XXX gzip.GzipFile and bz2.BZ2File + return True + return self.fileobj.seekable() + + def tell(self): + """Return the current file position. + """ + return self.position + + def seek(self, position): + """Seek to a position in the file. + """ + self.position = position + + def read(self, size=None): + """Read data from the file. + """ + if size is None: + size = self.size - self.position + else: + size = min(size, self.size - self.position) + + buf = b"" + while size > 0: + while True: + data, start, stop, offset = self.map[self.map_index] + if start <= self.position < stop: + break + else: + self.map_index += 1 + if self.map_index == len(self.map): + self.map_index = 0 + length = min(size, stop - self.position) + if data: + self.fileobj.seek(offset + (self.position - start)) + buf += self.fileobj.read(length) + else: + buf += NUL * length + size -= length + self.position += length + return buf +#class _FileInFile + + +class ExFileObject(object): + """File-like object for reading an archive member. + Is returned by TarFile.extractfile(). + """ + blocksize = 1024 + + def __init__(self, tarfile, tarinfo): + self.fileobj = _FileInFile(tarfile.fileobj, + tarinfo.offset_data, + tarinfo.size, + tarinfo.sparse) + self.name = tarinfo.name + self.mode = "r" + self.closed = False + self.size = tarinfo.size + + self.position = 0 + self.buffer = b"" + + def readable(self): + return True + + def writable(self): + return False + + def seekable(self): + return self.fileobj.seekable() + + def read(self, size=None): + """Read at most size bytes from the file. If size is not + present or None, read all data until EOF is reached. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + buf = b"" + if self.buffer: + if size is None: + buf = self.buffer + self.buffer = b"" + else: + buf = self.buffer[:size] + self.buffer = self.buffer[size:] + + if size is None: + buf += self.fileobj.read() + else: + buf += self.fileobj.read(size - len(buf)) + + self.position += len(buf) + return buf + + # XXX TextIOWrapper uses the read1() method. + read1 = read + + def readline(self, size=-1): + """Read one entire line from the file. If size is present + and non-negative, return a string with at most that + size, which may be an incomplete line. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + pos = self.buffer.find(b"\n") + 1 + if pos == 0: + # no newline found. + while True: + buf = self.fileobj.read(self.blocksize) + self.buffer += buf + if not buf or b"\n" in buf: + pos = self.buffer.find(b"\n") + 1 + if pos == 0: + # no newline found. + pos = len(self.buffer) + break + + if size != -1: + pos = min(size, pos) + + buf = self.buffer[:pos] + self.buffer = self.buffer[pos:] + self.position += len(buf) + return buf + + def readlines(self): + """Return a list with all remaining lines. + """ + result = [] + while True: + line = self.readline() + if not line: break + result.append(line) + return result + + def tell(self): + """Return the current file position. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + return self.position + + def seek(self, pos, whence=os.SEEK_SET): + """Seek to a position in the file. + """ + if self.closed: + raise ValueError("I/O operation on closed file") + + if whence == os.SEEK_SET: + self.position = min(max(pos, 0), self.size) + elif whence == os.SEEK_CUR: + if pos < 0: + self.position = max(self.position + pos, 0) + else: + self.position = min(self.position + pos, self.size) + elif whence == os.SEEK_END: + self.position = max(min(self.size + pos, self.size), 0) + else: + raise ValueError("Invalid argument") + + self.buffer = b"" + self.fileobj.seek(self.position) + + def close(self): + """Close the file object. + """ + self.closed = True + + def __iter__(self): + """Get an iterator over the file's lines. + """ + while True: + line = self.readline() + if not line: + break + yield line +#class ExFileObject + +#------------------ +# Exported Classes +#------------------ +class TarInfo(object): + """Informational class which holds the details about an + archive member given by a tar header block. + TarInfo objects are returned by TarFile.getmember(), + TarFile.getmembers() and TarFile.gettarinfo() and are + usually created internally. + """ + + __slots__ = ("name", "mode", "uid", "gid", "size", "mtime", + "chksum", "type", "linkname", "uname", "gname", + "devmajor", "devminor", + "offset", "offset_data", "pax_headers", "sparse", + "tarfile", "_sparse_structs", "_link_target") + + def __init__(self, name=""): + """Construct a TarInfo object. name is the optional name + of the member. + """ + self.name = name # member name + self.mode = 0o644 # file permissions + self.uid = 0 # user id + self.gid = 0 # group id + self.size = 0 # file size + self.mtime = 0 # modification time + self.chksum = 0 # header checksum + self.type = REGTYPE # member type + self.linkname = "" # link name + self.uname = "" # user name + self.gname = "" # group name + self.devmajor = 0 # device major number + self.devminor = 0 # device minor number + + self.offset = 0 # the tar header starts here + self.offset_data = 0 # the file's data starts here + + self.sparse = None # sparse member information + self.pax_headers = {} # pax header information + + # In pax headers the "name" and "linkname" field are called + # "path" and "linkpath". + def _getpath(self): + return self.name + def _setpath(self, name): + self.name = name + path = property(_getpath, _setpath) + + def _getlinkpath(self): + return self.linkname + def _setlinkpath(self, linkname): + self.linkname = linkname + linkpath = property(_getlinkpath, _setlinkpath) + + def __repr__(self): + return "<%s %r at %#x>" % (self.__class__.__name__,self.name,id(self)) + + def get_info(self): + """Return the TarInfo's attributes as a dictionary. + """ + info = { + "name": self.name, + "mode": self.mode & 0o7777, + "uid": self.uid, + "gid": self.gid, + "size": self.size, + "mtime": self.mtime, + "chksum": self.chksum, + "type": self.type, + "linkname": self.linkname, + "uname": self.uname, + "gname": self.gname, + "devmajor": self.devmajor, + "devminor": self.devminor + } + + if info["type"] == DIRTYPE and not info["name"].endswith("/"): + info["name"] += "/" + + return info + + def tobuf(self, format=DEFAULT_FORMAT, encoding=ENCODING, errors="surrogateescape"): + """Return a tar header as a string of 512 byte blocks. + """ + info = self.get_info() + + if format == USTAR_FORMAT: + return self.create_ustar_header(info, encoding, errors) + elif format == GNU_FORMAT: + return self.create_gnu_header(info, encoding, errors) + elif format == PAX_FORMAT: + return self.create_pax_header(info, encoding) + else: + raise ValueError("invalid format") + + def create_ustar_header(self, info, encoding, errors): + """Return the object as a ustar header block. + """ + info["magic"] = POSIX_MAGIC + + if len(info["linkname"]) > LENGTH_LINK: + raise ValueError("linkname is too long") + + if len(info["name"]) > LENGTH_NAME: + info["prefix"], info["name"] = self._posix_split_name(info["name"]) + + return self._create_header(info, USTAR_FORMAT, encoding, errors) + + def create_gnu_header(self, info, encoding, errors): + """Return the object as a GNU header block sequence. + """ + info["magic"] = GNU_MAGIC + + buf = b"" + if len(info["linkname"]) > LENGTH_LINK: + buf += self._create_gnu_long_header(info["linkname"], GNUTYPE_LONGLINK, encoding, errors) + + if len(info["name"]) > LENGTH_NAME: + buf += self._create_gnu_long_header(info["name"], GNUTYPE_LONGNAME, encoding, errors) + + return buf + self._create_header(info, GNU_FORMAT, encoding, errors) + + def create_pax_header(self, info, encoding): + """Return the object as a ustar header block. If it cannot be + represented this way, prepend a pax extended header sequence + with supplement information. + """ + info["magic"] = POSIX_MAGIC + pax_headers = self.pax_headers.copy() + + # Test string fields for values that exceed the field length or cannot + # be represented in ASCII encoding. + for name, hname, length in ( + ("name", "path", LENGTH_NAME), ("linkname", "linkpath", LENGTH_LINK), + ("uname", "uname", 32), ("gname", "gname", 32)): + + if hname in pax_headers: + # The pax header has priority. + continue + + # Try to encode the string as ASCII. + try: + info[name].encode("ascii", "strict") + except UnicodeEncodeError: + pax_headers[hname] = info[name] + continue + + if len(info[name]) > length: + pax_headers[hname] = info[name] + + # Test number fields for values that exceed the field limit or values + # that like to be stored as float. + for name, digits in (("uid", 8), ("gid", 8), ("size", 12), ("mtime", 12)): + if name in pax_headers: + # The pax header has priority. Avoid overflow. + info[name] = 0 + continue + + val = info[name] + if not 0 <= val < 8 ** (digits - 1) or isinstance(val, float): + pax_headers[name] = str(val) + info[name] = 0 + + # Create a pax extended header if necessary. + if pax_headers: + buf = self._create_pax_generic_header(pax_headers, XHDTYPE, encoding) + else: + buf = b"" + + return buf + self._create_header(info, USTAR_FORMAT, "ascii", "replace") + + @classmethod + def create_pax_global_header(cls, pax_headers): + """Return the object as a pax global header block sequence. + """ + return cls._create_pax_generic_header(pax_headers, XGLTYPE, "utf8") + + def _posix_split_name(self, name): + """Split a name longer than 100 chars into a prefix + and a name part. + """ + prefix = name[:LENGTH_PREFIX + 1] + while prefix and prefix[-1] != "/": + prefix = prefix[:-1] + + name = name[len(prefix):] + prefix = prefix[:-1] + + if not prefix or len(name) > LENGTH_NAME: + raise ValueError("name is too long") + return prefix, name + + @staticmethod + def _create_header(info, format, encoding, errors): + """Return a header block. info is a dictionary with file + information, format must be one of the *_FORMAT constants. + """ + parts = [ + stn(info.get("name", ""), 100, encoding, errors), + itn(info.get("mode", 0) & 0o7777, 8, format), + itn(info.get("uid", 0), 8, format), + itn(info.get("gid", 0), 8, format), + itn(info.get("size", 0), 12, format), + itn(info.get("mtime", 0), 12, format), + b" ", # checksum field + info.get("type", REGTYPE), + stn(info.get("linkname", ""), 100, encoding, errors), + info.get("magic", POSIX_MAGIC), + stn(info.get("uname", ""), 32, encoding, errors), + stn(info.get("gname", ""), 32, encoding, errors), + itn(info.get("devmajor", 0), 8, format), + itn(info.get("devminor", 0), 8, format), + stn(info.get("prefix", ""), 155, encoding, errors) + ] + + buf = struct.pack("%ds" % BLOCKSIZE, b"".join(parts)) + chksum = calc_chksums(buf[-BLOCKSIZE:])[0] + buf = buf[:-364] + ("%06o\0" % chksum).encode("ascii") + buf[-357:] + return buf + + @staticmethod + def _create_payload(payload): + """Return the string payload filled with zero bytes + up to the next 512 byte border. + """ + blocks, remainder = divmod(len(payload), BLOCKSIZE) + if remainder > 0: + payload += (BLOCKSIZE - remainder) * NUL + return payload + + @classmethod + def _create_gnu_long_header(cls, name, type, encoding, errors): + """Return a GNUTYPE_LONGNAME or GNUTYPE_LONGLINK sequence + for name. + """ + name = name.encode(encoding, errors) + NUL + + info = {} + info["name"] = "././@LongLink" + info["type"] = type + info["size"] = len(name) + info["magic"] = GNU_MAGIC + + # create extended header + name blocks. + return cls._create_header(info, USTAR_FORMAT, encoding, errors) + \ + cls._create_payload(name) + + @classmethod + def _create_pax_generic_header(cls, pax_headers, type, encoding): + """Return a POSIX.1-2008 extended or global header sequence + that contains a list of keyword, value pairs. The values + must be strings. + """ + # Check if one of the fields contains surrogate characters and thereby + # forces hdrcharset=BINARY, see _proc_pax() for more information. + binary = False + for keyword, value in pax_headers.items(): + try: + value.encode("utf8", "strict") + except UnicodeEncodeError: + binary = True + break + + records = b"" + if binary: + # Put the hdrcharset field at the beginning of the header. + records += b"21 hdrcharset=BINARY\n" + + for keyword, value in pax_headers.items(): + keyword = keyword.encode("utf8") + if binary: + # Try to restore the original byte representation of `value'. + # Needless to say, that the encoding must match the string. + value = value.encode(encoding, "surrogateescape") + else: + value = value.encode("utf8") + + l = len(keyword) + len(value) + 3 # ' ' + '=' + '\n' + n = p = 0 + while True: + n = l + len(str(p)) + if n == p: + break + p = n + records += bytes(str(p), "ascii") + b" " + keyword + b"=" + value + b"\n" + + # We use a hardcoded "././@PaxHeader" name like star does + # instead of the one that POSIX recommends. + info = {} + info["name"] = "././@PaxHeader" + info["type"] = type + info["size"] = len(records) + info["magic"] = POSIX_MAGIC + + # Create pax header + record blocks. + return cls._create_header(info, USTAR_FORMAT, "ascii", "replace") + \ + cls._create_payload(records) + + @classmethod + def frombuf(cls, buf, encoding, errors): + """Construct a TarInfo object from a 512 byte bytes object. + """ + if len(buf) == 0: + raise EmptyHeaderError("empty header") + if len(buf) != BLOCKSIZE: + raise TruncatedHeaderError("truncated header") + if buf.count(NUL) == BLOCKSIZE: + raise EOFHeaderError("end of file header") + + chksum = nti(buf[148:156]) + if chksum not in calc_chksums(buf): + raise InvalidHeaderError("bad checksum") + + obj = cls() + obj.name = nts(buf[0:100], encoding, errors) + obj.mode = nti(buf[100:108]) + obj.uid = nti(buf[108:116]) + obj.gid = nti(buf[116:124]) + obj.size = nti(buf[124:136]) + obj.mtime = nti(buf[136:148]) + obj.chksum = chksum + obj.type = buf[156:157] + obj.linkname = nts(buf[157:257], encoding, errors) + obj.uname = nts(buf[265:297], encoding, errors) + obj.gname = nts(buf[297:329], encoding, errors) + obj.devmajor = nti(buf[329:337]) + obj.devminor = nti(buf[337:345]) + prefix = nts(buf[345:500], encoding, errors) + + # Old V7 tar format represents a directory as a regular + # file with a trailing slash. + if obj.type == AREGTYPE and obj.name.endswith("/"): + obj.type = DIRTYPE + + # The old GNU sparse format occupies some of the unused + # space in the buffer for up to 4 sparse structures. + # Save the them for later processing in _proc_sparse(). + if obj.type == GNUTYPE_SPARSE: + pos = 386 + structs = [] + for i in range(4): + try: + offset = nti(buf[pos:pos + 12]) + numbytes = nti(buf[pos + 12:pos + 24]) + except ValueError: + break + structs.append((offset, numbytes)) + pos += 24 + isextended = bool(buf[482]) + origsize = nti(buf[483:495]) + obj._sparse_structs = (structs, isextended, origsize) + + # Remove redundant slashes from directories. + if obj.isdir(): + obj.name = obj.name.rstrip("/") + + # Reconstruct a ustar longname. + if prefix and obj.type not in GNU_TYPES: + obj.name = prefix + "/" + obj.name + return obj + + @classmethod + def fromtarfile(cls, tarfile): + """Return the next TarInfo object from TarFile object + tarfile. + """ + buf = tarfile.fileobj.read(BLOCKSIZE) + obj = cls.frombuf(buf, tarfile.encoding, tarfile.errors) + obj.offset = tarfile.fileobj.tell() - BLOCKSIZE + return obj._proc_member(tarfile) + + #-------------------------------------------------------------------------- + # The following are methods that are called depending on the type of a + # member. The entry point is _proc_member() which can be overridden in a + # subclass to add custom _proc_*() methods. A _proc_*() method MUST + # implement the following + # operations: + # 1. Set self.offset_data to the position where the data blocks begin, + # if there is data that follows. + # 2. Set tarfile.offset to the position where the next member's header will + # begin. + # 3. Return self or another valid TarInfo object. + def _proc_member(self, tarfile): + """Choose the right processing method depending on + the type and call it. + """ + if self.type in (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK): + return self._proc_gnulong(tarfile) + elif self.type == GNUTYPE_SPARSE: + return self._proc_sparse(tarfile) + elif self.type in (XHDTYPE, XGLTYPE, SOLARIS_XHDTYPE): + return self._proc_pax(tarfile) + else: + return self._proc_builtin(tarfile) + + def _proc_builtin(self, tarfile): + """Process a builtin type or an unknown type which + will be treated as a regular file. + """ + self.offset_data = tarfile.fileobj.tell() + offset = self.offset_data + if self.isreg() or self.type not in SUPPORTED_TYPES: + # Skip the following data blocks. + offset += self._block(self.size) + tarfile.offset = offset + + # Patch the TarInfo object with saved global + # header information. + self._apply_pax_info(tarfile.pax_headers, tarfile.encoding, tarfile.errors) + + return self + + def _proc_gnulong(self, tarfile): + """Process the blocks that hold a GNU longname + or longlink member. + """ + buf = tarfile.fileobj.read(self._block(self.size)) + + # Fetch the next header and process it. + try: + next = self.fromtarfile(tarfile) + except HeaderError: + raise SubsequentHeaderError("missing or bad subsequent header") + + # Patch the TarInfo object from the next header with + # the longname information. + next.offset = self.offset + if self.type == GNUTYPE_LONGNAME: + next.name = nts(buf, tarfile.encoding, tarfile.errors) + elif self.type == GNUTYPE_LONGLINK: + next.linkname = nts(buf, tarfile.encoding, tarfile.errors) + + return next + + def _proc_sparse(self, tarfile): + """Process a GNU sparse header plus extra headers. + """ + # We already collected some sparse structures in frombuf(). + structs, isextended, origsize = self._sparse_structs + del self._sparse_structs + + # Collect sparse structures from extended header blocks. + while isextended: + buf = tarfile.fileobj.read(BLOCKSIZE) + pos = 0 + for i in range(21): + try: + offset = nti(buf[pos:pos + 12]) + numbytes = nti(buf[pos + 12:pos + 24]) + except ValueError: + break + if offset and numbytes: + structs.append((offset, numbytes)) + pos += 24 + isextended = bool(buf[504]) + self.sparse = structs + + self.offset_data = tarfile.fileobj.tell() + tarfile.offset = self.offset_data + self._block(self.size) + self.size = origsize + return self + + def _proc_pax(self, tarfile): + """Process an extended or global header as described in + POSIX.1-2008. + """ + # Read the header information. + buf = tarfile.fileobj.read(self._block(self.size)) + + # A pax header stores supplemental information for either + # the following file (extended) or all following files + # (global). + if self.type == XGLTYPE: + pax_headers = tarfile.pax_headers + else: + pax_headers = tarfile.pax_headers.copy() + + # Check if the pax header contains a hdrcharset field. This tells us + # the encoding of the path, linkpath, uname and gname fields. Normally, + # these fields are UTF-8 encoded but since POSIX.1-2008 tar + # implementations are allowed to store them as raw binary strings if + # the translation to UTF-8 fails. + match = re.search(br"\d+ hdrcharset=([^\n]+)\n", buf) + if match is not None: + pax_headers["hdrcharset"] = match.group(1).decode("utf8") + + # For the time being, we don't care about anything other than "BINARY". + # The only other value that is currently allowed by the standard is + # "ISO-IR 10646 2000 UTF-8" in other words UTF-8. + hdrcharset = pax_headers.get("hdrcharset") + if hdrcharset == "BINARY": + encoding = tarfile.encoding + else: + encoding = "utf8" + + # Parse pax header information. A record looks like that: + # "%d %s=%s\n" % (length, keyword, value). length is the size + # of the complete record including the length field itself and + # the newline. keyword and value are both UTF-8 encoded strings. + regex = re.compile(br"(\d+) ([^=]+)=") + pos = 0 + while True: + match = regex.match(buf, pos) + if not match: + break + + length, keyword = match.groups() + length = int(length) + value = buf[match.end(2) + 1:match.start(1) + length - 1] + + # Normally, we could just use "utf8" as the encoding and "strict" + # as the error handler, but we better not take the risk. For + # example, GNU tar <= 1.23 is known to store filenames it cannot + # translate to UTF-8 as raw strings (unfortunately without a + # hdrcharset=BINARY header). + # We first try the strict standard encoding, and if that fails we + # fall back on the user's encoding and error handler. + keyword = self._decode_pax_field(keyword, "utf8", "utf8", + tarfile.errors) + if keyword in PAX_NAME_FIELDS: + value = self._decode_pax_field(value, encoding, tarfile.encoding, + tarfile.errors) + else: + value = self._decode_pax_field(value, "utf8", "utf8", + tarfile.errors) + + pax_headers[keyword] = value + pos += length + + # Fetch the next header. + try: + next = self.fromtarfile(tarfile) + except HeaderError: + raise SubsequentHeaderError("missing or bad subsequent header") + + # Process GNU sparse information. + if "GNU.sparse.map" in pax_headers: + # GNU extended sparse format version 0.1. + self._proc_gnusparse_01(next, pax_headers) + + elif "GNU.sparse.size" in pax_headers: + # GNU extended sparse format version 0.0. + self._proc_gnusparse_00(next, pax_headers, buf) + + elif pax_headers.get("GNU.sparse.major") == "1" and pax_headers.get("GNU.sparse.minor") == "0": + # GNU extended sparse format version 1.0. + self._proc_gnusparse_10(next, pax_headers, tarfile) + + if self.type in (XHDTYPE, SOLARIS_XHDTYPE): + # Patch the TarInfo object with the extended header info. + next._apply_pax_info(pax_headers, tarfile.encoding, tarfile.errors) + next.offset = self.offset + + if "size" in pax_headers: + # If the extended header replaces the size field, + # we need to recalculate the offset where the next + # header starts. + offset = next.offset_data + if next.isreg() or next.type not in SUPPORTED_TYPES: + offset += next._block(next.size) + tarfile.offset = offset + + return next + + def _proc_gnusparse_00(self, next, pax_headers, buf): + """Process a GNU tar extended sparse header, version 0.0. + """ + offsets = [] + for match in re.finditer(br"\d+ GNU.sparse.offset=(\d+)\n", buf): + offsets.append(int(match.group(1))) + numbytes = [] + for match in re.finditer(br"\d+ GNU.sparse.numbytes=(\d+)\n", buf): + numbytes.append(int(match.group(1))) + next.sparse = list(zip(offsets, numbytes)) + + def _proc_gnusparse_01(self, next, pax_headers): + """Process a GNU tar extended sparse header, version 0.1. + """ + sparse = [int(x) for x in pax_headers["GNU.sparse.map"].split(",")] + next.sparse = list(zip(sparse[::2], sparse[1::2])) + + def _proc_gnusparse_10(self, next, pax_headers, tarfile): + """Process a GNU tar extended sparse header, version 1.0. + """ + fields = None + sparse = [] + buf = tarfile.fileobj.read(BLOCKSIZE) + fields, buf = buf.split(b"\n", 1) + fields = int(fields) + while len(sparse) < fields * 2: + if b"\n" not in buf: + buf += tarfile.fileobj.read(BLOCKSIZE) + number, buf = buf.split(b"\n", 1) + sparse.append(int(number)) + next.offset_data = tarfile.fileobj.tell() + next.sparse = list(zip(sparse[::2], sparse[1::2])) + + def _apply_pax_info(self, pax_headers, encoding, errors): + """Replace fields with supplemental information from a previous + pax extended or global header. + """ + for keyword, value in pax_headers.items(): + if keyword == "GNU.sparse.name": + setattr(self, "path", value) + elif keyword == "GNU.sparse.size": + setattr(self, "size", int(value)) + elif keyword == "GNU.sparse.realsize": + setattr(self, "size", int(value)) + elif keyword in PAX_FIELDS: + if keyword in PAX_NUMBER_FIELDS: + try: + value = PAX_NUMBER_FIELDS[keyword](value) + except ValueError: + value = 0 + if keyword == "path": + value = value.rstrip("/") + setattr(self, keyword, value) + + self.pax_headers = pax_headers.copy() + + def _decode_pax_field(self, value, encoding, fallback_encoding, fallback_errors): + """Decode a single field from a pax record. + """ + try: + return value.decode(encoding, "strict") + except UnicodeDecodeError: + return value.decode(fallback_encoding, fallback_errors) + + def _block(self, count): + """Round up a byte count by BLOCKSIZE and return it, + e.g. _block(834) => 1024. + """ + blocks, remainder = divmod(count, BLOCKSIZE) + if remainder: + blocks += 1 + return blocks * BLOCKSIZE + + def isreg(self): + return self.type in REGULAR_TYPES + def isfile(self): + return self.isreg() + def isdir(self): + return self.type == DIRTYPE + def issym(self): + return self.type == SYMTYPE + def islnk(self): + return self.type == LNKTYPE + def ischr(self): + return self.type == CHRTYPE + def isblk(self): + return self.type == BLKTYPE + def isfifo(self): + return self.type == FIFOTYPE + def issparse(self): + return self.sparse is not None + def isdev(self): + return self.type in (CHRTYPE, BLKTYPE, FIFOTYPE) +# class TarInfo + +class TarFile(object): + """The TarFile Class provides an interface to tar archives. + """ + + debug = 0 # May be set from 0 (no msgs) to 3 (all msgs) + + dereference = False # If true, add content of linked file to the + # tar file, else the link. + + ignore_zeros = False # If true, skips empty or invalid blocks and + # continues processing. + + errorlevel = 1 # If 0, fatal errors only appear in debug + # messages (if debug >= 0). If > 0, errors + # are passed to the caller as exceptions. + + format = DEFAULT_FORMAT # The format to use when creating an archive. + + encoding = ENCODING # Encoding for 8-bit character strings. + + errors = None # Error handler for unicode conversion. + + tarinfo = TarInfo # The default TarInfo class to use. + + fileobject = ExFileObject # The default ExFileObject class to use. + + def __init__(self, name=None, mode="r", fileobj=None, format=None, + tarinfo=None, dereference=None, ignore_zeros=None, encoding=None, + errors="surrogateescape", pax_headers=None, debug=None, errorlevel=None): + """Open an (uncompressed) tar archive `name'. `mode' is either 'r' to + read from an existing archive, 'a' to append data to an existing + file or 'w' to create a new file overwriting an existing one. `mode' + defaults to 'r'. + If `fileobj' is given, it is used for reading or writing data. If it + can be determined, `mode' is overridden by `fileobj's mode. + `fileobj' is not closed, when TarFile is closed. + """ + if len(mode) > 1 or mode not in "raw": + raise ValueError("mode must be 'r', 'a' or 'w'") + self.mode = mode + self._mode = {"r": "rb", "a": "r+b", "w": "wb"}[mode] + + if not fileobj: + if self.mode == "a" and not os.path.exists(name): + # Create nonexistent files in append mode. + self.mode = "w" + self._mode = "wb" + fileobj = bltn_open(name, self._mode) + self._extfileobj = False + else: + if name is None and hasattr(fileobj, "name"): + name = fileobj.name + if hasattr(fileobj, "mode"): + self._mode = fileobj.mode + self._extfileobj = True + self.name = os.path.abspath(name) if name else None + self.fileobj = fileobj + + # Init attributes. + if format is not None: + self.format = format + if tarinfo is not None: + self.tarinfo = tarinfo + if dereference is not None: + self.dereference = dereference + if ignore_zeros is not None: + self.ignore_zeros = ignore_zeros + if encoding is not None: + self.encoding = encoding + self.errors = errors + + if pax_headers is not None and self.format == PAX_FORMAT: + self.pax_headers = pax_headers + else: + self.pax_headers = {} + + if debug is not None: + self.debug = debug + if errorlevel is not None: + self.errorlevel = errorlevel + + # Init datastructures. + self.closed = False + self.members = [] # list of members as TarInfo objects + self._loaded = False # flag if all members have been read + self.offset = self.fileobj.tell() + # current position in the archive file + self.inodes = {} # dictionary caching the inodes of + # archive members already added + + try: + if self.mode == "r": + self.firstmember = None + self.firstmember = self.next() + + if self.mode == "a": + # Move to the end of the archive, + # before the first empty block. + while True: + self.fileobj.seek(self.offset) + try: + tarinfo = self.tarinfo.fromtarfile(self) + self.members.append(tarinfo) + except EOFHeaderError: + self.fileobj.seek(self.offset) + break + except HeaderError as e: + raise ReadError(str(e)) + + if self.mode in "aw": + self._loaded = True + + if self.pax_headers: + buf = self.tarinfo.create_pax_global_header(self.pax_headers.copy()) + self.fileobj.write(buf) + self.offset += len(buf) + except: + if not self._extfileobj: + self.fileobj.close() + self.closed = True + raise + + #-------------------------------------------------------------------------- + # Below are the classmethods which act as alternate constructors to the + # TarFile class. The open() method is the only one that is needed for + # public use; it is the "super"-constructor and is able to select an + # adequate "sub"-constructor for a particular compression using the mapping + # from OPEN_METH. + # + # This concept allows one to subclass TarFile without losing the comfort of + # the super-constructor. A sub-constructor is registered and made available + # by adding it to the mapping in OPEN_METH. + + @classmethod + def open(cls, name=None, mode="r", fileobj=None, bufsize=RECORDSIZE, **kwargs): + """Open a tar archive for reading, writing or appending. Return + an appropriate TarFile class. + + mode: + 'r' or 'r:*' open for reading with transparent compression + 'r:' open for reading exclusively uncompressed + 'r:gz' open for reading with gzip compression + 'r:bz2' open for reading with bzip2 compression + 'a' or 'a:' open for appending, creating the file if necessary + 'w' or 'w:' open for writing without compression + 'w:gz' open for writing with gzip compression + 'w:bz2' open for writing with bzip2 compression + + 'r|*' open a stream of tar blocks with transparent compression + 'r|' open an uncompressed stream of tar blocks for reading + 'r|gz' open a gzip compressed stream of tar blocks + 'r|bz2' open a bzip2 compressed stream of tar blocks + 'w|' open an uncompressed stream for writing + 'w|gz' open a gzip compressed stream for writing + 'w|bz2' open a bzip2 compressed stream for writing + """ + + if not name and not fileobj: + raise ValueError("nothing to open") + + if mode in ("r", "r:*"): + # Find out which *open() is appropriate for opening the file. + for comptype in cls.OPEN_METH: + func = getattr(cls, cls.OPEN_METH[comptype]) + if fileobj is not None: + saved_pos = fileobj.tell() + try: + return func(name, "r", fileobj, **kwargs) + except (ReadError, CompressionError) as e: + if fileobj is not None: + fileobj.seek(saved_pos) + continue + raise ReadError("file could not be opened successfully") + + elif ":" in mode: + filemode, comptype = mode.split(":", 1) + filemode = filemode or "r" + comptype = comptype or "tar" + + # Select the *open() function according to + # given compression. + if comptype in cls.OPEN_METH: + func = getattr(cls, cls.OPEN_METH[comptype]) + else: + raise CompressionError("unknown compression type %r" % comptype) + return func(name, filemode, fileobj, **kwargs) + + elif "|" in mode: + filemode, comptype = mode.split("|", 1) + filemode = filemode or "r" + comptype = comptype or "tar" + + if filemode not in "rw": + raise ValueError("mode must be 'r' or 'w'") + + stream = _Stream(name, filemode, comptype, fileobj, bufsize) + try: + t = cls(name, filemode, stream, **kwargs) + except: + stream.close() + raise + t._extfileobj = False + return t + + elif mode in "aw": + return cls.taropen(name, mode, fileobj, **kwargs) + + raise ValueError("undiscernible mode") + + @classmethod + def taropen(cls, name, mode="r", fileobj=None, **kwargs): + """Open uncompressed tar archive name for reading or writing. + """ + if len(mode) > 1 or mode not in "raw": + raise ValueError("mode must be 'r', 'a' or 'w'") + return cls(name, mode, fileobj, **kwargs) + + @classmethod + def gzopen(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs): + """Open gzip compressed tar archive name for reading or writing. + Appending is not allowed. + """ + if len(mode) > 1 or mode not in "rw": + raise ValueError("mode must be 'r' or 'w'") + + try: + import gzip + gzip.GzipFile + except (ImportError, AttributeError): + raise CompressionError("gzip module is not available") + + extfileobj = fileobj is not None + try: + fileobj = gzip.GzipFile(name, mode + "b", compresslevel, fileobj) + t = cls.taropen(name, mode, fileobj, **kwargs) + except IOError: + if not extfileobj and fileobj is not None: + fileobj.close() + if fileobj is None: + raise + raise ReadError("not a gzip file") + except: + if not extfileobj and fileobj is not None: + fileobj.close() + raise + t._extfileobj = extfileobj + return t + + @classmethod + def bz2open(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs): + """Open bzip2 compressed tar archive name for reading or writing. + Appending is not allowed. + """ + if len(mode) > 1 or mode not in "rw": + raise ValueError("mode must be 'r' or 'w'.") + + try: + import bz2 + except ImportError: + raise CompressionError("bz2 module is not available") + + if fileobj is not None: + fileobj = _BZ2Proxy(fileobj, mode) + else: + fileobj = bz2.BZ2File(name, mode, compresslevel=compresslevel) + + try: + t = cls.taropen(name, mode, fileobj, **kwargs) + except (IOError, EOFError): + fileobj.close() + raise ReadError("not a bzip2 file") + t._extfileobj = False + return t + + # All *open() methods are registered here. + OPEN_METH = { + "tar": "taropen", # uncompressed tar + "gz": "gzopen", # gzip compressed tar + "bz2": "bz2open" # bzip2 compressed tar + } + + #-------------------------------------------------------------------------- + # The public methods which TarFile provides: + + def close(self): + """Close the TarFile. In write-mode, two finishing zero blocks are + appended to the archive. + """ + if self.closed: + return + + if self.mode in "aw": + self.fileobj.write(NUL * (BLOCKSIZE * 2)) + self.offset += (BLOCKSIZE * 2) + # fill up the end with zero-blocks + # (like option -b20 for tar does) + blocks, remainder = divmod(self.offset, RECORDSIZE) + if remainder > 0: + self.fileobj.write(NUL * (RECORDSIZE - remainder)) + + if not self._extfileobj: + self.fileobj.close() + self.closed = True + + def getmember(self, name): + """Return a TarInfo object for member `name'. If `name' can not be + found in the archive, KeyError is raised. If a member occurs more + than once in the archive, its last occurrence is assumed to be the + most up-to-date version. + """ + tarinfo = self._getmember(name) + if tarinfo is None: + raise KeyError("filename %r not found" % name) + return tarinfo + + def getmembers(self): + """Return the members of the archive as a list of TarInfo objects. The + list has the same order as the members in the archive. + """ + self._check() + if not self._loaded: # if we want to obtain a list of + self._load() # all members, we first have to + # scan the whole archive. + return self.members + + def getnames(self): + """Return the members of the archive as a list of their names. It has + the same order as the list returned by getmembers(). + """ + return [tarinfo.name for tarinfo in self.getmembers()] + + def gettarinfo(self, name=None, arcname=None, fileobj=None): + """Create a TarInfo object for either the file `name' or the file + object `fileobj' (using os.fstat on its file descriptor). You can + modify some of the TarInfo's attributes before you add it using + addfile(). If given, `arcname' specifies an alternative name for the + file in the archive. + """ + self._check("aw") + + # When fileobj is given, replace name by + # fileobj's real name. + if fileobj is not None: + name = fileobj.name + + # Building the name of the member in the archive. + # Backward slashes are converted to forward slashes, + # Absolute paths are turned to relative paths. + if arcname is None: + arcname = name + drv, arcname = os.path.splitdrive(arcname) + arcname = arcname.replace(os.sep, "/") + arcname = arcname.lstrip("/") + + # Now, fill the TarInfo object with + # information specific for the file. + tarinfo = self.tarinfo() + tarinfo.tarfile = self + + # Use os.stat or os.lstat, depending on platform + # and if symlinks shall be resolved. + if fileobj is None: + if hasattr(os, "lstat") and not self.dereference: + statres = os.lstat(name) + else: + statres = os.stat(name) + else: + statres = os.fstat(fileobj.fileno()) + linkname = "" + + stmd = statres.st_mode + if stat.S_ISREG(stmd): + inode = (statres.st_ino, statres.st_dev) + if not self.dereference and statres.st_nlink > 1 and \ + inode in self.inodes and arcname != self.inodes[inode]: + # Is it a hardlink to an already + # archived file? + type = LNKTYPE + linkname = self.inodes[inode] + else: + # The inode is added only if its valid. + # For win32 it is always 0. + type = REGTYPE + if inode[0]: + self.inodes[inode] = arcname + elif stat.S_ISDIR(stmd): + type = DIRTYPE + elif stat.S_ISFIFO(stmd): + type = FIFOTYPE + elif stat.S_ISLNK(stmd): + type = SYMTYPE + linkname = os.readlink(name) + elif stat.S_ISCHR(stmd): + type = CHRTYPE + elif stat.S_ISBLK(stmd): + type = BLKTYPE + else: + return None + + # Fill the TarInfo object with all + # information we can get. + tarinfo.name = arcname + tarinfo.mode = stmd + tarinfo.uid = statres.st_uid + tarinfo.gid = statres.st_gid + if type == REGTYPE: + tarinfo.size = statres.st_size + else: + tarinfo.size = 0 + tarinfo.mtime = statres.st_mtime + tarinfo.type = type + tarinfo.linkname = linkname + if pwd: + try: + tarinfo.uname = pwd.getpwuid(tarinfo.uid)[0] + except KeyError: + pass + if grp: + try: + tarinfo.gname = grp.getgrgid(tarinfo.gid)[0] + except KeyError: + pass + + if type in (CHRTYPE, BLKTYPE): + if hasattr(os, "major") and hasattr(os, "minor"): + tarinfo.devmajor = os.major(statres.st_rdev) + tarinfo.devminor = os.minor(statres.st_rdev) + return tarinfo + + def list(self, verbose=True): + """Print a table of contents to sys.stdout. If `verbose' is False, only + the names of the members are printed. If it is True, an `ls -l'-like + output is produced. + """ + self._check() + + for tarinfo in self: + if verbose: + print(filemode(tarinfo.mode), end=' ') + print("%s/%s" % (tarinfo.uname or tarinfo.uid, + tarinfo.gname or tarinfo.gid), end=' ') + if tarinfo.ischr() or tarinfo.isblk(): + print("%10s" % ("%d,%d" \ + % (tarinfo.devmajor, tarinfo.devminor)), end=' ') + else: + print("%10d" % tarinfo.size, end=' ') + print("%d-%02d-%02d %02d:%02d:%02d" \ + % time.localtime(tarinfo.mtime)[:6], end=' ') + + print(tarinfo.name + ("/" if tarinfo.isdir() else ""), end=' ') + + if verbose: + if tarinfo.issym(): + print("->", tarinfo.linkname, end=' ') + if tarinfo.islnk(): + print("link to", tarinfo.linkname, end=' ') + print() + + def add(self, name, arcname=None, recursive=True, exclude=None, filter=None): + """Add the file `name' to the archive. `name' may be any type of file + (directory, fifo, symbolic link, etc.). If given, `arcname' + specifies an alternative name for the file in the archive. + Directories are added recursively by default. This can be avoided by + setting `recursive' to False. `exclude' is a function that should + return True for each filename to be excluded. `filter' is a function + that expects a TarInfo object argument and returns the changed + TarInfo object, if it returns None the TarInfo object will be + excluded from the archive. + """ + self._check("aw") + + if arcname is None: + arcname = name + + # Exclude pathnames. + if exclude is not None: + import warnings + warnings.warn("use the filter argument instead", + DeprecationWarning, 2) + if exclude(name): + self._dbg(2, "tarfile: Excluded %r" % name) + return + + # Skip if somebody tries to archive the archive... + if self.name is not None and os.path.abspath(name) == self.name: + self._dbg(2, "tarfile: Skipped %r" % name) + return + + self._dbg(1, name) + + # Create a TarInfo object from the file. + tarinfo = self.gettarinfo(name, arcname) + + if tarinfo is None: + self._dbg(1, "tarfile: Unsupported type %r" % name) + return + + # Change or exclude the TarInfo object. + if filter is not None: + tarinfo = filter(tarinfo) + if tarinfo is None: + self._dbg(2, "tarfile: Excluded %r" % name) + return + + # Append the tar header and data to the archive. + if tarinfo.isreg(): + f = bltn_open(name, "rb") + self.addfile(tarinfo, f) + f.close() + + elif tarinfo.isdir(): + self.addfile(tarinfo) + if recursive: + for f in os.listdir(name): + self.add(os.path.join(name, f), os.path.join(arcname, f), + recursive, exclude, filter=filter) + + else: + self.addfile(tarinfo) + + def addfile(self, tarinfo, fileobj=None): + """Add the TarInfo object `tarinfo' to the archive. If `fileobj' is + given, tarinfo.size bytes are read from it and added to the archive. + You can create TarInfo objects using gettarinfo(). + On Windows platforms, `fileobj' should always be opened with mode + 'rb' to avoid irritation about the file size. + """ + self._check("aw") + + tarinfo = copy.copy(tarinfo) + + buf = tarinfo.tobuf(self.format, self.encoding, self.errors) + self.fileobj.write(buf) + self.offset += len(buf) + + # If there's data to follow, append it. + if fileobj is not None: + copyfileobj(fileobj, self.fileobj, tarinfo.size) + blocks, remainder = divmod(tarinfo.size, BLOCKSIZE) + if remainder > 0: + self.fileobj.write(NUL * (BLOCKSIZE - remainder)) + blocks += 1 + self.offset += blocks * BLOCKSIZE + + self.members.append(tarinfo) + + def extractall(self, path=".", members=None): + """Extract all members from the archive to the current working + directory and set owner, modification time and permissions on + directories afterwards. `path' specifies a different directory + to extract to. `members' is optional and must be a subset of the + list returned by getmembers(). + """ + directories = [] + + if members is None: + members = self + + for tarinfo in members: + if tarinfo.isdir(): + # Extract directories with a safe mode. + directories.append(tarinfo) + tarinfo = copy.copy(tarinfo) + tarinfo.mode = 0o700 + # Do not set_attrs directories, as we will do that further down + self.extract(tarinfo, path, set_attrs=not tarinfo.isdir()) + + # Reverse sort directories. + directories.sort(key=lambda a: a.name) + directories.reverse() + + # Set correct owner, mtime and filemode on directories. + for tarinfo in directories: + dirpath = os.path.join(path, tarinfo.name) + try: + self.chown(tarinfo, dirpath) + self.utime(tarinfo, dirpath) + self.chmod(tarinfo, dirpath) + except ExtractError as e: + if self.errorlevel > 1: + raise + else: + self._dbg(1, "tarfile: %s" % e) + + def extract(self, member, path="", set_attrs=True): + """Extract a member from the archive to the current working directory, + using its full name. Its file information is extracted as accurately + as possible. `member' may be a filename or a TarInfo object. You can + specify a different directory using `path'. File attributes (owner, + mtime, mode) are set unless `set_attrs' is False. + """ + self._check("r") + + if isinstance(member, str): + tarinfo = self.getmember(member) + else: + tarinfo = member + + # Prepare the link target for makelink(). + if tarinfo.islnk(): + tarinfo._link_target = os.path.join(path, tarinfo.linkname) + + try: + self._extract_member(tarinfo, os.path.join(path, tarinfo.name), + set_attrs=set_attrs) + except EnvironmentError as e: + if self.errorlevel > 0: + raise + else: + if e.filename is None: + self._dbg(1, "tarfile: %s" % e.strerror) + else: + self._dbg(1, "tarfile: %s %r" % (e.strerror, e.filename)) + except ExtractError as e: + if self.errorlevel > 1: + raise + else: + self._dbg(1, "tarfile: %s" % e) + + def extractfile(self, member): + """Extract a member from the archive as a file object. `member' may be + a filename or a TarInfo object. If `member' is a regular file, a + file-like object is returned. If `member' is a link, a file-like + object is constructed from the link's target. If `member' is none of + the above, None is returned. + The file-like object is read-only and provides the following + methods: read(), readline(), readlines(), seek() and tell() + """ + self._check("r") + + if isinstance(member, str): + tarinfo = self.getmember(member) + else: + tarinfo = member + + if tarinfo.isreg(): + return self.fileobject(self, tarinfo) + + elif tarinfo.type not in SUPPORTED_TYPES: + # If a member's type is unknown, it is treated as a + # regular file. + return self.fileobject(self, tarinfo) + + elif tarinfo.islnk() or tarinfo.issym(): + if isinstance(self.fileobj, _Stream): + # A small but ugly workaround for the case that someone tries + # to extract a (sym)link as a file-object from a non-seekable + # stream of tar blocks. + raise StreamError("cannot extract (sym)link as file object") + else: + # A (sym)link's file object is its target's file object. + return self.extractfile(self._find_link_target(tarinfo)) + else: + # If there's no data associated with the member (directory, chrdev, + # blkdev, etc.), return None instead of a file object. + return None + + def _extract_member(self, tarinfo, targetpath, set_attrs=True): + """Extract the TarInfo object tarinfo to a physical + file called targetpath. + """ + # Fetch the TarInfo object for the given name + # and build the destination pathname, replacing + # forward slashes to platform specific separators. + targetpath = targetpath.rstrip("/") + targetpath = targetpath.replace("/", os.sep) + + # Create all upper directories. + upperdirs = os.path.dirname(targetpath) + if upperdirs and not os.path.exists(upperdirs): + # Create directories that are not part of the archive with + # default permissions. + os.makedirs(upperdirs) + + if tarinfo.islnk() or tarinfo.issym(): + self._dbg(1, "%s -> %s" % (tarinfo.name, tarinfo.linkname)) + else: + self._dbg(1, tarinfo.name) + + if tarinfo.isreg(): + self.makefile(tarinfo, targetpath) + elif tarinfo.isdir(): + self.makedir(tarinfo, targetpath) + elif tarinfo.isfifo(): + self.makefifo(tarinfo, targetpath) + elif tarinfo.ischr() or tarinfo.isblk(): + self.makedev(tarinfo, targetpath) + elif tarinfo.islnk() or tarinfo.issym(): + self.makelink(tarinfo, targetpath) + elif tarinfo.type not in SUPPORTED_TYPES: + self.makeunknown(tarinfo, targetpath) + else: + self.makefile(tarinfo, targetpath) + + if set_attrs: + self.chown(tarinfo, targetpath) + if not tarinfo.issym(): + self.chmod(tarinfo, targetpath) + self.utime(tarinfo, targetpath) + + #-------------------------------------------------------------------------- + # Below are the different file methods. They are called via + # _extract_member() when extract() is called. They can be replaced in a + # subclass to implement other functionality. + + def makedir(self, tarinfo, targetpath): + """Make a directory called targetpath. + """ + try: + # Use a safe mode for the directory, the real mode is set + # later in _extract_member(). + os.mkdir(targetpath, 0o700) + except EnvironmentError as e: + if e.errno != errno.EEXIST: + raise + + def makefile(self, tarinfo, targetpath): + """Make a file called targetpath. + """ + source = self.fileobj + source.seek(tarinfo.offset_data) + target = bltn_open(targetpath, "wb") + if tarinfo.sparse is not None: + for offset, size in tarinfo.sparse: + target.seek(offset) + copyfileobj(source, target, size) + else: + copyfileobj(source, target, tarinfo.size) + target.seek(tarinfo.size) + target.truncate() + target.close() + + def makeunknown(self, tarinfo, targetpath): + """Make a file from a TarInfo object with an unknown type + at targetpath. + """ + self.makefile(tarinfo, targetpath) + self._dbg(1, "tarfile: Unknown file type %r, " \ + "extracted as regular file." % tarinfo.type) + + def makefifo(self, tarinfo, targetpath): + """Make a fifo called targetpath. + """ + if hasattr(os, "mkfifo"): + os.mkfifo(targetpath) + else: + raise ExtractError("fifo not supported by system") + + def makedev(self, tarinfo, targetpath): + """Make a character or block device called targetpath. + """ + if not hasattr(os, "mknod") or not hasattr(os, "makedev"): + raise ExtractError("special devices not supported by system") + + mode = tarinfo.mode + if tarinfo.isblk(): + mode |= stat.S_IFBLK + else: + mode |= stat.S_IFCHR + + os.mknod(targetpath, mode, + os.makedev(tarinfo.devmajor, tarinfo.devminor)) + + def makelink(self, tarinfo, targetpath): + """Make a (symbolic) link called targetpath. If it cannot be created + (platform limitation), we try to make a copy of the referenced file + instead of a link. + """ + try: + # For systems that support symbolic and hard links. + if tarinfo.issym(): + os.symlink(tarinfo.linkname, targetpath) + else: + # See extract(). + if os.path.exists(tarinfo._link_target): + os.link(tarinfo._link_target, targetpath) + else: + self._extract_member(self._find_link_target(tarinfo), + targetpath) + except symlink_exception: + if tarinfo.issym(): + linkpath = os.path.join(os.path.dirname(tarinfo.name), + tarinfo.linkname) + else: + linkpath = tarinfo.linkname + else: + try: + self._extract_member(self._find_link_target(tarinfo), + targetpath) + except KeyError: + raise ExtractError("unable to resolve link inside archive") + + def chown(self, tarinfo, targetpath): + """Set owner of targetpath according to tarinfo. + """ + if pwd and hasattr(os, "geteuid") and os.geteuid() == 0: + # We have to be root to do so. + try: + g = grp.getgrnam(tarinfo.gname)[2] + except KeyError: + g = tarinfo.gid + try: + u = pwd.getpwnam(tarinfo.uname)[2] + except KeyError: + u = tarinfo.uid + try: + if tarinfo.issym() and hasattr(os, "lchown"): + os.lchown(targetpath, u, g) + else: + if sys.platform != "os2emx": + os.chown(targetpath, u, g) + except EnvironmentError as e: + raise ExtractError("could not change owner") + + def chmod(self, tarinfo, targetpath): + """Set file permissions of targetpath according to tarinfo. + """ + if hasattr(os, 'chmod'): + try: + os.chmod(targetpath, tarinfo.mode) + except EnvironmentError as e: + raise ExtractError("could not change mode") + + def utime(self, tarinfo, targetpath): + """Set modification time of targetpath according to tarinfo. + """ + if not hasattr(os, 'utime'): + return + try: + os.utime(targetpath, (tarinfo.mtime, tarinfo.mtime)) + except EnvironmentError as e: + raise ExtractError("could not change modification time") + + #-------------------------------------------------------------------------- + def next(self): + """Return the next member of the archive as a TarInfo object, when + TarFile is opened for reading. Return None if there is no more + available. + """ + self._check("ra") + if self.firstmember is not None: + m = self.firstmember + self.firstmember = None + return m + + # Read the next block. + self.fileobj.seek(self.offset) + tarinfo = None + while True: + try: + tarinfo = self.tarinfo.fromtarfile(self) + except EOFHeaderError as e: + if self.ignore_zeros: + self._dbg(2, "0x%X: %s" % (self.offset, e)) + self.offset += BLOCKSIZE + continue + except InvalidHeaderError as e: + if self.ignore_zeros: + self._dbg(2, "0x%X: %s" % (self.offset, e)) + self.offset += BLOCKSIZE + continue + elif self.offset == 0: + raise ReadError(str(e)) + except EmptyHeaderError: + if self.offset == 0: + raise ReadError("empty file") + except TruncatedHeaderError as e: + if self.offset == 0: + raise ReadError(str(e)) + except SubsequentHeaderError as e: + raise ReadError(str(e)) + break + + if tarinfo is not None: + self.members.append(tarinfo) + else: + self._loaded = True + + return tarinfo + + #-------------------------------------------------------------------------- + # Little helper methods: + + def _getmember(self, name, tarinfo=None, normalize=False): + """Find an archive member by name from bottom to top. + If tarinfo is given, it is used as the starting point. + """ + # Ensure that all members have been loaded. + members = self.getmembers() + + # Limit the member search list up to tarinfo. + if tarinfo is not None: + members = members[:members.index(tarinfo)] + + if normalize: + name = os.path.normpath(name) + + for member in reversed(members): + if normalize: + member_name = os.path.normpath(member.name) + else: + member_name = member.name + + if name == member_name: + return member + + def _load(self): + """Read through the entire archive file and look for readable + members. + """ + while True: + tarinfo = self.next() + if tarinfo is None: + break + self._loaded = True + + def _check(self, mode=None): + """Check if TarFile is still open, and if the operation's mode + corresponds to TarFile's mode. + """ + if self.closed: + raise IOError("%s is closed" % self.__class__.__name__) + if mode is not None and self.mode not in mode: + raise IOError("bad operation for mode %r" % self.mode) + + def _find_link_target(self, tarinfo): + """Find the target member of a symlink or hardlink member in the + archive. + """ + if tarinfo.issym(): + # Always search the entire archive. + linkname = os.path.dirname(tarinfo.name) + "/" + tarinfo.linkname + limit = None + else: + # Search the archive before the link, because a hard link is + # just a reference to an already archived file. + linkname = tarinfo.linkname + limit = tarinfo + + member = self._getmember(linkname, tarinfo=limit, normalize=True) + if member is None: + raise KeyError("linkname %r not found" % linkname) + return member + + def __iter__(self): + """Provide an iterator object. + """ + if self._loaded: + return iter(self.members) + else: + return TarIter(self) + + def _dbg(self, level, msg): + """Write debugging output to sys.stderr. + """ + if level <= self.debug: + print(msg, file=sys.stderr) + + def __enter__(self): + self._check() + return self + + def __exit__(self, type, value, traceback): + if type is None: + self.close() + else: + # An exception occurred. We must not call close() because + # it would try to write end-of-archive blocks and padding. + if not self._extfileobj: + self.fileobj.close() + self.closed = True +# class TarFile + +class TarIter(object): + """Iterator Class. + + for tarinfo in TarFile(...): + suite... + """ + + def __init__(self, tarfile): + """Construct a TarIter object. + """ + self.tarfile = tarfile + self.index = 0 + def __iter__(self): + """Return iterator object. + """ + return self + + def __next__(self): + """Return the next item using TarFile's next() method. + When all members have been read, set TarFile as _loaded. + """ + # Fix for SF #1100429: Under rare circumstances it can + # happen that getmembers() is called during iteration, + # which will cause TarIter to stop prematurely. + if not self.tarfile._loaded: + tarinfo = self.tarfile.next() + if not tarinfo: + self.tarfile._loaded = True + raise StopIteration + else: + try: + tarinfo = self.tarfile.members[self.index] + except IndexError: + raise StopIteration + self.index += 1 + return tarinfo + + next = __next__ # for Python 2.x + +#-------------------- +# exported functions +#-------------------- +def is_tarfile(name): + """Return True if name points to a tar archive that we + are able to handle, else return False. + """ + try: + t = open(name) + t.close() + return True + except TarError: + return False + +bltn_open = open +open = TarFile.open diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/compat.py new file mode 100644 index 0000000000..ff328c8ee4 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/compat.py @@ -0,0 +1,1120 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import absolute_import + +import os +import re +import sys + +try: + import ssl +except ImportError: # pragma: no cover + ssl = None + +if sys.version_info[0] < 3: # pragma: no cover + from StringIO import StringIO + string_types = basestring, + text_type = unicode + from types import FileType as file_type + import __builtin__ as builtins + import ConfigParser as configparser + from ._backport import shutil + from urlparse import urlparse, urlunparse, urljoin, urlsplit, urlunsplit + from urllib import (urlretrieve, quote as _quote, unquote, url2pathname, + pathname2url, ContentTooShortError, splittype) + + def quote(s): + if isinstance(s, unicode): + s = s.encode('utf-8') + return _quote(s) + + import urllib2 + from urllib2 import (Request, urlopen, URLError, HTTPError, + HTTPBasicAuthHandler, HTTPPasswordMgr, + HTTPHandler, HTTPRedirectHandler, + build_opener) + if ssl: + from urllib2 import HTTPSHandler + import httplib + import xmlrpclib + import Queue as queue + from HTMLParser import HTMLParser + import htmlentitydefs + raw_input = raw_input + from itertools import ifilter as filter + from itertools import ifilterfalse as filterfalse + + _userprog = None + def splituser(host): + """splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.""" + global _userprog + if _userprog is None: + import re + _userprog = re.compile('^(.*)@(.*)$') + + match = _userprog.match(host) + if match: return match.group(1, 2) + return None, host + +else: # pragma: no cover + from io import StringIO + string_types = str, + text_type = str + from io import TextIOWrapper as file_type + import builtins + import configparser + import shutil + from urllib.parse import (urlparse, urlunparse, urljoin, splituser, quote, + unquote, urlsplit, urlunsplit, splittype) + from urllib.request import (urlopen, urlretrieve, Request, url2pathname, + pathname2url, + HTTPBasicAuthHandler, HTTPPasswordMgr, + HTTPHandler, HTTPRedirectHandler, + build_opener) + if ssl: + from urllib.request import HTTPSHandler + from urllib.error import HTTPError, URLError, ContentTooShortError + import http.client as httplib + import urllib.request as urllib2 + import xmlrpc.client as xmlrpclib + import queue + from html.parser import HTMLParser + import html.entities as htmlentitydefs + raw_input = input + from itertools import filterfalse + filter = filter + +try: + from ssl import match_hostname, CertificateError +except ImportError: # pragma: no cover + class CertificateError(ValueError): + pass + + + def _dnsname_match(dn, hostname, max_wildcards=1): + """Matching according to RFC 6125, section 6.4.3 + + http://tools.ietf.org/html/rfc6125#section-6.4.3 + """ + pats = [] + if not dn: + return False + + parts = dn.split('.') + leftmost, remainder = parts[0], parts[1:] + + wildcards = leftmost.count('*') + if wildcards > max_wildcards: + # Issue #17980: avoid denials of service by refusing more + # than one wildcard per fragment. A survey of established + # policy among SSL implementations showed it to be a + # reasonable choice. + raise CertificateError( + "too many wildcards in certificate DNS name: " + repr(dn)) + + # speed up common case w/o wildcards + if not wildcards: + return dn.lower() == hostname.lower() + + # RFC 6125, section 6.4.3, subitem 1. + # The client SHOULD NOT attempt to match a presented identifier in which + # the wildcard character comprises a label other than the left-most label. + if leftmost == '*': + # When '*' is a fragment by itself, it matches a non-empty dotless + # fragment. + pats.append('[^.]+') + elif leftmost.startswith('xn--') or hostname.startswith('xn--'): + # RFC 6125, section 6.4.3, subitem 3. + # The client SHOULD NOT attempt to match a presented identifier + # where the wildcard character is embedded within an A-label or + # U-label of an internationalized domain name. + pats.append(re.escape(leftmost)) + else: + # Otherwise, '*' matches any dotless string, e.g. www* + pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) + + # add the remaining fragments, ignore any wildcards + for frag in remainder: + pats.append(re.escape(frag)) + + pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) + return pat.match(hostname) + + + def match_hostname(cert, hostname): + """Verify that *cert* (in decoded format as returned by + SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 + rules are followed, but IP addresses are not accepted for *hostname*. + + CertificateError is raised on failure. On success, the function + returns nothing. + """ + if not cert: + raise ValueError("empty or no certificate, match_hostname needs a " + "SSL socket or SSL context with either " + "CERT_OPTIONAL or CERT_REQUIRED") + dnsnames = [] + san = cert.get('subjectAltName', ()) + for key, value in san: + if key == 'DNS': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if not dnsnames: + # The subject is only checked when there is no dNSName entry + # in subjectAltName + for sub in cert.get('subject', ()): + for key, value in sub: + # XXX according to RFC 2818, the most specific Common Name + # must be used. + if key == 'commonName': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if len(dnsnames) > 1: + raise CertificateError("hostname %r " + "doesn't match either of %s" + % (hostname, ', '.join(map(repr, dnsnames)))) + elif len(dnsnames) == 1: + raise CertificateError("hostname %r " + "doesn't match %r" + % (hostname, dnsnames[0])) + else: + raise CertificateError("no appropriate commonName or " + "subjectAltName fields were found") + + +try: + from types import SimpleNamespace as Container +except ImportError: # pragma: no cover + class Container(object): + """ + A generic container for when multiple values need to be returned + """ + def __init__(self, **kwargs): + self.__dict__.update(kwargs) + + +try: + from shutil import which +except ImportError: # pragma: no cover + # Implementation from Python 3.3 + def which(cmd, mode=os.F_OK | os.X_OK, path=None): + """Given a command, mode, and a PATH string, return the path which + conforms to the given mode on the PATH, or None if there is no such + file. + + `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result + of os.environ.get("PATH"), or can be overridden with a custom search + path. + + """ + # Check that a given file can be accessed with the correct mode. + # Additionally check that `file` is not a directory, as on Windows + # directories pass the os.access check. + def _access_check(fn, mode): + return (os.path.exists(fn) and os.access(fn, mode) + and not os.path.isdir(fn)) + + # If we're given a path with a directory part, look it up directly rather + # than referring to PATH directories. This includes checking relative to the + # current directory, e.g. ./script + if os.path.dirname(cmd): + if _access_check(cmd, mode): + return cmd + return None + + if path is None: + path = os.environ.get("PATH", os.defpath) + if not path: + return None + path = path.split(os.pathsep) + + if sys.platform == "win32": + # The current directory takes precedence on Windows. + if not os.curdir in path: + path.insert(0, os.curdir) + + # PATHEXT is necessary to check on Windows. + pathext = os.environ.get("PATHEXT", "").split(os.pathsep) + # See if the given file matches any of the expected path extensions. + # This will allow us to short circuit when given "python.exe". + # If it does match, only test that one, otherwise we have to try + # others. + if any(cmd.lower().endswith(ext.lower()) for ext in pathext): + files = [cmd] + else: + files = [cmd + ext for ext in pathext] + else: + # On other platforms you don't have things like PATHEXT to tell you + # what file suffixes are executable, so just pass on cmd as-is. + files = [cmd] + + seen = set() + for dir in path: + normdir = os.path.normcase(dir) + if not normdir in seen: + seen.add(normdir) + for thefile in files: + name = os.path.join(dir, thefile) + if _access_check(name, mode): + return name + return None + + +# ZipFile is a context manager in 2.7, but not in 2.6 + +from zipfile import ZipFile as BaseZipFile + +if hasattr(BaseZipFile, '__enter__'): # pragma: no cover + ZipFile = BaseZipFile +else: # pragma: no cover + from zipfile import ZipExtFile as BaseZipExtFile + + class ZipExtFile(BaseZipExtFile): + def __init__(self, base): + self.__dict__.update(base.__dict__) + + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.close() + # return None, so if an exception occurred, it will propagate + + class ZipFile(BaseZipFile): + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.close() + # return None, so if an exception occurred, it will propagate + + def open(self, *args, **kwargs): + base = BaseZipFile.open(self, *args, **kwargs) + return ZipExtFile(base) + +try: + from platform import python_implementation +except ImportError: # pragma: no cover + def python_implementation(): + """Return a string identifying the Python implementation.""" + if 'PyPy' in sys.version: + return 'PyPy' + if os.name == 'java': + return 'Jython' + if sys.version.startswith('IronPython'): + return 'IronPython' + return 'CPython' + +try: + import sysconfig +except ImportError: # pragma: no cover + from ._backport import sysconfig + +try: + callable = callable +except NameError: # pragma: no cover + from collections import Callable + + def callable(obj): + return isinstance(obj, Callable) + + +try: + fsencode = os.fsencode + fsdecode = os.fsdecode +except AttributeError: # pragma: no cover + # Issue #99: on some systems (e.g. containerised), + # sys.getfilesystemencoding() returns None, and we need a real value, + # so fall back to utf-8. From the CPython 2.7 docs relating to Unix and + # sys.getfilesystemencoding(): the return value is "the user’s preference + # according to the result of nl_langinfo(CODESET), or None if the + # nl_langinfo(CODESET) failed." + _fsencoding = sys.getfilesystemencoding() or 'utf-8' + if _fsencoding == 'mbcs': + _fserrors = 'strict' + else: + _fserrors = 'surrogateescape' + + def fsencode(filename): + if isinstance(filename, bytes): + return filename + elif isinstance(filename, text_type): + return filename.encode(_fsencoding, _fserrors) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) + + def fsdecode(filename): + if isinstance(filename, text_type): + return filename + elif isinstance(filename, bytes): + return filename.decode(_fsencoding, _fserrors) + else: + raise TypeError("expect bytes or str, not %s" % + type(filename).__name__) + +try: + from tokenize import detect_encoding +except ImportError: # pragma: no cover + from codecs import BOM_UTF8, lookup + import re + + cookie_re = re.compile(r"coding[:=]\s*([-\w.]+)") + + def _get_normal_name(orig_enc): + """Imitates get_normal_name in tokenizer.c.""" + # Only care about the first 12 characters. + enc = orig_enc[:12].lower().replace("_", "-") + if enc == "utf-8" or enc.startswith("utf-8-"): + return "utf-8" + if enc in ("latin-1", "iso-8859-1", "iso-latin-1") or \ + enc.startswith(("latin-1-", "iso-8859-1-", "iso-latin-1-")): + return "iso-8859-1" + return orig_enc + + def detect_encoding(readline): + """ + The detect_encoding() function is used to detect the encoding that should + be used to decode a Python source file. It requires one argument, readline, + in the same way as the tokenize() generator. + + It will call readline a maximum of twice, and return the encoding used + (as a string) and a list of any lines (left as bytes) it has read in. + + It detects the encoding from the presence of a utf-8 bom or an encoding + cookie as specified in pep-0263. If both a bom and a cookie are present, + but disagree, a SyntaxError will be raised. If the encoding cookie is an + invalid charset, raise a SyntaxError. Note that if a utf-8 bom is found, + 'utf-8-sig' is returned. + + If no encoding is specified, then the default of 'utf-8' will be returned. + """ + try: + filename = readline.__self__.name + except AttributeError: + filename = None + bom_found = False + encoding = None + default = 'utf-8' + def read_or_stop(): + try: + return readline() + except StopIteration: + return b'' + + def find_cookie(line): + try: + # Decode as UTF-8. Either the line is an encoding declaration, + # in which case it should be pure ASCII, or it must be UTF-8 + # per default encoding. + line_string = line.decode('utf-8') + except UnicodeDecodeError: + msg = "invalid or missing encoding declaration" + if filename is not None: + msg = '{} for {!r}'.format(msg, filename) + raise SyntaxError(msg) + + matches = cookie_re.findall(line_string) + if not matches: + return None + encoding = _get_normal_name(matches[0]) + try: + codec = lookup(encoding) + except LookupError: + # This behaviour mimics the Python interpreter + if filename is None: + msg = "unknown encoding: " + encoding + else: + msg = "unknown encoding for {!r}: {}".format(filename, + encoding) + raise SyntaxError(msg) + + if bom_found: + if codec.name != 'utf-8': + # This behaviour mimics the Python interpreter + if filename is None: + msg = 'encoding problem: utf-8' + else: + msg = 'encoding problem for {!r}: utf-8'.format(filename) + raise SyntaxError(msg) + encoding += '-sig' + return encoding + + first = read_or_stop() + if first.startswith(BOM_UTF8): + bom_found = True + first = first[3:] + default = 'utf-8-sig' + if not first: + return default, [] + + encoding = find_cookie(first) + if encoding: + return encoding, [first] + + second = read_or_stop() + if not second: + return default, [first] + + encoding = find_cookie(second) + if encoding: + return encoding, [first, second] + + return default, [first, second] + +# For converting & <-> & etc. +try: + from html import escape +except ImportError: + from cgi import escape +if sys.version_info[:2] < (3, 4): + unescape = HTMLParser().unescape +else: + from html import unescape + +try: + from collections import ChainMap +except ImportError: # pragma: no cover + from collections import MutableMapping + + try: + from reprlib import recursive_repr as _recursive_repr + except ImportError: + def _recursive_repr(fillvalue='...'): + ''' + Decorator to make a repr function return fillvalue for a recursive + call + ''' + + def decorating_function(user_function): + repr_running = set() + + def wrapper(self): + key = id(self), get_ident() + if key in repr_running: + return fillvalue + repr_running.add(key) + try: + result = user_function(self) + finally: + repr_running.discard(key) + return result + + # Can't use functools.wraps() here because of bootstrap issues + wrapper.__module__ = getattr(user_function, '__module__') + wrapper.__doc__ = getattr(user_function, '__doc__') + wrapper.__name__ = getattr(user_function, '__name__') + wrapper.__annotations__ = getattr(user_function, '__annotations__', {}) + return wrapper + + return decorating_function + + class ChainMap(MutableMapping): + ''' A ChainMap groups multiple dicts (or other mappings) together + to create a single, updateable view. + + The underlying mappings are stored in a list. That list is public and can + accessed or updated using the *maps* attribute. There is no other state. + + Lookups search the underlying mappings successively until a key is found. + In contrast, writes, updates, and deletions only operate on the first + mapping. + + ''' + + def __init__(self, *maps): + '''Initialize a ChainMap by setting *maps* to the given mappings. + If no mappings are provided, a single empty dictionary is used. + + ''' + self.maps = list(maps) or [{}] # always at least one map + + def __missing__(self, key): + raise KeyError(key) + + def __getitem__(self, key): + for mapping in self.maps: + try: + return mapping[key] # can't use 'key in mapping' with defaultdict + except KeyError: + pass + return self.__missing__(key) # support subclasses that define __missing__ + + def get(self, key, default=None): + return self[key] if key in self else default + + def __len__(self): + return len(set().union(*self.maps)) # reuses stored hash values if possible + + def __iter__(self): + return iter(set().union(*self.maps)) + + def __contains__(self, key): + return any(key in m for m in self.maps) + + def __bool__(self): + return any(self.maps) + + @_recursive_repr() + def __repr__(self): + return '{0.__class__.__name__}({1})'.format( + self, ', '.join(map(repr, self.maps))) + + @classmethod + def fromkeys(cls, iterable, *args): + 'Create a ChainMap with a single dict created from the iterable.' + return cls(dict.fromkeys(iterable, *args)) + + def copy(self): + 'New ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]' + return self.__class__(self.maps[0].copy(), *self.maps[1:]) + + __copy__ = copy + + def new_child(self): # like Django's Context.push() + 'New ChainMap with a new dict followed by all previous maps.' + return self.__class__({}, *self.maps) + + @property + def parents(self): # like Django's Context.pop() + 'New ChainMap from maps[1:].' + return self.__class__(*self.maps[1:]) + + def __setitem__(self, key, value): + self.maps[0][key] = value + + def __delitem__(self, key): + try: + del self.maps[0][key] + except KeyError: + raise KeyError('Key not found in the first mapping: {!r}'.format(key)) + + def popitem(self): + 'Remove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.' + try: + return self.maps[0].popitem() + except KeyError: + raise KeyError('No keys found in the first mapping.') + + def pop(self, key, *args): + 'Remove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].' + try: + return self.maps[0].pop(key, *args) + except KeyError: + raise KeyError('Key not found in the first mapping: {!r}'.format(key)) + + def clear(self): + 'Clear maps[0], leaving maps[1:] intact.' + self.maps[0].clear() + +try: + from importlib.util import cache_from_source # Python >= 3.4 +except ImportError: # pragma: no cover + try: + from imp import cache_from_source + except ImportError: # pragma: no cover + def cache_from_source(path, debug_override=None): + assert path.endswith('.py') + if debug_override is None: + debug_override = __debug__ + if debug_override: + suffix = 'c' + else: + suffix = 'o' + return path + suffix + +try: + from collections import OrderedDict +except ImportError: # pragma: no cover +## {{{ http://code.activestate.com/recipes/576693/ (r9) +# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy. +# Passes Python2.7's test suite and incorporates all the latest updates. + try: + from thread import get_ident as _get_ident + except ImportError: + from dummy_thread import get_ident as _get_ident + + try: + from _abcoll import KeysView, ValuesView, ItemsView + except ImportError: + pass + + + class OrderedDict(dict): + 'Dictionary that remembers insertion order' + # An inherited dict maps keys to values. + # The inherited dict provides __getitem__, __len__, __contains__, and get. + # The remaining methods are order-aware. + # Big-O running times for all methods are the same as for regular dictionaries. + + # The internal self.__map dictionary maps keys to links in a doubly linked list. + # The circular doubly linked list starts and ends with a sentinel element. + # The sentinel element never gets deleted (this simplifies the algorithm). + # Each link is stored as a list of length three: [PREV, NEXT, KEY]. + + def __init__(self, *args, **kwds): + '''Initialize an ordered dictionary. Signature is the same as for + regular dictionaries, but keyword arguments are not recommended + because their insertion order is arbitrary. + + ''' + if len(args) > 1: + raise TypeError('expected at most 1 arguments, got %d' % len(args)) + try: + self.__root + except AttributeError: + self.__root = root = [] # sentinel node + root[:] = [root, root, None] + self.__map = {} + self.__update(*args, **kwds) + + def __setitem__(self, key, value, dict_setitem=dict.__setitem__): + 'od.__setitem__(i, y) <==> od[i]=y' + # Setting a new item creates a new link which goes at the end of the linked + # list, and the inherited dictionary is updated with the new key/value pair. + if key not in self: + root = self.__root + last = root[0] + last[1] = root[0] = self.__map[key] = [last, root, key] + dict_setitem(self, key, value) + + def __delitem__(self, key, dict_delitem=dict.__delitem__): + 'od.__delitem__(y) <==> del od[y]' + # Deleting an existing item uses self.__map to find the link which is + # then removed by updating the links in the predecessor and successor nodes. + dict_delitem(self, key) + link_prev, link_next, key = self.__map.pop(key) + link_prev[1] = link_next + link_next[0] = link_prev + + def __iter__(self): + 'od.__iter__() <==> iter(od)' + root = self.__root + curr = root[1] + while curr is not root: + yield curr[2] + curr = curr[1] + + def __reversed__(self): + 'od.__reversed__() <==> reversed(od)' + root = self.__root + curr = root[0] + while curr is not root: + yield curr[2] + curr = curr[0] + + def clear(self): + 'od.clear() -> None. Remove all items from od.' + try: + for node in self.__map.itervalues(): + del node[:] + root = self.__root + root[:] = [root, root, None] + self.__map.clear() + except AttributeError: + pass + dict.clear(self) + + def popitem(self, last=True): + '''od.popitem() -> (k, v), return and remove a (key, value) pair. + Pairs are returned in LIFO order if last is true or FIFO order if false. + + ''' + if not self: + raise KeyError('dictionary is empty') + root = self.__root + if last: + link = root[0] + link_prev = link[0] + link_prev[1] = root + root[0] = link_prev + else: + link = root[1] + link_next = link[1] + root[1] = link_next + link_next[0] = root + key = link[2] + del self.__map[key] + value = dict.pop(self, key) + return key, value + + # -- the following methods do not depend on the internal structure -- + + def keys(self): + 'od.keys() -> list of keys in od' + return list(self) + + def values(self): + 'od.values() -> list of values in od' + return [self[key] for key in self] + + def items(self): + 'od.items() -> list of (key, value) pairs in od' + return [(key, self[key]) for key in self] + + def iterkeys(self): + 'od.iterkeys() -> an iterator over the keys in od' + return iter(self) + + def itervalues(self): + 'od.itervalues -> an iterator over the values in od' + for k in self: + yield self[k] + + def iteritems(self): + 'od.iteritems -> an iterator over the (key, value) items in od' + for k in self: + yield (k, self[k]) + + def update(*args, **kwds): + '''od.update(E, **F) -> None. Update od from dict/iterable E and F. + + If E is a dict instance, does: for k in E: od[k] = E[k] + If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] + Or if E is an iterable of items, does: for k, v in E: od[k] = v + In either case, this is followed by: for k, v in F.items(): od[k] = v + + ''' + if len(args) > 2: + raise TypeError('update() takes at most 2 positional ' + 'arguments (%d given)' % (len(args),)) + elif not args: + raise TypeError('update() takes at least 1 argument (0 given)') + self = args[0] + # Make progressively weaker assumptions about "other" + other = () + if len(args) == 2: + other = args[1] + if isinstance(other, dict): + for key in other: + self[key] = other[key] + elif hasattr(other, 'keys'): + for key in other.keys(): + self[key] = other[key] + else: + for key, value in other: + self[key] = value + for key, value in kwds.items(): + self[key] = value + + __update = update # let subclasses override update without breaking __init__ + + __marker = object() + + def pop(self, key, default=__marker): + '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value. + If key is not found, d is returned if given, otherwise KeyError is raised. + + ''' + if key in self: + result = self[key] + del self[key] + return result + if default is self.__marker: + raise KeyError(key) + return default + + def setdefault(self, key, default=None): + 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' + if key in self: + return self[key] + self[key] = default + return default + + def __repr__(self, _repr_running=None): + 'od.__repr__() <==> repr(od)' + if not _repr_running: _repr_running = {} + call_key = id(self), _get_ident() + if call_key in _repr_running: + return '...' + _repr_running[call_key] = 1 + try: + if not self: + return '%s()' % (self.__class__.__name__,) + return '%s(%r)' % (self.__class__.__name__, self.items()) + finally: + del _repr_running[call_key] + + def __reduce__(self): + 'Return state information for pickling' + items = [[k, self[k]] for k in self] + inst_dict = vars(self).copy() + for k in vars(OrderedDict()): + inst_dict.pop(k, None) + if inst_dict: + return (self.__class__, (items,), inst_dict) + return self.__class__, (items,) + + def copy(self): + 'od.copy() -> a shallow copy of od' + return self.__class__(self) + + @classmethod + def fromkeys(cls, iterable, value=None): + '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S + and values equal to v (which defaults to None). + + ''' + d = cls() + for key in iterable: + d[key] = value + return d + + def __eq__(self, other): + '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive + while comparison to a regular mapping is order-insensitive. + + ''' + if isinstance(other, OrderedDict): + return len(self)==len(other) and self.items() == other.items() + return dict.__eq__(self, other) + + def __ne__(self, other): + return not self == other + + # -- the following methods are only used in Python 2.7 -- + + def viewkeys(self): + "od.viewkeys() -> a set-like object providing a view on od's keys" + return KeysView(self) + + def viewvalues(self): + "od.viewvalues() -> an object providing a view on od's values" + return ValuesView(self) + + def viewitems(self): + "od.viewitems() -> a set-like object providing a view on od's items" + return ItemsView(self) + +try: + from logging.config import BaseConfigurator, valid_ident +except ImportError: # pragma: no cover + IDENTIFIER = re.compile('^[a-z_][a-z0-9_]*$', re.I) + + + def valid_ident(s): + m = IDENTIFIER.match(s) + if not m: + raise ValueError('Not a valid Python identifier: %r' % s) + return True + + + # The ConvertingXXX classes are wrappers around standard Python containers, + # and they serve to convert any suitable values in the container. The + # conversion converts base dicts, lists and tuples to their wrapped + # equivalents, whereas strings which match a conversion format are converted + # appropriately. + # + # Each wrapper should have a configurator attribute holding the actual + # configurator to use for conversion. + + class ConvertingDict(dict): + """A converting dictionary wrapper.""" + + def __getitem__(self, key): + value = dict.__getitem__(self, key) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def get(self, key, default=None): + value = dict.get(self, key, default) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def pop(self, key, default=None): + value = dict.pop(self, key, default) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + class ConvertingList(list): + """A converting list wrapper.""" + def __getitem__(self, key): + value = list.__getitem__(self, key) + result = self.configurator.convert(value) + #If the converted value is different, save for next time + if value is not result: + self[key] = result + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + def pop(self, idx=-1): + value = list.pop(self, idx) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + return result + + class ConvertingTuple(tuple): + """A converting tuple wrapper.""" + def __getitem__(self, key): + value = tuple.__getitem__(self, key) + result = self.configurator.convert(value) + if value is not result: + if type(result) in (ConvertingDict, ConvertingList, + ConvertingTuple): + result.parent = self + result.key = key + return result + + class BaseConfigurator(object): + """ + The configurator base class which defines some useful defaults. + """ + + CONVERT_PATTERN = re.compile(r'^(?P<prefix>[a-z]+)://(?P<suffix>.*)$') + + WORD_PATTERN = re.compile(r'^\s*(\w+)\s*') + DOT_PATTERN = re.compile(r'^\.\s*(\w+)\s*') + INDEX_PATTERN = re.compile(r'^\[\s*(\w+)\s*\]\s*') + DIGIT_PATTERN = re.compile(r'^\d+$') + + value_converters = { + 'ext' : 'ext_convert', + 'cfg' : 'cfg_convert', + } + + # We might want to use a different one, e.g. importlib + importer = staticmethod(__import__) + + def __init__(self, config): + self.config = ConvertingDict(config) + self.config.configurator = self + + def resolve(self, s): + """ + Resolve strings to objects using standard import and attribute + syntax. + """ + name = s.split('.') + used = name.pop(0) + try: + found = self.importer(used) + for frag in name: + used += '.' + frag + try: + found = getattr(found, frag) + except AttributeError: + self.importer(used) + found = getattr(found, frag) + return found + except ImportError: + e, tb = sys.exc_info()[1:] + v = ValueError('Cannot resolve %r: %s' % (s, e)) + v.__cause__, v.__traceback__ = e, tb + raise v + + def ext_convert(self, value): + """Default converter for the ext:// protocol.""" + return self.resolve(value) + + def cfg_convert(self, value): + """Default converter for the cfg:// protocol.""" + rest = value + m = self.WORD_PATTERN.match(rest) + if m is None: + raise ValueError("Unable to convert %r" % value) + else: + rest = rest[m.end():] + d = self.config[m.groups()[0]] + #print d, rest + while rest: + m = self.DOT_PATTERN.match(rest) + if m: + d = d[m.groups()[0]] + else: + m = self.INDEX_PATTERN.match(rest) + if m: + idx = m.groups()[0] + if not self.DIGIT_PATTERN.match(idx): + d = d[idx] + else: + try: + n = int(idx) # try as number first (most likely) + d = d[n] + except TypeError: + d = d[idx] + if m: + rest = rest[m.end():] + else: + raise ValueError('Unable to convert ' + '%r at %r' % (value, rest)) + #rest should be empty + return d + + def convert(self, value): + """ + Convert values to an appropriate type. dicts, lists and tuples are + replaced by their converting alternatives. Strings are checked to + see if they have a conversion format and are converted if they do. + """ + if not isinstance(value, ConvertingDict) and isinstance(value, dict): + value = ConvertingDict(value) + value.configurator = self + elif not isinstance(value, ConvertingList) and isinstance(value, list): + value = ConvertingList(value) + value.configurator = self + elif not isinstance(value, ConvertingTuple) and\ + isinstance(value, tuple): + value = ConvertingTuple(value) + value.configurator = self + elif isinstance(value, string_types): + m = self.CONVERT_PATTERN.match(value) + if m: + d = m.groupdict() + prefix = d['prefix'] + converter = self.value_converters.get(prefix, None) + if converter: + suffix = d['suffix'] + converter = getattr(self, converter) + value = converter(suffix) + return value + + def configure_custom(self, config): + """Configure an object with a user-supplied factory.""" + c = config.pop('()') + if not callable(c): + c = self.resolve(c) + props = config.pop('.', None) + # Check for valid identifiers + kwargs = dict([(k, config[k]) for k in config if valid_ident(k)]) + result = c(**kwargs) + if props: + for name, value in props.items(): + setattr(result, name, value) + return result + + def as_tuple(self, value): + """Utility function which converts lists to tuples.""" + if isinstance(value, list): + value = tuple(value) + return value diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/database.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/database.py new file mode 100644 index 0000000000..b13cdac92b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/database.py @@ -0,0 +1,1339 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""PEP 376 implementation.""" + +from __future__ import unicode_literals + +import base64 +import codecs +import contextlib +import hashlib +import logging +import os +import posixpath +import sys +import zipimport + +from . import DistlibException, resources +from .compat import StringIO +from .version import get_scheme, UnsupportedVersionError +from .metadata import (Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME, + LEGACY_METADATA_FILENAME) +from .util import (parse_requirement, cached_property, parse_name_and_version, + read_exports, write_exports, CSVReader, CSVWriter) + + +__all__ = ['Distribution', 'BaseInstalledDistribution', + 'InstalledDistribution', 'EggInfoDistribution', + 'DistributionPath'] + + +logger = logging.getLogger(__name__) + +EXPORTS_FILENAME = 'pydist-exports.json' +COMMANDS_FILENAME = 'pydist-commands.json' + +DIST_FILES = ('INSTALLER', METADATA_FILENAME, 'RECORD', 'REQUESTED', + 'RESOURCES', EXPORTS_FILENAME, 'SHARED') + +DISTINFO_EXT = '.dist-info' + + +class _Cache(object): + """ + A simple cache mapping names and .dist-info paths to distributions + """ + def __init__(self): + """ + Initialise an instance. There is normally one for each DistributionPath. + """ + self.name = {} + self.path = {} + self.generated = False + + def clear(self): + """ + Clear the cache, setting it to its initial state. + """ + self.name.clear() + self.path.clear() + self.generated = False + + def add(self, dist): + """ + Add a distribution to the cache. + :param dist: The distribution to add. + """ + if dist.path not in self.path: + self.path[dist.path] = dist + self.name.setdefault(dist.key, []).append(dist) + + +class DistributionPath(object): + """ + Represents a set of distributions installed on a path (typically sys.path). + """ + def __init__(self, path=None, include_egg=False): + """ + Create an instance from a path, optionally including legacy (distutils/ + setuptools/distribute) distributions. + :param path: The path to use, as a list of directories. If not specified, + sys.path is used. + :param include_egg: If True, this instance will look for and return legacy + distributions as well as those based on PEP 376. + """ + if path is None: + path = sys.path + self.path = path + self._include_dist = True + self._include_egg = include_egg + + self._cache = _Cache() + self._cache_egg = _Cache() + self._cache_enabled = True + self._scheme = get_scheme('default') + + def _get_cache_enabled(self): + return self._cache_enabled + + def _set_cache_enabled(self, value): + self._cache_enabled = value + + cache_enabled = property(_get_cache_enabled, _set_cache_enabled) + + def clear_cache(self): + """ + Clears the internal cache. + """ + self._cache.clear() + self._cache_egg.clear() + + + def _yield_distributions(self): + """ + Yield .dist-info and/or .egg(-info) distributions. + """ + # We need to check if we've seen some resources already, because on + # some Linux systems (e.g. some Debian/Ubuntu variants) there are + # symlinks which alias other files in the environment. + seen = set() + for path in self.path: + finder = resources.finder_for_path(path) + if finder is None: + continue + r = finder.find('') + if not r or not r.is_container: + continue + rset = sorted(r.resources) + for entry in rset: + r = finder.find(entry) + if not r or r.path in seen: + continue + if self._include_dist and entry.endswith(DISTINFO_EXT): + possible_filenames = [METADATA_FILENAME, + WHEEL_METADATA_FILENAME, + LEGACY_METADATA_FILENAME] + for metadata_filename in possible_filenames: + metadata_path = posixpath.join(entry, metadata_filename) + pydist = finder.find(metadata_path) + if pydist: + break + else: + continue + + with contextlib.closing(pydist.as_stream()) as stream: + metadata = Metadata(fileobj=stream, scheme='legacy') + logger.debug('Found %s', r.path) + seen.add(r.path) + yield new_dist_class(r.path, metadata=metadata, + env=self) + elif self._include_egg and entry.endswith(('.egg-info', + '.egg')): + logger.debug('Found %s', r.path) + seen.add(r.path) + yield old_dist_class(r.path, self) + + def _generate_cache(self): + """ + Scan the path for distributions and populate the cache with + those that are found. + """ + gen_dist = not self._cache.generated + gen_egg = self._include_egg and not self._cache_egg.generated + if gen_dist or gen_egg: + for dist in self._yield_distributions(): + if isinstance(dist, InstalledDistribution): + self._cache.add(dist) + else: + self._cache_egg.add(dist) + + if gen_dist: + self._cache.generated = True + if gen_egg: + self._cache_egg.generated = True + + @classmethod + def distinfo_dirname(cls, name, version): + """ + The *name* and *version* parameters are converted into their + filename-escaped form, i.e. any ``'-'`` characters are replaced + with ``'_'`` other than the one in ``'dist-info'`` and the one + separating the name from the version number. + + :parameter name: is converted to a standard distribution name by replacing + any runs of non- alphanumeric characters with a single + ``'-'``. + :type name: string + :parameter version: is converted to a standard version string. Spaces + become dots, and all other non-alphanumeric characters + (except dots) become dashes, with runs of multiple + dashes condensed to a single dash. + :type version: string + :returns: directory name + :rtype: string""" + name = name.replace('-', '_') + return '-'.join([name, version]) + DISTINFO_EXT + + def get_distributions(self): + """ + Provides an iterator that looks for distributions and returns + :class:`InstalledDistribution` or + :class:`EggInfoDistribution` instances for each one of them. + + :rtype: iterator of :class:`InstalledDistribution` and + :class:`EggInfoDistribution` instances + """ + if not self._cache_enabled: + for dist in self._yield_distributions(): + yield dist + else: + self._generate_cache() + + for dist in self._cache.path.values(): + yield dist + + if self._include_egg: + for dist in self._cache_egg.path.values(): + yield dist + + def get_distribution(self, name): + """ + Looks for a named distribution on the path. + + This function only returns the first result found, as no more than one + value is expected. If nothing is found, ``None`` is returned. + + :rtype: :class:`InstalledDistribution`, :class:`EggInfoDistribution` + or ``None`` + """ + result = None + name = name.lower() + if not self._cache_enabled: + for dist in self._yield_distributions(): + if dist.key == name: + result = dist + break + else: + self._generate_cache() + + if name in self._cache.name: + result = self._cache.name[name][0] + elif self._include_egg and name in self._cache_egg.name: + result = self._cache_egg.name[name][0] + return result + + def provides_distribution(self, name, version=None): + """ + Iterates over all distributions to find which distributions provide *name*. + If a *version* is provided, it will be used to filter the results. + + This function only returns the first result found, since no more than + one values are expected. If the directory is not found, returns ``None``. + + :parameter version: a version specifier that indicates the version + required, conforming to the format in ``PEP-345`` + + :type name: string + :type version: string + """ + matcher = None + if version is not None: + try: + matcher = self._scheme.matcher('%s (%s)' % (name, version)) + except ValueError: + raise DistlibException('invalid name or version: %r, %r' % + (name, version)) + + for dist in self.get_distributions(): + # We hit a problem on Travis where enum34 was installed and doesn't + # have a provides attribute ... + if not hasattr(dist, 'provides'): + logger.debug('No "provides": %s', dist) + else: + provided = dist.provides + + for p in provided: + p_name, p_ver = parse_name_and_version(p) + if matcher is None: + if p_name == name: + yield dist + break + else: + if p_name == name and matcher.match(p_ver): + yield dist + break + + def get_file_path(self, name, relative_path): + """ + Return the path to a resource file. + """ + dist = self.get_distribution(name) + if dist is None: + raise LookupError('no distribution named %r found' % name) + return dist.get_resource_path(relative_path) + + def get_exported_entries(self, category, name=None): + """ + Return all of the exported entries in a particular category. + + :param category: The category to search for entries. + :param name: If specified, only entries with that name are returned. + """ + for dist in self.get_distributions(): + r = dist.exports + if category in r: + d = r[category] + if name is not None: + if name in d: + yield d[name] + else: + for v in d.values(): + yield v + + +class Distribution(object): + """ + A base class for distributions, whether installed or from indexes. + Either way, it must have some metadata, so that's all that's needed + for construction. + """ + + build_time_dependency = False + """ + Set to True if it's known to be only a build-time dependency (i.e. + not needed after installation). + """ + + requested = False + """A boolean that indicates whether the ``REQUESTED`` metadata file is + present (in other words, whether the package was installed by user + request or it was installed as a dependency).""" + + def __init__(self, metadata): + """ + Initialise an instance. + :param metadata: The instance of :class:`Metadata` describing this + distribution. + """ + self.metadata = metadata + self.name = metadata.name + self.key = self.name.lower() # for case-insensitive comparisons + self.version = metadata.version + self.locator = None + self.digest = None + self.extras = None # additional features requested + self.context = None # environment marker overrides + self.download_urls = set() + self.digests = {} + + @property + def source_url(self): + """ + The source archive download URL for this distribution. + """ + return self.metadata.source_url + + download_url = source_url # Backward compatibility + + @property + def name_and_version(self): + """ + A utility property which displays the name and version in parentheses. + """ + return '%s (%s)' % (self.name, self.version) + + @property + def provides(self): + """ + A set of distribution names and versions provided by this distribution. + :return: A set of "name (version)" strings. + """ + plist = self.metadata.provides + s = '%s (%s)' % (self.name, self.version) + if s not in plist: + plist.append(s) + return plist + + def _get_requirements(self, req_attr): + md = self.metadata + logger.debug('Getting requirements from metadata %r', md.todict()) + reqts = getattr(md, req_attr) + return set(md.get_requirements(reqts, extras=self.extras, + env=self.context)) + + @property + def run_requires(self): + return self._get_requirements('run_requires') + + @property + def meta_requires(self): + return self._get_requirements('meta_requires') + + @property + def build_requires(self): + return self._get_requirements('build_requires') + + @property + def test_requires(self): + return self._get_requirements('test_requires') + + @property + def dev_requires(self): + return self._get_requirements('dev_requires') + + def matches_requirement(self, req): + """ + Say if this instance matches (fulfills) a requirement. + :param req: The requirement to match. + :rtype req: str + :return: True if it matches, else False. + """ + # Requirement may contain extras - parse to lose those + # from what's passed to the matcher + r = parse_requirement(req) + scheme = get_scheme(self.metadata.scheme) + try: + matcher = scheme.matcher(r.requirement) + except UnsupportedVersionError: + # XXX compat-mode if cannot read the version + logger.warning('could not read version %r - using name only', + req) + name = req.split()[0] + matcher = scheme.matcher(name) + + name = matcher.key # case-insensitive + + result = False + for p in self.provides: + p_name, p_ver = parse_name_and_version(p) + if p_name != name: + continue + try: + result = matcher.match(p_ver) + break + except UnsupportedVersionError: + pass + return result + + def __repr__(self): + """ + Return a textual representation of this instance, + """ + if self.source_url: + suffix = ' [%s]' % self.source_url + else: + suffix = '' + return '<Distribution %s (%s)%s>' % (self.name, self.version, suffix) + + def __eq__(self, other): + """ + See if this distribution is the same as another. + :param other: The distribution to compare with. To be equal to one + another. distributions must have the same type, name, + version and source_url. + :return: True if it is the same, else False. + """ + if type(other) is not type(self): + result = False + else: + result = (self.name == other.name and + self.version == other.version and + self.source_url == other.source_url) + return result + + def __hash__(self): + """ + Compute hash in a way which matches the equality test. + """ + return hash(self.name) + hash(self.version) + hash(self.source_url) + + +class BaseInstalledDistribution(Distribution): + """ + This is the base class for installed distributions (whether PEP 376 or + legacy). + """ + + hasher = None + + def __init__(self, metadata, path, env=None): + """ + Initialise an instance. + :param metadata: An instance of :class:`Metadata` which describes the + distribution. This will normally have been initialised + from a metadata file in the ``path``. + :param path: The path of the ``.dist-info`` or ``.egg-info`` + directory for the distribution. + :param env: This is normally the :class:`DistributionPath` + instance where this distribution was found. + """ + super(BaseInstalledDistribution, self).__init__(metadata) + self.path = path + self.dist_path = env + + def get_hash(self, data, hasher=None): + """ + Get the hash of some data, using a particular hash algorithm, if + specified. + + :param data: The data to be hashed. + :type data: bytes + :param hasher: The name of a hash implementation, supported by hashlib, + or ``None``. Examples of valid values are ``'sha1'``, + ``'sha224'``, ``'sha384'``, '``sha256'``, ``'md5'`` and + ``'sha512'``. If no hasher is specified, the ``hasher`` + attribute of the :class:`InstalledDistribution` instance + is used. If the hasher is determined to be ``None``, MD5 + is used as the hashing algorithm. + :returns: The hash of the data. If a hasher was explicitly specified, + the returned hash will be prefixed with the specified hasher + followed by '='. + :rtype: str + """ + if hasher is None: + hasher = self.hasher + if hasher is None: + hasher = hashlib.md5 + prefix = '' + else: + hasher = getattr(hashlib, hasher) + prefix = '%s=' % self.hasher + digest = hasher(data).digest() + digest = base64.urlsafe_b64encode(digest).rstrip(b'=').decode('ascii') + return '%s%s' % (prefix, digest) + + +class InstalledDistribution(BaseInstalledDistribution): + """ + Created with the *path* of the ``.dist-info`` directory provided to the + constructor. It reads the metadata contained in ``pydist.json`` when it is + instantiated., or uses a passed in Metadata instance (useful for when + dry-run mode is being used). + """ + + hasher = 'sha256' + + def __init__(self, path, metadata=None, env=None): + self.modules = [] + self.finder = finder = resources.finder_for_path(path) + if finder is None: + raise ValueError('finder unavailable for %s' % path) + if env and env._cache_enabled and path in env._cache.path: + metadata = env._cache.path[path].metadata + elif metadata is None: + r = finder.find(METADATA_FILENAME) + # Temporary - for Wheel 0.23 support + if r is None: + r = finder.find(WHEEL_METADATA_FILENAME) + # Temporary - for legacy support + if r is None: + r = finder.find('METADATA') + if r is None: + raise ValueError('no %s found in %s' % (METADATA_FILENAME, + path)) + with contextlib.closing(r.as_stream()) as stream: + metadata = Metadata(fileobj=stream, scheme='legacy') + + super(InstalledDistribution, self).__init__(metadata, path, env) + + if env and env._cache_enabled: + env._cache.add(self) + + r = finder.find('REQUESTED') + self.requested = r is not None + p = os.path.join(path, 'top_level.txt') + if os.path.exists(p): + with open(p, 'rb') as f: + data = f.read() + self.modules = data.splitlines() + + def __repr__(self): + return '<InstalledDistribution %r %s at %r>' % ( + self.name, self.version, self.path) + + def __str__(self): + return "%s %s" % (self.name, self.version) + + def _get_records(self): + """ + Get the list of installed files for the distribution + :return: A list of tuples of path, hash and size. Note that hash and + size might be ``None`` for some entries. The path is exactly + as stored in the file (which is as in PEP 376). + """ + results = [] + r = self.get_distinfo_resource('RECORD') + with contextlib.closing(r.as_stream()) as stream: + with CSVReader(stream=stream) as record_reader: + # Base location is parent dir of .dist-info dir + #base_location = os.path.dirname(self.path) + #base_location = os.path.abspath(base_location) + for row in record_reader: + missing = [None for i in range(len(row), 3)] + path, checksum, size = row + missing + #if not os.path.isabs(path): + # path = path.replace('/', os.sep) + # path = os.path.join(base_location, path) + results.append((path, checksum, size)) + return results + + @cached_property + def exports(self): + """ + Return the information exported by this distribution. + :return: A dictionary of exports, mapping an export category to a dict + of :class:`ExportEntry` instances describing the individual + export entries, and keyed by name. + """ + result = {} + r = self.get_distinfo_resource(EXPORTS_FILENAME) + if r: + result = self.read_exports() + return result + + def read_exports(self): + """ + Read exports data from a file in .ini format. + + :return: A dictionary of exports, mapping an export category to a list + of :class:`ExportEntry` instances describing the individual + export entries. + """ + result = {} + r = self.get_distinfo_resource(EXPORTS_FILENAME) + if r: + with contextlib.closing(r.as_stream()) as stream: + result = read_exports(stream) + return result + + def write_exports(self, exports): + """ + Write a dictionary of exports to a file in .ini format. + :param exports: A dictionary of exports, mapping an export category to + a list of :class:`ExportEntry` instances describing the + individual export entries. + """ + rf = self.get_distinfo_file(EXPORTS_FILENAME) + with open(rf, 'w') as f: + write_exports(exports, f) + + def get_resource_path(self, relative_path): + """ + NOTE: This API may change in the future. + + Return the absolute path to a resource file with the given relative + path. + + :param relative_path: The path, relative to .dist-info, of the resource + of interest. + :return: The absolute path where the resource is to be found. + """ + r = self.get_distinfo_resource('RESOURCES') + with contextlib.closing(r.as_stream()) as stream: + with CSVReader(stream=stream) as resources_reader: + for relative, destination in resources_reader: + if relative == relative_path: + return destination + raise KeyError('no resource file with relative path %r ' + 'is installed' % relative_path) + + def list_installed_files(self): + """ + Iterates over the ``RECORD`` entries and returns a tuple + ``(path, hash, size)`` for each line. + + :returns: iterator of (path, hash, size) + """ + for result in self._get_records(): + yield result + + def write_installed_files(self, paths, prefix, dry_run=False): + """ + Writes the ``RECORD`` file, using the ``paths`` iterable passed in. Any + existing ``RECORD`` file is silently overwritten. + + prefix is used to determine when to write absolute paths. + """ + prefix = os.path.join(prefix, '') + base = os.path.dirname(self.path) + base_under_prefix = base.startswith(prefix) + base = os.path.join(base, '') + record_path = self.get_distinfo_file('RECORD') + logger.info('creating %s', record_path) + if dry_run: + return None + with CSVWriter(record_path) as writer: + for path in paths: + if os.path.isdir(path) or path.endswith(('.pyc', '.pyo')): + # do not put size and hash, as in PEP-376 + hash_value = size = '' + else: + size = '%d' % os.path.getsize(path) + with open(path, 'rb') as fp: + hash_value = self.get_hash(fp.read()) + if path.startswith(base) or (base_under_prefix and + path.startswith(prefix)): + path = os.path.relpath(path, base) + writer.writerow((path, hash_value, size)) + + # add the RECORD file itself + if record_path.startswith(base): + record_path = os.path.relpath(record_path, base) + writer.writerow((record_path, '', '')) + return record_path + + def check_installed_files(self): + """ + Checks that the hashes and sizes of the files in ``RECORD`` are + matched by the files themselves. Returns a (possibly empty) list of + mismatches. Each entry in the mismatch list will be a tuple consisting + of the path, 'exists', 'size' or 'hash' according to what didn't match + (existence is checked first, then size, then hash), the expected + value and the actual value. + """ + mismatches = [] + base = os.path.dirname(self.path) + record_path = self.get_distinfo_file('RECORD') + for path, hash_value, size in self.list_installed_files(): + if not os.path.isabs(path): + path = os.path.join(base, path) + if path == record_path: + continue + if not os.path.exists(path): + mismatches.append((path, 'exists', True, False)) + elif os.path.isfile(path): + actual_size = str(os.path.getsize(path)) + if size and actual_size != size: + mismatches.append((path, 'size', size, actual_size)) + elif hash_value: + if '=' in hash_value: + hasher = hash_value.split('=', 1)[0] + else: + hasher = None + + with open(path, 'rb') as f: + actual_hash = self.get_hash(f.read(), hasher) + if actual_hash != hash_value: + mismatches.append((path, 'hash', hash_value, actual_hash)) + return mismatches + + @cached_property + def shared_locations(self): + """ + A dictionary of shared locations whose keys are in the set 'prefix', + 'purelib', 'platlib', 'scripts', 'headers', 'data' and 'namespace'. + The corresponding value is the absolute path of that category for + this distribution, and takes into account any paths selected by the + user at installation time (e.g. via command-line arguments). In the + case of the 'namespace' key, this would be a list of absolute paths + for the roots of namespace packages in this distribution. + + The first time this property is accessed, the relevant information is + read from the SHARED file in the .dist-info directory. + """ + result = {} + shared_path = os.path.join(self.path, 'SHARED') + if os.path.isfile(shared_path): + with codecs.open(shared_path, 'r', encoding='utf-8') as f: + lines = f.read().splitlines() + for line in lines: + key, value = line.split('=', 1) + if key == 'namespace': + result.setdefault(key, []).append(value) + else: + result[key] = value + return result + + def write_shared_locations(self, paths, dry_run=False): + """ + Write shared location information to the SHARED file in .dist-info. + :param paths: A dictionary as described in the documentation for + :meth:`shared_locations`. + :param dry_run: If True, the action is logged but no file is actually + written. + :return: The path of the file written to. + """ + shared_path = os.path.join(self.path, 'SHARED') + logger.info('creating %s', shared_path) + if dry_run: + return None + lines = [] + for key in ('prefix', 'lib', 'headers', 'scripts', 'data'): + path = paths[key] + if os.path.isdir(paths[key]): + lines.append('%s=%s' % (key, path)) + for ns in paths.get('namespace', ()): + lines.append('namespace=%s' % ns) + + with codecs.open(shared_path, 'w', encoding='utf-8') as f: + f.write('\n'.join(lines)) + return shared_path + + def get_distinfo_resource(self, path): + if path not in DIST_FILES: + raise DistlibException('invalid path for a dist-info file: ' + '%r at %r' % (path, self.path)) + finder = resources.finder_for_path(self.path) + if finder is None: + raise DistlibException('Unable to get a finder for %s' % self.path) + return finder.find(path) + + def get_distinfo_file(self, path): + """ + Returns a path located under the ``.dist-info`` directory. Returns a + string representing the path. + + :parameter path: a ``'/'``-separated path relative to the + ``.dist-info`` directory or an absolute path; + If *path* is an absolute path and doesn't start + with the ``.dist-info`` directory path, + a :class:`DistlibException` is raised + :type path: str + :rtype: str + """ + # Check if it is an absolute path # XXX use relpath, add tests + if path.find(os.sep) >= 0: + # it's an absolute path? + distinfo_dirname, path = path.split(os.sep)[-2:] + if distinfo_dirname != self.path.split(os.sep)[-1]: + raise DistlibException( + 'dist-info file %r does not belong to the %r %s ' + 'distribution' % (path, self.name, self.version)) + + # The file must be relative + if path not in DIST_FILES: + raise DistlibException('invalid path for a dist-info file: ' + '%r at %r' % (path, self.path)) + + return os.path.join(self.path, path) + + def list_distinfo_files(self): + """ + Iterates over the ``RECORD`` entries and returns paths for each line if + the path is pointing to a file located in the ``.dist-info`` directory + or one of its subdirectories. + + :returns: iterator of paths + """ + base = os.path.dirname(self.path) + for path, checksum, size in self._get_records(): + # XXX add separator or use real relpath algo + if not os.path.isabs(path): + path = os.path.join(base, path) + if path.startswith(self.path): + yield path + + def __eq__(self, other): + return (isinstance(other, InstalledDistribution) and + self.path == other.path) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + __hash__ = object.__hash__ + + +class EggInfoDistribution(BaseInstalledDistribution): + """Created with the *path* of the ``.egg-info`` directory or file provided + to the constructor. It reads the metadata contained in the file itself, or + if the given path happens to be a directory, the metadata is read from the + file ``PKG-INFO`` under that directory.""" + + requested = True # as we have no way of knowing, assume it was + shared_locations = {} + + def __init__(self, path, env=None): + def set_name_and_version(s, n, v): + s.name = n + s.key = n.lower() # for case-insensitive comparisons + s.version = v + + self.path = path + self.dist_path = env + if env and env._cache_enabled and path in env._cache_egg.path: + metadata = env._cache_egg.path[path].metadata + set_name_and_version(self, metadata.name, metadata.version) + else: + metadata = self._get_metadata(path) + + # Need to be set before caching + set_name_and_version(self, metadata.name, metadata.version) + + if env and env._cache_enabled: + env._cache_egg.add(self) + super(EggInfoDistribution, self).__init__(metadata, path, env) + + def _get_metadata(self, path): + requires = None + + def parse_requires_data(data): + """Create a list of dependencies from a requires.txt file. + + *data*: the contents of a setuptools-produced requires.txt file. + """ + reqs = [] + lines = data.splitlines() + for line in lines: + line = line.strip() + if line.startswith('['): + logger.warning('Unexpected line: quitting requirement scan: %r', + line) + break + r = parse_requirement(line) + if not r: + logger.warning('Not recognised as a requirement: %r', line) + continue + if r.extras: + logger.warning('extra requirements in requires.txt are ' + 'not supported') + if not r.constraints: + reqs.append(r.name) + else: + cons = ', '.join('%s%s' % c for c in r.constraints) + reqs.append('%s (%s)' % (r.name, cons)) + return reqs + + def parse_requires_path(req_path): + """Create a list of dependencies from a requires.txt file. + + *req_path*: the path to a setuptools-produced requires.txt file. + """ + + reqs = [] + try: + with codecs.open(req_path, 'r', 'utf-8') as fp: + reqs = parse_requires_data(fp.read()) + except IOError: + pass + return reqs + + tl_path = tl_data = None + if path.endswith('.egg'): + if os.path.isdir(path): + p = os.path.join(path, 'EGG-INFO') + meta_path = os.path.join(p, 'PKG-INFO') + metadata = Metadata(path=meta_path, scheme='legacy') + req_path = os.path.join(p, 'requires.txt') + tl_path = os.path.join(p, 'top_level.txt') + requires = parse_requires_path(req_path) + else: + # FIXME handle the case where zipfile is not available + zipf = zipimport.zipimporter(path) + fileobj = StringIO( + zipf.get_data('EGG-INFO/PKG-INFO').decode('utf8')) + metadata = Metadata(fileobj=fileobj, scheme='legacy') + try: + data = zipf.get_data('EGG-INFO/requires.txt') + tl_data = zipf.get_data('EGG-INFO/top_level.txt').decode('utf-8') + requires = parse_requires_data(data.decode('utf-8')) + except IOError: + requires = None + elif path.endswith('.egg-info'): + if os.path.isdir(path): + req_path = os.path.join(path, 'requires.txt') + requires = parse_requires_path(req_path) + path = os.path.join(path, 'PKG-INFO') + tl_path = os.path.join(path, 'top_level.txt') + metadata = Metadata(path=path, scheme='legacy') + else: + raise DistlibException('path must end with .egg-info or .egg, ' + 'got %r' % path) + + if requires: + metadata.add_requirements(requires) + # look for top-level modules in top_level.txt, if present + if tl_data is None: + if tl_path is not None and os.path.exists(tl_path): + with open(tl_path, 'rb') as f: + tl_data = f.read().decode('utf-8') + if not tl_data: + tl_data = [] + else: + tl_data = tl_data.splitlines() + self.modules = tl_data + return metadata + + def __repr__(self): + return '<EggInfoDistribution %r %s at %r>' % ( + self.name, self.version, self.path) + + def __str__(self): + return "%s %s" % (self.name, self.version) + + def check_installed_files(self): + """ + Checks that the hashes and sizes of the files in ``RECORD`` are + matched by the files themselves. Returns a (possibly empty) list of + mismatches. Each entry in the mismatch list will be a tuple consisting + of the path, 'exists', 'size' or 'hash' according to what didn't match + (existence is checked first, then size, then hash), the expected + value and the actual value. + """ + mismatches = [] + record_path = os.path.join(self.path, 'installed-files.txt') + if os.path.exists(record_path): + for path, _, _ in self.list_installed_files(): + if path == record_path: + continue + if not os.path.exists(path): + mismatches.append((path, 'exists', True, False)) + return mismatches + + def list_installed_files(self): + """ + Iterates over the ``installed-files.txt`` entries and returns a tuple + ``(path, hash, size)`` for each line. + + :returns: a list of (path, hash, size) + """ + + def _md5(path): + f = open(path, 'rb') + try: + content = f.read() + finally: + f.close() + return hashlib.md5(content).hexdigest() + + def _size(path): + return os.stat(path).st_size + + record_path = os.path.join(self.path, 'installed-files.txt') + result = [] + if os.path.exists(record_path): + with codecs.open(record_path, 'r', encoding='utf-8') as f: + for line in f: + line = line.strip() + p = os.path.normpath(os.path.join(self.path, line)) + # "./" is present as a marker between installed files + # and installation metadata files + if not os.path.exists(p): + logger.warning('Non-existent file: %s', p) + if p.endswith(('.pyc', '.pyo')): + continue + #otherwise fall through and fail + if not os.path.isdir(p): + result.append((p, _md5(p), _size(p))) + result.append((record_path, None, None)) + return result + + def list_distinfo_files(self, absolute=False): + """ + Iterates over the ``installed-files.txt`` entries and returns paths for + each line if the path is pointing to a file located in the + ``.egg-info`` directory or one of its subdirectories. + + :parameter absolute: If *absolute* is ``True``, each returned path is + transformed into a local absolute path. Otherwise the + raw value from ``installed-files.txt`` is returned. + :type absolute: boolean + :returns: iterator of paths + """ + record_path = os.path.join(self.path, 'installed-files.txt') + if os.path.exists(record_path): + skip = True + with codecs.open(record_path, 'r', encoding='utf-8') as f: + for line in f: + line = line.strip() + if line == './': + skip = False + continue + if not skip: + p = os.path.normpath(os.path.join(self.path, line)) + if p.startswith(self.path): + if absolute: + yield p + else: + yield line + + def __eq__(self, other): + return (isinstance(other, EggInfoDistribution) and + self.path == other.path) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + __hash__ = object.__hash__ + +new_dist_class = InstalledDistribution +old_dist_class = EggInfoDistribution + + +class DependencyGraph(object): + """ + Represents a dependency graph between distributions. + + The dependency relationships are stored in an ``adjacency_list`` that maps + distributions to a list of ``(other, label)`` tuples where ``other`` + is a distribution and the edge is labeled with ``label`` (i.e. the version + specifier, if such was provided). Also, for more efficient traversal, for + every distribution ``x``, a list of predecessors is kept in + ``reverse_list[x]``. An edge from distribution ``a`` to + distribution ``b`` means that ``a`` depends on ``b``. If any missing + dependencies are found, they are stored in ``missing``, which is a + dictionary that maps distributions to a list of requirements that were not + provided by any other distributions. + """ + + def __init__(self): + self.adjacency_list = {} + self.reverse_list = {} + self.missing = {} + + def add_distribution(self, distribution): + """Add the *distribution* to the graph. + + :type distribution: :class:`distutils2.database.InstalledDistribution` + or :class:`distutils2.database.EggInfoDistribution` + """ + self.adjacency_list[distribution] = [] + self.reverse_list[distribution] = [] + #self.missing[distribution] = [] + + def add_edge(self, x, y, label=None): + """Add an edge from distribution *x* to distribution *y* with the given + *label*. + + :type x: :class:`distutils2.database.InstalledDistribution` or + :class:`distutils2.database.EggInfoDistribution` + :type y: :class:`distutils2.database.InstalledDistribution` or + :class:`distutils2.database.EggInfoDistribution` + :type label: ``str`` or ``None`` + """ + self.adjacency_list[x].append((y, label)) + # multiple edges are allowed, so be careful + if x not in self.reverse_list[y]: + self.reverse_list[y].append(x) + + def add_missing(self, distribution, requirement): + """ + Add a missing *requirement* for the given *distribution*. + + :type distribution: :class:`distutils2.database.InstalledDistribution` + or :class:`distutils2.database.EggInfoDistribution` + :type requirement: ``str`` + """ + logger.debug('%s missing %r', distribution, requirement) + self.missing.setdefault(distribution, []).append(requirement) + + def _repr_dist(self, dist): + return '%s %s' % (dist.name, dist.version) + + def repr_node(self, dist, level=1): + """Prints only a subgraph""" + output = [self._repr_dist(dist)] + for other, label in self.adjacency_list[dist]: + dist = self._repr_dist(other) + if label is not None: + dist = '%s [%s]' % (dist, label) + output.append(' ' * level + str(dist)) + suboutput = self.repr_node(other, level + 1) + subs = suboutput.split('\n') + output.extend(subs[1:]) + return '\n'.join(output) + + def to_dot(self, f, skip_disconnected=True): + """Writes a DOT output for the graph to the provided file *f*. + + If *skip_disconnected* is set to ``True``, then all distributions + that are not dependent on any other distribution are skipped. + + :type f: has to support ``file``-like operations + :type skip_disconnected: ``bool`` + """ + disconnected = [] + + f.write("digraph dependencies {\n") + for dist, adjs in self.adjacency_list.items(): + if len(adjs) == 0 and not skip_disconnected: + disconnected.append(dist) + for other, label in adjs: + if not label is None: + f.write('"%s" -> "%s" [label="%s"]\n' % + (dist.name, other.name, label)) + else: + f.write('"%s" -> "%s"\n' % (dist.name, other.name)) + if not skip_disconnected and len(disconnected) > 0: + f.write('subgraph disconnected {\n') + f.write('label = "Disconnected"\n') + f.write('bgcolor = red\n') + + for dist in disconnected: + f.write('"%s"' % dist.name) + f.write('\n') + f.write('}\n') + f.write('}\n') + + def topological_sort(self): + """ + Perform a topological sort of the graph. + :return: A tuple, the first element of which is a topologically sorted + list of distributions, and the second element of which is a + list of distributions that cannot be sorted because they have + circular dependencies and so form a cycle. + """ + result = [] + # Make a shallow copy of the adjacency list + alist = {} + for k, v in self.adjacency_list.items(): + alist[k] = v[:] + while True: + # See what we can remove in this run + to_remove = [] + for k, v in list(alist.items())[:]: + if not v: + to_remove.append(k) + del alist[k] + if not to_remove: + # What's left in alist (if anything) is a cycle. + break + # Remove from the adjacency list of others + for k, v in alist.items(): + alist[k] = [(d, r) for d, r in v if d not in to_remove] + logger.debug('Moving to result: %s', + ['%s (%s)' % (d.name, d.version) for d in to_remove]) + result.extend(to_remove) + return result, list(alist.keys()) + + def __repr__(self): + """Representation of the graph""" + output = [] + for dist, adjs in self.adjacency_list.items(): + output.append(self.repr_node(dist)) + return '\n'.join(output) + + +def make_graph(dists, scheme='default'): + """Makes a dependency graph from the given distributions. + + :parameter dists: a list of distributions + :type dists: list of :class:`distutils2.database.InstalledDistribution` and + :class:`distutils2.database.EggInfoDistribution` instances + :rtype: a :class:`DependencyGraph` instance + """ + scheme = get_scheme(scheme) + graph = DependencyGraph() + provided = {} # maps names to lists of (version, dist) tuples + + # first, build the graph and find out what's provided + for dist in dists: + graph.add_distribution(dist) + + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Add to provided: %s, %s, %s', name, version, dist) + provided.setdefault(name, []).append((version, dist)) + + # now make the edges + for dist in dists: + requires = (dist.run_requires | dist.meta_requires | + dist.build_requires | dist.dev_requires) + for req in requires: + try: + matcher = scheme.matcher(req) + except UnsupportedVersionError: + # XXX compat-mode if cannot read the version + logger.warning('could not read version %r - using name only', + req) + name = req.split()[0] + matcher = scheme.matcher(name) + + name = matcher.key # case-insensitive + + matched = False + if name in provided: + for version, provider in provided[name]: + try: + match = matcher.match(version) + except UnsupportedVersionError: + match = False + + if match: + graph.add_edge(dist, provider, req) + matched = True + break + if not matched: + graph.add_missing(dist, req) + return graph + + +def get_dependent_dists(dists, dist): + """Recursively generate a list of distributions from *dists* that are + dependent on *dist*. + + :param dists: a list of distributions + :param dist: a distribution, member of *dists* for which we are interested + """ + if dist not in dists: + raise DistlibException('given distribution %r is not a member ' + 'of the list' % dist.name) + graph = make_graph(dists) + + dep = [dist] # dependent distributions + todo = graph.reverse_list[dist] # list of nodes we should inspect + + while todo: + d = todo.pop() + dep.append(d) + for succ in graph.reverse_list[d]: + if succ not in dep: + todo.append(succ) + + dep.pop(0) # remove dist from dep, was there to prevent infinite loops + return dep + + +def get_required_dists(dists, dist): + """Recursively generate a list of distributions from *dists* that are + required by *dist*. + + :param dists: a list of distributions + :param dist: a distribution, member of *dists* for which we are interested + """ + if dist not in dists: + raise DistlibException('given distribution %r is not a member ' + 'of the list' % dist.name) + graph = make_graph(dists) + + req = [] # required distributions + todo = graph.adjacency_list[dist] # list of nodes we should inspect + + while todo: + d = todo.pop()[0] + req.append(d) + for pred in graph.adjacency_list[d]: + if pred not in req: + todo.append(pred) + + return req + + +def make_dist(name, version, **kwargs): + """ + A convenience method for making a dist given just a name and version. + """ + summary = kwargs.pop('summary', 'Placeholder for summary') + md = Metadata(**kwargs) + md.name = name + md.version = version + md.summary = summary or 'Placeholder for summary' + return Distribution(md) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/index.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/index.py new file mode 100644 index 0000000000..2406be2169 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/index.py @@ -0,0 +1,516 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import hashlib +import logging +import os +import shutil +import subprocess +import tempfile +try: + from threading import Thread +except ImportError: + from dummy_threading import Thread + +from . import DistlibException +from .compat import (HTTPBasicAuthHandler, Request, HTTPPasswordMgr, + urlparse, build_opener, string_types) +from .util import cached_property, zip_dir, ServerProxy + +logger = logging.getLogger(__name__) + +DEFAULT_INDEX = 'https://pypi.python.org/pypi' +DEFAULT_REALM = 'pypi' + +class PackageIndex(object): + """ + This class represents a package index compatible with PyPI, the Python + Package Index. + """ + + boundary = b'----------ThIs_Is_tHe_distlib_index_bouNdaRY_$' + + def __init__(self, url=None): + """ + Initialise an instance. + + :param url: The URL of the index. If not specified, the URL for PyPI is + used. + """ + self.url = url or DEFAULT_INDEX + self.read_configuration() + scheme, netloc, path, params, query, frag = urlparse(self.url) + if params or query or frag or scheme not in ('http', 'https'): + raise DistlibException('invalid repository: %s' % self.url) + self.password_handler = None + self.ssl_verifier = None + self.gpg = None + self.gpg_home = None + with open(os.devnull, 'w') as sink: + # Use gpg by default rather than gpg2, as gpg2 insists on + # prompting for passwords + for s in ('gpg', 'gpg2'): + try: + rc = subprocess.check_call([s, '--version'], stdout=sink, + stderr=sink) + if rc == 0: + self.gpg = s + break + except OSError: + pass + + def _get_pypirc_command(self): + """ + Get the distutils command for interacting with PyPI configurations. + :return: the command. + """ + from distutils.core import Distribution + from distutils.config import PyPIRCCommand + d = Distribution() + return PyPIRCCommand(d) + + def read_configuration(self): + """ + Read the PyPI access configuration as supported by distutils, getting + PyPI to do the actual work. This populates ``username``, ``password``, + ``realm`` and ``url`` attributes from the configuration. + """ + # get distutils to do the work + c = self._get_pypirc_command() + c.repository = self.url + cfg = c._read_pypirc() + self.username = cfg.get('username') + self.password = cfg.get('password') + self.realm = cfg.get('realm', 'pypi') + self.url = cfg.get('repository', self.url) + + def save_configuration(self): + """ + Save the PyPI access configuration. You must have set ``username`` and + ``password`` attributes before calling this method. + + Again, distutils is used to do the actual work. + """ + self.check_credentials() + # get distutils to do the work + c = self._get_pypirc_command() + c._store_pypirc(self.username, self.password) + + def check_credentials(self): + """ + Check that ``username`` and ``password`` have been set, and raise an + exception if not. + """ + if self.username is None or self.password is None: + raise DistlibException('username and password must be set') + pm = HTTPPasswordMgr() + _, netloc, _, _, _, _ = urlparse(self.url) + pm.add_password(self.realm, netloc, self.username, self.password) + self.password_handler = HTTPBasicAuthHandler(pm) + + def register(self, metadata): + """ + Register a distribution on PyPI, using the provided metadata. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the distribution to be + registered. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + metadata.validate() + d = metadata.todict() + d[':action'] = 'verify' + request = self.encode_request(d.items(), []) + response = self.send_request(request) + d[':action'] = 'submit' + request = self.encode_request(d.items(), []) + return self.send_request(request) + + def _reader(self, name, stream, outbuf): + """ + Thread runner for reading lines of from a subprocess into a buffer. + + :param name: The logical name of the stream (used for logging only). + :param stream: The stream to read from. This will typically a pipe + connected to the output stream of a subprocess. + :param outbuf: The list to append the read lines to. + """ + while True: + s = stream.readline() + if not s: + break + s = s.decode('utf-8').rstrip() + outbuf.append(s) + logger.debug('%s: %s' % (name, s)) + stream.close() + + def get_sign_command(self, filename, signer, sign_password, + keystore=None): + """ + Return a suitable command for signing a file. + + :param filename: The pathname to the file to be signed. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: The signing command as a list suitable to be + passed to :class:`subprocess.Popen`. + """ + cmd = [self.gpg, '--status-fd', '2', '--no-tty'] + if keystore is None: + keystore = self.gpg_home + if keystore: + cmd.extend(['--homedir', keystore]) + if sign_password is not None: + cmd.extend(['--batch', '--passphrase-fd', '0']) + td = tempfile.mkdtemp() + sf = os.path.join(td, os.path.basename(filename) + '.asc') + cmd.extend(['--detach-sign', '--armor', '--local-user', + signer, '--output', sf, filename]) + logger.debug('invoking: %s', ' '.join(cmd)) + return cmd, sf + + def run_command(self, cmd, input_data=None): + """ + Run a command in a child process , passing it any input data specified. + + :param cmd: The command to run. + :param input_data: If specified, this must be a byte string containing + data to be sent to the child process. + :return: A tuple consisting of the subprocess' exit code, a list of + lines read from the subprocess' ``stdout``, and a list of + lines read from the subprocess' ``stderr``. + """ + kwargs = { + 'stdout': subprocess.PIPE, + 'stderr': subprocess.PIPE, + } + if input_data is not None: + kwargs['stdin'] = subprocess.PIPE + stdout = [] + stderr = [] + p = subprocess.Popen(cmd, **kwargs) + # We don't use communicate() here because we may need to + # get clever with interacting with the command + t1 = Thread(target=self._reader, args=('stdout', p.stdout, stdout)) + t1.start() + t2 = Thread(target=self._reader, args=('stderr', p.stderr, stderr)) + t2.start() + if input_data is not None: + p.stdin.write(input_data) + p.stdin.close() + + p.wait() + t1.join() + t2.join() + return p.returncode, stdout, stderr + + def sign_file(self, filename, signer, sign_password, keystore=None): + """ + Sign a file. + + :param filename: The pathname to the file to be signed. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param keystore: The path to a directory which contains the keys + used in signing. If not specified, the instance's + ``gpg_home`` attribute is used instead. + :return: The absolute pathname of the file where the signature is + stored. + """ + cmd, sig_file = self.get_sign_command(filename, signer, sign_password, + keystore) + rc, stdout, stderr = self.run_command(cmd, + sign_password.encode('utf-8')) + if rc != 0: + raise DistlibException('sign command failed with error ' + 'code %s' % rc) + return sig_file + + def upload_file(self, metadata, filename, signer=None, sign_password=None, + filetype='sdist', pyversion='source', keystore=None): + """ + Upload a release file to the index. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the file to be uploaded. + :param filename: The pathname of the file to be uploaded. + :param signer: The identifier of the signer of the file. + :param sign_password: The passphrase for the signer's + private key used for signing. + :param filetype: The type of the file being uploaded. This is the + distutils command which produced that file, e.g. + ``sdist`` or ``bdist_wheel``. + :param pyversion: The version of Python which the release relates + to. For code compatible with any Python, this would + be ``source``, otherwise it would be e.g. ``3.2``. + :param keystore: The path to a directory which contains the keys + used in signing. If not specified, the instance's + ``gpg_home`` attribute is used instead. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + if not os.path.exists(filename): + raise DistlibException('not found: %s' % filename) + metadata.validate() + d = metadata.todict() + sig_file = None + if signer: + if not self.gpg: + logger.warning('no signing program available - not signed') + else: + sig_file = self.sign_file(filename, signer, sign_password, + keystore) + with open(filename, 'rb') as f: + file_data = f.read() + md5_digest = hashlib.md5(file_data).hexdigest() + sha256_digest = hashlib.sha256(file_data).hexdigest() + d.update({ + ':action': 'file_upload', + 'protocol_version': '1', + 'filetype': filetype, + 'pyversion': pyversion, + 'md5_digest': md5_digest, + 'sha256_digest': sha256_digest, + }) + files = [('content', os.path.basename(filename), file_data)] + if sig_file: + with open(sig_file, 'rb') as f: + sig_data = f.read() + files.append(('gpg_signature', os.path.basename(sig_file), + sig_data)) + shutil.rmtree(os.path.dirname(sig_file)) + request = self.encode_request(d.items(), files) + return self.send_request(request) + + def upload_documentation(self, metadata, doc_dir): + """ + Upload documentation to the index. + + :param metadata: A :class:`Metadata` instance defining at least a name + and version number for the documentation to be + uploaded. + :param doc_dir: The pathname of the directory which contains the + documentation. This should be the directory that + contains the ``index.html`` for the documentation. + :return: The HTTP response received from PyPI upon submission of the + request. + """ + self.check_credentials() + if not os.path.isdir(doc_dir): + raise DistlibException('not a directory: %r' % doc_dir) + fn = os.path.join(doc_dir, 'index.html') + if not os.path.exists(fn): + raise DistlibException('not found: %r' % fn) + metadata.validate() + name, version = metadata.name, metadata.version + zip_data = zip_dir(doc_dir).getvalue() + fields = [(':action', 'doc_upload'), + ('name', name), ('version', version)] + files = [('content', name, zip_data)] + request = self.encode_request(fields, files) + return self.send_request(request) + + def get_verify_command(self, signature_filename, data_filename, + keystore=None): + """ + Return a suitable command for verifying a file. + + :param signature_filename: The pathname to the file containing the + signature. + :param data_filename: The pathname to the file containing the + signed data. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: The verifying command as a list suitable to be + passed to :class:`subprocess.Popen`. + """ + cmd = [self.gpg, '--status-fd', '2', '--no-tty'] + if keystore is None: + keystore = self.gpg_home + if keystore: + cmd.extend(['--homedir', keystore]) + cmd.extend(['--verify', signature_filename, data_filename]) + logger.debug('invoking: %s', ' '.join(cmd)) + return cmd + + def verify_signature(self, signature_filename, data_filename, + keystore=None): + """ + Verify a signature for a file. + + :param signature_filename: The pathname to the file containing the + signature. + :param data_filename: The pathname to the file containing the + signed data. + :param keystore: The path to a directory which contains the keys + used in verification. If not specified, the + instance's ``gpg_home`` attribute is used instead. + :return: True if the signature was verified, else False. + """ + if not self.gpg: + raise DistlibException('verification unavailable because gpg ' + 'unavailable') + cmd = self.get_verify_command(signature_filename, data_filename, + keystore) + rc, stdout, stderr = self.run_command(cmd) + if rc not in (0, 1): + raise DistlibException('verify command failed with error ' + 'code %s' % rc) + return rc == 0 + + def download_file(self, url, destfile, digest=None, reporthook=None): + """ + This is a convenience method for downloading a file from an URL. + Normally, this will be a file from the index, though currently + no check is made for this (i.e. a file can be downloaded from + anywhere). + + The method is just like the :func:`urlretrieve` function in the + standard library, except that it allows digest computation to be + done during download and checking that the downloaded data + matched any expected value. + + :param url: The URL of the file to be downloaded (assumed to be + available via an HTTP GET request). + :param destfile: The pathname where the downloaded file is to be + saved. + :param digest: If specified, this must be a (hasher, value) + tuple, where hasher is the algorithm used (e.g. + ``'md5'``) and ``value`` is the expected value. + :param reporthook: The same as for :func:`urlretrieve` in the + standard library. + """ + if digest is None: + digester = None + logger.debug('No digest specified') + else: + if isinstance(digest, (list, tuple)): + hasher, digest = digest + else: + hasher = 'md5' + digester = getattr(hashlib, hasher)() + logger.debug('Digest specified: %s' % digest) + # The following code is equivalent to urlretrieve. + # We need to do it this way so that we can compute the + # digest of the file as we go. + with open(destfile, 'wb') as dfp: + # addinfourl is not a context manager on 2.x + # so we have to use try/finally + sfp = self.send_request(Request(url)) + try: + headers = sfp.info() + blocksize = 8192 + size = -1 + read = 0 + blocknum = 0 + if "content-length" in headers: + size = int(headers["Content-Length"]) + if reporthook: + reporthook(blocknum, blocksize, size) + while True: + block = sfp.read(blocksize) + if not block: + break + read += len(block) + dfp.write(block) + if digester: + digester.update(block) + blocknum += 1 + if reporthook: + reporthook(blocknum, blocksize, size) + finally: + sfp.close() + + # check that we got the whole file, if we can + if size >= 0 and read < size: + raise DistlibException( + 'retrieval incomplete: got only %d out of %d bytes' + % (read, size)) + # if we have a digest, it must match. + if digester: + actual = digester.hexdigest() + if digest != actual: + raise DistlibException('%s digest mismatch for %s: expected ' + '%s, got %s' % (hasher, destfile, + digest, actual)) + logger.debug('Digest verified: %s', digest) + + def send_request(self, req): + """ + Send a standard library :class:`Request` to PyPI and return its + response. + + :param req: The request to send. + :return: The HTTP response from PyPI (a standard library HTTPResponse). + """ + handlers = [] + if self.password_handler: + handlers.append(self.password_handler) + if self.ssl_verifier: + handlers.append(self.ssl_verifier) + opener = build_opener(*handlers) + return opener.open(req) + + def encode_request(self, fields, files): + """ + Encode fields and files for posting to an HTTP server. + + :param fields: The fields to send as a list of (fieldname, value) + tuples. + :param files: The files to send as a list of (fieldname, filename, + file_bytes) tuple. + """ + # Adapted from packaging, which in turn was adapted from + # http://code.activestate.com/recipes/146306 + + parts = [] + boundary = self.boundary + for k, values in fields: + if not isinstance(values, (list, tuple)): + values = [values] + + for v in values: + parts.extend(( + b'--' + boundary, + ('Content-Disposition: form-data; name="%s"' % + k).encode('utf-8'), + b'', + v.encode('utf-8'))) + for key, filename, value in files: + parts.extend(( + b'--' + boundary, + ('Content-Disposition: form-data; name="%s"; filename="%s"' % + (key, filename)).encode('utf-8'), + b'', + value)) + + parts.extend((b'--' + boundary + b'--', b'')) + + body = b'\r\n'.join(parts) + ct = b'multipart/form-data; boundary=' + boundary + headers = { + 'Content-type': ct, + 'Content-length': str(len(body)) + } + return Request(self.url, body, headers) + + def search(self, terms, operator=None): + if isinstance(terms, string_types): + terms = {'name': terms} + rpc_proxy = ServerProxy(self.url, timeout=3.0) + try: + return rpc_proxy.search(terms, operator or 'and') + finally: + rpc_proxy('close')() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/locators.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/locators.py new file mode 100644 index 0000000000..5c655c3e51 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/locators.py @@ -0,0 +1,1295 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2015 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# + +import gzip +from io import BytesIO +import json +import logging +import os +import posixpath +import re +try: + import threading +except ImportError: # pragma: no cover + import dummy_threading as threading +import zlib + +from . import DistlibException +from .compat import (urljoin, urlparse, urlunparse, url2pathname, pathname2url, + queue, quote, unescape, string_types, build_opener, + HTTPRedirectHandler as BaseRedirectHandler, text_type, + Request, HTTPError, URLError) +from .database import Distribution, DistributionPath, make_dist +from .metadata import Metadata, MetadataInvalidError +from .util import (cached_property, parse_credentials, ensure_slash, + split_filename, get_project_data, parse_requirement, + parse_name_and_version, ServerProxy, normalize_name) +from .version import get_scheme, UnsupportedVersionError +from .wheel import Wheel, is_compatible + +logger = logging.getLogger(__name__) + +HASHER_HASH = re.compile(r'^(\w+)=([a-f0-9]+)') +CHARSET = re.compile(r';\s*charset\s*=\s*(.*)\s*$', re.I) +HTML_CONTENT_TYPE = re.compile('text/html|application/x(ht)?ml') +DEFAULT_INDEX = 'https://pypi.python.org/pypi' + +def get_all_distribution_names(url=None): + """ + Return all distribution names known by an index. + :param url: The URL of the index. + :return: A list of all known distribution names. + """ + if url is None: + url = DEFAULT_INDEX + client = ServerProxy(url, timeout=3.0) + try: + return client.list_packages() + finally: + client('close')() + +class RedirectHandler(BaseRedirectHandler): + """ + A class to work around a bug in some Python 3.2.x releases. + """ + # There's a bug in the base version for some 3.2.x + # (e.g. 3.2.2 on Ubuntu Oneiric). If a Location header + # returns e.g. /abc, it bails because it says the scheme '' + # is bogus, when actually it should use the request's + # URL for the scheme. See Python issue #13696. + def http_error_302(self, req, fp, code, msg, headers): + # Some servers (incorrectly) return multiple Location headers + # (so probably same goes for URI). Use first header. + newurl = None + for key in ('location', 'uri'): + if key in headers: + newurl = headers[key] + break + if newurl is None: # pragma: no cover + return + urlparts = urlparse(newurl) + if urlparts.scheme == '': + newurl = urljoin(req.get_full_url(), newurl) + if hasattr(headers, 'replace_header'): + headers.replace_header(key, newurl) + else: + headers[key] = newurl + return BaseRedirectHandler.http_error_302(self, req, fp, code, msg, + headers) + + http_error_301 = http_error_303 = http_error_307 = http_error_302 + +class Locator(object): + """ + A base class for locators - things that locate distributions. + """ + source_extensions = ('.tar.gz', '.tar.bz2', '.tar', '.zip', '.tgz', '.tbz') + binary_extensions = ('.egg', '.exe', '.whl') + excluded_extensions = ('.pdf',) + + # A list of tags indicating which wheels you want to match. The default + # value of None matches against the tags compatible with the running + # Python. If you want to match other values, set wheel_tags on a locator + # instance to a list of tuples (pyver, abi, arch) which you want to match. + wheel_tags = None + + downloadable_extensions = source_extensions + ('.whl',) + + def __init__(self, scheme='default'): + """ + Initialise an instance. + :param scheme: Because locators look for most recent versions, they + need to know the version scheme to use. This specifies + the current PEP-recommended scheme - use ``'legacy'`` + if you need to support existing distributions on PyPI. + """ + self._cache = {} + self.scheme = scheme + # Because of bugs in some of the handlers on some of the platforms, + # we use our own opener rather than just using urlopen. + self.opener = build_opener(RedirectHandler()) + # If get_project() is called from locate(), the matcher instance + # is set from the requirement passed to locate(). See issue #18 for + # why this can be useful to know. + self.matcher = None + self.errors = queue.Queue() + + def get_errors(self): + """ + Return any errors which have occurred. + """ + result = [] + while not self.errors.empty(): # pragma: no cover + try: + e = self.errors.get(False) + result.append(e) + except self.errors.Empty: + continue + self.errors.task_done() + return result + + def clear_errors(self): + """ + Clear any errors which may have been logged. + """ + # Just get the errors and throw them away + self.get_errors() + + def clear_cache(self): + self._cache.clear() + + def _get_scheme(self): + return self._scheme + + def _set_scheme(self, value): + self._scheme = value + + scheme = property(_get_scheme, _set_scheme) + + def _get_project(self, name): + """ + For a given project, get a dictionary mapping available versions to Distribution + instances. + + This should be implemented in subclasses. + + If called from a locate() request, self.matcher will be set to a + matcher for the requirement to satisfy, otherwise it will be None. + """ + raise NotImplementedError('Please implement in the subclass') + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Please implement in the subclass') + + def get_project(self, name): + """ + For a given project, get a dictionary mapping available versions to Distribution + instances. + + This calls _get_project to do all the work, and just implements a caching layer on top. + """ + if self._cache is None: # pragma: no cover + result = self._get_project(name) + elif name in self._cache: + result = self._cache[name] + else: + self.clear_errors() + result = self._get_project(name) + self._cache[name] = result + return result + + def score_url(self, url): + """ + Give an url a score which can be used to choose preferred URLs + for a given project release. + """ + t = urlparse(url) + basename = posixpath.basename(t.path) + compatible = True + is_wheel = basename.endswith('.whl') + is_downloadable = basename.endswith(self.downloadable_extensions) + if is_wheel: + compatible = is_compatible(Wheel(basename), self.wheel_tags) + return (t.scheme == 'https', 'pypi.python.org' in t.netloc, + is_downloadable, is_wheel, compatible, basename) + + def prefer_url(self, url1, url2): + """ + Choose one of two URLs where both are candidates for distribution + archives for the same version of a distribution (for example, + .tar.gz vs. zip). + + The current implementation favours https:// URLs over http://, archives + from PyPI over those from other locations, wheel compatibility (if a + wheel) and then the archive name. + """ + result = url2 + if url1: + s1 = self.score_url(url1) + s2 = self.score_url(url2) + if s1 > s2: + result = url1 + if result != url2: + logger.debug('Not replacing %r with %r', url1, url2) + else: + logger.debug('Replacing %r with %r', url1, url2) + return result + + def split_filename(self, filename, project_name): + """ + Attempt to split a filename in project name, version and Python version. + """ + return split_filename(filename, project_name) + + def convert_url_to_download_info(self, url, project_name): + """ + See if a URL is a candidate for a download URL for a project (the URL + has typically been scraped from an HTML page). + + If it is, a dictionary is returned with keys "name", "version", + "filename" and "url"; otherwise, None is returned. + """ + def same_project(name1, name2): + return normalize_name(name1) == normalize_name(name2) + + result = None + scheme, netloc, path, params, query, frag = urlparse(url) + if frag.lower().startswith('egg='): # pragma: no cover + logger.debug('%s: version hint in fragment: %r', + project_name, frag) + m = HASHER_HASH.match(frag) + if m: + algo, digest = m.groups() + else: + algo, digest = None, None + origpath = path + if path and path[-1] == '/': # pragma: no cover + path = path[:-1] + if path.endswith('.whl'): + try: + wheel = Wheel(path) + if not is_compatible(wheel, self.wheel_tags): + logger.debug('Wheel not compatible: %s', path) + else: + if project_name is None: + include = True + else: + include = same_project(wheel.name, project_name) + if include: + result = { + 'name': wheel.name, + 'version': wheel.version, + 'filename': wheel.filename, + 'url': urlunparse((scheme, netloc, origpath, + params, query, '')), + 'python-version': ', '.join( + ['.'.join(list(v[2:])) for v in wheel.pyver]), + } + except Exception as e: # pragma: no cover + logger.warning('invalid path for wheel: %s', path) + elif not path.endswith(self.downloadable_extensions): # pragma: no cover + logger.debug('Not downloadable: %s', path) + else: # downloadable extension + path = filename = posixpath.basename(path) + for ext in self.downloadable_extensions: + if path.endswith(ext): + path = path[:-len(ext)] + t = self.split_filename(path, project_name) + if not t: # pragma: no cover + logger.debug('No match for project/version: %s', path) + else: + name, version, pyver = t + if not project_name or same_project(project_name, name): + result = { + 'name': name, + 'version': version, + 'filename': filename, + 'url': urlunparse((scheme, netloc, origpath, + params, query, '')), + #'packagetype': 'sdist', + } + if pyver: # pragma: no cover + result['python-version'] = pyver + break + if result and algo: + result['%s_digest' % algo] = digest + return result + + def _get_digest(self, info): + """ + Get a digest from a dictionary by looking at keys of the form + 'algo_digest'. + + Returns a 2-tuple (algo, digest) if found, else None. Currently + looks only for SHA256, then MD5. + """ + result = None + for algo in ('sha256', 'md5'): + key = '%s_digest' % algo + if key in info: + result = (algo, info[key]) + break + return result + + def _update_version_data(self, result, info): + """ + Update a result dictionary (the final result from _get_project) with a + dictionary for a specific version, which typically holds information + gleaned from a filename or URL for an archive for the distribution. + """ + name = info.pop('name') + version = info.pop('version') + if version in result: + dist = result[version] + md = dist.metadata + else: + dist = make_dist(name, version, scheme=self.scheme) + md = dist.metadata + dist.digest = digest = self._get_digest(info) + url = info['url'] + result['digests'][url] = digest + if md.source_url != info['url']: + md.source_url = self.prefer_url(md.source_url, url) + result['urls'].setdefault(version, set()).add(url) + dist.locator = self + result[version] = dist + + def locate(self, requirement, prereleases=False): + """ + Find the most recent distribution which matches the given + requirement. + + :param requirement: A requirement of the form 'foo (1.0)' or perhaps + 'foo (>= 1.0, < 2.0, != 1.3)' + :param prereleases: If ``True``, allow pre-release versions + to be located. Otherwise, pre-release versions + are not returned. + :return: A :class:`Distribution` instance, or ``None`` if no such + distribution could be located. + """ + result = None + r = parse_requirement(requirement) + if r is None: # pragma: no cover + raise DistlibException('Not a valid requirement: %r' % requirement) + scheme = get_scheme(self.scheme) + self.matcher = matcher = scheme.matcher(r.requirement) + logger.debug('matcher: %s (%s)', matcher, type(matcher).__name__) + versions = self.get_project(r.name) + if len(versions) > 2: # urls and digests keys are present + # sometimes, versions are invalid + slist = [] + vcls = matcher.version_class + for k in versions: + if k in ('urls', 'digests'): + continue + try: + if not matcher.match(k): + logger.debug('%s did not match %r', matcher, k) + else: + if prereleases or not vcls(k).is_prerelease: + slist.append(k) + else: + logger.debug('skipping pre-release ' + 'version %s of %s', k, matcher.name) + except Exception: # pragma: no cover + logger.warning('error matching %s with %r', matcher, k) + pass # slist.append(k) + if len(slist) > 1: + slist = sorted(slist, key=scheme.key) + if slist: + logger.debug('sorted list: %s', slist) + version = slist[-1] + result = versions[version] + if result: + if r.extras: + result.extras = r.extras + result.download_urls = versions.get('urls', {}).get(version, set()) + d = {} + sd = versions.get('digests', {}) + for url in result.download_urls: + if url in sd: # pragma: no cover + d[url] = sd[url] + result.digests = d + self.matcher = None + return result + + +class PyPIRPCLocator(Locator): + """ + This locator uses XML-RPC to locate distributions. It therefore + cannot be used with simple mirrors (that only mirror file content). + """ + def __init__(self, url, **kwargs): + """ + Initialise an instance. + + :param url: The URL to use for XML-RPC. + :param kwargs: Passed to the superclass constructor. + """ + super(PyPIRPCLocator, self).__init__(**kwargs) + self.base_url = url + self.client = ServerProxy(url, timeout=3.0) + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + return set(self.client.list_packages()) + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + versions = self.client.package_releases(name, True) + for v in versions: + urls = self.client.release_urls(name, v) + data = self.client.release_data(name, v) + metadata = Metadata(scheme=self.scheme) + metadata.name = data['name'] + metadata.version = data['version'] + metadata.license = data.get('license') + metadata.keywords = data.get('keywords', []) + metadata.summary = data.get('summary') + dist = Distribution(metadata) + if urls: + info = urls[0] + metadata.source_url = info['url'] + dist.digest = self._get_digest(info) + dist.locator = self + result[v] = dist + for info in urls: + url = info['url'] + digest = self._get_digest(info) + result['urls'].setdefault(v, set()).add(url) + result['digests'][url] = digest + return result + +class PyPIJSONLocator(Locator): + """ + This locator uses PyPI's JSON interface. It's very limited in functionality + and probably not worth using. + """ + def __init__(self, url, **kwargs): + super(PyPIJSONLocator, self).__init__(**kwargs) + self.base_url = ensure_slash(url) + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Not available from this locator') + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + url = urljoin(self.base_url, '%s/json' % quote(name)) + try: + resp = self.opener.open(url) + data = resp.read().decode() # for now + d = json.loads(data) + md = Metadata(scheme=self.scheme) + data = d['info'] + md.name = data['name'] + md.version = data['version'] + md.license = data.get('license') + md.keywords = data.get('keywords', []) + md.summary = data.get('summary') + dist = Distribution(md) + dist.locator = self + urls = d['urls'] + result[md.version] = dist + for info in d['urls']: + url = info['url'] + dist.download_urls.add(url) + dist.digests[url] = self._get_digest(info) + result['urls'].setdefault(md.version, set()).add(url) + result['digests'][url] = self._get_digest(info) + # Now get other releases + for version, infos in d['releases'].items(): + if version == md.version: + continue # already done + omd = Metadata(scheme=self.scheme) + omd.name = md.name + omd.version = version + odist = Distribution(omd) + odist.locator = self + result[version] = odist + for info in infos: + url = info['url'] + odist.download_urls.add(url) + odist.digests[url] = self._get_digest(info) + result['urls'].setdefault(version, set()).add(url) + result['digests'][url] = self._get_digest(info) +# for info in urls: +# md.source_url = info['url'] +# dist.digest = self._get_digest(info) +# dist.locator = self +# for info in urls: +# url = info['url'] +# result['urls'].setdefault(md.version, set()).add(url) +# result['digests'][url] = self._get_digest(info) + except Exception as e: + self.errors.put(text_type(e)) + logger.exception('JSON fetch failed: %s', e) + return result + + +class Page(object): + """ + This class represents a scraped HTML page. + """ + # The following slightly hairy-looking regex just looks for the contents of + # an anchor link, which has an attribute "href" either immediately preceded + # or immediately followed by a "rel" attribute. The attribute values can be + # declared with double quotes, single quotes or no quotes - which leads to + # the length of the expression. + _href = re.compile(""" +(rel\\s*=\\s*(?:"(?P<rel1>[^"]*)"|'(?P<rel2>[^']*)'|(?P<rel3>[^>\\s\n]*))\\s+)? +href\\s*=\\s*(?:"(?P<url1>[^"]*)"|'(?P<url2>[^']*)'|(?P<url3>[^>\\s\n]*)) +(\\s+rel\\s*=\\s*(?:"(?P<rel4>[^"]*)"|'(?P<rel5>[^']*)'|(?P<rel6>[^>\\s\n]*)))? +""", re.I | re.S | re.X) + _base = re.compile(r"""<base\s+href\s*=\s*['"]?([^'">]+)""", re.I | re.S) + + def __init__(self, data, url): + """ + Initialise an instance with the Unicode page contents and the URL they + came from. + """ + self.data = data + self.base_url = self.url = url + m = self._base.search(self.data) + if m: + self.base_url = m.group(1) + + _clean_re = re.compile(r'[^a-z0-9$&+,/:;=?@.#%_\\|-]', re.I) + + @cached_property + def links(self): + """ + Return the URLs of all the links on a page together with information + about their "rel" attribute, for determining which ones to treat as + downloads and which ones to queue for further scraping. + """ + def clean(url): + "Tidy up an URL." + scheme, netloc, path, params, query, frag = urlparse(url) + return urlunparse((scheme, netloc, quote(path), + params, query, frag)) + + result = set() + for match in self._href.finditer(self.data): + d = match.groupdict('') + rel = (d['rel1'] or d['rel2'] or d['rel3'] or + d['rel4'] or d['rel5'] or d['rel6']) + url = d['url1'] or d['url2'] or d['url3'] + url = urljoin(self.base_url, url) + url = unescape(url) + url = self._clean_re.sub(lambda m: '%%%2x' % ord(m.group(0)), url) + result.add((url, rel)) + # We sort the result, hoping to bring the most recent versions + # to the front + result = sorted(result, key=lambda t: t[0], reverse=True) + return result + + +class SimpleScrapingLocator(Locator): + """ + A locator which scrapes HTML pages to locate downloads for a distribution. + This runs multiple threads to do the I/O; performance is at least as good + as pip's PackageFinder, which works in an analogous fashion. + """ + + # These are used to deal with various Content-Encoding schemes. + decoders = { + 'deflate': zlib.decompress, + 'gzip': lambda b: gzip.GzipFile(fileobj=BytesIO(d)).read(), + 'none': lambda b: b, + } + + def __init__(self, url, timeout=None, num_workers=10, **kwargs): + """ + Initialise an instance. + :param url: The root URL to use for scraping. + :param timeout: The timeout, in seconds, to be applied to requests. + This defaults to ``None`` (no timeout specified). + :param num_workers: The number of worker threads you want to do I/O, + This defaults to 10. + :param kwargs: Passed to the superclass. + """ + super(SimpleScrapingLocator, self).__init__(**kwargs) + self.base_url = ensure_slash(url) + self.timeout = timeout + self._page_cache = {} + self._seen = set() + self._to_fetch = queue.Queue() + self._bad_hosts = set() + self.skip_externals = False + self.num_workers = num_workers + self._lock = threading.RLock() + # See issue #45: we need to be resilient when the locator is used + # in a thread, e.g. with concurrent.futures. We can't use self._lock + # as it is for coordinating our internal threads - the ones created + # in _prepare_threads. + self._gplock = threading.RLock() + self.platform_check = False # See issue #112 + + def _prepare_threads(self): + """ + Threads are created only when get_project is called, and terminate + before it returns. They are there primarily to parallelise I/O (i.e. + fetching web pages). + """ + self._threads = [] + for i in range(self.num_workers): + t = threading.Thread(target=self._fetch) + t.setDaemon(True) + t.start() + self._threads.append(t) + + def _wait_threads(self): + """ + Tell all the threads to terminate (by sending a sentinel value) and + wait for them to do so. + """ + # Note that you need two loops, since you can't say which + # thread will get each sentinel + for t in self._threads: + self._to_fetch.put(None) # sentinel + for t in self._threads: + t.join() + self._threads = [] + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + with self._gplock: + self.result = result + self.project_name = name + url = urljoin(self.base_url, '%s/' % quote(name)) + self._seen.clear() + self._page_cache.clear() + self._prepare_threads() + try: + logger.debug('Queueing %s', url) + self._to_fetch.put(url) + self._to_fetch.join() + finally: + self._wait_threads() + del self.result + return result + + platform_dependent = re.compile(r'\b(linux_(i\d86|x86_64|arm\w+)|' + r'win(32|_amd64)|macosx_?\d+)\b', re.I) + + def _is_platform_dependent(self, url): + """ + Does an URL refer to a platform-specific download? + """ + return self.platform_dependent.search(url) + + def _process_download(self, url): + """ + See if an URL is a suitable download for a project. + + If it is, register information in the result dictionary (for + _get_project) about the specific version it's for. + + Note that the return value isn't actually used other than as a boolean + value. + """ + if self.platform_check and self._is_platform_dependent(url): + info = None + else: + info = self.convert_url_to_download_info(url, self.project_name) + logger.debug('process_download: %s -> %s', url, info) + if info: + with self._lock: # needed because self.result is shared + self._update_version_data(self.result, info) + return info + + def _should_queue(self, link, referrer, rel): + """ + Determine whether a link URL from a referring page and with a + particular "rel" attribute should be queued for scraping. + """ + scheme, netloc, path, _, _, _ = urlparse(link) + if path.endswith(self.source_extensions + self.binary_extensions + + self.excluded_extensions): + result = False + elif self.skip_externals and not link.startswith(self.base_url): + result = False + elif not referrer.startswith(self.base_url): + result = False + elif rel not in ('homepage', 'download'): + result = False + elif scheme not in ('http', 'https', 'ftp'): + result = False + elif self._is_platform_dependent(link): + result = False + else: + host = netloc.split(':', 1)[0] + if host.lower() == 'localhost': + result = False + else: + result = True + logger.debug('should_queue: %s (%s) from %s -> %s', link, rel, + referrer, result) + return result + + def _fetch(self): + """ + Get a URL to fetch from the work queue, get the HTML page, examine its + links for download candidates and candidates for further scraping. + + This is a handy method to run in a thread. + """ + while True: + url = self._to_fetch.get() + try: + if url: + page = self.get_page(url) + if page is None: # e.g. after an error + continue + for link, rel in page.links: + if link not in self._seen: + try: + self._seen.add(link) + if (not self._process_download(link) and + self._should_queue(link, url, rel)): + logger.debug('Queueing %s from %s', link, url) + self._to_fetch.put(link) + except MetadataInvalidError: # e.g. invalid versions + pass + except Exception as e: # pragma: no cover + self.errors.put(text_type(e)) + finally: + # always do this, to avoid hangs :-) + self._to_fetch.task_done() + if not url: + #logger.debug('Sentinel seen, quitting.') + break + + def get_page(self, url): + """ + Get the HTML for an URL, possibly from an in-memory cache. + + XXX TODO Note: this cache is never actually cleared. It's assumed that + the data won't get stale over the lifetime of a locator instance (not + necessarily true for the default_locator). + """ + # http://peak.telecommunity.com/DevCenter/EasyInstall#package-index-api + scheme, netloc, path, _, _, _ = urlparse(url) + if scheme == 'file' and os.path.isdir(url2pathname(path)): + url = urljoin(ensure_slash(url), 'index.html') + + if url in self._page_cache: + result = self._page_cache[url] + logger.debug('Returning %s from cache: %s', url, result) + else: + host = netloc.split(':', 1)[0] + result = None + if host in self._bad_hosts: + logger.debug('Skipping %s due to bad host %s', url, host) + else: + req = Request(url, headers={'Accept-encoding': 'identity'}) + try: + logger.debug('Fetching %s', url) + resp = self.opener.open(req, timeout=self.timeout) + logger.debug('Fetched %s', url) + headers = resp.info() + content_type = headers.get('Content-Type', '') + if HTML_CONTENT_TYPE.match(content_type): + final_url = resp.geturl() + data = resp.read() + encoding = headers.get('Content-Encoding') + if encoding: + decoder = self.decoders[encoding] # fail if not found + data = decoder(data) + encoding = 'utf-8' + m = CHARSET.search(content_type) + if m: + encoding = m.group(1) + try: + data = data.decode(encoding) + except UnicodeError: # pragma: no cover + data = data.decode('latin-1') # fallback + result = Page(data, final_url) + self._page_cache[final_url] = result + except HTTPError as e: + if e.code != 404: + logger.exception('Fetch failed: %s: %s', url, e) + except URLError as e: # pragma: no cover + logger.exception('Fetch failed: %s: %s', url, e) + with self._lock: + self._bad_hosts.add(host) + except Exception as e: # pragma: no cover + logger.exception('Fetch failed: %s: %s', url, e) + finally: + self._page_cache[url] = result # even if None (failure) + return result + + _distname_re = re.compile('<a href=[^>]*>([^<]+)<') + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + page = self.get_page(self.base_url) + if not page: + raise DistlibException('Unable to get %s' % self.base_url) + for match in self._distname_re.finditer(page.data): + result.add(match.group(1)) + return result + +class DirectoryLocator(Locator): + """ + This class locates distributions in a directory tree. + """ + + def __init__(self, path, **kwargs): + """ + Initialise an instance. + :param path: The root of the directory tree to search. + :param kwargs: Passed to the superclass constructor, + except for: + * recursive - if True (the default), subdirectories are + recursed into. If False, only the top-level directory + is searched, + """ + self.recursive = kwargs.pop('recursive', True) + super(DirectoryLocator, self).__init__(**kwargs) + path = os.path.abspath(path) + if not os.path.isdir(path): # pragma: no cover + raise DistlibException('Not a directory: %r' % path) + self.base_dir = path + + def should_include(self, filename, parent): + """ + Should a filename be considered as a candidate for a distribution + archive? As well as the filename, the directory which contains it + is provided, though not used by the current implementation. + """ + return filename.endswith(self.downloadable_extensions) + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + for root, dirs, files in os.walk(self.base_dir): + for fn in files: + if self.should_include(fn, root): + fn = os.path.join(root, fn) + url = urlunparse(('file', '', + pathname2url(os.path.abspath(fn)), + '', '', '')) + info = self.convert_url_to_download_info(url, name) + if info: + self._update_version_data(result, info) + if not self.recursive: + break + return result + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + for root, dirs, files in os.walk(self.base_dir): + for fn in files: + if self.should_include(fn, root): + fn = os.path.join(root, fn) + url = urlunparse(('file', '', + pathname2url(os.path.abspath(fn)), + '', '', '')) + info = self.convert_url_to_download_info(url, None) + if info: + result.add(info['name']) + if not self.recursive: + break + return result + +class JSONLocator(Locator): + """ + This locator uses special extended metadata (not available on PyPI) and is + the basis of performant dependency resolution in distlib. Other locators + require archive downloads before dependencies can be determined! As you + might imagine, that can be slow. + """ + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + raise NotImplementedError('Not available from this locator') + + def _get_project(self, name): + result = {'urls': {}, 'digests': {}} + data = get_project_data(name) + if data: + for info in data.get('files', []): + if info['ptype'] != 'sdist' or info['pyversion'] != 'source': + continue + # We don't store summary in project metadata as it makes + # the data bigger for no benefit during dependency + # resolution + dist = make_dist(data['name'], info['version'], + summary=data.get('summary', + 'Placeholder for summary'), + scheme=self.scheme) + md = dist.metadata + md.source_url = info['url'] + # TODO SHA256 digest + if 'digest' in info and info['digest']: + dist.digest = ('md5', info['digest']) + md.dependencies = info.get('requirements', {}) + dist.exports = info.get('exports', {}) + result[dist.version] = dist + result['urls'].setdefault(dist.version, set()).add(info['url']) + return result + +class DistPathLocator(Locator): + """ + This locator finds installed distributions in a path. It can be useful for + adding to an :class:`AggregatingLocator`. + """ + def __init__(self, distpath, **kwargs): + """ + Initialise an instance. + + :param distpath: A :class:`DistributionPath` instance to search. + """ + super(DistPathLocator, self).__init__(**kwargs) + assert isinstance(distpath, DistributionPath) + self.distpath = distpath + + def _get_project(self, name): + dist = self.distpath.get_distribution(name) + if dist is None: + result = {'urls': {}, 'digests': {}} + else: + result = { + dist.version: dist, + 'urls': {dist.version: set([dist.source_url])}, + 'digests': {dist.version: set([None])} + } + return result + + +class AggregatingLocator(Locator): + """ + This class allows you to chain and/or merge a list of locators. + """ + def __init__(self, *locators, **kwargs): + """ + Initialise an instance. + + :param locators: The list of locators to search. + :param kwargs: Passed to the superclass constructor, + except for: + * merge - if False (the default), the first successful + search from any of the locators is returned. If True, + the results from all locators are merged (this can be + slow). + """ + self.merge = kwargs.pop('merge', False) + self.locators = locators + super(AggregatingLocator, self).__init__(**kwargs) + + def clear_cache(self): + super(AggregatingLocator, self).clear_cache() + for locator in self.locators: + locator.clear_cache() + + def _set_scheme(self, value): + self._scheme = value + for locator in self.locators: + locator.scheme = value + + scheme = property(Locator.scheme.fget, _set_scheme) + + def _get_project(self, name): + result = {} + for locator in self.locators: + d = locator.get_project(name) + if d: + if self.merge: + files = result.get('urls', {}) + digests = result.get('digests', {}) + # next line could overwrite result['urls'], result['digests'] + result.update(d) + df = result.get('urls') + if files and df: + for k, v in files.items(): + if k in df: + df[k] |= v + else: + df[k] = v + dd = result.get('digests') + if digests and dd: + dd.update(digests) + else: + # See issue #18. If any dists are found and we're looking + # for specific constraints, we only return something if + # a match is found. For example, if a DirectoryLocator + # returns just foo (1.0) while we're looking for + # foo (>= 2.0), we'll pretend there was nothing there so + # that subsequent locators can be queried. Otherwise we + # would just return foo (1.0) which would then lead to a + # failure to find foo (>= 2.0), because other locators + # weren't searched. Note that this only matters when + # merge=False. + if self.matcher is None: + found = True + else: + found = False + for k in d: + if self.matcher.match(k): + found = True + break + if found: + result = d + break + return result + + def get_distribution_names(self): + """ + Return all the distribution names known to this locator. + """ + result = set() + for locator in self.locators: + try: + result |= locator.get_distribution_names() + except NotImplementedError: + pass + return result + + +# We use a legacy scheme simply because most of the dists on PyPI use legacy +# versions which don't conform to PEP 426 / PEP 440. +default_locator = AggregatingLocator( + JSONLocator(), + SimpleScrapingLocator('https://pypi.python.org/simple/', + timeout=3.0), + scheme='legacy') + +locate = default_locator.locate + +NAME_VERSION_RE = re.compile(r'(?P<name>[\w-]+)\s*' + r'\(\s*(==\s*)?(?P<ver>[^)]+)\)$') + +class DependencyFinder(object): + """ + Locate dependencies for distributions. + """ + + def __init__(self, locator=None): + """ + Initialise an instance, using the specified locator + to locate distributions. + """ + self.locator = locator or default_locator + self.scheme = get_scheme(self.locator.scheme) + + def add_distribution(self, dist): + """ + Add a distribution to the finder. This will update internal information + about who provides what. + :param dist: The distribution to add. + """ + logger.debug('adding distribution %s', dist) + name = dist.key + self.dists_by_name[name] = dist + self.dists[(name, dist.version)] = dist + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Add to provided: %s, %s, %s', name, version, dist) + self.provided.setdefault(name, set()).add((version, dist)) + + def remove_distribution(self, dist): + """ + Remove a distribution from the finder. This will update internal + information about who provides what. + :param dist: The distribution to remove. + """ + logger.debug('removing distribution %s', dist) + name = dist.key + del self.dists_by_name[name] + del self.dists[(name, dist.version)] + for p in dist.provides: + name, version = parse_name_and_version(p) + logger.debug('Remove from provided: %s, %s, %s', name, version, dist) + s = self.provided[name] + s.remove((version, dist)) + if not s: + del self.provided[name] + + def get_matcher(self, reqt): + """ + Get a version matcher for a requirement. + :param reqt: The requirement + :type reqt: str + :return: A version matcher (an instance of + :class:`distlib.version.Matcher`). + """ + try: + matcher = self.scheme.matcher(reqt) + except UnsupportedVersionError: # pragma: no cover + # XXX compat-mode if cannot read the version + name = reqt.split()[0] + matcher = self.scheme.matcher(name) + return matcher + + def find_providers(self, reqt): + """ + Find the distributions which can fulfill a requirement. + + :param reqt: The requirement. + :type reqt: str + :return: A set of distribution which can fulfill the requirement. + """ + matcher = self.get_matcher(reqt) + name = matcher.key # case-insensitive + result = set() + provided = self.provided + if name in provided: + for version, provider in provided[name]: + try: + match = matcher.match(version) + except UnsupportedVersionError: + match = False + + if match: + result.add(provider) + break + return result + + def try_to_replace(self, provider, other, problems): + """ + Attempt to replace one provider with another. This is typically used + when resolving dependencies from multiple sources, e.g. A requires + (B >= 1.0) while C requires (B >= 1.1). + + For successful replacement, ``provider`` must meet all the requirements + which ``other`` fulfills. + + :param provider: The provider we are trying to replace with. + :param other: The provider we're trying to replace. + :param problems: If False is returned, this will contain what + problems prevented replacement. This is currently + a tuple of the literal string 'cantreplace', + ``provider``, ``other`` and the set of requirements + that ``provider`` couldn't fulfill. + :return: True if we can replace ``other`` with ``provider``, else + False. + """ + rlist = self.reqts[other] + unmatched = set() + for s in rlist: + matcher = self.get_matcher(s) + if not matcher.match(provider.version): + unmatched.add(s) + if unmatched: + # can't replace other with provider + problems.add(('cantreplace', provider, other, + frozenset(unmatched))) + result = False + else: + # can replace other with provider + self.remove_distribution(other) + del self.reqts[other] + for s in rlist: + self.reqts.setdefault(provider, set()).add(s) + self.add_distribution(provider) + result = True + return result + + def find(self, requirement, meta_extras=None, prereleases=False): + """ + Find a distribution and all distributions it depends on. + + :param requirement: The requirement specifying the distribution to + find, or a Distribution instance. + :param meta_extras: A list of meta extras such as :test:, :build: and + so on. + :param prereleases: If ``True``, allow pre-release versions to be + returned - otherwise, don't return prereleases + unless they're all that's available. + + Return a set of :class:`Distribution` instances and a set of + problems. + + The distributions returned should be such that they have the + :attr:`required` attribute set to ``True`` if they were + from the ``requirement`` passed to ``find()``, and they have the + :attr:`build_time_dependency` attribute set to ``True`` unless they + are post-installation dependencies of the ``requirement``. + + The problems should be a tuple consisting of the string + ``'unsatisfied'`` and the requirement which couldn't be satisfied + by any distribution known to the locator. + """ + + self.provided = {} + self.dists = {} + self.dists_by_name = {} + self.reqts = {} + + meta_extras = set(meta_extras or []) + if ':*:' in meta_extras: + meta_extras.remove(':*:') + # :meta: and :run: are implicitly included + meta_extras |= set([':test:', ':build:', ':dev:']) + + if isinstance(requirement, Distribution): + dist = odist = requirement + logger.debug('passed %s as requirement', odist) + else: + dist = odist = self.locator.locate(requirement, + prereleases=prereleases) + if dist is None: + raise DistlibException('Unable to locate %r' % requirement) + logger.debug('located %s', odist) + dist.requested = True + problems = set() + todo = set([dist]) + install_dists = set([odist]) + while todo: + dist = todo.pop() + name = dist.key # case-insensitive + if name not in self.dists_by_name: + self.add_distribution(dist) + else: + #import pdb; pdb.set_trace() + other = self.dists_by_name[name] + if other != dist: + self.try_to_replace(dist, other, problems) + + ireqts = dist.run_requires | dist.meta_requires + sreqts = dist.build_requires + ereqts = set() + if meta_extras and dist in install_dists: + for key in ('test', 'build', 'dev'): + e = ':%s:' % key + if e in meta_extras: + ereqts |= getattr(dist, '%s_requires' % key) + all_reqts = ireqts | sreqts | ereqts + for r in all_reqts: + providers = self.find_providers(r) + if not providers: + logger.debug('No providers found for %r', r) + provider = self.locator.locate(r, prereleases=prereleases) + # If no provider is found and we didn't consider + # prereleases, consider them now. + if provider is None and not prereleases: + provider = self.locator.locate(r, prereleases=True) + if provider is None: + logger.debug('Cannot satisfy %r', r) + problems.add(('unsatisfied', r)) + else: + n, v = provider.key, provider.version + if (n, v) not in self.dists: + todo.add(provider) + providers.add(provider) + if r in ireqts and dist in install_dists: + install_dists.add(provider) + logger.debug('Adding %s to install_dists', + provider.name_and_version) + for p in providers: + name = p.key + if name not in self.dists_by_name: + self.reqts.setdefault(p, set()).add(r) + else: + other = self.dists_by_name[name] + if other != p: + # see if other can be replaced by p + self.try_to_replace(p, other, problems) + + dists = set(self.dists.values()) + for dist in dists: + dist.build_time_dependency = dist not in install_dists + if dist.build_time_dependency: + logger.debug('%s is a build-time dependency only.', + dist.name_and_version) + logger.debug('find done for %s', odist) + return dists, problems diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/manifest.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/manifest.py new file mode 100644 index 0000000000..ca0fe442d9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/manifest.py @@ -0,0 +1,393 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2013 Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Class representing the list of files in a distribution. + +Equivalent to distutils.filelist, but fixes some problems. +""" +import fnmatch +import logging +import os +import re +import sys + +from . import DistlibException +from .compat import fsdecode +from .util import convert_path + + +__all__ = ['Manifest'] + +logger = logging.getLogger(__name__) + +# a \ followed by some spaces + EOL +_COLLAPSE_PATTERN = re.compile('\\\\w*\n', re.M) +_COMMENTED_LINE = re.compile('#.*?(?=\n)|\n(?=$)', re.M | re.S) + +# +# Due to the different results returned by fnmatch.translate, we need +# to do slightly different processing for Python 2.7 and 3.2 ... this needed +# to be brought in for Python 3.6 onwards. +# +_PYTHON_VERSION = sys.version_info[:2] + +class Manifest(object): + """A list of files built by on exploring the filesystem and filtered by + applying various patterns to what we find there. + """ + + def __init__(self, base=None): + """ + Initialise an instance. + + :param base: The base directory to explore under. + """ + self.base = os.path.abspath(os.path.normpath(base or os.getcwd())) + self.prefix = self.base + os.sep + self.allfiles = None + self.files = set() + + # + # Public API + # + + def findall(self): + """Find all files under the base and set ``allfiles`` to the absolute + pathnames of files found. + """ + from stat import S_ISREG, S_ISDIR, S_ISLNK + + self.allfiles = allfiles = [] + root = self.base + stack = [root] + pop = stack.pop + push = stack.append + + while stack: + root = pop() + names = os.listdir(root) + + for name in names: + fullname = os.path.join(root, name) + + # Avoid excess stat calls -- just one will do, thank you! + stat = os.stat(fullname) + mode = stat.st_mode + if S_ISREG(mode): + allfiles.append(fsdecode(fullname)) + elif S_ISDIR(mode) and not S_ISLNK(mode): + push(fullname) + + def add(self, item): + """ + Add a file to the manifest. + + :param item: The pathname to add. This can be relative to the base. + """ + if not item.startswith(self.prefix): + item = os.path.join(self.base, item) + self.files.add(os.path.normpath(item)) + + def add_many(self, items): + """ + Add a list of files to the manifest. + + :param items: The pathnames to add. These can be relative to the base. + """ + for item in items: + self.add(item) + + def sorted(self, wantdirs=False): + """ + Return sorted files in directory order + """ + + def add_dir(dirs, d): + dirs.add(d) + logger.debug('add_dir added %s', d) + if d != self.base: + parent, _ = os.path.split(d) + assert parent not in ('', '/') + add_dir(dirs, parent) + + result = set(self.files) # make a copy! + if wantdirs: + dirs = set() + for f in result: + add_dir(dirs, os.path.dirname(f)) + result |= dirs + return [os.path.join(*path_tuple) for path_tuple in + sorted(os.path.split(path) for path in result)] + + def clear(self): + """Clear all collected files.""" + self.files = set() + self.allfiles = [] + + def process_directive(self, directive): + """ + Process a directive which either adds some files from ``allfiles`` to + ``files``, or removes some files from ``files``. + + :param directive: The directive to process. This should be in a format + compatible with distutils ``MANIFEST.in`` files: + + http://docs.python.org/distutils/sourcedist.html#commands + """ + # Parse the line: split it up, make sure the right number of words + # is there, and return the relevant words. 'action' is always + # defined: it's the first word of the line. Which of the other + # three are defined depends on the action; it'll be either + # patterns, (dir and patterns), or (dirpattern). + action, patterns, thedir, dirpattern = self._parse_directive(directive) + + # OK, now we know that the action is valid and we have the + # right number of words on the line for that action -- so we + # can proceed with minimal error-checking. + if action == 'include': + for pattern in patterns: + if not self._include_pattern(pattern, anchor=True): + logger.warning('no files found matching %r', pattern) + + elif action == 'exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, anchor=True) + #if not found: + # logger.warning('no previously-included files ' + # 'found matching %r', pattern) + + elif action == 'global-include': + for pattern in patterns: + if not self._include_pattern(pattern, anchor=False): + logger.warning('no files found matching %r ' + 'anywhere in distribution', pattern) + + elif action == 'global-exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, anchor=False) + #if not found: + # logger.warning('no previously-included files ' + # 'matching %r found anywhere in ' + # 'distribution', pattern) + + elif action == 'recursive-include': + for pattern in patterns: + if not self._include_pattern(pattern, prefix=thedir): + logger.warning('no files found matching %r ' + 'under directory %r', pattern, thedir) + + elif action == 'recursive-exclude': + for pattern in patterns: + found = self._exclude_pattern(pattern, prefix=thedir) + #if not found: + # logger.warning('no previously-included files ' + # 'matching %r found under directory %r', + # pattern, thedir) + + elif action == 'graft': + if not self._include_pattern(None, prefix=dirpattern): + logger.warning('no directories found matching %r', + dirpattern) + + elif action == 'prune': + if not self._exclude_pattern(None, prefix=dirpattern): + logger.warning('no previously-included directories found ' + 'matching %r', dirpattern) + else: # pragma: no cover + # This should never happen, as it should be caught in + # _parse_template_line + raise DistlibException( + 'invalid action %r' % action) + + # + # Private API + # + + def _parse_directive(self, directive): + """ + Validate a directive. + :param directive: The directive to validate. + :return: A tuple of action, patterns, thedir, dir_patterns + """ + words = directive.split() + if len(words) == 1 and words[0] not in ('include', 'exclude', + 'global-include', + 'global-exclude', + 'recursive-include', + 'recursive-exclude', + 'graft', 'prune'): + # no action given, let's use the default 'include' + words.insert(0, 'include') + + action = words[0] + patterns = thedir = dir_pattern = None + + if action in ('include', 'exclude', + 'global-include', 'global-exclude'): + if len(words) < 2: + raise DistlibException( + '%r expects <pattern1> <pattern2> ...' % action) + + patterns = [convert_path(word) for word in words[1:]] + + elif action in ('recursive-include', 'recursive-exclude'): + if len(words) < 3: + raise DistlibException( + '%r expects <dir> <pattern1> <pattern2> ...' % action) + + thedir = convert_path(words[1]) + patterns = [convert_path(word) for word in words[2:]] + + elif action in ('graft', 'prune'): + if len(words) != 2: + raise DistlibException( + '%r expects a single <dir_pattern>' % action) + + dir_pattern = convert_path(words[1]) + + else: + raise DistlibException('unknown action %r' % action) + + return action, patterns, thedir, dir_pattern + + def _include_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Select strings (presumably filenames) from 'self.files' that + match 'pattern', a Unix-style wildcard (glob) pattern. + + Patterns are not quite the same as implemented by the 'fnmatch' + module: '*' and '?' match non-special characters, where "special" + is platform-dependent: slash on Unix; colon, slash, and backslash on + DOS/Windows; and colon on Mac OS. + + If 'anchor' is true (the default), then the pattern match is more + stringent: "*.py" will match "foo.py" but not "foo/bar.py". If + 'anchor' is false, both of these will match. + + If 'prefix' is supplied, then only filenames starting with 'prefix' + (itself a pattern) and ending with 'pattern', with anything in between + them, will match. 'anchor' is ignored in this case. + + If 'is_regex' is true, 'anchor' and 'prefix' are ignored, and + 'pattern' is assumed to be either a string containing a regex or a + regex object -- no translation is done, the regex is just compiled + and used as-is. + + Selected strings will be added to self.files. + + Return True if files are found. + """ + # XXX docstring lying about what the special chars are? + found = False + pattern_re = self._translate_pattern(pattern, anchor, prefix, is_regex) + + # delayed loading of allfiles list + if self.allfiles is None: + self.findall() + + for name in self.allfiles: + if pattern_re.search(name): + self.files.add(name) + found = True + return found + + def _exclude_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Remove strings (presumably filenames) from 'files' that match + 'pattern'. + + Other parameters are the same as for 'include_pattern()', above. + The list 'self.files' is modified in place. Return True if files are + found. + + This API is public to allow e.g. exclusion of SCM subdirs, e.g. when + packaging source distributions + """ + found = False + pattern_re = self._translate_pattern(pattern, anchor, prefix, is_regex) + for f in list(self.files): + if pattern_re.search(f): + self.files.remove(f) + found = True + return found + + def _translate_pattern(self, pattern, anchor=True, prefix=None, + is_regex=False): + """Translate a shell-like wildcard pattern to a compiled regular + expression. + + Return the compiled regex. If 'is_regex' true, + then 'pattern' is directly compiled to a regex (if it's a string) + or just returned as-is (assumes it's a regex object). + """ + if is_regex: + if isinstance(pattern, str): + return re.compile(pattern) + else: + return pattern + + if _PYTHON_VERSION > (3, 2): + # ditch start and end characters + start, _, end = self._glob_to_re('_').partition('_') + + if pattern: + pattern_re = self._glob_to_re(pattern) + if _PYTHON_VERSION > (3, 2): + assert pattern_re.startswith(start) and pattern_re.endswith(end) + else: + pattern_re = '' + + base = re.escape(os.path.join(self.base, '')) + if prefix is not None: + # ditch end of pattern character + if _PYTHON_VERSION <= (3, 2): + empty_pattern = self._glob_to_re('') + prefix_re = self._glob_to_re(prefix)[:-len(empty_pattern)] + else: + prefix_re = self._glob_to_re(prefix) + assert prefix_re.startswith(start) and prefix_re.endswith(end) + prefix_re = prefix_re[len(start): len(prefix_re) - len(end)] + sep = os.sep + if os.sep == '\\': + sep = r'\\' + if _PYTHON_VERSION <= (3, 2): + pattern_re = '^' + base + sep.join((prefix_re, + '.*' + pattern_re)) + else: + pattern_re = pattern_re[len(start): len(pattern_re) - len(end)] + pattern_re = r'%s%s%s%s.*%s%s' % (start, base, prefix_re, sep, + pattern_re, end) + else: # no prefix -- respect anchor flag + if anchor: + if _PYTHON_VERSION <= (3, 2): + pattern_re = '^' + base + pattern_re + else: + pattern_re = r'%s%s%s' % (start, base, pattern_re[len(start):]) + + return re.compile(pattern_re) + + def _glob_to_re(self, pattern): + """Translate a shell-like glob pattern to a regular expression. + + Return a string containing the regex. Differs from + 'fnmatch.translate()' in that '*' does not match "special characters" + (which are platform-specific). + """ + pattern_re = fnmatch.translate(pattern) + + # '?' and '*' in the glob pattern become '.' and '.*' in the RE, which + # IMHO is wrong -- '?' and '*' aren't supposed to match slash in Unix, + # and by extension they shouldn't match such "special characters" under + # any OS. So change all non-escaped dots in the RE to match any + # character except the special characters (currently: just os.sep). + sep = os.sep + if os.sep == '\\': + # we're using a regex to manipulate a regex, so we need + # to escape the backslash twice + sep = r'\\\\' + escaped = r'\1[^%s]' % sep + pattern_re = re.sub(r'((?<!\\)(\\\\)*)\.', escaped, pattern_re) + return pattern_re diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/markers.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/markers.py new file mode 100644 index 0000000000..ee1f3e2365 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/markers.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Parser for the environment markers micro-language defined in PEP 508. +""" + +# Note: In PEP 345, the micro-language was Python compatible, so the ast +# module could be used to parse it. However, PEP 508 introduced operators such +# as ~= and === which aren't in Python, necessitating a different approach. + +import os +import sys +import platform +import re + +from .compat import python_implementation, urlparse, string_types +from .util import in_venv, parse_marker + +__all__ = ['interpret'] + +def _is_literal(o): + if not isinstance(o, string_types) or not o: + return False + return o[0] in '\'"' + +class Evaluator(object): + """ + This class is used to evaluate marker expessions. + """ + + operations = { + '==': lambda x, y: x == y, + '===': lambda x, y: x == y, + '~=': lambda x, y: x == y or x > y, + '!=': lambda x, y: x != y, + '<': lambda x, y: x < y, + '<=': lambda x, y: x == y or x < y, + '>': lambda x, y: x > y, + '>=': lambda x, y: x == y or x > y, + 'and': lambda x, y: x and y, + 'or': lambda x, y: x or y, + 'in': lambda x, y: x in y, + 'not in': lambda x, y: x not in y, + } + + def evaluate(self, expr, context): + """ + Evaluate a marker expression returned by the :func:`parse_requirement` + function in the specified context. + """ + if isinstance(expr, string_types): + if expr[0] in '\'"': + result = expr[1:-1] + else: + if expr not in context: + raise SyntaxError('unknown variable: %s' % expr) + result = context[expr] + else: + assert isinstance(expr, dict) + op = expr['op'] + if op not in self.operations: + raise NotImplementedError('op not implemented: %s' % op) + elhs = expr['lhs'] + erhs = expr['rhs'] + if _is_literal(expr['lhs']) and _is_literal(expr['rhs']): + raise SyntaxError('invalid comparison: %s %s %s' % (elhs, op, erhs)) + + lhs = self.evaluate(elhs, context) + rhs = self.evaluate(erhs, context) + result = self.operations[op](lhs, rhs) + return result + +def default_context(): + def format_full_version(info): + version = '%s.%s.%s' % (info.major, info.minor, info.micro) + kind = info.releaselevel + if kind != 'final': + version += kind[0] + str(info.serial) + return version + + if hasattr(sys, 'implementation'): + implementation_version = format_full_version(sys.implementation.version) + implementation_name = sys.implementation.name + else: + implementation_version = '0' + implementation_name = '' + + result = { + 'implementation_name': implementation_name, + 'implementation_version': implementation_version, + 'os_name': os.name, + 'platform_machine': platform.machine(), + 'platform_python_implementation': platform.python_implementation(), + 'platform_release': platform.release(), + 'platform_system': platform.system(), + 'platform_version': platform.version(), + 'platform_in_venv': str(in_venv()), + 'python_full_version': platform.python_version(), + 'python_version': platform.python_version()[:3], + 'sys_platform': sys.platform, + } + return result + +DEFAULT_CONTEXT = default_context() +del default_context + +evaluator = Evaluator() + +def interpret(marker, execution_context=None): + """ + Interpret a marker and return a result depending on environment. + + :param marker: The marker to interpret. + :type marker: str + :param execution_context: The context used for name lookup. + :type execution_context: mapping + """ + try: + expr, rest = parse_marker(marker) + except Exception as e: + raise SyntaxError('Unable to interpret marker syntax: %s: %s' % (marker, e)) + if rest and rest[0] != '#': + raise SyntaxError('unexpected trailing data in marker: %s: %s' % (marker, rest)) + context = dict(DEFAULT_CONTEXT) + if execution_context: + context.update(execution_context) + return evaluator.evaluate(expr, context) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/metadata.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/metadata.py new file mode 100644 index 0000000000..77eed7f968 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/metadata.py @@ -0,0 +1,1094 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +"""Implementation of the Metadata for Python packages PEPs. + +Supports all metadata formats (1.0, 1.1, 1.2, and 2.0 experimental). +""" +from __future__ import unicode_literals + +import codecs +from email import message_from_file +import json +import logging +import re + + +from . import DistlibException, __version__ +from .compat import StringIO, string_types, text_type +from .markers import interpret +from .util import extract_by_key, get_extras +from .version import get_scheme, PEP440_VERSION_RE + +logger = logging.getLogger(__name__) + + +class MetadataMissingError(DistlibException): + """A required metadata is missing""" + + +class MetadataConflictError(DistlibException): + """Attempt to read or write metadata fields that are conflictual.""" + + +class MetadataUnrecognizedVersionError(DistlibException): + """Unknown metadata version number.""" + + +class MetadataInvalidError(DistlibException): + """A metadata value is invalid""" + +# public API of this module +__all__ = ['Metadata', 'PKG_INFO_ENCODING', 'PKG_INFO_PREFERRED_VERSION'] + +# Encoding used for the PKG-INFO files +PKG_INFO_ENCODING = 'utf-8' + +# preferred version. Hopefully will be changed +# to 1.2 once PEP 345 is supported everywhere +PKG_INFO_PREFERRED_VERSION = '1.1' + +_LINE_PREFIX_1_2 = re.compile('\n \\|') +_LINE_PREFIX_PRE_1_2 = re.compile('\n ') +_241_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'License') + +_314_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'License', 'Classifier', 'Download-URL', 'Obsoletes', + 'Provides', 'Requires') + +_314_MARKERS = ('Obsoletes', 'Provides', 'Requires', 'Classifier', + 'Download-URL') + +_345_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'Maintainer', 'Maintainer-email', 'License', + 'Classifier', 'Download-URL', 'Obsoletes-Dist', + 'Project-URL', 'Provides-Dist', 'Requires-Dist', + 'Requires-Python', 'Requires-External') + +_345_MARKERS = ('Provides-Dist', 'Requires-Dist', 'Requires-Python', + 'Obsoletes-Dist', 'Requires-External', 'Maintainer', + 'Maintainer-email', 'Project-URL') + +_426_FIELDS = ('Metadata-Version', 'Name', 'Version', 'Platform', + 'Supported-Platform', 'Summary', 'Description', + 'Keywords', 'Home-page', 'Author', 'Author-email', + 'Maintainer', 'Maintainer-email', 'License', + 'Classifier', 'Download-URL', 'Obsoletes-Dist', + 'Project-URL', 'Provides-Dist', 'Requires-Dist', + 'Requires-Python', 'Requires-External', 'Private-Version', + 'Obsoleted-By', 'Setup-Requires-Dist', 'Extension', + 'Provides-Extra') + +_426_MARKERS = ('Private-Version', 'Provides-Extra', 'Obsoleted-By', + 'Setup-Requires-Dist', 'Extension') + +# See issue #106: Sometimes 'Requires' occurs wrongly in the metadata. Include +# it in the tuple literal below to allow it (for now) +_566_FIELDS = _426_FIELDS + ('Description-Content-Type', 'Requires') + +_566_MARKERS = ('Description-Content-Type',) + +_ALL_FIELDS = set() +_ALL_FIELDS.update(_241_FIELDS) +_ALL_FIELDS.update(_314_FIELDS) +_ALL_FIELDS.update(_345_FIELDS) +_ALL_FIELDS.update(_426_FIELDS) +_ALL_FIELDS.update(_566_FIELDS) + +EXTRA_RE = re.compile(r'''extra\s*==\s*("([^"]+)"|'([^']+)')''') + + +def _version2fieldlist(version): + if version == '1.0': + return _241_FIELDS + elif version == '1.1': + return _314_FIELDS + elif version == '1.2': + return _345_FIELDS + elif version in ('1.3', '2.1'): + return _345_FIELDS + _566_FIELDS + elif version == '2.0': + return _426_FIELDS + raise MetadataUnrecognizedVersionError(version) + + +def _best_version(fields): + """Detect the best version depending on the fields used.""" + def _has_marker(keys, markers): + for marker in markers: + if marker in keys: + return True + return False + + keys = [] + for key, value in fields.items(): + if value in ([], 'UNKNOWN', None): + continue + keys.append(key) + + possible_versions = ['1.0', '1.1', '1.2', '1.3', '2.0', '2.1'] + + # first let's try to see if a field is not part of one of the version + for key in keys: + if key not in _241_FIELDS and '1.0' in possible_versions: + possible_versions.remove('1.0') + logger.debug('Removed 1.0 due to %s', key) + if key not in _314_FIELDS and '1.1' in possible_versions: + possible_versions.remove('1.1') + logger.debug('Removed 1.1 due to %s', key) + if key not in _345_FIELDS and '1.2' in possible_versions: + possible_versions.remove('1.2') + logger.debug('Removed 1.2 due to %s', key) + if key not in _566_FIELDS and '1.3' in possible_versions: + possible_versions.remove('1.3') + logger.debug('Removed 1.3 due to %s', key) + if key not in _566_FIELDS and '2.1' in possible_versions: + if key != 'Description': # In 2.1, description allowed after headers + possible_versions.remove('2.1') + logger.debug('Removed 2.1 due to %s', key) + if key not in _426_FIELDS and '2.0' in possible_versions: + possible_versions.remove('2.0') + logger.debug('Removed 2.0 due to %s', key) + + # possible_version contains qualified versions + if len(possible_versions) == 1: + return possible_versions[0] # found ! + elif len(possible_versions) == 0: + logger.debug('Out of options - unknown metadata set: %s', fields) + raise MetadataConflictError('Unknown metadata set') + + # let's see if one unique marker is found + is_1_1 = '1.1' in possible_versions and _has_marker(keys, _314_MARKERS) + is_1_2 = '1.2' in possible_versions and _has_marker(keys, _345_MARKERS) + is_2_1 = '2.1' in possible_versions and _has_marker(keys, _566_MARKERS) + is_2_0 = '2.0' in possible_versions and _has_marker(keys, _426_MARKERS) + if int(is_1_1) + int(is_1_2) + int(is_2_1) + int(is_2_0) > 1: + raise MetadataConflictError('You used incompatible 1.1/1.2/2.0/2.1 fields') + + # we have the choice, 1.0, or 1.2, or 2.0 + # - 1.0 has a broken Summary field but works with all tools + # - 1.1 is to avoid + # - 1.2 fixes Summary but has little adoption + # - 2.0 adds more features and is very new + if not is_1_1 and not is_1_2 and not is_2_1 and not is_2_0: + # we couldn't find any specific marker + if PKG_INFO_PREFERRED_VERSION in possible_versions: + return PKG_INFO_PREFERRED_VERSION + if is_1_1: + return '1.1' + if is_1_2: + return '1.2' + if is_2_1: + return '2.1' + + return '2.0' + +_ATTR2FIELD = { + 'metadata_version': 'Metadata-Version', + 'name': 'Name', + 'version': 'Version', + 'platform': 'Platform', + 'supported_platform': 'Supported-Platform', + 'summary': 'Summary', + 'description': 'Description', + 'keywords': 'Keywords', + 'home_page': 'Home-page', + 'author': 'Author', + 'author_email': 'Author-email', + 'maintainer': 'Maintainer', + 'maintainer_email': 'Maintainer-email', + 'license': 'License', + 'classifier': 'Classifier', + 'download_url': 'Download-URL', + 'obsoletes_dist': 'Obsoletes-Dist', + 'provides_dist': 'Provides-Dist', + 'requires_dist': 'Requires-Dist', + 'setup_requires_dist': 'Setup-Requires-Dist', + 'requires_python': 'Requires-Python', + 'requires_external': 'Requires-External', + 'requires': 'Requires', + 'provides': 'Provides', + 'obsoletes': 'Obsoletes', + 'project_url': 'Project-URL', + 'private_version': 'Private-Version', + 'obsoleted_by': 'Obsoleted-By', + 'extension': 'Extension', + 'provides_extra': 'Provides-Extra', +} + +_PREDICATE_FIELDS = ('Requires-Dist', 'Obsoletes-Dist', 'Provides-Dist') +_VERSIONS_FIELDS = ('Requires-Python',) +_VERSION_FIELDS = ('Version',) +_LISTFIELDS = ('Platform', 'Classifier', 'Obsoletes', + 'Requires', 'Provides', 'Obsoletes-Dist', + 'Provides-Dist', 'Requires-Dist', 'Requires-External', + 'Project-URL', 'Supported-Platform', 'Setup-Requires-Dist', + 'Provides-Extra', 'Extension') +_LISTTUPLEFIELDS = ('Project-URL',) + +_ELEMENTSFIELD = ('Keywords',) + +_UNICODEFIELDS = ('Author', 'Maintainer', 'Summary', 'Description') + +_MISSING = object() + +_FILESAFE = re.compile('[^A-Za-z0-9.]+') + + +def _get_name_and_version(name, version, for_filename=False): + """Return the distribution name with version. + + If for_filename is true, return a filename-escaped form.""" + if for_filename: + # For both name and version any runs of non-alphanumeric or '.' + # characters are replaced with a single '-'. Additionally any + # spaces in the version string become '.' + name = _FILESAFE.sub('-', name) + version = _FILESAFE.sub('-', version.replace(' ', '.')) + return '%s-%s' % (name, version) + + +class LegacyMetadata(object): + """The legacy metadata of a release. + + Supports versions 1.0, 1.1 and 1.2 (auto-detected). You can + instantiate the class with one of these arguments (or none): + - *path*, the path to a metadata file + - *fileobj* give a file-like object with metadata as content + - *mapping* is a dict-like object + - *scheme* is a version scheme name + """ + # TODO document the mapping API and UNKNOWN default key + + def __init__(self, path=None, fileobj=None, mapping=None, + scheme='default'): + if [path, fileobj, mapping].count(None) < 2: + raise TypeError('path, fileobj and mapping are exclusive') + self._fields = {} + self.requires_files = [] + self._dependencies = None + self.scheme = scheme + if path is not None: + self.read(path) + elif fileobj is not None: + self.read_file(fileobj) + elif mapping is not None: + self.update(mapping) + self.set_metadata_version() + + def set_metadata_version(self): + self._fields['Metadata-Version'] = _best_version(self._fields) + + def _write_field(self, fileobj, name, value): + fileobj.write('%s: %s\n' % (name, value)) + + def __getitem__(self, name): + return self.get(name) + + def __setitem__(self, name, value): + return self.set(name, value) + + def __delitem__(self, name): + field_name = self._convert_name(name) + try: + del self._fields[field_name] + except KeyError: + raise KeyError(name) + + def __contains__(self, name): + return (name in self._fields or + self._convert_name(name) in self._fields) + + def _convert_name(self, name): + if name in _ALL_FIELDS: + return name + name = name.replace('-', '_').lower() + return _ATTR2FIELD.get(name, name) + + def _default_value(self, name): + if name in _LISTFIELDS or name in _ELEMENTSFIELD: + return [] + return 'UNKNOWN' + + def _remove_line_prefix(self, value): + if self.metadata_version in ('1.0', '1.1'): + return _LINE_PREFIX_PRE_1_2.sub('\n', value) + else: + return _LINE_PREFIX_1_2.sub('\n', value) + + def __getattr__(self, name): + if name in _ATTR2FIELD: + return self[name] + raise AttributeError(name) + + # + # Public API + # + +# dependencies = property(_get_dependencies, _set_dependencies) + + def get_fullname(self, filesafe=False): + """Return the distribution name with version. + + If filesafe is true, return a filename-escaped form.""" + return _get_name_and_version(self['Name'], self['Version'], filesafe) + + def is_field(self, name): + """return True if name is a valid metadata key""" + name = self._convert_name(name) + return name in _ALL_FIELDS + + def is_multi_field(self, name): + name = self._convert_name(name) + return name in _LISTFIELDS + + def read(self, filepath): + """Read the metadata values from a file path.""" + fp = codecs.open(filepath, 'r', encoding='utf-8') + try: + self.read_file(fp) + finally: + fp.close() + + def read_file(self, fileob): + """Read the metadata values from a file object.""" + msg = message_from_file(fileob) + self._fields['Metadata-Version'] = msg['metadata-version'] + + # When reading, get all the fields we can + for field in _ALL_FIELDS: + if field not in msg: + continue + if field in _LISTFIELDS: + # we can have multiple lines + values = msg.get_all(field) + if field in _LISTTUPLEFIELDS and values is not None: + values = [tuple(value.split(',')) for value in values] + self.set(field, values) + else: + # single line + value = msg[field] + if value is not None and value != 'UNKNOWN': + self.set(field, value) + # logger.debug('Attempting to set metadata for %s', self) + # self.set_metadata_version() + + def write(self, filepath, skip_unknown=False): + """Write the metadata fields to filepath.""" + fp = codecs.open(filepath, 'w', encoding='utf-8') + try: + self.write_file(fp, skip_unknown) + finally: + fp.close() + + def write_file(self, fileobject, skip_unknown=False): + """Write the PKG-INFO format data to a file object.""" + self.set_metadata_version() + + for field in _version2fieldlist(self['Metadata-Version']): + values = self.get(field) + if skip_unknown and values in ('UNKNOWN', [], ['UNKNOWN']): + continue + if field in _ELEMENTSFIELD: + self._write_field(fileobject, field, ','.join(values)) + continue + if field not in _LISTFIELDS: + if field == 'Description': + if self.metadata_version in ('1.0', '1.1'): + values = values.replace('\n', '\n ') + else: + values = values.replace('\n', '\n |') + values = [values] + + if field in _LISTTUPLEFIELDS: + values = [','.join(value) for value in values] + + for value in values: + self._write_field(fileobject, field, value) + + def update(self, other=None, **kwargs): + """Set metadata values from the given iterable `other` and kwargs. + + Behavior is like `dict.update`: If `other` has a ``keys`` method, + they are looped over and ``self[key]`` is assigned ``other[key]``. + Else, ``other`` is an iterable of ``(key, value)`` iterables. + + Keys that don't match a metadata field or that have an empty value are + dropped. + """ + def _set(key, value): + if key in _ATTR2FIELD and value: + self.set(self._convert_name(key), value) + + if not other: + # other is None or empty container + pass + elif hasattr(other, 'keys'): + for k in other.keys(): + _set(k, other[k]) + else: + for k, v in other: + _set(k, v) + + if kwargs: + for k, v in kwargs.items(): + _set(k, v) + + def set(self, name, value): + """Control then set a metadata field.""" + name = self._convert_name(name) + + if ((name in _ELEMENTSFIELD or name == 'Platform') and + not isinstance(value, (list, tuple))): + if isinstance(value, string_types): + value = [v.strip() for v in value.split(',')] + else: + value = [] + elif (name in _LISTFIELDS and + not isinstance(value, (list, tuple))): + if isinstance(value, string_types): + value = [value] + else: + value = [] + + if logger.isEnabledFor(logging.WARNING): + project_name = self['Name'] + + scheme = get_scheme(self.scheme) + if name in _PREDICATE_FIELDS and value is not None: + for v in value: + # check that the values are valid + if not scheme.is_valid_matcher(v.split(';')[0]): + logger.warning( + "'%s': '%s' is not valid (field '%s')", + project_name, v, name) + # FIXME this rejects UNKNOWN, is that right? + elif name in _VERSIONS_FIELDS and value is not None: + if not scheme.is_valid_constraint_list(value): + logger.warning("'%s': '%s' is not a valid version (field '%s')", + project_name, value, name) + elif name in _VERSION_FIELDS and value is not None: + if not scheme.is_valid_version(value): + logger.warning("'%s': '%s' is not a valid version (field '%s')", + project_name, value, name) + + if name in _UNICODEFIELDS: + if name == 'Description': + value = self._remove_line_prefix(value) + + self._fields[name] = value + + def get(self, name, default=_MISSING): + """Get a metadata field.""" + name = self._convert_name(name) + if name not in self._fields: + if default is _MISSING: + default = self._default_value(name) + return default + if name in _UNICODEFIELDS: + value = self._fields[name] + return value + elif name in _LISTFIELDS: + value = self._fields[name] + if value is None: + return [] + res = [] + for val in value: + if name not in _LISTTUPLEFIELDS: + res.append(val) + else: + # That's for Project-URL + res.append((val[0], val[1])) + return res + + elif name in _ELEMENTSFIELD: + value = self._fields[name] + if isinstance(value, string_types): + return value.split(',') + return self._fields[name] + + def check(self, strict=False): + """Check if the metadata is compliant. If strict is True then raise if + no Name or Version are provided""" + self.set_metadata_version() + + # XXX should check the versions (if the file was loaded) + missing, warnings = [], [] + + for attr in ('Name', 'Version'): # required by PEP 345 + if attr not in self: + missing.append(attr) + + if strict and missing != []: + msg = 'missing required metadata: %s' % ', '.join(missing) + raise MetadataMissingError(msg) + + for attr in ('Home-page', 'Author'): + if attr not in self: + missing.append(attr) + + # checking metadata 1.2 (XXX needs to check 1.1, 1.0) + if self['Metadata-Version'] != '1.2': + return missing, warnings + + scheme = get_scheme(self.scheme) + + def are_valid_constraints(value): + for v in value: + if not scheme.is_valid_matcher(v.split(';')[0]): + return False + return True + + for fields, controller in ((_PREDICATE_FIELDS, are_valid_constraints), + (_VERSIONS_FIELDS, + scheme.is_valid_constraint_list), + (_VERSION_FIELDS, + scheme.is_valid_version)): + for field in fields: + value = self.get(field, None) + if value is not None and not controller(value): + warnings.append("Wrong value for '%s': %s" % (field, value)) + + return missing, warnings + + def todict(self, skip_missing=False): + """Return fields as a dict. + + Field names will be converted to use the underscore-lowercase style + instead of hyphen-mixed case (i.e. home_page instead of Home-page). + """ + self.set_metadata_version() + + mapping_1_0 = ( + ('metadata_version', 'Metadata-Version'), + ('name', 'Name'), + ('version', 'Version'), + ('summary', 'Summary'), + ('home_page', 'Home-page'), + ('author', 'Author'), + ('author_email', 'Author-email'), + ('license', 'License'), + ('description', 'Description'), + ('keywords', 'Keywords'), + ('platform', 'Platform'), + ('classifiers', 'Classifier'), + ('download_url', 'Download-URL'), + ) + + data = {} + for key, field_name in mapping_1_0: + if not skip_missing or field_name in self._fields: + data[key] = self[field_name] + + if self['Metadata-Version'] == '1.2': + mapping_1_2 = ( + ('requires_dist', 'Requires-Dist'), + ('requires_python', 'Requires-Python'), + ('requires_external', 'Requires-External'), + ('provides_dist', 'Provides-Dist'), + ('obsoletes_dist', 'Obsoletes-Dist'), + ('project_url', 'Project-URL'), + ('maintainer', 'Maintainer'), + ('maintainer_email', 'Maintainer-email'), + ) + for key, field_name in mapping_1_2: + if not skip_missing or field_name in self._fields: + if key != 'project_url': + data[key] = self[field_name] + else: + data[key] = [','.join(u) for u in self[field_name]] + + elif self['Metadata-Version'] == '1.1': + mapping_1_1 = ( + ('provides', 'Provides'), + ('requires', 'Requires'), + ('obsoletes', 'Obsoletes'), + ) + for key, field_name in mapping_1_1: + if not skip_missing or field_name in self._fields: + data[key] = self[field_name] + + return data + + def add_requirements(self, requirements): + if self['Metadata-Version'] == '1.1': + # we can't have 1.1 metadata *and* Setuptools requires + for field in ('Obsoletes', 'Requires', 'Provides'): + if field in self: + del self[field] + self['Requires-Dist'] += requirements + + # Mapping API + # TODO could add iter* variants + + def keys(self): + return list(_version2fieldlist(self['Metadata-Version'])) + + def __iter__(self): + for key in self.keys(): + yield key + + def values(self): + return [self[key] for key in self.keys()] + + def items(self): + return [(key, self[key]) for key in self.keys()] + + def __repr__(self): + return '<%s %s %s>' % (self.__class__.__name__, self.name, + self.version) + + +METADATA_FILENAME = 'pydist.json' +WHEEL_METADATA_FILENAME = 'metadata.json' +LEGACY_METADATA_FILENAME = 'METADATA' + + +class Metadata(object): + """ + The metadata of a release. This implementation uses 2.0 (JSON) + metadata where possible. If not possible, it wraps a LegacyMetadata + instance which handles the key-value metadata format. + """ + + METADATA_VERSION_MATCHER = re.compile(r'^\d+(\.\d+)*$') + + NAME_MATCHER = re.compile('^[0-9A-Z]([0-9A-Z_.-]*[0-9A-Z])?$', re.I) + + VERSION_MATCHER = PEP440_VERSION_RE + + SUMMARY_MATCHER = re.compile('.{1,2047}') + + METADATA_VERSION = '2.0' + + GENERATOR = 'distlib (%s)' % __version__ + + MANDATORY_KEYS = { + 'name': (), + 'version': (), + 'summary': ('legacy',), + } + + INDEX_KEYS = ('name version license summary description author ' + 'author_email keywords platform home_page classifiers ' + 'download_url') + + DEPENDENCY_KEYS = ('extras run_requires test_requires build_requires ' + 'dev_requires provides meta_requires obsoleted_by ' + 'supports_environments') + + SYNTAX_VALIDATORS = { + 'metadata_version': (METADATA_VERSION_MATCHER, ()), + 'name': (NAME_MATCHER, ('legacy',)), + 'version': (VERSION_MATCHER, ('legacy',)), + 'summary': (SUMMARY_MATCHER, ('legacy',)), + } + + __slots__ = ('_legacy', '_data', 'scheme') + + def __init__(self, path=None, fileobj=None, mapping=None, + scheme='default'): + if [path, fileobj, mapping].count(None) < 2: + raise TypeError('path, fileobj and mapping are exclusive') + self._legacy = None + self._data = None + self.scheme = scheme + #import pdb; pdb.set_trace() + if mapping is not None: + try: + self._validate_mapping(mapping, scheme) + self._data = mapping + except MetadataUnrecognizedVersionError: + self._legacy = LegacyMetadata(mapping=mapping, scheme=scheme) + self.validate() + else: + data = None + if path: + with open(path, 'rb') as f: + data = f.read() + elif fileobj: + data = fileobj.read() + if data is None: + # Initialised with no args - to be added + self._data = { + 'metadata_version': self.METADATA_VERSION, + 'generator': self.GENERATOR, + } + else: + if not isinstance(data, text_type): + data = data.decode('utf-8') + try: + self._data = json.loads(data) + self._validate_mapping(self._data, scheme) + except ValueError: + # Note: MetadataUnrecognizedVersionError does not + # inherit from ValueError (it's a DistlibException, + # which should not inherit from ValueError). + # The ValueError comes from the json.load - if that + # succeeds and we get a validation error, we want + # that to propagate + self._legacy = LegacyMetadata(fileobj=StringIO(data), + scheme=scheme) + self.validate() + + common_keys = set(('name', 'version', 'license', 'keywords', 'summary')) + + none_list = (None, list) + none_dict = (None, dict) + + mapped_keys = { + 'run_requires': ('Requires-Dist', list), + 'build_requires': ('Setup-Requires-Dist', list), + 'dev_requires': none_list, + 'test_requires': none_list, + 'meta_requires': none_list, + 'extras': ('Provides-Extra', list), + 'modules': none_list, + 'namespaces': none_list, + 'exports': none_dict, + 'commands': none_dict, + 'classifiers': ('Classifier', list), + 'source_url': ('Download-URL', None), + 'metadata_version': ('Metadata-Version', None), + } + + del none_list, none_dict + + def __getattribute__(self, key): + common = object.__getattribute__(self, 'common_keys') + mapped = object.__getattribute__(self, 'mapped_keys') + if key in mapped: + lk, maker = mapped[key] + if self._legacy: + if lk is None: + result = None if maker is None else maker() + else: + result = self._legacy.get(lk) + else: + value = None if maker is None else maker() + if key not in ('commands', 'exports', 'modules', 'namespaces', + 'classifiers'): + result = self._data.get(key, value) + else: + # special cases for PEP 459 + sentinel = object() + result = sentinel + d = self._data.get('extensions') + if d: + if key == 'commands': + result = d.get('python.commands', value) + elif key == 'classifiers': + d = d.get('python.details') + if d: + result = d.get(key, value) + else: + d = d.get('python.exports') + if not d: + d = self._data.get('python.exports') + if d: + result = d.get(key, value) + if result is sentinel: + result = value + elif key not in common: + result = object.__getattribute__(self, key) + elif self._legacy: + result = self._legacy.get(key) + else: + result = self._data.get(key) + return result + + def _validate_value(self, key, value, scheme=None): + if key in self.SYNTAX_VALIDATORS: + pattern, exclusions = self.SYNTAX_VALIDATORS[key] + if (scheme or self.scheme) not in exclusions: + m = pattern.match(value) + if not m: + raise MetadataInvalidError("'%s' is an invalid value for " + "the '%s' property" % (value, + key)) + + def __setattr__(self, key, value): + self._validate_value(key, value) + common = object.__getattribute__(self, 'common_keys') + mapped = object.__getattribute__(self, 'mapped_keys') + if key in mapped: + lk, _ = mapped[key] + if self._legacy: + if lk is None: + raise NotImplementedError + self._legacy[lk] = value + elif key not in ('commands', 'exports', 'modules', 'namespaces', + 'classifiers'): + self._data[key] = value + else: + # special cases for PEP 459 + d = self._data.setdefault('extensions', {}) + if key == 'commands': + d['python.commands'] = value + elif key == 'classifiers': + d = d.setdefault('python.details', {}) + d[key] = value + else: + d = d.setdefault('python.exports', {}) + d[key] = value + elif key not in common: + object.__setattr__(self, key, value) + else: + if key == 'keywords': + if isinstance(value, string_types): + value = value.strip() + if value: + value = value.split() + else: + value = [] + if self._legacy: + self._legacy[key] = value + else: + self._data[key] = value + + @property + def name_and_version(self): + return _get_name_and_version(self.name, self.version, True) + + @property + def provides(self): + if self._legacy: + result = self._legacy['Provides-Dist'] + else: + result = self._data.setdefault('provides', []) + s = '%s (%s)' % (self.name, self.version) + if s not in result: + result.append(s) + return result + + @provides.setter + def provides(self, value): + if self._legacy: + self._legacy['Provides-Dist'] = value + else: + self._data['provides'] = value + + def get_requirements(self, reqts, extras=None, env=None): + """ + Base method to get dependencies, given a set of extras + to satisfy and an optional environment context. + :param reqts: A list of sometimes-wanted dependencies, + perhaps dependent on extras and environment. + :param extras: A list of optional components being requested. + :param env: An optional environment for marker evaluation. + """ + if self._legacy: + result = reqts + else: + result = [] + extras = get_extras(extras or [], self.extras) + for d in reqts: + if 'extra' not in d and 'environment' not in d: + # unconditional + include = True + else: + if 'extra' not in d: + # Not extra-dependent - only environment-dependent + include = True + else: + include = d.get('extra') in extras + if include: + # Not excluded because of extras, check environment + marker = d.get('environment') + if marker: + include = interpret(marker, env) + if include: + result.extend(d['requires']) + for key in ('build', 'dev', 'test'): + e = ':%s:' % key + if e in extras: + extras.remove(e) + # A recursive call, but it should terminate since 'test' + # has been removed from the extras + reqts = self._data.get('%s_requires' % key, []) + result.extend(self.get_requirements(reqts, extras=extras, + env=env)) + return result + + @property + def dictionary(self): + if self._legacy: + return self._from_legacy() + return self._data + + @property + def dependencies(self): + if self._legacy: + raise NotImplementedError + else: + return extract_by_key(self._data, self.DEPENDENCY_KEYS) + + @dependencies.setter + def dependencies(self, value): + if self._legacy: + raise NotImplementedError + else: + self._data.update(value) + + def _validate_mapping(self, mapping, scheme): + if mapping.get('metadata_version') != self.METADATA_VERSION: + raise MetadataUnrecognizedVersionError() + missing = [] + for key, exclusions in self.MANDATORY_KEYS.items(): + if key not in mapping: + if scheme not in exclusions: + missing.append(key) + if missing: + msg = 'Missing metadata items: %s' % ', '.join(missing) + raise MetadataMissingError(msg) + for k, v in mapping.items(): + self._validate_value(k, v, scheme) + + def validate(self): + if self._legacy: + missing, warnings = self._legacy.check(True) + if missing or warnings: + logger.warning('Metadata: missing: %s, warnings: %s', + missing, warnings) + else: + self._validate_mapping(self._data, self.scheme) + + def todict(self): + if self._legacy: + return self._legacy.todict(True) + else: + result = extract_by_key(self._data, self.INDEX_KEYS) + return result + + def _from_legacy(self): + assert self._legacy and not self._data + result = { + 'metadata_version': self.METADATA_VERSION, + 'generator': self.GENERATOR, + } + lmd = self._legacy.todict(True) # skip missing ones + for k in ('name', 'version', 'license', 'summary', 'description', + 'classifier'): + if k in lmd: + if k == 'classifier': + nk = 'classifiers' + else: + nk = k + result[nk] = lmd[k] + kw = lmd.get('Keywords', []) + if kw == ['']: + kw = [] + result['keywords'] = kw + keys = (('requires_dist', 'run_requires'), + ('setup_requires_dist', 'build_requires')) + for ok, nk in keys: + if ok in lmd and lmd[ok]: + result[nk] = [{'requires': lmd[ok]}] + result['provides'] = self.provides + author = {} + maintainer = {} + return result + + LEGACY_MAPPING = { + 'name': 'Name', + 'version': 'Version', + 'license': 'License', + 'summary': 'Summary', + 'description': 'Description', + 'classifiers': 'Classifier', + } + + def _to_legacy(self): + def process_entries(entries): + reqts = set() + for e in entries: + extra = e.get('extra') + env = e.get('environment') + rlist = e['requires'] + for r in rlist: + if not env and not extra: + reqts.add(r) + else: + marker = '' + if extra: + marker = 'extra == "%s"' % extra + if env: + if marker: + marker = '(%s) and %s' % (env, marker) + else: + marker = env + reqts.add(';'.join((r, marker))) + return reqts + + assert self._data and not self._legacy + result = LegacyMetadata() + nmd = self._data + for nk, ok in self.LEGACY_MAPPING.items(): + if nk in nmd: + result[ok] = nmd[nk] + r1 = process_entries(self.run_requires + self.meta_requires) + r2 = process_entries(self.build_requires + self.dev_requires) + if self.extras: + result['Provides-Extra'] = sorted(self.extras) + result['Requires-Dist'] = sorted(r1) + result['Setup-Requires-Dist'] = sorted(r2) + # TODO: other fields such as contacts + return result + + def write(self, path=None, fileobj=None, legacy=False, skip_unknown=True): + if [path, fileobj].count(None) != 1: + raise ValueError('Exactly one of path and fileobj is needed') + self.validate() + if legacy: + if self._legacy: + legacy_md = self._legacy + else: + legacy_md = self._to_legacy() + if path: + legacy_md.write(path, skip_unknown=skip_unknown) + else: + legacy_md.write_file(fileobj, skip_unknown=skip_unknown) + else: + if self._legacy: + d = self._from_legacy() + else: + d = self._data + if fileobj: + json.dump(d, fileobj, ensure_ascii=True, indent=2, + sort_keys=True) + else: + with codecs.open(path, 'w', 'utf-8') as f: + json.dump(d, f, ensure_ascii=True, indent=2, + sort_keys=True) + + def add_requirements(self, requirements): + if self._legacy: + self._legacy.add_requirements(requirements) + else: + run_requires = self._data.setdefault('run_requires', []) + always = None + for entry in run_requires: + if 'environment' not in entry and 'extra' not in entry: + always = entry + break + if always is None: + always = { 'requires': requirements } + run_requires.insert(0, always) + else: + rset = set(always['requires']) | set(requirements) + always['requires'] = sorted(rset) + + def __repr__(self): + name = self.name or '(no name)' + version = self.version or 'no version' + return '<%s %s %s (%s)>' % (self.__class__.__name__, + self.metadata_version, name, version) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/resources.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/resources.py new file mode 100644 index 0000000000..18840167a9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/resources.py @@ -0,0 +1,355 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import unicode_literals + +import bisect +import io +import logging +import os +import pkgutil +import shutil +import sys +import types +import zipimport + +from . import DistlibException +from .util import cached_property, get_cache_base, path_to_cache_dir, Cache + +logger = logging.getLogger(__name__) + + +cache = None # created when needed + + +class ResourceCache(Cache): + def __init__(self, base=None): + if base is None: + # Use native string to avoid issues on 2.x: see Python #20140. + base = os.path.join(get_cache_base(), str('resource-cache')) + super(ResourceCache, self).__init__(base) + + def is_stale(self, resource, path): + """ + Is the cache stale for the given resource? + + :param resource: The :class:`Resource` being cached. + :param path: The path of the resource in the cache. + :return: True if the cache is stale. + """ + # Cache invalidation is a hard problem :-) + return True + + def get(self, resource): + """ + Get a resource into the cache, + + :param resource: A :class:`Resource` instance. + :return: The pathname of the resource in the cache. + """ + prefix, path = resource.finder.get_cache_info(resource) + if prefix is None: + result = path + else: + result = os.path.join(self.base, self.prefix_to_dir(prefix), path) + dirname = os.path.dirname(result) + if not os.path.isdir(dirname): + os.makedirs(dirname) + if not os.path.exists(result): + stale = True + else: + stale = self.is_stale(resource, path) + if stale: + # write the bytes of the resource to the cache location + with open(result, 'wb') as f: + f.write(resource.bytes) + return result + + +class ResourceBase(object): + def __init__(self, finder, name): + self.finder = finder + self.name = name + + +class Resource(ResourceBase): + """ + A class representing an in-package resource, such as a data file. This is + not normally instantiated by user code, but rather by a + :class:`ResourceFinder` which manages the resource. + """ + is_container = False # Backwards compatibility + + def as_stream(self): + """ + Get the resource as a stream. + + This is not a property to make it obvious that it returns a new stream + each time. + """ + return self.finder.get_stream(self) + + @cached_property + def file_path(self): + global cache + if cache is None: + cache = ResourceCache() + return cache.get(self) + + @cached_property + def bytes(self): + return self.finder.get_bytes(self) + + @cached_property + def size(self): + return self.finder.get_size(self) + + +class ResourceContainer(ResourceBase): + is_container = True # Backwards compatibility + + @cached_property + def resources(self): + return self.finder.get_resources(self) + + +class ResourceFinder(object): + """ + Resource finder for file system resources. + """ + + if sys.platform.startswith('java'): + skipped_extensions = ('.pyc', '.pyo', '.class') + else: + skipped_extensions = ('.pyc', '.pyo') + + def __init__(self, module): + self.module = module + self.loader = getattr(module, '__loader__', None) + self.base = os.path.dirname(getattr(module, '__file__', '')) + + def _adjust_path(self, path): + return os.path.realpath(path) + + def _make_path(self, resource_name): + # Issue #50: need to preserve type of path on Python 2.x + # like os.path._get_sep + if isinstance(resource_name, bytes): # should only happen on 2.x + sep = b'/' + else: + sep = '/' + parts = resource_name.split(sep) + parts.insert(0, self.base) + result = os.path.join(*parts) + return self._adjust_path(result) + + def _find(self, path): + return os.path.exists(path) + + def get_cache_info(self, resource): + return None, resource.path + + def find(self, resource_name): + path = self._make_path(resource_name) + if not self._find(path): + result = None + else: + if self._is_directory(path): + result = ResourceContainer(self, resource_name) + else: + result = Resource(self, resource_name) + result.path = path + return result + + def get_stream(self, resource): + return open(resource.path, 'rb') + + def get_bytes(self, resource): + with open(resource.path, 'rb') as f: + return f.read() + + def get_size(self, resource): + return os.path.getsize(resource.path) + + def get_resources(self, resource): + def allowed(f): + return (f != '__pycache__' and not + f.endswith(self.skipped_extensions)) + return set([f for f in os.listdir(resource.path) if allowed(f)]) + + def is_container(self, resource): + return self._is_directory(resource.path) + + _is_directory = staticmethod(os.path.isdir) + + def iterator(self, resource_name): + resource = self.find(resource_name) + if resource is not None: + todo = [resource] + while todo: + resource = todo.pop(0) + yield resource + if resource.is_container: + rname = resource.name + for name in resource.resources: + if not rname: + new_name = name + else: + new_name = '/'.join([rname, name]) + child = self.find(new_name) + if child.is_container: + todo.append(child) + else: + yield child + + +class ZipResourceFinder(ResourceFinder): + """ + Resource finder for resources in .zip files. + """ + def __init__(self, module): + super(ZipResourceFinder, self).__init__(module) + archive = self.loader.archive + self.prefix_len = 1 + len(archive) + # PyPy doesn't have a _files attr on zipimporter, and you can't set one + if hasattr(self.loader, '_files'): + self._files = self.loader._files + else: + self._files = zipimport._zip_directory_cache[archive] + self.index = sorted(self._files) + + def _adjust_path(self, path): + return path + + def _find(self, path): + path = path[self.prefix_len:] + if path in self._files: + result = True + else: + if path and path[-1] != os.sep: + path = path + os.sep + i = bisect.bisect(self.index, path) + try: + result = self.index[i].startswith(path) + except IndexError: + result = False + if not result: + logger.debug('_find failed: %r %r', path, self.loader.prefix) + else: + logger.debug('_find worked: %r %r', path, self.loader.prefix) + return result + + def get_cache_info(self, resource): + prefix = self.loader.archive + path = resource.path[1 + len(prefix):] + return prefix, path + + def get_bytes(self, resource): + return self.loader.get_data(resource.path) + + def get_stream(self, resource): + return io.BytesIO(self.get_bytes(resource)) + + def get_size(self, resource): + path = resource.path[self.prefix_len:] + return self._files[path][3] + + def get_resources(self, resource): + path = resource.path[self.prefix_len:] + if path and path[-1] != os.sep: + path += os.sep + plen = len(path) + result = set() + i = bisect.bisect(self.index, path) + while i < len(self.index): + if not self.index[i].startswith(path): + break + s = self.index[i][plen:] + result.add(s.split(os.sep, 1)[0]) # only immediate children + i += 1 + return result + + def _is_directory(self, path): + path = path[self.prefix_len:] + if path and path[-1] != os.sep: + path += os.sep + i = bisect.bisect(self.index, path) + try: + result = self.index[i].startswith(path) + except IndexError: + result = False + return result + +_finder_registry = { + type(None): ResourceFinder, + zipimport.zipimporter: ZipResourceFinder +} + +try: + # In Python 3.6, _frozen_importlib -> _frozen_importlib_external + try: + import _frozen_importlib_external as _fi + except ImportError: + import _frozen_importlib as _fi + _finder_registry[_fi.SourceFileLoader] = ResourceFinder + _finder_registry[_fi.FileFinder] = ResourceFinder + del _fi +except (ImportError, AttributeError): + pass + + +def register_finder(loader, finder_maker): + _finder_registry[type(loader)] = finder_maker + +_finder_cache = {} + + +def finder(package): + """ + Return a resource finder for a package. + :param package: The name of the package. + :return: A :class:`ResourceFinder` instance for the package. + """ + if package in _finder_cache: + result = _finder_cache[package] + else: + if package not in sys.modules: + __import__(package) + module = sys.modules[package] + path = getattr(module, '__path__', None) + if path is None: + raise DistlibException('You cannot get a finder for a module, ' + 'only for a package') + loader = getattr(module, '__loader__', None) + finder_maker = _finder_registry.get(type(loader)) + if finder_maker is None: + raise DistlibException('Unable to locate finder for %r' % package) + result = finder_maker(module) + _finder_cache[package] = result + return result + + +_dummy_module = types.ModuleType(str('__dummy__')) + + +def finder_for_path(path): + """ + Return a resource finder for a path, which should represent a container. + + :param path: The path. + :return: A :class:`ResourceFinder` instance for the path. + """ + result = None + # calls any path hooks, gets importer into cache + pkgutil.get_importer(path) + loader = sys.path_importer_cache.get(path) + finder = _finder_registry.get(type(loader)) + if finder: + module = _dummy_module + module.__file__ = os.path.join(path, '') + module.__loader__ = loader + result = finder(module) + return result diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/scripts.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/scripts.py new file mode 100644 index 0000000000..8e22cb9163 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/scripts.py @@ -0,0 +1,417 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2015 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from io import BytesIO +import logging +import os +import re +import struct +import sys + +from .compat import sysconfig, detect_encoding, ZipFile +from .resources import finder +from .util import (FileOperator, get_export_entry, convert_path, + get_executable, in_venv) + +logger = logging.getLogger(__name__) + +_DEFAULT_MANIFEST = ''' +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity version="1.0.0.0" + processorArchitecture="X86" + name="%s" + type="win32"/> + + <!-- Identify the application security requirements. --> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> + <security> + <requestedPrivileges> + <requestedExecutionLevel level="asInvoker" uiAccess="false"/> + </requestedPrivileges> + </security> + </trustInfo> +</assembly>'''.strip() + +# check if Python is called on the first line with this expression +FIRST_LINE_RE = re.compile(b'^#!.*pythonw?[0-9.]*([ \t].*)?$') +SCRIPT_TEMPLATE = r'''# -*- coding: utf-8 -*- +if __name__ == '__main__': + import sys, re + + def _resolve(module, func): + __import__(module) + mod = sys.modules[module] + parts = func.split('.') + result = getattr(mod, parts.pop(0)) + for p in parts: + result = getattr(result, p) + return result + + try: + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + + func = _resolve('%(module)s', '%(func)s') + rc = func() # None interpreted as 0 + except Exception as e: # only supporting Python >= 2.6 + sys.stderr.write('%%s\n' %% e) + rc = 1 + sys.exit(rc) +''' + + +def _enquote_executable(executable): + if ' ' in executable: + # make sure we quote only the executable in case of env + # for example /usr/bin/env "/dir with spaces/bin/jython" + # instead of "/usr/bin/env /dir with spaces/bin/jython" + # otherwise whole + if executable.startswith('/usr/bin/env '): + env, _executable = executable.split(' ', 1) + if ' ' in _executable and not _executable.startswith('"'): + executable = '%s "%s"' % (env, _executable) + else: + if not executable.startswith('"'): + executable = '"%s"' % executable + return executable + + +class ScriptMaker(object): + """ + A class to copy or create scripts from source scripts or callable + specifications. + """ + script_template = SCRIPT_TEMPLATE + + executable = None # for shebangs + + def __init__(self, source_dir, target_dir, add_launchers=True, + dry_run=False, fileop=None): + self.source_dir = source_dir + self.target_dir = target_dir + self.add_launchers = add_launchers + self.force = False + self.clobber = False + # It only makes sense to set mode bits on POSIX. + self.set_mode = (os.name == 'posix') or (os.name == 'java' and + os._name == 'posix') + self.variants = set(('', 'X.Y')) + self._fileop = fileop or FileOperator(dry_run) + + self._is_nt = os.name == 'nt' or ( + os.name == 'java' and os._name == 'nt') + + def _get_alternate_executable(self, executable, options): + if options.get('gui', False) and self._is_nt: # pragma: no cover + dn, fn = os.path.split(executable) + fn = fn.replace('python', 'pythonw') + executable = os.path.join(dn, fn) + return executable + + if sys.platform.startswith('java'): # pragma: no cover + def _is_shell(self, executable): + """ + Determine if the specified executable is a script + (contains a #! line) + """ + try: + with open(executable) as fp: + return fp.read(2) == '#!' + except (OSError, IOError): + logger.warning('Failed to open %s', executable) + return False + + def _fix_jython_executable(self, executable): + if self._is_shell(executable): + # Workaround for Jython is not needed on Linux systems. + import java + + if java.lang.System.getProperty('os.name') == 'Linux': + return executable + elif executable.lower().endswith('jython.exe'): + # Use wrapper exe for Jython on Windows + return executable + return '/usr/bin/env %s' % executable + + def _build_shebang(self, executable, post_interp): + """ + Build a shebang line. In the simple case (on Windows, or a shebang line + which is not too long or contains spaces) use a simple formulation for + the shebang. Otherwise, use /bin/sh as the executable, with a contrived + shebang which allows the script to run either under Python or sh, using + suitable quoting. Thanks to Harald Nordgren for his input. + + See also: http://www.in-ulm.de/~mascheck/various/shebang/#length + https://hg.mozilla.org/mozilla-central/file/tip/mach + """ + if os.name != 'posix': + simple_shebang = True + else: + # Add 3 for '#!' prefix and newline suffix. + shebang_length = len(executable) + len(post_interp) + 3 + if sys.platform == 'darwin': + max_shebang_length = 512 + else: + max_shebang_length = 127 + simple_shebang = ((b' ' not in executable) and + (shebang_length <= max_shebang_length)) + + if simple_shebang: + result = b'#!' + executable + post_interp + b'\n' + else: + result = b'#!/bin/sh\n' + result += b"'''exec' " + executable + post_interp + b' "$0" "$@"\n' + result += b"' '''" + return result + + def _get_shebang(self, encoding, post_interp=b'', options=None): + enquote = True + if self.executable: + executable = self.executable + enquote = False # assume this will be taken care of + elif not sysconfig.is_python_build(): + executable = get_executable() + elif in_venv(): # pragma: no cover + executable = os.path.join(sysconfig.get_path('scripts'), + 'python%s' % sysconfig.get_config_var('EXE')) + else: # pragma: no cover + executable = os.path.join( + sysconfig.get_config_var('BINDIR'), + 'python%s%s' % (sysconfig.get_config_var('VERSION'), + sysconfig.get_config_var('EXE'))) + if options: + executable = self._get_alternate_executable(executable, options) + + if sys.platform.startswith('java'): # pragma: no cover + executable = self._fix_jython_executable(executable) + # Normalise case for Windows + executable = os.path.normcase(executable) + # If the user didn't specify an executable, it may be necessary to + # cater for executable paths with spaces (not uncommon on Windows) + if enquote: + executable = _enquote_executable(executable) + # Issue #51: don't use fsencode, since we later try to + # check that the shebang is decodable using utf-8. + executable = executable.encode('utf-8') + # in case of IronPython, play safe and enable frames support + if (sys.platform == 'cli' and '-X:Frames' not in post_interp + and '-X:FullFrames' not in post_interp): # pragma: no cover + post_interp += b' -X:Frames' + shebang = self._build_shebang(executable, post_interp) + # Python parser starts to read a script using UTF-8 until + # it gets a #coding:xxx cookie. The shebang has to be the + # first line of a file, the #coding:xxx cookie cannot be + # written before. So the shebang has to be decodable from + # UTF-8. + try: + shebang.decode('utf-8') + except UnicodeDecodeError: # pragma: no cover + raise ValueError( + 'The shebang (%r) is not decodable from utf-8' % shebang) + # If the script is encoded to a custom encoding (use a + # #coding:xxx cookie), the shebang has to be decodable from + # the script encoding too. + if encoding != 'utf-8': + try: + shebang.decode(encoding) + except UnicodeDecodeError: # pragma: no cover + raise ValueError( + 'The shebang (%r) is not decodable ' + 'from the script encoding (%r)' % (shebang, encoding)) + return shebang + + def _get_script_text(self, entry): + return self.script_template % dict(module=entry.prefix, + func=entry.suffix) + + manifest = _DEFAULT_MANIFEST + + def get_manifest(self, exename): + base = os.path.basename(exename) + return self.manifest % base + + def _write_script(self, names, shebang, script_bytes, filenames, ext): + use_launcher = self.add_launchers and self._is_nt + linesep = os.linesep.encode('utf-8') + if not shebang.endswith(linesep): + shebang += linesep + if not use_launcher: + script_bytes = shebang + script_bytes + else: # pragma: no cover + if ext == 'py': + launcher = self._get_launcher('t') + else: + launcher = self._get_launcher('w') + stream = BytesIO() + with ZipFile(stream, 'w') as zf: + zf.writestr('__main__.py', script_bytes) + zip_data = stream.getvalue() + script_bytes = launcher + shebang + zip_data + for name in names: + outname = os.path.join(self.target_dir, name) + if use_launcher: # pragma: no cover + n, e = os.path.splitext(outname) + if e.startswith('.py'): + outname = n + outname = '%s.exe' % outname + try: + self._fileop.write_binary_file(outname, script_bytes) + except Exception: + # Failed writing an executable - it might be in use. + logger.warning('Failed to write executable - trying to ' + 'use .deleteme logic') + dfname = '%s.deleteme' % outname + if os.path.exists(dfname): + os.remove(dfname) # Not allowed to fail here + os.rename(outname, dfname) # nor here + self._fileop.write_binary_file(outname, script_bytes) + logger.debug('Able to replace executable using ' + '.deleteme logic') + try: + os.remove(dfname) + except Exception: + pass # still in use - ignore error + else: + if self._is_nt and not outname.endswith('.' + ext): # pragma: no cover + outname = '%s.%s' % (outname, ext) + if os.path.exists(outname) and not self.clobber: + logger.warning('Skipping existing file %s', outname) + continue + self._fileop.write_binary_file(outname, script_bytes) + if self.set_mode: + self._fileop.set_executable_mode([outname]) + filenames.append(outname) + + def _make_script(self, entry, filenames, options=None): + post_interp = b'' + if options: + args = options.get('interpreter_args', []) + if args: + args = ' %s' % ' '.join(args) + post_interp = args.encode('utf-8') + shebang = self._get_shebang('utf-8', post_interp, options=options) + script = self._get_script_text(entry).encode('utf-8') + name = entry.name + scriptnames = set() + if '' in self.variants: + scriptnames.add(name) + if 'X' in self.variants: + scriptnames.add('%s%s' % (name, sys.version[0])) + if 'X.Y' in self.variants: + scriptnames.add('%s-%s' % (name, sys.version[:3])) + if options and options.get('gui', False): + ext = 'pyw' + else: + ext = 'py' + self._write_script(scriptnames, shebang, script, filenames, ext) + + def _copy_script(self, script, filenames): + adjust = False + script = os.path.join(self.source_dir, convert_path(script)) + outname = os.path.join(self.target_dir, os.path.basename(script)) + if not self.force and not self._fileop.newer(script, outname): + logger.debug('not copying %s (up-to-date)', script) + return + + # Always open the file, but ignore failures in dry-run mode -- + # that way, we'll get accurate feedback if we can read the + # script. + try: + f = open(script, 'rb') + except IOError: # pragma: no cover + if not self.dry_run: + raise + f = None + else: + first_line = f.readline() + if not first_line: # pragma: no cover + logger.warning('%s: %s is an empty file (skipping)', + self.get_command_name(), script) + return + + match = FIRST_LINE_RE.match(first_line.replace(b'\r\n', b'\n')) + if match: + adjust = True + post_interp = match.group(1) or b'' + + if not adjust: + if f: + f.close() + self._fileop.copy_file(script, outname) + if self.set_mode: + self._fileop.set_executable_mode([outname]) + filenames.append(outname) + else: + logger.info('copying and adjusting %s -> %s', script, + self.target_dir) + if not self._fileop.dry_run: + encoding, lines = detect_encoding(f.readline) + f.seek(0) + shebang = self._get_shebang(encoding, post_interp) + if b'pythonw' in first_line: # pragma: no cover + ext = 'pyw' + else: + ext = 'py' + n = os.path.basename(outname) + self._write_script([n], shebang, f.read(), filenames, ext) + if f: + f.close() + + @property + def dry_run(self): + return self._fileop.dry_run + + @dry_run.setter + def dry_run(self, value): + self._fileop.dry_run = value + + if os.name == 'nt' or (os.name == 'java' and os._name == 'nt'): # pragma: no cover + # Executable launcher support. + # Launchers are from https://bitbucket.org/vinay.sajip/simple_launcher/ + + def _get_launcher(self, kind): + if struct.calcsize('P') == 8: # 64-bit + bits = '64' + else: + bits = '32' + name = '%s%s.exe' % (kind, bits) + # Issue 31: don't hardcode an absolute package name, but + # determine it relative to the current package + distlib_package = __name__.rsplit('.', 1)[0] + result = finder(distlib_package).find(name).bytes + return result + + # Public API follows + + def make(self, specification, options=None): + """ + Make a script. + + :param specification: The specification, which is either a valid export + entry specification (to make a script from a + callable) or a filename (to make a script by + copying from a source location). + :param options: A dictionary of options controlling script generation. + :return: A list of all absolute pathnames written to. + """ + filenames = [] + entry = get_export_entry(specification) + if entry is None: + self._copy_script(specification, filenames) + else: + self._make_script(entry, filenames, options=options) + return filenames + + def make_multiple(self, specifications, options=None): + """ + Take a list of specifications and make scripts from them, + :param specifications: A list of specifications. + :return: A list of all absolute pathnames written to, + """ + filenames = [] + for specification in specifications: + filenames.extend(self.make(specification, options)) + return filenames diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/util.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/util.py new file mode 100644 index 0000000000..9d4bfd3bec --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/util.py @@ -0,0 +1,1756 @@ +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +import codecs +from collections import deque +import contextlib +import csv +from glob import iglob as std_iglob +import io +import json +import logging +import os +import py_compile +import re +import socket +try: + import ssl +except ImportError: # pragma: no cover + ssl = None +import subprocess +import sys +import tarfile +import tempfile +import textwrap + +try: + import threading +except ImportError: # pragma: no cover + import dummy_threading as threading +import time + +from . import DistlibException +from .compat import (string_types, text_type, shutil, raw_input, StringIO, + cache_from_source, urlopen, urljoin, httplib, xmlrpclib, + splittype, HTTPHandler, BaseConfigurator, valid_ident, + Container, configparser, URLError, ZipFile, fsdecode, + unquote, urlparse) + +logger = logging.getLogger(__name__) + +# +# Requirement parsing code as per PEP 508 +# + +IDENTIFIER = re.compile(r'^([\w\.-]+)\s*') +VERSION_IDENTIFIER = re.compile(r'^([\w\.*+-]+)\s*') +COMPARE_OP = re.compile(r'^(<=?|>=?|={2,3}|[~!]=)\s*') +MARKER_OP = re.compile(r'^((<=?)|(>=?)|={2,3}|[~!]=|in|not\s+in)\s*') +OR = re.compile(r'^or\b\s*') +AND = re.compile(r'^and\b\s*') +NON_SPACE = re.compile(r'(\S+)\s*') +STRING_CHUNK = re.compile(r'([\s\w\.{}()*+#:;,/?!~`@$%^&=|<>\[\]-]+)') + + +def parse_marker(marker_string): + """ + Parse a marker string and return a dictionary containing a marker expression. + + The dictionary will contain keys "op", "lhs" and "rhs" for non-terminals in + the expression grammar, or strings. A string contained in quotes is to be + interpreted as a literal string, and a string not contained in quotes is a + variable (such as os_name). + """ + def marker_var(remaining): + # either identifier, or literal string + m = IDENTIFIER.match(remaining) + if m: + result = m.groups()[0] + remaining = remaining[m.end():] + elif not remaining: + raise SyntaxError('unexpected end of input') + else: + q = remaining[0] + if q not in '\'"': + raise SyntaxError('invalid expression: %s' % remaining) + oq = '\'"'.replace(q, '') + remaining = remaining[1:] + parts = [q] + while remaining: + # either a string chunk, or oq, or q to terminate + if remaining[0] == q: + break + elif remaining[0] == oq: + parts.append(oq) + remaining = remaining[1:] + else: + m = STRING_CHUNK.match(remaining) + if not m: + raise SyntaxError('error in string literal: %s' % remaining) + parts.append(m.groups()[0]) + remaining = remaining[m.end():] + else: + s = ''.join(parts) + raise SyntaxError('unterminated string: %s' % s) + parts.append(q) + result = ''.join(parts) + remaining = remaining[1:].lstrip() # skip past closing quote + return result, remaining + + def marker_expr(remaining): + if remaining and remaining[0] == '(': + result, remaining = marker(remaining[1:].lstrip()) + if remaining[0] != ')': + raise SyntaxError('unterminated parenthesis: %s' % remaining) + remaining = remaining[1:].lstrip() + else: + lhs, remaining = marker_var(remaining) + while remaining: + m = MARKER_OP.match(remaining) + if not m: + break + op = m.groups()[0] + remaining = remaining[m.end():] + rhs, remaining = marker_var(remaining) + lhs = {'op': op, 'lhs': lhs, 'rhs': rhs} + result = lhs + return result, remaining + + def marker_and(remaining): + lhs, remaining = marker_expr(remaining) + while remaining: + m = AND.match(remaining) + if not m: + break + remaining = remaining[m.end():] + rhs, remaining = marker_expr(remaining) + lhs = {'op': 'and', 'lhs': lhs, 'rhs': rhs} + return lhs, remaining + + def marker(remaining): + lhs, remaining = marker_and(remaining) + while remaining: + m = OR.match(remaining) + if not m: + break + remaining = remaining[m.end():] + rhs, remaining = marker_and(remaining) + lhs = {'op': 'or', 'lhs': lhs, 'rhs': rhs} + return lhs, remaining + + return marker(marker_string) + + +def parse_requirement(req): + """ + Parse a requirement passed in as a string. Return a Container + whose attributes contain the various parts of the requirement. + """ + remaining = req.strip() + if not remaining or remaining.startswith('#'): + return None + m = IDENTIFIER.match(remaining) + if not m: + raise SyntaxError('name expected: %s' % remaining) + distname = m.groups()[0] + remaining = remaining[m.end():] + extras = mark_expr = versions = uri = None + if remaining and remaining[0] == '[': + i = remaining.find(']', 1) + if i < 0: + raise SyntaxError('unterminated extra: %s' % remaining) + s = remaining[1:i] + remaining = remaining[i + 1:].lstrip() + extras = [] + while s: + m = IDENTIFIER.match(s) + if not m: + raise SyntaxError('malformed extra: %s' % s) + extras.append(m.groups()[0]) + s = s[m.end():] + if not s: + break + if s[0] != ',': + raise SyntaxError('comma expected in extras: %s' % s) + s = s[1:].lstrip() + if not extras: + extras = None + if remaining: + if remaining[0] == '@': + # it's a URI + remaining = remaining[1:].lstrip() + m = NON_SPACE.match(remaining) + if not m: + raise SyntaxError('invalid URI: %s' % remaining) + uri = m.groups()[0] + t = urlparse(uri) + # there are issues with Python and URL parsing, so this test + # is a bit crude. See bpo-20271, bpo-23505. Python doesn't + # always parse invalid URLs correctly - it should raise + # exceptions for malformed URLs + if not (t.scheme and t.netloc): + raise SyntaxError('Invalid URL: %s' % uri) + remaining = remaining[m.end():].lstrip() + else: + + def get_versions(ver_remaining): + """ + Return a list of operator, version tuples if any are + specified, else None. + """ + m = COMPARE_OP.match(ver_remaining) + versions = None + if m: + versions = [] + while True: + op = m.groups()[0] + ver_remaining = ver_remaining[m.end():] + m = VERSION_IDENTIFIER.match(ver_remaining) + if not m: + raise SyntaxError('invalid version: %s' % ver_remaining) + v = m.groups()[0] + versions.append((op, v)) + ver_remaining = ver_remaining[m.end():] + if not ver_remaining or ver_remaining[0] != ',': + break + ver_remaining = ver_remaining[1:].lstrip() + m = COMPARE_OP.match(ver_remaining) + if not m: + raise SyntaxError('invalid constraint: %s' % ver_remaining) + if not versions: + versions = None + return versions, ver_remaining + + if remaining[0] != '(': + versions, remaining = get_versions(remaining) + else: + i = remaining.find(')', 1) + if i < 0: + raise SyntaxError('unterminated parenthesis: %s' % remaining) + s = remaining[1:i] + remaining = remaining[i + 1:].lstrip() + # As a special diversion from PEP 508, allow a version number + # a.b.c in parentheses as a synonym for ~= a.b.c (because this + # is allowed in earlier PEPs) + if COMPARE_OP.match(s): + versions, _ = get_versions(s) + else: + m = VERSION_IDENTIFIER.match(s) + if not m: + raise SyntaxError('invalid constraint: %s' % s) + v = m.groups()[0] + s = s[m.end():].lstrip() + if s: + raise SyntaxError('invalid constraint: %s' % s) + versions = [('~=', v)] + + if remaining: + if remaining[0] != ';': + raise SyntaxError('invalid requirement: %s' % remaining) + remaining = remaining[1:].lstrip() + + mark_expr, remaining = parse_marker(remaining) + + if remaining and remaining[0] != '#': + raise SyntaxError('unexpected trailing data: %s' % remaining) + + if not versions: + rs = distname + else: + rs = '%s %s' % (distname, ', '.join(['%s %s' % con for con in versions])) + return Container(name=distname, extras=extras, constraints=versions, + marker=mark_expr, url=uri, requirement=rs) + + +def get_resources_dests(resources_root, rules): + """Find destinations for resources files""" + + def get_rel_path(root, path): + # normalizes and returns a lstripped-/-separated path + root = root.replace(os.path.sep, '/') + path = path.replace(os.path.sep, '/') + assert path.startswith(root) + return path[len(root):].lstrip('/') + + destinations = {} + for base, suffix, dest in rules: + prefix = os.path.join(resources_root, base) + for abs_base in iglob(prefix): + abs_glob = os.path.join(abs_base, suffix) + for abs_path in iglob(abs_glob): + resource_file = get_rel_path(resources_root, abs_path) + if dest is None: # remove the entry if it was here + destinations.pop(resource_file, None) + else: + rel_path = get_rel_path(abs_base, abs_path) + rel_dest = dest.replace(os.path.sep, '/').rstrip('/') + destinations[resource_file] = rel_dest + '/' + rel_path + return destinations + + +def in_venv(): + if hasattr(sys, 'real_prefix'): + # virtualenv venvs + result = True + else: + # PEP 405 venvs + result = sys.prefix != getattr(sys, 'base_prefix', sys.prefix) + return result + + +def get_executable(): +# The __PYVENV_LAUNCHER__ dance is apparently no longer needed, as +# changes to the stub launcher mean that sys.executable always points +# to the stub on OS X +# if sys.platform == 'darwin' and ('__PYVENV_LAUNCHER__' +# in os.environ): +# result = os.environ['__PYVENV_LAUNCHER__'] +# else: +# result = sys.executable +# return result + result = os.path.normcase(sys.executable) + if not isinstance(result, text_type): + result = fsdecode(result) + return result + + +def proceed(prompt, allowed_chars, error_prompt=None, default=None): + p = prompt + while True: + s = raw_input(p) + p = prompt + if not s and default: + s = default + if s: + c = s[0].lower() + if c in allowed_chars: + break + if error_prompt: + p = '%c: %s\n%s' % (c, error_prompt, prompt) + return c + + +def extract_by_key(d, keys): + if isinstance(keys, string_types): + keys = keys.split() + result = {} + for key in keys: + if key in d: + result[key] = d[key] + return result + +def read_exports(stream): + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getreader('utf-8')(stream) + # Try to load as JSON, falling back on legacy format + data = stream.read() + stream = StringIO(data) + try: + jdata = json.load(stream) + result = jdata['extensions']['python.exports']['exports'] + for group, entries in result.items(): + for k, v in entries.items(): + s = '%s = %s' % (k, v) + entry = get_export_entry(s) + assert entry is not None + entries[k] = entry + return result + except Exception: + stream.seek(0, 0) + + def read_stream(cp, stream): + if hasattr(cp, 'read_file'): + cp.read_file(stream) + else: + cp.readfp(stream) + + cp = configparser.ConfigParser() + try: + read_stream(cp, stream) + except configparser.MissingSectionHeaderError: + stream.close() + data = textwrap.dedent(data) + stream = StringIO(data) + read_stream(cp, stream) + + result = {} + for key in cp.sections(): + result[key] = entries = {} + for name, value in cp.items(key): + s = '%s = %s' % (name, value) + entry = get_export_entry(s) + assert entry is not None + #entry.dist = self + entries[name] = entry + return result + + +def write_exports(exports, stream): + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getwriter('utf-8')(stream) + cp = configparser.ConfigParser() + for k, v in exports.items(): + # TODO check k, v for valid values + cp.add_section(k) + for entry in v.values(): + if entry.suffix is None: + s = entry.prefix + else: + s = '%s:%s' % (entry.prefix, entry.suffix) + if entry.flags: + s = '%s [%s]' % (s, ', '.join(entry.flags)) + cp.set(k, entry.name, s) + cp.write(stream) + + +@contextlib.contextmanager +def tempdir(): + td = tempfile.mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + +@contextlib.contextmanager +def chdir(d): + cwd = os.getcwd() + try: + os.chdir(d) + yield + finally: + os.chdir(cwd) + + +@contextlib.contextmanager +def socket_timeout(seconds=15): + cto = socket.getdefaulttimeout() + try: + socket.setdefaulttimeout(seconds) + yield + finally: + socket.setdefaulttimeout(cto) + + +class cached_property(object): + def __init__(self, func): + self.func = func + #for attr in ('__name__', '__module__', '__doc__'): + # setattr(self, attr, getattr(func, attr, None)) + + def __get__(self, obj, cls=None): + if obj is None: + return self + value = self.func(obj) + object.__setattr__(obj, self.func.__name__, value) + #obj.__dict__[self.func.__name__] = value = self.func(obj) + return value + +def convert_path(pathname): + """Return 'pathname' as a name that will work on the native filesystem. + + The path is split on '/' and put back together again using the current + directory separator. Needed because filenames in the setup script are + always supplied in Unix style, and have to be converted to the local + convention before we can actually use them in the filesystem. Raises + ValueError on non-Unix-ish systems if 'pathname' either starts or + ends with a slash. + """ + if os.sep == '/': + return pathname + if not pathname: + return pathname + if pathname[0] == '/': + raise ValueError("path '%s' cannot be absolute" % pathname) + if pathname[-1] == '/': + raise ValueError("path '%s' cannot end with '/'" % pathname) + + paths = pathname.split('/') + while os.curdir in paths: + paths.remove(os.curdir) + if not paths: + return os.curdir + return os.path.join(*paths) + + +class FileOperator(object): + def __init__(self, dry_run=False): + self.dry_run = dry_run + self.ensured = set() + self._init_record() + + def _init_record(self): + self.record = False + self.files_written = set() + self.dirs_created = set() + + def record_as_written(self, path): + if self.record: + self.files_written.add(path) + + def newer(self, source, target): + """Tell if the target is newer than the source. + + Returns true if 'source' exists and is more recently modified than + 'target', or if 'source' exists and 'target' doesn't. + + Returns false if both exist and 'target' is the same age or younger + than 'source'. Raise PackagingFileError if 'source' does not exist. + + Note that this test is not very accurate: files created in the same + second will have the same "age". + """ + if not os.path.exists(source): + raise DistlibException("file '%r' does not exist" % + os.path.abspath(source)) + if not os.path.exists(target): + return True + + return os.stat(source).st_mtime > os.stat(target).st_mtime + + def copy_file(self, infile, outfile, check=True): + """Copy a file respecting dry-run and force flags. + """ + self.ensure_dir(os.path.dirname(outfile)) + logger.info('Copying %s to %s', infile, outfile) + if not self.dry_run: + msg = None + if check: + if os.path.islink(outfile): + msg = '%s is a symlink' % outfile + elif os.path.exists(outfile) and not os.path.isfile(outfile): + msg = '%s is a non-regular file' % outfile + if msg: + raise ValueError(msg + ' which would be overwritten') + shutil.copyfile(infile, outfile) + self.record_as_written(outfile) + + def copy_stream(self, instream, outfile, encoding=None): + assert not os.path.isdir(outfile) + self.ensure_dir(os.path.dirname(outfile)) + logger.info('Copying stream %s to %s', instream, outfile) + if not self.dry_run: + if encoding is None: + outstream = open(outfile, 'wb') + else: + outstream = codecs.open(outfile, 'w', encoding=encoding) + try: + shutil.copyfileobj(instream, outstream) + finally: + outstream.close() + self.record_as_written(outfile) + + def write_binary_file(self, path, data): + self.ensure_dir(os.path.dirname(path)) + if not self.dry_run: + if os.path.exists(path): + os.remove(path) + with open(path, 'wb') as f: + f.write(data) + self.record_as_written(path) + + def write_text_file(self, path, data, encoding): + self.write_binary_file(path, data.encode(encoding)) + + def set_mode(self, bits, mask, files): + if os.name == 'posix' or (os.name == 'java' and os._name == 'posix'): + # Set the executable bits (owner, group, and world) on + # all the files specified. + for f in files: + if self.dry_run: + logger.info("changing mode of %s", f) + else: + mode = (os.stat(f).st_mode | bits) & mask + logger.info("changing mode of %s to %o", f, mode) + os.chmod(f, mode) + + set_executable_mode = lambda s, f: s.set_mode(0o555, 0o7777, f) + + def ensure_dir(self, path): + path = os.path.abspath(path) + if path not in self.ensured and not os.path.exists(path): + self.ensured.add(path) + d, f = os.path.split(path) + self.ensure_dir(d) + logger.info('Creating %s' % path) + if not self.dry_run: + os.mkdir(path) + if self.record: + self.dirs_created.add(path) + + def byte_compile(self, path, optimize=False, force=False, prefix=None, hashed_invalidation=False): + dpath = cache_from_source(path, not optimize) + logger.info('Byte-compiling %s to %s', path, dpath) + if not self.dry_run: + if force or self.newer(path, dpath): + if not prefix: + diagpath = None + else: + assert path.startswith(prefix) + diagpath = path[len(prefix):] + compile_kwargs = {} + if hashed_invalidation and hasattr(py_compile, 'PycInvalidationMode'): + compile_kwargs['invalidation_mode'] = py_compile.PycInvalidationMode.CHECKED_HASH + py_compile.compile(path, dpath, diagpath, True, **compile_kwargs) # raise error + self.record_as_written(dpath) + return dpath + + def ensure_removed(self, path): + if os.path.exists(path): + if os.path.isdir(path) and not os.path.islink(path): + logger.debug('Removing directory tree at %s', path) + if not self.dry_run: + shutil.rmtree(path) + if self.record: + if path in self.dirs_created: + self.dirs_created.remove(path) + else: + if os.path.islink(path): + s = 'link' + else: + s = 'file' + logger.debug('Removing %s %s', s, path) + if not self.dry_run: + os.remove(path) + if self.record: + if path in self.files_written: + self.files_written.remove(path) + + def is_writable(self, path): + result = False + while not result: + if os.path.exists(path): + result = os.access(path, os.W_OK) + break + parent = os.path.dirname(path) + if parent == path: + break + path = parent + return result + + def commit(self): + """ + Commit recorded changes, turn off recording, return + changes. + """ + assert self.record + result = self.files_written, self.dirs_created + self._init_record() + return result + + def rollback(self): + if not self.dry_run: + for f in list(self.files_written): + if os.path.exists(f): + os.remove(f) + # dirs should all be empty now, except perhaps for + # __pycache__ subdirs + # reverse so that subdirs appear before their parents + dirs = sorted(self.dirs_created, reverse=True) + for d in dirs: + flist = os.listdir(d) + if flist: + assert flist == ['__pycache__'] + sd = os.path.join(d, flist[0]) + os.rmdir(sd) + os.rmdir(d) # should fail if non-empty + self._init_record() + +def resolve(module_name, dotted_path): + if module_name in sys.modules: + mod = sys.modules[module_name] + else: + mod = __import__(module_name) + if dotted_path is None: + result = mod + else: + parts = dotted_path.split('.') + result = getattr(mod, parts.pop(0)) + for p in parts: + result = getattr(result, p) + return result + + +class ExportEntry(object): + def __init__(self, name, prefix, suffix, flags): + self.name = name + self.prefix = prefix + self.suffix = suffix + self.flags = flags + + @cached_property + def value(self): + return resolve(self.prefix, self.suffix) + + def __repr__(self): # pragma: no cover + return '<ExportEntry %s = %s:%s %s>' % (self.name, self.prefix, + self.suffix, self.flags) + + def __eq__(self, other): + if not isinstance(other, ExportEntry): + result = False + else: + result = (self.name == other.name and + self.prefix == other.prefix and + self.suffix == other.suffix and + self.flags == other.flags) + return result + + __hash__ = object.__hash__ + + +ENTRY_RE = re.compile(r'''(?P<name>(\w|[-.+])+) + \s*=\s*(?P<callable>(\w+)([:\.]\w+)*) + \s*(\[\s*(?P<flags>\w+(=\w+)?(,\s*\w+(=\w+)?)*)\s*\])? + ''', re.VERBOSE) + +def get_export_entry(specification): + m = ENTRY_RE.search(specification) + if not m: + result = None + if '[' in specification or ']' in specification: + raise DistlibException("Invalid specification " + "'%s'" % specification) + else: + d = m.groupdict() + name = d['name'] + path = d['callable'] + colons = path.count(':') + if colons == 0: + prefix, suffix = path, None + else: + if colons != 1: + raise DistlibException("Invalid specification " + "'%s'" % specification) + prefix, suffix = path.split(':') + flags = d['flags'] + if flags is None: + if '[' in specification or ']' in specification: + raise DistlibException("Invalid specification " + "'%s'" % specification) + flags = [] + else: + flags = [f.strip() for f in flags.split(',')] + result = ExportEntry(name, prefix, suffix, flags) + return result + + +def get_cache_base(suffix=None): + """ + Return the default base location for distlib caches. If the directory does + not exist, it is created. Use the suffix provided for the base directory, + and default to '.distlib' if it isn't provided. + + On Windows, if LOCALAPPDATA is defined in the environment, then it is + assumed to be a directory, and will be the parent directory of the result. + On POSIX, and on Windows if LOCALAPPDATA is not defined, the user's home + directory - using os.expanduser('~') - will be the parent directory of + the result. + + The result is just the directory '.distlib' in the parent directory as + determined above, or with the name specified with ``suffix``. + """ + if suffix is None: + suffix = '.distlib' + if os.name == 'nt' and 'LOCALAPPDATA' in os.environ: + result = os.path.expandvars('$localappdata') + else: + # Assume posix, or old Windows + result = os.path.expanduser('~') + # we use 'isdir' instead of 'exists', because we want to + # fail if there's a file with that name + if os.path.isdir(result): + usable = os.access(result, os.W_OK) + if not usable: + logger.warning('Directory exists but is not writable: %s', result) + else: + try: + os.makedirs(result) + usable = True + except OSError: + logger.warning('Unable to create %s', result, exc_info=True) + usable = False + if not usable: + result = tempfile.mkdtemp() + logger.warning('Default location unusable, using %s', result) + return os.path.join(result, suffix) + + +def path_to_cache_dir(path): + """ + Convert an absolute path to a directory name for use in a cache. + + The algorithm used is: + + #. On Windows, any ``':'`` in the drive is replaced with ``'---'``. + #. Any occurrence of ``os.sep`` is replaced with ``'--'``. + #. ``'.cache'`` is appended. + """ + d, p = os.path.splitdrive(os.path.abspath(path)) + if d: + d = d.replace(':', '---') + p = p.replace(os.sep, '--') + return d + p + '.cache' + + +def ensure_slash(s): + if not s.endswith('/'): + return s + '/' + return s + + +def parse_credentials(netloc): + username = password = None + if '@' in netloc: + prefix, netloc = netloc.split('@', 1) + if ':' not in prefix: + username = prefix + else: + username, password = prefix.split(':', 1) + return username, password, netloc + + +def get_process_umask(): + result = os.umask(0o22) + os.umask(result) + return result + +def is_string_sequence(seq): + result = True + i = None + for i, s in enumerate(seq): + if not isinstance(s, string_types): + result = False + break + assert i is not None + return result + +PROJECT_NAME_AND_VERSION = re.compile('([a-z0-9_]+([.-][a-z_][a-z0-9_]*)*)-' + '([a-z0-9_.+-]+)', re.I) +PYTHON_VERSION = re.compile(r'-py(\d\.?\d?)') + + +def split_filename(filename, project_name=None): + """ + Extract name, version, python version from a filename (no extension) + + Return name, version, pyver or None + """ + result = None + pyver = None + filename = unquote(filename).replace(' ', '-') + m = PYTHON_VERSION.search(filename) + if m: + pyver = m.group(1) + filename = filename[:m.start()] + if project_name and len(filename) > len(project_name) + 1: + m = re.match(re.escape(project_name) + r'\b', filename) + if m: + n = m.end() + result = filename[:n], filename[n + 1:], pyver + if result is None: + m = PROJECT_NAME_AND_VERSION.match(filename) + if m: + result = m.group(1), m.group(3), pyver + return result + +# Allow spaces in name because of legacy dists like "Twisted Core" +NAME_VERSION_RE = re.compile(r'(?P<name>[\w .-]+)\s*' + r'\(\s*(?P<ver>[^\s)]+)\)$') + +def parse_name_and_version(p): + """ + A utility method used to get name and version from a string. + + From e.g. a Provides-Dist value. + + :param p: A value in a form 'foo (1.0)' + :return: The name and version as a tuple. + """ + m = NAME_VERSION_RE.match(p) + if not m: + raise DistlibException('Ill-formed name/version string: \'%s\'' % p) + d = m.groupdict() + return d['name'].strip().lower(), d['ver'] + +def get_extras(requested, available): + result = set() + requested = set(requested or []) + available = set(available or []) + if '*' in requested: + requested.remove('*') + result |= available + for r in requested: + if r == '-': + result.add(r) + elif r.startswith('-'): + unwanted = r[1:] + if unwanted not in available: + logger.warning('undeclared extra: %s' % unwanted) + if unwanted in result: + result.remove(unwanted) + else: + if r not in available: + logger.warning('undeclared extra: %s' % r) + result.add(r) + return result +# +# Extended metadata functionality +# + +def _get_external_data(url): + result = {} + try: + # urlopen might fail if it runs into redirections, + # because of Python issue #13696. Fixed in locators + # using a custom redirect handler. + resp = urlopen(url) + headers = resp.info() + ct = headers.get('Content-Type') + if not ct.startswith('application/json'): + logger.debug('Unexpected response for JSON request: %s', ct) + else: + reader = codecs.getreader('utf-8')(resp) + #data = reader.read().decode('utf-8') + #result = json.loads(data) + result = json.load(reader) + except Exception as e: + logger.exception('Failed to get external data for %s: %s', url, e) + return result + +_external_data_base_url = 'https://www.red-dove.com/pypi/projects/' + +def get_project_data(name): + url = '%s/%s/project.json' % (name[0].upper(), name) + url = urljoin(_external_data_base_url, url) + result = _get_external_data(url) + return result + +def get_package_data(name, version): + url = '%s/%s/package-%s.json' % (name[0].upper(), name, version) + url = urljoin(_external_data_base_url, url) + return _get_external_data(url) + + +class Cache(object): + """ + A class implementing a cache for resources that need to live in the file system + e.g. shared libraries. This class was moved from resources to here because it + could be used by other modules, e.g. the wheel module. + """ + + def __init__(self, base): + """ + Initialise an instance. + + :param base: The base directory where the cache should be located. + """ + # we use 'isdir' instead of 'exists', because we want to + # fail if there's a file with that name + if not os.path.isdir(base): # pragma: no cover + os.makedirs(base) + if (os.stat(base).st_mode & 0o77) != 0: + logger.warning('Directory \'%s\' is not private', base) + self.base = os.path.abspath(os.path.normpath(base)) + + def prefix_to_dir(self, prefix): + """ + Converts a resource prefix to a directory name in the cache. + """ + return path_to_cache_dir(prefix) + + def clear(self): + """ + Clear the cache. + """ + not_removed = [] + for fn in os.listdir(self.base): + fn = os.path.join(self.base, fn) + try: + if os.path.islink(fn) or os.path.isfile(fn): + os.remove(fn) + elif os.path.isdir(fn): + shutil.rmtree(fn) + except Exception: + not_removed.append(fn) + return not_removed + + +class EventMixin(object): + """ + A very simple publish/subscribe system. + """ + def __init__(self): + self._subscribers = {} + + def add(self, event, subscriber, append=True): + """ + Add a subscriber for an event. + + :param event: The name of an event. + :param subscriber: The subscriber to be added (and called when the + event is published). + :param append: Whether to append or prepend the subscriber to an + existing subscriber list for the event. + """ + subs = self._subscribers + if event not in subs: + subs[event] = deque([subscriber]) + else: + sq = subs[event] + if append: + sq.append(subscriber) + else: + sq.appendleft(subscriber) + + def remove(self, event, subscriber): + """ + Remove a subscriber for an event. + + :param event: The name of an event. + :param subscriber: The subscriber to be removed. + """ + subs = self._subscribers + if event not in subs: + raise ValueError('No subscribers: %r' % event) + subs[event].remove(subscriber) + + def get_subscribers(self, event): + """ + Return an iterator for the subscribers for an event. + :param event: The event to return subscribers for. + """ + return iter(self._subscribers.get(event, ())) + + def publish(self, event, *args, **kwargs): + """ + Publish a event and return a list of values returned by its + subscribers. + + :param event: The event to publish. + :param args: The positional arguments to pass to the event's + subscribers. + :param kwargs: The keyword arguments to pass to the event's + subscribers. + """ + result = [] + for subscriber in self.get_subscribers(event): + try: + value = subscriber(event, *args, **kwargs) + except Exception: + logger.exception('Exception during event publication') + value = None + result.append(value) + logger.debug('publish %s: args = %s, kwargs = %s, result = %s', + event, args, kwargs, result) + return result + +# +# Simple sequencing +# +class Sequencer(object): + def __init__(self): + self._preds = {} + self._succs = {} + self._nodes = set() # nodes with no preds/succs + + def add_node(self, node): + self._nodes.add(node) + + def remove_node(self, node, edges=False): + if node in self._nodes: + self._nodes.remove(node) + if edges: + for p in set(self._preds.get(node, ())): + self.remove(p, node) + for s in set(self._succs.get(node, ())): + self.remove(node, s) + # Remove empties + for k, v in list(self._preds.items()): + if not v: + del self._preds[k] + for k, v in list(self._succs.items()): + if not v: + del self._succs[k] + + def add(self, pred, succ): + assert pred != succ + self._preds.setdefault(succ, set()).add(pred) + self._succs.setdefault(pred, set()).add(succ) + + def remove(self, pred, succ): + assert pred != succ + try: + preds = self._preds[succ] + succs = self._succs[pred] + except KeyError: # pragma: no cover + raise ValueError('%r not a successor of anything' % succ) + try: + preds.remove(pred) + succs.remove(succ) + except KeyError: # pragma: no cover + raise ValueError('%r not a successor of %r' % (succ, pred)) + + def is_step(self, step): + return (step in self._preds or step in self._succs or + step in self._nodes) + + def get_steps(self, final): + if not self.is_step(final): + raise ValueError('Unknown: %r' % final) + result = [] + todo = [] + seen = set() + todo.append(final) + while todo: + step = todo.pop(0) + if step in seen: + # if a step was already seen, + # move it to the end (so it will appear earlier + # when reversed on return) ... but not for the + # final step, as that would be confusing for + # users + if step != final: + result.remove(step) + result.append(step) + else: + seen.add(step) + result.append(step) + preds = self._preds.get(step, ()) + todo.extend(preds) + return reversed(result) + + @property + def strong_connections(self): + #http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm + index_counter = [0] + stack = [] + lowlinks = {} + index = {} + result = [] + + graph = self._succs + + def strongconnect(node): + # set the depth index for this node to the smallest unused index + index[node] = index_counter[0] + lowlinks[node] = index_counter[0] + index_counter[0] += 1 + stack.append(node) + + # Consider successors + try: + successors = graph[node] + except Exception: + successors = [] + for successor in successors: + if successor not in lowlinks: + # Successor has not yet been visited + strongconnect(successor) + lowlinks[node] = min(lowlinks[node],lowlinks[successor]) + elif successor in stack: + # the successor is in the stack and hence in the current + # strongly connected component (SCC) + lowlinks[node] = min(lowlinks[node],index[successor]) + + # If `node` is a root node, pop the stack and generate an SCC + if lowlinks[node] == index[node]: + connected_component = [] + + while True: + successor = stack.pop() + connected_component.append(successor) + if successor == node: break + component = tuple(connected_component) + # storing the result + result.append(component) + + for node in graph: + if node not in lowlinks: + strongconnect(node) + + return result + + @property + def dot(self): + result = ['digraph G {'] + for succ in self._preds: + preds = self._preds[succ] + for pred in preds: + result.append(' %s -> %s;' % (pred, succ)) + for node in self._nodes: + result.append(' %s;' % node) + result.append('}') + return '\n'.join(result) + +# +# Unarchiving functionality for zip, tar, tgz, tbz, whl +# + +ARCHIVE_EXTENSIONS = ('.tar.gz', '.tar.bz2', '.tar', '.zip', + '.tgz', '.tbz', '.whl') + +def unarchive(archive_filename, dest_dir, format=None, check=True): + + def check_path(path): + if not isinstance(path, text_type): + path = path.decode('utf-8') + p = os.path.abspath(os.path.join(dest_dir, path)) + if not p.startswith(dest_dir) or p[plen] != os.sep: + raise ValueError('path outside destination: %r' % p) + + dest_dir = os.path.abspath(dest_dir) + plen = len(dest_dir) + archive = None + if format is None: + if archive_filename.endswith(('.zip', '.whl')): + format = 'zip' + elif archive_filename.endswith(('.tar.gz', '.tgz')): + format = 'tgz' + mode = 'r:gz' + elif archive_filename.endswith(('.tar.bz2', '.tbz')): + format = 'tbz' + mode = 'r:bz2' + elif archive_filename.endswith('.tar'): + format = 'tar' + mode = 'r' + else: # pragma: no cover + raise ValueError('Unknown format for %r' % archive_filename) + try: + if format == 'zip': + archive = ZipFile(archive_filename, 'r') + if check: + names = archive.namelist() + for name in names: + check_path(name) + else: + archive = tarfile.open(archive_filename, mode) + if check: + names = archive.getnames() + for name in names: + check_path(name) + if format != 'zip' and sys.version_info[0] < 3: + # See Python issue 17153. If the dest path contains Unicode, + # tarfile extraction fails on Python 2.x if a member path name + # contains non-ASCII characters - it leads to an implicit + # bytes -> unicode conversion using ASCII to decode. + for tarinfo in archive.getmembers(): + if not isinstance(tarinfo.name, text_type): + tarinfo.name = tarinfo.name.decode('utf-8') + archive.extractall(dest_dir) + + finally: + if archive: + archive.close() + + +def zip_dir(directory): + """zip a directory tree into a BytesIO object""" + result = io.BytesIO() + dlen = len(directory) + with ZipFile(result, "w") as zf: + for root, dirs, files in os.walk(directory): + for name in files: + full = os.path.join(root, name) + rel = root[dlen:] + dest = os.path.join(rel, name) + zf.write(full, dest) + return result + +# +# Simple progress bar +# + +UNITS = ('', 'K', 'M', 'G','T','P') + + +class Progress(object): + unknown = 'UNKNOWN' + + def __init__(self, minval=0, maxval=100): + assert maxval is None or maxval >= minval + self.min = self.cur = minval + self.max = maxval + self.started = None + self.elapsed = 0 + self.done = False + + def update(self, curval): + assert self.min <= curval + assert self.max is None or curval <= self.max + self.cur = curval + now = time.time() + if self.started is None: + self.started = now + else: + self.elapsed = now - self.started + + def increment(self, incr): + assert incr >= 0 + self.update(self.cur + incr) + + def start(self): + self.update(self.min) + return self + + def stop(self): + if self.max is not None: + self.update(self.max) + self.done = True + + @property + def maximum(self): + return self.unknown if self.max is None else self.max + + @property + def percentage(self): + if self.done: + result = '100 %' + elif self.max is None: + result = ' ?? %' + else: + v = 100.0 * (self.cur - self.min) / (self.max - self.min) + result = '%3d %%' % v + return result + + def format_duration(self, duration): + if (duration <= 0) and self.max is None or self.cur == self.min: + result = '??:??:??' + #elif duration < 1: + # result = '--:--:--' + else: + result = time.strftime('%H:%M:%S', time.gmtime(duration)) + return result + + @property + def ETA(self): + if self.done: + prefix = 'Done' + t = self.elapsed + #import pdb; pdb.set_trace() + else: + prefix = 'ETA ' + if self.max is None: + t = -1 + elif self.elapsed == 0 or (self.cur == self.min): + t = 0 + else: + #import pdb; pdb.set_trace() + t = float(self.max - self.min) + t /= self.cur - self.min + t = (t - 1) * self.elapsed + return '%s: %s' % (prefix, self.format_duration(t)) + + @property + def speed(self): + if self.elapsed == 0: + result = 0.0 + else: + result = (self.cur - self.min) / self.elapsed + for unit in UNITS: + if result < 1000: + break + result /= 1000.0 + return '%d %sB/s' % (result, unit) + +# +# Glob functionality +# + +RICH_GLOB = re.compile(r'\{([^}]*)\}') +_CHECK_RECURSIVE_GLOB = re.compile(r'[^/\\,{]\*\*|\*\*[^/\\,}]') +_CHECK_MISMATCH_SET = re.compile(r'^[^{]*\}|\{[^}]*$') + + +def iglob(path_glob): + """Extended globbing function that supports ** and {opt1,opt2,opt3}.""" + if _CHECK_RECURSIVE_GLOB.search(path_glob): + msg = """invalid glob %r: recursive glob "**" must be used alone""" + raise ValueError(msg % path_glob) + if _CHECK_MISMATCH_SET.search(path_glob): + msg = """invalid glob %r: mismatching set marker '{' or '}'""" + raise ValueError(msg % path_glob) + return _iglob(path_glob) + + +def _iglob(path_glob): + rich_path_glob = RICH_GLOB.split(path_glob, 1) + if len(rich_path_glob) > 1: + assert len(rich_path_glob) == 3, rich_path_glob + prefix, set, suffix = rich_path_glob + for item in set.split(','): + for path in _iglob(''.join((prefix, item, suffix))): + yield path + else: + if '**' not in path_glob: + for item in std_iglob(path_glob): + yield item + else: + prefix, radical = path_glob.split('**', 1) + if prefix == '': + prefix = '.' + if radical == '': + radical = '*' + else: + # we support both + radical = radical.lstrip('/') + radical = radical.lstrip('\\') + for path, dir, files in os.walk(prefix): + path = os.path.normpath(path) + for fn in _iglob(os.path.join(path, radical)): + yield fn + +if ssl: + from .compat import (HTTPSHandler as BaseHTTPSHandler, match_hostname, + CertificateError) + + +# +# HTTPSConnection which verifies certificates/matches domains +# + + class HTTPSConnection(httplib.HTTPSConnection): + ca_certs = None # set this to the path to the certs file (.pem) + check_domain = True # only used if ca_certs is not None + + # noinspection PyPropertyAccess + def connect(self): + sock = socket.create_connection((self.host, self.port), self.timeout) + if getattr(self, '_tunnel_host', False): + self.sock = sock + self._tunnel() + + if not hasattr(ssl, 'SSLContext'): + # For 2.x + if self.ca_certs: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, + cert_reqs=cert_reqs, + ssl_version=ssl.PROTOCOL_SSLv23, + ca_certs=self.ca_certs) + else: # pragma: no cover + context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) + context.options |= ssl.OP_NO_SSLv2 + if self.cert_file: + context.load_cert_chain(self.cert_file, self.key_file) + kwargs = {} + if self.ca_certs: + context.verify_mode = ssl.CERT_REQUIRED + context.load_verify_locations(cafile=self.ca_certs) + if getattr(ssl, 'HAS_SNI', False): + kwargs['server_hostname'] = self.host + self.sock = context.wrap_socket(sock, **kwargs) + if self.ca_certs and self.check_domain: + try: + match_hostname(self.sock.getpeercert(), self.host) + logger.debug('Host verified: %s', self.host) + except CertificateError: # pragma: no cover + self.sock.shutdown(socket.SHUT_RDWR) + self.sock.close() + raise + + class HTTPSHandler(BaseHTTPSHandler): + def __init__(self, ca_certs, check_domain=True): + BaseHTTPSHandler.__init__(self) + self.ca_certs = ca_certs + self.check_domain = check_domain + + def _conn_maker(self, *args, **kwargs): + """ + This is called to create a connection instance. Normally you'd + pass a connection class to do_open, but it doesn't actually check for + a class, and just expects a callable. As long as we behave just as a + constructor would have, we should be OK. If it ever changes so that + we *must* pass a class, we'll create an UnsafeHTTPSConnection class + which just sets check_domain to False in the class definition, and + choose which one to pass to do_open. + """ + result = HTTPSConnection(*args, **kwargs) + if self.ca_certs: + result.ca_certs = self.ca_certs + result.check_domain = self.check_domain + return result + + def https_open(self, req): + try: + return self.do_open(self._conn_maker, req) + except URLError as e: + if 'certificate verify failed' in str(e.reason): + raise CertificateError('Unable to verify server certificate ' + 'for %s' % req.host) + else: + raise + + # + # To prevent against mixing HTTP traffic with HTTPS (examples: A Man-In-The- + # Middle proxy using HTTP listens on port 443, or an index mistakenly serves + # HTML containing a http://xyz link when it should be https://xyz), + # you can use the following handler class, which does not allow HTTP traffic. + # + # It works by inheriting from HTTPHandler - so build_opener won't add a + # handler for HTTP itself. + # + class HTTPSOnlyHandler(HTTPSHandler, HTTPHandler): + def http_open(self, req): + raise URLError('Unexpected HTTP request on what should be a secure ' + 'connection: %s' % req) + +# +# XML-RPC with timeouts +# + +_ver_info = sys.version_info[:2] + +if _ver_info == (2, 6): + class HTTP(httplib.HTTP): + def __init__(self, host='', port=None, **kwargs): + if port == 0: # 0 means use port 0, not the default port + port = None + self._setup(self._connection_class(host, port, **kwargs)) + + + if ssl: + class HTTPS(httplib.HTTPS): + def __init__(self, host='', port=None, **kwargs): + if port == 0: # 0 means use port 0, not the default port + port = None + self._setup(self._connection_class(host, port, **kwargs)) + + +class Transport(xmlrpclib.Transport): + def __init__(self, timeout, use_datetime=0): + self.timeout = timeout + xmlrpclib.Transport.__init__(self, use_datetime) + + def make_connection(self, host): + h, eh, x509 = self.get_host_info(host) + if _ver_info == (2, 6): + result = HTTP(h, timeout=self.timeout) + else: + if not self._connection or host != self._connection[0]: + self._extra_headers = eh + self._connection = host, httplib.HTTPConnection(h) + result = self._connection[1] + return result + +if ssl: + class SafeTransport(xmlrpclib.SafeTransport): + def __init__(self, timeout, use_datetime=0): + self.timeout = timeout + xmlrpclib.SafeTransport.__init__(self, use_datetime) + + def make_connection(self, host): + h, eh, kwargs = self.get_host_info(host) + if not kwargs: + kwargs = {} + kwargs['timeout'] = self.timeout + if _ver_info == (2, 6): + result = HTTPS(host, None, **kwargs) + else: + if not self._connection or host != self._connection[0]: + self._extra_headers = eh + self._connection = host, httplib.HTTPSConnection(h, None, + **kwargs) + result = self._connection[1] + return result + + +class ServerProxy(xmlrpclib.ServerProxy): + def __init__(self, uri, **kwargs): + self.timeout = timeout = kwargs.pop('timeout', None) + # The above classes only come into play if a timeout + # is specified + if timeout is not None: + scheme, _ = splittype(uri) + use_datetime = kwargs.get('use_datetime', 0) + if scheme == 'https': + tcls = SafeTransport + else: + tcls = Transport + kwargs['transport'] = t = tcls(timeout, use_datetime=use_datetime) + self.transport = t + xmlrpclib.ServerProxy.__init__(self, uri, **kwargs) + +# +# CSV functionality. This is provided because on 2.x, the csv module can't +# handle Unicode. However, we need to deal with Unicode in e.g. RECORD files. +# + +def _csv_open(fn, mode, **kwargs): + if sys.version_info[0] < 3: + mode += 'b' + else: + kwargs['newline'] = '' + # Python 3 determines encoding from locale. Force 'utf-8' + # file encoding to match other forced utf-8 encoding + kwargs['encoding'] = 'utf-8' + return open(fn, mode, **kwargs) + + +class CSVBase(object): + defaults = { + 'delimiter': str(','), # The strs are used because we need native + 'quotechar': str('"'), # str in the csv API (2.x won't take + 'lineterminator': str('\n') # Unicode) + } + + def __enter__(self): + return self + + def __exit__(self, *exc_info): + self.stream.close() + + +class CSVReader(CSVBase): + def __init__(self, **kwargs): + if 'stream' in kwargs: + stream = kwargs['stream'] + if sys.version_info[0] >= 3: + # needs to be a text stream + stream = codecs.getreader('utf-8')(stream) + self.stream = stream + else: + self.stream = _csv_open(kwargs['path'], 'r') + self.reader = csv.reader(self.stream, **self.defaults) + + def __iter__(self): + return self + + def next(self): + result = next(self.reader) + if sys.version_info[0] < 3: + for i, item in enumerate(result): + if not isinstance(item, text_type): + result[i] = item.decode('utf-8') + return result + + __next__ = next + +class CSVWriter(CSVBase): + def __init__(self, fn, **kwargs): + self.stream = _csv_open(fn, 'w') + self.writer = csv.writer(self.stream, **self.defaults) + + def writerow(self, row): + if sys.version_info[0] < 3: + r = [] + for item in row: + if isinstance(item, text_type): + item = item.encode('utf-8') + r.append(item) + row = r + self.writer.writerow(row) + +# +# Configurator functionality +# + +class Configurator(BaseConfigurator): + + value_converters = dict(BaseConfigurator.value_converters) + value_converters['inc'] = 'inc_convert' + + def __init__(self, config, base=None): + super(Configurator, self).__init__(config) + self.base = base or os.getcwd() + + def configure_custom(self, config): + def convert(o): + if isinstance(o, (list, tuple)): + result = type(o)([convert(i) for i in o]) + elif isinstance(o, dict): + if '()' in o: + result = self.configure_custom(o) + else: + result = {} + for k in o: + result[k] = convert(o[k]) + else: + result = self.convert(o) + return result + + c = config.pop('()') + if not callable(c): + c = self.resolve(c) + props = config.pop('.', None) + # Check for valid identifiers + args = config.pop('[]', ()) + if args: + args = tuple([convert(o) for o in args]) + items = [(k, convert(config[k])) for k in config if valid_ident(k)] + kwargs = dict(items) + result = c(*args, **kwargs) + if props: + for n, v in props.items(): + setattr(result, n, convert(v)) + return result + + def __getitem__(self, key): + result = self.config[key] + if isinstance(result, dict) and '()' in result: + self.config[key] = result = self.configure_custom(result) + return result + + def inc_convert(self, value): + """Default converter for the inc:// protocol.""" + if not os.path.isabs(value): + value = os.path.join(self.base, value) + with codecs.open(value, 'r', encoding='utf-8') as f: + result = json.load(f) + return result + + +class SubprocessMixin(object): + """ + Mixin for running subprocesses and capturing their output + """ + def __init__(self, verbose=False, progress=None): + self.verbose = verbose + self.progress = progress + + def reader(self, stream, context): + """ + Read lines from a subprocess' output stream and either pass to a progress + callable (if specified) or write progress information to sys.stderr. + """ + progress = self.progress + verbose = self.verbose + while True: + s = stream.readline() + if not s: + break + if progress is not None: + progress(s, context) + else: + if not verbose: + sys.stderr.write('.') + else: + sys.stderr.write(s.decode('utf-8')) + sys.stderr.flush() + stream.close() + + def run_command(self, cmd, **kwargs): + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, **kwargs) + t1 = threading.Thread(target=self.reader, args=(p.stdout, 'stdout')) + t1.start() + t2 = threading.Thread(target=self.reader, args=(p.stderr, 'stderr')) + t2.start() + p.wait() + t1.join() + t2.join() + if self.progress is not None: + self.progress('done.', 'main') + elif self.verbose: + sys.stderr.write('done.\n') + return p + + +def normalize_name(name): + """Normalize a python package name a la PEP 503""" + # https://www.python.org/dev/peps/pep-0503/#normalized-names + return re.sub('[-_.]+', '-', name).lower() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/version.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/version.py new file mode 100644 index 0000000000..3eebe18ee8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/version.py @@ -0,0 +1,736 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012-2017 The Python Software Foundation. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +""" +Implementation of a flexible versioning scheme providing support for PEP-440, +setuptools-compatible and semantic versioning. +""" + +import logging +import re + +from .compat import string_types +from .util import parse_requirement + +__all__ = ['NormalizedVersion', 'NormalizedMatcher', + 'LegacyVersion', 'LegacyMatcher', + 'SemanticVersion', 'SemanticMatcher', + 'UnsupportedVersionError', 'get_scheme'] + +logger = logging.getLogger(__name__) + + +class UnsupportedVersionError(ValueError): + """This is an unsupported version.""" + pass + + +class Version(object): + def __init__(self, s): + self._string = s = s.strip() + self._parts = parts = self.parse(s) + assert isinstance(parts, tuple) + assert len(parts) > 0 + + def parse(self, s): + raise NotImplementedError('please implement in a subclass') + + def _check_compatible(self, other): + if type(self) != type(other): + raise TypeError('cannot compare %r and %r' % (self, other)) + + def __eq__(self, other): + self._check_compatible(other) + return self._parts == other._parts + + def __ne__(self, other): + return not self.__eq__(other) + + def __lt__(self, other): + self._check_compatible(other) + return self._parts < other._parts + + def __gt__(self, other): + return not (self.__lt__(other) or self.__eq__(other)) + + def __le__(self, other): + return self.__lt__(other) or self.__eq__(other) + + def __ge__(self, other): + return self.__gt__(other) or self.__eq__(other) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + def __hash__(self): + return hash(self._parts) + + def __repr__(self): + return "%s('%s')" % (self.__class__.__name__, self._string) + + def __str__(self): + return self._string + + @property + def is_prerelease(self): + raise NotImplementedError('Please implement in subclasses.') + + +class Matcher(object): + version_class = None + + # value is either a callable or the name of a method + _operators = { + '<': lambda v, c, p: v < c, + '>': lambda v, c, p: v > c, + '<=': lambda v, c, p: v == c or v < c, + '>=': lambda v, c, p: v == c or v > c, + '==': lambda v, c, p: v == c, + '===': lambda v, c, p: v == c, + # by default, compatible => >=. + '~=': lambda v, c, p: v == c or v > c, + '!=': lambda v, c, p: v != c, + } + + # this is a method only to support alternative implementations + # via overriding + def parse_requirement(self, s): + return parse_requirement(s) + + def __init__(self, s): + if self.version_class is None: + raise ValueError('Please specify a version class') + self._string = s = s.strip() + r = self.parse_requirement(s) + if not r: + raise ValueError('Not valid: %r' % s) + self.name = r.name + self.key = self.name.lower() # for case-insensitive comparisons + clist = [] + if r.constraints: + # import pdb; pdb.set_trace() + for op, s in r.constraints: + if s.endswith('.*'): + if op not in ('==', '!='): + raise ValueError('\'.*\' not allowed for ' + '%r constraints' % op) + # Could be a partial version (e.g. for '2.*') which + # won't parse as a version, so keep it as a string + vn, prefix = s[:-2], True + # Just to check that vn is a valid version + self.version_class(vn) + else: + # Should parse as a version, so we can create an + # instance for the comparison + vn, prefix = self.version_class(s), False + clist.append((op, vn, prefix)) + self._parts = tuple(clist) + + def match(self, version): + """ + Check if the provided version matches the constraints. + + :param version: The version to match against this instance. + :type version: String or :class:`Version` instance. + """ + if isinstance(version, string_types): + version = self.version_class(version) + for operator, constraint, prefix in self._parts: + f = self._operators.get(operator) + if isinstance(f, string_types): + f = getattr(self, f) + if not f: + msg = ('%r not implemented ' + 'for %s' % (operator, self.__class__.__name__)) + raise NotImplementedError(msg) + if not f(version, constraint, prefix): + return False + return True + + @property + def exact_version(self): + result = None + if len(self._parts) == 1 and self._parts[0][0] in ('==', '==='): + result = self._parts[0][1] + return result + + def _check_compatible(self, other): + if type(self) != type(other) or self.name != other.name: + raise TypeError('cannot compare %s and %s' % (self, other)) + + def __eq__(self, other): + self._check_compatible(other) + return self.key == other.key and self._parts == other._parts + + def __ne__(self, other): + return not self.__eq__(other) + + # See http://docs.python.org/reference/datamodel#object.__hash__ + def __hash__(self): + return hash(self.key) + hash(self._parts) + + def __repr__(self): + return "%s(%r)" % (self.__class__.__name__, self._string) + + def __str__(self): + return self._string + + +PEP440_VERSION_RE = re.compile(r'^v?(\d+!)?(\d+(\.\d+)*)((a|b|c|rc)(\d+))?' + r'(\.(post)(\d+))?(\.(dev)(\d+))?' + r'(\+([a-zA-Z\d]+(\.[a-zA-Z\d]+)?))?$') + + +def _pep_440_key(s): + s = s.strip() + m = PEP440_VERSION_RE.match(s) + if not m: + raise UnsupportedVersionError('Not a valid version: %s' % s) + groups = m.groups() + nums = tuple(int(v) for v in groups[1].split('.')) + while len(nums) > 1 and nums[-1] == 0: + nums = nums[:-1] + + if not groups[0]: + epoch = 0 + else: + epoch = int(groups[0]) + pre = groups[4:6] + post = groups[7:9] + dev = groups[10:12] + local = groups[13] + if pre == (None, None): + pre = () + else: + pre = pre[0], int(pre[1]) + if post == (None, None): + post = () + else: + post = post[0], int(post[1]) + if dev == (None, None): + dev = () + else: + dev = dev[0], int(dev[1]) + if local is None: + local = () + else: + parts = [] + for part in local.split('.'): + # to ensure that numeric compares as > lexicographic, avoid + # comparing them directly, but encode a tuple which ensures + # correct sorting + if part.isdigit(): + part = (1, int(part)) + else: + part = (0, part) + parts.append(part) + local = tuple(parts) + if not pre: + # either before pre-release, or final release and after + if not post and dev: + # before pre-release + pre = ('a', -1) # to sort before a0 + else: + pre = ('z',) # to sort after all pre-releases + # now look at the state of post and dev. + if not post: + post = ('_',) # sort before 'a' + if not dev: + dev = ('final',) + + #print('%s -> %s' % (s, m.groups())) + return epoch, nums, pre, post, dev, local + + +_normalized_key = _pep_440_key + + +class NormalizedVersion(Version): + """A rational version. + + Good: + 1.2 # equivalent to "1.2.0" + 1.2.0 + 1.2a1 + 1.2.3a2 + 1.2.3b1 + 1.2.3c1 + 1.2.3.4 + TODO: fill this out + + Bad: + 1 # minimum two numbers + 1.2a # release level must have a release serial + 1.2.3b + """ + def parse(self, s): + result = _normalized_key(s) + # _normalized_key loses trailing zeroes in the release + # clause, since that's needed to ensure that X.Y == X.Y.0 == X.Y.0.0 + # However, PEP 440 prefix matching needs it: for example, + # (~= 1.4.5.0) matches differently to (~= 1.4.5.0.0). + m = PEP440_VERSION_RE.match(s) # must succeed + groups = m.groups() + self._release_clause = tuple(int(v) for v in groups[1].split('.')) + return result + + PREREL_TAGS = set(['a', 'b', 'c', 'rc', 'dev']) + + @property + def is_prerelease(self): + return any(t[0] in self.PREREL_TAGS for t in self._parts if t) + + +def _match_prefix(x, y): + x = str(x) + y = str(y) + if x == y: + return True + if not x.startswith(y): + return False + n = len(y) + return x[n] == '.' + + +class NormalizedMatcher(Matcher): + version_class = NormalizedVersion + + # value is either a callable or the name of a method + _operators = { + '~=': '_match_compatible', + '<': '_match_lt', + '>': '_match_gt', + '<=': '_match_le', + '>=': '_match_ge', + '==': '_match_eq', + '===': '_match_arbitrary', + '!=': '_match_ne', + } + + def _adjust_local(self, version, constraint, prefix): + if prefix: + strip_local = '+' not in constraint and version._parts[-1] + else: + # both constraint and version are + # NormalizedVersion instances. + # If constraint does not have a local component, + # ensure the version doesn't, either. + strip_local = not constraint._parts[-1] and version._parts[-1] + if strip_local: + s = version._string.split('+', 1)[0] + version = self.version_class(s) + return version, constraint + + def _match_lt(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version >= constraint: + return False + release_clause = constraint._release_clause + pfx = '.'.join([str(i) for i in release_clause]) + return not _match_prefix(version, pfx) + + def _match_gt(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version <= constraint: + return False + release_clause = constraint._release_clause + pfx = '.'.join([str(i) for i in release_clause]) + return not _match_prefix(version, pfx) + + def _match_le(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + return version <= constraint + + def _match_ge(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + return version >= constraint + + def _match_eq(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if not prefix: + result = (version == constraint) + else: + result = _match_prefix(version, constraint) + return result + + def _match_arbitrary(self, version, constraint, prefix): + return str(version) == str(constraint) + + def _match_ne(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if not prefix: + result = (version != constraint) + else: + result = not _match_prefix(version, constraint) + return result + + def _match_compatible(self, version, constraint, prefix): + version, constraint = self._adjust_local(version, constraint, prefix) + if version == constraint: + return True + if version < constraint: + return False +# if not prefix: +# return True + release_clause = constraint._release_clause + if len(release_clause) > 1: + release_clause = release_clause[:-1] + pfx = '.'.join([str(i) for i in release_clause]) + return _match_prefix(version, pfx) + +_REPLACEMENTS = ( + (re.compile('[.+-]$'), ''), # remove trailing puncts + (re.compile(r'^[.](\d)'), r'0.\1'), # .N -> 0.N at start + (re.compile('^[.-]'), ''), # remove leading puncts + (re.compile(r'^\((.*)\)$'), r'\1'), # remove parentheses + (re.compile(r'^v(ersion)?\s*(\d+)'), r'\2'), # remove leading v(ersion) + (re.compile(r'^r(ev)?\s*(\d+)'), r'\2'), # remove leading v(ersion) + (re.compile('[.]{2,}'), '.'), # multiple runs of '.' + (re.compile(r'\b(alfa|apha)\b'), 'alpha'), # misspelt alpha + (re.compile(r'\b(pre-alpha|prealpha)\b'), + 'pre.alpha'), # standardise + (re.compile(r'\(beta\)$'), 'beta'), # remove parentheses +) + +_SUFFIX_REPLACEMENTS = ( + (re.compile('^[:~._+-]+'), ''), # remove leading puncts + (re.compile('[,*")([\\]]'), ''), # remove unwanted chars + (re.compile('[~:+_ -]'), '.'), # replace illegal chars + (re.compile('[.]{2,}'), '.'), # multiple runs of '.' + (re.compile(r'\.$'), ''), # trailing '.' +) + +_NUMERIC_PREFIX = re.compile(r'(\d+(\.\d+)*)') + + +def _suggest_semantic_version(s): + """ + Try to suggest a semantic form for a version for which + _suggest_normalized_version couldn't come up with anything. + """ + result = s.strip().lower() + for pat, repl in _REPLACEMENTS: + result = pat.sub(repl, result) + if not result: + result = '0.0.0' + + # Now look for numeric prefix, and separate it out from + # the rest. + #import pdb; pdb.set_trace() + m = _NUMERIC_PREFIX.match(result) + if not m: + prefix = '0.0.0' + suffix = result + else: + prefix = m.groups()[0].split('.') + prefix = [int(i) for i in prefix] + while len(prefix) < 3: + prefix.append(0) + if len(prefix) == 3: + suffix = result[m.end():] + else: + suffix = '.'.join([str(i) for i in prefix[3:]]) + result[m.end():] + prefix = prefix[:3] + prefix = '.'.join([str(i) for i in prefix]) + suffix = suffix.strip() + if suffix: + #import pdb; pdb.set_trace() + # massage the suffix. + for pat, repl in _SUFFIX_REPLACEMENTS: + suffix = pat.sub(repl, suffix) + + if not suffix: + result = prefix + else: + sep = '-' if 'dev' in suffix else '+' + result = prefix + sep + suffix + if not is_semver(result): + result = None + return result + + +def _suggest_normalized_version(s): + """Suggest a normalized version close to the given version string. + + If you have a version string that isn't rational (i.e. NormalizedVersion + doesn't like it) then you might be able to get an equivalent (or close) + rational version from this function. + + This does a number of simple normalizations to the given string, based + on observation of versions currently in use on PyPI. Given a dump of + those version during PyCon 2009, 4287 of them: + - 2312 (53.93%) match NormalizedVersion without change + with the automatic suggestion + - 3474 (81.04%) match when using this suggestion method + + @param s {str} An irrational version string. + @returns A rational version string, or None, if couldn't determine one. + """ + try: + _normalized_key(s) + return s # already rational + except UnsupportedVersionError: + pass + + rs = s.lower() + + # part of this could use maketrans + for orig, repl in (('-alpha', 'a'), ('-beta', 'b'), ('alpha', 'a'), + ('beta', 'b'), ('rc', 'c'), ('-final', ''), + ('-pre', 'c'), + ('-release', ''), ('.release', ''), ('-stable', ''), + ('+', '.'), ('_', '.'), (' ', ''), ('.final', ''), + ('final', '')): + rs = rs.replace(orig, repl) + + # if something ends with dev or pre, we add a 0 + rs = re.sub(r"pre$", r"pre0", rs) + rs = re.sub(r"dev$", r"dev0", rs) + + # if we have something like "b-2" or "a.2" at the end of the + # version, that is probably beta, alpha, etc + # let's remove the dash or dot + rs = re.sub(r"([abc]|rc)[\-\.](\d+)$", r"\1\2", rs) + + # 1.0-dev-r371 -> 1.0.dev371 + # 0.1-dev-r79 -> 0.1.dev79 + rs = re.sub(r"[\-\.](dev)[\-\.]?r?(\d+)$", r".\1\2", rs) + + # Clean: 2.0.a.3, 2.0.b1, 0.9.0~c1 + rs = re.sub(r"[.~]?([abc])\.?", r"\1", rs) + + # Clean: v0.3, v1.0 + if rs.startswith('v'): + rs = rs[1:] + + # Clean leading '0's on numbers. + #TODO: unintended side-effect on, e.g., "2003.05.09" + # PyPI stats: 77 (~2%) better + rs = re.sub(r"\b0+(\d+)(?!\d)", r"\1", rs) + + # Clean a/b/c with no version. E.g. "1.0a" -> "1.0a0". Setuptools infers + # zero. + # PyPI stats: 245 (7.56%) better + rs = re.sub(r"(\d+[abc])$", r"\g<1>0", rs) + + # the 'dev-rNNN' tag is a dev tag + rs = re.sub(r"\.?(dev-r|dev\.r)\.?(\d+)$", r".dev\2", rs) + + # clean the - when used as a pre delimiter + rs = re.sub(r"-(a|b|c)(\d+)$", r"\1\2", rs) + + # a terminal "dev" or "devel" can be changed into ".dev0" + rs = re.sub(r"[\.\-](dev|devel)$", r".dev0", rs) + + # a terminal "dev" can be changed into ".dev0" + rs = re.sub(r"(?![\.\-])dev$", r".dev0", rs) + + # a terminal "final" or "stable" can be removed + rs = re.sub(r"(final|stable)$", "", rs) + + # The 'r' and the '-' tags are post release tags + # 0.4a1.r10 -> 0.4a1.post10 + # 0.9.33-17222 -> 0.9.33.post17222 + # 0.9.33-r17222 -> 0.9.33.post17222 + rs = re.sub(r"\.?(r|-|-r)\.?(\d+)$", r".post\2", rs) + + # Clean 'r' instead of 'dev' usage: + # 0.9.33+r17222 -> 0.9.33.dev17222 + # 1.0dev123 -> 1.0.dev123 + # 1.0.git123 -> 1.0.dev123 + # 1.0.bzr123 -> 1.0.dev123 + # 0.1a0dev.123 -> 0.1a0.dev123 + # PyPI stats: ~150 (~4%) better + rs = re.sub(r"\.?(dev|git|bzr)\.?(\d+)$", r".dev\2", rs) + + # Clean '.pre' (normalized from '-pre' above) instead of 'c' usage: + # 0.2.pre1 -> 0.2c1 + # 0.2-c1 -> 0.2c1 + # 1.0preview123 -> 1.0c123 + # PyPI stats: ~21 (0.62%) better + rs = re.sub(r"\.?(pre|preview|-c)(\d+)$", r"c\g<2>", rs) + + # Tcl/Tk uses "px" for their post release markers + rs = re.sub(r"p(\d+)$", r".post\1", rs) + + try: + _normalized_key(rs) + except UnsupportedVersionError: + rs = None + return rs + +# +# Legacy version processing (distribute-compatible) +# + +_VERSION_PART = re.compile(r'([a-z]+|\d+|[\.-])', re.I) +_VERSION_REPLACE = { + 'pre': 'c', + 'preview': 'c', + '-': 'final-', + 'rc': 'c', + 'dev': '@', + '': None, + '.': None, +} + + +def _legacy_key(s): + def get_parts(s): + result = [] + for p in _VERSION_PART.split(s.lower()): + p = _VERSION_REPLACE.get(p, p) + if p: + if '0' <= p[:1] <= '9': + p = p.zfill(8) + else: + p = '*' + p + result.append(p) + result.append('*final') + return result + + result = [] + for p in get_parts(s): + if p.startswith('*'): + if p < '*final': + while result and result[-1] == '*final-': + result.pop() + while result and result[-1] == '00000000': + result.pop() + result.append(p) + return tuple(result) + + +class LegacyVersion(Version): + def parse(self, s): + return _legacy_key(s) + + @property + def is_prerelease(self): + result = False + for x in self._parts: + if (isinstance(x, string_types) and x.startswith('*') and + x < '*final'): + result = True + break + return result + + +class LegacyMatcher(Matcher): + version_class = LegacyVersion + + _operators = dict(Matcher._operators) + _operators['~='] = '_match_compatible' + + numeric_re = re.compile(r'^(\d+(\.\d+)*)') + + def _match_compatible(self, version, constraint, prefix): + if version < constraint: + return False + m = self.numeric_re.match(str(constraint)) + if not m: + logger.warning('Cannot compute compatible match for version %s ' + ' and constraint %s', version, constraint) + return True + s = m.groups()[0] + if '.' in s: + s = s.rsplit('.', 1)[0] + return _match_prefix(version, s) + +# +# Semantic versioning +# + +_SEMVER_RE = re.compile(r'^(\d+)\.(\d+)\.(\d+)' + r'(-[a-z0-9]+(\.[a-z0-9-]+)*)?' + r'(\+[a-z0-9]+(\.[a-z0-9-]+)*)?$', re.I) + + +def is_semver(s): + return _SEMVER_RE.match(s) + + +def _semantic_key(s): + def make_tuple(s, absent): + if s is None: + result = (absent,) + else: + parts = s[1:].split('.') + # We can't compare ints and strings on Python 3, so fudge it + # by zero-filling numeric values so simulate a numeric comparison + result = tuple([p.zfill(8) if p.isdigit() else p for p in parts]) + return result + + m = is_semver(s) + if not m: + raise UnsupportedVersionError(s) + groups = m.groups() + major, minor, patch = [int(i) for i in groups[:3]] + # choose the '|' and '*' so that versions sort correctly + pre, build = make_tuple(groups[3], '|'), make_tuple(groups[5], '*') + return (major, minor, patch), pre, build + + +class SemanticVersion(Version): + def parse(self, s): + return _semantic_key(s) + + @property + def is_prerelease(self): + return self._parts[1][0] != '|' + + +class SemanticMatcher(Matcher): + version_class = SemanticVersion + + +class VersionScheme(object): + def __init__(self, key, matcher, suggester=None): + self.key = key + self.matcher = matcher + self.suggester = suggester + + def is_valid_version(self, s): + try: + self.matcher.version_class(s) + result = True + except UnsupportedVersionError: + result = False + return result + + def is_valid_matcher(self, s): + try: + self.matcher(s) + result = True + except UnsupportedVersionError: + result = False + return result + + def is_valid_constraint_list(self, s): + """ + Used for processing some metadata fields + """ + return self.is_valid_matcher('dummy_name (%s)' % s) + + def suggest(self, s): + if self.suggester is None: + result = None + else: + result = self.suggester(s) + return result + +_SCHEMES = { + 'normalized': VersionScheme(_normalized_key, NormalizedMatcher, + _suggest_normalized_version), + 'legacy': VersionScheme(_legacy_key, LegacyMatcher, lambda self, s: s), + 'semantic': VersionScheme(_semantic_key, SemanticMatcher, + _suggest_semantic_version), +} + +_SCHEMES['default'] = _SCHEMES['normalized'] + + +def get_scheme(name): + if name not in _SCHEMES: + raise ValueError('unknown scheme name: %r' % name) + return _SCHEMES[name] diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/wheel.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/wheel.py new file mode 100644 index 0000000000..b04bfaefe9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distlib/wheel.py @@ -0,0 +1,988 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013-2017 Vinay Sajip. +# Licensed to the Python Software Foundation under a contributor agreement. +# See LICENSE.txt and CONTRIBUTORS.txt. +# +from __future__ import unicode_literals + +import base64 +import codecs +import datetime +import distutils.util +from email import message_from_file +import hashlib +import imp +import json +import logging +import os +import posixpath +import re +import shutil +import sys +import tempfile +import zipfile + +from . import __version__, DistlibException +from .compat import sysconfig, ZipFile, fsdecode, text_type, filter +from .database import InstalledDistribution +from .metadata import Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME +from .util import (FileOperator, convert_path, CSVReader, CSVWriter, Cache, + cached_property, get_cache_base, read_exports, tempdir) +from .version import NormalizedVersion, UnsupportedVersionError + +logger = logging.getLogger(__name__) + +cache = None # created when needed + +if hasattr(sys, 'pypy_version_info'): # pragma: no cover + IMP_PREFIX = 'pp' +elif sys.platform.startswith('java'): # pragma: no cover + IMP_PREFIX = 'jy' +elif sys.platform == 'cli': # pragma: no cover + IMP_PREFIX = 'ip' +else: + IMP_PREFIX = 'cp' + +VER_SUFFIX = sysconfig.get_config_var('py_version_nodot') +if not VER_SUFFIX: # pragma: no cover + VER_SUFFIX = '%s%s' % sys.version_info[:2] +PYVER = 'py' + VER_SUFFIX +IMPVER = IMP_PREFIX + VER_SUFFIX + +ARCH = distutils.util.get_platform().replace('-', '_').replace('.', '_') + +ABI = sysconfig.get_config_var('SOABI') +if ABI and ABI.startswith('cpython-'): + ABI = ABI.replace('cpython-', 'cp') +else: + def _derive_abi(): + parts = ['cp', VER_SUFFIX] + if sysconfig.get_config_var('Py_DEBUG'): + parts.append('d') + if sysconfig.get_config_var('WITH_PYMALLOC'): + parts.append('m') + if sysconfig.get_config_var('Py_UNICODE_SIZE') == 4: + parts.append('u') + return ''.join(parts) + ABI = _derive_abi() + del _derive_abi + +FILENAME_RE = re.compile(r''' +(?P<nm>[^-]+) +-(?P<vn>\d+[^-]*) +(-(?P<bn>\d+[^-]*))? +-(?P<py>\w+\d+(\.\w+\d+)*) +-(?P<bi>\w+) +-(?P<ar>\w+(\.\w+)*) +\.whl$ +''', re.IGNORECASE | re.VERBOSE) + +NAME_VERSION_RE = re.compile(r''' +(?P<nm>[^-]+) +-(?P<vn>\d+[^-]*) +(-(?P<bn>\d+[^-]*))?$ +''', re.IGNORECASE | re.VERBOSE) + +SHEBANG_RE = re.compile(br'\s*#![^\r\n]*') +SHEBANG_DETAIL_RE = re.compile(br'^(\s*#!("[^"]+"|\S+))\s+(.*)$') +SHEBANG_PYTHON = b'#!python' +SHEBANG_PYTHONW = b'#!pythonw' + +if os.sep == '/': + to_posix = lambda o: o +else: + to_posix = lambda o: o.replace(os.sep, '/') + + +class Mounter(object): + def __init__(self): + self.impure_wheels = {} + self.libs = {} + + def add(self, pathname, extensions): + self.impure_wheels[pathname] = extensions + self.libs.update(extensions) + + def remove(self, pathname): + extensions = self.impure_wheels.pop(pathname) + for k, v in extensions: + if k in self.libs: + del self.libs[k] + + def find_module(self, fullname, path=None): + if fullname in self.libs: + result = self + else: + result = None + return result + + def load_module(self, fullname): + if fullname in sys.modules: + result = sys.modules[fullname] + else: + if fullname not in self.libs: + raise ImportError('unable to find extension for %s' % fullname) + result = imp.load_dynamic(fullname, self.libs[fullname]) + result.__loader__ = self + parts = fullname.rsplit('.', 1) + if len(parts) > 1: + result.__package__ = parts[0] + return result + +_hook = Mounter() + + +class Wheel(object): + """ + Class to build and install from Wheel files (PEP 427). + """ + + wheel_version = (1, 1) + hash_kind = 'sha256' + + def __init__(self, filename=None, sign=False, verify=False): + """ + Initialise an instance using a (valid) filename. + """ + self.sign = sign + self.should_verify = verify + self.buildver = '' + self.pyver = [PYVER] + self.abi = ['none'] + self.arch = ['any'] + self.dirname = os.getcwd() + if filename is None: + self.name = 'dummy' + self.version = '0.1' + self._filename = self.filename + else: + m = NAME_VERSION_RE.match(filename) + if m: + info = m.groupdict('') + self.name = info['nm'] + # Reinstate the local version separator + self.version = info['vn'].replace('_', '-') + self.buildver = info['bn'] + self._filename = self.filename + else: + dirname, filename = os.path.split(filename) + m = FILENAME_RE.match(filename) + if not m: + raise DistlibException('Invalid name or ' + 'filename: %r' % filename) + if dirname: + self.dirname = os.path.abspath(dirname) + self._filename = filename + info = m.groupdict('') + self.name = info['nm'] + self.version = info['vn'] + self.buildver = info['bn'] + self.pyver = info['py'].split('.') + self.abi = info['bi'].split('.') + self.arch = info['ar'].split('.') + + @property + def filename(self): + """ + Build and return a filename from the various components. + """ + if self.buildver: + buildver = '-' + self.buildver + else: + buildver = '' + pyver = '.'.join(self.pyver) + abi = '.'.join(self.abi) + arch = '.'.join(self.arch) + # replace - with _ as a local version separator + version = self.version.replace('-', '_') + return '%s-%s%s-%s-%s-%s.whl' % (self.name, version, buildver, + pyver, abi, arch) + + @property + def exists(self): + path = os.path.join(self.dirname, self.filename) + return os.path.isfile(path) + + @property + def tags(self): + for pyver in self.pyver: + for abi in self.abi: + for arch in self.arch: + yield pyver, abi, arch + + @cached_property + def metadata(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + wrapper = codecs.getreader('utf-8') + with ZipFile(pathname, 'r') as zf: + wheel_metadata = self.get_wheel_metadata(zf) + wv = wheel_metadata['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + if file_version < (1, 1): + fns = [WHEEL_METADATA_FILENAME, METADATA_FILENAME, 'METADATA'] + else: + fns = [WHEEL_METADATA_FILENAME, METADATA_FILENAME] + result = None + for fn in fns: + try: + metadata_filename = posixpath.join(info_dir, fn) + with zf.open(metadata_filename) as bf: + wf = wrapper(bf) + result = Metadata(fileobj=wf) + if result: + break + except KeyError: + pass + if not result: + raise ValueError('Invalid wheel, because metadata is ' + 'missing: looked in %s' % ', '.join(fns)) + return result + + def get_wheel_metadata(self, zf): + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + metadata_filename = posixpath.join(info_dir, 'WHEEL') + with zf.open(metadata_filename) as bf: + wf = codecs.getreader('utf-8')(bf) + message = message_from_file(wf) + return dict(message) + + @cached_property + def info(self): + pathname = os.path.join(self.dirname, self.filename) + with ZipFile(pathname, 'r') as zf: + result = self.get_wheel_metadata(zf) + return result + + def process_shebang(self, data): + m = SHEBANG_RE.match(data) + if m: + end = m.end() + shebang, data_after_shebang = data[:end], data[end:] + # Preserve any arguments after the interpreter + if b'pythonw' in shebang.lower(): + shebang_python = SHEBANG_PYTHONW + else: + shebang_python = SHEBANG_PYTHON + m = SHEBANG_DETAIL_RE.match(shebang) + if m: + args = b' ' + m.groups()[-1] + else: + args = b'' + shebang = shebang_python + args + data = shebang + data_after_shebang + else: + cr = data.find(b'\r') + lf = data.find(b'\n') + if cr < 0 or cr > lf: + term = b'\n' + else: + if data[cr:cr + 2] == b'\r\n': + term = b'\r\n' + else: + term = b'\r' + data = SHEBANG_PYTHON + term + data + return data + + def get_hash(self, data, hash_kind=None): + if hash_kind is None: + hash_kind = self.hash_kind + try: + hasher = getattr(hashlib, hash_kind) + except AttributeError: + raise DistlibException('Unsupported hash algorithm: %r' % hash_kind) + result = hasher(data).digest() + result = base64.urlsafe_b64encode(result).rstrip(b'=').decode('ascii') + return hash_kind, result + + def write_record(self, records, record_path, base): + records = list(records) # make a copy for sorting + p = to_posix(os.path.relpath(record_path, base)) + records.append((p, '', '')) + records.sort() + with CSVWriter(record_path) as writer: + for row in records: + writer.writerow(row) + + def write_records(self, info, libdir, archive_paths): + records = [] + distinfo, info_dir = info + hasher = getattr(hashlib, self.hash_kind) + for ap, p in archive_paths: + with open(p, 'rb') as f: + data = f.read() + digest = '%s=%s' % self.get_hash(data) + size = os.path.getsize(p) + records.append((ap, digest, size)) + + p = os.path.join(distinfo, 'RECORD') + self.write_record(records, p, libdir) + ap = to_posix(os.path.join(info_dir, 'RECORD')) + archive_paths.append((ap, p)) + + def build_zip(self, pathname, archive_paths): + with ZipFile(pathname, 'w', zipfile.ZIP_DEFLATED) as zf: + for ap, p in archive_paths: + logger.debug('Wrote %s to %s in wheel', p, ap) + zf.write(p, ap) + + def build(self, paths, tags=None, wheel_version=None): + """ + Build a wheel from files in specified paths, and use any specified tags + when determining the name of the wheel. + """ + if tags is None: + tags = {} + + libkey = list(filter(lambda o: o in paths, ('purelib', 'platlib')))[0] + if libkey == 'platlib': + is_pure = 'false' + default_pyver = [IMPVER] + default_abi = [ABI] + default_arch = [ARCH] + else: + is_pure = 'true' + default_pyver = [PYVER] + default_abi = ['none'] + default_arch = ['any'] + + self.pyver = tags.get('pyver', default_pyver) + self.abi = tags.get('abi', default_abi) + self.arch = tags.get('arch', default_arch) + + libdir = paths[libkey] + + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + archive_paths = [] + + # First, stuff which is not in site-packages + for key in ('data', 'headers', 'scripts'): + if key not in paths: + continue + path = paths[key] + if os.path.isdir(path): + for root, dirs, files in os.walk(path): + for fn in files: + p = fsdecode(os.path.join(root, fn)) + rp = os.path.relpath(p, path) + ap = to_posix(os.path.join(data_dir, key, rp)) + archive_paths.append((ap, p)) + if key == 'scripts' and not p.endswith('.exe'): + with open(p, 'rb') as f: + data = f.read() + data = self.process_shebang(data) + with open(p, 'wb') as f: + f.write(data) + + # Now, stuff which is in site-packages, other than the + # distinfo stuff. + path = libdir + distinfo = None + for root, dirs, files in os.walk(path): + if root == path: + # At the top level only, save distinfo for later + # and skip it for now + for i, dn in enumerate(dirs): + dn = fsdecode(dn) + if dn.endswith('.dist-info'): + distinfo = os.path.join(root, dn) + del dirs[i] + break + assert distinfo, '.dist-info directory expected, not found' + + for fn in files: + # comment out next suite to leave .pyc files in + if fsdecode(fn).endswith(('.pyc', '.pyo')): + continue + p = os.path.join(root, fn) + rp = to_posix(os.path.relpath(p, path)) + archive_paths.append((rp, p)) + + # Now distinfo. Assumed to be flat, i.e. os.listdir is enough. + files = os.listdir(distinfo) + for fn in files: + if fn not in ('RECORD', 'INSTALLER', 'SHARED', 'WHEEL'): + p = fsdecode(os.path.join(distinfo, fn)) + ap = to_posix(os.path.join(info_dir, fn)) + archive_paths.append((ap, p)) + + wheel_metadata = [ + 'Wheel-Version: %d.%d' % (wheel_version or self.wheel_version), + 'Generator: distlib %s' % __version__, + 'Root-Is-Purelib: %s' % is_pure, + ] + for pyver, abi, arch in self.tags: + wheel_metadata.append('Tag: %s-%s-%s' % (pyver, abi, arch)) + p = os.path.join(distinfo, 'WHEEL') + with open(p, 'w') as f: + f.write('\n'.join(wheel_metadata)) + ap = to_posix(os.path.join(info_dir, 'WHEEL')) + archive_paths.append((ap, p)) + + # Now, at last, RECORD. + # Paths in here are archive paths - nothing else makes sense. + self.write_records((distinfo, info_dir), libdir, archive_paths) + # Now, ready to build the zip file + pathname = os.path.join(self.dirname, self.filename) + self.build_zip(pathname, archive_paths) + return pathname + + def install(self, paths, maker, **kwargs): + """ + Install a wheel to the specified paths. If kwarg ``warner`` is + specified, it should be a callable, which will be called with two + tuples indicating the wheel version of this software and the wheel + version in the file, if there is a discrepancy in the versions. + This can be used to issue any warnings to raise any exceptions. + If kwarg ``lib_only`` is True, only the purelib/platlib files are + installed, and the headers, scripts, data and dist-info metadata are + not written. If kwarg ``bytecode_hashed_invalidation`` is True, written + bytecode will try to use file-hash based invalidation (PEP-552) on + supported interpreter versions (CPython 2.7+). + + The return value is a :class:`InstalledDistribution` instance unless + ``options.lib_only`` is True, in which case the return value is ``None``. + """ + + dry_run = maker.dry_run + warner = kwargs.get('warner') + lib_only = kwargs.get('lib_only', False) + bc_hashed_invalidation = kwargs.get('bytecode_hashed_invalidation', False) + + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + metadata_name = posixpath.join(info_dir, METADATA_FILENAME) + wheel_metadata_name = posixpath.join(info_dir, 'WHEEL') + record_name = posixpath.join(info_dir, 'RECORD') + + wrapper = codecs.getreader('utf-8') + + with ZipFile(pathname, 'r') as zf: + with zf.open(wheel_metadata_name) as bwf: + wf = wrapper(bwf) + message = message_from_file(wf) + wv = message['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + if (file_version != self.wheel_version) and warner: + warner(self.wheel_version, file_version) + + if message['Root-Is-Purelib'] == 'true': + libdir = paths['purelib'] + else: + libdir = paths['platlib'] + + records = {} + with zf.open(record_name) as bf: + with CSVReader(stream=bf) as reader: + for row in reader: + p = row[0] + records[p] = row + + data_pfx = posixpath.join(data_dir, '') + info_pfx = posixpath.join(info_dir, '') + script_pfx = posixpath.join(data_dir, 'scripts', '') + + # make a new instance rather than a copy of maker's, + # as we mutate it + fileop = FileOperator(dry_run=dry_run) + fileop.record = True # so we can rollback if needed + + bc = not sys.dont_write_bytecode # Double negatives. Lovely! + + outfiles = [] # for RECORD writing + + # for script copying/shebang processing + workdir = tempfile.mkdtemp() + # set target dir later + # we default add_launchers to False, as the + # Python Launcher should be used instead + maker.source_dir = workdir + maker.target_dir = None + try: + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + # The signature file won't be in RECORD, + # and we don't currently don't do anything with it + if u_arcname.endswith('/RECORD.jws'): + continue + row = records[u_arcname] + if row[2] and str(zinfo.file_size) != row[2]: + raise DistlibException('size mismatch for ' + '%s' % u_arcname) + if row[1]: + kind, value = row[1].split('=', 1) + with zf.open(arcname) as bf: + data = bf.read() + _, digest = self.get_hash(data, kind) + if digest != value: + raise DistlibException('digest mismatch for ' + '%s' % arcname) + + if lib_only and u_arcname.startswith((info_pfx, data_pfx)): + logger.debug('lib_only: skipping %s', u_arcname) + continue + is_script = (u_arcname.startswith(script_pfx) + and not u_arcname.endswith('.exe')) + + if u_arcname.startswith(data_pfx): + _, where, rp = u_arcname.split('/', 2) + outfile = os.path.join(paths[where], convert_path(rp)) + else: + # meant for site-packages. + if u_arcname in (wheel_metadata_name, record_name): + continue + outfile = os.path.join(libdir, convert_path(u_arcname)) + if not is_script: + with zf.open(arcname) as bf: + fileop.copy_stream(bf, outfile) + outfiles.append(outfile) + # Double check the digest of the written file + if not dry_run and row[1]: + with open(outfile, 'rb') as bf: + data = bf.read() + _, newdigest = self.get_hash(data, kind) + if newdigest != digest: + raise DistlibException('digest mismatch ' + 'on write for ' + '%s' % outfile) + if bc and outfile.endswith('.py'): + try: + pyc = fileop.byte_compile(outfile, + hashed_invalidation=bc_hashed_invalidation) + outfiles.append(pyc) + except Exception: + # Don't give up if byte-compilation fails, + # but log it and perhaps warn the user + logger.warning('Byte-compilation failed', + exc_info=True) + else: + fn = os.path.basename(convert_path(arcname)) + workname = os.path.join(workdir, fn) + with zf.open(arcname) as bf: + fileop.copy_stream(bf, workname) + + dn, fn = os.path.split(outfile) + maker.target_dir = dn + filenames = maker.make(fn) + fileop.set_executable_mode(filenames) + outfiles.extend(filenames) + + if lib_only: + logger.debug('lib_only: returning None') + dist = None + else: + # Generate scripts + + # Try to get pydist.json so we can see if there are + # any commands to generate. If this fails (e.g. because + # of a legacy wheel), log a warning but don't give up. + commands = None + file_version = self.info['Wheel-Version'] + if file_version == '1.0': + # Use legacy info + ep = posixpath.join(info_dir, 'entry_points.txt') + try: + with zf.open(ep) as bwf: + epdata = read_exports(bwf) + commands = {} + for key in ('console', 'gui'): + k = '%s_scripts' % key + if k in epdata: + commands['wrap_%s' % key] = d = {} + for v in epdata[k].values(): + s = '%s:%s' % (v.prefix, v.suffix) + if v.flags: + s += ' %s' % v.flags + d[v.name] = s + except Exception: + logger.warning('Unable to read legacy script ' + 'metadata, so cannot generate ' + 'scripts') + else: + try: + with zf.open(metadata_name) as bwf: + wf = wrapper(bwf) + commands = json.load(wf).get('extensions') + if commands: + commands = commands.get('python.commands') + except Exception: + logger.warning('Unable to read JSON metadata, so ' + 'cannot generate scripts') + if commands: + console_scripts = commands.get('wrap_console', {}) + gui_scripts = commands.get('wrap_gui', {}) + if console_scripts or gui_scripts: + script_dir = paths.get('scripts', '') + if not os.path.isdir(script_dir): + raise ValueError('Valid script path not ' + 'specified') + maker.target_dir = script_dir + for k, v in console_scripts.items(): + script = '%s = %s' % (k, v) + filenames = maker.make(script) + fileop.set_executable_mode(filenames) + + if gui_scripts: + options = {'gui': True } + for k, v in gui_scripts.items(): + script = '%s = %s' % (k, v) + filenames = maker.make(script, options) + fileop.set_executable_mode(filenames) + + p = os.path.join(libdir, info_dir) + dist = InstalledDistribution(p) + + # Write SHARED + paths = dict(paths) # don't change passed in dict + del paths['purelib'] + del paths['platlib'] + paths['lib'] = libdir + p = dist.write_shared_locations(paths, dry_run) + if p: + outfiles.append(p) + + # Write RECORD + dist.write_installed_files(outfiles, paths['prefix'], + dry_run) + return dist + except Exception: # pragma: no cover + logger.exception('installation failed.') + fileop.rollback() + raise + finally: + shutil.rmtree(workdir) + + def _get_dylib_cache(self): + global cache + if cache is None: + # Use native string to avoid issues on 2.x: see Python #20140. + base = os.path.join(get_cache_base(), str('dylib-cache'), + sys.version[:3]) + cache = Cache(base) + return cache + + def _get_extensions(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + arcname = posixpath.join(info_dir, 'EXTENSIONS') + wrapper = codecs.getreader('utf-8') + result = [] + with ZipFile(pathname, 'r') as zf: + try: + with zf.open(arcname) as bf: + wf = wrapper(bf) + extensions = json.load(wf) + cache = self._get_dylib_cache() + prefix = cache.prefix_to_dir(pathname) + cache_base = os.path.join(cache.base, prefix) + if not os.path.isdir(cache_base): + os.makedirs(cache_base) + for name, relpath in extensions.items(): + dest = os.path.join(cache_base, convert_path(relpath)) + if not os.path.exists(dest): + extract = True + else: + file_time = os.stat(dest).st_mtime + file_time = datetime.datetime.fromtimestamp(file_time) + info = zf.getinfo(relpath) + wheel_time = datetime.datetime(*info.date_time) + extract = wheel_time > file_time + if extract: + zf.extract(relpath, cache_base) + result.append((name, dest)) + except KeyError: + pass + return result + + def is_compatible(self): + """ + Determine if a wheel is compatible with the running system. + """ + return is_compatible(self) + + def is_mountable(self): + """ + Determine if a wheel is asserted as mountable by its metadata. + """ + return True # for now - metadata details TBD + + def mount(self, append=False): + pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) + if not self.is_compatible(): + msg = 'Wheel %s not compatible with this Python.' % pathname + raise DistlibException(msg) + if not self.is_mountable(): + msg = 'Wheel %s is marked as not mountable.' % pathname + raise DistlibException(msg) + if pathname in sys.path: + logger.debug('%s already in path', pathname) + else: + if append: + sys.path.append(pathname) + else: + sys.path.insert(0, pathname) + extensions = self._get_extensions() + if extensions: + if _hook not in sys.meta_path: + sys.meta_path.append(_hook) + _hook.add(pathname, extensions) + + def unmount(self): + pathname = os.path.abspath(os.path.join(self.dirname, self.filename)) + if pathname not in sys.path: + logger.debug('%s not in path', pathname) + else: + sys.path.remove(pathname) + if pathname in _hook.impure_wheels: + _hook.remove(pathname) + if not _hook.impure_wheels: + if _hook in sys.meta_path: + sys.meta_path.remove(_hook) + + def verify(self): + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + data_dir = '%s.data' % name_ver + info_dir = '%s.dist-info' % name_ver + + metadata_name = posixpath.join(info_dir, METADATA_FILENAME) + wheel_metadata_name = posixpath.join(info_dir, 'WHEEL') + record_name = posixpath.join(info_dir, 'RECORD') + + wrapper = codecs.getreader('utf-8') + + with ZipFile(pathname, 'r') as zf: + with zf.open(wheel_metadata_name) as bwf: + wf = wrapper(bwf) + message = message_from_file(wf) + wv = message['Wheel-Version'].split('.', 1) + file_version = tuple([int(i) for i in wv]) + # TODO version verification + + records = {} + with zf.open(record_name) as bf: + with CSVReader(stream=bf) as reader: + for row in reader: + p = row[0] + records[p] = row + + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + if '..' in u_arcname: + raise DistlibException('invalid entry in ' + 'wheel: %r' % u_arcname) + + # The signature file won't be in RECORD, + # and we don't currently don't do anything with it + if u_arcname.endswith('/RECORD.jws'): + continue + row = records[u_arcname] + if row[2] and str(zinfo.file_size) != row[2]: + raise DistlibException('size mismatch for ' + '%s' % u_arcname) + if row[1]: + kind, value = row[1].split('=', 1) + with zf.open(arcname) as bf: + data = bf.read() + _, digest = self.get_hash(data, kind) + if digest != value: + raise DistlibException('digest mismatch for ' + '%s' % arcname) + + def update(self, modifier, dest_dir=None, **kwargs): + """ + Update the contents of a wheel in a generic way. The modifier should + be a callable which expects a dictionary argument: its keys are + archive-entry paths, and its values are absolute filesystem paths + where the contents the corresponding archive entries can be found. The + modifier is free to change the contents of the files pointed to, add + new entries and remove entries, before returning. This method will + extract the entire contents of the wheel to a temporary location, call + the modifier, and then use the passed (and possibly updated) + dictionary to write a new wheel. If ``dest_dir`` is specified, the new + wheel is written there -- otherwise, the original wheel is overwritten. + + The modifier should return True if it updated the wheel, else False. + This method returns the same value the modifier returns. + """ + + def get_version(path_map, info_dir): + version = path = None + key = '%s/%s' % (info_dir, METADATA_FILENAME) + if key not in path_map: + key = '%s/PKG-INFO' % info_dir + if key in path_map: + path = path_map[key] + version = Metadata(path=path).version + return version, path + + def update_version(version, path): + updated = None + try: + v = NormalizedVersion(version) + i = version.find('-') + if i < 0: + updated = '%s+1' % version + else: + parts = [int(s) for s in version[i + 1:].split('.')] + parts[-1] += 1 + updated = '%s+%s' % (version[:i], + '.'.join(str(i) for i in parts)) + except UnsupportedVersionError: + logger.debug('Cannot update non-compliant (PEP-440) ' + 'version %r', version) + if updated: + md = Metadata(path=path) + md.version = updated + legacy = not path.endswith(METADATA_FILENAME) + md.write(path=path, legacy=legacy) + logger.debug('Version updated from %r to %r', version, + updated) + + pathname = os.path.join(self.dirname, self.filename) + name_ver = '%s-%s' % (self.name, self.version) + info_dir = '%s.dist-info' % name_ver + record_name = posixpath.join(info_dir, 'RECORD') + with tempdir() as workdir: + with ZipFile(pathname, 'r') as zf: + path_map = {} + for zinfo in zf.infolist(): + arcname = zinfo.filename + if isinstance(arcname, text_type): + u_arcname = arcname + else: + u_arcname = arcname.decode('utf-8') + if u_arcname == record_name: + continue + if '..' in u_arcname: + raise DistlibException('invalid entry in ' + 'wheel: %r' % u_arcname) + zf.extract(zinfo, workdir) + path = os.path.join(workdir, convert_path(u_arcname)) + path_map[u_arcname] = path + + # Remember the version. + original_version, _ = get_version(path_map, info_dir) + # Files extracted. Call the modifier. + modified = modifier(path_map, **kwargs) + if modified: + # Something changed - need to build a new wheel. + current_version, path = get_version(path_map, info_dir) + if current_version and (current_version == original_version): + # Add or update local version to signify changes. + update_version(current_version, path) + # Decide where the new wheel goes. + if dest_dir is None: + fd, newpath = tempfile.mkstemp(suffix='.whl', + prefix='wheel-update-', + dir=workdir) + os.close(fd) + else: + if not os.path.isdir(dest_dir): + raise DistlibException('Not a directory: %r' % dest_dir) + newpath = os.path.join(dest_dir, self.filename) + archive_paths = list(path_map.items()) + distinfo = os.path.join(workdir, info_dir) + info = distinfo, info_dir + self.write_records(info, workdir, archive_paths) + self.build_zip(newpath, archive_paths) + if dest_dir is None: + shutil.copyfile(newpath, pathname) + return modified + +def compatible_tags(): + """ + Return (pyver, abi, arch) tuples compatible with this Python. + """ + versions = [VER_SUFFIX] + major = VER_SUFFIX[0] + for minor in range(sys.version_info[1] - 1, - 1, -1): + versions.append(''.join([major, str(minor)])) + + abis = [] + for suffix, _, _ in imp.get_suffixes(): + if suffix.startswith('.abi'): + abis.append(suffix.split('.', 2)[1]) + abis.sort() + if ABI != 'none': + abis.insert(0, ABI) + abis.append('none') + result = [] + + arches = [ARCH] + if sys.platform == 'darwin': + m = re.match(r'(\w+)_(\d+)_(\d+)_(\w+)$', ARCH) + if m: + name, major, minor, arch = m.groups() + minor = int(minor) + matches = [arch] + if arch in ('i386', 'ppc'): + matches.append('fat') + if arch in ('i386', 'ppc', 'x86_64'): + matches.append('fat3') + if arch in ('ppc64', 'x86_64'): + matches.append('fat64') + if arch in ('i386', 'x86_64'): + matches.append('intel') + if arch in ('i386', 'x86_64', 'intel', 'ppc', 'ppc64'): + matches.append('universal') + while minor >= 0: + for match in matches: + s = '%s_%s_%s_%s' % (name, major, minor, match) + if s != ARCH: # already there + arches.append(s) + minor -= 1 + + # Most specific - our Python version, ABI and arch + for abi in abis: + for arch in arches: + result.append((''.join((IMP_PREFIX, versions[0])), abi, arch)) + + # where no ABI / arch dependency, but IMP_PREFIX dependency + for i, version in enumerate(versions): + result.append((''.join((IMP_PREFIX, version)), 'none', 'any')) + if i == 0: + result.append((''.join((IMP_PREFIX, version[0])), 'none', 'any')) + + # no IMP_PREFIX, ABI or arch dependency + for i, version in enumerate(versions): + result.append((''.join(('py', version)), 'none', 'any')) + if i == 0: + result.append((''.join(('py', version[0])), 'none', 'any')) + return set(result) + + +COMPATIBLE_TAGS = compatible_tags() + +del compatible_tags + + +def is_compatible(wheel, tags=None): + if not isinstance(wheel, Wheel): + wheel = Wheel(wheel) # assume it's a filename + result = False + if tags is None: + tags = COMPATIBLE_TAGS + for ver, abi, arch in tags: + if ver in wheel.pyver and abi in wheel.abi and arch in wheel.arch: + result = True + break + return result diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distro.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distro.py new file mode 100644 index 0000000000..aa4defc3bd --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/distro.py @@ -0,0 +1,1197 @@ +# Copyright 2015,2016,2017 Nir Cohen +# +# 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. + +""" +The ``distro`` package (``distro`` stands for Linux Distribution) provides +information about the Linux distribution it runs on, such as a reliable +machine-readable distro ID, or version information. + +It is a renewed alternative implementation for Python's original +:py:func:`platform.linux_distribution` function, but it provides much more +functionality. An alternative implementation became necessary because Python +3.5 deprecated this function, and Python 3.7 is expected to remove it +altogether. Its predecessor function :py:func:`platform.dist` was already +deprecated since Python 2.6 and is also expected to be removed in Python 3.7. +Still, there are many cases in which access to OS distribution information +is needed. See `Python issue 1322 <https://bugs.python.org/issue1322>`_ for +more information. +""" + +import os +import re +import sys +import json +import shlex +import logging +import argparse +import subprocess + + +_UNIXCONFDIR = os.environ.get('UNIXCONFDIR', '/etc') +_OS_RELEASE_BASENAME = 'os-release' + +#: Translation table for normalizing the "ID" attribute defined in os-release +#: files, for use by the :func:`distro.id` method. +#: +#: * Key: Value as defined in the os-release file, translated to lower case, +#: with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_OS_ID = {} + +#: Translation table for normalizing the "Distributor ID" attribute returned by +#: the lsb_release command, for use by the :func:`distro.id` method. +#: +#: * Key: Value as returned by the lsb_release command, translated to lower +#: case, with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_LSB_ID = { + 'enterpriseenterprise': 'oracle', # Oracle Enterprise Linux + 'redhatenterpriseworkstation': 'rhel', # RHEL 6, 7 Workstation + 'redhatenterpriseserver': 'rhel', # RHEL 6, 7 Server +} + +#: Translation table for normalizing the distro ID derived from the file name +#: of distro release files, for use by the :func:`distro.id` method. +#: +#: * Key: Value as derived from the file name of a distro release file, +#: translated to lower case, with blanks translated to underscores. +#: +#: * Value: Normalized value. +NORMALIZED_DISTRO_ID = { + 'redhat': 'rhel', # RHEL 6.x, 7.x +} + +# Pattern for content of distro release file (reversed) +_DISTRO_RELEASE_CONTENT_REVERSED_PATTERN = re.compile( + r'(?:[^)]*\)(.*)\()? *(?:STL )?([\d.+\-a-z]*\d) *(?:esaeler *)?(.+)') + +# Pattern for base file name of distro release file +_DISTRO_RELEASE_BASENAME_PATTERN = re.compile( + r'(\w+)[-_](release|version)$') + +# Base file names to be ignored when searching for distro release file +_DISTRO_RELEASE_IGNORE_BASENAMES = ( + 'debian_version', + 'lsb-release', + 'oem-release', + _OS_RELEASE_BASENAME, + 'system-release' +) + + +def linux_distribution(full_distribution_name=True): + """ + Return information about the current OS distribution as a tuple + ``(id_name, version, codename)`` with items as follows: + + * ``id_name``: If *full_distribution_name* is false, the result of + :func:`distro.id`. Otherwise, the result of :func:`distro.name`. + + * ``version``: The result of :func:`distro.version`. + + * ``codename``: The result of :func:`distro.codename`. + + The interface of this function is compatible with the original + :py:func:`platform.linux_distribution` function, supporting a subset of + its parameters. + + The data it returns may not exactly be the same, because it uses more data + sources than the original function, and that may lead to different data if + the OS distribution is not consistent across multiple data sources it + provides (there are indeed such distributions ...). + + Another reason for differences is the fact that the :func:`distro.id` + method normalizes the distro ID string to a reliable machine-readable value + for a number of popular OS distributions. + """ + return _distro.linux_distribution(full_distribution_name) + + +def id(): + """ + Return the distro ID of the current distribution, as a + machine-readable string. + + For a number of OS distributions, the returned distro ID value is + *reliable*, in the sense that it is documented and that it does not change + across releases of the distribution. + + This package maintains the following reliable distro ID values: + + ============== ========================================= + Distro ID Distribution + ============== ========================================= + "ubuntu" Ubuntu + "debian" Debian + "rhel" RedHat Enterprise Linux + "centos" CentOS + "fedora" Fedora + "sles" SUSE Linux Enterprise Server + "opensuse" openSUSE + "amazon" Amazon Linux + "arch" Arch Linux + "cloudlinux" CloudLinux OS + "exherbo" Exherbo Linux + "gentoo" GenToo Linux + "ibm_powerkvm" IBM PowerKVM + "kvmibm" KVM for IBM z Systems + "linuxmint" Linux Mint + "mageia" Mageia + "mandriva" Mandriva Linux + "parallels" Parallels + "pidora" Pidora + "raspbian" Raspbian + "oracle" Oracle Linux (and Oracle Enterprise Linux) + "scientific" Scientific Linux + "slackware" Slackware + "xenserver" XenServer + "openbsd" OpenBSD + "netbsd" NetBSD + "freebsd" FreeBSD + ============== ========================================= + + If you have a need to get distros for reliable IDs added into this set, + or if you find that the :func:`distro.id` function returns a different + distro ID for one of the listed distros, please create an issue in the + `distro issue tracker`_. + + **Lookup hierarchy and transformations:** + + First, the ID is obtained from the following sources, in the specified + order. The first available and non-empty value is used: + + * the value of the "ID" attribute of the os-release file, + + * the value of the "Distributor ID" attribute returned by the lsb_release + command, + + * the first part of the file name of the distro release file, + + The so determined ID value then passes the following transformations, + before it is returned by this method: + + * it is translated to lower case, + + * blanks (which should not be there anyway) are translated to underscores, + + * a normalization of the ID is performed, based upon + `normalization tables`_. The purpose of this normalization is to ensure + that the ID is as reliable as possible, even across incompatible changes + in the OS distributions. A common reason for an incompatible change is + the addition of an os-release file, or the addition of the lsb_release + command, with ID values that differ from what was previously determined + from the distro release file name. + """ + return _distro.id() + + +def name(pretty=False): + """ + Return the name of the current OS distribution, as a human-readable + string. + + If *pretty* is false, the name is returned without version or codename. + (e.g. "CentOS Linux") + + If *pretty* is true, the version and codename are appended. + (e.g. "CentOS Linux 7.1.1503 (Core)") + + **Lookup hierarchy:** + + The name is obtained from the following sources, in the specified order. + The first available and non-empty value is used: + + * If *pretty* is false: + + - the value of the "NAME" attribute of the os-release file, + + - the value of the "Distributor ID" attribute returned by the lsb_release + command, + + - the value of the "<name>" field of the distro release file. + + * If *pretty* is true: + + - the value of the "PRETTY_NAME" attribute of the os-release file, + + - the value of the "Description" attribute returned by the lsb_release + command, + + - the value of the "<name>" field of the distro release file, appended + with the value of the pretty version ("<version_id>" and "<codename>" + fields) of the distro release file, if available. + """ + return _distro.name(pretty) + + +def version(pretty=False, best=False): + """ + Return the version of the current OS distribution, as a human-readable + string. + + If *pretty* is false, the version is returned without codename (e.g. + "7.0"). + + If *pretty* is true, the codename in parenthesis is appended, if the + codename is non-empty (e.g. "7.0 (Maipo)"). + + Some distributions provide version numbers with different precisions in + the different sources of distribution information. Examining the different + sources in a fixed priority order does not always yield the most precise + version (e.g. for Debian 8.2, or CentOS 7.1). + + The *best* parameter can be used to control the approach for the returned + version: + + If *best* is false, the first non-empty version number in priority order of + the examined sources is returned. + + If *best* is true, the most precise version number out of all examined + sources is returned. + + **Lookup hierarchy:** + + In all cases, the version number is obtained from the following sources. + If *best* is false, this order represents the priority order: + + * the value of the "VERSION_ID" attribute of the os-release file, + * the value of the "Release" attribute returned by the lsb_release + command, + * the version number parsed from the "<version_id>" field of the first line + of the distro release file, + * the version number parsed from the "PRETTY_NAME" attribute of the + os-release file, if it follows the format of the distro release files. + * the version number parsed from the "Description" attribute returned by + the lsb_release command, if it follows the format of the distro release + files. + """ + return _distro.version(pretty, best) + + +def version_parts(best=False): + """ + Return the version of the current OS distribution as a tuple + ``(major, minor, build_number)`` with items as follows: + + * ``major``: The result of :func:`distro.major_version`. + + * ``minor``: The result of :func:`distro.minor_version`. + + * ``build_number``: The result of :func:`distro.build_number`. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.version_parts(best) + + +def major_version(best=False): + """ + Return the major version of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The major version is the first + part of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.major_version(best) + + +def minor_version(best=False): + """ + Return the minor version of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The minor version is the second + part of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.minor_version(best) + + +def build_number(best=False): + """ + Return the build number of the current OS distribution, as a string, + if provided. + Otherwise, the empty string is returned. The build number is the third part + of the dot-separated version string. + + For a description of the *best* parameter, see the :func:`distro.version` + method. + """ + return _distro.build_number(best) + + +def like(): + """ + Return a space-separated list of distro IDs of distributions that are + closely related to the current OS distribution in regards to packaging + and programming interfaces, for example distributions the current + distribution is a derivative from. + + **Lookup hierarchy:** + + This information item is only provided by the os-release file. + For details, see the description of the "ID_LIKE" attribute in the + `os-release man page + <http://www.freedesktop.org/software/systemd/man/os-release.html>`_. + """ + return _distro.like() + + +def codename(): + """ + Return the codename for the release of the current OS distribution, + as a string. + + If the distribution does not have a codename, an empty string is returned. + + Note that the returned codename is not always really a codename. For + example, openSUSE returns "x86_64". This function does not handle such + cases in any special way and just returns the string it finds, if any. + + **Lookup hierarchy:** + + * the codename within the "VERSION" attribute of the os-release file, if + provided, + + * the value of the "Codename" attribute returned by the lsb_release + command, + + * the value of the "<codename>" field of the distro release file. + """ + return _distro.codename() + + +def info(pretty=False, best=False): + """ + Return certain machine-readable information items about the current OS + distribution in a dictionary, as shown in the following example: + + .. sourcecode:: python + + { + 'id': 'rhel', + 'version': '7.0', + 'version_parts': { + 'major': '7', + 'minor': '0', + 'build_number': '' + }, + 'like': 'fedora', + 'codename': 'Maipo' + } + + The dictionary structure and keys are always the same, regardless of which + information items are available in the underlying data sources. The values + for the various keys are as follows: + + * ``id``: The result of :func:`distro.id`. + + * ``version``: The result of :func:`distro.version`. + + * ``version_parts -> major``: The result of :func:`distro.major_version`. + + * ``version_parts -> minor``: The result of :func:`distro.minor_version`. + + * ``version_parts -> build_number``: The result of + :func:`distro.build_number`. + + * ``like``: The result of :func:`distro.like`. + + * ``codename``: The result of :func:`distro.codename`. + + For a description of the *pretty* and *best* parameters, see the + :func:`distro.version` method. + """ + return _distro.info(pretty, best) + + +def os_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the os-release file data source of the current OS distribution. + + See `os-release file`_ for details about these information items. + """ + return _distro.os_release_info() + + +def lsb_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the lsb_release command data source of the current OS distribution. + + See `lsb_release command output`_ for details about these information + items. + """ + return _distro.lsb_release_info() + + +def distro_release_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the distro release file data source of the current OS distribution. + + See `distro release file`_ for details about these information items. + """ + return _distro.distro_release_info() + + +def uname_info(): + """ + Return a dictionary containing key-value pairs for the information items + from the distro release file data source of the current OS distribution. + """ + return _distro.uname_info() + + +def os_release_attr(attribute): + """ + Return a single named information item from the os-release file data source + of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `os-release file`_ for details about these information items. + """ + return _distro.os_release_attr(attribute) + + +def lsb_release_attr(attribute): + """ + Return a single named information item from the lsb_release command output + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `lsb_release command output`_ for details about these information + items. + """ + return _distro.lsb_release_attr(attribute) + + +def distro_release_attr(attribute): + """ + Return a single named information item from the distro release file + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + + See `distro release file`_ for details about these information items. + """ + return _distro.distro_release_attr(attribute) + + +def uname_attr(attribute): + """ + Return a single named information item from the distro release file + data source of the current OS distribution. + + Parameters: + + * ``attribute`` (string): Key of the information item. + + Returns: + + * (string): Value of the information item, if the item exists. + The empty string, if the item does not exist. + """ + return _distro.uname_attr(attribute) + + +class cached_property(object): + """A version of @property which caches the value. On access, it calls the + underlying function and sets the value in `__dict__` so future accesses + will not re-call the property. + """ + def __init__(self, f): + self._fname = f.__name__ + self._f = f + + def __get__(self, obj, owner): + assert obj is not None, 'call {} on an instance'.format(self._fname) + ret = obj.__dict__[self._fname] = self._f(obj) + return ret + + +class LinuxDistribution(object): + """ + Provides information about a OS distribution. + + This package creates a private module-global instance of this class with + default initialization arguments, that is used by the + `consolidated accessor functions`_ and `single source accessor functions`_. + By using default initialization arguments, that module-global instance + returns data about the current OS distribution (i.e. the distro this + package runs on). + + Normally, it is not necessary to create additional instances of this class. + However, in situations where control is needed over the exact data sources + that are used, instances of this class can be created with a specific + distro release file, or a specific os-release file, or without invoking the + lsb_release command. + """ + + def __init__(self, + include_lsb=True, + os_release_file='', + distro_release_file='', + include_uname=True): + """ + The initialization method of this class gathers information from the + available data sources, and stores that in private instance attributes. + Subsequent access to the information items uses these private instance + attributes, so that the data sources are read only once. + + Parameters: + + * ``include_lsb`` (bool): Controls whether the + `lsb_release command output`_ is included as a data source. + + If the lsb_release command is not available in the program execution + path, the data source for the lsb_release command will be empty. + + * ``os_release_file`` (string): The path name of the + `os-release file`_ that is to be used as a data source. + + An empty string (the default) will cause the default path name to + be used (see `os-release file`_ for details). + + If the specified or defaulted os-release file does not exist, the + data source for the os-release file will be empty. + + * ``distro_release_file`` (string): The path name of the + `distro release file`_ that is to be used as a data source. + + An empty string (the default) will cause a default search algorithm + to be used (see `distro release file`_ for details). + + If the specified distro release file does not exist, or if no default + distro release file can be found, the data source for the distro + release file will be empty. + + * ``include_name`` (bool): Controls whether uname command output is + included as a data source. If the uname command is not available in + the program execution path the data source for the uname command will + be empty. + + Public instance attributes: + + * ``os_release_file`` (string): The path name of the + `os-release file`_ that is actually used as a data source. The + empty string if no distro release file is used as a data source. + + * ``distro_release_file`` (string): The path name of the + `distro release file`_ that is actually used as a data source. The + empty string if no distro release file is used as a data source. + + * ``include_lsb`` (bool): The result of the ``include_lsb`` parameter. + This controls whether the lsb information will be loaded. + + * ``include_uname`` (bool): The result of the ``include_uname`` + parameter. This controls whether the uname information will + be loaded. + + Raises: + + * :py:exc:`IOError`: Some I/O issue with an os-release file or distro + release file. + + * :py:exc:`subprocess.CalledProcessError`: The lsb_release command had + some issue (other than not being available in the program execution + path). + + * :py:exc:`UnicodeError`: A data source has unexpected characters or + uses an unexpected encoding. + """ + self.os_release_file = os_release_file or \ + os.path.join(_UNIXCONFDIR, _OS_RELEASE_BASENAME) + self.distro_release_file = distro_release_file or '' # updated later + self.include_lsb = include_lsb + self.include_uname = include_uname + + def __repr__(self): + """Return repr of all info + """ + return \ + "LinuxDistribution(" \ + "os_release_file={self.os_release_file!r}, " \ + "distro_release_file={self.distro_release_file!r}, " \ + "include_lsb={self.include_lsb!r}, " \ + "include_uname={self.include_uname!r}, " \ + "_os_release_info={self._os_release_info!r}, " \ + "_lsb_release_info={self._lsb_release_info!r}, " \ + "_distro_release_info={self._distro_release_info!r}, " \ + "_uname_info={self._uname_info!r})".format( + self=self) + + def linux_distribution(self, full_distribution_name=True): + """ + Return information about the OS distribution that is compatible + with Python's :func:`platform.linux_distribution`, supporting a subset + of its parameters. + + For details, see :func:`distro.linux_distribution`. + """ + return ( + self.name() if full_distribution_name else self.id(), + self.version(), + self.codename() + ) + + def id(self): + """Return the distro ID of the OS distribution, as a string. + + For details, see :func:`distro.id`. + """ + def normalize(distro_id, table): + distro_id = distro_id.lower().replace(' ', '_') + return table.get(distro_id, distro_id) + + distro_id = self.os_release_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_OS_ID) + + distro_id = self.lsb_release_attr('distributor_id') + if distro_id: + return normalize(distro_id, NORMALIZED_LSB_ID) + + distro_id = self.distro_release_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_DISTRO_ID) + + distro_id = self.uname_attr('id') + if distro_id: + return normalize(distro_id, NORMALIZED_DISTRO_ID) + + return '' + + def name(self, pretty=False): + """ + Return the name of the OS distribution, as a string. + + For details, see :func:`distro.name`. + """ + name = self.os_release_attr('name') \ + or self.lsb_release_attr('distributor_id') \ + or self.distro_release_attr('name') \ + or self.uname_attr('name') + if pretty: + name = self.os_release_attr('pretty_name') \ + or self.lsb_release_attr('description') + if not name: + name = self.distro_release_attr('name') \ + or self.uname_attr('name') + version = self.version(pretty=True) + if version: + name = name + ' ' + version + return name or '' + + def version(self, pretty=False, best=False): + """ + Return the version of the OS distribution, as a string. + + For details, see :func:`distro.version`. + """ + versions = [ + self.os_release_attr('version_id'), + self.lsb_release_attr('release'), + self.distro_release_attr('version_id'), + self._parse_distro_release_content( + self.os_release_attr('pretty_name')).get('version_id', ''), + self._parse_distro_release_content( + self.lsb_release_attr('description')).get('version_id', ''), + self.uname_attr('release') + ] + version = '' + if best: + # This algorithm uses the last version in priority order that has + # the best precision. If the versions are not in conflict, that + # does not matter; otherwise, using the last one instead of the + # first one might be considered a surprise. + for v in versions: + if v.count(".") > version.count(".") or version == '': + version = v + else: + for v in versions: + if v != '': + version = v + break + if pretty and version and self.codename(): + version = u'{0} ({1})'.format(version, self.codename()) + return version + + def version_parts(self, best=False): + """ + Return the version of the OS distribution, as a tuple of version + numbers. + + For details, see :func:`distro.version_parts`. + """ + version_str = self.version(best=best) + if version_str: + version_regex = re.compile(r'(\d+)\.?(\d+)?\.?(\d+)?') + matches = version_regex.match(version_str) + if matches: + major, minor, build_number = matches.groups() + return major, minor or '', build_number or '' + return '', '', '' + + def major_version(self, best=False): + """ + Return the major version number of the current distribution. + + For details, see :func:`distro.major_version`. + """ + return self.version_parts(best)[0] + + def minor_version(self, best=False): + """ + Return the minor version number of the current distribution. + + For details, see :func:`distro.minor_version`. + """ + return self.version_parts(best)[1] + + def build_number(self, best=False): + """ + Return the build number of the current distribution. + + For details, see :func:`distro.build_number`. + """ + return self.version_parts(best)[2] + + def like(self): + """ + Return the IDs of distributions that are like the OS distribution. + + For details, see :func:`distro.like`. + """ + return self.os_release_attr('id_like') or '' + + def codename(self): + """ + Return the codename of the OS distribution. + + For details, see :func:`distro.codename`. + """ + return self.os_release_attr('codename') \ + or self.lsb_release_attr('codename') \ + or self.distro_release_attr('codename') \ + or '' + + def info(self, pretty=False, best=False): + """ + Return certain machine-readable information about the OS + distribution. + + For details, see :func:`distro.info`. + """ + return dict( + id=self.id(), + version=self.version(pretty, best), + version_parts=dict( + major=self.major_version(best), + minor=self.minor_version(best), + build_number=self.build_number(best) + ), + like=self.like(), + codename=self.codename(), + ) + + def os_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the os-release file data source of the OS distribution. + + For details, see :func:`distro.os_release_info`. + """ + return self._os_release_info + + def lsb_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the lsb_release command data source of the OS + distribution. + + For details, see :func:`distro.lsb_release_info`. + """ + return self._lsb_release_info + + def distro_release_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the distro release file data source of the OS + distribution. + + For details, see :func:`distro.distro_release_info`. + """ + return self._distro_release_info + + def uname_info(self): + """ + Return a dictionary containing key-value pairs for the information + items from the uname command data source of the OS distribution. + + For details, see :func:`distro.uname_info`. + """ + + def os_release_attr(self, attribute): + """ + Return a single named information item from the os-release file data + source of the OS distribution. + + For details, see :func:`distro.os_release_attr`. + """ + return self._os_release_info.get(attribute, '') + + def lsb_release_attr(self, attribute): + """ + Return a single named information item from the lsb_release command + output data source of the OS distribution. + + For details, see :func:`distro.lsb_release_attr`. + """ + return self._lsb_release_info.get(attribute, '') + + def distro_release_attr(self, attribute): + """ + Return a single named information item from the distro release file + data source of the OS distribution. + + For details, see :func:`distro.distro_release_attr`. + """ + return self._distro_release_info.get(attribute, '') + + def uname_attr(self, attribute): + """ + Return a single named information item from the uname command + output data source of the OS distribution. + + For details, see :func:`distro.uname_release_attr`. + """ + return self._uname_info.get(attribute, '') + + @cached_property + def _os_release_info(self): + """ + Get the information items from the specified os-release file. + + Returns: + A dictionary containing all information items. + """ + if os.path.isfile(self.os_release_file): + with open(self.os_release_file) as release_file: + return self._parse_os_release_content(release_file) + return {} + + @staticmethod + def _parse_os_release_content(lines): + """ + Parse the lines of an os-release file. + + Parameters: + + * lines: Iterable through the lines in the os-release file. + Each line must be a unicode string or a UTF-8 encoded byte + string. + + Returns: + A dictionary containing all information items. + """ + props = {} + lexer = shlex.shlex(lines, posix=True) + lexer.whitespace_split = True + + # The shlex module defines its `wordchars` variable using literals, + # making it dependent on the encoding of the Python source file. + # In Python 2.6 and 2.7, the shlex source file is encoded in + # 'iso-8859-1', and the `wordchars` variable is defined as a byte + # string. This causes a UnicodeDecodeError to be raised when the + # parsed content is a unicode object. The following fix resolves that + # (... but it should be fixed in shlex...): + if sys.version_info[0] == 2 and isinstance(lexer.wordchars, bytes): + lexer.wordchars = lexer.wordchars.decode('iso-8859-1') + + tokens = list(lexer) + for token in tokens: + # At this point, all shell-like parsing has been done (i.e. + # comments processed, quotes and backslash escape sequences + # processed, multi-line values assembled, trailing newlines + # stripped, etc.), so the tokens are now either: + # * variable assignments: var=value + # * commands or their arguments (not allowed in os-release) + if '=' in token: + k, v = token.split('=', 1) + if isinstance(v, bytes): + v = v.decode('utf-8') + props[k.lower()] = v + if k == 'VERSION': + # this handles cases in which the codename is in + # the `(CODENAME)` (rhel, centos, fedora) format + # or in the `, CODENAME` format (Ubuntu). + codename = re.search(r'(\(\D+\))|,(\s+)?\D+', v) + if codename: + codename = codename.group() + codename = codename.strip('()') + codename = codename.strip(',') + codename = codename.strip() + # codename appears within paranthese. + props['codename'] = codename + else: + props['codename'] = '' + else: + # Ignore any tokens that are not variable assignments + pass + return props + + @cached_property + def _lsb_release_info(self): + """ + Get the information items from the lsb_release command output. + + Returns: + A dictionary containing all information items. + """ + if not self.include_lsb: + return {} + with open(os.devnull, 'w') as devnull: + try: + cmd = ('lsb_release', '-a') + stdout = subprocess.check_output(cmd, stderr=devnull) + except OSError: # Command not found + return {} + content = stdout.decode(sys.getfilesystemencoding()).splitlines() + return self._parse_lsb_release_content(content) + + @staticmethod + def _parse_lsb_release_content(lines): + """ + Parse the output of the lsb_release command. + + Parameters: + + * lines: Iterable through the lines of the lsb_release output. + Each line must be a unicode string or a UTF-8 encoded byte + string. + + Returns: + A dictionary containing all information items. + """ + props = {} + for line in lines: + kv = line.strip('\n').split(':', 1) + if len(kv) != 2: + # Ignore lines without colon. + continue + k, v = kv + props.update({k.replace(' ', '_').lower(): v.strip()}) + return props + + @cached_property + def _uname_info(self): + with open(os.devnull, 'w') as devnull: + try: + cmd = ('uname', '-rs') + stdout = subprocess.check_output(cmd, stderr=devnull) + except OSError: + return {} + content = stdout.decode(sys.getfilesystemencoding()).splitlines() + return self._parse_uname_content(content) + + @staticmethod + def _parse_uname_content(lines): + props = {} + match = re.search(r'^([^\s]+)\s+([\d\.]+)', lines[0].strip()) + if match: + name, version = match.groups() + + # This is to prevent the Linux kernel version from + # appearing as the 'best' version on otherwise + # identifiable distributions. + if name == 'Linux': + return {} + props['id'] = name.lower() + props['name'] = name + props['release'] = version + return props + + @cached_property + def _distro_release_info(self): + """ + Get the information items from the specified distro release file. + + Returns: + A dictionary containing all information items. + """ + if self.distro_release_file: + # If it was specified, we use it and parse what we can, even if + # its file name or content does not match the expected pattern. + distro_info = self._parse_distro_release_file( + self.distro_release_file) + basename = os.path.basename(self.distro_release_file) + # The file name pattern for user-specified distro release files + # is somewhat more tolerant (compared to when searching for the + # file), because we want to use what was specified as best as + # possible. + match = _DISTRO_RELEASE_BASENAME_PATTERN.match(basename) + if match: + distro_info['id'] = match.group(1) + return distro_info + else: + try: + basenames = os.listdir(_UNIXCONFDIR) + # We sort for repeatability in cases where there are multiple + # distro specific files; e.g. CentOS, Oracle, Enterprise all + # containing `redhat-release` on top of their own. + basenames.sort() + except OSError: + # This may occur when /etc is not readable but we can't be + # sure about the *-release files. Check common entries of + # /etc for information. If they turn out to not be there the + # error is handled in `_parse_distro_release_file()`. + basenames = ['SuSE-release', + 'arch-release', + 'base-release', + 'centos-release', + 'fedora-release', + 'gentoo-release', + 'mageia-release', + 'mandrake-release', + 'mandriva-release', + 'mandrivalinux-release', + 'manjaro-release', + 'oracle-release', + 'redhat-release', + 'sl-release', + 'slackware-version'] + for basename in basenames: + if basename in _DISTRO_RELEASE_IGNORE_BASENAMES: + continue + match = _DISTRO_RELEASE_BASENAME_PATTERN.match(basename) + if match: + filepath = os.path.join(_UNIXCONFDIR, basename) + distro_info = self._parse_distro_release_file(filepath) + if 'name' in distro_info: + # The name is always present if the pattern matches + self.distro_release_file = filepath + distro_info['id'] = match.group(1) + return distro_info + return {} + + def _parse_distro_release_file(self, filepath): + """ + Parse a distro release file. + + Parameters: + + * filepath: Path name of the distro release file. + + Returns: + A dictionary containing all information items. + """ + try: + with open(filepath) as fp: + # Only parse the first line. For instance, on SLES there + # are multiple lines. We don't want them... + return self._parse_distro_release_content(fp.readline()) + except (OSError, IOError): + # Ignore not being able to read a specific, seemingly version + # related file. + # See https://github.com/nir0s/distro/issues/162 + return {} + + @staticmethod + def _parse_distro_release_content(line): + """ + Parse a line from a distro release file. + + Parameters: + * line: Line from the distro release file. Must be a unicode string + or a UTF-8 encoded byte string. + + Returns: + A dictionary containing all information items. + """ + if isinstance(line, bytes): + line = line.decode('utf-8') + matches = _DISTRO_RELEASE_CONTENT_REVERSED_PATTERN.match( + line.strip()[::-1]) + distro_info = {} + if matches: + # regexp ensures non-None + distro_info['name'] = matches.group(3)[::-1] + if matches.group(2): + distro_info['version_id'] = matches.group(2)[::-1] + if matches.group(1): + distro_info['codename'] = matches.group(1)[::-1] + elif line: + distro_info['name'] = line.strip() + return distro_info + + +_distro = LinuxDistribution() + + +def main(): + logger = logging.getLogger(__name__) + logger.setLevel(logging.DEBUG) + logger.addHandler(logging.StreamHandler(sys.stdout)) + + parser = argparse.ArgumentParser(description="OS distro info tool") + parser.add_argument( + '--json', + '-j', + help="Output in machine readable format", + action="store_true") + args = parser.parse_args() + + if args.json: + logger.info(json.dumps(info(), indent=4, sort_keys=True)) + else: + logger.info('Name: %s', name(pretty=True)) + distribution_version = version(pretty=True) + logger.info('Version: %s', distribution_version) + distribution_codename = codename() + logger.info('Codename: %s', distribution_codename) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/__init__.py new file mode 100644 index 0000000000..049123492e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/__init__.py @@ -0,0 +1,35 @@ +""" +HTML parsing library based on the `WHATWG HTML specification +<https://whatwg.org/html>`_. The parser is designed to be compatible with +existing HTML found in the wild and implements well-defined error recovery that +is largely compatible with modern desktop web browsers. + +Example usage:: + + from pip._vendor import html5lib + with open("my_document.html", "rb") as f: + tree = html5lib.parse(f) + +For convenience, this module re-exports the following names: + +* :func:`~.html5parser.parse` +* :func:`~.html5parser.parseFragment` +* :class:`~.html5parser.HTMLParser` +* :func:`~.treebuilders.getTreeBuilder` +* :func:`~.treewalkers.getTreeWalker` +* :func:`~.serializer.serialize` +""" + +from __future__ import absolute_import, division, unicode_literals + +from .html5parser import HTMLParser, parse, parseFragment +from .treebuilders import getTreeBuilder +from .treewalkers import getTreeWalker +from .serializer import serialize + +__all__ = ["HTMLParser", "parse", "parseFragment", "getTreeBuilder", + "getTreeWalker", "serialize"] + +# this has to be at the top level, see how setup.py parses this +#: Distribution version number. +__version__ = "1.0.1" diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_ihatexml.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_ihatexml.py new file mode 100644 index 0000000000..4c77717bbc --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_ihatexml.py @@ -0,0 +1,288 @@ +from __future__ import absolute_import, division, unicode_literals + +import re +import warnings + +from .constants import DataLossWarning + +baseChar = """ +[#x0041-#x005A] | [#x0061-#x007A] | [#x00C0-#x00D6] | [#x00D8-#x00F6] | +[#x00F8-#x00FF] | [#x0100-#x0131] | [#x0134-#x013E] | [#x0141-#x0148] | +[#x014A-#x017E] | [#x0180-#x01C3] | [#x01CD-#x01F0] | [#x01F4-#x01F5] | +[#x01FA-#x0217] | [#x0250-#x02A8] | [#x02BB-#x02C1] | #x0386 | +[#x0388-#x038A] | #x038C | [#x038E-#x03A1] | [#x03A3-#x03CE] | +[#x03D0-#x03D6] | #x03DA | #x03DC | #x03DE | #x03E0 | [#x03E2-#x03F3] | +[#x0401-#x040C] | [#x040E-#x044F] | [#x0451-#x045C] | [#x045E-#x0481] | +[#x0490-#x04C4] | [#x04C7-#x04C8] | [#x04CB-#x04CC] | [#x04D0-#x04EB] | +[#x04EE-#x04F5] | [#x04F8-#x04F9] | [#x0531-#x0556] | #x0559 | +[#x0561-#x0586] | [#x05D0-#x05EA] | [#x05F0-#x05F2] | [#x0621-#x063A] | +[#x0641-#x064A] | [#x0671-#x06B7] | [#x06BA-#x06BE] | [#x06C0-#x06CE] | +[#x06D0-#x06D3] | #x06D5 | [#x06E5-#x06E6] | [#x0905-#x0939] | #x093D | +[#x0958-#x0961] | [#x0985-#x098C] | [#x098F-#x0990] | [#x0993-#x09A8] | +[#x09AA-#x09B0] | #x09B2 | [#x09B6-#x09B9] | [#x09DC-#x09DD] | +[#x09DF-#x09E1] | [#x09F0-#x09F1] | [#x0A05-#x0A0A] | [#x0A0F-#x0A10] | +[#x0A13-#x0A28] | [#x0A2A-#x0A30] | [#x0A32-#x0A33] | [#x0A35-#x0A36] | +[#x0A38-#x0A39] | [#x0A59-#x0A5C] | #x0A5E | [#x0A72-#x0A74] | +[#x0A85-#x0A8B] | #x0A8D | [#x0A8F-#x0A91] | [#x0A93-#x0AA8] | +[#x0AAA-#x0AB0] | [#x0AB2-#x0AB3] | [#x0AB5-#x0AB9] | #x0ABD | #x0AE0 | +[#x0B05-#x0B0C] | [#x0B0F-#x0B10] | [#x0B13-#x0B28] | [#x0B2A-#x0B30] | +[#x0B32-#x0B33] | [#x0B36-#x0B39] | #x0B3D | [#x0B5C-#x0B5D] | +[#x0B5F-#x0B61] | [#x0B85-#x0B8A] | [#x0B8E-#x0B90] | [#x0B92-#x0B95] | +[#x0B99-#x0B9A] | #x0B9C | [#x0B9E-#x0B9F] | [#x0BA3-#x0BA4] | +[#x0BA8-#x0BAA] | [#x0BAE-#x0BB5] | [#x0BB7-#x0BB9] | [#x0C05-#x0C0C] | +[#x0C0E-#x0C10] | [#x0C12-#x0C28] | [#x0C2A-#x0C33] | [#x0C35-#x0C39] | +[#x0C60-#x0C61] | [#x0C85-#x0C8C] | [#x0C8E-#x0C90] | [#x0C92-#x0CA8] | +[#x0CAA-#x0CB3] | [#x0CB5-#x0CB9] | #x0CDE | [#x0CE0-#x0CE1] | +[#x0D05-#x0D0C] | [#x0D0E-#x0D10] | [#x0D12-#x0D28] | [#x0D2A-#x0D39] | +[#x0D60-#x0D61] | [#x0E01-#x0E2E] | #x0E30 | [#x0E32-#x0E33] | +[#x0E40-#x0E45] | [#x0E81-#x0E82] | #x0E84 | [#x0E87-#x0E88] | #x0E8A | +#x0E8D | [#x0E94-#x0E97] | [#x0E99-#x0E9F] | [#x0EA1-#x0EA3] | #x0EA5 | +#x0EA7 | [#x0EAA-#x0EAB] | [#x0EAD-#x0EAE] | #x0EB0 | [#x0EB2-#x0EB3] | +#x0EBD | [#x0EC0-#x0EC4] | [#x0F40-#x0F47] | [#x0F49-#x0F69] | +[#x10A0-#x10C5] | [#x10D0-#x10F6] | #x1100 | [#x1102-#x1103] | +[#x1105-#x1107] | #x1109 | [#x110B-#x110C] | [#x110E-#x1112] | #x113C | +#x113E | #x1140 | #x114C | #x114E | #x1150 | [#x1154-#x1155] | #x1159 | +[#x115F-#x1161] | #x1163 | #x1165 | #x1167 | #x1169 | [#x116D-#x116E] | +[#x1172-#x1173] | #x1175 | #x119E | #x11A8 | #x11AB | [#x11AE-#x11AF] | +[#x11B7-#x11B8] | #x11BA | [#x11BC-#x11C2] | #x11EB | #x11F0 | #x11F9 | +[#x1E00-#x1E9B] | [#x1EA0-#x1EF9] | [#x1F00-#x1F15] | [#x1F18-#x1F1D] | +[#x1F20-#x1F45] | [#x1F48-#x1F4D] | [#x1F50-#x1F57] | #x1F59 | #x1F5B | +#x1F5D | [#x1F5F-#x1F7D] | [#x1F80-#x1FB4] | [#x1FB6-#x1FBC] | #x1FBE | +[#x1FC2-#x1FC4] | [#x1FC6-#x1FCC] | [#x1FD0-#x1FD3] | [#x1FD6-#x1FDB] | +[#x1FE0-#x1FEC] | [#x1FF2-#x1FF4] | [#x1FF6-#x1FFC] | #x2126 | +[#x212A-#x212B] | #x212E | [#x2180-#x2182] | [#x3041-#x3094] | +[#x30A1-#x30FA] | [#x3105-#x312C] | [#xAC00-#xD7A3]""" + +ideographic = """[#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]""" + +combiningCharacter = """ +[#x0300-#x0345] | [#x0360-#x0361] | [#x0483-#x0486] | [#x0591-#x05A1] | +[#x05A3-#x05B9] | [#x05BB-#x05BD] | #x05BF | [#x05C1-#x05C2] | #x05C4 | +[#x064B-#x0652] | #x0670 | [#x06D6-#x06DC] | [#x06DD-#x06DF] | +[#x06E0-#x06E4] | [#x06E7-#x06E8] | [#x06EA-#x06ED] | [#x0901-#x0903] | +#x093C | [#x093E-#x094C] | #x094D | [#x0951-#x0954] | [#x0962-#x0963] | +[#x0981-#x0983] | #x09BC | #x09BE | #x09BF | [#x09C0-#x09C4] | +[#x09C7-#x09C8] | [#x09CB-#x09CD] | #x09D7 | [#x09E2-#x09E3] | #x0A02 | +#x0A3C | #x0A3E | #x0A3F | [#x0A40-#x0A42] | [#x0A47-#x0A48] | +[#x0A4B-#x0A4D] | [#x0A70-#x0A71] | [#x0A81-#x0A83] | #x0ABC | +[#x0ABE-#x0AC5] | [#x0AC7-#x0AC9] | [#x0ACB-#x0ACD] | [#x0B01-#x0B03] | +#x0B3C | [#x0B3E-#x0B43] | [#x0B47-#x0B48] | [#x0B4B-#x0B4D] | +[#x0B56-#x0B57] | [#x0B82-#x0B83] | [#x0BBE-#x0BC2] | [#x0BC6-#x0BC8] | +[#x0BCA-#x0BCD] | #x0BD7 | [#x0C01-#x0C03] | [#x0C3E-#x0C44] | +[#x0C46-#x0C48] | [#x0C4A-#x0C4D] | [#x0C55-#x0C56] | [#x0C82-#x0C83] | +[#x0CBE-#x0CC4] | [#x0CC6-#x0CC8] | [#x0CCA-#x0CCD] | [#x0CD5-#x0CD6] | +[#x0D02-#x0D03] | [#x0D3E-#x0D43] | [#x0D46-#x0D48] | [#x0D4A-#x0D4D] | +#x0D57 | #x0E31 | [#x0E34-#x0E3A] | [#x0E47-#x0E4E] | #x0EB1 | +[#x0EB4-#x0EB9] | [#x0EBB-#x0EBC] | [#x0EC8-#x0ECD] | [#x0F18-#x0F19] | +#x0F35 | #x0F37 | #x0F39 | #x0F3E | #x0F3F | [#x0F71-#x0F84] | +[#x0F86-#x0F8B] | [#x0F90-#x0F95] | #x0F97 | [#x0F99-#x0FAD] | +[#x0FB1-#x0FB7] | #x0FB9 | [#x20D0-#x20DC] | #x20E1 | [#x302A-#x302F] | +#x3099 | #x309A""" + +digit = """ +[#x0030-#x0039] | [#x0660-#x0669] | [#x06F0-#x06F9] | [#x0966-#x096F] | +[#x09E6-#x09EF] | [#x0A66-#x0A6F] | [#x0AE6-#x0AEF] | [#x0B66-#x0B6F] | +[#x0BE7-#x0BEF] | [#x0C66-#x0C6F] | [#x0CE6-#x0CEF] | [#x0D66-#x0D6F] | +[#x0E50-#x0E59] | [#x0ED0-#x0ED9] | [#x0F20-#x0F29]""" + +extender = """ +#x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | +#[#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]""" + +letter = " | ".join([baseChar, ideographic]) + +# Without the +name = " | ".join([letter, digit, ".", "-", "_", combiningCharacter, + extender]) +nameFirst = " | ".join([letter, "_"]) + +reChar = re.compile(r"#x([\d|A-F]{4,4})") +reCharRange = re.compile(r"\[#x([\d|A-F]{4,4})-#x([\d|A-F]{4,4})\]") + + +def charStringToList(chars): + charRanges = [item.strip() for item in chars.split(" | ")] + rv = [] + for item in charRanges: + foundMatch = False + for regexp in (reChar, reCharRange): + match = regexp.match(item) + if match is not None: + rv.append([hexToInt(item) for item in match.groups()]) + if len(rv[-1]) == 1: + rv[-1] = rv[-1] * 2 + foundMatch = True + break + if not foundMatch: + assert len(item) == 1 + + rv.append([ord(item)] * 2) + rv = normaliseCharList(rv) + return rv + + +def normaliseCharList(charList): + charList = sorted(charList) + for item in charList: + assert item[1] >= item[0] + rv = [] + i = 0 + while i < len(charList): + j = 1 + rv.append(charList[i]) + while i + j < len(charList) and charList[i + j][0] <= rv[-1][1] + 1: + rv[-1][1] = charList[i + j][1] + j += 1 + i += j + return rv + +# We don't really support characters above the BMP :( +max_unicode = int("FFFF", 16) + + +def missingRanges(charList): + rv = [] + if charList[0] != 0: + rv.append([0, charList[0][0] - 1]) + for i, item in enumerate(charList[:-1]): + rv.append([item[1] + 1, charList[i + 1][0] - 1]) + if charList[-1][1] != max_unicode: + rv.append([charList[-1][1] + 1, max_unicode]) + return rv + + +def listToRegexpStr(charList): + rv = [] + for item in charList: + if item[0] == item[1]: + rv.append(escapeRegexp(chr(item[0]))) + else: + rv.append(escapeRegexp(chr(item[0])) + "-" + + escapeRegexp(chr(item[1]))) + return "[%s]" % "".join(rv) + + +def hexToInt(hex_str): + return int(hex_str, 16) + + +def escapeRegexp(string): + specialCharacters = (".", "^", "$", "*", "+", "?", "{", "}", + "[", "]", "|", "(", ")", "-") + for char in specialCharacters: + string = string.replace(char, "\\" + char) + + return string + +# output from the above +nonXmlNameBMPRegexp = re.compile('[\x00-,/:-@\\[-\\^`\\{-\xb6\xb8-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u02cf\u02d2-\u02ff\u0346-\u035f\u0362-\u0385\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482\u0487-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u0590\u05a2\u05ba\u05be\u05c0\u05c3\u05c5-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u063f\u0653-\u065f\u066a-\u066f\u06b8-\u06b9\u06bf\u06cf\u06d4\u06e9\u06ee-\u06ef\u06fa-\u0900\u0904\u093a-\u093b\u094e-\u0950\u0955-\u0957\u0964-\u0965\u0970-\u0980\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09bb\u09bd\u09c5-\u09c6\u09c9-\u09ca\u09ce-\u09d6\u09d8-\u09db\u09de\u09e4-\u09e5\u09f2-\u0a01\u0a03-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a3b\u0a3d\u0a43-\u0a46\u0a49-\u0a4a\u0a4e-\u0a58\u0a5d\u0a5f-\u0a65\u0a75-\u0a80\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abb\u0ac6\u0aca\u0ace-\u0adf\u0ae1-\u0ae5\u0af0-\u0b00\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3b\u0b44-\u0b46\u0b49-\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b62-\u0b65\u0b70-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce-\u0bd6\u0bd8-\u0be6\u0bf0-\u0c00\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c3d\u0c45\u0c49\u0c4e-\u0c54\u0c57-\u0c5f\u0c62-\u0c65\u0c70-\u0c81\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cbd\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce2-\u0ce5\u0cf0-\u0d01\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d3d\u0d44-\u0d45\u0d49\u0d4e-\u0d56\u0d58-\u0d5f\u0d62-\u0d65\u0d70-\u0e00\u0e2f\u0e3b-\u0e3f\u0e4f\u0e5a-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eba\u0ebe-\u0ebf\u0ec5\u0ec7\u0ece-\u0ecf\u0eda-\u0f17\u0f1a-\u0f1f\u0f2a-\u0f34\u0f36\u0f38\u0f3a-\u0f3d\u0f48\u0f6a-\u0f70\u0f85\u0f8c-\u0f8f\u0f96\u0f98\u0fae-\u0fb0\u0fb8\u0fba-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u20cf\u20dd-\u20e0\u20e2-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3004\u3006\u3008-\u3020\u3030\u3036-\u3040\u3095-\u3098\u309b-\u309c\u309f-\u30a0\u30fb\u30ff-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') # noqa + +nonXmlNameFirstBMPRegexp = re.compile('[\x00-@\\[-\\^`\\{-\xbf\xd7\xf7\u0132-\u0133\u013f-\u0140\u0149\u017f\u01c4-\u01cc\u01f1-\u01f3\u01f6-\u01f9\u0218-\u024f\u02a9-\u02ba\u02c2-\u0385\u0387\u038b\u038d\u03a2\u03cf\u03d7-\u03d9\u03db\u03dd\u03df\u03e1\u03f4-\u0400\u040d\u0450\u045d\u0482-\u048f\u04c5-\u04c6\u04c9-\u04ca\u04cd-\u04cf\u04ec-\u04ed\u04f6-\u04f7\u04fa-\u0530\u0557-\u0558\u055a-\u0560\u0587-\u05cf\u05eb-\u05ef\u05f3-\u0620\u063b-\u0640\u064b-\u0670\u06b8-\u06b9\u06bf\u06cf\u06d4\u06d6-\u06e4\u06e7-\u0904\u093a-\u093c\u093e-\u0957\u0962-\u0984\u098d-\u098e\u0991-\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba-\u09db\u09de\u09e2-\u09ef\u09f2-\u0a04\u0a0b-\u0a0e\u0a11-\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a-\u0a58\u0a5d\u0a5f-\u0a71\u0a75-\u0a84\u0a8c\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba-\u0abc\u0abe-\u0adf\u0ae1-\u0b04\u0b0d-\u0b0e\u0b11-\u0b12\u0b29\u0b31\u0b34-\u0b35\u0b3a-\u0b3c\u0b3e-\u0b5b\u0b5e\u0b62-\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bb6\u0bba-\u0c04\u0c0d\u0c11\u0c29\u0c34\u0c3a-\u0c5f\u0c62-\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba-\u0cdd\u0cdf\u0ce2-\u0d04\u0d0d\u0d11\u0d29\u0d3a-\u0d5f\u0d62-\u0e00\u0e2f\u0e31\u0e34-\u0e3f\u0e46-\u0e80\u0e83\u0e85-\u0e86\u0e89\u0e8b-\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8-\u0ea9\u0eac\u0eaf\u0eb1\u0eb4-\u0ebc\u0ebe-\u0ebf\u0ec5-\u0f3f\u0f48\u0f6a-\u109f\u10c6-\u10cf\u10f7-\u10ff\u1101\u1104\u1108\u110a\u110d\u1113-\u113b\u113d\u113f\u1141-\u114b\u114d\u114f\u1151-\u1153\u1156-\u1158\u115a-\u115e\u1162\u1164\u1166\u1168\u116a-\u116c\u116f-\u1171\u1174\u1176-\u119d\u119f-\u11a7\u11a9-\u11aa\u11ac-\u11ad\u11b0-\u11b6\u11b9\u11bb\u11c3-\u11ea\u11ec-\u11ef\u11f1-\u11f8\u11fa-\u1dff\u1e9c-\u1e9f\u1efa-\u1eff\u1f16-\u1f17\u1f1e-\u1f1f\u1f46-\u1f47\u1f4e-\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e-\u1f7f\u1fb5\u1fbd\u1fbf-\u1fc1\u1fc5\u1fcd-\u1fcf\u1fd4-\u1fd5\u1fdc-\u1fdf\u1fed-\u1ff1\u1ff5\u1ffd-\u2125\u2127-\u2129\u212c-\u212d\u212f-\u217f\u2183-\u3006\u3008-\u3020\u302a-\u3040\u3095-\u30a0\u30fb-\u3104\u312d-\u4dff\u9fa6-\uabff\ud7a4-\uffff]') # noqa + +# Simpler things +nonPubidCharRegexp = re.compile("[^\x20\x0D\x0Aa-zA-Z0-9\\-'()+,./:=?;!*#@$_%]") + + +class InfosetFilter(object): + replacementRegexp = re.compile(r"U[\dA-F]{5,5}") + + def __init__(self, + dropXmlnsLocalName=False, + dropXmlnsAttrNs=False, + preventDoubleDashComments=False, + preventDashAtCommentEnd=False, + replaceFormFeedCharacters=True, + preventSingleQuotePubid=False): + + self.dropXmlnsLocalName = dropXmlnsLocalName + self.dropXmlnsAttrNs = dropXmlnsAttrNs + + self.preventDoubleDashComments = preventDoubleDashComments + self.preventDashAtCommentEnd = preventDashAtCommentEnd + + self.replaceFormFeedCharacters = replaceFormFeedCharacters + + self.preventSingleQuotePubid = preventSingleQuotePubid + + self.replaceCache = {} + + def coerceAttribute(self, name, namespace=None): + if self.dropXmlnsLocalName and name.startswith("xmlns:"): + warnings.warn("Attributes cannot begin with xmlns", DataLossWarning) + return None + elif (self.dropXmlnsAttrNs and + namespace == "http://www.w3.org/2000/xmlns/"): + warnings.warn("Attributes cannot be in the xml namespace", DataLossWarning) + return None + else: + return self.toXmlName(name) + + def coerceElement(self, name): + return self.toXmlName(name) + + def coerceComment(self, data): + if self.preventDoubleDashComments: + while "--" in data: + warnings.warn("Comments cannot contain adjacent dashes", DataLossWarning) + data = data.replace("--", "- -") + if data.endswith("-"): + warnings.warn("Comments cannot end in a dash", DataLossWarning) + data += " " + return data + + def coerceCharacters(self, data): + if self.replaceFormFeedCharacters: + for _ in range(data.count("\x0C")): + warnings.warn("Text cannot contain U+000C", DataLossWarning) + data = data.replace("\x0C", " ") + # Other non-xml characters + return data + + def coercePubid(self, data): + dataOutput = data + for char in nonPubidCharRegexp.findall(data): + warnings.warn("Coercing non-XML pubid", DataLossWarning) + replacement = self.getReplacementCharacter(char) + dataOutput = dataOutput.replace(char, replacement) + if self.preventSingleQuotePubid and dataOutput.find("'") >= 0: + warnings.warn("Pubid cannot contain single quote", DataLossWarning) + dataOutput = dataOutput.replace("'", self.getReplacementCharacter("'")) + return dataOutput + + def toXmlName(self, name): + nameFirst = name[0] + nameRest = name[1:] + m = nonXmlNameFirstBMPRegexp.match(nameFirst) + if m: + warnings.warn("Coercing non-XML name", DataLossWarning) + nameFirstOutput = self.getReplacementCharacter(nameFirst) + else: + nameFirstOutput = nameFirst + + nameRestOutput = nameRest + replaceChars = set(nonXmlNameBMPRegexp.findall(nameRest)) + for char in replaceChars: + warnings.warn("Coercing non-XML name", DataLossWarning) + replacement = self.getReplacementCharacter(char) + nameRestOutput = nameRestOutput.replace(char, replacement) + return nameFirstOutput + nameRestOutput + + def getReplacementCharacter(self, char): + if char in self.replaceCache: + replacement = self.replaceCache[char] + else: + replacement = self.escapeChar(char) + return replacement + + def fromXmlName(self, name): + for item in set(self.replacementRegexp.findall(name)): + name = name.replace(item, self.unescapeChar(item)) + return name + + def escapeChar(self, char): + replacement = "U%05X" % ord(char) + self.replaceCache[char] = replacement + return replacement + + def unescapeChar(self, charcode): + return chr(int(charcode[1:], 16)) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_inputstream.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_inputstream.py new file mode 100644 index 0000000000..a65e55f64b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_inputstream.py @@ -0,0 +1,923 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import text_type, binary_type +from pip._vendor.six.moves import http_client, urllib + +import codecs +import re + +from pip._vendor import webencodings + +from .constants import EOF, spaceCharacters, asciiLetters, asciiUppercase +from .constants import _ReparseException +from . import _utils + +from io import StringIO + +try: + from io import BytesIO +except ImportError: + BytesIO = StringIO + +# Non-unicode versions of constants for use in the pre-parser +spaceCharactersBytes = frozenset([item.encode("ascii") for item in spaceCharacters]) +asciiLettersBytes = frozenset([item.encode("ascii") for item in asciiLetters]) +asciiUppercaseBytes = frozenset([item.encode("ascii") for item in asciiUppercase]) +spacesAngleBrackets = spaceCharactersBytes | frozenset([b">", b"<"]) + + +invalid_unicode_no_surrogate = "[\u0001-\u0008\u000B\u000E-\u001F\u007F-\u009F\uFDD0-\uFDEF\uFFFE\uFFFF\U0001FFFE\U0001FFFF\U0002FFFE\U0002FFFF\U0003FFFE\U0003FFFF\U0004FFFE\U0004FFFF\U0005FFFE\U0005FFFF\U0006FFFE\U0006FFFF\U0007FFFE\U0007FFFF\U0008FFFE\U0008FFFF\U0009FFFE\U0009FFFF\U000AFFFE\U000AFFFF\U000BFFFE\U000BFFFF\U000CFFFE\U000CFFFF\U000DFFFE\U000DFFFF\U000EFFFE\U000EFFFF\U000FFFFE\U000FFFFF\U0010FFFE\U0010FFFF]" # noqa + +if _utils.supports_lone_surrogates: + # Use one extra step of indirection and create surrogates with + # eval. Not using this indirection would introduce an illegal + # unicode literal on platforms not supporting such lone + # surrogates. + assert invalid_unicode_no_surrogate[-1] == "]" and invalid_unicode_no_surrogate.count("]") == 1 + invalid_unicode_re = re.compile(invalid_unicode_no_surrogate[:-1] + + eval('"\\uD800-\\uDFFF"') + # pylint:disable=eval-used + "]") +else: + invalid_unicode_re = re.compile(invalid_unicode_no_surrogate) + +non_bmp_invalid_codepoints = set([0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, + 0x6FFFE, 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, + 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, + 0xBFFFE, 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, + 0x10FFFE, 0x10FFFF]) + +ascii_punctuation_re = re.compile("[\u0009-\u000D\u0020-\u002F\u003A-\u0040\u005C\u005B-\u0060\u007B-\u007E]") + +# Cache for charsUntil() +charsUntilRegEx = {} + + +class BufferedStream(object): + """Buffering for streams that do not have buffering of their own + + The buffer is implemented as a list of chunks on the assumption that + joining many strings will be slow since it is O(n**2) + """ + + def __init__(self, stream): + self.stream = stream + self.buffer = [] + self.position = [-1, 0] # chunk number, offset + + def tell(self): + pos = 0 + for chunk in self.buffer[:self.position[0]]: + pos += len(chunk) + pos += self.position[1] + return pos + + def seek(self, pos): + assert pos <= self._bufferedBytes() + offset = pos + i = 0 + while len(self.buffer[i]) < offset: + offset -= len(self.buffer[i]) + i += 1 + self.position = [i, offset] + + def read(self, bytes): + if not self.buffer: + return self._readStream(bytes) + elif (self.position[0] == len(self.buffer) and + self.position[1] == len(self.buffer[-1])): + return self._readStream(bytes) + else: + return self._readFromBuffer(bytes) + + def _bufferedBytes(self): + return sum([len(item) for item in self.buffer]) + + def _readStream(self, bytes): + data = self.stream.read(bytes) + self.buffer.append(data) + self.position[0] += 1 + self.position[1] = len(data) + return data + + def _readFromBuffer(self, bytes): + remainingBytes = bytes + rv = [] + bufferIndex = self.position[0] + bufferOffset = self.position[1] + while bufferIndex < len(self.buffer) and remainingBytes != 0: + assert remainingBytes > 0 + bufferedData = self.buffer[bufferIndex] + + if remainingBytes <= len(bufferedData) - bufferOffset: + bytesToRead = remainingBytes + self.position = [bufferIndex, bufferOffset + bytesToRead] + else: + bytesToRead = len(bufferedData) - bufferOffset + self.position = [bufferIndex, len(bufferedData)] + bufferIndex += 1 + rv.append(bufferedData[bufferOffset:bufferOffset + bytesToRead]) + remainingBytes -= bytesToRead + + bufferOffset = 0 + + if remainingBytes: + rv.append(self._readStream(remainingBytes)) + + return b"".join(rv) + + +def HTMLInputStream(source, **kwargs): + # Work around Python bug #20007: read(0) closes the connection. + # http://bugs.python.org/issue20007 + if (isinstance(source, http_client.HTTPResponse) or + # Also check for addinfourl wrapping HTTPResponse + (isinstance(source, urllib.response.addbase) and + isinstance(source.fp, http_client.HTTPResponse))): + isUnicode = False + elif hasattr(source, "read"): + isUnicode = isinstance(source.read(0), text_type) + else: + isUnicode = isinstance(source, text_type) + + if isUnicode: + encodings = [x for x in kwargs if x.endswith("_encoding")] + if encodings: + raise TypeError("Cannot set an encoding with a unicode input, set %r" % encodings) + + return HTMLUnicodeInputStream(source, **kwargs) + else: + return HTMLBinaryInputStream(source, **kwargs) + + +class HTMLUnicodeInputStream(object): + """Provides a unicode stream of characters to the HTMLTokenizer. + + This class takes care of character encoding and removing or replacing + incorrect byte-sequences and also provides column and line tracking. + + """ + + _defaultChunkSize = 10240 + + def __init__(self, source): + """Initialises the HTMLInputStream. + + HTMLInputStream(source, [encoding]) -> Normalized stream from source + for use by html5lib. + + source can be either a file-object, local filename or a string. + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + """ + + if not _utils.supports_lone_surrogates: + # Such platforms will have already checked for such + # surrogate errors, so no need to do this checking. + self.reportCharacterErrors = None + elif len("\U0010FFFF") == 1: + self.reportCharacterErrors = self.characterErrorsUCS4 + else: + self.reportCharacterErrors = self.characterErrorsUCS2 + + # List of where new lines occur + self.newLines = [0] + + self.charEncoding = (lookupEncoding("utf-8"), "certain") + self.dataStream = self.openStream(source) + + self.reset() + + def reset(self): + self.chunk = "" + self.chunkSize = 0 + self.chunkOffset = 0 + self.errors = [] + + # number of (complete) lines in previous chunks + self.prevNumLines = 0 + # number of columns in the last line of the previous chunk + self.prevNumCols = 0 + + # Deal with CR LF and surrogates split over chunk boundaries + self._bufferedCharacter = None + + def openStream(self, source): + """Produces a file object from source. + + source can be either a file object, local filename or a string. + + """ + # Already a file object + if hasattr(source, 'read'): + stream = source + else: + stream = StringIO(source) + + return stream + + def _position(self, offset): + chunk = self.chunk + nLines = chunk.count('\n', 0, offset) + positionLine = self.prevNumLines + nLines + lastLinePos = chunk.rfind('\n', 0, offset) + if lastLinePos == -1: + positionColumn = self.prevNumCols + offset + else: + positionColumn = offset - (lastLinePos + 1) + return (positionLine, positionColumn) + + def position(self): + """Returns (line, col) of the current position in the stream.""" + line, col = self._position(self.chunkOffset) + return (line + 1, col) + + def char(self): + """ Read one character from the stream or queue if available. Return + EOF when EOF is reached. + """ + # Read a new chunk from the input stream if necessary + if self.chunkOffset >= self.chunkSize: + if not self.readChunk(): + return EOF + + chunkOffset = self.chunkOffset + char = self.chunk[chunkOffset] + self.chunkOffset = chunkOffset + 1 + + return char + + def readChunk(self, chunkSize=None): + if chunkSize is None: + chunkSize = self._defaultChunkSize + + self.prevNumLines, self.prevNumCols = self._position(self.chunkSize) + + self.chunk = "" + self.chunkSize = 0 + self.chunkOffset = 0 + + data = self.dataStream.read(chunkSize) + + # Deal with CR LF and surrogates broken across chunks + if self._bufferedCharacter: + data = self._bufferedCharacter + data + self._bufferedCharacter = None + elif not data: + # We have no more data, bye-bye stream + return False + + if len(data) > 1: + lastv = ord(data[-1]) + if lastv == 0x0D or 0xD800 <= lastv <= 0xDBFF: + self._bufferedCharacter = data[-1] + data = data[:-1] + + if self.reportCharacterErrors: + self.reportCharacterErrors(data) + + # Replace invalid characters + data = data.replace("\r\n", "\n") + data = data.replace("\r", "\n") + + self.chunk = data + self.chunkSize = len(data) + + return True + + def characterErrorsUCS4(self, data): + for _ in range(len(invalid_unicode_re.findall(data))): + self.errors.append("invalid-codepoint") + + def characterErrorsUCS2(self, data): + # Someone picked the wrong compile option + # You lose + skip = False + for match in invalid_unicode_re.finditer(data): + if skip: + continue + codepoint = ord(match.group()) + pos = match.start() + # Pretty sure there should be endianness issues here + if _utils.isSurrogatePair(data[pos:pos + 2]): + # We have a surrogate pair! + char_val = _utils.surrogatePairToCodepoint(data[pos:pos + 2]) + if char_val in non_bmp_invalid_codepoints: + self.errors.append("invalid-codepoint") + skip = True + elif (codepoint >= 0xD800 and codepoint <= 0xDFFF and + pos == len(data) - 1): + self.errors.append("invalid-codepoint") + else: + skip = False + self.errors.append("invalid-codepoint") + + def charsUntil(self, characters, opposite=False): + """ Returns a string of characters from the stream up to but not + including any character in 'characters' or EOF. 'characters' must be + a container that supports the 'in' method and iteration over its + characters. + """ + + # Use a cache of regexps to find the required characters + try: + chars = charsUntilRegEx[(characters, opposite)] + except KeyError: + if __debug__: + for c in characters: + assert(ord(c) < 128) + regex = "".join(["\\x%02x" % ord(c) for c in characters]) + if not opposite: + regex = "^%s" % regex + chars = charsUntilRegEx[(characters, opposite)] = re.compile("[%s]+" % regex) + + rv = [] + + while True: + # Find the longest matching prefix + m = chars.match(self.chunk, self.chunkOffset) + if m is None: + # If nothing matched, and it wasn't because we ran out of chunk, + # then stop + if self.chunkOffset != self.chunkSize: + break + else: + end = m.end() + # If not the whole chunk matched, return everything + # up to the part that didn't match + if end != self.chunkSize: + rv.append(self.chunk[self.chunkOffset:end]) + self.chunkOffset = end + break + # If the whole remainder of the chunk matched, + # use it all and read the next chunk + rv.append(self.chunk[self.chunkOffset:]) + if not self.readChunk(): + # Reached EOF + break + + r = "".join(rv) + return r + + def unget(self, char): + # Only one character is allowed to be ungotten at once - it must + # be consumed again before any further call to unget + if char is not None: + if self.chunkOffset == 0: + # unget is called quite rarely, so it's a good idea to do + # more work here if it saves a bit of work in the frequently + # called char and charsUntil. + # So, just prepend the ungotten character onto the current + # chunk: + self.chunk = char + self.chunk + self.chunkSize += 1 + else: + self.chunkOffset -= 1 + assert self.chunk[self.chunkOffset] == char + + +class HTMLBinaryInputStream(HTMLUnicodeInputStream): + """Provides a unicode stream of characters to the HTMLTokenizer. + + This class takes care of character encoding and removing or replacing + incorrect byte-sequences and also provides column and line tracking. + + """ + + def __init__(self, source, override_encoding=None, transport_encoding=None, + same_origin_parent_encoding=None, likely_encoding=None, + default_encoding="windows-1252", useChardet=True): + """Initialises the HTMLInputStream. + + HTMLInputStream(source, [encoding]) -> Normalized stream from source + for use by html5lib. + + source can be either a file-object, local filename or a string. + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + """ + # Raw Stream - for unicode objects this will encode to utf-8 and set + # self.charEncoding as appropriate + self.rawStream = self.openStream(source) + + HTMLUnicodeInputStream.__init__(self, self.rawStream) + + # Encoding Information + # Number of bytes to use when looking for a meta element with + # encoding information + self.numBytesMeta = 1024 + # Number of bytes to use when using detecting encoding using chardet + self.numBytesChardet = 100 + # Things from args + self.override_encoding = override_encoding + self.transport_encoding = transport_encoding + self.same_origin_parent_encoding = same_origin_parent_encoding + self.likely_encoding = likely_encoding + self.default_encoding = default_encoding + + # Determine encoding + self.charEncoding = self.determineEncoding(useChardet) + assert self.charEncoding[0] is not None + + # Call superclass + self.reset() + + def reset(self): + self.dataStream = self.charEncoding[0].codec_info.streamreader(self.rawStream, 'replace') + HTMLUnicodeInputStream.reset(self) + + def openStream(self, source): + """Produces a file object from source. + + source can be either a file object, local filename or a string. + + """ + # Already a file object + if hasattr(source, 'read'): + stream = source + else: + stream = BytesIO(source) + + try: + stream.seek(stream.tell()) + except: # pylint:disable=bare-except + stream = BufferedStream(stream) + + return stream + + def determineEncoding(self, chardet=True): + # BOMs take precedence over everything + # This will also read past the BOM if present + charEncoding = self.detectBOM(), "certain" + if charEncoding[0] is not None: + return charEncoding + + # If we've been overriden, we've been overriden + charEncoding = lookupEncoding(self.override_encoding), "certain" + if charEncoding[0] is not None: + return charEncoding + + # Now check the transport layer + charEncoding = lookupEncoding(self.transport_encoding), "certain" + if charEncoding[0] is not None: + return charEncoding + + # Look for meta elements with encoding information + charEncoding = self.detectEncodingMeta(), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Parent document encoding + charEncoding = lookupEncoding(self.same_origin_parent_encoding), "tentative" + if charEncoding[0] is not None and not charEncoding[0].name.startswith("utf-16"): + return charEncoding + + # "likely" encoding + charEncoding = lookupEncoding(self.likely_encoding), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Guess with chardet, if available + if chardet: + try: + from pip._vendor.chardet.universaldetector import UniversalDetector + except ImportError: + pass + else: + buffers = [] + detector = UniversalDetector() + while not detector.done: + buffer = self.rawStream.read(self.numBytesChardet) + assert isinstance(buffer, bytes) + if not buffer: + break + buffers.append(buffer) + detector.feed(buffer) + detector.close() + encoding = lookupEncoding(detector.result['encoding']) + self.rawStream.seek(0) + if encoding is not None: + return encoding, "tentative" + + # Try the default encoding + charEncoding = lookupEncoding(self.default_encoding), "tentative" + if charEncoding[0] is not None: + return charEncoding + + # Fallback to html5lib's default if even that hasn't worked + return lookupEncoding("windows-1252"), "tentative" + + def changeEncoding(self, newEncoding): + assert self.charEncoding[1] != "certain" + newEncoding = lookupEncoding(newEncoding) + if newEncoding is None: + return + if newEncoding.name in ("utf-16be", "utf-16le"): + newEncoding = lookupEncoding("utf-8") + assert newEncoding is not None + elif newEncoding == self.charEncoding[0]: + self.charEncoding = (self.charEncoding[0], "certain") + else: + self.rawStream.seek(0) + self.charEncoding = (newEncoding, "certain") + self.reset() + raise _ReparseException("Encoding changed from %s to %s" % (self.charEncoding[0], newEncoding)) + + def detectBOM(self): + """Attempts to detect at BOM at the start of the stream. If + an encoding can be determined from the BOM return the name of the + encoding otherwise return None""" + bomDict = { + codecs.BOM_UTF8: 'utf-8', + codecs.BOM_UTF16_LE: 'utf-16le', codecs.BOM_UTF16_BE: 'utf-16be', + codecs.BOM_UTF32_LE: 'utf-32le', codecs.BOM_UTF32_BE: 'utf-32be' + } + + # Go to beginning of file and read in 4 bytes + string = self.rawStream.read(4) + assert isinstance(string, bytes) + + # Try detecting the BOM using bytes from the string + encoding = bomDict.get(string[:3]) # UTF-8 + seek = 3 + if not encoding: + # Need to detect UTF-32 before UTF-16 + encoding = bomDict.get(string) # UTF-32 + seek = 4 + if not encoding: + encoding = bomDict.get(string[:2]) # UTF-16 + seek = 2 + + # Set the read position past the BOM if one was found, otherwise + # set it to the start of the stream + if encoding: + self.rawStream.seek(seek) + return lookupEncoding(encoding) + else: + self.rawStream.seek(0) + return None + + def detectEncodingMeta(self): + """Report the encoding declared by the meta element + """ + buffer = self.rawStream.read(self.numBytesMeta) + assert isinstance(buffer, bytes) + parser = EncodingParser(buffer) + self.rawStream.seek(0) + encoding = parser.getEncoding() + + if encoding is not None and encoding.name in ("utf-16be", "utf-16le"): + encoding = lookupEncoding("utf-8") + + return encoding + + +class EncodingBytes(bytes): + """String-like object with an associated position and various extra methods + If the position is ever greater than the string length then an exception is + raised""" + def __new__(self, value): + assert isinstance(value, bytes) + return bytes.__new__(self, value.lower()) + + def __init__(self, value): + # pylint:disable=unused-argument + self._position = -1 + + def __iter__(self): + return self + + def __next__(self): + p = self._position = self._position + 1 + if p >= len(self): + raise StopIteration + elif p < 0: + raise TypeError + return self[p:p + 1] + + def next(self): + # Py2 compat + return self.__next__() + + def previous(self): + p = self._position + if p >= len(self): + raise StopIteration + elif p < 0: + raise TypeError + self._position = p = p - 1 + return self[p:p + 1] + + def setPosition(self, position): + if self._position >= len(self): + raise StopIteration + self._position = position + + def getPosition(self): + if self._position >= len(self): + raise StopIteration + if self._position >= 0: + return self._position + else: + return None + + position = property(getPosition, setPosition) + + def getCurrentByte(self): + return self[self.position:self.position + 1] + + currentByte = property(getCurrentByte) + + def skip(self, chars=spaceCharactersBytes): + """Skip past a list of characters""" + p = self.position # use property for the error-checking + while p < len(self): + c = self[p:p + 1] + if c not in chars: + self._position = p + return c + p += 1 + self._position = p + return None + + def skipUntil(self, chars): + p = self.position + while p < len(self): + c = self[p:p + 1] + if c in chars: + self._position = p + return c + p += 1 + self._position = p + return None + + def matchBytes(self, bytes): + """Look for a sequence of bytes at the start of a string. If the bytes + are found return True and advance the position to the byte after the + match. Otherwise return False and leave the position alone""" + p = self.position + data = self[p:p + len(bytes)] + rv = data.startswith(bytes) + if rv: + self.position += len(bytes) + return rv + + def jumpTo(self, bytes): + """Look for the next sequence of bytes matching a given sequence. If + a match is found advance the position to the last byte of the match""" + newPosition = self[self.position:].find(bytes) + if newPosition > -1: + # XXX: This is ugly, but I can't see a nicer way to fix this. + if self._position == -1: + self._position = 0 + self._position += (newPosition + len(bytes) - 1) + return True + else: + raise StopIteration + + +class EncodingParser(object): + """Mini parser for detecting character encoding from meta elements""" + + def __init__(self, data): + """string - the data to work on for encoding detection""" + self.data = EncodingBytes(data) + self.encoding = None + + def getEncoding(self): + methodDispatch = ( + (b"<!--", self.handleComment), + (b"<meta", self.handleMeta), + (b"</", self.handlePossibleEndTag), + (b"<!", self.handleOther), + (b"<?", self.handleOther), + (b"<", self.handlePossibleStartTag)) + for _ in self.data: + keepParsing = True + for key, method in methodDispatch: + if self.data.matchBytes(key): + try: + keepParsing = method() + break + except StopIteration: + keepParsing = False + break + if not keepParsing: + break + + return self.encoding + + def handleComment(self): + """Skip over comments""" + return self.data.jumpTo(b"-->") + + def handleMeta(self): + if self.data.currentByte not in spaceCharactersBytes: + # if we have <meta not followed by a space so just keep going + return True + # We have a valid meta element we want to search for attributes + hasPragma = False + pendingEncoding = None + while True: + # Try to find the next attribute after the current position + attr = self.getAttribute() + if attr is None: + return True + else: + if attr[0] == b"http-equiv": + hasPragma = attr[1] == b"content-type" + if hasPragma and pendingEncoding is not None: + self.encoding = pendingEncoding + return False + elif attr[0] == b"charset": + tentativeEncoding = attr[1] + codec = lookupEncoding(tentativeEncoding) + if codec is not None: + self.encoding = codec + return False + elif attr[0] == b"content": + contentParser = ContentAttrParser(EncodingBytes(attr[1])) + tentativeEncoding = contentParser.parse() + if tentativeEncoding is not None: + codec = lookupEncoding(tentativeEncoding) + if codec is not None: + if hasPragma: + self.encoding = codec + return False + else: + pendingEncoding = codec + + def handlePossibleStartTag(self): + return self.handlePossibleTag(False) + + def handlePossibleEndTag(self): + next(self.data) + return self.handlePossibleTag(True) + + def handlePossibleTag(self, endTag): + data = self.data + if data.currentByte not in asciiLettersBytes: + # If the next byte is not an ascii letter either ignore this + # fragment (possible start tag case) or treat it according to + # handleOther + if endTag: + data.previous() + self.handleOther() + return True + + c = data.skipUntil(spacesAngleBrackets) + if c == b"<": + # return to the first step in the overall "two step" algorithm + # reprocessing the < byte + data.previous() + else: + # Read all attributes + attr = self.getAttribute() + while attr is not None: + attr = self.getAttribute() + return True + + def handleOther(self): + return self.data.jumpTo(b">") + + def getAttribute(self): + """Return a name,value pair for the next attribute in the stream, + if one is found, or None""" + data = self.data + # Step 1 (skip chars) + c = data.skip(spaceCharactersBytes | frozenset([b"/"])) + assert c is None or len(c) == 1 + # Step 2 + if c in (b">", None): + return None + # Step 3 + attrName = [] + attrValue = [] + # Step 4 attribute name + while True: + if c == b"=" and attrName: + break + elif c in spaceCharactersBytes: + # Step 6! + c = data.skip() + break + elif c in (b"/", b">"): + return b"".join(attrName), b"" + elif c in asciiUppercaseBytes: + attrName.append(c.lower()) + elif c is None: + return None + else: + attrName.append(c) + # Step 5 + c = next(data) + # Step 7 + if c != b"=": + data.previous() + return b"".join(attrName), b"" + # Step 8 + next(data) + # Step 9 + c = data.skip() + # Step 10 + if c in (b"'", b'"'): + # 10.1 + quoteChar = c + while True: + # 10.2 + c = next(data) + # 10.3 + if c == quoteChar: + next(data) + return b"".join(attrName), b"".join(attrValue) + # 10.4 + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + # 10.5 + else: + attrValue.append(c) + elif c == b">": + return b"".join(attrName), b"" + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + elif c is None: + return None + else: + attrValue.append(c) + # Step 11 + while True: + c = next(data) + if c in spacesAngleBrackets: + return b"".join(attrName), b"".join(attrValue) + elif c in asciiUppercaseBytes: + attrValue.append(c.lower()) + elif c is None: + return None + else: + attrValue.append(c) + + +class ContentAttrParser(object): + def __init__(self, data): + assert isinstance(data, bytes) + self.data = data + + def parse(self): + try: + # Check if the attr name is charset + # otherwise return + self.data.jumpTo(b"charset") + self.data.position += 1 + self.data.skip() + if not self.data.currentByte == b"=": + # If there is no = sign keep looking for attrs + return None + self.data.position += 1 + self.data.skip() + # Look for an encoding between matching quote marks + if self.data.currentByte in (b'"', b"'"): + quoteMark = self.data.currentByte + self.data.position += 1 + oldPosition = self.data.position + if self.data.jumpTo(quoteMark): + return self.data[oldPosition:self.data.position] + else: + return None + else: + # Unquoted value + oldPosition = self.data.position + try: + self.data.skipUntil(spaceCharactersBytes) + return self.data[oldPosition:self.data.position] + except StopIteration: + # Return the whole remaining value + return self.data[oldPosition:] + except StopIteration: + return None + + +def lookupEncoding(encoding): + """Return the python codec name corresponding to an encoding or None if the + string doesn't correspond to a valid encoding.""" + if isinstance(encoding, binary_type): + try: + encoding = encoding.decode("ascii") + except UnicodeDecodeError: + return None + + if encoding is not None: + try: + return webencodings.lookup(encoding) + except AttributeError: + return None + else: + return None diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_tokenizer.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_tokenizer.py new file mode 100644 index 0000000000..178f6e7fa8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_tokenizer.py @@ -0,0 +1,1721 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import unichr as chr + +from collections import deque + +from .constants import spaceCharacters +from .constants import entities +from .constants import asciiLetters, asciiUpper2Lower +from .constants import digits, hexDigits, EOF +from .constants import tokenTypes, tagTokenTypes +from .constants import replacementCharacters + +from ._inputstream import HTMLInputStream + +from ._trie import Trie + +entitiesTrie = Trie(entities) + + +class HTMLTokenizer(object): + """ This class takes care of tokenizing HTML. + + * self.currentToken + Holds the token that is currently being processed. + + * self.state + Holds a reference to the method to be invoked... XXX + + * self.stream + Points to HTMLInputStream object. + """ + + def __init__(self, stream, parser=None, **kwargs): + + self.stream = HTMLInputStream(stream, **kwargs) + self.parser = parser + + # Setup the initial tokenizer state + self.escapeFlag = False + self.lastFourChars = [] + self.state = self.dataState + self.escape = False + + # The current token being created + self.currentToken = None + super(HTMLTokenizer, self).__init__() + + def __iter__(self): + """ This is where the magic happens. + + We do our usually processing through the states and when we have a token + to return we yield the token which pauses processing until the next token + is requested. + """ + self.tokenQueue = deque([]) + # Start processing. When EOF is reached self.state will return False + # instead of True and the loop will terminate. + while self.state(): + while self.stream.errors: + yield {"type": tokenTypes["ParseError"], "data": self.stream.errors.pop(0)} + while self.tokenQueue: + yield self.tokenQueue.popleft() + + def consumeNumberEntity(self, isHex): + """This function returns either U+FFFD or the character based on the + decimal or hexadecimal representation. It also discards ";" if present. + If not present self.tokenQueue.append({"type": tokenTypes["ParseError"]}) is invoked. + """ + + allowed = digits + radix = 10 + if isHex: + allowed = hexDigits + radix = 16 + + charStack = [] + + # Consume all the characters that are in range while making sure we + # don't hit an EOF. + c = self.stream.char() + while c in allowed and c is not EOF: + charStack.append(c) + c = self.stream.char() + + # Convert the set of characters consumed to an int. + charAsInt = int("".join(charStack), radix) + + # Certain characters get replaced with others + if charAsInt in replacementCharacters: + char = replacementCharacters[charAsInt] + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + elif ((0xD800 <= charAsInt <= 0xDFFF) or + (charAsInt > 0x10FFFF)): + char = "\uFFFD" + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + else: + # Should speed up this check somehow (e.g. move the set to a constant) + if ((0x0001 <= charAsInt <= 0x0008) or + (0x000E <= charAsInt <= 0x001F) or + (0x007F <= charAsInt <= 0x009F) or + (0xFDD0 <= charAsInt <= 0xFDEF) or + charAsInt in frozenset([0x000B, 0xFFFE, 0xFFFF, 0x1FFFE, + 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, + 0x5FFFF, 0x6FFFE, 0x6FFFF, 0x7FFFE, + 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, + 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, + 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, + 0xFFFFF, 0x10FFFE, 0x10FFFF])): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "illegal-codepoint-for-numeric-entity", + "datavars": {"charAsInt": charAsInt}}) + try: + # Try/except needed as UCS-2 Python builds' unichar only works + # within the BMP. + char = chr(charAsInt) + except ValueError: + v = charAsInt - 0x10000 + char = chr(0xD800 | (v >> 10)) + chr(0xDC00 | (v & 0x3FF)) + + # Discard the ; if present. Otherwise, put it back on the queue and + # invoke parseError on parser. + if c != ";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "numeric-entity-without-semicolon"}) + self.stream.unget(c) + + return char + + def consumeEntity(self, allowedChar=None, fromAttribute=False): + # Initialise to the default output for when no entity is matched + output = "&" + + charStack = [self.stream.char()] + if (charStack[0] in spaceCharacters or charStack[0] in (EOF, "<", "&") or + (allowedChar is not None and allowedChar == charStack[0])): + self.stream.unget(charStack[0]) + + elif charStack[0] == "#": + # Read the next character to see if it's hex or decimal + hex = False + charStack.append(self.stream.char()) + if charStack[-1] in ("x", "X"): + hex = True + charStack.append(self.stream.char()) + + # charStack[-1] should be the first digit + if (hex and charStack[-1] in hexDigits) \ + or (not hex and charStack[-1] in digits): + # At least one digit found, so consume the whole number + self.stream.unget(charStack[-1]) + output = self.consumeNumberEntity(hex) + else: + # No digits found + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "expected-numeric-entity"}) + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + + else: + # At this point in the process might have named entity. Entities + # are stored in the global variable "entities". + # + # Consume characters and compare to these to a substring of the + # entity names in the list until the substring no longer matches. + while (charStack[-1] is not EOF): + if not entitiesTrie.has_keys_with_prefix("".join(charStack)): + break + charStack.append(self.stream.char()) + + # At this point we have a string that starts with some characters + # that may match an entity + # Try to find the longest entity the string will match to take care + # of ¬i for instance. + try: + entityName = entitiesTrie.longest_prefix("".join(charStack[:-1])) + entityLength = len(entityName) + except KeyError: + entityName = None + + if entityName is not None: + if entityName[-1] != ";": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "named-entity-without-semicolon"}) + if (entityName[-1] != ";" and fromAttribute and + (charStack[entityLength] in asciiLetters or + charStack[entityLength] in digits or + charStack[entityLength] == "=")): + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + else: + output = entities[entityName] + self.stream.unget(charStack.pop()) + output += "".join(charStack[entityLength:]) + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-named-entity"}) + self.stream.unget(charStack.pop()) + output = "&" + "".join(charStack) + + if fromAttribute: + self.currentToken["data"][-1][1] += output + else: + if output in spaceCharacters: + tokenType = "SpaceCharacters" + else: + tokenType = "Characters" + self.tokenQueue.append({"type": tokenTypes[tokenType], "data": output}) + + def processEntityInAttribute(self, allowedChar): + """This method replaces the need for "entityInAttributeValueState". + """ + self.consumeEntity(allowedChar=allowedChar, fromAttribute=True) + + def emitCurrentToken(self): + """This method is a generic handler for emitting the tags. It also sets + the state to "data" because that's what's needed after a token has been + emitted. + """ + token = self.currentToken + # Add token to the queue to be yielded + if (token["type"] in tagTokenTypes): + token["name"] = token["name"].translate(asciiUpper2Lower) + if token["type"] == tokenTypes["EndTag"]: + if token["data"]: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "attributes-in-end-tag"}) + if token["selfClosing"]: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "self-closing-flag-on-end-tag"}) + self.tokenQueue.append(token) + self.state = self.dataState + + # Below are the various tokenizer states worked out. + def dataState(self): + data = self.stream.char() + if data == "&": + self.state = self.entityDataState + elif data == "<": + self.state = self.tagOpenState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\u0000"}) + elif data is EOF: + # Tokenization ends. + return False + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + chars = self.stream.charsUntil(("&", "<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def entityDataState(self): + self.consumeEntity() + self.state = self.dataState + return True + + def rcdataState(self): + data = self.stream.char() + if data == "&": + self.state = self.characterReferenceInRcdata + elif data == "<": + self.state = self.rcdataLessThanSignState + elif data == EOF: + # Tokenization ends. + return False + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data in spaceCharacters: + # Directly after emitting a token you switch back to the "data + # state". At that point spaceCharacters are important so they are + # emitted separately. + self.tokenQueue.append({"type": tokenTypes["SpaceCharacters"], "data": + data + self.stream.charsUntil(spaceCharacters, True)}) + # No need to update lastFourChars here, since the first space will + # have already been appended to lastFourChars and will have broken + # any <!-- or --> sequences + else: + chars = self.stream.charsUntil(("&", "<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def characterReferenceInRcdata(self): + self.consumeEntity() + self.state = self.rcdataState + return True + + def rawtextState(self): + data = self.stream.char() + if data == "<": + self.state = self.rawtextLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + # Tokenization ends. + return False + else: + chars = self.stream.charsUntil(("<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def scriptDataState(self): + data = self.stream.char() + if data == "<": + self.state = self.scriptDataLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + # Tokenization ends. + return False + else: + chars = self.stream.charsUntil(("<", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def plaintextState(self): + data = self.stream.char() + if data == EOF: + # Tokenization ends. + return False + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + self.stream.charsUntil("\u0000")}) + return True + + def tagOpenState(self): + data = self.stream.char() + if data == "!": + self.state = self.markupDeclarationOpenState + elif data == "/": + self.state = self.closeTagOpenState + elif data in asciiLetters: + self.currentToken = {"type": tokenTypes["StartTag"], + "name": data, "data": [], + "selfClosing": False, + "selfClosingAcknowledged": False} + self.state = self.tagNameState + elif data == ">": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-right-bracket"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<>"}) + self.state = self.dataState + elif data == "?": + # XXX In theory it could be something besides a tag name. But + # do we really care? + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name-but-got-question-mark"}) + self.stream.unget(data) + self.state = self.bogusCommentState + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-tag-name"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.dataState + return True + + def closeTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.currentToken = {"type": tokenTypes["EndTag"], "name": data, + "data": [], "selfClosing": False} + self.state = self.tagNameState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-right-bracket"}) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-eof"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.state = self.dataState + else: + # XXX data can be _'_... + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-closing-tag-but-got-char", + "datavars": {"data": data}}) + self.stream.unget(data) + self.state = self.bogusCommentState + return True + + def tagNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == ">": + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-tag-name"}) + self.state = self.dataState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] += "\uFFFD" + else: + self.currentToken["name"] += data + # (Don't use charsUntil here, because tag names are + # very short and it's faster to not do anything fancy) + return True + + def rcdataLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.rcdataEndTagOpenState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rcdataEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.rcdataEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rcdataEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.rcdataState + return True + + def rawtextLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.rawtextEndTagOpenState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def rawtextEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.rawtextEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def rawtextEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.rawtextState + return True + + def scriptDataLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.scriptDataEndTagOpenState + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<!"}) + self.state = self.scriptDataEscapeStartState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer += data + self.state = self.scriptDataEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapeStartState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapeStartDashState + else: + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapeStartDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashDashState + else: + self.stream.unget(data) + self.state = self.scriptDataState + return True + + def scriptDataEscapedState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashState + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + self.state = self.dataState + else: + chars = self.stream.charsUntil(("<", "-", "\u0000")) + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": + data + chars}) + return True + + def scriptDataEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataEscapedDashDashState + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataEscapedState + elif data == EOF: + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedDashDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + elif data == "<": + self.state = self.scriptDataEscapedLessThanSignState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": ">"}) + self.state = self.scriptDataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataEscapedState + elif data == EOF: + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.temporaryBuffer = "" + self.state = self.scriptDataEscapedEndTagOpenState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<" + data}) + self.temporaryBuffer = data + self.state = self.scriptDataDoubleEscapeStartState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedEndTagOpenState(self): + data = self.stream.char() + if data in asciiLetters: + self.temporaryBuffer = data + self.state = self.scriptDataEscapedEndTagNameState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "</"}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataEscapedEndTagNameState(self): + appropriate = self.currentToken and self.currentToken["name"].lower() == self.temporaryBuffer.lower() + data = self.stream.char() + if data in spaceCharacters and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.beforeAttributeNameState + elif data == "/" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.state = self.selfClosingStartTagState + elif data == ">" and appropriate: + self.currentToken = {"type": tokenTypes["EndTag"], + "name": self.temporaryBuffer, + "data": [], "selfClosing": False} + self.emitCurrentToken() + self.state = self.dataState + elif data in asciiLetters: + self.temporaryBuffer += data + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "</" + self.temporaryBuffer}) + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataDoubleEscapeStartState(self): + data = self.stream.char() + if data in (spaceCharacters | frozenset(("/", ">"))): + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + if self.temporaryBuffer.lower() == "script": + self.state = self.scriptDataDoubleEscapedState + else: + self.state = self.scriptDataEscapedState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.temporaryBuffer += data + else: + self.stream.unget(data) + self.state = self.scriptDataEscapedState + return True + + def scriptDataDoubleEscapedState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataDoubleEscapedDashState + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + return True + + def scriptDataDoubleEscapedDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + self.state = self.scriptDataDoubleEscapedDashDashState + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataDoubleEscapedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapedDashDashState(self): + data = self.stream.char() + if data == "-": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "-"}) + elif data == "<": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "<"}) + self.state = self.scriptDataDoubleEscapedLessThanSignState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": ">"}) + self.state = self.scriptDataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": "\uFFFD"}) + self.state = self.scriptDataDoubleEscapedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-script-in-script"}) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapedLessThanSignState(self): + data = self.stream.char() + if data == "/": + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": "/"}) + self.temporaryBuffer = "" + self.state = self.scriptDataDoubleEscapeEndState + else: + self.stream.unget(data) + self.state = self.scriptDataDoubleEscapedState + return True + + def scriptDataDoubleEscapeEndState(self): + data = self.stream.char() + if data in (spaceCharacters | frozenset(("/", ">"))): + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + if self.temporaryBuffer.lower() == "script": + self.state = self.scriptDataEscapedState + else: + self.state = self.scriptDataDoubleEscapedState + elif data in asciiLetters: + self.tokenQueue.append({"type": tokenTypes["Characters"], "data": data}) + self.temporaryBuffer += data + else: + self.stream.unget(data) + self.state = self.scriptDataDoubleEscapedState + return True + + def beforeAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == ">": + self.emitCurrentToken() + elif data == "/": + self.state = self.selfClosingStartTagState + elif data in ("'", '"', "=", "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"].append(["\uFFFD", ""]) + self.state = self.attributeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-name-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + return True + + def attributeNameState(self): + data = self.stream.char() + leavingThisState = True + emitToken = False + if data == "=": + self.state = self.beforeAttributeValueState + elif data in asciiLetters: + self.currentToken["data"][-1][0] += data +\ + self.stream.charsUntil(asciiLetters, True) + leavingThisState = False + elif data == ">": + # XXX If we emit here the attributes are converted to a dict + # without being checked and when the code below runs we error + # because data is a dict not a list + emitToken = True + elif data in spaceCharacters: + self.state = self.afterAttributeNameState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][0] += "\uFFFD" + leavingThisState = False + elif data in ("'", '"', "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "invalid-character-in-attribute-name"}) + self.currentToken["data"][-1][0] += data + leavingThisState = False + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "eof-in-attribute-name"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][0] += data + leavingThisState = False + + if leavingThisState: + # Attributes are not dropped at this stage. That happens when the + # start tag token is emitted so values can still be safely appended + # to attributes, but we do want to report the parse error in time. + self.currentToken["data"][-1][0] = ( + self.currentToken["data"][-1][0].translate(asciiUpper2Lower)) + for name, _ in self.currentToken["data"][:-1]: + if self.currentToken["data"][-1][0] == name: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "duplicate-attribute"}) + break + # XXX Fix for above XXX + if emitToken: + self.emitCurrentToken() + return True + + def afterAttributeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == "=": + self.state = self.beforeAttributeValueState + elif data == ">": + self.emitCurrentToken() + elif data in asciiLetters: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data == "/": + self.state = self.selfClosingStartTagState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"].append(["\uFFFD", ""]) + self.state = self.attributeNameState + elif data in ("'", '"', "<"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "invalid-character-after-attribute-name"}) + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-end-of-tag-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"].append([data, ""]) + self.state = self.attributeNameState + return True + + def beforeAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.stream.charsUntil(spaceCharacters, True) + elif data == "\"": + self.state = self.attributeValueDoubleQuotedState + elif data == "&": + self.state = self.attributeValueUnQuotedState + self.stream.unget(data) + elif data == "'": + self.state = self.attributeValueSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-right-bracket"}) + self.emitCurrentToken() + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + self.state = self.attributeValueUnQuotedState + elif data in ("=", "<", "`"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "equals-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + self.state = self.attributeValueUnQuotedState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-attribute-value-but-got-eof"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data + self.state = self.attributeValueUnQuotedState + return True + + def attributeValueDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterAttributeValueState + elif data == "&": + self.processEntityInAttribute('"') + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-double-quote"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("\"", "&", "\u0000")) + return True + + def attributeValueSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterAttributeValueState + elif data == "&": + self.processEntityInAttribute("'") + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-single-quote"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data +\ + self.stream.charsUntil(("'", "&", "\u0000")) + return True + + def attributeValueUnQuotedState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == "&": + self.processEntityInAttribute(">") + elif data == ">": + self.emitCurrentToken() + elif data in ('"', "'", "=", "<", "`"): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-in-unquoted-attribute-value"}) + self.currentToken["data"][-1][1] += data + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"][-1][1] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-attribute-value-no-quotes"}) + self.state = self.dataState + else: + self.currentToken["data"][-1][1] += data + self.stream.charsUntil( + frozenset(("&", ">", '"', "'", "=", "<", "`", "\u0000")) | spaceCharacters) + return True + + def afterAttributeValueState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeAttributeNameState + elif data == ">": + self.emitCurrentToken() + elif data == "/": + self.state = self.selfClosingStartTagState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-EOF-after-attribute-value"}) + self.stream.unget(data) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-attribute-value"}) + self.stream.unget(data) + self.state = self.beforeAttributeNameState + return True + + def selfClosingStartTagState(self): + data = self.stream.char() + if data == ">": + self.currentToken["selfClosing"] = True + self.emitCurrentToken() + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": + "unexpected-EOF-after-solidus-in-tag"}) + self.stream.unget(data) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-character-after-solidus-in-tag"}) + self.stream.unget(data) + self.state = self.beforeAttributeNameState + return True + + def bogusCommentState(self): + # Make a new comment token and give it as value all the characters + # until the first > or EOF (charsUntil checks for EOF automatically) + # and emit it. + data = self.stream.charsUntil(">") + data = data.replace("\u0000", "\uFFFD") + self.tokenQueue.append( + {"type": tokenTypes["Comment"], "data": data}) + + # Eat the character directly after the bogus comment which is either a + # ">" or an EOF. + self.stream.char() + self.state = self.dataState + return True + + def markupDeclarationOpenState(self): + charStack = [self.stream.char()] + if charStack[-1] == "-": + charStack.append(self.stream.char()) + if charStack[-1] == "-": + self.currentToken = {"type": tokenTypes["Comment"], "data": ""} + self.state = self.commentStartState + return True + elif charStack[-1] in ('d', 'D'): + matched = True + for expected in (('o', 'O'), ('c', 'C'), ('t', 'T'), + ('y', 'Y'), ('p', 'P'), ('e', 'E')): + charStack.append(self.stream.char()) + if charStack[-1] not in expected: + matched = False + break + if matched: + self.currentToken = {"type": tokenTypes["Doctype"], + "name": "", + "publicId": None, "systemId": None, + "correct": True} + self.state = self.doctypeState + return True + elif (charStack[-1] == "[" and + self.parser is not None and + self.parser.tree.openElements and + self.parser.tree.openElements[-1].namespace != self.parser.tree.defaultNamespace): + matched = True + for expected in ["C", "D", "A", "T", "A", "["]: + charStack.append(self.stream.char()) + if charStack[-1] != expected: + matched = False + break + if matched: + self.state = self.cdataSectionState + return True + + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-dashes-or-doctype"}) + + while charStack: + self.stream.unget(charStack.pop()) + self.state = self.bogusCommentState + return True + + def commentStartState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentStartDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + self.state = self.commentState + return True + + def commentStartDashState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "-\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "incorrect-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "-" + data + self.state = self.commentState + return True + + def commentState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "\uFFFD" + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "eof-in-comment"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += data + \ + self.stream.charsUntil(("-", "\u0000")) + return True + + def commentEndDashState(self): + data = self.stream.char() + if data == "-": + self.state = self.commentEndState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "-\uFFFD" + self.state = self.commentState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "-" + data + self.state = self.commentState + return True + + def commentEndState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "--\uFFFD" + self.state = self.commentState + elif data == "!": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-bang-after-double-dash-in-comment"}) + self.state = self.commentEndBangState + elif data == "-": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-dash-after-double-dash-in-comment"}) + self.currentToken["data"] += data + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-double-dash"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + # XXX + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-comment"}) + self.currentToken["data"] += "--" + data + self.state = self.commentState + return True + + def commentEndBangState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "-": + self.currentToken["data"] += "--!" + self.state = self.commentEndDashState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["data"] += "--!\uFFFD" + self.state = self.commentState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-comment-end-bang-state"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["data"] += "--!" + data + self.state = self.commentState + return True + + def doctypeState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "need-space-after-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypeNameState + return True + + def beforeDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-right-bracket"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] = "\uFFFD" + self.state = self.doctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-doctype-name-but-got-eof"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["name"] = data + self.state = self.doctypeNameState + return True + + def doctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.state = self.afterDoctypeNameState + elif data == ">": + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["name"] += "\uFFFD" + self.state = self.doctypeNameState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype-name"}) + self.currentToken["correct"] = False + self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["name"] += data + return True + + def afterDoctypeNameState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.currentToken["correct"] = False + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + if data in ("p", "P"): + matched = True + for expected in (("u", "U"), ("b", "B"), ("l", "L"), + ("i", "I"), ("c", "C")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.afterDoctypePublicKeywordState + return True + elif data in ("s", "S"): + matched = True + for expected in (("y", "Y"), ("s", "S"), ("t", "T"), + ("e", "E"), ("m", "M")): + data = self.stream.char() + if data not in expected: + matched = False + break + if matched: + self.state = self.afterDoctypeSystemKeywordState + return True + + # All the characters read before the current 'data' will be + # [a-zA-Z], so they're garbage in the bogus doctype and can be + # discarded; only the latest character might be '>' or EOF + # and needs to be ungetted + self.stream.unget(data) + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "expected-space-or-right-bracket-in-doctype", "datavars": + {"data": data}}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + + return True + + def afterDoctypePublicKeywordState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypePublicIdentifierState + elif data in ("'", '"'): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypePublicIdentifierState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.stream.unget(data) + self.state = self.beforeDoctypePublicIdentifierState + return True + + def beforeDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["publicId"] = "" + self.state = self.doctypePublicIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["publicId"] = "" + self.state = self.doctypePublicIdentifierSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def doctypePublicIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterDoctypePublicIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["publicId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["publicId"] += data + return True + + def doctypePublicIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterDoctypePublicIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["publicId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["publicId"] += data + return True + + def afterDoctypePublicIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.betweenDoctypePublicAndSystemIdentifiersState + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == '"': + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def betweenDoctypePublicAndSystemIdentifiersState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data == '"': + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data == EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def afterDoctypeSystemKeywordState(self): + data = self.stream.char() + if data in spaceCharacters: + self.state = self.beforeDoctypeSystemIdentifierState + elif data in ("'", '"'): + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.stream.unget(data) + self.state = self.beforeDoctypeSystemIdentifierState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.stream.unget(data) + self.state = self.beforeDoctypeSystemIdentifierState + return True + + def beforeDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == "\"": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierDoubleQuotedState + elif data == "'": + self.currentToken["systemId"] = "" + self.state = self.doctypeSystemIdentifierSingleQuotedState + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.currentToken["correct"] = False + self.state = self.bogusDoctypeState + return True + + def doctypeSystemIdentifierDoubleQuotedState(self): + data = self.stream.char() + if data == "\"": + self.state = self.afterDoctypeSystemIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["systemId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["systemId"] += data + return True + + def doctypeSystemIdentifierSingleQuotedState(self): + data = self.stream.char() + if data == "'": + self.state = self.afterDoctypeSystemIdentifierState + elif data == "\u0000": + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + self.currentToken["systemId"] += "\uFFFD" + elif data == ">": + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-end-of-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.currentToken["systemId"] += data + return True + + def afterDoctypeSystemIdentifierState(self): + data = self.stream.char() + if data in spaceCharacters: + pass + elif data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "eof-in-doctype"}) + self.currentToken["correct"] = False + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + self.tokenQueue.append({"type": tokenTypes["ParseError"], "data": + "unexpected-char-in-doctype"}) + self.state = self.bogusDoctypeState + return True + + def bogusDoctypeState(self): + data = self.stream.char() + if data == ">": + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + elif data is EOF: + # XXX EMIT + self.stream.unget(data) + self.tokenQueue.append(self.currentToken) + self.state = self.dataState + else: + pass + return True + + def cdataSectionState(self): + data = [] + while True: + data.append(self.stream.charsUntil("]")) + data.append(self.stream.charsUntil(">")) + char = self.stream.char() + if char == EOF: + break + else: + assert char == ">" + if data[-1][-2:] == "]]": + data[-1] = data[-1][:-2] + break + else: + data.append(char) + + data = "".join(data) # pylint:disable=redefined-variable-type + # Deal with null here rather than in the parser + nullCount = data.count("\u0000") + if nullCount > 0: + for _ in range(nullCount): + self.tokenQueue.append({"type": tokenTypes["ParseError"], + "data": "invalid-codepoint"}) + data = data.replace("\u0000", "\uFFFD") + if data: + self.tokenQueue.append({"type": tokenTypes["Characters"], + "data": data}) + self.state = self.dataState + return True diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/__init__.py new file mode 100644 index 0000000000..a5ba4bf123 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/__init__.py @@ -0,0 +1,14 @@ +from __future__ import absolute_import, division, unicode_literals + +from .py import Trie as PyTrie + +Trie = PyTrie + +# pylint:disable=wrong-import-position +try: + from .datrie import Trie as DATrie +except ImportError: + pass +else: + Trie = DATrie +# pylint:enable=wrong-import-position diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/_base.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/_base.py new file mode 100644 index 0000000000..a1158bbbfa --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/_base.py @@ -0,0 +1,37 @@ +from __future__ import absolute_import, division, unicode_literals + +from collections import Mapping + + +class Trie(Mapping): + """Abstract base class for tries""" + + def keys(self, prefix=None): + # pylint:disable=arguments-differ + keys = super(Trie, self).keys() + + if prefix is None: + return set(keys) + + return {x for x in keys if x.startswith(prefix)} + + def has_keys_with_prefix(self, prefix): + for key in self.keys(): + if key.startswith(prefix): + return True + + return False + + def longest_prefix(self, prefix): + if prefix in self: + return prefix + + for i in range(1, len(prefix) + 1): + if prefix[:-i] in self: + return prefix[:-i] + + raise KeyError(prefix) + + def longest_prefix_item(self, prefix): + lprefix = self.longest_prefix(prefix) + return (lprefix, self[lprefix]) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/datrie.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/datrie.py new file mode 100644 index 0000000000..e2e5f86621 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/datrie.py @@ -0,0 +1,44 @@ +from __future__ import absolute_import, division, unicode_literals + +from datrie import Trie as DATrie +from pip._vendor.six import text_type + +from ._base import Trie as ABCTrie + + +class Trie(ABCTrie): + def __init__(self, data): + chars = set() + for key in data.keys(): + if not isinstance(key, text_type): + raise TypeError("All keys must be strings") + for char in key: + chars.add(char) + + self._data = DATrie("".join(chars)) + for key, value in data.items(): + self._data[key] = value + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + raise NotImplementedError() + + def __getitem__(self, key): + return self._data[key] + + def keys(self, prefix=None): + return self._data.keys(prefix) + + def has_keys_with_prefix(self, prefix): + return self._data.has_keys_with_prefix(prefix) + + def longest_prefix(self, prefix): + return self._data.longest_prefix(prefix) + + def longest_prefix_item(self, prefix): + return self._data.longest_prefix_item(prefix) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/py.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/py.py new file mode 100644 index 0000000000..c178b219de --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_trie/py.py @@ -0,0 +1,67 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from bisect import bisect_left + +from ._base import Trie as ABCTrie + + +class Trie(ABCTrie): + def __init__(self, data): + if not all(isinstance(x, text_type) for x in data.keys()): + raise TypeError("All keys must be strings") + + self._data = data + self._keys = sorted(data.keys()) + self._cachestr = "" + self._cachepoints = (0, len(data)) + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, key): + return self._data[key] + + def keys(self, prefix=None): + if prefix is None or prefix == "" or not self._keys: + return set(self._keys) + + if prefix.startswith(self._cachestr): + lo, hi = self._cachepoints + start = i = bisect_left(self._keys, prefix, lo, hi) + else: + start = i = bisect_left(self._keys, prefix) + + keys = set() + if start == len(self._keys): + return keys + + while self._keys[i].startswith(prefix): + keys.add(self._keys[i]) + i += 1 + + self._cachestr = prefix + self._cachepoints = (start, i) + + return keys + + def has_keys_with_prefix(self, prefix): + if prefix in self._data: + return True + + if prefix.startswith(self._cachestr): + lo, hi = self._cachepoints + i = bisect_left(self._keys, prefix, lo, hi) + else: + i = bisect_left(self._keys, prefix) + + if i == len(self._keys): + return False + + return self._keys[i].startswith(prefix) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_utils.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_utils.py new file mode 100644 index 0000000000..0703afb38b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/_utils.py @@ -0,0 +1,124 @@ +from __future__ import absolute_import, division, unicode_literals + +from types import ModuleType + +from pip._vendor.six import text_type + +try: + import xml.etree.cElementTree as default_etree +except ImportError: + import xml.etree.ElementTree as default_etree + + +__all__ = ["default_etree", "MethodDispatcher", "isSurrogatePair", + "surrogatePairToCodepoint", "moduleFactoryFactory", + "supports_lone_surrogates"] + + +# Platforms not supporting lone surrogates (\uD800-\uDFFF) should be +# caught by the below test. In general this would be any platform +# using UTF-16 as its encoding of unicode strings, such as +# Jython. This is because UTF-16 itself is based on the use of such +# surrogates, and there is no mechanism to further escape such +# escapes. +try: + _x = eval('"\\uD800"') # pylint:disable=eval-used + if not isinstance(_x, text_type): + # We need this with u"" because of http://bugs.jython.org/issue2039 + _x = eval('u"\\uD800"') # pylint:disable=eval-used + assert isinstance(_x, text_type) +except: # pylint:disable=bare-except + supports_lone_surrogates = False +else: + supports_lone_surrogates = True + + +class MethodDispatcher(dict): + """Dict with 2 special properties: + + On initiation, keys that are lists, sets or tuples are converted to + multiple keys so accessing any one of the items in the original + list-like object returns the matching value + + md = MethodDispatcher({("foo", "bar"):"baz"}) + md["foo"] == "baz" + + A default value which can be set through the default attribute. + """ + + def __init__(self, items=()): + # Using _dictEntries instead of directly assigning to self is about + # twice as fast. Please do careful performance testing before changing + # anything here. + _dictEntries = [] + for name, value in items: + if isinstance(name, (list, tuple, frozenset, set)): + for item in name: + _dictEntries.append((item, value)) + else: + _dictEntries.append((name, value)) + dict.__init__(self, _dictEntries) + assert len(self) == len(_dictEntries) + self.default = None + + def __getitem__(self, key): + return dict.get(self, key, self.default) + + +# Some utility functions to deal with weirdness around UCS2 vs UCS4 +# python builds + +def isSurrogatePair(data): + return (len(data) == 2 and + ord(data[0]) >= 0xD800 and ord(data[0]) <= 0xDBFF and + ord(data[1]) >= 0xDC00 and ord(data[1]) <= 0xDFFF) + + +def surrogatePairToCodepoint(data): + char_val = (0x10000 + (ord(data[0]) - 0xD800) * 0x400 + + (ord(data[1]) - 0xDC00)) + return char_val + +# Module Factory Factory (no, this isn't Java, I know) +# Here to stop this being duplicated all over the place. + + +def moduleFactoryFactory(factory): + moduleCache = {} + + def moduleFactory(baseModule, *args, **kwargs): + if isinstance(ModuleType.__name__, type("")): + name = "_%s_factory" % baseModule.__name__ + else: + name = b"_%s_factory" % baseModule.__name__ + + kwargs_tuple = tuple(kwargs.items()) + + try: + return moduleCache[name][args][kwargs_tuple] + except KeyError: + mod = ModuleType(name) + objs = factory(baseModule, *args, **kwargs) + mod.__dict__.update(objs) + if "name" not in moduleCache: + moduleCache[name] = {} + if "args" not in moduleCache[name]: + moduleCache[name][args] = {} + if "kwargs" not in moduleCache[name][args]: + moduleCache[name][args][kwargs_tuple] = {} + moduleCache[name][args][kwargs_tuple] = mod + return mod + + return moduleFactory + + +def memoize(func): + cache = {} + + def wrapped(*args, **kwargs): + key = (tuple(args), tuple(kwargs.items())) + if key not in cache: + cache[key] = func(*args, **kwargs) + return cache[key] + + return wrapped diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/constants.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/constants.py new file mode 100644 index 0000000000..1ff804190c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/constants.py @@ -0,0 +1,2947 @@ +from __future__ import absolute_import, division, unicode_literals + +import string + +EOF = None + +E = { + "null-character": + "Null character in input stream, replaced with U+FFFD.", + "invalid-codepoint": + "Invalid codepoint in stream.", + "incorrectly-placed-solidus": + "Solidus (/) incorrectly placed in tag.", + "incorrect-cr-newline-entity": + "Incorrect CR newline entity, replaced with LF.", + "illegal-windows-1252-entity": + "Entity used with illegal number (windows-1252 reference).", + "cant-convert-numeric-entity": + "Numeric entity couldn't be converted to character " + "(codepoint U+%(charAsInt)08x).", + "illegal-codepoint-for-numeric-entity": + "Numeric entity represents an illegal codepoint: " + "U+%(charAsInt)08x.", + "numeric-entity-without-semicolon": + "Numeric entity didn't end with ';'.", + "expected-numeric-entity-but-got-eof": + "Numeric entity expected. Got end of file instead.", + "expected-numeric-entity": + "Numeric entity expected but none found.", + "named-entity-without-semicolon": + "Named entity didn't end with ';'.", + "expected-named-entity": + "Named entity expected. Got none.", + "attributes-in-end-tag": + "End tag contains unexpected attributes.", + 'self-closing-flag-on-end-tag': + "End tag contains unexpected self-closing flag.", + "expected-tag-name-but-got-right-bracket": + "Expected tag name. Got '>' instead.", + "expected-tag-name-but-got-question-mark": + "Expected tag name. Got '?' instead. (HTML doesn't " + "support processing instructions.)", + "expected-tag-name": + "Expected tag name. Got something else instead", + "expected-closing-tag-but-got-right-bracket": + "Expected closing tag. Got '>' instead. Ignoring '</>'.", + "expected-closing-tag-but-got-eof": + "Expected closing tag. Unexpected end of file.", + "expected-closing-tag-but-got-char": + "Expected closing tag. Unexpected character '%(data)s' found.", + "eof-in-tag-name": + "Unexpected end of file in the tag name.", + "expected-attribute-name-but-got-eof": + "Unexpected end of file. Expected attribute name instead.", + "eof-in-attribute-name": + "Unexpected end of file in attribute name.", + "invalid-character-in-attribute-name": + "Invalid character in attribute name", + "duplicate-attribute": + "Dropped duplicate attribute on tag.", + "expected-end-of-tag-name-but-got-eof": + "Unexpected end of file. Expected = or end of tag.", + "expected-attribute-value-but-got-eof": + "Unexpected end of file. Expected attribute value.", + "expected-attribute-value-but-got-right-bracket": + "Expected attribute value. Got '>' instead.", + 'equals-in-unquoted-attribute-value': + "Unexpected = in unquoted attribute", + 'unexpected-character-in-unquoted-attribute-value': + "Unexpected character in unquoted attribute", + "invalid-character-after-attribute-name": + "Unexpected character after attribute name.", + "unexpected-character-after-attribute-value": + "Unexpected character after attribute value.", + "eof-in-attribute-value-double-quote": + "Unexpected end of file in attribute value (\").", + "eof-in-attribute-value-single-quote": + "Unexpected end of file in attribute value (').", + "eof-in-attribute-value-no-quotes": + "Unexpected end of file in attribute value.", + "unexpected-EOF-after-solidus-in-tag": + "Unexpected end of file in tag. Expected >", + "unexpected-character-after-solidus-in-tag": + "Unexpected character after / in tag. Expected >", + "expected-dashes-or-doctype": + "Expected '--' or 'DOCTYPE'. Not found.", + "unexpected-bang-after-double-dash-in-comment": + "Unexpected ! after -- in comment", + "unexpected-space-after-double-dash-in-comment": + "Unexpected space after -- in comment", + "incorrect-comment": + "Incorrect comment.", + "eof-in-comment": + "Unexpected end of file in comment.", + "eof-in-comment-end-dash": + "Unexpected end of file in comment (-)", + "unexpected-dash-after-double-dash-in-comment": + "Unexpected '-' after '--' found in comment.", + "eof-in-comment-double-dash": + "Unexpected end of file in comment (--).", + "eof-in-comment-end-space-state": + "Unexpected end of file in comment.", + "eof-in-comment-end-bang-state": + "Unexpected end of file in comment.", + "unexpected-char-in-comment": + "Unexpected character in comment found.", + "need-space-after-doctype": + "No space after literal string 'DOCTYPE'.", + "expected-doctype-name-but-got-right-bracket": + "Unexpected > character. Expected DOCTYPE name.", + "expected-doctype-name-but-got-eof": + "Unexpected end of file. Expected DOCTYPE name.", + "eof-in-doctype-name": + "Unexpected end of file in DOCTYPE name.", + "eof-in-doctype": + "Unexpected end of file in DOCTYPE.", + "expected-space-or-right-bracket-in-doctype": + "Expected space or '>'. Got '%(data)s'", + "unexpected-end-of-doctype": + "Unexpected end of DOCTYPE.", + "unexpected-char-in-doctype": + "Unexpected character in DOCTYPE.", + "eof-in-innerhtml": + "XXX innerHTML EOF", + "unexpected-doctype": + "Unexpected DOCTYPE. Ignored.", + "non-html-root": + "html needs to be the first start tag.", + "expected-doctype-but-got-eof": + "Unexpected End of file. Expected DOCTYPE.", + "unknown-doctype": + "Erroneous DOCTYPE.", + "expected-doctype-but-got-chars": + "Unexpected non-space characters. Expected DOCTYPE.", + "expected-doctype-but-got-start-tag": + "Unexpected start tag (%(name)s). Expected DOCTYPE.", + "expected-doctype-but-got-end-tag": + "Unexpected end tag (%(name)s). Expected DOCTYPE.", + "end-tag-after-implied-root": + "Unexpected end tag (%(name)s) after the (implied) root element.", + "expected-named-closing-tag-but-got-eof": + "Unexpected end of file. Expected end tag (%(name)s).", + "two-heads-are-not-better-than-one": + "Unexpected start tag head in existing head. Ignored.", + "unexpected-end-tag": + "Unexpected end tag (%(name)s). Ignored.", + "unexpected-start-tag-out-of-my-head": + "Unexpected start tag (%(name)s) that can be in head. Moved.", + "unexpected-start-tag": + "Unexpected start tag (%(name)s).", + "missing-end-tag": + "Missing end tag (%(name)s).", + "missing-end-tags": + "Missing end tags (%(name)s).", + "unexpected-start-tag-implies-end-tag": + "Unexpected start tag (%(startName)s) " + "implies end tag (%(endName)s).", + "unexpected-start-tag-treated-as": + "Unexpected start tag (%(originalName)s). Treated as %(newName)s.", + "deprecated-tag": + "Unexpected start tag %(name)s. Don't use it!", + "unexpected-start-tag-ignored": + "Unexpected start tag %(name)s. Ignored.", + "expected-one-end-tag-but-got-another": + "Unexpected end tag (%(gotName)s). " + "Missing end tag (%(expectedName)s).", + "end-tag-too-early": + "End tag (%(name)s) seen too early. Expected other end tag.", + "end-tag-too-early-named": + "Unexpected end tag (%(gotName)s). Expected end tag (%(expectedName)s).", + "end-tag-too-early-ignored": + "End tag (%(name)s) seen too early. Ignored.", + "adoption-agency-1.1": + "End tag (%(name)s) violates step 1, " + "paragraph 1 of the adoption agency algorithm.", + "adoption-agency-1.2": + "End tag (%(name)s) violates step 1, " + "paragraph 2 of the adoption agency algorithm.", + "adoption-agency-1.3": + "End tag (%(name)s) violates step 1, " + "paragraph 3 of the adoption agency algorithm.", + "adoption-agency-4.4": + "End tag (%(name)s) violates step 4, " + "paragraph 4 of the adoption agency algorithm.", + "unexpected-end-tag-treated-as": + "Unexpected end tag (%(originalName)s). Treated as %(newName)s.", + "no-end-tag": + "This element (%(name)s) has no end tag.", + "unexpected-implied-end-tag-in-table": + "Unexpected implied end tag (%(name)s) in the table phase.", + "unexpected-implied-end-tag-in-table-body": + "Unexpected implied end tag (%(name)s) in the table body phase.", + "unexpected-char-implies-table-voodoo": + "Unexpected non-space characters in " + "table context caused voodoo mode.", + "unexpected-hidden-input-in-table": + "Unexpected input with type hidden in table context.", + "unexpected-form-in-table": + "Unexpected form in table context.", + "unexpected-start-tag-implies-table-voodoo": + "Unexpected start tag (%(name)s) in " + "table context caused voodoo mode.", + "unexpected-end-tag-implies-table-voodoo": + "Unexpected end tag (%(name)s) in " + "table context caused voodoo mode.", + "unexpected-cell-in-table-body": + "Unexpected table cell start tag (%(name)s) " + "in the table body phase.", + "unexpected-cell-end-tag": + "Got table cell end tag (%(name)s) " + "while required end tags are missing.", + "unexpected-end-tag-in-table-body": + "Unexpected end tag (%(name)s) in the table body phase. Ignored.", + "unexpected-implied-end-tag-in-table-row": + "Unexpected implied end tag (%(name)s) in the table row phase.", + "unexpected-end-tag-in-table-row": + "Unexpected end tag (%(name)s) in the table row phase. Ignored.", + "unexpected-select-in-select": + "Unexpected select start tag in the select phase " + "treated as select end tag.", + "unexpected-input-in-select": + "Unexpected input start tag in the select phase.", + "unexpected-start-tag-in-select": + "Unexpected start tag token (%(name)s in the select phase. " + "Ignored.", + "unexpected-end-tag-in-select": + "Unexpected end tag (%(name)s) in the select phase. Ignored.", + "unexpected-table-element-start-tag-in-select-in-table": + "Unexpected table element start tag (%(name)s) in the select in table phase.", + "unexpected-table-element-end-tag-in-select-in-table": + "Unexpected table element end tag (%(name)s) in the select in table phase.", + "unexpected-char-after-body": + "Unexpected non-space characters in the after body phase.", + "unexpected-start-tag-after-body": + "Unexpected start tag token (%(name)s)" + " in the after body phase.", + "unexpected-end-tag-after-body": + "Unexpected end tag token (%(name)s)" + " in the after body phase.", + "unexpected-char-in-frameset": + "Unexpected characters in the frameset phase. Characters ignored.", + "unexpected-start-tag-in-frameset": + "Unexpected start tag token (%(name)s)" + " in the frameset phase. Ignored.", + "unexpected-frameset-in-frameset-innerhtml": + "Unexpected end tag token (frameset) " + "in the frameset phase (innerHTML).", + "unexpected-end-tag-in-frameset": + "Unexpected end tag token (%(name)s)" + " in the frameset phase. Ignored.", + "unexpected-char-after-frameset": + "Unexpected non-space characters in the " + "after frameset phase. Ignored.", + "unexpected-start-tag-after-frameset": + "Unexpected start tag (%(name)s)" + " in the after frameset phase. Ignored.", + "unexpected-end-tag-after-frameset": + "Unexpected end tag (%(name)s)" + " in the after frameset phase. Ignored.", + "unexpected-end-tag-after-body-innerhtml": + "Unexpected end tag after body(innerHtml)", + "expected-eof-but-got-char": + "Unexpected non-space characters. Expected end of file.", + "expected-eof-but-got-start-tag": + "Unexpected start tag (%(name)s)" + ". Expected end of file.", + "expected-eof-but-got-end-tag": + "Unexpected end tag (%(name)s)" + ". Expected end of file.", + "eof-in-table": + "Unexpected end of file. Expected table content.", + "eof-in-select": + "Unexpected end of file. Expected select content.", + "eof-in-frameset": + "Unexpected end of file. Expected frameset content.", + "eof-in-script-in-script": + "Unexpected end of file. Expected script content.", + "eof-in-foreign-lands": + "Unexpected end of file. Expected foreign content", + "non-void-element-with-trailing-solidus": + "Trailing solidus not allowed on element %(name)s", + "unexpected-html-element-in-foreign-content": + "Element %(name)s not allowed in a non-html context", + "unexpected-end-tag-before-html": + "Unexpected end tag (%(name)s) before html.", + "unexpected-inhead-noscript-tag": + "Element %(name)s not allowed in a inhead-noscript context", + "eof-in-head-noscript": + "Unexpected end of file. Expected inhead-noscript content", + "char-in-head-noscript": + "Unexpected non-space character. Expected inhead-noscript content", + "XXX-undefined-error": + "Undefined error (this sucks and should be fixed)", +} + +namespaces = { + "html": "http://www.w3.org/1999/xhtml", + "mathml": "http://www.w3.org/1998/Math/MathML", + "svg": "http://www.w3.org/2000/svg", + "xlink": "http://www.w3.org/1999/xlink", + "xml": "http://www.w3.org/XML/1998/namespace", + "xmlns": "http://www.w3.org/2000/xmlns/" +} + +scopingElements = frozenset([ + (namespaces["html"], "applet"), + (namespaces["html"], "caption"), + (namespaces["html"], "html"), + (namespaces["html"], "marquee"), + (namespaces["html"], "object"), + (namespaces["html"], "table"), + (namespaces["html"], "td"), + (namespaces["html"], "th"), + (namespaces["mathml"], "mi"), + (namespaces["mathml"], "mo"), + (namespaces["mathml"], "mn"), + (namespaces["mathml"], "ms"), + (namespaces["mathml"], "mtext"), + (namespaces["mathml"], "annotation-xml"), + (namespaces["svg"], "foreignObject"), + (namespaces["svg"], "desc"), + (namespaces["svg"], "title"), +]) + +formattingElements = frozenset([ + (namespaces["html"], "a"), + (namespaces["html"], "b"), + (namespaces["html"], "big"), + (namespaces["html"], "code"), + (namespaces["html"], "em"), + (namespaces["html"], "font"), + (namespaces["html"], "i"), + (namespaces["html"], "nobr"), + (namespaces["html"], "s"), + (namespaces["html"], "small"), + (namespaces["html"], "strike"), + (namespaces["html"], "strong"), + (namespaces["html"], "tt"), + (namespaces["html"], "u") +]) + +specialElements = frozenset([ + (namespaces["html"], "address"), + (namespaces["html"], "applet"), + (namespaces["html"], "area"), + (namespaces["html"], "article"), + (namespaces["html"], "aside"), + (namespaces["html"], "base"), + (namespaces["html"], "basefont"), + (namespaces["html"], "bgsound"), + (namespaces["html"], "blockquote"), + (namespaces["html"], "body"), + (namespaces["html"], "br"), + (namespaces["html"], "button"), + (namespaces["html"], "caption"), + (namespaces["html"], "center"), + (namespaces["html"], "col"), + (namespaces["html"], "colgroup"), + (namespaces["html"], "command"), + (namespaces["html"], "dd"), + (namespaces["html"], "details"), + (namespaces["html"], "dir"), + (namespaces["html"], "div"), + (namespaces["html"], "dl"), + (namespaces["html"], "dt"), + (namespaces["html"], "embed"), + (namespaces["html"], "fieldset"), + (namespaces["html"], "figure"), + (namespaces["html"], "footer"), + (namespaces["html"], "form"), + (namespaces["html"], "frame"), + (namespaces["html"], "frameset"), + (namespaces["html"], "h1"), + (namespaces["html"], "h2"), + (namespaces["html"], "h3"), + (namespaces["html"], "h4"), + (namespaces["html"], "h5"), + (namespaces["html"], "h6"), + (namespaces["html"], "head"), + (namespaces["html"], "header"), + (namespaces["html"], "hr"), + (namespaces["html"], "html"), + (namespaces["html"], "iframe"), + # Note that image is commented out in the spec as "this isn't an + # element that can end up on the stack, so it doesn't matter," + (namespaces["html"], "image"), + (namespaces["html"], "img"), + (namespaces["html"], "input"), + (namespaces["html"], "isindex"), + (namespaces["html"], "li"), + (namespaces["html"], "link"), + (namespaces["html"], "listing"), + (namespaces["html"], "marquee"), + (namespaces["html"], "menu"), + (namespaces["html"], "meta"), + (namespaces["html"], "nav"), + (namespaces["html"], "noembed"), + (namespaces["html"], "noframes"), + (namespaces["html"], "noscript"), + (namespaces["html"], "object"), + (namespaces["html"], "ol"), + (namespaces["html"], "p"), + (namespaces["html"], "param"), + (namespaces["html"], "plaintext"), + (namespaces["html"], "pre"), + (namespaces["html"], "script"), + (namespaces["html"], "section"), + (namespaces["html"], "select"), + (namespaces["html"], "style"), + (namespaces["html"], "table"), + (namespaces["html"], "tbody"), + (namespaces["html"], "td"), + (namespaces["html"], "textarea"), + (namespaces["html"], "tfoot"), + (namespaces["html"], "th"), + (namespaces["html"], "thead"), + (namespaces["html"], "title"), + (namespaces["html"], "tr"), + (namespaces["html"], "ul"), + (namespaces["html"], "wbr"), + (namespaces["html"], "xmp"), + (namespaces["svg"], "foreignObject") +]) + +htmlIntegrationPointElements = frozenset([ + (namespaces["mathml"], "annotation-xml"), + (namespaces["svg"], "foreignObject"), + (namespaces["svg"], "desc"), + (namespaces["svg"], "title") +]) + +mathmlTextIntegrationPointElements = frozenset([ + (namespaces["mathml"], "mi"), + (namespaces["mathml"], "mo"), + (namespaces["mathml"], "mn"), + (namespaces["mathml"], "ms"), + (namespaces["mathml"], "mtext") +]) + +adjustSVGAttributes = { + "attributename": "attributeName", + "attributetype": "attributeType", + "basefrequency": "baseFrequency", + "baseprofile": "baseProfile", + "calcmode": "calcMode", + "clippathunits": "clipPathUnits", + "contentscripttype": "contentScriptType", + "contentstyletype": "contentStyleType", + "diffuseconstant": "diffuseConstant", + "edgemode": "edgeMode", + "externalresourcesrequired": "externalResourcesRequired", + "filterres": "filterRes", + "filterunits": "filterUnits", + "glyphref": "glyphRef", + "gradienttransform": "gradientTransform", + "gradientunits": "gradientUnits", + "kernelmatrix": "kernelMatrix", + "kernelunitlength": "kernelUnitLength", + "keypoints": "keyPoints", + "keysplines": "keySplines", + "keytimes": "keyTimes", + "lengthadjust": "lengthAdjust", + "limitingconeangle": "limitingConeAngle", + "markerheight": "markerHeight", + "markerunits": "markerUnits", + "markerwidth": "markerWidth", + "maskcontentunits": "maskContentUnits", + "maskunits": "maskUnits", + "numoctaves": "numOctaves", + "pathlength": "pathLength", + "patterncontentunits": "patternContentUnits", + "patterntransform": "patternTransform", + "patternunits": "patternUnits", + "pointsatx": "pointsAtX", + "pointsaty": "pointsAtY", + "pointsatz": "pointsAtZ", + "preservealpha": "preserveAlpha", + "preserveaspectratio": "preserveAspectRatio", + "primitiveunits": "primitiveUnits", + "refx": "refX", + "refy": "refY", + "repeatcount": "repeatCount", + "repeatdur": "repeatDur", + "requiredextensions": "requiredExtensions", + "requiredfeatures": "requiredFeatures", + "specularconstant": "specularConstant", + "specularexponent": "specularExponent", + "spreadmethod": "spreadMethod", + "startoffset": "startOffset", + "stddeviation": "stdDeviation", + "stitchtiles": "stitchTiles", + "surfacescale": "surfaceScale", + "systemlanguage": "systemLanguage", + "tablevalues": "tableValues", + "targetx": "targetX", + "targety": "targetY", + "textlength": "textLength", + "viewbox": "viewBox", + "viewtarget": "viewTarget", + "xchannelselector": "xChannelSelector", + "ychannelselector": "yChannelSelector", + "zoomandpan": "zoomAndPan" +} + +adjustMathMLAttributes = {"definitionurl": "definitionURL"} + +adjustForeignAttributes = { + "xlink:actuate": ("xlink", "actuate", namespaces["xlink"]), + "xlink:arcrole": ("xlink", "arcrole", namespaces["xlink"]), + "xlink:href": ("xlink", "href", namespaces["xlink"]), + "xlink:role": ("xlink", "role", namespaces["xlink"]), + "xlink:show": ("xlink", "show", namespaces["xlink"]), + "xlink:title": ("xlink", "title", namespaces["xlink"]), + "xlink:type": ("xlink", "type", namespaces["xlink"]), + "xml:base": ("xml", "base", namespaces["xml"]), + "xml:lang": ("xml", "lang", namespaces["xml"]), + "xml:space": ("xml", "space", namespaces["xml"]), + "xmlns": (None, "xmlns", namespaces["xmlns"]), + "xmlns:xlink": ("xmlns", "xlink", namespaces["xmlns"]) +} + +unadjustForeignAttributes = dict([((ns, local), qname) for qname, (prefix, local, ns) in + adjustForeignAttributes.items()]) + +spaceCharacters = frozenset([ + "\t", + "\n", + "\u000C", + " ", + "\r" +]) + +tableInsertModeElements = frozenset([ + "table", + "tbody", + "tfoot", + "thead", + "tr" +]) + +asciiLowercase = frozenset(string.ascii_lowercase) +asciiUppercase = frozenset(string.ascii_uppercase) +asciiLetters = frozenset(string.ascii_letters) +digits = frozenset(string.digits) +hexDigits = frozenset(string.hexdigits) + +asciiUpper2Lower = dict([(ord(c), ord(c.lower())) + for c in string.ascii_uppercase]) + +# Heading elements need to be ordered +headingElements = ( + "h1", + "h2", + "h3", + "h4", + "h5", + "h6" +) + +voidElements = frozenset([ + "base", + "command", + "event-source", + "link", + "meta", + "hr", + "br", + "img", + "embed", + "param", + "area", + "col", + "input", + "source", + "track" +]) + +cdataElements = frozenset(['title', 'textarea']) + +rcdataElements = frozenset([ + 'style', + 'script', + 'xmp', + 'iframe', + 'noembed', + 'noframes', + 'noscript' +]) + +booleanAttributes = { + "": frozenset(["irrelevant", "itemscope"]), + "style": frozenset(["scoped"]), + "img": frozenset(["ismap"]), + "audio": frozenset(["autoplay", "controls"]), + "video": frozenset(["autoplay", "controls"]), + "script": frozenset(["defer", "async"]), + "details": frozenset(["open"]), + "datagrid": frozenset(["multiple", "disabled"]), + "command": frozenset(["hidden", "disabled", "checked", "default"]), + "hr": frozenset(["noshade"]), + "menu": frozenset(["autosubmit"]), + "fieldset": frozenset(["disabled", "readonly"]), + "option": frozenset(["disabled", "readonly", "selected"]), + "optgroup": frozenset(["disabled", "readonly"]), + "button": frozenset(["disabled", "autofocus"]), + "input": frozenset(["disabled", "readonly", "required", "autofocus", "checked", "ismap"]), + "select": frozenset(["disabled", "readonly", "autofocus", "multiple"]), + "output": frozenset(["disabled", "readonly"]), + "iframe": frozenset(["seamless"]), +} + +# entitiesWindows1252 has to be _ordered_ and needs to have an index. It +# therefore can't be a frozenset. +entitiesWindows1252 = ( + 8364, # 0x80 0x20AC EURO SIGN + 65533, # 0x81 UNDEFINED + 8218, # 0x82 0x201A SINGLE LOW-9 QUOTATION MARK + 402, # 0x83 0x0192 LATIN SMALL LETTER F WITH HOOK + 8222, # 0x84 0x201E DOUBLE LOW-9 QUOTATION MARK + 8230, # 0x85 0x2026 HORIZONTAL ELLIPSIS + 8224, # 0x86 0x2020 DAGGER + 8225, # 0x87 0x2021 DOUBLE DAGGER + 710, # 0x88 0x02C6 MODIFIER LETTER CIRCUMFLEX ACCENT + 8240, # 0x89 0x2030 PER MILLE SIGN + 352, # 0x8A 0x0160 LATIN CAPITAL LETTER S WITH CARON + 8249, # 0x8B 0x2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 338, # 0x8C 0x0152 LATIN CAPITAL LIGATURE OE + 65533, # 0x8D UNDEFINED + 381, # 0x8E 0x017D LATIN CAPITAL LETTER Z WITH CARON + 65533, # 0x8F UNDEFINED + 65533, # 0x90 UNDEFINED + 8216, # 0x91 0x2018 LEFT SINGLE QUOTATION MARK + 8217, # 0x92 0x2019 RIGHT SINGLE QUOTATION MARK + 8220, # 0x93 0x201C LEFT DOUBLE QUOTATION MARK + 8221, # 0x94 0x201D RIGHT DOUBLE QUOTATION MARK + 8226, # 0x95 0x2022 BULLET + 8211, # 0x96 0x2013 EN DASH + 8212, # 0x97 0x2014 EM DASH + 732, # 0x98 0x02DC SMALL TILDE + 8482, # 0x99 0x2122 TRADE MARK SIGN + 353, # 0x9A 0x0161 LATIN SMALL LETTER S WITH CARON + 8250, # 0x9B 0x203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 339, # 0x9C 0x0153 LATIN SMALL LIGATURE OE + 65533, # 0x9D UNDEFINED + 382, # 0x9E 0x017E LATIN SMALL LETTER Z WITH CARON + 376 # 0x9F 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS +) + +xmlEntities = frozenset(['lt;', 'gt;', 'amp;', 'apos;', 'quot;']) + +entities = { + "AElig": "\xc6", + "AElig;": "\xc6", + "AMP": "&", + "AMP;": "&", + "Aacute": "\xc1", + "Aacute;": "\xc1", + "Abreve;": "\u0102", + "Acirc": "\xc2", + "Acirc;": "\xc2", + "Acy;": "\u0410", + "Afr;": "\U0001d504", + "Agrave": "\xc0", + "Agrave;": "\xc0", + "Alpha;": "\u0391", + "Amacr;": "\u0100", + "And;": "\u2a53", + "Aogon;": "\u0104", + "Aopf;": "\U0001d538", + "ApplyFunction;": "\u2061", + "Aring": "\xc5", + "Aring;": "\xc5", + "Ascr;": "\U0001d49c", + "Assign;": "\u2254", + "Atilde": "\xc3", + "Atilde;": "\xc3", + "Auml": "\xc4", + "Auml;": "\xc4", + "Backslash;": "\u2216", + "Barv;": "\u2ae7", + "Barwed;": "\u2306", + "Bcy;": "\u0411", + "Because;": "\u2235", + "Bernoullis;": "\u212c", + "Beta;": "\u0392", + "Bfr;": "\U0001d505", + "Bopf;": "\U0001d539", + "Breve;": "\u02d8", + "Bscr;": "\u212c", + "Bumpeq;": "\u224e", + "CHcy;": "\u0427", + "COPY": "\xa9", + "COPY;": "\xa9", + "Cacute;": "\u0106", + "Cap;": "\u22d2", + "CapitalDifferentialD;": "\u2145", + "Cayleys;": "\u212d", + "Ccaron;": "\u010c", + "Ccedil": "\xc7", + "Ccedil;": "\xc7", + "Ccirc;": "\u0108", + "Cconint;": "\u2230", + "Cdot;": "\u010a", + "Cedilla;": "\xb8", + "CenterDot;": "\xb7", + "Cfr;": "\u212d", + "Chi;": "\u03a7", + "CircleDot;": "\u2299", + "CircleMinus;": "\u2296", + "CirclePlus;": "\u2295", + "CircleTimes;": "\u2297", + "ClockwiseContourIntegral;": "\u2232", + "CloseCurlyDoubleQuote;": "\u201d", + "CloseCurlyQuote;": "\u2019", + "Colon;": "\u2237", + "Colone;": "\u2a74", + "Congruent;": "\u2261", + "Conint;": "\u222f", + "ContourIntegral;": "\u222e", + "Copf;": "\u2102", + "Coproduct;": "\u2210", + "CounterClockwiseContourIntegral;": "\u2233", + "Cross;": "\u2a2f", + "Cscr;": "\U0001d49e", + "Cup;": "\u22d3", + "CupCap;": "\u224d", + "DD;": "\u2145", + "DDotrahd;": "\u2911", + "DJcy;": "\u0402", + "DScy;": "\u0405", + "DZcy;": "\u040f", + "Dagger;": "\u2021", + "Darr;": "\u21a1", + "Dashv;": "\u2ae4", + "Dcaron;": "\u010e", + "Dcy;": "\u0414", + "Del;": "\u2207", + "Delta;": "\u0394", + "Dfr;": "\U0001d507", + "DiacriticalAcute;": "\xb4", + "DiacriticalDot;": "\u02d9", + "DiacriticalDoubleAcute;": "\u02dd", + "DiacriticalGrave;": "`", + "DiacriticalTilde;": "\u02dc", + "Diamond;": "\u22c4", + "DifferentialD;": "\u2146", + "Dopf;": "\U0001d53b", + "Dot;": "\xa8", + "DotDot;": "\u20dc", + "DotEqual;": "\u2250", + "DoubleContourIntegral;": "\u222f", + "DoubleDot;": "\xa8", + "DoubleDownArrow;": "\u21d3", + "DoubleLeftArrow;": "\u21d0", + "DoubleLeftRightArrow;": "\u21d4", + "DoubleLeftTee;": "\u2ae4", + "DoubleLongLeftArrow;": "\u27f8", + "DoubleLongLeftRightArrow;": "\u27fa", + "DoubleLongRightArrow;": "\u27f9", + "DoubleRightArrow;": "\u21d2", + "DoubleRightTee;": "\u22a8", + "DoubleUpArrow;": "\u21d1", + "DoubleUpDownArrow;": "\u21d5", + "DoubleVerticalBar;": "\u2225", + "DownArrow;": "\u2193", + "DownArrowBar;": "\u2913", + "DownArrowUpArrow;": "\u21f5", + "DownBreve;": "\u0311", + "DownLeftRightVector;": "\u2950", + "DownLeftTeeVector;": "\u295e", + "DownLeftVector;": "\u21bd", + "DownLeftVectorBar;": "\u2956", + "DownRightTeeVector;": "\u295f", + "DownRightVector;": "\u21c1", + "DownRightVectorBar;": "\u2957", + "DownTee;": "\u22a4", + "DownTeeArrow;": "\u21a7", + "Downarrow;": "\u21d3", + "Dscr;": "\U0001d49f", + "Dstrok;": "\u0110", + "ENG;": "\u014a", + "ETH": "\xd0", + "ETH;": "\xd0", + "Eacute": "\xc9", + "Eacute;": "\xc9", + "Ecaron;": "\u011a", + "Ecirc": "\xca", + "Ecirc;": "\xca", + "Ecy;": "\u042d", + "Edot;": "\u0116", + "Efr;": "\U0001d508", + "Egrave": "\xc8", + "Egrave;": "\xc8", + "Element;": "\u2208", + "Emacr;": "\u0112", + "EmptySmallSquare;": "\u25fb", + "EmptyVerySmallSquare;": "\u25ab", + "Eogon;": "\u0118", + "Eopf;": "\U0001d53c", + "Epsilon;": "\u0395", + "Equal;": "\u2a75", + "EqualTilde;": "\u2242", + "Equilibrium;": "\u21cc", + "Escr;": "\u2130", + "Esim;": "\u2a73", + "Eta;": "\u0397", + "Euml": "\xcb", + "Euml;": "\xcb", + "Exists;": "\u2203", + "ExponentialE;": "\u2147", + "Fcy;": "\u0424", + "Ffr;": "\U0001d509", + "FilledSmallSquare;": "\u25fc", + "FilledVerySmallSquare;": "\u25aa", + "Fopf;": "\U0001d53d", + "ForAll;": "\u2200", + "Fouriertrf;": "\u2131", + "Fscr;": "\u2131", + "GJcy;": "\u0403", + "GT": ">", + "GT;": ">", + "Gamma;": "\u0393", + "Gammad;": "\u03dc", + "Gbreve;": "\u011e", + "Gcedil;": "\u0122", + "Gcirc;": "\u011c", + "Gcy;": "\u0413", + "Gdot;": "\u0120", + "Gfr;": "\U0001d50a", + "Gg;": "\u22d9", + "Gopf;": "\U0001d53e", + "GreaterEqual;": "\u2265", + "GreaterEqualLess;": "\u22db", + "GreaterFullEqual;": "\u2267", + "GreaterGreater;": "\u2aa2", + "GreaterLess;": "\u2277", + "GreaterSlantEqual;": "\u2a7e", + "GreaterTilde;": "\u2273", + "Gscr;": "\U0001d4a2", + "Gt;": "\u226b", + "HARDcy;": "\u042a", + "Hacek;": "\u02c7", + "Hat;": "^", + "Hcirc;": "\u0124", + "Hfr;": "\u210c", + "HilbertSpace;": "\u210b", + "Hopf;": "\u210d", + "HorizontalLine;": "\u2500", + "Hscr;": "\u210b", + "Hstrok;": "\u0126", + "HumpDownHump;": "\u224e", + "HumpEqual;": "\u224f", + "IEcy;": "\u0415", + "IJlig;": "\u0132", + "IOcy;": "\u0401", + "Iacute": "\xcd", + "Iacute;": "\xcd", + "Icirc": "\xce", + "Icirc;": "\xce", + "Icy;": "\u0418", + "Idot;": "\u0130", + "Ifr;": "\u2111", + "Igrave": "\xcc", + "Igrave;": "\xcc", + "Im;": "\u2111", + "Imacr;": "\u012a", + "ImaginaryI;": "\u2148", + "Implies;": "\u21d2", + "Int;": "\u222c", + "Integral;": "\u222b", + "Intersection;": "\u22c2", + "InvisibleComma;": "\u2063", + "InvisibleTimes;": "\u2062", + "Iogon;": "\u012e", + "Iopf;": "\U0001d540", + "Iota;": "\u0399", + "Iscr;": "\u2110", + "Itilde;": "\u0128", + "Iukcy;": "\u0406", + "Iuml": "\xcf", + "Iuml;": "\xcf", + "Jcirc;": "\u0134", + "Jcy;": "\u0419", + "Jfr;": "\U0001d50d", + "Jopf;": "\U0001d541", + "Jscr;": "\U0001d4a5", + "Jsercy;": "\u0408", + "Jukcy;": "\u0404", + "KHcy;": "\u0425", + "KJcy;": "\u040c", + "Kappa;": "\u039a", + "Kcedil;": "\u0136", + "Kcy;": "\u041a", + "Kfr;": "\U0001d50e", + "Kopf;": "\U0001d542", + "Kscr;": "\U0001d4a6", + "LJcy;": "\u0409", + "LT": "<", + "LT;": "<", + "Lacute;": "\u0139", + "Lambda;": "\u039b", + "Lang;": "\u27ea", + "Laplacetrf;": "\u2112", + "Larr;": "\u219e", + "Lcaron;": "\u013d", + "Lcedil;": "\u013b", + "Lcy;": "\u041b", + "LeftAngleBracket;": "\u27e8", + "LeftArrow;": "\u2190", + "LeftArrowBar;": "\u21e4", + "LeftArrowRightArrow;": "\u21c6", + "LeftCeiling;": "\u2308", + "LeftDoubleBracket;": "\u27e6", + "LeftDownTeeVector;": "\u2961", + "LeftDownVector;": "\u21c3", + "LeftDownVectorBar;": "\u2959", + "LeftFloor;": "\u230a", + "LeftRightArrow;": "\u2194", + "LeftRightVector;": "\u294e", + "LeftTee;": "\u22a3", + "LeftTeeArrow;": "\u21a4", + "LeftTeeVector;": "\u295a", + "LeftTriangle;": "\u22b2", + "LeftTriangleBar;": "\u29cf", + "LeftTriangleEqual;": "\u22b4", + "LeftUpDownVector;": "\u2951", + "LeftUpTeeVector;": "\u2960", + "LeftUpVector;": "\u21bf", + "LeftUpVectorBar;": "\u2958", + "LeftVector;": "\u21bc", + "LeftVectorBar;": "\u2952", + "Leftarrow;": "\u21d0", + "Leftrightarrow;": "\u21d4", + "LessEqualGreater;": "\u22da", + "LessFullEqual;": "\u2266", + "LessGreater;": "\u2276", + "LessLess;": "\u2aa1", + "LessSlantEqual;": "\u2a7d", + "LessTilde;": "\u2272", + "Lfr;": "\U0001d50f", + "Ll;": "\u22d8", + "Lleftarrow;": "\u21da", + "Lmidot;": "\u013f", + "LongLeftArrow;": "\u27f5", + "LongLeftRightArrow;": "\u27f7", + "LongRightArrow;": "\u27f6", + "Longleftarrow;": "\u27f8", + "Longleftrightarrow;": "\u27fa", + "Longrightarrow;": "\u27f9", + "Lopf;": "\U0001d543", + "LowerLeftArrow;": "\u2199", + "LowerRightArrow;": "\u2198", + "Lscr;": "\u2112", + "Lsh;": "\u21b0", + "Lstrok;": "\u0141", + "Lt;": "\u226a", + "Map;": "\u2905", + "Mcy;": "\u041c", + "MediumSpace;": "\u205f", + "Mellintrf;": "\u2133", + "Mfr;": "\U0001d510", + "MinusPlus;": "\u2213", + "Mopf;": "\U0001d544", + "Mscr;": "\u2133", + "Mu;": "\u039c", + "NJcy;": "\u040a", + "Nacute;": "\u0143", + "Ncaron;": "\u0147", + "Ncedil;": "\u0145", + "Ncy;": "\u041d", + "NegativeMediumSpace;": "\u200b", + "NegativeThickSpace;": "\u200b", + "NegativeThinSpace;": "\u200b", + "NegativeVeryThinSpace;": "\u200b", + "NestedGreaterGreater;": "\u226b", + "NestedLessLess;": "\u226a", + "NewLine;": "\n", + "Nfr;": "\U0001d511", + "NoBreak;": "\u2060", + "NonBreakingSpace;": "\xa0", + "Nopf;": "\u2115", + "Not;": "\u2aec", + "NotCongruent;": "\u2262", + "NotCupCap;": "\u226d", + "NotDoubleVerticalBar;": "\u2226", + "NotElement;": "\u2209", + "NotEqual;": "\u2260", + "NotEqualTilde;": "\u2242\u0338", + "NotExists;": "\u2204", + "NotGreater;": "\u226f", + "NotGreaterEqual;": "\u2271", + "NotGreaterFullEqual;": "\u2267\u0338", + "NotGreaterGreater;": "\u226b\u0338", + "NotGreaterLess;": "\u2279", + "NotGreaterSlantEqual;": "\u2a7e\u0338", + "NotGreaterTilde;": "\u2275", + "NotHumpDownHump;": "\u224e\u0338", + "NotHumpEqual;": "\u224f\u0338", + "NotLeftTriangle;": "\u22ea", + "NotLeftTriangleBar;": "\u29cf\u0338", + "NotLeftTriangleEqual;": "\u22ec", + "NotLess;": "\u226e", + "NotLessEqual;": "\u2270", + "NotLessGreater;": "\u2278", + "NotLessLess;": "\u226a\u0338", + "NotLessSlantEqual;": "\u2a7d\u0338", + "NotLessTilde;": "\u2274", + "NotNestedGreaterGreater;": "\u2aa2\u0338", + "NotNestedLessLess;": "\u2aa1\u0338", + "NotPrecedes;": "\u2280", + "NotPrecedesEqual;": "\u2aaf\u0338", + "NotPrecedesSlantEqual;": "\u22e0", + "NotReverseElement;": "\u220c", + "NotRightTriangle;": "\u22eb", + "NotRightTriangleBar;": "\u29d0\u0338", + "NotRightTriangleEqual;": "\u22ed", + "NotSquareSubset;": "\u228f\u0338", + "NotSquareSubsetEqual;": "\u22e2", + "NotSquareSuperset;": "\u2290\u0338", + "NotSquareSupersetEqual;": "\u22e3", + "NotSubset;": "\u2282\u20d2", + "NotSubsetEqual;": "\u2288", + "NotSucceeds;": "\u2281", + "NotSucceedsEqual;": "\u2ab0\u0338", + "NotSucceedsSlantEqual;": "\u22e1", + "NotSucceedsTilde;": "\u227f\u0338", + "NotSuperset;": "\u2283\u20d2", + "NotSupersetEqual;": "\u2289", + "NotTilde;": "\u2241", + "NotTildeEqual;": "\u2244", + "NotTildeFullEqual;": "\u2247", + "NotTildeTilde;": "\u2249", + "NotVerticalBar;": "\u2224", + "Nscr;": "\U0001d4a9", + "Ntilde": "\xd1", + "Ntilde;": "\xd1", + "Nu;": "\u039d", + "OElig;": "\u0152", + "Oacute": "\xd3", + "Oacute;": "\xd3", + "Ocirc": "\xd4", + "Ocirc;": "\xd4", + "Ocy;": "\u041e", + "Odblac;": "\u0150", + "Ofr;": "\U0001d512", + "Ograve": "\xd2", + "Ograve;": "\xd2", + "Omacr;": "\u014c", + "Omega;": "\u03a9", + "Omicron;": "\u039f", + "Oopf;": "\U0001d546", + "OpenCurlyDoubleQuote;": "\u201c", + "OpenCurlyQuote;": "\u2018", + "Or;": "\u2a54", + "Oscr;": "\U0001d4aa", + "Oslash": "\xd8", + "Oslash;": "\xd8", + "Otilde": "\xd5", + "Otilde;": "\xd5", + "Otimes;": "\u2a37", + "Ouml": "\xd6", + "Ouml;": "\xd6", + "OverBar;": "\u203e", + "OverBrace;": "\u23de", + "OverBracket;": "\u23b4", + "OverParenthesis;": "\u23dc", + "PartialD;": "\u2202", + "Pcy;": "\u041f", + "Pfr;": "\U0001d513", + "Phi;": "\u03a6", + "Pi;": "\u03a0", + "PlusMinus;": "\xb1", + "Poincareplane;": "\u210c", + "Popf;": "\u2119", + "Pr;": "\u2abb", + "Precedes;": "\u227a", + "PrecedesEqual;": "\u2aaf", + "PrecedesSlantEqual;": "\u227c", + "PrecedesTilde;": "\u227e", + "Prime;": "\u2033", + "Product;": "\u220f", + "Proportion;": "\u2237", + "Proportional;": "\u221d", + "Pscr;": "\U0001d4ab", + "Psi;": "\u03a8", + "QUOT": "\"", + "QUOT;": "\"", + "Qfr;": "\U0001d514", + "Qopf;": "\u211a", + "Qscr;": "\U0001d4ac", + "RBarr;": "\u2910", + "REG": "\xae", + "REG;": "\xae", + "Racute;": "\u0154", + "Rang;": "\u27eb", + "Rarr;": "\u21a0", + "Rarrtl;": "\u2916", + "Rcaron;": "\u0158", + "Rcedil;": "\u0156", + "Rcy;": "\u0420", + "Re;": "\u211c", + "ReverseElement;": "\u220b", + "ReverseEquilibrium;": "\u21cb", + "ReverseUpEquilibrium;": "\u296f", + "Rfr;": "\u211c", + "Rho;": "\u03a1", + "RightAngleBracket;": "\u27e9", + "RightArrow;": "\u2192", + "RightArrowBar;": "\u21e5", + "RightArrowLeftArrow;": "\u21c4", + "RightCeiling;": "\u2309", + "RightDoubleBracket;": "\u27e7", + "RightDownTeeVector;": "\u295d", + "RightDownVector;": "\u21c2", + "RightDownVectorBar;": "\u2955", + "RightFloor;": "\u230b", + "RightTee;": "\u22a2", + "RightTeeArrow;": "\u21a6", + "RightTeeVector;": "\u295b", + "RightTriangle;": "\u22b3", + "RightTriangleBar;": "\u29d0", + "RightTriangleEqual;": "\u22b5", + "RightUpDownVector;": "\u294f", + "RightUpTeeVector;": "\u295c", + "RightUpVector;": "\u21be", + "RightUpVectorBar;": "\u2954", + "RightVector;": "\u21c0", + "RightVectorBar;": "\u2953", + "Rightarrow;": "\u21d2", + "Ropf;": "\u211d", + "RoundImplies;": "\u2970", + "Rrightarrow;": "\u21db", + "Rscr;": "\u211b", + "Rsh;": "\u21b1", + "RuleDelayed;": "\u29f4", + "SHCHcy;": "\u0429", + "SHcy;": "\u0428", + "SOFTcy;": "\u042c", + "Sacute;": "\u015a", + "Sc;": "\u2abc", + "Scaron;": "\u0160", + "Scedil;": "\u015e", + "Scirc;": "\u015c", + "Scy;": "\u0421", + "Sfr;": "\U0001d516", + "ShortDownArrow;": "\u2193", + "ShortLeftArrow;": "\u2190", + "ShortRightArrow;": "\u2192", + "ShortUpArrow;": "\u2191", + "Sigma;": "\u03a3", + "SmallCircle;": "\u2218", + "Sopf;": "\U0001d54a", + "Sqrt;": "\u221a", + "Square;": "\u25a1", + "SquareIntersection;": "\u2293", + "SquareSubset;": "\u228f", + "SquareSubsetEqual;": "\u2291", + "SquareSuperset;": "\u2290", + "SquareSupersetEqual;": "\u2292", + "SquareUnion;": "\u2294", + "Sscr;": "\U0001d4ae", + "Star;": "\u22c6", + "Sub;": "\u22d0", + "Subset;": "\u22d0", + "SubsetEqual;": "\u2286", + "Succeeds;": "\u227b", + "SucceedsEqual;": "\u2ab0", + "SucceedsSlantEqual;": "\u227d", + "SucceedsTilde;": "\u227f", + "SuchThat;": "\u220b", + "Sum;": "\u2211", + "Sup;": "\u22d1", + "Superset;": "\u2283", + "SupersetEqual;": "\u2287", + "Supset;": "\u22d1", + "THORN": "\xde", + "THORN;": "\xde", + "TRADE;": "\u2122", + "TSHcy;": "\u040b", + "TScy;": "\u0426", + "Tab;": "\t", + "Tau;": "\u03a4", + "Tcaron;": "\u0164", + "Tcedil;": "\u0162", + "Tcy;": "\u0422", + "Tfr;": "\U0001d517", + "Therefore;": "\u2234", + "Theta;": "\u0398", + "ThickSpace;": "\u205f\u200a", + "ThinSpace;": "\u2009", + "Tilde;": "\u223c", + "TildeEqual;": "\u2243", + "TildeFullEqual;": "\u2245", + "TildeTilde;": "\u2248", + "Topf;": "\U0001d54b", + "TripleDot;": "\u20db", + "Tscr;": "\U0001d4af", + "Tstrok;": "\u0166", + "Uacute": "\xda", + "Uacute;": "\xda", + "Uarr;": "\u219f", + "Uarrocir;": "\u2949", + "Ubrcy;": "\u040e", + "Ubreve;": "\u016c", + "Ucirc": "\xdb", + "Ucirc;": "\xdb", + "Ucy;": "\u0423", + "Udblac;": "\u0170", + "Ufr;": "\U0001d518", + "Ugrave": "\xd9", + "Ugrave;": "\xd9", + "Umacr;": "\u016a", + "UnderBar;": "_", + "UnderBrace;": "\u23df", + "UnderBracket;": "\u23b5", + "UnderParenthesis;": "\u23dd", + "Union;": "\u22c3", + "UnionPlus;": "\u228e", + "Uogon;": "\u0172", + "Uopf;": "\U0001d54c", + "UpArrow;": "\u2191", + "UpArrowBar;": "\u2912", + "UpArrowDownArrow;": "\u21c5", + "UpDownArrow;": "\u2195", + "UpEquilibrium;": "\u296e", + "UpTee;": "\u22a5", + "UpTeeArrow;": "\u21a5", + "Uparrow;": "\u21d1", + "Updownarrow;": "\u21d5", + "UpperLeftArrow;": "\u2196", + "UpperRightArrow;": "\u2197", + "Upsi;": "\u03d2", + "Upsilon;": "\u03a5", + "Uring;": "\u016e", + "Uscr;": "\U0001d4b0", + "Utilde;": "\u0168", + "Uuml": "\xdc", + "Uuml;": "\xdc", + "VDash;": "\u22ab", + "Vbar;": "\u2aeb", + "Vcy;": "\u0412", + "Vdash;": "\u22a9", + "Vdashl;": "\u2ae6", + "Vee;": "\u22c1", + "Verbar;": "\u2016", + "Vert;": "\u2016", + "VerticalBar;": "\u2223", + "VerticalLine;": "|", + "VerticalSeparator;": "\u2758", + "VerticalTilde;": "\u2240", + "VeryThinSpace;": "\u200a", + "Vfr;": "\U0001d519", + "Vopf;": "\U0001d54d", + "Vscr;": "\U0001d4b1", + "Vvdash;": "\u22aa", + "Wcirc;": "\u0174", + "Wedge;": "\u22c0", + "Wfr;": "\U0001d51a", + "Wopf;": "\U0001d54e", + "Wscr;": "\U0001d4b2", + "Xfr;": "\U0001d51b", + "Xi;": "\u039e", + "Xopf;": "\U0001d54f", + "Xscr;": "\U0001d4b3", + "YAcy;": "\u042f", + "YIcy;": "\u0407", + "YUcy;": "\u042e", + "Yacute": "\xdd", + "Yacute;": "\xdd", + "Ycirc;": "\u0176", + "Ycy;": "\u042b", + "Yfr;": "\U0001d51c", + "Yopf;": "\U0001d550", + "Yscr;": "\U0001d4b4", + "Yuml;": "\u0178", + "ZHcy;": "\u0416", + "Zacute;": "\u0179", + "Zcaron;": "\u017d", + "Zcy;": "\u0417", + "Zdot;": "\u017b", + "ZeroWidthSpace;": "\u200b", + "Zeta;": "\u0396", + "Zfr;": "\u2128", + "Zopf;": "\u2124", + "Zscr;": "\U0001d4b5", + "aacute": "\xe1", + "aacute;": "\xe1", + "abreve;": "\u0103", + "ac;": "\u223e", + "acE;": "\u223e\u0333", + "acd;": "\u223f", + "acirc": "\xe2", + "acirc;": "\xe2", + "acute": "\xb4", + "acute;": "\xb4", + "acy;": "\u0430", + "aelig": "\xe6", + "aelig;": "\xe6", + "af;": "\u2061", + "afr;": "\U0001d51e", + "agrave": "\xe0", + "agrave;": "\xe0", + "alefsym;": "\u2135", + "aleph;": "\u2135", + "alpha;": "\u03b1", + "amacr;": "\u0101", + "amalg;": "\u2a3f", + "amp": "&", + "amp;": "&", + "and;": "\u2227", + "andand;": "\u2a55", + "andd;": "\u2a5c", + "andslope;": "\u2a58", + "andv;": "\u2a5a", + "ang;": "\u2220", + "ange;": "\u29a4", + "angle;": "\u2220", + "angmsd;": "\u2221", + "angmsdaa;": "\u29a8", + "angmsdab;": "\u29a9", + "angmsdac;": "\u29aa", + "angmsdad;": "\u29ab", + "angmsdae;": "\u29ac", + "angmsdaf;": "\u29ad", + "angmsdag;": "\u29ae", + "angmsdah;": "\u29af", + "angrt;": "\u221f", + "angrtvb;": "\u22be", + "angrtvbd;": "\u299d", + "angsph;": "\u2222", + "angst;": "\xc5", + "angzarr;": "\u237c", + "aogon;": "\u0105", + "aopf;": "\U0001d552", + "ap;": "\u2248", + "apE;": "\u2a70", + "apacir;": "\u2a6f", + "ape;": "\u224a", + "apid;": "\u224b", + "apos;": "'", + "approx;": "\u2248", + "approxeq;": "\u224a", + "aring": "\xe5", + "aring;": "\xe5", + "ascr;": "\U0001d4b6", + "ast;": "*", + "asymp;": "\u2248", + "asympeq;": "\u224d", + "atilde": "\xe3", + "atilde;": "\xe3", + "auml": "\xe4", + "auml;": "\xe4", + "awconint;": "\u2233", + "awint;": "\u2a11", + "bNot;": "\u2aed", + "backcong;": "\u224c", + "backepsilon;": "\u03f6", + "backprime;": "\u2035", + "backsim;": "\u223d", + "backsimeq;": "\u22cd", + "barvee;": "\u22bd", + "barwed;": "\u2305", + "barwedge;": "\u2305", + "bbrk;": "\u23b5", + "bbrktbrk;": "\u23b6", + "bcong;": "\u224c", + "bcy;": "\u0431", + "bdquo;": "\u201e", + "becaus;": "\u2235", + "because;": "\u2235", + "bemptyv;": "\u29b0", + "bepsi;": "\u03f6", + "bernou;": "\u212c", + "beta;": "\u03b2", + "beth;": "\u2136", + "between;": "\u226c", + "bfr;": "\U0001d51f", + "bigcap;": "\u22c2", + "bigcirc;": "\u25ef", + "bigcup;": "\u22c3", + "bigodot;": "\u2a00", + "bigoplus;": "\u2a01", + "bigotimes;": "\u2a02", + "bigsqcup;": "\u2a06", + "bigstar;": "\u2605", + "bigtriangledown;": "\u25bd", + "bigtriangleup;": "\u25b3", + "biguplus;": "\u2a04", + "bigvee;": "\u22c1", + "bigwedge;": "\u22c0", + "bkarow;": "\u290d", + "blacklozenge;": "\u29eb", + "blacksquare;": "\u25aa", + "blacktriangle;": "\u25b4", + "blacktriangledown;": "\u25be", + "blacktriangleleft;": "\u25c2", + "blacktriangleright;": "\u25b8", + "blank;": "\u2423", + "blk12;": "\u2592", + "blk14;": "\u2591", + "blk34;": "\u2593", + "block;": "\u2588", + "bne;": "=\u20e5", + "bnequiv;": "\u2261\u20e5", + "bnot;": "\u2310", + "bopf;": "\U0001d553", + "bot;": "\u22a5", + "bottom;": "\u22a5", + "bowtie;": "\u22c8", + "boxDL;": "\u2557", + "boxDR;": "\u2554", + "boxDl;": "\u2556", + "boxDr;": "\u2553", + "boxH;": "\u2550", + "boxHD;": "\u2566", + "boxHU;": "\u2569", + "boxHd;": "\u2564", + "boxHu;": "\u2567", + "boxUL;": "\u255d", + "boxUR;": "\u255a", + "boxUl;": "\u255c", + "boxUr;": "\u2559", + "boxV;": "\u2551", + "boxVH;": "\u256c", + "boxVL;": "\u2563", + "boxVR;": "\u2560", + "boxVh;": "\u256b", + "boxVl;": "\u2562", + "boxVr;": "\u255f", + "boxbox;": "\u29c9", + "boxdL;": "\u2555", + "boxdR;": "\u2552", + "boxdl;": "\u2510", + "boxdr;": "\u250c", + "boxh;": "\u2500", + "boxhD;": "\u2565", + "boxhU;": "\u2568", + "boxhd;": "\u252c", + "boxhu;": "\u2534", + "boxminus;": "\u229f", + "boxplus;": "\u229e", + "boxtimes;": "\u22a0", + "boxuL;": "\u255b", + "boxuR;": "\u2558", + "boxul;": "\u2518", + "boxur;": "\u2514", + "boxv;": "\u2502", + "boxvH;": "\u256a", + "boxvL;": "\u2561", + "boxvR;": "\u255e", + "boxvh;": "\u253c", + "boxvl;": "\u2524", + "boxvr;": "\u251c", + "bprime;": "\u2035", + "breve;": "\u02d8", + "brvbar": "\xa6", + "brvbar;": "\xa6", + "bscr;": "\U0001d4b7", + "bsemi;": "\u204f", + "bsim;": "\u223d", + "bsime;": "\u22cd", + "bsol;": "\\", + "bsolb;": "\u29c5", + "bsolhsub;": "\u27c8", + "bull;": "\u2022", + "bullet;": "\u2022", + "bump;": "\u224e", + "bumpE;": "\u2aae", + "bumpe;": "\u224f", + "bumpeq;": "\u224f", + "cacute;": "\u0107", + "cap;": "\u2229", + "capand;": "\u2a44", + "capbrcup;": "\u2a49", + "capcap;": "\u2a4b", + "capcup;": "\u2a47", + "capdot;": "\u2a40", + "caps;": "\u2229\ufe00", + "caret;": "\u2041", + "caron;": "\u02c7", + "ccaps;": "\u2a4d", + "ccaron;": "\u010d", + "ccedil": "\xe7", + "ccedil;": "\xe7", + "ccirc;": "\u0109", + "ccups;": "\u2a4c", + "ccupssm;": "\u2a50", + "cdot;": "\u010b", + "cedil": "\xb8", + "cedil;": "\xb8", + "cemptyv;": "\u29b2", + "cent": "\xa2", + "cent;": "\xa2", + "centerdot;": "\xb7", + "cfr;": "\U0001d520", + "chcy;": "\u0447", + "check;": "\u2713", + "checkmark;": "\u2713", + "chi;": "\u03c7", + "cir;": "\u25cb", + "cirE;": "\u29c3", + "circ;": "\u02c6", + "circeq;": "\u2257", + "circlearrowleft;": "\u21ba", + "circlearrowright;": "\u21bb", + "circledR;": "\xae", + "circledS;": "\u24c8", + "circledast;": "\u229b", + "circledcirc;": "\u229a", + "circleddash;": "\u229d", + "cire;": "\u2257", + "cirfnint;": "\u2a10", + "cirmid;": "\u2aef", + "cirscir;": "\u29c2", + "clubs;": "\u2663", + "clubsuit;": "\u2663", + "colon;": ":", + "colone;": "\u2254", + "coloneq;": "\u2254", + "comma;": ",", + "commat;": "@", + "comp;": "\u2201", + "compfn;": "\u2218", + "complement;": "\u2201", + "complexes;": "\u2102", + "cong;": "\u2245", + "congdot;": "\u2a6d", + "conint;": "\u222e", + "copf;": "\U0001d554", + "coprod;": "\u2210", + "copy": "\xa9", + "copy;": "\xa9", + "copysr;": "\u2117", + "crarr;": "\u21b5", + "cross;": "\u2717", + "cscr;": "\U0001d4b8", + "csub;": "\u2acf", + "csube;": "\u2ad1", + "csup;": "\u2ad0", + "csupe;": "\u2ad2", + "ctdot;": "\u22ef", + "cudarrl;": "\u2938", + "cudarrr;": "\u2935", + "cuepr;": "\u22de", + "cuesc;": "\u22df", + "cularr;": "\u21b6", + "cularrp;": "\u293d", + "cup;": "\u222a", + "cupbrcap;": "\u2a48", + "cupcap;": "\u2a46", + "cupcup;": "\u2a4a", + "cupdot;": "\u228d", + "cupor;": "\u2a45", + "cups;": "\u222a\ufe00", + "curarr;": "\u21b7", + "curarrm;": "\u293c", + "curlyeqprec;": "\u22de", + "curlyeqsucc;": "\u22df", + "curlyvee;": "\u22ce", + "curlywedge;": "\u22cf", + "curren": "\xa4", + "curren;": "\xa4", + "curvearrowleft;": "\u21b6", + "curvearrowright;": "\u21b7", + "cuvee;": "\u22ce", + "cuwed;": "\u22cf", + "cwconint;": "\u2232", + "cwint;": "\u2231", + "cylcty;": "\u232d", + "dArr;": "\u21d3", + "dHar;": "\u2965", + "dagger;": "\u2020", + "daleth;": "\u2138", + "darr;": "\u2193", + "dash;": "\u2010", + "dashv;": "\u22a3", + "dbkarow;": "\u290f", + "dblac;": "\u02dd", + "dcaron;": "\u010f", + "dcy;": "\u0434", + "dd;": "\u2146", + "ddagger;": "\u2021", + "ddarr;": "\u21ca", + "ddotseq;": "\u2a77", + "deg": "\xb0", + "deg;": "\xb0", + "delta;": "\u03b4", + "demptyv;": "\u29b1", + "dfisht;": "\u297f", + "dfr;": "\U0001d521", + "dharl;": "\u21c3", + "dharr;": "\u21c2", + "diam;": "\u22c4", + "diamond;": "\u22c4", + "diamondsuit;": "\u2666", + "diams;": "\u2666", + "die;": "\xa8", + "digamma;": "\u03dd", + "disin;": "\u22f2", + "div;": "\xf7", + "divide": "\xf7", + "divide;": "\xf7", + "divideontimes;": "\u22c7", + "divonx;": "\u22c7", + "djcy;": "\u0452", + "dlcorn;": "\u231e", + "dlcrop;": "\u230d", + "dollar;": "$", + "dopf;": "\U0001d555", + "dot;": "\u02d9", + "doteq;": "\u2250", + "doteqdot;": "\u2251", + "dotminus;": "\u2238", + "dotplus;": "\u2214", + "dotsquare;": "\u22a1", + "doublebarwedge;": "\u2306", + "downarrow;": "\u2193", + "downdownarrows;": "\u21ca", + "downharpoonleft;": "\u21c3", + "downharpoonright;": "\u21c2", + "drbkarow;": "\u2910", + "drcorn;": "\u231f", + "drcrop;": "\u230c", + "dscr;": "\U0001d4b9", + "dscy;": "\u0455", + "dsol;": "\u29f6", + "dstrok;": "\u0111", + "dtdot;": "\u22f1", + "dtri;": "\u25bf", + "dtrif;": "\u25be", + "duarr;": "\u21f5", + "duhar;": "\u296f", + "dwangle;": "\u29a6", + "dzcy;": "\u045f", + "dzigrarr;": "\u27ff", + "eDDot;": "\u2a77", + "eDot;": "\u2251", + "eacute": "\xe9", + "eacute;": "\xe9", + "easter;": "\u2a6e", + "ecaron;": "\u011b", + "ecir;": "\u2256", + "ecirc": "\xea", + "ecirc;": "\xea", + "ecolon;": "\u2255", + "ecy;": "\u044d", + "edot;": "\u0117", + "ee;": "\u2147", + "efDot;": "\u2252", + "efr;": "\U0001d522", + "eg;": "\u2a9a", + "egrave": "\xe8", + "egrave;": "\xe8", + "egs;": "\u2a96", + "egsdot;": "\u2a98", + "el;": "\u2a99", + "elinters;": "\u23e7", + "ell;": "\u2113", + "els;": "\u2a95", + "elsdot;": "\u2a97", + "emacr;": "\u0113", + "empty;": "\u2205", + "emptyset;": "\u2205", + "emptyv;": "\u2205", + "emsp13;": "\u2004", + "emsp14;": "\u2005", + "emsp;": "\u2003", + "eng;": "\u014b", + "ensp;": "\u2002", + "eogon;": "\u0119", + "eopf;": "\U0001d556", + "epar;": "\u22d5", + "eparsl;": "\u29e3", + "eplus;": "\u2a71", + "epsi;": "\u03b5", + "epsilon;": "\u03b5", + "epsiv;": "\u03f5", + "eqcirc;": "\u2256", + "eqcolon;": "\u2255", + "eqsim;": "\u2242", + "eqslantgtr;": "\u2a96", + "eqslantless;": "\u2a95", + "equals;": "=", + "equest;": "\u225f", + "equiv;": "\u2261", + "equivDD;": "\u2a78", + "eqvparsl;": "\u29e5", + "erDot;": "\u2253", + "erarr;": "\u2971", + "escr;": "\u212f", + "esdot;": "\u2250", + "esim;": "\u2242", + "eta;": "\u03b7", + "eth": "\xf0", + "eth;": "\xf0", + "euml": "\xeb", + "euml;": "\xeb", + "euro;": "\u20ac", + "excl;": "!", + "exist;": "\u2203", + "expectation;": "\u2130", + "exponentiale;": "\u2147", + "fallingdotseq;": "\u2252", + "fcy;": "\u0444", + "female;": "\u2640", + "ffilig;": "\ufb03", + "fflig;": "\ufb00", + "ffllig;": "\ufb04", + "ffr;": "\U0001d523", + "filig;": "\ufb01", + "fjlig;": "fj", + "flat;": "\u266d", + "fllig;": "\ufb02", + "fltns;": "\u25b1", + "fnof;": "\u0192", + "fopf;": "\U0001d557", + "forall;": "\u2200", + "fork;": "\u22d4", + "forkv;": "\u2ad9", + "fpartint;": "\u2a0d", + "frac12": "\xbd", + "frac12;": "\xbd", + "frac13;": "\u2153", + "frac14": "\xbc", + "frac14;": "\xbc", + "frac15;": "\u2155", + "frac16;": "\u2159", + "frac18;": "\u215b", + "frac23;": "\u2154", + "frac25;": "\u2156", + "frac34": "\xbe", + "frac34;": "\xbe", + "frac35;": "\u2157", + "frac38;": "\u215c", + "frac45;": "\u2158", + "frac56;": "\u215a", + "frac58;": "\u215d", + "frac78;": "\u215e", + "frasl;": "\u2044", + "frown;": "\u2322", + "fscr;": "\U0001d4bb", + "gE;": "\u2267", + "gEl;": "\u2a8c", + "gacute;": "\u01f5", + "gamma;": "\u03b3", + "gammad;": "\u03dd", + "gap;": "\u2a86", + "gbreve;": "\u011f", + "gcirc;": "\u011d", + "gcy;": "\u0433", + "gdot;": "\u0121", + "ge;": "\u2265", + "gel;": "\u22db", + "geq;": "\u2265", + "geqq;": "\u2267", + "geqslant;": "\u2a7e", + "ges;": "\u2a7e", + "gescc;": "\u2aa9", + "gesdot;": "\u2a80", + "gesdoto;": "\u2a82", + "gesdotol;": "\u2a84", + "gesl;": "\u22db\ufe00", + "gesles;": "\u2a94", + "gfr;": "\U0001d524", + "gg;": "\u226b", + "ggg;": "\u22d9", + "gimel;": "\u2137", + "gjcy;": "\u0453", + "gl;": "\u2277", + "glE;": "\u2a92", + "gla;": "\u2aa5", + "glj;": "\u2aa4", + "gnE;": "\u2269", + "gnap;": "\u2a8a", + "gnapprox;": "\u2a8a", + "gne;": "\u2a88", + "gneq;": "\u2a88", + "gneqq;": "\u2269", + "gnsim;": "\u22e7", + "gopf;": "\U0001d558", + "grave;": "`", + "gscr;": "\u210a", + "gsim;": "\u2273", + "gsime;": "\u2a8e", + "gsiml;": "\u2a90", + "gt": ">", + "gt;": ">", + "gtcc;": "\u2aa7", + "gtcir;": "\u2a7a", + "gtdot;": "\u22d7", + "gtlPar;": "\u2995", + "gtquest;": "\u2a7c", + "gtrapprox;": "\u2a86", + "gtrarr;": "\u2978", + "gtrdot;": "\u22d7", + "gtreqless;": "\u22db", + "gtreqqless;": "\u2a8c", + "gtrless;": "\u2277", + "gtrsim;": "\u2273", + "gvertneqq;": "\u2269\ufe00", + "gvnE;": "\u2269\ufe00", + "hArr;": "\u21d4", + "hairsp;": "\u200a", + "half;": "\xbd", + "hamilt;": "\u210b", + "hardcy;": "\u044a", + "harr;": "\u2194", + "harrcir;": "\u2948", + "harrw;": "\u21ad", + "hbar;": "\u210f", + "hcirc;": "\u0125", + "hearts;": "\u2665", + "heartsuit;": "\u2665", + "hellip;": "\u2026", + "hercon;": "\u22b9", + "hfr;": "\U0001d525", + "hksearow;": "\u2925", + "hkswarow;": "\u2926", + "hoarr;": "\u21ff", + "homtht;": "\u223b", + "hookleftarrow;": "\u21a9", + "hookrightarrow;": "\u21aa", + "hopf;": "\U0001d559", + "horbar;": "\u2015", + "hscr;": "\U0001d4bd", + "hslash;": "\u210f", + "hstrok;": "\u0127", + "hybull;": "\u2043", + "hyphen;": "\u2010", + "iacute": "\xed", + "iacute;": "\xed", + "ic;": "\u2063", + "icirc": "\xee", + "icirc;": "\xee", + "icy;": "\u0438", + "iecy;": "\u0435", + "iexcl": "\xa1", + "iexcl;": "\xa1", + "iff;": "\u21d4", + "ifr;": "\U0001d526", + "igrave": "\xec", + "igrave;": "\xec", + "ii;": "\u2148", + "iiiint;": "\u2a0c", + "iiint;": "\u222d", + "iinfin;": "\u29dc", + "iiota;": "\u2129", + "ijlig;": "\u0133", + "imacr;": "\u012b", + "image;": "\u2111", + "imagline;": "\u2110", + "imagpart;": "\u2111", + "imath;": "\u0131", + "imof;": "\u22b7", + "imped;": "\u01b5", + "in;": "\u2208", + "incare;": "\u2105", + "infin;": "\u221e", + "infintie;": "\u29dd", + "inodot;": "\u0131", + "int;": "\u222b", + "intcal;": "\u22ba", + "integers;": "\u2124", + "intercal;": "\u22ba", + "intlarhk;": "\u2a17", + "intprod;": "\u2a3c", + "iocy;": "\u0451", + "iogon;": "\u012f", + "iopf;": "\U0001d55a", + "iota;": "\u03b9", + "iprod;": "\u2a3c", + "iquest": "\xbf", + "iquest;": "\xbf", + "iscr;": "\U0001d4be", + "isin;": "\u2208", + "isinE;": "\u22f9", + "isindot;": "\u22f5", + "isins;": "\u22f4", + "isinsv;": "\u22f3", + "isinv;": "\u2208", + "it;": "\u2062", + "itilde;": "\u0129", + "iukcy;": "\u0456", + "iuml": "\xef", + "iuml;": "\xef", + "jcirc;": "\u0135", + "jcy;": "\u0439", + "jfr;": "\U0001d527", + "jmath;": "\u0237", + "jopf;": "\U0001d55b", + "jscr;": "\U0001d4bf", + "jsercy;": "\u0458", + "jukcy;": "\u0454", + "kappa;": "\u03ba", + "kappav;": "\u03f0", + "kcedil;": "\u0137", + "kcy;": "\u043a", + "kfr;": "\U0001d528", + "kgreen;": "\u0138", + "khcy;": "\u0445", + "kjcy;": "\u045c", + "kopf;": "\U0001d55c", + "kscr;": "\U0001d4c0", + "lAarr;": "\u21da", + "lArr;": "\u21d0", + "lAtail;": "\u291b", + "lBarr;": "\u290e", + "lE;": "\u2266", + "lEg;": "\u2a8b", + "lHar;": "\u2962", + "lacute;": "\u013a", + "laemptyv;": "\u29b4", + "lagran;": "\u2112", + "lambda;": "\u03bb", + "lang;": "\u27e8", + "langd;": "\u2991", + "langle;": "\u27e8", + "lap;": "\u2a85", + "laquo": "\xab", + "laquo;": "\xab", + "larr;": "\u2190", + "larrb;": "\u21e4", + "larrbfs;": "\u291f", + "larrfs;": "\u291d", + "larrhk;": "\u21a9", + "larrlp;": "\u21ab", + "larrpl;": "\u2939", + "larrsim;": "\u2973", + "larrtl;": "\u21a2", + "lat;": "\u2aab", + "latail;": "\u2919", + "late;": "\u2aad", + "lates;": "\u2aad\ufe00", + "lbarr;": "\u290c", + "lbbrk;": "\u2772", + "lbrace;": "{", + "lbrack;": "[", + "lbrke;": "\u298b", + "lbrksld;": "\u298f", + "lbrkslu;": "\u298d", + "lcaron;": "\u013e", + "lcedil;": "\u013c", + "lceil;": "\u2308", + "lcub;": "{", + "lcy;": "\u043b", + "ldca;": "\u2936", + "ldquo;": "\u201c", + "ldquor;": "\u201e", + "ldrdhar;": "\u2967", + "ldrushar;": "\u294b", + "ldsh;": "\u21b2", + "le;": "\u2264", + "leftarrow;": "\u2190", + "leftarrowtail;": "\u21a2", + "leftharpoondown;": "\u21bd", + "leftharpoonup;": "\u21bc", + "leftleftarrows;": "\u21c7", + "leftrightarrow;": "\u2194", + "leftrightarrows;": "\u21c6", + "leftrightharpoons;": "\u21cb", + "leftrightsquigarrow;": "\u21ad", + "leftthreetimes;": "\u22cb", + "leg;": "\u22da", + "leq;": "\u2264", + "leqq;": "\u2266", + "leqslant;": "\u2a7d", + "les;": "\u2a7d", + "lescc;": "\u2aa8", + "lesdot;": "\u2a7f", + "lesdoto;": "\u2a81", + "lesdotor;": "\u2a83", + "lesg;": "\u22da\ufe00", + "lesges;": "\u2a93", + "lessapprox;": "\u2a85", + "lessdot;": "\u22d6", + "lesseqgtr;": "\u22da", + "lesseqqgtr;": "\u2a8b", + "lessgtr;": "\u2276", + "lesssim;": "\u2272", + "lfisht;": "\u297c", + "lfloor;": "\u230a", + "lfr;": "\U0001d529", + "lg;": "\u2276", + "lgE;": "\u2a91", + "lhard;": "\u21bd", + "lharu;": "\u21bc", + "lharul;": "\u296a", + "lhblk;": "\u2584", + "ljcy;": "\u0459", + "ll;": "\u226a", + "llarr;": "\u21c7", + "llcorner;": "\u231e", + "llhard;": "\u296b", + "lltri;": "\u25fa", + "lmidot;": "\u0140", + "lmoust;": "\u23b0", + "lmoustache;": "\u23b0", + "lnE;": "\u2268", + "lnap;": "\u2a89", + "lnapprox;": "\u2a89", + "lne;": "\u2a87", + "lneq;": "\u2a87", + "lneqq;": "\u2268", + "lnsim;": "\u22e6", + "loang;": "\u27ec", + "loarr;": "\u21fd", + "lobrk;": "\u27e6", + "longleftarrow;": "\u27f5", + "longleftrightarrow;": "\u27f7", + "longmapsto;": "\u27fc", + "longrightarrow;": "\u27f6", + "looparrowleft;": "\u21ab", + "looparrowright;": "\u21ac", + "lopar;": "\u2985", + "lopf;": "\U0001d55d", + "loplus;": "\u2a2d", + "lotimes;": "\u2a34", + "lowast;": "\u2217", + "lowbar;": "_", + "loz;": "\u25ca", + "lozenge;": "\u25ca", + "lozf;": "\u29eb", + "lpar;": "(", + "lparlt;": "\u2993", + "lrarr;": "\u21c6", + "lrcorner;": "\u231f", + "lrhar;": "\u21cb", + "lrhard;": "\u296d", + "lrm;": "\u200e", + "lrtri;": "\u22bf", + "lsaquo;": "\u2039", + "lscr;": "\U0001d4c1", + "lsh;": "\u21b0", + "lsim;": "\u2272", + "lsime;": "\u2a8d", + "lsimg;": "\u2a8f", + "lsqb;": "[", + "lsquo;": "\u2018", + "lsquor;": "\u201a", + "lstrok;": "\u0142", + "lt": "<", + "lt;": "<", + "ltcc;": "\u2aa6", + "ltcir;": "\u2a79", + "ltdot;": "\u22d6", + "lthree;": "\u22cb", + "ltimes;": "\u22c9", + "ltlarr;": "\u2976", + "ltquest;": "\u2a7b", + "ltrPar;": "\u2996", + "ltri;": "\u25c3", + "ltrie;": "\u22b4", + "ltrif;": "\u25c2", + "lurdshar;": "\u294a", + "luruhar;": "\u2966", + "lvertneqq;": "\u2268\ufe00", + "lvnE;": "\u2268\ufe00", + "mDDot;": "\u223a", + "macr": "\xaf", + "macr;": "\xaf", + "male;": "\u2642", + "malt;": "\u2720", + "maltese;": "\u2720", + "map;": "\u21a6", + "mapsto;": "\u21a6", + "mapstodown;": "\u21a7", + "mapstoleft;": "\u21a4", + "mapstoup;": "\u21a5", + "marker;": "\u25ae", + "mcomma;": "\u2a29", + "mcy;": "\u043c", + "mdash;": "\u2014", + "measuredangle;": "\u2221", + "mfr;": "\U0001d52a", + "mho;": "\u2127", + "micro": "\xb5", + "micro;": "\xb5", + "mid;": "\u2223", + "midast;": "*", + "midcir;": "\u2af0", + "middot": "\xb7", + "middot;": "\xb7", + "minus;": "\u2212", + "minusb;": "\u229f", + "minusd;": "\u2238", + "minusdu;": "\u2a2a", + "mlcp;": "\u2adb", + "mldr;": "\u2026", + "mnplus;": "\u2213", + "models;": "\u22a7", + "mopf;": "\U0001d55e", + "mp;": "\u2213", + "mscr;": "\U0001d4c2", + "mstpos;": "\u223e", + "mu;": "\u03bc", + "multimap;": "\u22b8", + "mumap;": "\u22b8", + "nGg;": "\u22d9\u0338", + "nGt;": "\u226b\u20d2", + "nGtv;": "\u226b\u0338", + "nLeftarrow;": "\u21cd", + "nLeftrightarrow;": "\u21ce", + "nLl;": "\u22d8\u0338", + "nLt;": "\u226a\u20d2", + "nLtv;": "\u226a\u0338", + "nRightarrow;": "\u21cf", + "nVDash;": "\u22af", + "nVdash;": "\u22ae", + "nabla;": "\u2207", + "nacute;": "\u0144", + "nang;": "\u2220\u20d2", + "nap;": "\u2249", + "napE;": "\u2a70\u0338", + "napid;": "\u224b\u0338", + "napos;": "\u0149", + "napprox;": "\u2249", + "natur;": "\u266e", + "natural;": "\u266e", + "naturals;": "\u2115", + "nbsp": "\xa0", + "nbsp;": "\xa0", + "nbump;": "\u224e\u0338", + "nbumpe;": "\u224f\u0338", + "ncap;": "\u2a43", + "ncaron;": "\u0148", + "ncedil;": "\u0146", + "ncong;": "\u2247", + "ncongdot;": "\u2a6d\u0338", + "ncup;": "\u2a42", + "ncy;": "\u043d", + "ndash;": "\u2013", + "ne;": "\u2260", + "neArr;": "\u21d7", + "nearhk;": "\u2924", + "nearr;": "\u2197", + "nearrow;": "\u2197", + "nedot;": "\u2250\u0338", + "nequiv;": "\u2262", + "nesear;": "\u2928", + "nesim;": "\u2242\u0338", + "nexist;": "\u2204", + "nexists;": "\u2204", + "nfr;": "\U0001d52b", + "ngE;": "\u2267\u0338", + "nge;": "\u2271", + "ngeq;": "\u2271", + "ngeqq;": "\u2267\u0338", + "ngeqslant;": "\u2a7e\u0338", + "nges;": "\u2a7e\u0338", + "ngsim;": "\u2275", + "ngt;": "\u226f", + "ngtr;": "\u226f", + "nhArr;": "\u21ce", + "nharr;": "\u21ae", + "nhpar;": "\u2af2", + "ni;": "\u220b", + "nis;": "\u22fc", + "nisd;": "\u22fa", + "niv;": "\u220b", + "njcy;": "\u045a", + "nlArr;": "\u21cd", + "nlE;": "\u2266\u0338", + "nlarr;": "\u219a", + "nldr;": "\u2025", + "nle;": "\u2270", + "nleftarrow;": "\u219a", + "nleftrightarrow;": "\u21ae", + "nleq;": "\u2270", + "nleqq;": "\u2266\u0338", + "nleqslant;": "\u2a7d\u0338", + "nles;": "\u2a7d\u0338", + "nless;": "\u226e", + "nlsim;": "\u2274", + "nlt;": "\u226e", + "nltri;": "\u22ea", + "nltrie;": "\u22ec", + "nmid;": "\u2224", + "nopf;": "\U0001d55f", + "not": "\xac", + "not;": "\xac", + "notin;": "\u2209", + "notinE;": "\u22f9\u0338", + "notindot;": "\u22f5\u0338", + "notinva;": "\u2209", + "notinvb;": "\u22f7", + "notinvc;": "\u22f6", + "notni;": "\u220c", + "notniva;": "\u220c", + "notnivb;": "\u22fe", + "notnivc;": "\u22fd", + "npar;": "\u2226", + "nparallel;": "\u2226", + "nparsl;": "\u2afd\u20e5", + "npart;": "\u2202\u0338", + "npolint;": "\u2a14", + "npr;": "\u2280", + "nprcue;": "\u22e0", + "npre;": "\u2aaf\u0338", + "nprec;": "\u2280", + "npreceq;": "\u2aaf\u0338", + "nrArr;": "\u21cf", + "nrarr;": "\u219b", + "nrarrc;": "\u2933\u0338", + "nrarrw;": "\u219d\u0338", + "nrightarrow;": "\u219b", + "nrtri;": "\u22eb", + "nrtrie;": "\u22ed", + "nsc;": "\u2281", + "nsccue;": "\u22e1", + "nsce;": "\u2ab0\u0338", + "nscr;": "\U0001d4c3", + "nshortmid;": "\u2224", + "nshortparallel;": "\u2226", + "nsim;": "\u2241", + "nsime;": "\u2244", + "nsimeq;": "\u2244", + "nsmid;": "\u2224", + "nspar;": "\u2226", + "nsqsube;": "\u22e2", + "nsqsupe;": "\u22e3", + "nsub;": "\u2284", + "nsubE;": "\u2ac5\u0338", + "nsube;": "\u2288", + "nsubset;": "\u2282\u20d2", + "nsubseteq;": "\u2288", + "nsubseteqq;": "\u2ac5\u0338", + "nsucc;": "\u2281", + "nsucceq;": "\u2ab0\u0338", + "nsup;": "\u2285", + "nsupE;": "\u2ac6\u0338", + "nsupe;": "\u2289", + "nsupset;": "\u2283\u20d2", + "nsupseteq;": "\u2289", + "nsupseteqq;": "\u2ac6\u0338", + "ntgl;": "\u2279", + "ntilde": "\xf1", + "ntilde;": "\xf1", + "ntlg;": "\u2278", + "ntriangleleft;": "\u22ea", + "ntrianglelefteq;": "\u22ec", + "ntriangleright;": "\u22eb", + "ntrianglerighteq;": "\u22ed", + "nu;": "\u03bd", + "num;": "#", + "numero;": "\u2116", + "numsp;": "\u2007", + "nvDash;": "\u22ad", + "nvHarr;": "\u2904", + "nvap;": "\u224d\u20d2", + "nvdash;": "\u22ac", + "nvge;": "\u2265\u20d2", + "nvgt;": ">\u20d2", + "nvinfin;": "\u29de", + "nvlArr;": "\u2902", + "nvle;": "\u2264\u20d2", + "nvlt;": "<\u20d2", + "nvltrie;": "\u22b4\u20d2", + "nvrArr;": "\u2903", + "nvrtrie;": "\u22b5\u20d2", + "nvsim;": "\u223c\u20d2", + "nwArr;": "\u21d6", + "nwarhk;": "\u2923", + "nwarr;": "\u2196", + "nwarrow;": "\u2196", + "nwnear;": "\u2927", + "oS;": "\u24c8", + "oacute": "\xf3", + "oacute;": "\xf3", + "oast;": "\u229b", + "ocir;": "\u229a", + "ocirc": "\xf4", + "ocirc;": "\xf4", + "ocy;": "\u043e", + "odash;": "\u229d", + "odblac;": "\u0151", + "odiv;": "\u2a38", + "odot;": "\u2299", + "odsold;": "\u29bc", + "oelig;": "\u0153", + "ofcir;": "\u29bf", + "ofr;": "\U0001d52c", + "ogon;": "\u02db", + "ograve": "\xf2", + "ograve;": "\xf2", + "ogt;": "\u29c1", + "ohbar;": "\u29b5", + "ohm;": "\u03a9", + "oint;": "\u222e", + "olarr;": "\u21ba", + "olcir;": "\u29be", + "olcross;": "\u29bb", + "oline;": "\u203e", + "olt;": "\u29c0", + "omacr;": "\u014d", + "omega;": "\u03c9", + "omicron;": "\u03bf", + "omid;": "\u29b6", + "ominus;": "\u2296", + "oopf;": "\U0001d560", + "opar;": "\u29b7", + "operp;": "\u29b9", + "oplus;": "\u2295", + "or;": "\u2228", + "orarr;": "\u21bb", + "ord;": "\u2a5d", + "order;": "\u2134", + "orderof;": "\u2134", + "ordf": "\xaa", + "ordf;": "\xaa", + "ordm": "\xba", + "ordm;": "\xba", + "origof;": "\u22b6", + "oror;": "\u2a56", + "orslope;": "\u2a57", + "orv;": "\u2a5b", + "oscr;": "\u2134", + "oslash": "\xf8", + "oslash;": "\xf8", + "osol;": "\u2298", + "otilde": "\xf5", + "otilde;": "\xf5", + "otimes;": "\u2297", + "otimesas;": "\u2a36", + "ouml": "\xf6", + "ouml;": "\xf6", + "ovbar;": "\u233d", + "par;": "\u2225", + "para": "\xb6", + "para;": "\xb6", + "parallel;": "\u2225", + "parsim;": "\u2af3", + "parsl;": "\u2afd", + "part;": "\u2202", + "pcy;": "\u043f", + "percnt;": "%", + "period;": ".", + "permil;": "\u2030", + "perp;": "\u22a5", + "pertenk;": "\u2031", + "pfr;": "\U0001d52d", + "phi;": "\u03c6", + "phiv;": "\u03d5", + "phmmat;": "\u2133", + "phone;": "\u260e", + "pi;": "\u03c0", + "pitchfork;": "\u22d4", + "piv;": "\u03d6", + "planck;": "\u210f", + "planckh;": "\u210e", + "plankv;": "\u210f", + "plus;": "+", + "plusacir;": "\u2a23", + "plusb;": "\u229e", + "pluscir;": "\u2a22", + "plusdo;": "\u2214", + "plusdu;": "\u2a25", + "pluse;": "\u2a72", + "plusmn": "\xb1", + "plusmn;": "\xb1", + "plussim;": "\u2a26", + "plustwo;": "\u2a27", + "pm;": "\xb1", + "pointint;": "\u2a15", + "popf;": "\U0001d561", + "pound": "\xa3", + "pound;": "\xa3", + "pr;": "\u227a", + "prE;": "\u2ab3", + "prap;": "\u2ab7", + "prcue;": "\u227c", + "pre;": "\u2aaf", + "prec;": "\u227a", + "precapprox;": "\u2ab7", + "preccurlyeq;": "\u227c", + "preceq;": "\u2aaf", + "precnapprox;": "\u2ab9", + "precneqq;": "\u2ab5", + "precnsim;": "\u22e8", + "precsim;": "\u227e", + "prime;": "\u2032", + "primes;": "\u2119", + "prnE;": "\u2ab5", + "prnap;": "\u2ab9", + "prnsim;": "\u22e8", + "prod;": "\u220f", + "profalar;": "\u232e", + "profline;": "\u2312", + "profsurf;": "\u2313", + "prop;": "\u221d", + "propto;": "\u221d", + "prsim;": "\u227e", + "prurel;": "\u22b0", + "pscr;": "\U0001d4c5", + "psi;": "\u03c8", + "puncsp;": "\u2008", + "qfr;": "\U0001d52e", + "qint;": "\u2a0c", + "qopf;": "\U0001d562", + "qprime;": "\u2057", + "qscr;": "\U0001d4c6", + "quaternions;": "\u210d", + "quatint;": "\u2a16", + "quest;": "?", + "questeq;": "\u225f", + "quot": "\"", + "quot;": "\"", + "rAarr;": "\u21db", + "rArr;": "\u21d2", + "rAtail;": "\u291c", + "rBarr;": "\u290f", + "rHar;": "\u2964", + "race;": "\u223d\u0331", + "racute;": "\u0155", + "radic;": "\u221a", + "raemptyv;": "\u29b3", + "rang;": "\u27e9", + "rangd;": "\u2992", + "range;": "\u29a5", + "rangle;": "\u27e9", + "raquo": "\xbb", + "raquo;": "\xbb", + "rarr;": "\u2192", + "rarrap;": "\u2975", + "rarrb;": "\u21e5", + "rarrbfs;": "\u2920", + "rarrc;": "\u2933", + "rarrfs;": "\u291e", + "rarrhk;": "\u21aa", + "rarrlp;": "\u21ac", + "rarrpl;": "\u2945", + "rarrsim;": "\u2974", + "rarrtl;": "\u21a3", + "rarrw;": "\u219d", + "ratail;": "\u291a", + "ratio;": "\u2236", + "rationals;": "\u211a", + "rbarr;": "\u290d", + "rbbrk;": "\u2773", + "rbrace;": "}", + "rbrack;": "]", + "rbrke;": "\u298c", + "rbrksld;": "\u298e", + "rbrkslu;": "\u2990", + "rcaron;": "\u0159", + "rcedil;": "\u0157", + "rceil;": "\u2309", + "rcub;": "}", + "rcy;": "\u0440", + "rdca;": "\u2937", + "rdldhar;": "\u2969", + "rdquo;": "\u201d", + "rdquor;": "\u201d", + "rdsh;": "\u21b3", + "real;": "\u211c", + "realine;": "\u211b", + "realpart;": "\u211c", + "reals;": "\u211d", + "rect;": "\u25ad", + "reg": "\xae", + "reg;": "\xae", + "rfisht;": "\u297d", + "rfloor;": "\u230b", + "rfr;": "\U0001d52f", + "rhard;": "\u21c1", + "rharu;": "\u21c0", + "rharul;": "\u296c", + "rho;": "\u03c1", + "rhov;": "\u03f1", + "rightarrow;": "\u2192", + "rightarrowtail;": "\u21a3", + "rightharpoondown;": "\u21c1", + "rightharpoonup;": "\u21c0", + "rightleftarrows;": "\u21c4", + "rightleftharpoons;": "\u21cc", + "rightrightarrows;": "\u21c9", + "rightsquigarrow;": "\u219d", + "rightthreetimes;": "\u22cc", + "ring;": "\u02da", + "risingdotseq;": "\u2253", + "rlarr;": "\u21c4", + "rlhar;": "\u21cc", + "rlm;": "\u200f", + "rmoust;": "\u23b1", + "rmoustache;": "\u23b1", + "rnmid;": "\u2aee", + "roang;": "\u27ed", + "roarr;": "\u21fe", + "robrk;": "\u27e7", + "ropar;": "\u2986", + "ropf;": "\U0001d563", + "roplus;": "\u2a2e", + "rotimes;": "\u2a35", + "rpar;": ")", + "rpargt;": "\u2994", + "rppolint;": "\u2a12", + "rrarr;": "\u21c9", + "rsaquo;": "\u203a", + "rscr;": "\U0001d4c7", + "rsh;": "\u21b1", + "rsqb;": "]", + "rsquo;": "\u2019", + "rsquor;": "\u2019", + "rthree;": "\u22cc", + "rtimes;": "\u22ca", + "rtri;": "\u25b9", + "rtrie;": "\u22b5", + "rtrif;": "\u25b8", + "rtriltri;": "\u29ce", + "ruluhar;": "\u2968", + "rx;": "\u211e", + "sacute;": "\u015b", + "sbquo;": "\u201a", + "sc;": "\u227b", + "scE;": "\u2ab4", + "scap;": "\u2ab8", + "scaron;": "\u0161", + "sccue;": "\u227d", + "sce;": "\u2ab0", + "scedil;": "\u015f", + "scirc;": "\u015d", + "scnE;": "\u2ab6", + "scnap;": "\u2aba", + "scnsim;": "\u22e9", + "scpolint;": "\u2a13", + "scsim;": "\u227f", + "scy;": "\u0441", + "sdot;": "\u22c5", + "sdotb;": "\u22a1", + "sdote;": "\u2a66", + "seArr;": "\u21d8", + "searhk;": "\u2925", + "searr;": "\u2198", + "searrow;": "\u2198", + "sect": "\xa7", + "sect;": "\xa7", + "semi;": ";", + "seswar;": "\u2929", + "setminus;": "\u2216", + "setmn;": "\u2216", + "sext;": "\u2736", + "sfr;": "\U0001d530", + "sfrown;": "\u2322", + "sharp;": "\u266f", + "shchcy;": "\u0449", + "shcy;": "\u0448", + "shortmid;": "\u2223", + "shortparallel;": "\u2225", + "shy": "\xad", + "shy;": "\xad", + "sigma;": "\u03c3", + "sigmaf;": "\u03c2", + "sigmav;": "\u03c2", + "sim;": "\u223c", + "simdot;": "\u2a6a", + "sime;": "\u2243", + "simeq;": "\u2243", + "simg;": "\u2a9e", + "simgE;": "\u2aa0", + "siml;": "\u2a9d", + "simlE;": "\u2a9f", + "simne;": "\u2246", + "simplus;": "\u2a24", + "simrarr;": "\u2972", + "slarr;": "\u2190", + "smallsetminus;": "\u2216", + "smashp;": "\u2a33", + "smeparsl;": "\u29e4", + "smid;": "\u2223", + "smile;": "\u2323", + "smt;": "\u2aaa", + "smte;": "\u2aac", + "smtes;": "\u2aac\ufe00", + "softcy;": "\u044c", + "sol;": "/", + "solb;": "\u29c4", + "solbar;": "\u233f", + "sopf;": "\U0001d564", + "spades;": "\u2660", + "spadesuit;": "\u2660", + "spar;": "\u2225", + "sqcap;": "\u2293", + "sqcaps;": "\u2293\ufe00", + "sqcup;": "\u2294", + "sqcups;": "\u2294\ufe00", + "sqsub;": "\u228f", + "sqsube;": "\u2291", + "sqsubset;": "\u228f", + "sqsubseteq;": "\u2291", + "sqsup;": "\u2290", + "sqsupe;": "\u2292", + "sqsupset;": "\u2290", + "sqsupseteq;": "\u2292", + "squ;": "\u25a1", + "square;": "\u25a1", + "squarf;": "\u25aa", + "squf;": "\u25aa", + "srarr;": "\u2192", + "sscr;": "\U0001d4c8", + "ssetmn;": "\u2216", + "ssmile;": "\u2323", + "sstarf;": "\u22c6", + "star;": "\u2606", + "starf;": "\u2605", + "straightepsilon;": "\u03f5", + "straightphi;": "\u03d5", + "strns;": "\xaf", + "sub;": "\u2282", + "subE;": "\u2ac5", + "subdot;": "\u2abd", + "sube;": "\u2286", + "subedot;": "\u2ac3", + "submult;": "\u2ac1", + "subnE;": "\u2acb", + "subne;": "\u228a", + "subplus;": "\u2abf", + "subrarr;": "\u2979", + "subset;": "\u2282", + "subseteq;": "\u2286", + "subseteqq;": "\u2ac5", + "subsetneq;": "\u228a", + "subsetneqq;": "\u2acb", + "subsim;": "\u2ac7", + "subsub;": "\u2ad5", + "subsup;": "\u2ad3", + "succ;": "\u227b", + "succapprox;": "\u2ab8", + "succcurlyeq;": "\u227d", + "succeq;": "\u2ab0", + "succnapprox;": "\u2aba", + "succneqq;": "\u2ab6", + "succnsim;": "\u22e9", + "succsim;": "\u227f", + "sum;": "\u2211", + "sung;": "\u266a", + "sup1": "\xb9", + "sup1;": "\xb9", + "sup2": "\xb2", + "sup2;": "\xb2", + "sup3": "\xb3", + "sup3;": "\xb3", + "sup;": "\u2283", + "supE;": "\u2ac6", + "supdot;": "\u2abe", + "supdsub;": "\u2ad8", + "supe;": "\u2287", + "supedot;": "\u2ac4", + "suphsol;": "\u27c9", + "suphsub;": "\u2ad7", + "suplarr;": "\u297b", + "supmult;": "\u2ac2", + "supnE;": "\u2acc", + "supne;": "\u228b", + "supplus;": "\u2ac0", + "supset;": "\u2283", + "supseteq;": "\u2287", + "supseteqq;": "\u2ac6", + "supsetneq;": "\u228b", + "supsetneqq;": "\u2acc", + "supsim;": "\u2ac8", + "supsub;": "\u2ad4", + "supsup;": "\u2ad6", + "swArr;": "\u21d9", + "swarhk;": "\u2926", + "swarr;": "\u2199", + "swarrow;": "\u2199", + "swnwar;": "\u292a", + "szlig": "\xdf", + "szlig;": "\xdf", + "target;": "\u2316", + "tau;": "\u03c4", + "tbrk;": "\u23b4", + "tcaron;": "\u0165", + "tcedil;": "\u0163", + "tcy;": "\u0442", + "tdot;": "\u20db", + "telrec;": "\u2315", + "tfr;": "\U0001d531", + "there4;": "\u2234", + "therefore;": "\u2234", + "theta;": "\u03b8", + "thetasym;": "\u03d1", + "thetav;": "\u03d1", + "thickapprox;": "\u2248", + "thicksim;": "\u223c", + "thinsp;": "\u2009", + "thkap;": "\u2248", + "thksim;": "\u223c", + "thorn": "\xfe", + "thorn;": "\xfe", + "tilde;": "\u02dc", + "times": "\xd7", + "times;": "\xd7", + "timesb;": "\u22a0", + "timesbar;": "\u2a31", + "timesd;": "\u2a30", + "tint;": "\u222d", + "toea;": "\u2928", + "top;": "\u22a4", + "topbot;": "\u2336", + "topcir;": "\u2af1", + "topf;": "\U0001d565", + "topfork;": "\u2ada", + "tosa;": "\u2929", + "tprime;": "\u2034", + "trade;": "\u2122", + "triangle;": "\u25b5", + "triangledown;": "\u25bf", + "triangleleft;": "\u25c3", + "trianglelefteq;": "\u22b4", + "triangleq;": "\u225c", + "triangleright;": "\u25b9", + "trianglerighteq;": "\u22b5", + "tridot;": "\u25ec", + "trie;": "\u225c", + "triminus;": "\u2a3a", + "triplus;": "\u2a39", + "trisb;": "\u29cd", + "tritime;": "\u2a3b", + "trpezium;": "\u23e2", + "tscr;": "\U0001d4c9", + "tscy;": "\u0446", + "tshcy;": "\u045b", + "tstrok;": "\u0167", + "twixt;": "\u226c", + "twoheadleftarrow;": "\u219e", + "twoheadrightarrow;": "\u21a0", + "uArr;": "\u21d1", + "uHar;": "\u2963", + "uacute": "\xfa", + "uacute;": "\xfa", + "uarr;": "\u2191", + "ubrcy;": "\u045e", + "ubreve;": "\u016d", + "ucirc": "\xfb", + "ucirc;": "\xfb", + "ucy;": "\u0443", + "udarr;": "\u21c5", + "udblac;": "\u0171", + "udhar;": "\u296e", + "ufisht;": "\u297e", + "ufr;": "\U0001d532", + "ugrave": "\xf9", + "ugrave;": "\xf9", + "uharl;": "\u21bf", + "uharr;": "\u21be", + "uhblk;": "\u2580", + "ulcorn;": "\u231c", + "ulcorner;": "\u231c", + "ulcrop;": "\u230f", + "ultri;": "\u25f8", + "umacr;": "\u016b", + "uml": "\xa8", + "uml;": "\xa8", + "uogon;": "\u0173", + "uopf;": "\U0001d566", + "uparrow;": "\u2191", + "updownarrow;": "\u2195", + "upharpoonleft;": "\u21bf", + "upharpoonright;": "\u21be", + "uplus;": "\u228e", + "upsi;": "\u03c5", + "upsih;": "\u03d2", + "upsilon;": "\u03c5", + "upuparrows;": "\u21c8", + "urcorn;": "\u231d", + "urcorner;": "\u231d", + "urcrop;": "\u230e", + "uring;": "\u016f", + "urtri;": "\u25f9", + "uscr;": "\U0001d4ca", + "utdot;": "\u22f0", + "utilde;": "\u0169", + "utri;": "\u25b5", + "utrif;": "\u25b4", + "uuarr;": "\u21c8", + "uuml": "\xfc", + "uuml;": "\xfc", + "uwangle;": "\u29a7", + "vArr;": "\u21d5", + "vBar;": "\u2ae8", + "vBarv;": "\u2ae9", + "vDash;": "\u22a8", + "vangrt;": "\u299c", + "varepsilon;": "\u03f5", + "varkappa;": "\u03f0", + "varnothing;": "\u2205", + "varphi;": "\u03d5", + "varpi;": "\u03d6", + "varpropto;": "\u221d", + "varr;": "\u2195", + "varrho;": "\u03f1", + "varsigma;": "\u03c2", + "varsubsetneq;": "\u228a\ufe00", + "varsubsetneqq;": "\u2acb\ufe00", + "varsupsetneq;": "\u228b\ufe00", + "varsupsetneqq;": "\u2acc\ufe00", + "vartheta;": "\u03d1", + "vartriangleleft;": "\u22b2", + "vartriangleright;": "\u22b3", + "vcy;": "\u0432", + "vdash;": "\u22a2", + "vee;": "\u2228", + "veebar;": "\u22bb", + "veeeq;": "\u225a", + "vellip;": "\u22ee", + "verbar;": "|", + "vert;": "|", + "vfr;": "\U0001d533", + "vltri;": "\u22b2", + "vnsub;": "\u2282\u20d2", + "vnsup;": "\u2283\u20d2", + "vopf;": "\U0001d567", + "vprop;": "\u221d", + "vrtri;": "\u22b3", + "vscr;": "\U0001d4cb", + "vsubnE;": "\u2acb\ufe00", + "vsubne;": "\u228a\ufe00", + "vsupnE;": "\u2acc\ufe00", + "vsupne;": "\u228b\ufe00", + "vzigzag;": "\u299a", + "wcirc;": "\u0175", + "wedbar;": "\u2a5f", + "wedge;": "\u2227", + "wedgeq;": "\u2259", + "weierp;": "\u2118", + "wfr;": "\U0001d534", + "wopf;": "\U0001d568", + "wp;": "\u2118", + "wr;": "\u2240", + "wreath;": "\u2240", + "wscr;": "\U0001d4cc", + "xcap;": "\u22c2", + "xcirc;": "\u25ef", + "xcup;": "\u22c3", + "xdtri;": "\u25bd", + "xfr;": "\U0001d535", + "xhArr;": "\u27fa", + "xharr;": "\u27f7", + "xi;": "\u03be", + "xlArr;": "\u27f8", + "xlarr;": "\u27f5", + "xmap;": "\u27fc", + "xnis;": "\u22fb", + "xodot;": "\u2a00", + "xopf;": "\U0001d569", + "xoplus;": "\u2a01", + "xotime;": "\u2a02", + "xrArr;": "\u27f9", + "xrarr;": "\u27f6", + "xscr;": "\U0001d4cd", + "xsqcup;": "\u2a06", + "xuplus;": "\u2a04", + "xutri;": "\u25b3", + "xvee;": "\u22c1", + "xwedge;": "\u22c0", + "yacute": "\xfd", + "yacute;": "\xfd", + "yacy;": "\u044f", + "ycirc;": "\u0177", + "ycy;": "\u044b", + "yen": "\xa5", + "yen;": "\xa5", + "yfr;": "\U0001d536", + "yicy;": "\u0457", + "yopf;": "\U0001d56a", + "yscr;": "\U0001d4ce", + "yucy;": "\u044e", + "yuml": "\xff", + "yuml;": "\xff", + "zacute;": "\u017a", + "zcaron;": "\u017e", + "zcy;": "\u0437", + "zdot;": "\u017c", + "zeetrf;": "\u2128", + "zeta;": "\u03b6", + "zfr;": "\U0001d537", + "zhcy;": "\u0436", + "zigrarr;": "\u21dd", + "zopf;": "\U0001d56b", + "zscr;": "\U0001d4cf", + "zwj;": "\u200d", + "zwnj;": "\u200c", +} + +replacementCharacters = { + 0x0: "\uFFFD", + 0x0d: "\u000D", + 0x80: "\u20AC", + 0x81: "\u0081", + 0x82: "\u201A", + 0x83: "\u0192", + 0x84: "\u201E", + 0x85: "\u2026", + 0x86: "\u2020", + 0x87: "\u2021", + 0x88: "\u02C6", + 0x89: "\u2030", + 0x8A: "\u0160", + 0x8B: "\u2039", + 0x8C: "\u0152", + 0x8D: "\u008D", + 0x8E: "\u017D", + 0x8F: "\u008F", + 0x90: "\u0090", + 0x91: "\u2018", + 0x92: "\u2019", + 0x93: "\u201C", + 0x94: "\u201D", + 0x95: "\u2022", + 0x96: "\u2013", + 0x97: "\u2014", + 0x98: "\u02DC", + 0x99: "\u2122", + 0x9A: "\u0161", + 0x9B: "\u203A", + 0x9C: "\u0153", + 0x9D: "\u009D", + 0x9E: "\u017E", + 0x9F: "\u0178", +} + +tokenTypes = { + "Doctype": 0, + "Characters": 1, + "SpaceCharacters": 2, + "StartTag": 3, + "EndTag": 4, + "EmptyTag": 5, + "Comment": 6, + "ParseError": 7 +} + +tagTokenTypes = frozenset([tokenTypes["StartTag"], tokenTypes["EndTag"], + tokenTypes["EmptyTag"]]) + + +prefixes = dict([(v, k) for k, v in namespaces.items()]) +prefixes["http://www.w3.org/1998/Math/MathML"] = "math" + + +class DataLossWarning(UserWarning): + """Raised when the current tree is unable to represent the input data""" + pass + + +class _ReparseException(Exception): + pass diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py new file mode 100644 index 0000000000..5ba926e3b0 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/alphabeticalattributes.py @@ -0,0 +1,29 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + +from collections import OrderedDict + + +def _attr_key(attr): + """Return an appropriate key for an attribute for sorting + + Attributes have a namespace that can be either ``None`` or a string. We + can't compare the two because they're different types, so we convert + ``None`` to an empty string first. + + """ + return (attr[0][0] or ''), attr[0][1] + + +class Filter(base.Filter): + """Alphabetizes attributes for elements""" + def __iter__(self): + for token in base.Filter.__iter__(self): + if token["type"] in ("StartTag", "EmptyTag"): + attrs = OrderedDict() + for name, value in sorted(token["data"].items(), + key=_attr_key): + attrs[name] = value + token["data"] = attrs + yield token diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/base.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/base.py new file mode 100644 index 0000000000..c7dbaed0fa --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/base.py @@ -0,0 +1,12 @@ +from __future__ import absolute_import, division, unicode_literals + + +class Filter(object): + def __init__(self, source): + self.source = source + + def __iter__(self): + return iter(self.source) + + def __getattr__(self, name): + return getattr(self.source, name) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py new file mode 100644 index 0000000000..aefb5c842c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/inject_meta_charset.py @@ -0,0 +1,73 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + + +class Filter(base.Filter): + """Injects ``<meta charset=ENCODING>`` tag into head of document""" + def __init__(self, source, encoding): + """Creates a Filter + + :arg source: the source token stream + + :arg encoding: the encoding to set + + """ + base.Filter.__init__(self, source) + self.encoding = encoding + + def __iter__(self): + state = "pre_head" + meta_found = (self.encoding is None) + pending = [] + + for token in base.Filter.__iter__(self): + type = token["type"] + if type == "StartTag": + if token["name"].lower() == "head": + state = "in_head" + + elif type == "EmptyTag": + if token["name"].lower() == "meta": + # replace charset with actual encoding + has_http_equiv_content_type = False + for (namespace, name), value in token["data"].items(): + if namespace is not None: + continue + elif name.lower() == 'charset': + token["data"][(namespace, name)] = self.encoding + meta_found = True + break + elif name == 'http-equiv' and value.lower() == 'content-type': + has_http_equiv_content_type = True + else: + if has_http_equiv_content_type and (None, "content") in token["data"]: + token["data"][(None, "content")] = 'text/html; charset=%s' % self.encoding + meta_found = True + + elif token["name"].lower() == "head" and not meta_found: + # insert meta into empty head + yield {"type": "StartTag", "name": "head", + "data": token["data"]} + yield {"type": "EmptyTag", "name": "meta", + "data": {(None, "charset"): self.encoding}} + yield {"type": "EndTag", "name": "head"} + meta_found = True + continue + + elif type == "EndTag": + if token["name"].lower() == "head" and pending: + # insert meta into head (if necessary) and flush pending queue + yield pending.pop(0) + if not meta_found: + yield {"type": "EmptyTag", "name": "meta", + "data": {(None, "charset"): self.encoding}} + while pending: + yield pending.pop(0) + meta_found = True + state = "post_head" + + if state == "in_head": + pending.append(token) + else: + yield token diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/lint.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/lint.py new file mode 100644 index 0000000000..fcc07eec5b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/lint.py @@ -0,0 +1,93 @@ +from __future__ import absolute_import, division, unicode_literals + +from pip._vendor.six import text_type + +from . import base +from ..constants import namespaces, voidElements + +from ..constants import spaceCharacters +spaceCharacters = "".join(spaceCharacters) + + +class Filter(base.Filter): + """Lints the token stream for errors + + If it finds any errors, it'll raise an ``AssertionError``. + + """ + def __init__(self, source, require_matching_tags=True): + """Creates a Filter + + :arg source: the source token stream + + :arg require_matching_tags: whether or not to require matching tags + + """ + super(Filter, self).__init__(source) + self.require_matching_tags = require_matching_tags + + def __iter__(self): + open_elements = [] + for token in base.Filter.__iter__(self): + type = token["type"] + if type in ("StartTag", "EmptyTag"): + namespace = token["namespace"] + name = token["name"] + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + assert isinstance(token["data"], dict) + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + assert type == "EmptyTag" + else: + assert type == "StartTag" + if type == "StartTag" and self.require_matching_tags: + open_elements.append((namespace, name)) + for (namespace, name), value in token["data"].items(): + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + assert isinstance(value, text_type) + + elif type == "EndTag": + namespace = token["namespace"] + name = token["name"] + assert namespace is None or isinstance(namespace, text_type) + assert namespace != "" + assert isinstance(name, text_type) + assert name != "" + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + assert False, "Void element reported as EndTag token: %(tag)s" % {"tag": name} + elif self.require_matching_tags: + start = open_elements.pop() + assert start == (namespace, name) + + elif type == "Comment": + data = token["data"] + assert isinstance(data, text_type) + + elif type in ("Characters", "SpaceCharacters"): + data = token["data"] + assert isinstance(data, text_type) + assert data != "" + if type == "SpaceCharacters": + assert data.strip(spaceCharacters) == "" + + elif type == "Doctype": + name = token["name"] + assert name is None or isinstance(name, text_type) + assert token["publicId"] is None or isinstance(name, text_type) + assert token["systemId"] is None or isinstance(name, text_type) + + elif type == "Entity": + assert isinstance(token["name"], text_type) + + elif type == "SerializerError": + assert isinstance(token["data"], text_type) + + else: + assert False, "Unknown token type: %(type)s" % {"type": type} + + yield token diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/optionaltags.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/optionaltags.py new file mode 100644 index 0000000000..4a865012c1 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/optionaltags.py @@ -0,0 +1,207 @@ +from __future__ import absolute_import, division, unicode_literals + +from . import base + + +class Filter(base.Filter): + """Removes optional tags from the token stream""" + def slider(self): + previous1 = previous2 = None + for token in self.source: + if previous1 is not None: + yield previous2, previous1, token + previous2 = previous1 + previous1 = token + if previous1 is not None: + yield previous2, previous1, None + + def __iter__(self): + for previous, token, next in self.slider(): + type = token["type"] + if type == "StartTag": + if (token["data"] or + not self.is_optional_start(token["name"], previous, next)): + yield token + elif type == "EndTag": + if not self.is_optional_end(token["name"], next): + yield token + else: + yield token + + def is_optional_start(self, tagname, previous, next): + type = next and next["type"] or None + if tagname in 'html': + # An html element's start tag may be omitted if the first thing + # inside the html element is not a space character or a comment. + return type not in ("Comment", "SpaceCharacters") + elif tagname == 'head': + # A head element's start tag may be omitted if the first thing + # inside the head element is an element. + # XXX: we also omit the start tag if the head element is empty + if type in ("StartTag", "EmptyTag"): + return True + elif type == "EndTag": + return next["name"] == "head" + elif tagname == 'body': + # A body element's start tag may be omitted if the first thing + # inside the body element is not a space character or a comment, + # except if the first thing inside the body element is a script + # or style element and the node immediately preceding the body + # element is a head element whose end tag has been omitted. + if type in ("Comment", "SpaceCharacters"): + return False + elif type == "StartTag": + # XXX: we do not look at the preceding event, so we never omit + # the body element's start tag if it's followed by a script or + # a style element. + return next["name"] not in ('script', 'style') + else: + return True + elif tagname == 'colgroup': + # A colgroup element's start tag may be omitted if the first thing + # inside the colgroup element is a col element, and if the element + # is not immediately preceded by another colgroup element whose + # end tag has been omitted. + if type in ("StartTag", "EmptyTag"): + # XXX: we do not look at the preceding event, so instead we never + # omit the colgroup element's end tag when it is immediately + # followed by another colgroup element. See is_optional_end. + return next["name"] == "col" + else: + return False + elif tagname == 'tbody': + # A tbody element's start tag may be omitted if the first thing + # inside the tbody element is a tr element, and if the element is + # not immediately preceded by a tbody, thead, or tfoot element + # whose end tag has been omitted. + if type == "StartTag": + # omit the thead and tfoot elements' end tag when they are + # immediately followed by a tbody element. See is_optional_end. + if previous and previous['type'] == 'EndTag' and \ + previous['name'] in ('tbody', 'thead', 'tfoot'): + return False + return next["name"] == 'tr' + else: + return False + return False + + def is_optional_end(self, tagname, next): + type = next and next["type"] or None + if tagname in ('html', 'head', 'body'): + # An html element's end tag may be omitted if the html element + # is not immediately followed by a space character or a comment. + return type not in ("Comment", "SpaceCharacters") + elif tagname in ('li', 'optgroup', 'tr'): + # A li element's end tag may be omitted if the li element is + # immediately followed by another li element or if there is + # no more content in the parent element. + # An optgroup element's end tag may be omitted if the optgroup + # element is immediately followed by another optgroup element, + # or if there is no more content in the parent element. + # A tr element's end tag may be omitted if the tr element is + # immediately followed by another tr element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] == tagname + else: + return type == "EndTag" or type is None + elif tagname in ('dt', 'dd'): + # A dt element's end tag may be omitted if the dt element is + # immediately followed by another dt element or a dd element. + # A dd element's end tag may be omitted if the dd element is + # immediately followed by another dd element or a dt element, + # or if there is no more content in the parent element. + if type == "StartTag": + return next["name"] in ('dt', 'dd') + elif tagname == 'dd': + return type == "EndTag" or type is None + else: + return False + elif tagname == 'p': + # A p element's end tag may be omitted if the p element is + # immediately followed by an address, article, aside, + # blockquote, datagrid, dialog, dir, div, dl, fieldset, + # footer, form, h1, h2, h3, h4, h5, h6, header, hr, menu, + # nav, ol, p, pre, section, table, or ul, element, or if + # there is no more content in the parent element. + if type in ("StartTag", "EmptyTag"): + return next["name"] in ('address', 'article', 'aside', + 'blockquote', 'datagrid', 'dialog', + 'dir', 'div', 'dl', 'fieldset', 'footer', + 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', + 'header', 'hr', 'menu', 'nav', 'ol', + 'p', 'pre', 'section', 'table', 'ul') + else: + return type == "EndTag" or type is None + elif tagname == 'option': + # An option element's end tag may be omitted if the option + # element is immediately followed by another option element, + # or if it is immediately followed by an <code>optgroup</code> + # element, or if there is no more content in the parent + # element. + if type == "StartTag": + return next["name"] in ('option', 'optgroup') + else: + return type == "EndTag" or type is None + elif tagname in ('rt', 'rp'): + # An rt element's end tag may be omitted if the rt element is + # immediately followed by an rt or rp element, or if there is + # no more content in the parent element. + # An rp element's end tag may be omitted if the rp element is + # immediately followed by an rt or rp element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] in ('rt', 'rp') + else: + return type == "EndTag" or type is None + elif tagname == 'colgroup': + # A colgroup element's end tag may be omitted if the colgroup + # element is not immediately followed by a space character or + # a comment. + if type in ("Comment", "SpaceCharacters"): + return False + elif type == "StartTag": + # XXX: we also look for an immediately following colgroup + # element. See is_optional_start. + return next["name"] != 'colgroup' + else: + return True + elif tagname in ('thead', 'tbody'): + # A thead element's end tag may be omitted if the thead element + # is immediately followed by a tbody or tfoot element. + # A tbody element's end tag may be omitted if the tbody element + # is immediately followed by a tbody or tfoot element, or if + # there is no more content in the parent element. + # A tfoot element's end tag may be omitted if the tfoot element + # is immediately followed by a tbody element, or if there is no + # more content in the parent element. + # XXX: we never omit the end tag when the following element is + # a tbody. See is_optional_start. + if type == "StartTag": + return next["name"] in ['tbody', 'tfoot'] + elif tagname == 'tbody': + return type == "EndTag" or type is None + else: + return False + elif tagname == 'tfoot': + # A tfoot element's end tag may be omitted if the tfoot element + # is immediately followed by a tbody element, or if there is no + # more content in the parent element. + # XXX: we never omit the end tag when the following element is + # a tbody. See is_optional_start. + if type == "StartTag": + return next["name"] == 'tbody' + else: + return type == "EndTag" or type is None + elif tagname in ('td', 'th'): + # A td element's end tag may be omitted if the td element is + # immediately followed by a td or th element, or if there is + # no more content in the parent element. + # A th element's end tag may be omitted if the th element is + # immediately followed by a td or th element, or if there is + # no more content in the parent element. + if type == "StartTag": + return next["name"] in ('td', 'th') + else: + return type == "EndTag" or type is None + return False diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/sanitizer.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/sanitizer.py new file mode 100644 index 0000000000..af8e77b81e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/sanitizer.py @@ -0,0 +1,896 @@ +from __future__ import absolute_import, division, unicode_literals + +import re +from xml.sax.saxutils import escape, unescape + +from pip._vendor.six.moves import urllib_parse as urlparse + +from . import base +from ..constants import namespaces, prefixes + +__all__ = ["Filter"] + + +allowed_elements = frozenset(( + (namespaces['html'], 'a'), + (namespaces['html'], 'abbr'), + (namespaces['html'], 'acronym'), + (namespaces['html'], 'address'), + (namespaces['html'], 'area'), + (namespaces['html'], 'article'), + (namespaces['html'], 'aside'), + (namespaces['html'], 'audio'), + (namespaces['html'], 'b'), + (namespaces['html'], 'big'), + (namespaces['html'], 'blockquote'), + (namespaces['html'], 'br'), + (namespaces['html'], 'button'), + (namespaces['html'], 'canvas'), + (namespaces['html'], 'caption'), + (namespaces['html'], 'center'), + (namespaces['html'], 'cite'), + (namespaces['html'], 'code'), + (namespaces['html'], 'col'), + (namespaces['html'], 'colgroup'), + (namespaces['html'], 'command'), + (namespaces['html'], 'datagrid'), + (namespaces['html'], 'datalist'), + (namespaces['html'], 'dd'), + (namespaces['html'], 'del'), + (namespaces['html'], 'details'), + (namespaces['html'], 'dfn'), + (namespaces['html'], 'dialog'), + (namespaces['html'], 'dir'), + (namespaces['html'], 'div'), + (namespaces['html'], 'dl'), + (namespaces['html'], 'dt'), + (namespaces['html'], 'em'), + (namespaces['html'], 'event-source'), + (namespaces['html'], 'fieldset'), + (namespaces['html'], 'figcaption'), + (namespaces['html'], 'figure'), + (namespaces['html'], 'footer'), + (namespaces['html'], 'font'), + (namespaces['html'], 'form'), + (namespaces['html'], 'header'), + (namespaces['html'], 'h1'), + (namespaces['html'], 'h2'), + (namespaces['html'], 'h3'), + (namespaces['html'], 'h4'), + (namespaces['html'], 'h5'), + (namespaces['html'], 'h6'), + (namespaces['html'], 'hr'), + (namespaces['html'], 'i'), + (namespaces['html'], 'img'), + (namespaces['html'], 'input'), + (namespaces['html'], 'ins'), + (namespaces['html'], 'keygen'), + (namespaces['html'], 'kbd'), + (namespaces['html'], 'label'), + (namespaces['html'], 'legend'), + (namespaces['html'], 'li'), + (namespaces['html'], 'm'), + (namespaces['html'], 'map'), + (namespaces['html'], 'menu'), + (namespaces['html'], 'meter'), + (namespaces['html'], 'multicol'), + (namespaces['html'], 'nav'), + (namespaces['html'], 'nextid'), + (namespaces['html'], 'ol'), + (namespaces['html'], 'output'), + (namespaces['html'], 'optgroup'), + (namespaces['html'], 'option'), + (namespaces['html'], 'p'), + (namespaces['html'], 'pre'), + (namespaces['html'], 'progress'), + (namespaces['html'], 'q'), + (namespaces['html'], 's'), + (namespaces['html'], 'samp'), + (namespaces['html'], 'section'), + (namespaces['html'], 'select'), + (namespaces['html'], 'small'), + (namespaces['html'], 'sound'), + (namespaces['html'], 'source'), + (namespaces['html'], 'spacer'), + (namespaces['html'], 'span'), + (namespaces['html'], 'strike'), + (namespaces['html'], 'strong'), + (namespaces['html'], 'sub'), + (namespaces['html'], 'sup'), + (namespaces['html'], 'table'), + (namespaces['html'], 'tbody'), + (namespaces['html'], 'td'), + (namespaces['html'], 'textarea'), + (namespaces['html'], 'time'), + (namespaces['html'], 'tfoot'), + (namespaces['html'], 'th'), + (namespaces['html'], 'thead'), + (namespaces['html'], 'tr'), + (namespaces['html'], 'tt'), + (namespaces['html'], 'u'), + (namespaces['html'], 'ul'), + (namespaces['html'], 'var'), + (namespaces['html'], 'video'), + (namespaces['mathml'], 'maction'), + (namespaces['mathml'], 'math'), + (namespaces['mathml'], 'merror'), + (namespaces['mathml'], 'mfrac'), + (namespaces['mathml'], 'mi'), + (namespaces['mathml'], 'mmultiscripts'), + (namespaces['mathml'], 'mn'), + (namespaces['mathml'], 'mo'), + (namespaces['mathml'], 'mover'), + (namespaces['mathml'], 'mpadded'), + (namespaces['mathml'], 'mphantom'), + (namespaces['mathml'], 'mprescripts'), + (namespaces['mathml'], 'mroot'), + (namespaces['mathml'], 'mrow'), + (namespaces['mathml'], 'mspace'), + (namespaces['mathml'], 'msqrt'), + (namespaces['mathml'], 'mstyle'), + (namespaces['mathml'], 'msub'), + (namespaces['mathml'], 'msubsup'), + (namespaces['mathml'], 'msup'), + (namespaces['mathml'], 'mtable'), + (namespaces['mathml'], 'mtd'), + (namespaces['mathml'], 'mtext'), + (namespaces['mathml'], 'mtr'), + (namespaces['mathml'], 'munder'), + (namespaces['mathml'], 'munderover'), + (namespaces['mathml'], 'none'), + (namespaces['svg'], 'a'), + (namespaces['svg'], 'animate'), + (namespaces['svg'], 'animateColor'), + (namespaces['svg'], 'animateMotion'), + (namespaces['svg'], 'animateTransform'), + (namespaces['svg'], 'clipPath'), + (namespaces['svg'], 'circle'), + (namespaces['svg'], 'defs'), + (namespaces['svg'], 'desc'), + (namespaces['svg'], 'ellipse'), + (namespaces['svg'], 'font-face'), + (namespaces['svg'], 'font-face-name'), + (namespaces['svg'], 'font-face-src'), + (namespaces['svg'], 'g'), + (namespaces['svg'], 'glyph'), + (namespaces['svg'], 'hkern'), + (namespaces['svg'], 'linearGradient'), + (namespaces['svg'], 'line'), + (namespaces['svg'], 'marker'), + (namespaces['svg'], 'metadata'), + (namespaces['svg'], 'missing-glyph'), + (namespaces['svg'], 'mpath'), + (namespaces['svg'], 'path'), + (namespaces['svg'], 'polygon'), + (namespaces['svg'], 'polyline'), + (namespaces['svg'], 'radialGradient'), + (namespaces['svg'], 'rect'), + (namespaces['svg'], 'set'), + (namespaces['svg'], 'stop'), + (namespaces['svg'], 'svg'), + (namespaces['svg'], 'switch'), + (namespaces['svg'], 'text'), + (namespaces['svg'], 'title'), + (namespaces['svg'], 'tspan'), + (namespaces['svg'], 'use'), +)) + +allowed_attributes = frozenset(( + # HTML attributes + (None, 'abbr'), + (None, 'accept'), + (None, 'accept-charset'), + (None, 'accesskey'), + (None, 'action'), + (None, 'align'), + (None, 'alt'), + (None, 'autocomplete'), + (None, 'autofocus'), + (None, 'axis'), + (None, 'background'), + (None, 'balance'), + (None, 'bgcolor'), + (None, 'bgproperties'), + (None, 'border'), + (None, 'bordercolor'), + (None, 'bordercolordark'), + (None, 'bordercolorlight'), + (None, 'bottompadding'), + (None, 'cellpadding'), + (None, 'cellspacing'), + (None, 'ch'), + (None, 'challenge'), + (None, 'char'), + (None, 'charoff'), + (None, 'choff'), + (None, 'charset'), + (None, 'checked'), + (None, 'cite'), + (None, 'class'), + (None, 'clear'), + (None, 'color'), + (None, 'cols'), + (None, 'colspan'), + (None, 'compact'), + (None, 'contenteditable'), + (None, 'controls'), + (None, 'coords'), + (None, 'data'), + (None, 'datafld'), + (None, 'datapagesize'), + (None, 'datasrc'), + (None, 'datetime'), + (None, 'default'), + (None, 'delay'), + (None, 'dir'), + (None, 'disabled'), + (None, 'draggable'), + (None, 'dynsrc'), + (None, 'enctype'), + (None, 'end'), + (None, 'face'), + (None, 'for'), + (None, 'form'), + (None, 'frame'), + (None, 'galleryimg'), + (None, 'gutter'), + (None, 'headers'), + (None, 'height'), + (None, 'hidefocus'), + (None, 'hidden'), + (None, 'high'), + (None, 'href'), + (None, 'hreflang'), + (None, 'hspace'), + (None, 'icon'), + (None, 'id'), + (None, 'inputmode'), + (None, 'ismap'), + (None, 'keytype'), + (None, 'label'), + (None, 'leftspacing'), + (None, 'lang'), + (None, 'list'), + (None, 'longdesc'), + (None, 'loop'), + (None, 'loopcount'), + (None, 'loopend'), + (None, 'loopstart'), + (None, 'low'), + (None, 'lowsrc'), + (None, 'max'), + (None, 'maxlength'), + (None, 'media'), + (None, 'method'), + (None, 'min'), + (None, 'multiple'), + (None, 'name'), + (None, 'nohref'), + (None, 'noshade'), + (None, 'nowrap'), + (None, 'open'), + (None, 'optimum'), + (None, 'pattern'), + (None, 'ping'), + (None, 'point-size'), + (None, 'poster'), + (None, 'pqg'), + (None, 'preload'), + (None, 'prompt'), + (None, 'radiogroup'), + (None, 'readonly'), + (None, 'rel'), + (None, 'repeat-max'), + (None, 'repeat-min'), + (None, 'replace'), + (None, 'required'), + (None, 'rev'), + (None, 'rightspacing'), + (None, 'rows'), + (None, 'rowspan'), + (None, 'rules'), + (None, 'scope'), + (None, 'selected'), + (None, 'shape'), + (None, 'size'), + (None, 'span'), + (None, 'src'), + (None, 'start'), + (None, 'step'), + (None, 'style'), + (None, 'summary'), + (None, 'suppress'), + (None, 'tabindex'), + (None, 'target'), + (None, 'template'), + (None, 'title'), + (None, 'toppadding'), + (None, 'type'), + (None, 'unselectable'), + (None, 'usemap'), + (None, 'urn'), + (None, 'valign'), + (None, 'value'), + (None, 'variable'), + (None, 'volume'), + (None, 'vspace'), + (None, 'vrml'), + (None, 'width'), + (None, 'wrap'), + (namespaces['xml'], 'lang'), + # MathML attributes + (None, 'actiontype'), + (None, 'align'), + (None, 'columnalign'), + (None, 'columnalign'), + (None, 'columnalign'), + (None, 'columnlines'), + (None, 'columnspacing'), + (None, 'columnspan'), + (None, 'depth'), + (None, 'display'), + (None, 'displaystyle'), + (None, 'equalcolumns'), + (None, 'equalrows'), + (None, 'fence'), + (None, 'fontstyle'), + (None, 'fontweight'), + (None, 'frame'), + (None, 'height'), + (None, 'linethickness'), + (None, 'lspace'), + (None, 'mathbackground'), + (None, 'mathcolor'), + (None, 'mathvariant'), + (None, 'mathvariant'), + (None, 'maxsize'), + (None, 'minsize'), + (None, 'other'), + (None, 'rowalign'), + (None, 'rowalign'), + (None, 'rowalign'), + (None, 'rowlines'), + (None, 'rowspacing'), + (None, 'rowspan'), + (None, 'rspace'), + (None, 'scriptlevel'), + (None, 'selection'), + (None, 'separator'), + (None, 'stretchy'), + (None, 'width'), + (None, 'width'), + (namespaces['xlink'], 'href'), + (namespaces['xlink'], 'show'), + (namespaces['xlink'], 'type'), + # SVG attributes + (None, 'accent-height'), + (None, 'accumulate'), + (None, 'additive'), + (None, 'alphabetic'), + (None, 'arabic-form'), + (None, 'ascent'), + (None, 'attributeName'), + (None, 'attributeType'), + (None, 'baseProfile'), + (None, 'bbox'), + (None, 'begin'), + (None, 'by'), + (None, 'calcMode'), + (None, 'cap-height'), + (None, 'class'), + (None, 'clip-path'), + (None, 'color'), + (None, 'color-rendering'), + (None, 'content'), + (None, 'cx'), + (None, 'cy'), + (None, 'd'), + (None, 'dx'), + (None, 'dy'), + (None, 'descent'), + (None, 'display'), + (None, 'dur'), + (None, 'end'), + (None, 'fill'), + (None, 'fill-opacity'), + (None, 'fill-rule'), + (None, 'font-family'), + (None, 'font-size'), + (None, 'font-stretch'), + (None, 'font-style'), + (None, 'font-variant'), + (None, 'font-weight'), + (None, 'from'), + (None, 'fx'), + (None, 'fy'), + (None, 'g1'), + (None, 'g2'), + (None, 'glyph-name'), + (None, 'gradientUnits'), + (None, 'hanging'), + (None, 'height'), + (None, 'horiz-adv-x'), + (None, 'horiz-origin-x'), + (None, 'id'), + (None, 'ideographic'), + (None, 'k'), + (None, 'keyPoints'), + (None, 'keySplines'), + (None, 'keyTimes'), + (None, 'lang'), + (None, 'marker-end'), + (None, 'marker-mid'), + (None, 'marker-start'), + (None, 'markerHeight'), + (None, 'markerUnits'), + (None, 'markerWidth'), + (None, 'mathematical'), + (None, 'max'), + (None, 'min'), + (None, 'name'), + (None, 'offset'), + (None, 'opacity'), + (None, 'orient'), + (None, 'origin'), + (None, 'overline-position'), + (None, 'overline-thickness'), + (None, 'panose-1'), + (None, 'path'), + (None, 'pathLength'), + (None, 'points'), + (None, 'preserveAspectRatio'), + (None, 'r'), + (None, 'refX'), + (None, 'refY'), + (None, 'repeatCount'), + (None, 'repeatDur'), + (None, 'requiredExtensions'), + (None, 'requiredFeatures'), + (None, 'restart'), + (None, 'rotate'), + (None, 'rx'), + (None, 'ry'), + (None, 'slope'), + (None, 'stemh'), + (None, 'stemv'), + (None, 'stop-color'), + (None, 'stop-opacity'), + (None, 'strikethrough-position'), + (None, 'strikethrough-thickness'), + (None, 'stroke'), + (None, 'stroke-dasharray'), + (None, 'stroke-dashoffset'), + (None, 'stroke-linecap'), + (None, 'stroke-linejoin'), + (None, 'stroke-miterlimit'), + (None, 'stroke-opacity'), + (None, 'stroke-width'), + (None, 'systemLanguage'), + (None, 'target'), + (None, 'text-anchor'), + (None, 'to'), + (None, 'transform'), + (None, 'type'), + (None, 'u1'), + (None, 'u2'), + (None, 'underline-position'), + (None, 'underline-thickness'), + (None, 'unicode'), + (None, 'unicode-range'), + (None, 'units-per-em'), + (None, 'values'), + (None, 'version'), + (None, 'viewBox'), + (None, 'visibility'), + (None, 'width'), + (None, 'widths'), + (None, 'x'), + (None, 'x-height'), + (None, 'x1'), + (None, 'x2'), + (namespaces['xlink'], 'actuate'), + (namespaces['xlink'], 'arcrole'), + (namespaces['xlink'], 'href'), + (namespaces['xlink'], 'role'), + (namespaces['xlink'], 'show'), + (namespaces['xlink'], 'title'), + (namespaces['xlink'], 'type'), + (namespaces['xml'], 'base'), + (namespaces['xml'], 'lang'), + (namespaces['xml'], 'space'), + (None, 'y'), + (None, 'y1'), + (None, 'y2'), + (None, 'zoomAndPan'), +)) + +attr_val_is_uri = frozenset(( + (None, 'href'), + (None, 'src'), + (None, 'cite'), + (None, 'action'), + (None, 'longdesc'), + (None, 'poster'), + (None, 'background'), + (None, 'datasrc'), + (None, 'dynsrc'), + (None, 'lowsrc'), + (None, 'ping'), + (namespaces['xlink'], 'href'), + (namespaces['xml'], 'base'), +)) + +svg_attr_val_allows_ref = frozenset(( + (None, 'clip-path'), + (None, 'color-profile'), + (None, 'cursor'), + (None, 'fill'), + (None, 'filter'), + (None, 'marker'), + (None, 'marker-start'), + (None, 'marker-mid'), + (None, 'marker-end'), + (None, 'mask'), + (None, 'stroke'), +)) + +svg_allow_local_href = frozenset(( + (None, 'altGlyph'), + (None, 'animate'), + (None, 'animateColor'), + (None, 'animateMotion'), + (None, 'animateTransform'), + (None, 'cursor'), + (None, 'feImage'), + (None, 'filter'), + (None, 'linearGradient'), + (None, 'pattern'), + (None, 'radialGradient'), + (None, 'textpath'), + (None, 'tref'), + (None, 'set'), + (None, 'use') +)) + +allowed_css_properties = frozenset(( + 'azimuth', + 'background-color', + 'border-bottom-color', + 'border-collapse', + 'border-color', + 'border-left-color', + 'border-right-color', + 'border-top-color', + 'clear', + 'color', + 'cursor', + 'direction', + 'display', + 'elevation', + 'float', + 'font', + 'font-family', + 'font-size', + 'font-style', + 'font-variant', + 'font-weight', + 'height', + 'letter-spacing', + 'line-height', + 'overflow', + 'pause', + 'pause-after', + 'pause-before', + 'pitch', + 'pitch-range', + 'richness', + 'speak', + 'speak-header', + 'speak-numeral', + 'speak-punctuation', + 'speech-rate', + 'stress', + 'text-align', + 'text-decoration', + 'text-indent', + 'unicode-bidi', + 'vertical-align', + 'voice-family', + 'volume', + 'white-space', + 'width', +)) + +allowed_css_keywords = frozenset(( + 'auto', + 'aqua', + 'black', + 'block', + 'blue', + 'bold', + 'both', + 'bottom', + 'brown', + 'center', + 'collapse', + 'dashed', + 'dotted', + 'fuchsia', + 'gray', + 'green', + '!important', + 'italic', + 'left', + 'lime', + 'maroon', + 'medium', + 'none', + 'navy', + 'normal', + 'nowrap', + 'olive', + 'pointer', + 'purple', + 'red', + 'right', + 'solid', + 'silver', + 'teal', + 'top', + 'transparent', + 'underline', + 'white', + 'yellow', +)) + +allowed_svg_properties = frozenset(( + 'fill', + 'fill-opacity', + 'fill-rule', + 'stroke', + 'stroke-width', + 'stroke-linecap', + 'stroke-linejoin', + 'stroke-opacity', +)) + +allowed_protocols = frozenset(( + 'ed2k', + 'ftp', + 'http', + 'https', + 'irc', + 'mailto', + 'news', + 'gopher', + 'nntp', + 'telnet', + 'webcal', + 'xmpp', + 'callto', + 'feed', + 'urn', + 'aim', + 'rsync', + 'tag', + 'ssh', + 'sftp', + 'rtsp', + 'afs', + 'data', +)) + +allowed_content_types = frozenset(( + 'image/png', + 'image/jpeg', + 'image/gif', + 'image/webp', + 'image/bmp', + 'text/plain', +)) + + +data_content_type = re.compile(r''' + ^ + # Match a content type <application>/<type> + (?P<content_type>[-a-zA-Z0-9.]+/[-a-zA-Z0-9.]+) + # Match any character set and encoding + (?:(?:;charset=(?:[-a-zA-Z0-9]+)(?:;(?:base64))?) + |(?:;(?:base64))?(?:;charset=(?:[-a-zA-Z0-9]+))?) + # Assume the rest is data + ,.* + $ + ''', + re.VERBOSE) + + +class Filter(base.Filter): + """Sanitizes token stream of XHTML+MathML+SVG and of inline style attributes""" + def __init__(self, + source, + allowed_elements=allowed_elements, + allowed_attributes=allowed_attributes, + allowed_css_properties=allowed_css_properties, + allowed_css_keywords=allowed_css_keywords, + allowed_svg_properties=allowed_svg_properties, + allowed_protocols=allowed_protocols, + allowed_content_types=allowed_content_types, + attr_val_is_uri=attr_val_is_uri, + svg_attr_val_allows_ref=svg_attr_val_allows_ref, + svg_allow_local_href=svg_allow_local_href): + """Creates a Filter + + :arg allowed_elements: set of elements to allow--everything else will + be escaped + + :arg allowed_attributes: set of attributes to allow in + elements--everything else will be stripped + + :arg allowed_css_properties: set of CSS properties to allow--everything + else will be stripped + + :arg allowed_css_keywords: set of CSS keywords to allow--everything + else will be stripped + + :arg allowed_svg_properties: set of SVG properties to allow--everything + else will be removed + + :arg allowed_protocols: set of allowed protocols for URIs + + :arg allowed_content_types: set of allowed content types for ``data`` URIs. + + :arg attr_val_is_uri: set of attributes that have URI values--values + that have a scheme not listed in ``allowed_protocols`` are removed + + :arg svg_attr_val_allows_ref: set of SVG attributes that can have + references + + :arg svg_allow_local_href: set of SVG elements that can have local + hrefs--these are removed + + """ + super(Filter, self).__init__(source) + self.allowed_elements = allowed_elements + self.allowed_attributes = allowed_attributes + self.allowed_css_properties = allowed_css_properties + self.allowed_css_keywords = allowed_css_keywords + self.allowed_svg_properties = allowed_svg_properties + self.allowed_protocols = allowed_protocols + self.allowed_content_types = allowed_content_types + self.attr_val_is_uri = attr_val_is_uri + self.svg_attr_val_allows_ref = svg_attr_val_allows_ref + self.svg_allow_local_href = svg_allow_local_href + + def __iter__(self): + for token in base.Filter.__iter__(self): + token = self.sanitize_token(token) + if token: + yield token + + # Sanitize the +html+, escaping all elements not in ALLOWED_ELEMENTS, and + # stripping out all attributes not in ALLOWED_ATTRIBUTES. Style attributes + # are parsed, and a restricted set, specified by ALLOWED_CSS_PROPERTIES and + # ALLOWED_CSS_KEYWORDS, are allowed through. attributes in ATTR_VAL_IS_URI + # are scanned, and only URI schemes specified in ALLOWED_PROTOCOLS are + # allowed. + # + # sanitize_html('<script> do_nasty_stuff() </script>') + # => <script> do_nasty_stuff() </script> + # sanitize_html('<a href="javascript: sucker();">Click here for $100</a>') + # => <a>Click here for $100</a> + def sanitize_token(self, token): + + # accommodate filters which use token_type differently + token_type = token["type"] + if token_type in ("StartTag", "EndTag", "EmptyTag"): + name = token["name"] + namespace = token["namespace"] + if ((namespace, name) in self.allowed_elements or + (namespace is None and + (namespaces["html"], name) in self.allowed_elements)): + return self.allowed_token(token) + else: + return self.disallowed_token(token) + elif token_type == "Comment": + pass + else: + return token + + def allowed_token(self, token): + if "data" in token: + attrs = token["data"] + attr_names = set(attrs.keys()) + + # Remove forbidden attributes + for to_remove in (attr_names - self.allowed_attributes): + del token["data"][to_remove] + attr_names.remove(to_remove) + + # Remove attributes with disallowed URL values + for attr in (attr_names & self.attr_val_is_uri): + assert attr in attrs + # I don't have a clue where this regexp comes from or why it matches those + # characters, nor why we call unescape. I just know it's always been here. + # Should you be worried by this comment in a sanitizer? Yes. On the other hand, all + # this will do is remove *more* than it otherwise would. + val_unescaped = re.sub("[`\x00-\x20\x7f-\xa0\\s]+", '', + unescape(attrs[attr])).lower() + # remove replacement characters from unescaped characters + val_unescaped = val_unescaped.replace("\ufffd", "") + try: + uri = urlparse.urlparse(val_unescaped) + except ValueError: + uri = None + del attrs[attr] + if uri and uri.scheme: + if uri.scheme not in self.allowed_protocols: + del attrs[attr] + if uri.scheme == 'data': + m = data_content_type.match(uri.path) + if not m: + del attrs[attr] + elif m.group('content_type') not in self.allowed_content_types: + del attrs[attr] + + for attr in self.svg_attr_val_allows_ref: + if attr in attrs: + attrs[attr] = re.sub(r'url\s*\(\s*[^#\s][^)]+?\)', + ' ', + unescape(attrs[attr])) + if (token["name"] in self.svg_allow_local_href and + (namespaces['xlink'], 'href') in attrs and re.search(r'^\s*[^#\s].*', + attrs[(namespaces['xlink'], 'href')])): + del attrs[(namespaces['xlink'], 'href')] + if (None, 'style') in attrs: + attrs[(None, 'style')] = self.sanitize_css(attrs[(None, 'style')]) + token["data"] = attrs + return token + + def disallowed_token(self, token): + token_type = token["type"] + if token_type == "EndTag": + token["data"] = "</%s>" % token["name"] + elif token["data"]: + assert token_type in ("StartTag", "EmptyTag") + attrs = [] + for (ns, name), v in token["data"].items(): + attrs.append(' %s="%s"' % (name if ns is None else "%s:%s" % (prefixes[ns], name), escape(v))) + token["data"] = "<%s%s>" % (token["name"], ''.join(attrs)) + else: + token["data"] = "<%s>" % token["name"] + if token.get("selfClosing"): + token["data"] = token["data"][:-1] + "/>" + + token["type"] = "Characters" + + del token["name"] + return token + + def sanitize_css(self, style): + # disallow urls + style = re.compile(r'url\s*\(\s*[^\s)]+?\s*\)\s*').sub(' ', style) + + # gauntlet + if not re.match(r"""^([:,;#%.\sa-zA-Z0-9!]|\w-\w|'[\s\w]+'|"[\s\w]+"|\([\d,\s]+\))*$""", style): + return '' + if not re.match(r"^\s*([-\w]+\s*:[^:;]*(;\s*|$))*$", style): + return '' + + clean = [] + for prop, value in re.findall(r"([-\w]+)\s*:\s*([^:;]*)", style): + if not value: + continue + if prop.lower() in self.allowed_css_properties: + clean.append(prop + ': ' + value + ';') + elif prop.split('-')[0].lower() in ['background', 'border', 'margin', + 'padding']: + for keyword in value.split(): + if keyword not in self.allowed_css_keywords and \ + not re.match(r"^(#[0-9a-fA-F]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)$", keyword): # noqa + break + else: + clean.append(prop + ': ' + value + ';') + elif prop.lower() in self.allowed_svg_properties: + clean.append(prop + ': ' + value + ';') + + return ' '.join(clean) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/whitespace.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/whitespace.py new file mode 100644 index 0000000000..0d12584b45 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/filters/whitespace.py @@ -0,0 +1,38 @@ +from __future__ import absolute_import, division, unicode_literals + +import re + +from . import base +from ..constants import rcdataElements, spaceCharacters +spaceCharacters = "".join(spaceCharacters) + +SPACES_REGEX = re.compile("[%s]+" % spaceCharacters) + + +class Filter(base.Filter): + """Collapses whitespace except in pre, textarea, and script elements""" + spacePreserveElements = frozenset(["pre", "textarea"] + list(rcdataElements)) + + def __iter__(self): + preserve = 0 + for token in base.Filter.__iter__(self): + type = token["type"] + if type == "StartTag" \ + and (preserve or token["name"] in self.spacePreserveElements): + preserve += 1 + + elif type == "EndTag" and preserve: + preserve -= 1 + + elif not preserve and type == "SpaceCharacters" and token["data"]: + # Test on token["data"] above to not introduce spaces where there were not + token["data"] = " " + + elif not preserve and type == "Characters": + token["data"] = collapse_spaces(token["data"]) + + yield token + + +def collapse_spaces(text): + return SPACES_REGEX.sub(' ', text) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/html5parser.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/html5parser.py new file mode 100644 index 0000000000..ae41a13376 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/html5parser.py @@ -0,0 +1,2791 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import with_metaclass, viewkeys + +import types +from collections import OrderedDict + +from . import _inputstream +from . import _tokenizer + +from . import treebuilders +from .treebuilders.base import Marker + +from . import _utils +from .constants import ( + spaceCharacters, asciiUpper2Lower, + specialElements, headingElements, cdataElements, rcdataElements, + tokenTypes, tagTokenTypes, + namespaces, + htmlIntegrationPointElements, mathmlTextIntegrationPointElements, + adjustForeignAttributes as adjustForeignAttributesMap, + adjustMathMLAttributes, adjustSVGAttributes, + E, + _ReparseException +) + + +def parse(doc, treebuilder="etree", namespaceHTMLElements=True, **kwargs): + """Parse an HTML document as a string or file-like object into a tree + + :arg doc: the document to parse as a string or file-like object + + :arg treebuilder: the treebuilder to use when parsing + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :returns: parsed tree + + Example: + + >>> from html5lib.html5parser import parse + >>> parse('<html><body><p>This is a doc</p></body></html>') + <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0> + + """ + tb = treebuilders.getTreeBuilder(treebuilder) + p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) + return p.parse(doc, **kwargs) + + +def parseFragment(doc, container="div", treebuilder="etree", namespaceHTMLElements=True, **kwargs): + """Parse an HTML fragment as a string or file-like object into a tree + + :arg doc: the fragment to parse as a string or file-like object + + :arg container: the container context to parse the fragment in + + :arg treebuilder: the treebuilder to use when parsing + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :returns: parsed tree + + Example: + + >>> from html5lib.html5libparser import parseFragment + >>> parseFragment('<b>this is a fragment</b>') + <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090> + + """ + tb = treebuilders.getTreeBuilder(treebuilder) + p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements) + return p.parseFragment(doc, container=container, **kwargs) + + +def method_decorator_metaclass(function): + class Decorated(type): + def __new__(meta, classname, bases, classDict): + for attributeName, attribute in classDict.items(): + if isinstance(attribute, types.FunctionType): + attribute = function(attribute) + + classDict[attributeName] = attribute + return type.__new__(meta, classname, bases, classDict) + return Decorated + + +class HTMLParser(object): + """HTML parser + + Generates a tree structure from a stream of (possibly malformed) HTML. + + """ + + def __init__(self, tree=None, strict=False, namespaceHTMLElements=True, debug=False): + """ + :arg tree: a treebuilder class controlling the type of tree that will be + returned. Built in treebuilders can be accessed through + html5lib.treebuilders.getTreeBuilder(treeType) + + :arg strict: raise an exception when a parse error is encountered + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + :arg debug: whether or not to enable debug mode which logs things + + Example: + + >>> from html5lib.html5parser import HTMLParser + >>> parser = HTMLParser() # generates parser with etree builder + >>> parser = HTMLParser('lxml', strict=True) # generates parser with lxml builder which is strict + + """ + + # Raise an exception on the first error encountered + self.strict = strict + + if tree is None: + tree = treebuilders.getTreeBuilder("etree") + self.tree = tree(namespaceHTMLElements) + self.errors = [] + + self.phases = dict([(name, cls(self, self.tree)) for name, cls in + getPhases(debug).items()]) + + def _parse(self, stream, innerHTML=False, container="div", scripting=False, **kwargs): + + self.innerHTMLMode = innerHTML + self.container = container + self.scripting = scripting + self.tokenizer = _tokenizer.HTMLTokenizer(stream, parser=self, **kwargs) + self.reset() + + try: + self.mainLoop() + except _ReparseException: + self.reset() + self.mainLoop() + + def reset(self): + self.tree.reset() + self.firstStartTag = False + self.errors = [] + self.log = [] # only used with debug mode + # "quirks" / "limited quirks" / "no quirks" + self.compatMode = "no quirks" + + if self.innerHTMLMode: + self.innerHTML = self.container.lower() + + if self.innerHTML in cdataElements: + self.tokenizer.state = self.tokenizer.rcdataState + elif self.innerHTML in rcdataElements: + self.tokenizer.state = self.tokenizer.rawtextState + elif self.innerHTML == 'plaintext': + self.tokenizer.state = self.tokenizer.plaintextState + else: + # state already is data state + # self.tokenizer.state = self.tokenizer.dataState + pass + self.phase = self.phases["beforeHtml"] + self.phase.insertHtmlElement() + self.resetInsertionMode() + else: + self.innerHTML = False # pylint:disable=redefined-variable-type + self.phase = self.phases["initial"] + + self.lastPhase = None + + self.beforeRCDataPhase = None + + self.framesetOK = True + + @property + def documentEncoding(self): + """Name of the character encoding that was used to decode the input stream, or + :obj:`None` if that is not determined yet + + """ + if not hasattr(self, 'tokenizer'): + return None + return self.tokenizer.stream.charEncoding[0].name + + def isHTMLIntegrationPoint(self, element): + if (element.name == "annotation-xml" and + element.namespace == namespaces["mathml"]): + return ("encoding" in element.attributes and + element.attributes["encoding"].translate( + asciiUpper2Lower) in + ("text/html", "application/xhtml+xml")) + else: + return (element.namespace, element.name) in htmlIntegrationPointElements + + def isMathMLTextIntegrationPoint(self, element): + return (element.namespace, element.name) in mathmlTextIntegrationPointElements + + def mainLoop(self): + CharactersToken = tokenTypes["Characters"] + SpaceCharactersToken = tokenTypes["SpaceCharacters"] + StartTagToken = tokenTypes["StartTag"] + EndTagToken = tokenTypes["EndTag"] + CommentToken = tokenTypes["Comment"] + DoctypeToken = tokenTypes["Doctype"] + ParseErrorToken = tokenTypes["ParseError"] + + for token in self.normalizedTokens(): + prev_token = None + new_token = token + while new_token is not None: + prev_token = new_token + currentNode = self.tree.openElements[-1] if self.tree.openElements else None + currentNodeNamespace = currentNode.namespace if currentNode else None + currentNodeName = currentNode.name if currentNode else None + + type = new_token["type"] + + if type == ParseErrorToken: + self.parseError(new_token["data"], new_token.get("datavars", {})) + new_token = None + else: + if (len(self.tree.openElements) == 0 or + currentNodeNamespace == self.tree.defaultNamespace or + (self.isMathMLTextIntegrationPoint(currentNode) and + ((type == StartTagToken and + token["name"] not in frozenset(["mglyph", "malignmark"])) or + type in (CharactersToken, SpaceCharactersToken))) or + (currentNodeNamespace == namespaces["mathml"] and + currentNodeName == "annotation-xml" and + type == StartTagToken and + token["name"] == "svg") or + (self.isHTMLIntegrationPoint(currentNode) and + type in (StartTagToken, CharactersToken, SpaceCharactersToken))): + phase = self.phase + else: + phase = self.phases["inForeignContent"] + + if type == CharactersToken: + new_token = phase.processCharacters(new_token) + elif type == SpaceCharactersToken: + new_token = phase.processSpaceCharacters(new_token) + elif type == StartTagToken: + new_token = phase.processStartTag(new_token) + elif type == EndTagToken: + new_token = phase.processEndTag(new_token) + elif type == CommentToken: + new_token = phase.processComment(new_token) + elif type == DoctypeToken: + new_token = phase.processDoctype(new_token) + + if (type == StartTagToken and prev_token["selfClosing"] and + not prev_token["selfClosingAcknowledged"]): + self.parseError("non-void-element-with-trailing-solidus", + {"name": prev_token["name"]}) + + # When the loop finishes it's EOF + reprocess = True + phases = [] + while reprocess: + phases.append(self.phase) + reprocess = self.phase.processEOF() + if reprocess: + assert self.phase not in phases + + def normalizedTokens(self): + for token in self.tokenizer: + yield self.normalizeToken(token) + + def parse(self, stream, *args, **kwargs): + """Parse a HTML document into a well-formed tree + + :arg stream: a file-like object or string containing the HTML to be parsed + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element). + + :arg scripting: treat noscript elements as if JavaScript was turned on + + :returns: parsed tree + + Example: + + >>> from html5lib.html5parser import HTMLParser + >>> parser = HTMLParser() + >>> parser.parse('<html><body><p>This is a doc</p></body></html>') + <Element u'{http://www.w3.org/1999/xhtml}html' at 0x7feac4909db0> + + """ + self._parse(stream, False, None, *args, **kwargs) + return self.tree.getDocument() + + def parseFragment(self, stream, *args, **kwargs): + """Parse a HTML fragment into a well-formed tree fragment + + :arg container: name of the element we're setting the innerHTML + property if set to None, default to 'div' + + :arg stream: a file-like object or string containing the HTML to be parsed + + The optional encoding parameter must be a string that indicates + the encoding. If specified, that encoding will be used, + regardless of any BOM or later declaration (such as in a meta + element) + + :arg scripting: treat noscript elements as if JavaScript was turned on + + :returns: parsed tree + + Example: + + >>> from html5lib.html5libparser import HTMLParser + >>> parser = HTMLParser() + >>> parser.parseFragment('<b>this is a fragment</b>') + <Element u'DOCUMENT_FRAGMENT' at 0x7feac484b090> + + """ + self._parse(stream, True, *args, **kwargs) + return self.tree.getFragment() + + def parseError(self, errorcode="XXX-undefined-error", datavars=None): + # XXX The idea is to make errorcode mandatory. + if datavars is None: + datavars = {} + self.errors.append((self.tokenizer.stream.position(), errorcode, datavars)) + if self.strict: + raise ParseError(E[errorcode] % datavars) + + def normalizeToken(self, token): + # HTML5 specific normalizations to the token stream + if token["type"] == tokenTypes["StartTag"]: + raw = token["data"] + token["data"] = OrderedDict(raw) + if len(raw) > len(token["data"]): + # we had some duplicated attribute, fix so first wins + token["data"].update(raw[::-1]) + + return token + + def adjustMathMLAttributes(self, token): + adjust_attributes(token, adjustMathMLAttributes) + + def adjustSVGAttributes(self, token): + adjust_attributes(token, adjustSVGAttributes) + + def adjustForeignAttributes(self, token): + adjust_attributes(token, adjustForeignAttributesMap) + + def reparseTokenNormal(self, token): + # pylint:disable=unused-argument + self.parser.phase() + + def resetInsertionMode(self): + # The name of this method is mostly historical. (It's also used in the + # specification.) + last = False + newModes = { + "select": "inSelect", + "td": "inCell", + "th": "inCell", + "tr": "inRow", + "tbody": "inTableBody", + "thead": "inTableBody", + "tfoot": "inTableBody", + "caption": "inCaption", + "colgroup": "inColumnGroup", + "table": "inTable", + "head": "inBody", + "body": "inBody", + "frameset": "inFrameset", + "html": "beforeHead" + } + for node in self.tree.openElements[::-1]: + nodeName = node.name + new_phase = None + if node == self.tree.openElements[0]: + assert self.innerHTML + last = True + nodeName = self.innerHTML + # Check for conditions that should only happen in the innerHTML + # case + if nodeName in ("select", "colgroup", "head", "html"): + assert self.innerHTML + + if not last and node.namespace != self.tree.defaultNamespace: + continue + + if nodeName in newModes: + new_phase = self.phases[newModes[nodeName]] + break + elif last: + new_phase = self.phases["inBody"] + break + + self.phase = new_phase + + def parseRCDataRawtext(self, token, contentType): + # Generic RCDATA/RAWTEXT Parsing algorithm + assert contentType in ("RAWTEXT", "RCDATA") + + self.tree.insertElement(token) + + if contentType == "RAWTEXT": + self.tokenizer.state = self.tokenizer.rawtextState + else: + self.tokenizer.state = self.tokenizer.rcdataState + + self.originalPhase = self.phase + + self.phase = self.phases["text"] + + +@_utils.memoize +def getPhases(debug): + def log(function): + """Logger that records which phase processes each token""" + type_names = dict((value, key) for key, value in + tokenTypes.items()) + + def wrapped(self, *args, **kwargs): + if function.__name__.startswith("process") and len(args) > 0: + token = args[0] + try: + info = {"type": type_names[token['type']]} + except: + raise + if token['type'] in tagTokenTypes: + info["name"] = token['name'] + + self.parser.log.append((self.parser.tokenizer.state.__name__, + self.parser.phase.__class__.__name__, + self.__class__.__name__, + function.__name__, + info)) + return function(self, *args, **kwargs) + else: + return function(self, *args, **kwargs) + return wrapped + + def getMetaclass(use_metaclass, metaclass_func): + if use_metaclass: + return method_decorator_metaclass(metaclass_func) + else: + return type + + # pylint:disable=unused-argument + class Phase(with_metaclass(getMetaclass(debug, log))): + """Base class for helper object that implements each phase of processing + """ + + def __init__(self, parser, tree): + self.parser = parser + self.tree = tree + + def processEOF(self): + raise NotImplementedError + + def processComment(self, token): + # For most phases the following is correct. Where it's not it will be + # overridden. + self.tree.insertComment(token, self.tree.openElements[-1]) + + def processDoctype(self, token): + self.parser.parseError("unexpected-doctype") + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def processSpaceCharacters(self, token): + self.tree.insertText(token["data"]) + + def processStartTag(self, token): + return self.startTagHandler[token["name"]](token) + + def startTagHtml(self, token): + if not self.parser.firstStartTag and token["name"] == "html": + self.parser.parseError("non-html-root") + # XXX Need a check here to see if the first start tag token emitted is + # this token... If it's not, invoke self.parser.parseError(). + for attr, value in token["data"].items(): + if attr not in self.tree.openElements[0].attributes: + self.tree.openElements[0].attributes[attr] = value + self.parser.firstStartTag = False + + def processEndTag(self, token): + return self.endTagHandler[token["name"]](token) + + class InitialPhase(Phase): + def processSpaceCharacters(self, token): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + correct = token["correct"] + + if (name != "html" or publicId is not None or + systemId is not None and systemId != "about:legacy-compat"): + self.parser.parseError("unknown-doctype") + + if publicId is None: + publicId = "" + + self.tree.insertDoctype(token) + + if publicId != "": + publicId = publicId.translate(asciiUpper2Lower) + + if (not correct or token["name"] != "html" or + publicId.startswith( + ("+//silmaril//dtd html pro v0r11 19970101//", + "-//advasoft ltd//dtd html 3.0 aswedit + extensions//", + "-//as//dtd html 3.0 aswedit + extensions//", + "-//ietf//dtd html 2.0 level 1//", + "-//ietf//dtd html 2.0 level 2//", + "-//ietf//dtd html 2.0 strict level 1//", + "-//ietf//dtd html 2.0 strict level 2//", + "-//ietf//dtd html 2.0 strict//", + "-//ietf//dtd html 2.0//", + "-//ietf//dtd html 2.1e//", + "-//ietf//dtd html 3.0//", + "-//ietf//dtd html 3.2 final//", + "-//ietf//dtd html 3.2//", + "-//ietf//dtd html 3//", + "-//ietf//dtd html level 0//", + "-//ietf//dtd html level 1//", + "-//ietf//dtd html level 2//", + "-//ietf//dtd html level 3//", + "-//ietf//dtd html strict level 0//", + "-//ietf//dtd html strict level 1//", + "-//ietf//dtd html strict level 2//", + "-//ietf//dtd html strict level 3//", + "-//ietf//dtd html strict//", + "-//ietf//dtd html//", + "-//metrius//dtd metrius presentational//", + "-//microsoft//dtd internet explorer 2.0 html strict//", + "-//microsoft//dtd internet explorer 2.0 html//", + "-//microsoft//dtd internet explorer 2.0 tables//", + "-//microsoft//dtd internet explorer 3.0 html strict//", + "-//microsoft//dtd internet explorer 3.0 html//", + "-//microsoft//dtd internet explorer 3.0 tables//", + "-//netscape comm. corp.//dtd html//", + "-//netscape comm. corp.//dtd strict html//", + "-//o'reilly and associates//dtd html 2.0//", + "-//o'reilly and associates//dtd html extended 1.0//", + "-//o'reilly and associates//dtd html extended relaxed 1.0//", + "-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//", + "-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//", + "-//spyglass//dtd html 2.0 extended//", + "-//sq//dtd html 2.0 hotmetal + extensions//", + "-//sun microsystems corp.//dtd hotjava html//", + "-//sun microsystems corp.//dtd hotjava strict html//", + "-//w3c//dtd html 3 1995-03-24//", + "-//w3c//dtd html 3.2 draft//", + "-//w3c//dtd html 3.2 final//", + "-//w3c//dtd html 3.2//", + "-//w3c//dtd html 3.2s draft//", + "-//w3c//dtd html 4.0 frameset//", + "-//w3c//dtd html 4.0 transitional//", + "-//w3c//dtd html experimental 19960712//", + "-//w3c//dtd html experimental 970421//", + "-//w3c//dtd w3 html//", + "-//w3o//dtd w3 html 3.0//", + "-//webtechs//dtd mozilla html 2.0//", + "-//webtechs//dtd mozilla html//")) or + publicId in ("-//w3o//dtd w3 html strict 3.0//en//", + "-/w3c/dtd html 4.0 transitional/en", + "html") or + publicId.startswith( + ("-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//")) and + systemId is None or + systemId and systemId.lower() == "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"): + self.parser.compatMode = "quirks" + elif (publicId.startswith( + ("-//w3c//dtd xhtml 1.0 frameset//", + "-//w3c//dtd xhtml 1.0 transitional//")) or + publicId.startswith( + ("-//w3c//dtd html 4.01 frameset//", + "-//w3c//dtd html 4.01 transitional//")) and + systemId is not None): + self.parser.compatMode = "limited quirks" + + self.parser.phase = self.parser.phases["beforeHtml"] + + def anythingElse(self): + self.parser.compatMode = "quirks" + self.parser.phase = self.parser.phases["beforeHtml"] + + def processCharacters(self, token): + self.parser.parseError("expected-doctype-but-got-chars") + self.anythingElse() + return token + + def processStartTag(self, token): + self.parser.parseError("expected-doctype-but-got-start-tag", + {"name": token["name"]}) + self.anythingElse() + return token + + def processEndTag(self, token): + self.parser.parseError("expected-doctype-but-got-end-tag", + {"name": token["name"]}) + self.anythingElse() + return token + + def processEOF(self): + self.parser.parseError("expected-doctype-but-got-eof") + self.anythingElse() + return True + + class BeforeHtmlPhase(Phase): + # helper methods + def insertHtmlElement(self): + self.tree.insertRoot(impliedTagToken("html", "StartTag")) + self.parser.phase = self.parser.phases["beforeHead"] + + # other + def processEOF(self): + self.insertHtmlElement() + return True + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + pass + + def processCharacters(self, token): + self.insertHtmlElement() + return token + + def processStartTag(self, token): + if token["name"] == "html": + self.parser.firstStartTag = True + self.insertHtmlElement() + return token + + def processEndTag(self, token): + if token["name"] not in ("head", "body", "html", "br"): + self.parser.parseError("unexpected-end-tag-before-html", + {"name": token["name"]}) + else: + self.insertHtmlElement() + return token + + class BeforeHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("head", "body", "html", "br"), self.endTagImplyHead) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.startTagHead(impliedTagToken("head", "StartTag")) + return True + + def processSpaceCharacters(self, token): + pass + + def processCharacters(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagHead(self, token): + self.tree.insertElement(token) + self.tree.headPointer = self.tree.openElements[-1] + self.parser.phase = self.parser.phases["inHead"] + + def startTagOther(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def endTagImplyHead(self, token): + self.startTagHead(impliedTagToken("head", "StartTag")) + return token + + def endTagOther(self, token): + self.parser.parseError("end-tag-after-implied-root", + {"name": token["name"]}) + + class InHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("title", self.startTagTitle), + (("noframes", "style"), self.startTagNoFramesStyle), + ("noscript", self.startTagNoscript), + ("script", self.startTagScript), + (("base", "basefont", "bgsound", "command", "link"), + self.startTagBaseLinkCommand), + ("meta", self.startTagMeta), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("head", self.endTagHead), + (("br", "html", "body"), self.endTagHtmlBodyBr) + ]) + self.endTagHandler.default = self.endTagOther + + # the real thing + def processEOF(self): + self.anythingElse() + return True + + def processCharacters(self, token): + self.anythingElse() + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagHead(self, token): + self.parser.parseError("two-heads-are-not-better-than-one") + + def startTagBaseLinkCommand(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagMeta(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + attributes = token["data"] + if self.parser.tokenizer.stream.charEncoding[1] == "tentative": + if "charset" in attributes: + self.parser.tokenizer.stream.changeEncoding(attributes["charset"]) + elif ("content" in attributes and + "http-equiv" in attributes and + attributes["http-equiv"].lower() == "content-type"): + # Encoding it as UTF-8 here is a hack, as really we should pass + # the abstract Unicode string, and just use the + # ContentAttrParser on that, but using UTF-8 allows all chars + # to be encoded and as a ASCII-superset works. + data = _inputstream.EncodingBytes(attributes["content"].encode("utf-8")) + parser = _inputstream.ContentAttrParser(data) + codec = parser.parse() + self.parser.tokenizer.stream.changeEncoding(codec) + + def startTagTitle(self, token): + self.parser.parseRCDataRawtext(token, "RCDATA") + + def startTagNoFramesStyle(self, token): + # Need to decide whether to implement the scripting-disabled case + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagNoscript(self, token): + if self.parser.scripting: + self.parser.parseRCDataRawtext(token, "RAWTEXT") + else: + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inHeadNoscript"] + + def startTagScript(self, token): + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.scriptDataState + self.parser.originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["text"] + + def startTagOther(self, token): + self.anythingElse() + return token + + def endTagHead(self, token): + node = self.parser.tree.openElements.pop() + assert node.name == "head", "Expected head got %s" % node.name + self.parser.phase = self.parser.phases["afterHead"] + + def endTagHtmlBodyBr(self, token): + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + self.endTagHead(impliedTagToken("head")) + + class InHeadNoscriptPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("basefont", "bgsound", "link", "meta", "noframes", "style"), self.startTagBaseLinkCommand), + (("head", "noscript"), self.startTagHeadNoscript), + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("noscript", self.endTagNoscript), + ("br", self.endTagBr), + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.parser.parseError("eof-in-head-noscript") + self.anythingElse() + return True + + def processComment(self, token): + return self.parser.phases["inHead"].processComment(token) + + def processCharacters(self, token): + self.parser.parseError("char-in-head-noscript") + self.anythingElse() + return token + + def processSpaceCharacters(self, token): + return self.parser.phases["inHead"].processSpaceCharacters(token) + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagBaseLinkCommand(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagHeadNoscript(self, token): + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + + def startTagOther(self, token): + self.parser.parseError("unexpected-inhead-noscript-tag", {"name": token["name"]}) + self.anythingElse() + return token + + def endTagNoscript(self, token): + node = self.parser.tree.openElements.pop() + assert node.name == "noscript", "Expected noscript got %s" % node.name + self.parser.phase = self.parser.phases["inHead"] + + def endTagBr(self, token): + self.parser.parseError("unexpected-inhead-noscript-tag", {"name": token["name"]}) + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + # Caller must raise parse error first! + self.endTagNoscript(impliedTagToken("noscript")) + + class AfterHeadPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("body", self.startTagBody), + ("frameset", self.startTagFrameset), + (("base", "basefont", "bgsound", "link", "meta", "noframes", "script", + "style", "title"), + self.startTagFromHead), + ("head", self.startTagHead) + ]) + self.startTagHandler.default = self.startTagOther + self.endTagHandler = _utils.MethodDispatcher([(("body", "html", "br"), + self.endTagHtmlBodyBr)]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.anythingElse() + return True + + def processCharacters(self, token): + self.anythingElse() + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagBody(self, token): + self.parser.framesetOK = False + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inBody"] + + def startTagFrameset(self, token): + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inFrameset"] + + def startTagFromHead(self, token): + self.parser.parseError("unexpected-start-tag-out-of-my-head", + {"name": token["name"]}) + self.tree.openElements.append(self.tree.headPointer) + self.parser.phases["inHead"].processStartTag(token) + for node in self.tree.openElements[::-1]: + if node.name == "head": + self.tree.openElements.remove(node) + break + + def startTagHead(self, token): + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + + def startTagOther(self, token): + self.anythingElse() + return token + + def endTagHtmlBodyBr(self, token): + self.anythingElse() + return token + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def anythingElse(self): + self.tree.insertElement(impliedTagToken("body", "StartTag")) + self.parser.phase = self.parser.phases["inBody"] + self.parser.framesetOK = True + + class InBodyPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#parsing-main-inbody + # the really-really-really-very crazy mode + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + # Set this to the default handler + self.processSpaceCharacters = self.processSpaceCharactersNonPre + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("base", "basefont", "bgsound", "command", "link", "meta", + "script", "style", "title"), + self.startTagProcessInHead), + ("body", self.startTagBody), + ("frameset", self.startTagFrameset), + (("address", "article", "aside", "blockquote", "center", "details", + "dir", "div", "dl", "fieldset", "figcaption", "figure", + "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", + "section", "summary", "ul"), + self.startTagCloseP), + (headingElements, self.startTagHeading), + (("pre", "listing"), self.startTagPreListing), + ("form", self.startTagForm), + (("li", "dd", "dt"), self.startTagListItem), + ("plaintext", self.startTagPlaintext), + ("a", self.startTagA), + (("b", "big", "code", "em", "font", "i", "s", "small", "strike", + "strong", "tt", "u"), self.startTagFormatting), + ("nobr", self.startTagNobr), + ("button", self.startTagButton), + (("applet", "marquee", "object"), self.startTagAppletMarqueeObject), + ("xmp", self.startTagXmp), + ("table", self.startTagTable), + (("area", "br", "embed", "img", "keygen", "wbr"), + self.startTagVoidFormatting), + (("param", "source", "track"), self.startTagParamSource), + ("input", self.startTagInput), + ("hr", self.startTagHr), + ("image", self.startTagImage), + ("isindex", self.startTagIsIndex), + ("textarea", self.startTagTextarea), + ("iframe", self.startTagIFrame), + ("noscript", self.startTagNoscript), + (("noembed", "noframes"), self.startTagRawtext), + ("select", self.startTagSelect), + (("rp", "rt"), self.startTagRpRt), + (("option", "optgroup"), self.startTagOpt), + (("math"), self.startTagMath), + (("svg"), self.startTagSvg), + (("caption", "col", "colgroup", "frame", "head", + "tbody", "td", "tfoot", "th", "thead", + "tr"), self.startTagMisplaced) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("body", self.endTagBody), + ("html", self.endTagHtml), + (("address", "article", "aside", "blockquote", "button", "center", + "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", + "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", + "section", "summary", "ul"), self.endTagBlock), + ("form", self.endTagForm), + ("p", self.endTagP), + (("dd", "dt", "li"), self.endTagListItem), + (headingElements, self.endTagHeading), + (("a", "b", "big", "code", "em", "font", "i", "nobr", "s", "small", + "strike", "strong", "tt", "u"), self.endTagFormatting), + (("applet", "marquee", "object"), self.endTagAppletMarqueeObject), + ("br", self.endTagBr), + ]) + self.endTagHandler.default = self.endTagOther + + def isMatchingFormattingElement(self, node1, node2): + return (node1.name == node2.name and + node1.namespace == node2.namespace and + node1.attributes == node2.attributes) + + # helper + def addFormattingElement(self, token): + self.tree.insertElement(token) + element = self.tree.openElements[-1] + + matchingElements = [] + for node in self.tree.activeFormattingElements[::-1]: + if node is Marker: + break + elif self.isMatchingFormattingElement(node, element): + matchingElements.append(node) + + assert len(matchingElements) <= 3 + if len(matchingElements) == 3: + self.tree.activeFormattingElements.remove(matchingElements[-1]) + self.tree.activeFormattingElements.append(element) + + # the real deal + def processEOF(self): + allowed_elements = frozenset(("dd", "dt", "li", "p", "tbody", "td", + "tfoot", "th", "thead", "tr", "body", + "html")) + for node in self.tree.openElements[::-1]: + if node.name not in allowed_elements: + self.parser.parseError("expected-closing-tag-but-got-eof") + break + # Stop parsing + + def processSpaceCharactersDropNewline(self, token): + # Sometimes (start of <pre>, <listing>, and <textarea> blocks) we + # want to drop leading newlines + data = token["data"] + self.processSpaceCharacters = self.processSpaceCharactersNonPre + if (data.startswith("\n") and + self.tree.openElements[-1].name in ("pre", "listing", "textarea") and + not self.tree.openElements[-1].hasContent()): + data = data[1:] + if data: + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(data) + + def processCharacters(self, token): + if token["data"] == "\u0000": + # The tokenizer should always emit null on its own + return + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(token["data"]) + # This must be bad for performance + if (self.parser.framesetOK and + any([char not in spaceCharacters + for char in token["data"]])): + self.parser.framesetOK = False + + def processSpaceCharactersNonPre(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertText(token["data"]) + + def startTagProcessInHead(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagBody(self, token): + self.parser.parseError("unexpected-start-tag", {"name": "body"}) + if (len(self.tree.openElements) == 1 or + self.tree.openElements[1].name != "body"): + assert self.parser.innerHTML + else: + self.parser.framesetOK = False + for attr, value in token["data"].items(): + if attr not in self.tree.openElements[1].attributes: + self.tree.openElements[1].attributes[attr] = value + + def startTagFrameset(self, token): + self.parser.parseError("unexpected-start-tag", {"name": "frameset"}) + if (len(self.tree.openElements) == 1 or self.tree.openElements[1].name != "body"): + assert self.parser.innerHTML + elif not self.parser.framesetOK: + pass + else: + if self.tree.openElements[1].parent: + self.tree.openElements[1].parent.removeChild(self.tree.openElements[1]) + while self.tree.openElements[-1].name != "html": + self.tree.openElements.pop() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inFrameset"] + + def startTagCloseP(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + + def startTagPreListing(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.framesetOK = False + self.processSpaceCharacters = self.processSpaceCharactersDropNewline + + def startTagForm(self, token): + if self.tree.formPointer: + self.parser.parseError("unexpected-start-tag", {"name": "form"}) + else: + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.tree.formPointer = self.tree.openElements[-1] + + def startTagListItem(self, token): + self.parser.framesetOK = False + + stopNamesMap = {"li": ["li"], + "dt": ["dt", "dd"], + "dd": ["dt", "dd"]} + stopNames = stopNamesMap[token["name"]] + for node in reversed(self.tree.openElements): + if node.name in stopNames: + self.parser.phase.processEndTag( + impliedTagToken(node.name, "EndTag")) + break + if (node.nameTuple in specialElements and + node.name not in ("address", "div", "p")): + break + + if self.tree.elementInScope("p", variant="button"): + self.parser.phase.processEndTag( + impliedTagToken("p", "EndTag")) + + self.tree.insertElement(token) + + def startTagPlaintext(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.plaintextState + + def startTagHeading(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + if self.tree.openElements[-1].name in headingElements: + self.parser.parseError("unexpected-start-tag", {"name": token["name"]}) + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagA(self, token): + afeAElement = self.tree.elementInActiveFormattingElements("a") + if afeAElement: + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "a", "endName": "a"}) + self.endTagFormatting(impliedTagToken("a")) + if afeAElement in self.tree.openElements: + self.tree.openElements.remove(afeAElement) + if afeAElement in self.tree.activeFormattingElements: + self.tree.activeFormattingElements.remove(afeAElement) + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagFormatting(self, token): + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagNobr(self, token): + self.tree.reconstructActiveFormattingElements() + if self.tree.elementInScope("nobr"): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "nobr", "endName": "nobr"}) + self.processEndTag(impliedTagToken("nobr")) + # XXX Need tests that trigger the following + self.tree.reconstructActiveFormattingElements() + self.addFormattingElement(token) + + def startTagButton(self, token): + if self.tree.elementInScope("button"): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "button", "endName": "button"}) + self.processEndTag(impliedTagToken("button")) + return token + else: + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.parser.framesetOK = False + + def startTagAppletMarqueeObject(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.activeFormattingElements.append(Marker) + self.parser.framesetOK = False + + def startTagXmp(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.reconstructActiveFormattingElements() + self.parser.framesetOK = False + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagTable(self, token): + if self.parser.compatMode != "quirks": + if self.tree.elementInScope("p", variant="button"): + self.processEndTag(impliedTagToken("p")) + self.tree.insertElement(token) + self.parser.framesetOK = False + self.parser.phase = self.parser.phases["inTable"] + + def startTagVoidFormatting(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + self.parser.framesetOK = False + + def startTagInput(self, token): + framesetOK = self.parser.framesetOK + self.startTagVoidFormatting(token) + if ("type" in token["data"] and + token["data"]["type"].translate(asciiUpper2Lower) == "hidden"): + # input type=hidden doesn't change framesetOK + self.parser.framesetOK = framesetOK + + def startTagParamSource(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagHr(self, token): + if self.tree.elementInScope("p", variant="button"): + self.endTagP(impliedTagToken("p")) + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + self.parser.framesetOK = False + + def startTagImage(self, token): + # No really... + self.parser.parseError("unexpected-start-tag-treated-as", + {"originalName": "image", "newName": "img"}) + self.processStartTag(impliedTagToken("img", "StartTag", + attributes=token["data"], + selfClosing=token["selfClosing"])) + + def startTagIsIndex(self, token): + self.parser.parseError("deprecated-tag", {"name": "isindex"}) + if self.tree.formPointer: + return + form_attrs = {} + if "action" in token["data"]: + form_attrs["action"] = token["data"]["action"] + self.processStartTag(impliedTagToken("form", "StartTag", + attributes=form_attrs)) + self.processStartTag(impliedTagToken("hr", "StartTag")) + self.processStartTag(impliedTagToken("label", "StartTag")) + # XXX Localization ... + if "prompt" in token["data"]: + prompt = token["data"]["prompt"] + else: + prompt = "This is a searchable index. Enter search keywords: " + self.processCharacters( + {"type": tokenTypes["Characters"], "data": prompt}) + attributes = token["data"].copy() + if "action" in attributes: + del attributes["action"] + if "prompt" in attributes: + del attributes["prompt"] + attributes["name"] = "isindex" + self.processStartTag(impliedTagToken("input", "StartTag", + attributes=attributes, + selfClosing=token["selfClosing"])) + self.processEndTag(impliedTagToken("label")) + self.processStartTag(impliedTagToken("hr", "StartTag")) + self.processEndTag(impliedTagToken("form")) + + def startTagTextarea(self, token): + self.tree.insertElement(token) + self.parser.tokenizer.state = self.parser.tokenizer.rcdataState + self.processSpaceCharacters = self.processSpaceCharactersDropNewline + self.parser.framesetOK = False + + def startTagIFrame(self, token): + self.parser.framesetOK = False + self.startTagRawtext(token) + + def startTagNoscript(self, token): + if self.parser.scripting: + self.startTagRawtext(token) + else: + self.startTagOther(token) + + def startTagRawtext(self, token): + """iframe, noembed noframes, noscript(if scripting enabled)""" + self.parser.parseRCDataRawtext(token, "RAWTEXT") + + def startTagOpt(self, token): + if self.tree.openElements[-1].name == "option": + self.parser.phase.processEndTag(impliedTagToken("option")) + self.tree.reconstructActiveFormattingElements() + self.parser.tree.insertElement(token) + + def startTagSelect(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + self.parser.framesetOK = False + if self.parser.phase in (self.parser.phases["inTable"], + self.parser.phases["inCaption"], + self.parser.phases["inColumnGroup"], + self.parser.phases["inTableBody"], + self.parser.phases["inRow"], + self.parser.phases["inCell"]): + self.parser.phase = self.parser.phases["inSelectInTable"] + else: + self.parser.phase = self.parser.phases["inSelect"] + + def startTagRpRt(self, token): + if self.tree.elementInScope("ruby"): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "ruby": + self.parser.parseError() + self.tree.insertElement(token) + + def startTagMath(self, token): + self.tree.reconstructActiveFormattingElements() + self.parser.adjustMathMLAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = namespaces["mathml"] + self.tree.insertElement(token) + # Need to get the parse error right for the case where the token + # has a namespace not equal to the xmlns attribute + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagSvg(self, token): + self.tree.reconstructActiveFormattingElements() + self.parser.adjustSVGAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = namespaces["svg"] + self.tree.insertElement(token) + # Need to get the parse error right for the case where the token + # has a namespace not equal to the xmlns attribute + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagMisplaced(self, token): + """ Elements that should be children of other elements that have a + different insertion mode; here they are ignored + "caption", "col", "colgroup", "frame", "frameset", "head", + "option", "optgroup", "tbody", "td", "tfoot", "th", "thead", + "tr", "noscript" + """ + self.parser.parseError("unexpected-start-tag-ignored", {"name": token["name"]}) + + def startTagOther(self, token): + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(token) + + def endTagP(self, token): + if not self.tree.elementInScope("p", variant="button"): + self.startTagCloseP(impliedTagToken("p", "StartTag")) + self.parser.parseError("unexpected-end-tag", {"name": "p"}) + self.endTagP(impliedTagToken("p", "EndTag")) + else: + self.tree.generateImpliedEndTags("p") + if self.tree.openElements[-1].name != "p": + self.parser.parseError("unexpected-end-tag", {"name": "p"}) + node = self.tree.openElements.pop() + while node.name != "p": + node = self.tree.openElements.pop() + + def endTagBody(self, token): + if not self.tree.elementInScope("body"): + self.parser.parseError() + return + elif self.tree.openElements[-1].name != "body": + for node in self.tree.openElements[2:]: + if node.name not in frozenset(("dd", "dt", "li", "optgroup", + "option", "p", "rp", "rt", + "tbody", "td", "tfoot", + "th", "thead", "tr", "body", + "html")): + # Not sure this is the correct name for the parse error + self.parser.parseError( + "expected-one-end-tag-but-got-another", + {"gotName": "body", "expectedName": node.name}) + break + self.parser.phase = self.parser.phases["afterBody"] + + def endTagHtml(self, token): + # We repeat the test for the body end tag token being ignored here + if self.tree.elementInScope("body"): + self.endTagBody(impliedTagToken("body")) + return token + + def endTagBlock(self, token): + # Put us back in the right whitespace handling mode + if token["name"] == "pre": + self.processSpaceCharacters = self.processSpaceCharactersNonPre + inScope = self.tree.elementInScope(token["name"]) + if inScope: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + if inScope: + node = self.tree.openElements.pop() + while node.name != token["name"]: + node = self.tree.openElements.pop() + + def endTagForm(self, token): + node = self.tree.formPointer + self.tree.formPointer = None + if node is None or not self.tree.elementInScope(node): + self.parser.parseError("unexpected-end-tag", + {"name": "form"}) + else: + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1] != node: + self.parser.parseError("end-tag-too-early-ignored", + {"name": "form"}) + self.tree.openElements.remove(node) + + def endTagListItem(self, token): + if token["name"] == "li": + variant = "list" + else: + variant = None + if not self.tree.elementInScope(token["name"], variant=variant): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + else: + self.tree.generateImpliedEndTags(exclude=token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError( + "end-tag-too-early", + {"name": token["name"]}) + node = self.tree.openElements.pop() + while node.name != token["name"]: + node = self.tree.openElements.pop() + + def endTagHeading(self, token): + for item in headingElements: + if self.tree.elementInScope(item): + self.tree.generateImpliedEndTags() + break + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + + for item in headingElements: + if self.tree.elementInScope(item): + item = self.tree.openElements.pop() + while item.name not in headingElements: + item = self.tree.openElements.pop() + break + + def endTagFormatting(self, token): + """The much-feared adoption agency algorithm""" + # http://svn.whatwg.org/webapps/complete.html#adoptionAgency revision 7867 + # XXX Better parseError messages appreciated. + + # Step 1 + outerLoopCounter = 0 + + # Step 2 + while outerLoopCounter < 8: + + # Step 3 + outerLoopCounter += 1 + + # Step 4: + + # Let the formatting element be the last element in + # the list of active formatting elements that: + # - is between the end of the list and the last scope + # marker in the list, if any, or the start of the list + # otherwise, and + # - has the same tag name as the token. + formattingElement = self.tree.elementInActiveFormattingElements( + token["name"]) + if (not formattingElement or + (formattingElement in self.tree.openElements and + not self.tree.elementInScope(formattingElement.name))): + # If there is no such node, then abort these steps + # and instead act as described in the "any other + # end tag" entry below. + self.endTagOther(token) + return + + # Otherwise, if there is such a node, but that node is + # not in the stack of open elements, then this is a + # parse error; remove the element from the list, and + # abort these steps. + elif formattingElement not in self.tree.openElements: + self.parser.parseError("adoption-agency-1.2", {"name": token["name"]}) + self.tree.activeFormattingElements.remove(formattingElement) + return + + # Otherwise, if there is such a node, and that node is + # also in the stack of open elements, but the element + # is not in scope, then this is a parse error; ignore + # the token, and abort these steps. + elif not self.tree.elementInScope(formattingElement.name): + self.parser.parseError("adoption-agency-4.4", {"name": token["name"]}) + return + + # Otherwise, there is a formatting element and that + # element is in the stack and is in scope. If the + # element is not the current node, this is a parse + # error. In any case, proceed with the algorithm as + # written in the following steps. + else: + if formattingElement != self.tree.openElements[-1]: + self.parser.parseError("adoption-agency-1.3", {"name": token["name"]}) + + # Step 5: + + # Let the furthest block be the topmost node in the + # stack of open elements that is lower in the stack + # than the formatting element, and is an element in + # the special category. There might not be one. + afeIndex = self.tree.openElements.index(formattingElement) + furthestBlock = None + for element in self.tree.openElements[afeIndex:]: + if element.nameTuple in specialElements: + furthestBlock = element + break + + # Step 6: + + # If there is no furthest block, then the UA must + # first pop all the nodes from the bottom of the stack + # of open elements, from the current node up to and + # including the formatting element, then remove the + # formatting element from the list of active + # formatting elements, and finally abort these steps. + if furthestBlock is None: + element = self.tree.openElements.pop() + while element != formattingElement: + element = self.tree.openElements.pop() + self.tree.activeFormattingElements.remove(element) + return + + # Step 7 + commonAncestor = self.tree.openElements[afeIndex - 1] + + # Step 8: + # The bookmark is supposed to help us identify where to reinsert + # nodes in step 15. We have to ensure that we reinsert nodes after + # the node before the active formatting element. Note the bookmark + # can move in step 9.7 + bookmark = self.tree.activeFormattingElements.index(formattingElement) + + # Step 9 + lastNode = node = furthestBlock + innerLoopCounter = 0 + + index = self.tree.openElements.index(node) + while innerLoopCounter < 3: + innerLoopCounter += 1 + # Node is element before node in open elements + index -= 1 + node = self.tree.openElements[index] + if node not in self.tree.activeFormattingElements: + self.tree.openElements.remove(node) + continue + # Step 9.6 + if node == formattingElement: + break + # Step 9.7 + if lastNode == furthestBlock: + bookmark = self.tree.activeFormattingElements.index(node) + 1 + # Step 9.8 + clone = node.cloneNode() + # Replace node with clone + self.tree.activeFormattingElements[ + self.tree.activeFormattingElements.index(node)] = clone + self.tree.openElements[ + self.tree.openElements.index(node)] = clone + node = clone + # Step 9.9 + # Remove lastNode from its parents, if any + if lastNode.parent: + lastNode.parent.removeChild(lastNode) + node.appendChild(lastNode) + # Step 9.10 + lastNode = node + + # Step 10 + # Foster parent lastNode if commonAncestor is a + # table, tbody, tfoot, thead, or tr we need to foster + # parent the lastNode + if lastNode.parent: + lastNode.parent.removeChild(lastNode) + + if commonAncestor.name in frozenset(("table", "tbody", "tfoot", "thead", "tr")): + parent, insertBefore = self.tree.getTableMisnestedNodePosition() + parent.insertBefore(lastNode, insertBefore) + else: + commonAncestor.appendChild(lastNode) + + # Step 11 + clone = formattingElement.cloneNode() + + # Step 12 + furthestBlock.reparentChildren(clone) + + # Step 13 + furthestBlock.appendChild(clone) + + # Step 14 + self.tree.activeFormattingElements.remove(formattingElement) + self.tree.activeFormattingElements.insert(bookmark, clone) + + # Step 15 + self.tree.openElements.remove(formattingElement) + self.tree.openElements.insert( + self.tree.openElements.index(furthestBlock) + 1, clone) + + def endTagAppletMarqueeObject(self, token): + if self.tree.elementInScope(token["name"]): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("end-tag-too-early", {"name": token["name"]}) + + if self.tree.elementInScope(token["name"]): + element = self.tree.openElements.pop() + while element.name != token["name"]: + element = self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + + def endTagBr(self, token): + self.parser.parseError("unexpected-end-tag-treated-as", + {"originalName": "br", "newName": "br element"}) + self.tree.reconstructActiveFormattingElements() + self.tree.insertElement(impliedTagToken("br", "StartTag")) + self.tree.openElements.pop() + + def endTagOther(self, token): + for node in self.tree.openElements[::-1]: + if node.name == token["name"]: + self.tree.generateImpliedEndTags(exclude=token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + while self.tree.openElements.pop() != node: + pass + break + else: + if node.nameTuple in specialElements: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + break + + class TextPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([]) + self.startTagHandler.default = self.startTagOther + self.endTagHandler = _utils.MethodDispatcher([ + ("script", self.endTagScript)]) + self.endTagHandler.default = self.endTagOther + + def processCharacters(self, token): + self.tree.insertText(token["data"]) + + def processEOF(self): + self.parser.parseError("expected-named-closing-tag-but-got-eof", + {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + self.parser.phase = self.parser.originalPhase + return True + + def startTagOther(self, token): + assert False, "Tried to process start tag %s in RCDATA/RAWTEXT mode" % token['name'] + + def endTagScript(self, token): + node = self.tree.openElements.pop() + assert node.name == "script" + self.parser.phase = self.parser.originalPhase + # The rest of this method is all stuff that only happens if + # document.write works + + def endTagOther(self, token): + self.tree.openElements.pop() + self.parser.phase = self.parser.originalPhase + + class InTablePhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-table + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("caption", self.startTagCaption), + ("colgroup", self.startTagColgroup), + ("col", self.startTagCol), + (("tbody", "tfoot", "thead"), self.startTagRowGroup), + (("td", "th", "tr"), self.startTagImplyTbody), + ("table", self.startTagTable), + (("style", "script"), self.startTagStyleScript), + ("input", self.startTagInput), + ("form", self.startTagForm) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("table", self.endTagTable), + (("body", "caption", "col", "colgroup", "html", "tbody", "td", + "tfoot", "th", "thead", "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods + def clearStackToTableContext(self): + # "clear the stack back to a table context" + while self.tree.openElements[-1].name not in ("table", "html"): + # self.parser.parseError("unexpected-implied-end-tag-in-table", + # {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + # When the current node is <html> it's an innerHTML case + + # processing methods + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-table") + else: + assert self.parser.innerHTML + # Stop parsing + + def processSpaceCharacters(self, token): + originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["inTableText"] + self.parser.phase.originalPhase = originalPhase + self.parser.phase.processSpaceCharacters(token) + + def processCharacters(self, token): + originalPhase = self.parser.phase + self.parser.phase = self.parser.phases["inTableText"] + self.parser.phase.originalPhase = originalPhase + self.parser.phase.processCharacters(token) + + def insertText(self, token): + # If we get here there must be at least one non-whitespace character + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processCharacters(token) + self.tree.insertFromTable = False + + def startTagCaption(self, token): + self.clearStackToTableContext() + self.tree.activeFormattingElements.append(Marker) + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inCaption"] + + def startTagColgroup(self, token): + self.clearStackToTableContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inColumnGroup"] + + def startTagCol(self, token): + self.startTagColgroup(impliedTagToken("colgroup", "StartTag")) + return token + + def startTagRowGroup(self, token): + self.clearStackToTableContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inTableBody"] + + def startTagImplyTbody(self, token): + self.startTagRowGroup(impliedTagToken("tbody", "StartTag")) + return token + + def startTagTable(self, token): + self.parser.parseError("unexpected-start-tag-implies-end-tag", + {"startName": "table", "endName": "table"}) + self.parser.phase.processEndTag(impliedTagToken("table")) + if not self.parser.innerHTML: + return token + + def startTagStyleScript(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagInput(self, token): + if ("type" in token["data"] and + token["data"]["type"].translate(asciiUpper2Lower) == "hidden"): + self.parser.parseError("unexpected-hidden-input-in-table") + self.tree.insertElement(token) + # XXX associate with form + self.tree.openElements.pop() + else: + self.startTagOther(token) + + def startTagForm(self, token): + self.parser.parseError("unexpected-form-in-table") + if self.tree.formPointer is None: + self.tree.insertElement(token) + self.tree.formPointer = self.tree.openElements[-1] + self.tree.openElements.pop() + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-implies-table-voodoo", {"name": token["name"]}) + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processStartTag(token) + self.tree.insertFromTable = False + + def endTagTable(self, token): + if self.tree.elementInScope("table", variant="table"): + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "table": + self.parser.parseError("end-tag-too-early-named", + {"gotName": "table", + "expectedName": self.tree.openElements[-1].name}) + while self.tree.openElements[-1].name != "table": + self.tree.openElements.pop() + self.tree.openElements.pop() + self.parser.resetInsertionMode() + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-implies-table-voodoo", {"name": token["name"]}) + # Do the table magic! + self.tree.insertFromTable = True + self.parser.phases["inBody"].processEndTag(token) + self.tree.insertFromTable = False + + class InTableTextPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.originalPhase = None + self.characterTokens = [] + + def flushCharacters(self): + data = "".join([item["data"] for item in self.characterTokens]) + if any([item not in spaceCharacters for item in data]): + token = {"type": tokenTypes["Characters"], "data": data} + self.parser.phases["inTable"].insertText(token) + elif data: + self.tree.insertText(data) + self.characterTokens = [] + + def processComment(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + def processEOF(self): + self.flushCharacters() + self.parser.phase = self.originalPhase + return True + + def processCharacters(self, token): + if token["data"] == "\u0000": + return + self.characterTokens.append(token) + + def processSpaceCharacters(self, token): + # pretty sure we should never reach here + self.characterTokens.append(token) + # assert False + + def processStartTag(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + def processEndTag(self, token): + self.flushCharacters() + self.parser.phase = self.originalPhase + return token + + class InCaptionPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-caption + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.startTagTableElement) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("caption", self.endTagCaption), + ("table", self.endTagTable), + (("body", "col", "colgroup", "html", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + def ignoreEndTagCaption(self): + return not self.tree.elementInScope("caption", variant="table") + + def processEOF(self): + self.parser.phases["inBody"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inBody"].processCharacters(token) + + def startTagTableElement(self, token): + self.parser.parseError() + # XXX Have to duplicate logic here to find out if the tag is ignored + ignoreEndTag = self.ignoreEndTagCaption() + self.parser.phase.processEndTag(impliedTagToken("caption")) + if not ignoreEndTag: + return token + + def startTagOther(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def endTagCaption(self, token): + if not self.ignoreEndTagCaption(): + # AT this code is quite similar to endTagTable in "InTable" + self.tree.generateImpliedEndTags() + if self.tree.openElements[-1].name != "caption": + self.parser.parseError("expected-one-end-tag-but-got-another", + {"gotName": "caption", + "expectedName": self.tree.openElements[-1].name}) + while self.tree.openElements[-1].name != "caption": + self.tree.openElements.pop() + self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + self.parser.phase = self.parser.phases["inTable"] + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagTable(self, token): + self.parser.parseError() + ignoreEndTag = self.ignoreEndTagCaption() + self.parser.phase.processEndTag(impliedTagToken("caption")) + if not ignoreEndTag: + return token + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inBody"].processEndTag(token) + + class InColumnGroupPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-column + + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("col", self.startTagCol) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("colgroup", self.endTagColgroup), + ("col", self.endTagCol) + ]) + self.endTagHandler.default = self.endTagOther + + def ignoreEndTagColgroup(self): + return self.tree.openElements[-1].name == "html" + + def processEOF(self): + if self.tree.openElements[-1].name == "html": + assert self.parser.innerHTML + return + else: + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return True + + def processCharacters(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + def startTagCol(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def startTagOther(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + def endTagColgroup(self, token): + if self.ignoreEndTagColgroup(): + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + else: + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTable"] + + def endTagCol(self, token): + self.parser.parseError("no-end-tag", {"name": "col"}) + + def endTagOther(self, token): + ignoreEndTag = self.ignoreEndTagColgroup() + self.endTagColgroup(impliedTagToken("colgroup")) + if not ignoreEndTag: + return token + + class InTableBodyPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-table0 + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("tr", self.startTagTr), + (("td", "th"), self.startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead"), + self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), + ("table", self.endTagTable), + (("body", "caption", "col", "colgroup", "html", "td", "th", + "tr"), self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods + def clearStackToTableBodyContext(self): + while self.tree.openElements[-1].name not in ("tbody", "tfoot", + "thead", "html"): + # self.parser.parseError("unexpected-implied-end-tag-in-table", + # {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + if self.tree.openElements[-1].name == "html": + assert self.parser.innerHTML + + # the rest + def processEOF(self): + self.parser.phases["inTable"].processEOF() + + def processSpaceCharacters(self, token): + return self.parser.phases["inTable"].processSpaceCharacters(token) + + def processCharacters(self, token): + return self.parser.phases["inTable"].processCharacters(token) + + def startTagTr(self, token): + self.clearStackToTableBodyContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inRow"] + + def startTagTableCell(self, token): + self.parser.parseError("unexpected-cell-in-table-body", + {"name": token["name"]}) + self.startTagTr(impliedTagToken("tr", "StartTag")) + return token + + def startTagTableOther(self, token): + # XXX AT Any ideas on how to share this with endTagTable? + if (self.tree.elementInScope("tbody", variant="table") or + self.tree.elementInScope("thead", variant="table") or + self.tree.elementInScope("tfoot", variant="table")): + self.clearStackToTableBodyContext() + self.endTagTableRowGroup( + impliedTagToken(self.tree.openElements[-1].name)) + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def startTagOther(self, token): + return self.parser.phases["inTable"].processStartTag(token) + + def endTagTableRowGroup(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.clearStackToTableBodyContext() + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTable"] + else: + self.parser.parseError("unexpected-end-tag-in-table-body", + {"name": token["name"]}) + + def endTagTable(self, token): + if (self.tree.elementInScope("tbody", variant="table") or + self.tree.elementInScope("thead", variant="table") or + self.tree.elementInScope("tfoot", variant="table")): + self.clearStackToTableBodyContext() + self.endTagTableRowGroup( + impliedTagToken(self.tree.openElements[-1].name)) + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag-in-table-body", + {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inTable"].processEndTag(token) + + class InRowPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-row + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("td", "th"), self.startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead", + "tr"), self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("tr", self.endTagTr), + ("table", self.endTagTable), + (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), + (("body", "caption", "col", "colgroup", "html", "td", "th"), + self.endTagIgnore) + ]) + self.endTagHandler.default = self.endTagOther + + # helper methods (XXX unify this with other table helper methods) + def clearStackToTableRowContext(self): + while self.tree.openElements[-1].name not in ("tr", "html"): + self.parser.parseError("unexpected-implied-end-tag-in-table-row", + {"name": self.tree.openElements[-1].name}) + self.tree.openElements.pop() + + def ignoreEndTagTr(self): + return not self.tree.elementInScope("tr", variant="table") + + # the rest + def processEOF(self): + self.parser.phases["inTable"].processEOF() + + def processSpaceCharacters(self, token): + return self.parser.phases["inTable"].processSpaceCharacters(token) + + def processCharacters(self, token): + return self.parser.phases["inTable"].processCharacters(token) + + def startTagTableCell(self, token): + self.clearStackToTableRowContext() + self.tree.insertElement(token) + self.parser.phase = self.parser.phases["inCell"] + self.tree.activeFormattingElements.append(Marker) + + def startTagTableOther(self, token): + ignoreEndTag = self.ignoreEndTagTr() + self.endTagTr(impliedTagToken("tr")) + # XXX how are we sure it's always ignored in the innerHTML case? + if not ignoreEndTag: + return token + + def startTagOther(self, token): + return self.parser.phases["inTable"].processStartTag(token) + + def endTagTr(self, token): + if not self.ignoreEndTagTr(): + self.clearStackToTableRowContext() + self.tree.openElements.pop() + self.parser.phase = self.parser.phases["inTableBody"] + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagTable(self, token): + ignoreEndTag = self.ignoreEndTagTr() + self.endTagTr(impliedTagToken("tr")) + # Reprocess the current tag if the tr end tag was not ignored + # XXX how are we sure it's always ignored in the innerHTML case? + if not ignoreEndTag: + return token + + def endTagTableRowGroup(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagTr(impliedTagToken("tr")) + return token + else: + self.parser.parseError() + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag-in-table-row", + {"name": token["name"]}) + + def endTagOther(self, token): + return self.parser.phases["inTable"].processEndTag(token) + + class InCellPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-cell + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), self.startTagTableOther) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("td", "th"), self.endTagTableCell), + (("body", "caption", "col", "colgroup", "html"), self.endTagIgnore), + (("table", "tbody", "tfoot", "thead", "tr"), self.endTagImply) + ]) + self.endTagHandler.default = self.endTagOther + + # helper + def closeCell(self): + if self.tree.elementInScope("td", variant="table"): + self.endTagTableCell(impliedTagToken("td")) + elif self.tree.elementInScope("th", variant="table"): + self.endTagTableCell(impliedTagToken("th")) + + # the rest + def processEOF(self): + self.parser.phases["inBody"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inBody"].processCharacters(token) + + def startTagTableOther(self, token): + if (self.tree.elementInScope("td", variant="table") or + self.tree.elementInScope("th", variant="table")): + self.closeCell() + return token + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def startTagOther(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def endTagTableCell(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.tree.generateImpliedEndTags(token["name"]) + if self.tree.openElements[-1].name != token["name"]: + self.parser.parseError("unexpected-cell-end-tag", + {"name": token["name"]}) + while True: + node = self.tree.openElements.pop() + if node.name == token["name"]: + break + else: + self.tree.openElements.pop() + self.tree.clearActiveFormattingElements() + self.parser.phase = self.parser.phases["inRow"] + else: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagIgnore(self, token): + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + def endTagImply(self, token): + if self.tree.elementInScope(token["name"], variant="table"): + self.closeCell() + return token + else: + # sometimes innerHTML case + self.parser.parseError() + + def endTagOther(self, token): + return self.parser.phases["inBody"].processEndTag(token) + + class InSelectPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("option", self.startTagOption), + ("optgroup", self.startTagOptgroup), + ("select", self.startTagSelect), + (("input", "keygen", "textarea"), self.startTagInput), + ("script", self.startTagScript) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("option", self.endTagOption), + ("optgroup", self.endTagOptgroup), + ("select", self.endTagSelect) + ]) + self.endTagHandler.default = self.endTagOther + + # http://www.whatwg.org/specs/web-apps/current-work/#in-select + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-select") + else: + assert self.parser.innerHTML + + def processCharacters(self, token): + if token["data"] == "\u0000": + return + self.tree.insertText(token["data"]) + + def startTagOption(self, token): + # We need to imply </option> if <option> is the current node. + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagOptgroup(self, token): + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + if self.tree.openElements[-1].name == "optgroup": + self.tree.openElements.pop() + self.tree.insertElement(token) + + def startTagSelect(self, token): + self.parser.parseError("unexpected-select-in-select") + self.endTagSelect(impliedTagToken("select")) + + def startTagInput(self, token): + self.parser.parseError("unexpected-input-in-select") + if self.tree.elementInScope("select", variant="select"): + self.endTagSelect(impliedTagToken("select")) + return token + else: + assert self.parser.innerHTML + + def startTagScript(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-in-select", + {"name": token["name"]}) + + def endTagOption(self, token): + if self.tree.openElements[-1].name == "option": + self.tree.openElements.pop() + else: + self.parser.parseError("unexpected-end-tag-in-select", + {"name": "option"}) + + def endTagOptgroup(self, token): + # </optgroup> implicitly closes <option> + if (self.tree.openElements[-1].name == "option" and + self.tree.openElements[-2].name == "optgroup"): + self.tree.openElements.pop() + # It also closes </optgroup> + if self.tree.openElements[-1].name == "optgroup": + self.tree.openElements.pop() + # But nothing else + else: + self.parser.parseError("unexpected-end-tag-in-select", + {"name": "optgroup"}) + + def endTagSelect(self, token): + if self.tree.elementInScope("select", variant="select"): + node = self.tree.openElements.pop() + while node.name != "select": + node = self.tree.openElements.pop() + self.parser.resetInsertionMode() + else: + # innerHTML case + assert self.parser.innerHTML + self.parser.parseError() + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-in-select", + {"name": token["name"]}) + + class InSelectInTablePhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + self.startTagTable) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + self.endTagTable) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + self.parser.phases["inSelect"].processEOF() + + def processCharacters(self, token): + return self.parser.phases["inSelect"].processCharacters(token) + + def startTagTable(self, token): + self.parser.parseError("unexpected-table-element-start-tag-in-select-in-table", {"name": token["name"]}) + self.endTagOther(impliedTagToken("select")) + return token + + def startTagOther(self, token): + return self.parser.phases["inSelect"].processStartTag(token) + + def endTagTable(self, token): + self.parser.parseError("unexpected-table-element-end-tag-in-select-in-table", {"name": token["name"]}) + if self.tree.elementInScope(token["name"], variant="table"): + self.endTagOther(impliedTagToken("select")) + return token + + def endTagOther(self, token): + return self.parser.phases["inSelect"].processEndTag(token) + + class InForeignContentPhase(Phase): + breakoutElements = frozenset(["b", "big", "blockquote", "body", "br", + "center", "code", "dd", "div", "dl", "dt", + "em", "embed", "h1", "h2", "h3", + "h4", "h5", "h6", "head", "hr", "i", "img", + "li", "listing", "menu", "meta", "nobr", + "ol", "p", "pre", "ruby", "s", "small", + "span", "strong", "strike", "sub", "sup", + "table", "tt", "u", "ul", "var"]) + + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + def adjustSVGTagNames(self, token): + replacements = {"altglyph": "altGlyph", + "altglyphdef": "altGlyphDef", + "altglyphitem": "altGlyphItem", + "animatecolor": "animateColor", + "animatemotion": "animateMotion", + "animatetransform": "animateTransform", + "clippath": "clipPath", + "feblend": "feBlend", + "fecolormatrix": "feColorMatrix", + "fecomponenttransfer": "feComponentTransfer", + "fecomposite": "feComposite", + "feconvolvematrix": "feConvolveMatrix", + "fediffuselighting": "feDiffuseLighting", + "fedisplacementmap": "feDisplacementMap", + "fedistantlight": "feDistantLight", + "feflood": "feFlood", + "fefunca": "feFuncA", + "fefuncb": "feFuncB", + "fefuncg": "feFuncG", + "fefuncr": "feFuncR", + "fegaussianblur": "feGaussianBlur", + "feimage": "feImage", + "femerge": "feMerge", + "femergenode": "feMergeNode", + "femorphology": "feMorphology", + "feoffset": "feOffset", + "fepointlight": "fePointLight", + "fespecularlighting": "feSpecularLighting", + "fespotlight": "feSpotLight", + "fetile": "feTile", + "feturbulence": "feTurbulence", + "foreignobject": "foreignObject", + "glyphref": "glyphRef", + "lineargradient": "linearGradient", + "radialgradient": "radialGradient", + "textpath": "textPath"} + + if token["name"] in replacements: + token["name"] = replacements[token["name"]] + + def processCharacters(self, token): + if token["data"] == "\u0000": + token["data"] = "\uFFFD" + elif (self.parser.framesetOK and + any(char not in spaceCharacters for char in token["data"])): + self.parser.framesetOK = False + Phase.processCharacters(self, token) + + def processStartTag(self, token): + currentNode = self.tree.openElements[-1] + if (token["name"] in self.breakoutElements or + (token["name"] == "font" and + set(token["data"].keys()) & set(["color", "face", "size"]))): + self.parser.parseError("unexpected-html-element-in-foreign-content", + {"name": token["name"]}) + while (self.tree.openElements[-1].namespace != + self.tree.defaultNamespace and + not self.parser.isHTMLIntegrationPoint(self.tree.openElements[-1]) and + not self.parser.isMathMLTextIntegrationPoint(self.tree.openElements[-1])): + self.tree.openElements.pop() + return token + + else: + if currentNode.namespace == namespaces["mathml"]: + self.parser.adjustMathMLAttributes(token) + elif currentNode.namespace == namespaces["svg"]: + self.adjustSVGTagNames(token) + self.parser.adjustSVGAttributes(token) + self.parser.adjustForeignAttributes(token) + token["namespace"] = currentNode.namespace + self.tree.insertElement(token) + if token["selfClosing"]: + self.tree.openElements.pop() + token["selfClosingAcknowledged"] = True + + def processEndTag(self, token): + nodeIndex = len(self.tree.openElements) - 1 + node = self.tree.openElements[-1] + if node.name.translate(asciiUpper2Lower) != token["name"]: + self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) + + while True: + if node.name.translate(asciiUpper2Lower) == token["name"]: + # XXX this isn't in the spec but it seems necessary + if self.parser.phase == self.parser.phases["inTableText"]: + self.parser.phase.flushCharacters() + self.parser.phase = self.parser.phase.originalPhase + while self.tree.openElements.pop() != node: + assert self.tree.openElements + new_token = None + break + nodeIndex -= 1 + + node = self.tree.openElements[nodeIndex] + if node.namespace != self.tree.defaultNamespace: + continue + else: + new_token = self.parser.phase.processEndTag(token) + break + return new_token + + class AfterBodyPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([("html", self.endTagHtml)]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + # Stop parsing + pass + + def processComment(self, token): + # This is needed because data is to be appended to the <html> element + # here and not to whatever is currently open. + self.tree.insertComment(token, self.tree.openElements[0]) + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-after-body") + self.parser.phase = self.parser.phases["inBody"] + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-after-body", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + def endTagHtml(self, name): + if self.parser.innerHTML: + self.parser.parseError("unexpected-end-tag-after-body-innerhtml") + else: + self.parser.phase = self.parser.phases["afterAfterBody"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-after-body", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + class InFramesetPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#in-frameset + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("frameset", self.startTagFrameset), + ("frame", self.startTagFrame), + ("noframes", self.startTagNoframes) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("frameset", self.endTagFrameset) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + if self.tree.openElements[-1].name != "html": + self.parser.parseError("eof-in-frameset") + else: + assert self.parser.innerHTML + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-in-frameset") + + def startTagFrameset(self, token): + self.tree.insertElement(token) + + def startTagFrame(self, token): + self.tree.insertElement(token) + self.tree.openElements.pop() + + def startTagNoframes(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-in-frameset", + {"name": token["name"]}) + + def endTagFrameset(self, token): + if self.tree.openElements[-1].name == "html": + # innerHTML case + self.parser.parseError("unexpected-frameset-in-frameset-innerhtml") + else: + self.tree.openElements.pop() + if (not self.parser.innerHTML and + self.tree.openElements[-1].name != "frameset"): + # If we're not in innerHTML mode and the current node is not a + # "frameset" element (anymore) then switch. + self.parser.phase = self.parser.phases["afterFrameset"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-in-frameset", + {"name": token["name"]}) + + class AfterFramesetPhase(Phase): + # http://www.whatwg.org/specs/web-apps/current-work/#after3 + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("noframes", self.startTagNoframes) + ]) + self.startTagHandler.default = self.startTagOther + + self.endTagHandler = _utils.MethodDispatcher([ + ("html", self.endTagHtml) + ]) + self.endTagHandler.default = self.endTagOther + + def processEOF(self): + # Stop parsing + pass + + def processCharacters(self, token): + self.parser.parseError("unexpected-char-after-frameset") + + def startTagNoframes(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("unexpected-start-tag-after-frameset", + {"name": token["name"]}) + + def endTagHtml(self, token): + self.parser.phase = self.parser.phases["afterAfterFrameset"] + + def endTagOther(self, token): + self.parser.parseError("unexpected-end-tag-after-frameset", + {"name": token["name"]}) + + class AfterAfterBodyPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml) + ]) + self.startTagHandler.default = self.startTagOther + + def processEOF(self): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + return self.parser.phases["inBody"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.parseError("expected-eof-but-got-char") + self.parser.phase = self.parser.phases["inBody"] + return token + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("expected-eof-but-got-start-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + def processEndTag(self, token): + self.parser.parseError("expected-eof-but-got-end-tag", + {"name": token["name"]}) + self.parser.phase = self.parser.phases["inBody"] + return token + + class AfterAfterFramesetPhase(Phase): + def __init__(self, parser, tree): + Phase.__init__(self, parser, tree) + + self.startTagHandler = _utils.MethodDispatcher([ + ("html", self.startTagHtml), + ("noframes", self.startTagNoFrames) + ]) + self.startTagHandler.default = self.startTagOther + + def processEOF(self): + pass + + def processComment(self, token): + self.tree.insertComment(token, self.tree.document) + + def processSpaceCharacters(self, token): + return self.parser.phases["inBody"].processSpaceCharacters(token) + + def processCharacters(self, token): + self.parser.parseError("expected-eof-but-got-char") + + def startTagHtml(self, token): + return self.parser.phases["inBody"].processStartTag(token) + + def startTagNoFrames(self, token): + return self.parser.phases["inHead"].processStartTag(token) + + def startTagOther(self, token): + self.parser.parseError("expected-eof-but-got-start-tag", + {"name": token["name"]}) + + def processEndTag(self, token): + self.parser.parseError("expected-eof-but-got-end-tag", + {"name": token["name"]}) + # pylint:enable=unused-argument + + return { + "initial": InitialPhase, + "beforeHtml": BeforeHtmlPhase, + "beforeHead": BeforeHeadPhase, + "inHead": InHeadPhase, + "inHeadNoscript": InHeadNoscriptPhase, + "afterHead": AfterHeadPhase, + "inBody": InBodyPhase, + "text": TextPhase, + "inTable": InTablePhase, + "inTableText": InTableTextPhase, + "inCaption": InCaptionPhase, + "inColumnGroup": InColumnGroupPhase, + "inTableBody": InTableBodyPhase, + "inRow": InRowPhase, + "inCell": InCellPhase, + "inSelect": InSelectPhase, + "inSelectInTable": InSelectInTablePhase, + "inForeignContent": InForeignContentPhase, + "afterBody": AfterBodyPhase, + "inFrameset": InFramesetPhase, + "afterFrameset": AfterFramesetPhase, + "afterAfterBody": AfterAfterBodyPhase, + "afterAfterFrameset": AfterAfterFramesetPhase, + # XXX after after frameset + } + + +def adjust_attributes(token, replacements): + needs_adjustment = viewkeys(token['data']) & viewkeys(replacements) + if needs_adjustment: + token['data'] = OrderedDict((replacements.get(k, k), v) + for k, v in token['data'].items()) + + +def impliedTagToken(name, type="EndTag", attributes=None, + selfClosing=False): + if attributes is None: + attributes = {} + return {"type": tokenTypes[type], "name": name, "data": attributes, + "selfClosing": selfClosing} + + +class ParseError(Exception): + """Error in parsed document""" + pass diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/serializer.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/serializer.py new file mode 100644 index 0000000000..53f4d44c39 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/serializer.py @@ -0,0 +1,409 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +import re + +from codecs import register_error, xmlcharrefreplace_errors + +from .constants import voidElements, booleanAttributes, spaceCharacters +from .constants import rcdataElements, entities, xmlEntities +from . import treewalkers, _utils +from xml.sax.saxutils import escape + +_quoteAttributeSpecChars = "".join(spaceCharacters) + "\"'=<>`" +_quoteAttributeSpec = re.compile("[" + _quoteAttributeSpecChars + "]") +_quoteAttributeLegacy = re.compile("[" + _quoteAttributeSpecChars + + "\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n" + "\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15" + "\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" + "\x20\x2f\x60\xa0\u1680\u180e\u180f\u2000" + "\u2001\u2002\u2003\u2004\u2005\u2006\u2007" + "\u2008\u2009\u200a\u2028\u2029\u202f\u205f" + "\u3000]") + + +_encode_entity_map = {} +_is_ucs4 = len("\U0010FFFF") == 1 +for k, v in list(entities.items()): + # skip multi-character entities + if ((_is_ucs4 and len(v) > 1) or + (not _is_ucs4 and len(v) > 2)): + continue + if v != "&": + if len(v) == 2: + v = _utils.surrogatePairToCodepoint(v) + else: + v = ord(v) + if v not in _encode_entity_map or k.islower(): + # prefer < over < and similarly for &, >, etc. + _encode_entity_map[v] = k + + +def htmlentityreplace_errors(exc): + if isinstance(exc, (UnicodeEncodeError, UnicodeTranslateError)): + res = [] + codepoints = [] + skip = False + for i, c in enumerate(exc.object[exc.start:exc.end]): + if skip: + skip = False + continue + index = i + exc.start + if _utils.isSurrogatePair(exc.object[index:min([exc.end, index + 2])]): + codepoint = _utils.surrogatePairToCodepoint(exc.object[index:index + 2]) + skip = True + else: + codepoint = ord(c) + codepoints.append(codepoint) + for cp in codepoints: + e = _encode_entity_map.get(cp) + if e: + res.append("&") + res.append(e) + if not e.endswith(";"): + res.append(";") + else: + res.append("&#x%s;" % (hex(cp)[2:])) + return ("".join(res), exc.end) + else: + return xmlcharrefreplace_errors(exc) + + +register_error("htmlentityreplace", htmlentityreplace_errors) + + +def serialize(input, tree="etree", encoding=None, **serializer_opts): + """Serializes the input token stream using the specified treewalker + + :arg input: the token stream to serialize + + :arg tree: the treewalker to use + + :arg encoding: the encoding to use + + :arg serializer_opts: any options to pass to the + :py:class:`html5lib.serializer.HTMLSerializer` that gets created + + :returns: the tree serialized as a string + + Example: + + >>> from html5lib.html5parser import parse + >>> from html5lib.serializer import serialize + >>> token_stream = parse('<html><body><p>Hi!</p></body></html>') + >>> serialize(token_stream, omit_optional_tags=False) + '<html><head></head><body><p>Hi!</p></body></html>' + + """ + # XXX: Should we cache this? + walker = treewalkers.getTreeWalker(tree) + s = HTMLSerializer(**serializer_opts) + return s.render(walker(input), encoding) + + +class HTMLSerializer(object): + + # attribute quoting options + quote_attr_values = "legacy" # be secure by default + quote_char = '"' + use_best_quote_char = True + + # tag syntax options + omit_optional_tags = True + minimize_boolean_attributes = True + use_trailing_solidus = False + space_before_trailing_solidus = True + + # escaping options + escape_lt_in_attrs = False + escape_rcdata = False + resolve_entities = True + + # miscellaneous options + alphabetical_attributes = False + inject_meta_charset = True + strip_whitespace = False + sanitize = False + + options = ("quote_attr_values", "quote_char", "use_best_quote_char", + "omit_optional_tags", "minimize_boolean_attributes", + "use_trailing_solidus", "space_before_trailing_solidus", + "escape_lt_in_attrs", "escape_rcdata", "resolve_entities", + "alphabetical_attributes", "inject_meta_charset", + "strip_whitespace", "sanitize") + + def __init__(self, **kwargs): + """Initialize HTMLSerializer + + :arg inject_meta_charset: Whether or not to inject the meta charset. + + Defaults to ``True``. + + :arg quote_attr_values: Whether to quote attribute values that don't + require quoting per legacy browser behavior (``"legacy"``), when + required by the standard (``"spec"``), or always (``"always"``). + + Defaults to ``"legacy"``. + + :arg quote_char: Use given quote character for attribute quoting. + + Defaults to ``"`` which will use double quotes unless attribute + value contains a double quote, in which case single quotes are + used. + + :arg escape_lt_in_attrs: Whether or not to escape ``<`` in attribute + values. + + Defaults to ``False``. + + :arg escape_rcdata: Whether to escape characters that need to be + escaped within normal elements within rcdata elements such as + style. + + Defaults to ``False``. + + :arg resolve_entities: Whether to resolve named character entities that + appear in the source tree. The XML predefined entities < > + & " ' are unaffected by this setting. + + Defaults to ``True``. + + :arg strip_whitespace: Whether to remove semantically meaningless + whitespace. (This compresses all whitespace to a single space + except within ``pre``.) + + Defaults to ``False``. + + :arg minimize_boolean_attributes: Shortens boolean attributes to give + just the attribute value, for example:: + + <input disabled="disabled"> + + becomes:: + + <input disabled> + + Defaults to ``True``. + + :arg use_trailing_solidus: Includes a close-tag slash at the end of the + start tag of void elements (empty elements whose end tag is + forbidden). E.g. ``<hr/>``. + + Defaults to ``False``. + + :arg space_before_trailing_solidus: Places a space immediately before + the closing slash in a tag using a trailing solidus. E.g. + ``<hr />``. Requires ``use_trailing_solidus=True``. + + Defaults to ``True``. + + :arg sanitize: Strip all unsafe or unknown constructs from output. + See :py:class:`html5lib.filters.sanitizer.Filter`. + + Defaults to ``False``. + + :arg omit_optional_tags: Omit start/end tags that are optional. + + Defaults to ``True``. + + :arg alphabetical_attributes: Reorder attributes to be in alphabetical order. + + Defaults to ``False``. + + """ + unexpected_args = frozenset(kwargs) - frozenset(self.options) + if len(unexpected_args) > 0: + raise TypeError("__init__() got an unexpected keyword argument '%s'" % next(iter(unexpected_args))) + if 'quote_char' in kwargs: + self.use_best_quote_char = False + for attr in self.options: + setattr(self, attr, kwargs.get(attr, getattr(self, attr))) + self.errors = [] + self.strict = False + + def encode(self, string): + assert(isinstance(string, text_type)) + if self.encoding: + return string.encode(self.encoding, "htmlentityreplace") + else: + return string + + def encodeStrict(self, string): + assert(isinstance(string, text_type)) + if self.encoding: + return string.encode(self.encoding, "strict") + else: + return string + + def serialize(self, treewalker, encoding=None): + # pylint:disable=too-many-nested-blocks + self.encoding = encoding + in_cdata = False + self.errors = [] + + if encoding and self.inject_meta_charset: + from .filters.inject_meta_charset import Filter + treewalker = Filter(treewalker, encoding) + # Alphabetical attributes is here under the assumption that none of + # the later filters add or change order of attributes; it needs to be + # before the sanitizer so escaped elements come out correctly + if self.alphabetical_attributes: + from .filters.alphabeticalattributes import Filter + treewalker = Filter(treewalker) + # WhitespaceFilter should be used before OptionalTagFilter + # for maximum efficiently of this latter filter + if self.strip_whitespace: + from .filters.whitespace import Filter + treewalker = Filter(treewalker) + if self.sanitize: + from .filters.sanitizer import Filter + treewalker = Filter(treewalker) + if self.omit_optional_tags: + from .filters.optionaltags import Filter + treewalker = Filter(treewalker) + + for token in treewalker: + type = token["type"] + if type == "Doctype": + doctype = "<!DOCTYPE %s" % token["name"] + + if token["publicId"]: + doctype += ' PUBLIC "%s"' % token["publicId"] + elif token["systemId"]: + doctype += " SYSTEM" + if token["systemId"]: + if token["systemId"].find('"') >= 0: + if token["systemId"].find("'") >= 0: + self.serializeError("System identifer contains both single and double quote characters") + quote_char = "'" + else: + quote_char = '"' + doctype += " %s%s%s" % (quote_char, token["systemId"], quote_char) + + doctype += ">" + yield self.encodeStrict(doctype) + + elif type in ("Characters", "SpaceCharacters"): + if type == "SpaceCharacters" or in_cdata: + if in_cdata and token["data"].find("</") >= 0: + self.serializeError("Unexpected </ in CDATA") + yield self.encode(token["data"]) + else: + yield self.encode(escape(token["data"])) + + elif type in ("StartTag", "EmptyTag"): + name = token["name"] + yield self.encodeStrict("<%s" % name) + if name in rcdataElements and not self.escape_rcdata: + in_cdata = True + elif in_cdata: + self.serializeError("Unexpected child element of a CDATA element") + for (_, attr_name), attr_value in token["data"].items(): + # TODO: Add namespace support here + k = attr_name + v = attr_value + yield self.encodeStrict(' ') + + yield self.encodeStrict(k) + if not self.minimize_boolean_attributes or \ + (k not in booleanAttributes.get(name, tuple()) and + k not in booleanAttributes.get("", tuple())): + yield self.encodeStrict("=") + if self.quote_attr_values == "always" or len(v) == 0: + quote_attr = True + elif self.quote_attr_values == "spec": + quote_attr = _quoteAttributeSpec.search(v) is not None + elif self.quote_attr_values == "legacy": + quote_attr = _quoteAttributeLegacy.search(v) is not None + else: + raise ValueError("quote_attr_values must be one of: " + "'always', 'spec', or 'legacy'") + v = v.replace("&", "&") + if self.escape_lt_in_attrs: + v = v.replace("<", "<") + if quote_attr: + quote_char = self.quote_char + if self.use_best_quote_char: + if "'" in v and '"' not in v: + quote_char = '"' + elif '"' in v and "'" not in v: + quote_char = "'" + if quote_char == "'": + v = v.replace("'", "'") + else: + v = v.replace('"', """) + yield self.encodeStrict(quote_char) + yield self.encode(v) + yield self.encodeStrict(quote_char) + else: + yield self.encode(v) + if name in voidElements and self.use_trailing_solidus: + if self.space_before_trailing_solidus: + yield self.encodeStrict(" /") + else: + yield self.encodeStrict("/") + yield self.encode(">") + + elif type == "EndTag": + name = token["name"] + if name in rcdataElements: + in_cdata = False + elif in_cdata: + self.serializeError("Unexpected child element of a CDATA element") + yield self.encodeStrict("</%s>" % name) + + elif type == "Comment": + data = token["data"] + if data.find("--") >= 0: + self.serializeError("Comment contains --") + yield self.encodeStrict("<!--%s-->" % token["data"]) + + elif type == "Entity": + name = token["name"] + key = name + ";" + if key not in entities: + self.serializeError("Entity %s not recognized" % name) + if self.resolve_entities and key not in xmlEntities: + data = entities[key] + else: + data = "&%s;" % name + yield self.encodeStrict(data) + + else: + self.serializeError(token["data"]) + + def render(self, treewalker, encoding=None): + """Serializes the stream from the treewalker into a string + + :arg treewalker: the treewalker to serialize + + :arg encoding: the string encoding to use + + :returns: the serialized tree + + Example: + + >>> from html5lib import parse, getTreeWalker + >>> from html5lib.serializer import HTMLSerializer + >>> token_stream = parse('<html><body>Hi!</body></html>') + >>> walker = getTreeWalker('etree') + >>> serializer = HTMLSerializer(omit_optional_tags=False) + >>> serializer.render(walker(token_stream)) + '<html><head></head><body>Hi!</body></html>' + + """ + if encoding: + return b"".join(list(self.serialize(treewalker, encoding))) + else: + return "".join(list(self.serialize(treewalker))) + + def serializeError(self, data="XXX ERROR MESSAGE NEEDED"): + # XXX The idea is to make data mandatory. + self.errors.append(data) + if self.strict: + raise SerializeError + + +class SerializeError(Exception): + """Error in serialized tree""" + pass diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/__init__.py new file mode 100644 index 0000000000..7ef59590c7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/__init__.py @@ -0,0 +1,30 @@ +"""Tree adapters let you convert from one tree structure to another + +Example: + +.. code-block:: python + + from pip._vendor import html5lib + from pip._vendor.html5lib.treeadapters import genshi + + doc = '<html><body>Hi!</body></html>' + treebuilder = html5lib.getTreeBuilder('etree') + parser = html5lib.HTMLParser(tree=treebuilder) + tree = parser.parse(doc) + TreeWalker = html5lib.getTreeWalker('etree') + + genshi_tree = genshi.to_genshi(TreeWalker(tree)) + +""" +from __future__ import absolute_import, division, unicode_literals + +from . import sax + +__all__ = ["sax"] + +try: + from . import genshi # noqa +except ImportError: + pass +else: + __all__.append("genshi") diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/genshi.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/genshi.py new file mode 100644 index 0000000000..61d5fb6ac4 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/genshi.py @@ -0,0 +1,54 @@ +from __future__ import absolute_import, division, unicode_literals + +from genshi.core import QName, Attrs +from genshi.core import START, END, TEXT, COMMENT, DOCTYPE + + +def to_genshi(walker): + """Convert a tree to a genshi tree + + :arg walker: the treewalker to use to walk the tree to convert it + + :returns: generator of genshi nodes + + """ + text = [] + for token in walker: + type = token["type"] + if type in ("Characters", "SpaceCharacters"): + text.append(token["data"]) + elif text: + yield TEXT, "".join(text), (None, -1, -1) + text = [] + + if type in ("StartTag", "EmptyTag"): + if token["namespace"]: + name = "{%s}%s" % (token["namespace"], token["name"]) + else: + name = token["name"] + attrs = Attrs([(QName("{%s}%s" % attr if attr[0] is not None else attr[1]), value) + for attr, value in token["data"].items()]) + yield (START, (QName(name), attrs), (None, -1, -1)) + if type == "EmptyTag": + type = "EndTag" + + if type == "EndTag": + if token["namespace"]: + name = "{%s}%s" % (token["namespace"], token["name"]) + else: + name = token["name"] + + yield END, QName(name), (None, -1, -1) + + elif type == "Comment": + yield COMMENT, token["data"], (None, -1, -1) + + elif type == "Doctype": + yield DOCTYPE, (token["name"], token["publicId"], + token["systemId"]), (None, -1, -1) + + else: + pass # FIXME: What to do? + + if text: + yield TEXT, "".join(text), (None, -1, -1) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/sax.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/sax.py new file mode 100644 index 0000000000..f4ccea5a25 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treeadapters/sax.py @@ -0,0 +1,50 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.sax.xmlreader import AttributesNSImpl + +from ..constants import adjustForeignAttributes, unadjustForeignAttributes + +prefix_mapping = {} +for prefix, localName, namespace in adjustForeignAttributes.values(): + if prefix is not None: + prefix_mapping[prefix] = namespace + + +def to_sax(walker, handler): + """Call SAX-like content handler based on treewalker walker + + :arg walker: the treewalker to use to walk the tree to convert it + + :arg handler: SAX handler to use + + """ + handler.startDocument() + for prefix, namespace in prefix_mapping.items(): + handler.startPrefixMapping(prefix, namespace) + + for token in walker: + type = token["type"] + if type == "Doctype": + continue + elif type in ("StartTag", "EmptyTag"): + attrs = AttributesNSImpl(token["data"], + unadjustForeignAttributes) + handler.startElementNS((token["namespace"], token["name"]), + token["name"], + attrs) + if type == "EmptyTag": + handler.endElementNS((token["namespace"], token["name"]), + token["name"]) + elif type == "EndTag": + handler.endElementNS((token["namespace"], token["name"]), + token["name"]) + elif type in ("Characters", "SpaceCharacters"): + handler.characters(token["data"]) + elif type == "Comment": + pass + else: + assert False, "Unknown token type" + + for prefix, namespace in prefix_mapping.items(): + handler.endPrefixMapping(prefix) + handler.endDocument() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/__init__.py new file mode 100644 index 0000000000..d44447eaf5 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/__init__.py @@ -0,0 +1,88 @@ +"""A collection of modules for building different kinds of trees from HTML +documents. + +To create a treebuilder for a new type of tree, you need to do +implement several things: + +1. A set of classes for various types of elements: Document, Doctype, Comment, + Element. These must implement the interface of ``base.treebuilders.Node`` + (although comment nodes have a different signature for their constructor, + see ``treebuilders.etree.Comment``) Textual content may also be implemented + as another node type, or not, as your tree implementation requires. + +2. A treebuilder object (called ``TreeBuilder`` by convention) that inherits + from ``treebuilders.base.TreeBuilder``. This has 4 required attributes: + + * ``documentClass`` - the class to use for the bottommost node of a document + * ``elementClass`` - the class to use for HTML Elements + * ``commentClass`` - the class to use for comments + * ``doctypeClass`` - the class to use for doctypes + + It also has one required method: + + * ``getDocument`` - Returns the root node of the complete document tree + +3. If you wish to run the unit tests, you must also create a ``testSerializer`` + method on your treebuilder which accepts a node and returns a string + containing Node and its children serialized according to the format used in + the unittests + +""" + +from __future__ import absolute_import, division, unicode_literals + +from .._utils import default_etree + +treeBuilderCache = {} + + +def getTreeBuilder(treeType, implementation=None, **kwargs): + """Get a TreeBuilder class for various types of trees with built-in support + + :arg treeType: the name of the tree type required (case-insensitive). Supported + values are: + + * "dom" - A generic builder for DOM implementations, defaulting to a + xml.dom.minidom based implementation. + * "etree" - A generic builder for tree implementations exposing an + ElementTree-like interface, defaulting to xml.etree.cElementTree if + available and xml.etree.ElementTree if not. + * "lxml" - A etree-based builder for lxml.etree, handling limitations + of lxml's implementation. + + :arg implementation: (Currently applies to the "etree" and "dom" tree + types). A module implementing the tree type e.g. xml.etree.ElementTree + or xml.etree.cElementTree. + + :arg kwargs: Any additional options to pass to the TreeBuilder when + creating it. + + Example: + + >>> from html5lib.treebuilders import getTreeBuilder + >>> builder = getTreeBuilder('etree') + + """ + + treeType = treeType.lower() + if treeType not in treeBuilderCache: + if treeType == "dom": + from . import dom + # Come up with a sane default (pref. from the stdlib) + if implementation is None: + from xml.dom import minidom + implementation = minidom + # NEVER cache here, caching is done in the dom submodule + return dom.getDomModule(implementation, **kwargs).TreeBuilder + elif treeType == "lxml": + from . import etree_lxml + treeBuilderCache[treeType] = etree_lxml.TreeBuilder + elif treeType == "etree": + from . import etree + if implementation is None: + implementation = default_etree + # NEVER cache here, caching is done in the etree submodule + return etree.getETreeModule(implementation, **kwargs).TreeBuilder + else: + raise ValueError("""Unrecognised treebuilder "%s" """ % treeType) + return treeBuilderCache.get(treeType) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/base.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/base.py new file mode 100644 index 0000000000..73973db51b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/base.py @@ -0,0 +1,417 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from ..constants import scopingElements, tableInsertModeElements, namespaces + +# The scope markers are inserted when entering object elements, +# marquees, table cells, and table captions, and are used to prevent formatting +# from "leaking" into tables, object elements, and marquees. +Marker = None + +listElementsMap = { + None: (frozenset(scopingElements), False), + "button": (frozenset(scopingElements | set([(namespaces["html"], "button")])), False), + "list": (frozenset(scopingElements | set([(namespaces["html"], "ol"), + (namespaces["html"], "ul")])), False), + "table": (frozenset([(namespaces["html"], "html"), + (namespaces["html"], "table")]), False), + "select": (frozenset([(namespaces["html"], "optgroup"), + (namespaces["html"], "option")]), True) +} + + +class Node(object): + """Represents an item in the tree""" + def __init__(self, name): + """Creates a Node + + :arg name: The tag name associated with the node + + """ + # The tag name assocaited with the node + self.name = name + # The parent of the current node (or None for the document node) + self.parent = None + # The value of the current node (applies to text nodes and comments) + self.value = None + # A dict holding name -> value pairs for attributes of the node + self.attributes = {} + # A list of child nodes of the current node. This must include all + # elements but not necessarily other node types. + self.childNodes = [] + # A list of miscellaneous flags that can be set on the node. + self._flags = [] + + def __str__(self): + attributesStr = " ".join(["%s=\"%s\"" % (name, value) + for name, value in + self.attributes.items()]) + if attributesStr: + return "<%s %s>" % (self.name, attributesStr) + else: + return "<%s>" % (self.name) + + def __repr__(self): + return "<%s>" % (self.name) + + def appendChild(self, node): + """Insert node as a child of the current node + + :arg node: the node to insert + + """ + raise NotImplementedError + + def insertText(self, data, insertBefore=None): + """Insert data as text in the current node, positioned before the + start of node insertBefore or to the end of the node's text. + + :arg data: the data to insert + + :arg insertBefore: True if you want to insert the text before the node + and False if you want to insert it after the node + + """ + raise NotImplementedError + + def insertBefore(self, node, refNode): + """Insert node as a child of the current node, before refNode in the + list of child nodes. Raises ValueError if refNode is not a child of + the current node + + :arg node: the node to insert + + :arg refNode: the child node to insert the node before + + """ + raise NotImplementedError + + def removeChild(self, node): + """Remove node from the children of the current node + + :arg node: the child node to remove + + """ + raise NotImplementedError + + def reparentChildren(self, newParent): + """Move all the children of the current node to newParent. + This is needed so that trees that don't store text as nodes move the + text in the correct way + + :arg newParent: the node to move all this node's children to + + """ + # XXX - should this method be made more general? + for child in self.childNodes: + newParent.appendChild(child) + self.childNodes = [] + + def cloneNode(self): + """Return a shallow copy of the current node i.e. a node with the same + name and attributes but with no parent or child nodes + """ + raise NotImplementedError + + def hasContent(self): + """Return true if the node has children or text, false otherwise + """ + raise NotImplementedError + + +class ActiveFormattingElements(list): + def append(self, node): + equalCount = 0 + if node != Marker: + for element in self[::-1]: + if element == Marker: + break + if self.nodesEqual(element, node): + equalCount += 1 + if equalCount == 3: + self.remove(element) + break + list.append(self, node) + + def nodesEqual(self, node1, node2): + if not node1.nameTuple == node2.nameTuple: + return False + + if not node1.attributes == node2.attributes: + return False + + return True + + +class TreeBuilder(object): + """Base treebuilder implementation + + * documentClass - the class to use for the bottommost node of a document + * elementClass - the class to use for HTML Elements + * commentClass - the class to use for comments + * doctypeClass - the class to use for doctypes + + """ + # pylint:disable=not-callable + + # Document class + documentClass = None + + # The class to use for creating a node + elementClass = None + + # The class to use for creating comments + commentClass = None + + # The class to use for creating doctypes + doctypeClass = None + + # Fragment class + fragmentClass = None + + def __init__(self, namespaceHTMLElements): + """Create a TreeBuilder + + :arg namespaceHTMLElements: whether or not to namespace HTML elements + + """ + if namespaceHTMLElements: + self.defaultNamespace = "http://www.w3.org/1999/xhtml" + else: + self.defaultNamespace = None + self.reset() + + def reset(self): + self.openElements = [] + self.activeFormattingElements = ActiveFormattingElements() + + # XXX - rename these to headElement, formElement + self.headPointer = None + self.formPointer = None + + self.insertFromTable = False + + self.document = self.documentClass() + + def elementInScope(self, target, variant=None): + + # If we pass a node in we match that. if we pass a string + # match any node with that name + exactNode = hasattr(target, "nameTuple") + if not exactNode: + if isinstance(target, text_type): + target = (namespaces["html"], target) + assert isinstance(target, tuple) + + listElements, invert = listElementsMap[variant] + + for node in reversed(self.openElements): + if exactNode and node == target: + return True + elif not exactNode and node.nameTuple == target: + return True + elif (invert ^ (node.nameTuple in listElements)): + return False + + assert False # We should never reach this point + + def reconstructActiveFormattingElements(self): + # Within this algorithm the order of steps described in the + # specification is not quite the same as the order of steps in the + # code. It should still do the same though. + + # Step 1: stop the algorithm when there's nothing to do. + if not self.activeFormattingElements: + return + + # Step 2 and step 3: we start with the last element. So i is -1. + i = len(self.activeFormattingElements) - 1 + entry = self.activeFormattingElements[i] + if entry == Marker or entry in self.openElements: + return + + # Step 6 + while entry != Marker and entry not in self.openElements: + if i == 0: + # This will be reset to 0 below + i = -1 + break + i -= 1 + # Step 5: let entry be one earlier in the list. + entry = self.activeFormattingElements[i] + + while True: + # Step 7 + i += 1 + + # Step 8 + entry = self.activeFormattingElements[i] + clone = entry.cloneNode() # Mainly to get a new copy of the attributes + + # Step 9 + element = self.insertElement({"type": "StartTag", + "name": clone.name, + "namespace": clone.namespace, + "data": clone.attributes}) + + # Step 10 + self.activeFormattingElements[i] = element + + # Step 11 + if element == self.activeFormattingElements[-1]: + break + + def clearActiveFormattingElements(self): + entry = self.activeFormattingElements.pop() + while self.activeFormattingElements and entry != Marker: + entry = self.activeFormattingElements.pop() + + def elementInActiveFormattingElements(self, name): + """Check if an element exists between the end of the active + formatting elements and the last marker. If it does, return it, else + return false""" + + for item in self.activeFormattingElements[::-1]: + # Check for Marker first because if it's a Marker it doesn't have a + # name attribute. + if item == Marker: + break + elif item.name == name: + return item + return False + + def insertRoot(self, token): + element = self.createElement(token) + self.openElements.append(element) + self.document.appendChild(element) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + doctype = self.doctypeClass(name, publicId, systemId) + self.document.appendChild(doctype) + + def insertComment(self, token, parent=None): + if parent is None: + parent = self.openElements[-1] + parent.appendChild(self.commentClass(token["data"])) + + def createElement(self, token): + """Create an element but don't insert it anywhere""" + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + element = self.elementClass(name, namespace) + element.attributes = token["data"] + return element + + def _getInsertFromTable(self): + return self._insertFromTable + + def _setInsertFromTable(self, value): + """Switch the function used to insert an element from the + normal one to the misnested table one and back again""" + self._insertFromTable = value + if value: + self.insertElement = self.insertElementTable + else: + self.insertElement = self.insertElementNormal + + insertFromTable = property(_getInsertFromTable, _setInsertFromTable) + + def insertElementNormal(self, token): + name = token["name"] + assert isinstance(name, text_type), "Element %s not unicode" % name + namespace = token.get("namespace", self.defaultNamespace) + element = self.elementClass(name, namespace) + element.attributes = token["data"] + self.openElements[-1].appendChild(element) + self.openElements.append(element) + return element + + def insertElementTable(self, token): + """Create an element and insert it into the tree""" + element = self.createElement(token) + if self.openElements[-1].name not in tableInsertModeElements: + return self.insertElementNormal(token) + else: + # We should be in the InTable mode. This means we want to do + # special magic element rearranging + parent, insertBefore = self.getTableMisnestedNodePosition() + if insertBefore is None: + parent.appendChild(element) + else: + parent.insertBefore(element, insertBefore) + self.openElements.append(element) + return element + + def insertText(self, data, parent=None): + """Insert text data.""" + if parent is None: + parent = self.openElements[-1] + + if (not self.insertFromTable or (self.insertFromTable and + self.openElements[-1].name + not in tableInsertModeElements)): + parent.insertText(data) + else: + # We should be in the InTable mode. This means we want to do + # special magic element rearranging + parent, insertBefore = self.getTableMisnestedNodePosition() + parent.insertText(data, insertBefore) + + def getTableMisnestedNodePosition(self): + """Get the foster parent element, and sibling to insert before + (or None) when inserting a misnested table node""" + # The foster parent element is the one which comes before the most + # recently opened table element + # XXX - this is really inelegant + lastTable = None + fosterParent = None + insertBefore = None + for elm in self.openElements[::-1]: + if elm.name == "table": + lastTable = elm + break + if lastTable: + # XXX - we should really check that this parent is actually a + # node here + if lastTable.parent: + fosterParent = lastTable.parent + insertBefore = lastTable + else: + fosterParent = self.openElements[ + self.openElements.index(lastTable) - 1] + else: + fosterParent = self.openElements[0] + return fosterParent, insertBefore + + def generateImpliedEndTags(self, exclude=None): + name = self.openElements[-1].name + # XXX td, th and tr are not actually needed + if (name in frozenset(("dd", "dt", "li", "option", "optgroup", "p", "rp", "rt")) and + name != exclude): + self.openElements.pop() + # XXX This is not entirely what the specification says. We should + # investigate it more closely. + self.generateImpliedEndTags(exclude) + + def getDocument(self): + """Return the final tree""" + return self.document + + def getFragment(self): + """Return the final fragment""" + # assert self.innerHTML + fragment = self.fragmentClass() + self.openElements[0].reparentChildren(fragment) + return fragment + + def testSerializer(self, node): + """Serialize the subtree of node in the format required by unit tests + + :arg node: the node from which to start serializing + + """ + raise NotImplementedError diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/dom.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/dom.py new file mode 100644 index 0000000000..dcfac220bf --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/dom.py @@ -0,0 +1,236 @@ +from __future__ import absolute_import, division, unicode_literals + + +from collections import MutableMapping +from xml.dom import minidom, Node +import weakref + +from . import base +from .. import constants +from ..constants import namespaces +from .._utils import moduleFactoryFactory + + +def getDomBuilder(DomImplementation): + Dom = DomImplementation + + class AttrList(MutableMapping): + def __init__(self, element): + self.element = element + + def __iter__(self): + return iter(self.element.attributes.keys()) + + def __setitem__(self, name, value): + if isinstance(name, tuple): + raise NotImplementedError + else: + attr = self.element.ownerDocument.createAttribute(name) + attr.value = value + self.element.attributes[name] = attr + + def __len__(self): + return len(self.element.attributes) + + def items(self): + return list(self.element.attributes.items()) + + def values(self): + return list(self.element.attributes.values()) + + def __getitem__(self, name): + if isinstance(name, tuple): + raise NotImplementedError + else: + return self.element.attributes[name].value + + def __delitem__(self, name): + if isinstance(name, tuple): + raise NotImplementedError + else: + del self.element.attributes[name] + + class NodeBuilder(base.Node): + def __init__(self, element): + base.Node.__init__(self, element.nodeName) + self.element = element + + namespace = property(lambda self: hasattr(self.element, "namespaceURI") and + self.element.namespaceURI or None) + + def appendChild(self, node): + node.parent = self + self.element.appendChild(node.element) + + def insertText(self, data, insertBefore=None): + text = self.element.ownerDocument.createTextNode(data) + if insertBefore: + self.element.insertBefore(text, insertBefore.element) + else: + self.element.appendChild(text) + + def insertBefore(self, node, refNode): + self.element.insertBefore(node.element, refNode.element) + node.parent = self + + def removeChild(self, node): + if node.element.parentNode == self.element: + self.element.removeChild(node.element) + node.parent = None + + def reparentChildren(self, newParent): + while self.element.hasChildNodes(): + child = self.element.firstChild + self.element.removeChild(child) + newParent.element.appendChild(child) + self.childNodes = [] + + def getAttributes(self): + return AttrList(self.element) + + def setAttributes(self, attributes): + if attributes: + for name, value in list(attributes.items()): + if isinstance(name, tuple): + if name[0] is not None: + qualifiedName = (name[0] + ":" + name[1]) + else: + qualifiedName = name[1] + self.element.setAttributeNS(name[2], qualifiedName, + value) + else: + self.element.setAttribute( + name, value) + attributes = property(getAttributes, setAttributes) + + def cloneNode(self): + return NodeBuilder(self.element.cloneNode(False)) + + def hasContent(self): + return self.element.hasChildNodes() + + def getNameTuple(self): + if self.namespace is None: + return namespaces["html"], self.name + else: + return self.namespace, self.name + + nameTuple = property(getNameTuple) + + class TreeBuilder(base.TreeBuilder): # pylint:disable=unused-variable + def documentClass(self): + self.dom = Dom.getDOMImplementation().createDocument(None, None, None) + return weakref.proxy(self) + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + domimpl = Dom.getDOMImplementation() + doctype = domimpl.createDocumentType(name, publicId, systemId) + self.document.appendChild(NodeBuilder(doctype)) + if Dom == minidom: + doctype.ownerDocument = self.dom + + def elementClass(self, name, namespace=None): + if namespace is None and self.defaultNamespace is None: + node = self.dom.createElement(name) + else: + node = self.dom.createElementNS(namespace, name) + + return NodeBuilder(node) + + def commentClass(self, data): + return NodeBuilder(self.dom.createComment(data)) + + def fragmentClass(self): + return NodeBuilder(self.dom.createDocumentFragment()) + + def appendChild(self, node): + self.dom.appendChild(node.element) + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + return self.dom + + def getFragment(self): + return base.TreeBuilder.getFragment(self).element + + def insertText(self, data, parent=None): + data = data + if parent != self: + base.TreeBuilder.insertText(self, data, parent) + else: + # HACK: allow text nodes as children of the document node + if hasattr(self.dom, '_child_node_types'): + # pylint:disable=protected-access + if Node.TEXT_NODE not in self.dom._child_node_types: + self.dom._child_node_types = list(self.dom._child_node_types) + self.dom._child_node_types.append(Node.TEXT_NODE) + self.dom.appendChild(self.dom.createTextNode(data)) + + implementation = DomImplementation + name = None + + def testSerializer(element): + element.normalize() + rv = [] + + def serializeElement(element, indent=0): + if element.nodeType == Node.DOCUMENT_TYPE_NODE: + if element.name: + if element.publicId or element.systemId: + publicId = element.publicId or "" + systemId = element.systemId or "" + rv.append("""|%s<!DOCTYPE %s "%s" "%s">""" % + (' ' * indent, element.name, publicId, systemId)) + else: + rv.append("|%s<!DOCTYPE %s>" % (' ' * indent, element.name)) + else: + rv.append("|%s<!DOCTYPE >" % (' ' * indent,)) + elif element.nodeType == Node.DOCUMENT_NODE: + rv.append("#document") + elif element.nodeType == Node.DOCUMENT_FRAGMENT_NODE: + rv.append("#document-fragment") + elif element.nodeType == Node.COMMENT_NODE: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.nodeValue)) + elif element.nodeType == Node.TEXT_NODE: + rv.append("|%s\"%s\"" % (' ' * indent, element.nodeValue)) + else: + if (hasattr(element, "namespaceURI") and + element.namespaceURI is not None): + name = "%s %s" % (constants.prefixes[element.namespaceURI], + element.nodeName) + else: + name = element.nodeName + rv.append("|%s<%s>" % (' ' * indent, name)) + if element.hasAttributes(): + attributes = [] + for i in range(len(element.attributes)): + attr = element.attributes.item(i) + name = attr.nodeName + value = attr.value + ns = attr.namespaceURI + if ns: + name = "%s %s" % (constants.prefixes[ns], attr.localName) + else: + name = attr.nodeName + attributes.append((name, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + indent += 2 + for child in element.childNodes: + serializeElement(child, indent) + serializeElement(element, 0) + + return "\n".join(rv) + + return locals() + + +# The actual means to get a module! +getDomModule = moduleFactoryFactory(getDomBuilder) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/etree.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/etree.py new file mode 100644 index 0000000000..0dedf44164 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/etree.py @@ -0,0 +1,340 @@ +from __future__ import absolute_import, division, unicode_literals +# pylint:disable=protected-access + +from pip._vendor.six import text_type + +import re + +from . import base +from .. import _ihatexml +from .. import constants +from ..constants import namespaces +from .._utils import moduleFactoryFactory + +tag_regexp = re.compile("{([^}]*)}(.*)") + + +def getETreeBuilder(ElementTreeImplementation, fullTree=False): + ElementTree = ElementTreeImplementation + ElementTreeCommentType = ElementTree.Comment("asd").tag + + class Element(base.Node): + def __init__(self, name, namespace=None): + self._name = name + self._namespace = namespace + self._element = ElementTree.Element(self._getETreeTag(name, + namespace)) + if namespace is None: + self.nameTuple = namespaces["html"], self._name + else: + self.nameTuple = self._namespace, self._name + self.parent = None + self._childNodes = [] + self._flags = [] + + def _getETreeTag(self, name, namespace): + if namespace is None: + etree_tag = name + else: + etree_tag = "{%s}%s" % (namespace, name) + return etree_tag + + def _setName(self, name): + self._name = name + self._element.tag = self._getETreeTag(self._name, self._namespace) + + def _getName(self): + return self._name + + name = property(_getName, _setName) + + def _setNamespace(self, namespace): + self._namespace = namespace + self._element.tag = self._getETreeTag(self._name, self._namespace) + + def _getNamespace(self): + return self._namespace + + namespace = property(_getNamespace, _setNamespace) + + def _getAttributes(self): + return self._element.attrib + + def _setAttributes(self, attributes): + # Delete existing attributes first + # XXX - there may be a better way to do this... + for key in list(self._element.attrib.keys()): + del self._element.attrib[key] + for key, value in attributes.items(): + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], key[1]) + else: + name = key + self._element.set(name, value) + + attributes = property(_getAttributes, _setAttributes) + + def _getChildNodes(self): + return self._childNodes + + def _setChildNodes(self, value): + del self._element[:] + self._childNodes = [] + for element in value: + self.insertChild(element) + + childNodes = property(_getChildNodes, _setChildNodes) + + def hasContent(self): + """Return true if the node has children or text""" + return bool(self._element.text or len(self._element)) + + def appendChild(self, node): + self._childNodes.append(node) + self._element.append(node._element) + node.parent = self + + def insertBefore(self, node, refNode): + index = list(self._element).index(refNode._element) + self._element.insert(index, node._element) + node.parent = self + + def removeChild(self, node): + self._childNodes.remove(node) + self._element.remove(node._element) + node.parent = None + + def insertText(self, data, insertBefore=None): + if not(len(self._element)): + if not self._element.text: + self._element.text = "" + self._element.text += data + elif insertBefore is None: + # Insert the text as the tail of the last child element + if not self._element[-1].tail: + self._element[-1].tail = "" + self._element[-1].tail += data + else: + # Insert the text before the specified node + children = list(self._element) + index = children.index(insertBefore._element) + if index > 0: + if not self._element[index - 1].tail: + self._element[index - 1].tail = "" + self._element[index - 1].tail += data + else: + if not self._element.text: + self._element.text = "" + self._element.text += data + + def cloneNode(self): + element = type(self)(self.name, self.namespace) + for name, value in self.attributes.items(): + element.attributes[name] = value + return element + + def reparentChildren(self, newParent): + if newParent.childNodes: + newParent.childNodes[-1]._element.tail += self._element.text + else: + if not newParent._element.text: + newParent._element.text = "" + if self._element.text is not None: + newParent._element.text += self._element.text + self._element.text = "" + base.Node.reparentChildren(self, newParent) + + class Comment(Element): + def __init__(self, data): + # Use the superclass constructor to set all properties on the + # wrapper element + self._element = ElementTree.Comment(data) + self.parent = None + self._childNodes = [] + self._flags = [] + + def _getData(self): + return self._element.text + + def _setData(self, value): + self._element.text = value + + data = property(_getData, _setData) + + class DocumentType(Element): + def __init__(self, name, publicId, systemId): + Element.__init__(self, "<!DOCTYPE>") + self._element.text = name + self.publicId = publicId + self.systemId = systemId + + def _getPublicId(self): + return self._element.get("publicId", "") + + def _setPublicId(self, value): + if value is not None: + self._element.set("publicId", value) + + publicId = property(_getPublicId, _setPublicId) + + def _getSystemId(self): + return self._element.get("systemId", "") + + def _setSystemId(self, value): + if value is not None: + self._element.set("systemId", value) + + systemId = property(_getSystemId, _setSystemId) + + class Document(Element): + def __init__(self): + Element.__init__(self, "DOCUMENT_ROOT") + + class DocumentFragment(Element): + def __init__(self): + Element.__init__(self, "DOCUMENT_FRAGMENT") + + def testSerializer(element): + rv = [] + + def serializeElement(element, indent=0): + if not(hasattr(element, "tag")): + element = element.getroot() + if element.tag == "<!DOCTYPE>": + if element.get("publicId") or element.get("systemId"): + publicId = element.get("publicId") or "" + systemId = element.get("systemId") or "" + rv.append("""<!DOCTYPE %s "%s" "%s">""" % + (element.text, publicId, systemId)) + else: + rv.append("<!DOCTYPE %s>" % (element.text,)) + elif element.tag == "DOCUMENT_ROOT": + rv.append("#document") + if element.text is not None: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + if element.tail is not None: + raise TypeError("Document node cannot have tail") + if hasattr(element, "attrib") and len(element.attrib): + raise TypeError("Document node cannot have attributes") + elif element.tag == ElementTreeCommentType: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.text)) + else: + assert isinstance(element.tag, text_type), \ + "Expected unicode, got %s, %s" % (type(element.tag), element.tag) + nsmatch = tag_regexp.match(element.tag) + + if nsmatch is None: + name = element.tag + else: + ns, name = nsmatch.groups() + prefix = constants.prefixes[ns] + name = "%s %s" % (prefix, name) + rv.append("|%s<%s>" % (' ' * indent, name)) + + if hasattr(element, "attrib"): + attributes = [] + for name, value in element.attrib.items(): + nsmatch = tag_regexp.match(name) + if nsmatch is not None: + ns, name = nsmatch.groups() + prefix = constants.prefixes[ns] + attr_string = "%s %s" % (prefix, name) + else: + attr_string = name + attributes.append((attr_string, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + if element.text: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + indent += 2 + for child in element: + serializeElement(child, indent) + if element.tail: + rv.append("|%s\"%s\"" % (' ' * (indent - 2), element.tail)) + serializeElement(element, 0) + + return "\n".join(rv) + + def tostring(element): # pylint:disable=unused-variable + """Serialize an element and its child nodes to a string""" + rv = [] + filter = _ihatexml.InfosetFilter() + + def serializeElement(element): + if isinstance(element, ElementTree.ElementTree): + element = element.getroot() + + if element.tag == "<!DOCTYPE>": + if element.get("publicId") or element.get("systemId"): + publicId = element.get("publicId") or "" + systemId = element.get("systemId") or "" + rv.append("""<!DOCTYPE %s PUBLIC "%s" "%s">""" % + (element.text, publicId, systemId)) + else: + rv.append("<!DOCTYPE %s>" % (element.text,)) + elif element.tag == "DOCUMENT_ROOT": + if element.text is not None: + rv.append(element.text) + if element.tail is not None: + raise TypeError("Document node cannot have tail") + if hasattr(element, "attrib") and len(element.attrib): + raise TypeError("Document node cannot have attributes") + + for child in element: + serializeElement(child) + + elif element.tag == ElementTreeCommentType: + rv.append("<!--%s-->" % (element.text,)) + else: + # This is assumed to be an ordinary element + if not element.attrib: + rv.append("<%s>" % (filter.fromXmlName(element.tag),)) + else: + attr = " ".join(["%s=\"%s\"" % ( + filter.fromXmlName(name), value) + for name, value in element.attrib.items()]) + rv.append("<%s %s>" % (element.tag, attr)) + if element.text: + rv.append(element.text) + + for child in element: + serializeElement(child) + + rv.append("</%s>" % (element.tag,)) + + if element.tail: + rv.append(element.tail) + + serializeElement(element) + + return "".join(rv) + + class TreeBuilder(base.TreeBuilder): # pylint:disable=unused-variable + documentClass = Document + doctypeClass = DocumentType + elementClass = Element + commentClass = Comment + fragmentClass = DocumentFragment + implementation = ElementTreeImplementation + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + if fullTree: + return self.document._element + else: + if self.defaultNamespace is not None: + return self.document._element.find( + "{%s}html" % self.defaultNamespace) + else: + return self.document._element.find("html") + + def getFragment(self): + return base.TreeBuilder.getFragment(self)._element + + return locals() + + +getETreeModule = moduleFactoryFactory(getETreeBuilder) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py new file mode 100644 index 0000000000..ca12a99ccc --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treebuilders/etree_lxml.py @@ -0,0 +1,366 @@ +"""Module for supporting the lxml.etree library. The idea here is to use as much +of the native library as possible, without using fragile hacks like custom element +names that break between releases. The downside of this is that we cannot represent +all possible trees; specifically the following are known to cause problems: + +Text or comments as siblings of the root element +Docypes with no name + +When any of these things occur, we emit a DataLossWarning +""" + +from __future__ import absolute_import, division, unicode_literals +# pylint:disable=protected-access + +import warnings +import re +import sys + +from . import base +from ..constants import DataLossWarning +from .. import constants +from . import etree as etree_builders +from .. import _ihatexml + +import lxml.etree as etree + + +fullTree = True +tag_regexp = re.compile("{([^}]*)}(.*)") + +comment_type = etree.Comment("asd").tag + + +class DocumentType(object): + def __init__(self, name, publicId, systemId): + self.name = name + self.publicId = publicId + self.systemId = systemId + + +class Document(object): + def __init__(self): + self._elementTree = None + self._childNodes = [] + + def appendChild(self, element): + self._elementTree.getroot().addnext(element._element) + + def _getChildNodes(self): + return self._childNodes + + childNodes = property(_getChildNodes) + + +def testSerializer(element): + rv = [] + infosetFilter = _ihatexml.InfosetFilter(preventDoubleDashComments=True) + + def serializeElement(element, indent=0): + if not hasattr(element, "tag"): + if hasattr(element, "getroot"): + # Full tree case + rv.append("#document") + if element.docinfo.internalDTD: + if not (element.docinfo.public_id or + element.docinfo.system_url): + dtd_str = "<!DOCTYPE %s>" % element.docinfo.root_name + else: + dtd_str = """<!DOCTYPE %s "%s" "%s">""" % ( + element.docinfo.root_name, + element.docinfo.public_id, + element.docinfo.system_url) + rv.append("|%s%s" % (' ' * (indent + 2), dtd_str)) + next_element = element.getroot() + while next_element.getprevious() is not None: + next_element = next_element.getprevious() + while next_element is not None: + serializeElement(next_element, indent + 2) + next_element = next_element.getnext() + elif isinstance(element, str) or isinstance(element, bytes): + # Text in a fragment + assert isinstance(element, str) or sys.version_info[0] == 2 + rv.append("|%s\"%s\"" % (' ' * indent, element)) + else: + # Fragment case + rv.append("#document-fragment") + for next_element in element: + serializeElement(next_element, indent + 2) + elif element.tag == comment_type: + rv.append("|%s<!-- %s -->" % (' ' * indent, element.text)) + if hasattr(element, "tail") and element.tail: + rv.append("|%s\"%s\"" % (' ' * indent, element.tail)) + else: + assert isinstance(element, etree._Element) + nsmatch = etree_builders.tag_regexp.match(element.tag) + if nsmatch is not None: + ns = nsmatch.group(1) + tag = nsmatch.group(2) + prefix = constants.prefixes[ns] + rv.append("|%s<%s %s>" % (' ' * indent, prefix, + infosetFilter.fromXmlName(tag))) + else: + rv.append("|%s<%s>" % (' ' * indent, + infosetFilter.fromXmlName(element.tag))) + + if hasattr(element, "attrib"): + attributes = [] + for name, value in element.attrib.items(): + nsmatch = tag_regexp.match(name) + if nsmatch is not None: + ns, name = nsmatch.groups() + name = infosetFilter.fromXmlName(name) + prefix = constants.prefixes[ns] + attr_string = "%s %s" % (prefix, name) + else: + attr_string = infosetFilter.fromXmlName(name) + attributes.append((attr_string, value)) + + for name, value in sorted(attributes): + rv.append('|%s%s="%s"' % (' ' * (indent + 2), name, value)) + + if element.text: + rv.append("|%s\"%s\"" % (' ' * (indent + 2), element.text)) + indent += 2 + for child in element: + serializeElement(child, indent) + if hasattr(element, "tail") and element.tail: + rv.append("|%s\"%s\"" % (' ' * (indent - 2), element.tail)) + serializeElement(element, 0) + + return "\n".join(rv) + + +def tostring(element): + """Serialize an element and its child nodes to a string""" + rv = [] + + def serializeElement(element): + if not hasattr(element, "tag"): + if element.docinfo.internalDTD: + if element.docinfo.doctype: + dtd_str = element.docinfo.doctype + else: + dtd_str = "<!DOCTYPE %s>" % element.docinfo.root_name + rv.append(dtd_str) + serializeElement(element.getroot()) + + elif element.tag == comment_type: + rv.append("<!--%s-->" % (element.text,)) + + else: + # This is assumed to be an ordinary element + if not element.attrib: + rv.append("<%s>" % (element.tag,)) + else: + attr = " ".join(["%s=\"%s\"" % (name, value) + for name, value in element.attrib.items()]) + rv.append("<%s %s>" % (element.tag, attr)) + if element.text: + rv.append(element.text) + + for child in element: + serializeElement(child) + + rv.append("</%s>" % (element.tag,)) + + if hasattr(element, "tail") and element.tail: + rv.append(element.tail) + + serializeElement(element) + + return "".join(rv) + + +class TreeBuilder(base.TreeBuilder): + documentClass = Document + doctypeClass = DocumentType + elementClass = None + commentClass = None + fragmentClass = Document + implementation = etree + + def __init__(self, namespaceHTMLElements, fullTree=False): + builder = etree_builders.getETreeModule(etree, fullTree=fullTree) + infosetFilter = self.infosetFilter = _ihatexml.InfosetFilter(preventDoubleDashComments=True) + self.namespaceHTMLElements = namespaceHTMLElements + + class Attributes(dict): + def __init__(self, element, value=None): + if value is None: + value = {} + self._element = element + dict.__init__(self, value) # pylint:disable=non-parent-init-called + for key, value in self.items(): + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], infosetFilter.coerceAttribute(key[1])) + else: + name = infosetFilter.coerceAttribute(key) + self._element._element.attrib[name] = value + + def __setitem__(self, key, value): + dict.__setitem__(self, key, value) + if isinstance(key, tuple): + name = "{%s}%s" % (key[2], infosetFilter.coerceAttribute(key[1])) + else: + name = infosetFilter.coerceAttribute(key) + self._element._element.attrib[name] = value + + class Element(builder.Element): + def __init__(self, name, namespace): + name = infosetFilter.coerceElement(name) + builder.Element.__init__(self, name, namespace=namespace) + self._attributes = Attributes(self) + + def _setName(self, name): + self._name = infosetFilter.coerceElement(name) + self._element.tag = self._getETreeTag( + self._name, self._namespace) + + def _getName(self): + return infosetFilter.fromXmlName(self._name) + + name = property(_getName, _setName) + + def _getAttributes(self): + return self._attributes + + def _setAttributes(self, attributes): + self._attributes = Attributes(self, attributes) + + attributes = property(_getAttributes, _setAttributes) + + def insertText(self, data, insertBefore=None): + data = infosetFilter.coerceCharacters(data) + builder.Element.insertText(self, data, insertBefore) + + def appendChild(self, child): + builder.Element.appendChild(self, child) + + class Comment(builder.Comment): + def __init__(self, data): + data = infosetFilter.coerceComment(data) + builder.Comment.__init__(self, data) + + def _setData(self, data): + data = infosetFilter.coerceComment(data) + self._element.text = data + + def _getData(self): + return self._element.text + + data = property(_getData, _setData) + + self.elementClass = Element + self.commentClass = Comment + # self.fragmentClass = builder.DocumentFragment + base.TreeBuilder.__init__(self, namespaceHTMLElements) + + def reset(self): + base.TreeBuilder.reset(self) + self.insertComment = self.insertCommentInitial + self.initial_comments = [] + self.doctype = None + + def testSerializer(self, element): + return testSerializer(element) + + def getDocument(self): + if fullTree: + return self.document._elementTree + else: + return self.document._elementTree.getroot() + + def getFragment(self): + fragment = [] + element = self.openElements[0]._element + if element.text: + fragment.append(element.text) + fragment.extend(list(element)) + if element.tail: + fragment.append(element.tail) + return fragment + + def insertDoctype(self, token): + name = token["name"] + publicId = token["publicId"] + systemId = token["systemId"] + + if not name: + warnings.warn("lxml cannot represent empty doctype", DataLossWarning) + self.doctype = None + else: + coercedName = self.infosetFilter.coerceElement(name) + if coercedName != name: + warnings.warn("lxml cannot represent non-xml doctype", DataLossWarning) + + doctype = self.doctypeClass(coercedName, publicId, systemId) + self.doctype = doctype + + def insertCommentInitial(self, data, parent=None): + assert parent is None or parent is self.document + assert self.document._elementTree is None + self.initial_comments.append(data) + + def insertCommentMain(self, data, parent=None): + if (parent == self.document and + self.document._elementTree.getroot()[-1].tag == comment_type): + warnings.warn("lxml cannot represent adjacent comments beyond the root elements", DataLossWarning) + super(TreeBuilder, self).insertComment(data, parent) + + def insertRoot(self, token): + # Because of the way libxml2 works, it doesn't seem to be possible to + # alter information like the doctype after the tree has been parsed. + # Therefore we need to use the built-in parser to create our initial + # tree, after which we can add elements like normal + docStr = "" + if self.doctype: + assert self.doctype.name + docStr += "<!DOCTYPE %s" % self.doctype.name + if (self.doctype.publicId is not None or + self.doctype.systemId is not None): + docStr += (' PUBLIC "%s" ' % + (self.infosetFilter.coercePubid(self.doctype.publicId or ""))) + if self.doctype.systemId: + sysid = self.doctype.systemId + if sysid.find("'") >= 0 and sysid.find('"') >= 0: + warnings.warn("DOCTYPE system cannot contain single and double quotes", DataLossWarning) + sysid = sysid.replace("'", 'U00027') + if sysid.find("'") >= 0: + docStr += '"%s"' % sysid + else: + docStr += "'%s'" % sysid + else: + docStr += "''" + docStr += ">" + if self.doctype.name != token["name"]: + warnings.warn("lxml cannot represent doctype with a different name to the root element", DataLossWarning) + docStr += "<THIS_SHOULD_NEVER_APPEAR_PUBLICLY/>" + root = etree.fromstring(docStr) + + # Append the initial comments: + for comment_token in self.initial_comments: + comment = self.commentClass(comment_token["data"]) + root.addprevious(comment._element) + + # Create the root document and add the ElementTree to it + self.document = self.documentClass() + self.document._elementTree = root.getroottree() + + # Give the root element the right name + name = token["name"] + namespace = token.get("namespace", self.defaultNamespace) + if namespace is None: + etree_tag = name + else: + etree_tag = "{%s}%s" % (namespace, name) + root.tag = etree_tag + + # Add the root element to the internal child/open data structures + root_element = self.elementClass(name, namespace) + root_element._element = root + self.document._childNodes.append(root_element) + self.openElements.append(root_element) + + # Reset to the default insert comment function + self.insertComment = self.insertCommentMain diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/__init__.py new file mode 100644 index 0000000000..9bec2076f3 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/__init__.py @@ -0,0 +1,154 @@ +"""A collection of modules for iterating through different kinds of +tree, generating tokens identical to those produced by the tokenizer +module. + +To create a tree walker for a new type of tree, you need to do +implement a tree walker object (called TreeWalker by convention) that +implements a 'serialize' method taking a tree as sole argument and +returning an iterator generating tokens. +""" + +from __future__ import absolute_import, division, unicode_literals + +from .. import constants +from .._utils import default_etree + +__all__ = ["getTreeWalker", "pprint"] + +treeWalkerCache = {} + + +def getTreeWalker(treeType, implementation=None, **kwargs): + """Get a TreeWalker class for various types of tree with built-in support + + :arg str treeType: the name of the tree type required (case-insensitive). + Supported values are: + + * "dom": The xml.dom.minidom DOM implementation + * "etree": A generic walker for tree implementations exposing an + elementtree-like interface (known to work with ElementTree, + cElementTree and lxml.etree). + * "lxml": Optimized walker for lxml.etree + * "genshi": a Genshi stream + + :arg implementation: A module implementing the tree type e.g. + xml.etree.ElementTree or cElementTree (Currently applies to the "etree" + tree type only). + + :arg kwargs: keyword arguments passed to the etree walker--for other + walkers, this has no effect + + :returns: a TreeWalker class + + """ + + treeType = treeType.lower() + if treeType not in treeWalkerCache: + if treeType == "dom": + from . import dom + treeWalkerCache[treeType] = dom.TreeWalker + elif treeType == "genshi": + from . import genshi + treeWalkerCache[treeType] = genshi.TreeWalker + elif treeType == "lxml": + from . import etree_lxml + treeWalkerCache[treeType] = etree_lxml.TreeWalker + elif treeType == "etree": + from . import etree + if implementation is None: + implementation = default_etree + # XXX: NEVER cache here, caching is done in the etree submodule + return etree.getETreeModule(implementation, **kwargs).TreeWalker + return treeWalkerCache.get(treeType) + + +def concatenateCharacterTokens(tokens): + pendingCharacters = [] + for token in tokens: + type = token["type"] + if type in ("Characters", "SpaceCharacters"): + pendingCharacters.append(token["data"]) + else: + if pendingCharacters: + yield {"type": "Characters", "data": "".join(pendingCharacters)} + pendingCharacters = [] + yield token + if pendingCharacters: + yield {"type": "Characters", "data": "".join(pendingCharacters)} + + +def pprint(walker): + """Pretty printer for tree walkers + + Takes a TreeWalker instance and pretty prints the output of walking the tree. + + :arg walker: a TreeWalker instance + + """ + output = [] + indent = 0 + for token in concatenateCharacterTokens(walker): + type = token["type"] + if type in ("StartTag", "EmptyTag"): + # tag name + if token["namespace"] and token["namespace"] != constants.namespaces["html"]: + if token["namespace"] in constants.prefixes: + ns = constants.prefixes[token["namespace"]] + else: + ns = token["namespace"] + name = "%s %s" % (ns, token["name"]) + else: + name = token["name"] + output.append("%s<%s>" % (" " * indent, name)) + indent += 2 + # attributes (sorted for consistent ordering) + attrs = token["data"] + for (namespace, localname), value in sorted(attrs.items()): + if namespace: + if namespace in constants.prefixes: + ns = constants.prefixes[namespace] + else: + ns = namespace + name = "%s %s" % (ns, localname) + else: + name = localname + output.append("%s%s=\"%s\"" % (" " * indent, name, value)) + # self-closing + if type == "EmptyTag": + indent -= 2 + + elif type == "EndTag": + indent -= 2 + + elif type == "Comment": + output.append("%s<!-- %s -->" % (" " * indent, token["data"])) + + elif type == "Doctype": + if token["name"]: + if token["publicId"]: + output.append("""%s<!DOCTYPE %s "%s" "%s">""" % + (" " * indent, + token["name"], + token["publicId"], + token["systemId"] if token["systemId"] else "")) + elif token["systemId"]: + output.append("""%s<!DOCTYPE %s "" "%s">""" % + (" " * indent, + token["name"], + token["systemId"])) + else: + output.append("%s<!DOCTYPE %s>" % (" " * indent, + token["name"])) + else: + output.append("%s<!DOCTYPE >" % (" " * indent,)) + + elif type == "Characters": + output.append("%s\"%s\"" % (" " * indent, token["data"])) + + elif type == "SpaceCharacters": + assert False, "concatenateCharacterTokens should have got rid of all Space tokens" + + else: + raise ValueError("Unknown token type, %s" % type) + + return "\n".join(output) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/base.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/base.py new file mode 100644 index 0000000000..80c474c4e9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/base.py @@ -0,0 +1,252 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.dom import Node +from ..constants import namespaces, voidElements, spaceCharacters + +__all__ = ["DOCUMENT", "DOCTYPE", "TEXT", "ELEMENT", "COMMENT", "ENTITY", "UNKNOWN", + "TreeWalker", "NonRecursiveTreeWalker"] + +DOCUMENT = Node.DOCUMENT_NODE +DOCTYPE = Node.DOCUMENT_TYPE_NODE +TEXT = Node.TEXT_NODE +ELEMENT = Node.ELEMENT_NODE +COMMENT = Node.COMMENT_NODE +ENTITY = Node.ENTITY_NODE +UNKNOWN = "<#UNKNOWN#>" + +spaceCharacters = "".join(spaceCharacters) + + +class TreeWalker(object): + """Walks a tree yielding tokens + + Tokens are dicts that all have a ``type`` field specifying the type of the + token. + + """ + def __init__(self, tree): + """Creates a TreeWalker + + :arg tree: the tree to walk + + """ + self.tree = tree + + def __iter__(self): + raise NotImplementedError + + def error(self, msg): + """Generates an error token with the given message + + :arg msg: the error message + + :returns: SerializeError token + + """ + return {"type": "SerializeError", "data": msg} + + def emptyTag(self, namespace, name, attrs, hasChildren=False): + """Generates an EmptyTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :arg attrs: the attributes of the element as a dict + + :arg hasChildren: whether or not to yield a SerializationError because + this tag shouldn't have children + + :returns: EmptyTag token + + """ + yield {"type": "EmptyTag", "name": name, + "namespace": namespace, + "data": attrs} + if hasChildren: + yield self.error("Void element has children") + + def startTag(self, namespace, name, attrs): + """Generates a StartTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :arg attrs: the attributes of the element as a dict + + :returns: StartTag token + + """ + return {"type": "StartTag", + "name": name, + "namespace": namespace, + "data": attrs} + + def endTag(self, namespace, name): + """Generates an EndTag token + + :arg namespace: the namespace of the token--can be ``None`` + + :arg name: the name of the element + + :returns: EndTag token + + """ + return {"type": "EndTag", + "name": name, + "namespace": namespace} + + def text(self, data): + """Generates SpaceCharacters and Characters tokens + + Depending on what's in the data, this generates one or more + ``SpaceCharacters`` and ``Characters`` tokens. + + For example: + + >>> from html5lib.treewalkers.base import TreeWalker + >>> # Give it an empty tree just so it instantiates + >>> walker = TreeWalker([]) + >>> list(walker.text('')) + [] + >>> list(walker.text(' ')) + [{u'data': ' ', u'type': u'SpaceCharacters'}] + >>> list(walker.text(' abc ')) # doctest: +NORMALIZE_WHITESPACE + [{u'data': ' ', u'type': u'SpaceCharacters'}, + {u'data': u'abc', u'type': u'Characters'}, + {u'data': u' ', u'type': u'SpaceCharacters'}] + + :arg data: the text data + + :returns: one or more ``SpaceCharacters`` and ``Characters`` tokens + + """ + data = data + middle = data.lstrip(spaceCharacters) + left = data[:len(data) - len(middle)] + if left: + yield {"type": "SpaceCharacters", "data": left} + data = middle + middle = data.rstrip(spaceCharacters) + right = data[len(middle):] + if middle: + yield {"type": "Characters", "data": middle} + if right: + yield {"type": "SpaceCharacters", "data": right} + + def comment(self, data): + """Generates a Comment token + + :arg data: the comment + + :returns: Comment token + + """ + return {"type": "Comment", "data": data} + + def doctype(self, name, publicId=None, systemId=None): + """Generates a Doctype token + + :arg name: + + :arg publicId: + + :arg systemId: + + :returns: the Doctype token + + """ + return {"type": "Doctype", + "name": name, + "publicId": publicId, + "systemId": systemId} + + def entity(self, name): + """Generates an Entity token + + :arg name: the entity name + + :returns: an Entity token + + """ + return {"type": "Entity", "name": name} + + def unknown(self, nodeType): + """Handles unknown node types""" + return self.error("Unknown node type: " + nodeType) + + +class NonRecursiveTreeWalker(TreeWalker): + def getNodeDetails(self, node): + raise NotImplementedError + + def getFirstChild(self, node): + raise NotImplementedError + + def getNextSibling(self, node): + raise NotImplementedError + + def getParentNode(self, node): + raise NotImplementedError + + def __iter__(self): + currentNode = self.tree + while currentNode is not None: + details = self.getNodeDetails(currentNode) + type, details = details[0], details[1:] + hasChildren = False + + if type == DOCTYPE: + yield self.doctype(*details) + + elif type == TEXT: + for token in self.text(*details): + yield token + + elif type == ELEMENT: + namespace, name, attributes, hasChildren = details + if (not namespace or namespace == namespaces["html"]) and name in voidElements: + for token in self.emptyTag(namespace, name, attributes, + hasChildren): + yield token + hasChildren = False + else: + yield self.startTag(namespace, name, attributes) + + elif type == COMMENT: + yield self.comment(details[0]) + + elif type == ENTITY: + yield self.entity(details[0]) + + elif type == DOCUMENT: + hasChildren = True + + else: + yield self.unknown(details[0]) + + if hasChildren: + firstChild = self.getFirstChild(currentNode) + else: + firstChild = None + + if firstChild is not None: + currentNode = firstChild + else: + while currentNode is not None: + details = self.getNodeDetails(currentNode) + type, details = details[0], details[1:] + if type == ELEMENT: + namespace, name, attributes, hasChildren = details + if (namespace and namespace != namespaces["html"]) or name not in voidElements: + yield self.endTag(namespace, name) + if self.tree is currentNode: + currentNode = None + break + nextSibling = self.getNextSibling(currentNode) + if nextSibling is not None: + currentNode = nextSibling + break + else: + currentNode = self.getParentNode(currentNode) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/dom.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/dom.py new file mode 100644 index 0000000000..b0c89b001f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/dom.py @@ -0,0 +1,43 @@ +from __future__ import absolute_import, division, unicode_literals + +from xml.dom import Node + +from . import base + + +class TreeWalker(base.NonRecursiveTreeWalker): + def getNodeDetails(self, node): + if node.nodeType == Node.DOCUMENT_TYPE_NODE: + return base.DOCTYPE, node.name, node.publicId, node.systemId + + elif node.nodeType in (Node.TEXT_NODE, Node.CDATA_SECTION_NODE): + return base.TEXT, node.nodeValue + + elif node.nodeType == Node.ELEMENT_NODE: + attrs = {} + for attr in list(node.attributes.keys()): + attr = node.getAttributeNode(attr) + if attr.namespaceURI: + attrs[(attr.namespaceURI, attr.localName)] = attr.value + else: + attrs[(None, attr.name)] = attr.value + return (base.ELEMENT, node.namespaceURI, node.nodeName, + attrs, node.hasChildNodes()) + + elif node.nodeType == Node.COMMENT_NODE: + return base.COMMENT, node.nodeValue + + elif node.nodeType in (Node.DOCUMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE): + return (base.DOCUMENT,) + + else: + return base.UNKNOWN, node.nodeType + + def getFirstChild(self, node): + return node.firstChild + + def getNextSibling(self, node): + return node.nextSibling + + def getParentNode(self, node): + return node.parentNode diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/etree.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/etree.py new file mode 100644 index 0000000000..95fc0c1703 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/etree.py @@ -0,0 +1,130 @@ +from __future__ import absolute_import, division, unicode_literals + +from collections import OrderedDict +import re + +from pip._vendor.six import string_types + +from . import base +from .._utils import moduleFactoryFactory + +tag_regexp = re.compile("{([^}]*)}(.*)") + + +def getETreeBuilder(ElementTreeImplementation): + ElementTree = ElementTreeImplementation + ElementTreeCommentType = ElementTree.Comment("asd").tag + + class TreeWalker(base.NonRecursiveTreeWalker): # pylint:disable=unused-variable + """Given the particular ElementTree representation, this implementation, + to avoid using recursion, returns "nodes" as tuples with the following + content: + + 1. The current element + + 2. The index of the element relative to its parent + + 3. A stack of ancestor elements + + 4. A flag "text", "tail" or None to indicate if the current node is a + text node; either the text or tail of the current element (1) + """ + def getNodeDetails(self, node): + if isinstance(node, tuple): # It might be the root Element + elt, _, _, flag = node + if flag in ("text", "tail"): + return base.TEXT, getattr(elt, flag) + else: + node = elt + + if not(hasattr(node, "tag")): + node = node.getroot() + + if node.tag in ("DOCUMENT_ROOT", "DOCUMENT_FRAGMENT"): + return (base.DOCUMENT,) + + elif node.tag == "<!DOCTYPE>": + return (base.DOCTYPE, node.text, + node.get("publicId"), node.get("systemId")) + + elif node.tag == ElementTreeCommentType: + return base.COMMENT, node.text + + else: + assert isinstance(node.tag, string_types), type(node.tag) + # This is assumed to be an ordinary element + match = tag_regexp.match(node.tag) + if match: + namespace, tag = match.groups() + else: + namespace = None + tag = node.tag + attrs = OrderedDict() + for name, value in list(node.attrib.items()): + match = tag_regexp.match(name) + if match: + attrs[(match.group(1), match.group(2))] = value + else: + attrs[(None, name)] = value + return (base.ELEMENT, namespace, tag, + attrs, len(node) or node.text) + + def getFirstChild(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + element, key, parents, flag = node, None, [], None + + if flag in ("text", "tail"): + return None + else: + if element.text: + return element, key, parents, "text" + elif len(element): + parents.append(element) + return element[0], 0, parents, None + else: + return None + + def getNextSibling(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + return None + + if flag == "text": + if len(element): + parents.append(element) + return element[0], 0, parents, None + else: + return None + else: + if element.tail and flag != "tail": + return element, key, parents, "tail" + elif key < len(parents[-1]) - 1: + return parents[-1][key + 1], key + 1, parents, None + else: + return None + + def getParentNode(self, node): + if isinstance(node, tuple): + element, key, parents, flag = node + else: + return None + + if flag == "text": + if not parents: + return element + else: + return element, key, parents, None + else: + parent = parents.pop() + if not parents: + return parent + else: + assert list(parents[-1]).count(parent) == 1 + return parent, list(parents[-1]).index(parent), parents, None + + return locals() + +getETreeModule = moduleFactoryFactory(getETreeBuilder) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py new file mode 100644 index 0000000000..e81ddf33b2 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/etree_lxml.py @@ -0,0 +1,213 @@ +from __future__ import absolute_import, division, unicode_literals +from pip._vendor.six import text_type + +from lxml import etree +from ..treebuilders.etree import tag_regexp + +from . import base + +from .. import _ihatexml + + +def ensure_str(s): + if s is None: + return None + elif isinstance(s, text_type): + return s + else: + return s.decode("ascii", "strict") + + +class Root(object): + def __init__(self, et): + self.elementtree = et + self.children = [] + + try: + if et.docinfo.internalDTD: + self.children.append(Doctype(self, + ensure_str(et.docinfo.root_name), + ensure_str(et.docinfo.public_id), + ensure_str(et.docinfo.system_url))) + except AttributeError: + pass + + try: + node = et.getroot() + except AttributeError: + node = et + + while node.getprevious() is not None: + node = node.getprevious() + while node is not None: + self.children.append(node) + node = node.getnext() + + self.text = None + self.tail = None + + def __getitem__(self, key): + return self.children[key] + + def getnext(self): + return None + + def __len__(self): + return 1 + + +class Doctype(object): + def __init__(self, root_node, name, public_id, system_id): + self.root_node = root_node + self.name = name + self.public_id = public_id + self.system_id = system_id + + self.text = None + self.tail = None + + def getnext(self): + return self.root_node.children[1] + + +class FragmentRoot(Root): + def __init__(self, children): + self.children = [FragmentWrapper(self, child) for child in children] + self.text = self.tail = None + + def getnext(self): + return None + + +class FragmentWrapper(object): + def __init__(self, fragment_root, obj): + self.root_node = fragment_root + self.obj = obj + if hasattr(self.obj, 'text'): + self.text = ensure_str(self.obj.text) + else: + self.text = None + if hasattr(self.obj, 'tail'): + self.tail = ensure_str(self.obj.tail) + else: + self.tail = None + + def __getattr__(self, name): + return getattr(self.obj, name) + + def getnext(self): + siblings = self.root_node.children + idx = siblings.index(self) + if idx < len(siblings) - 1: + return siblings[idx + 1] + else: + return None + + def __getitem__(self, key): + return self.obj[key] + + def __bool__(self): + return bool(self.obj) + + def getparent(self): + return None + + def __str__(self): + return str(self.obj) + + def __unicode__(self): + return str(self.obj) + + def __len__(self): + return len(self.obj) + + +class TreeWalker(base.NonRecursiveTreeWalker): + def __init__(self, tree): + # pylint:disable=redefined-variable-type + if isinstance(tree, list): + self.fragmentChildren = set(tree) + tree = FragmentRoot(tree) + else: + self.fragmentChildren = set() + tree = Root(tree) + base.NonRecursiveTreeWalker.__init__(self, tree) + self.filter = _ihatexml.InfosetFilter() + + def getNodeDetails(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + return base.TEXT, ensure_str(getattr(node, key)) + + elif isinstance(node, Root): + return (base.DOCUMENT,) + + elif isinstance(node, Doctype): + return base.DOCTYPE, node.name, node.public_id, node.system_id + + elif isinstance(node, FragmentWrapper) and not hasattr(node, "tag"): + return base.TEXT, ensure_str(node.obj) + + elif node.tag == etree.Comment: + return base.COMMENT, ensure_str(node.text) + + elif node.tag == etree.Entity: + return base.ENTITY, ensure_str(node.text)[1:-1] # strip &; + + else: + # This is assumed to be an ordinary element + match = tag_regexp.match(ensure_str(node.tag)) + if match: + namespace, tag = match.groups() + else: + namespace = None + tag = ensure_str(node.tag) + attrs = {} + for name, value in list(node.attrib.items()): + name = ensure_str(name) + value = ensure_str(value) + match = tag_regexp.match(name) + if match: + attrs[(match.group(1), match.group(2))] = value + else: + attrs[(None, name)] = value + return (base.ELEMENT, namespace, self.filter.fromXmlName(tag), + attrs, len(node) > 0 or node.text) + + def getFirstChild(self, node): + assert not isinstance(node, tuple), "Text nodes have no children" + + assert len(node) or node.text, "Node has no children" + if node.text: + return (node, "text") + else: + return node[0] + + def getNextSibling(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + if key == "text": + # XXX: we cannot use a "bool(node) and node[0] or None" construct here + # because node[0] might evaluate to False if it has no child element + if len(node): + return node[0] + else: + return None + else: # tail + return node.getnext() + + return (node, "tail") if node.tail else node.getnext() + + def getParentNode(self, node): + if isinstance(node, tuple): # Text node + node, key = node + assert key in ("text", "tail"), "Text nodes are text or tail, found %s" % key + if key == "text": + return node + # else: fallback to "normal" processing + elif node in self.fragmentChildren: + return None + + return node.getparent() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/genshi.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/genshi.py new file mode 100644 index 0000000000..7483be27d4 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/html5lib/treewalkers/genshi.py @@ -0,0 +1,69 @@ +from __future__ import absolute_import, division, unicode_literals + +from genshi.core import QName +from genshi.core import START, END, XML_NAMESPACE, DOCTYPE, TEXT +from genshi.core import START_NS, END_NS, START_CDATA, END_CDATA, PI, COMMENT + +from . import base + +from ..constants import voidElements, namespaces + + +class TreeWalker(base.TreeWalker): + def __iter__(self): + # Buffer the events so we can pass in the following one + previous = None + for event in self.tree: + if previous is not None: + for token in self.tokens(previous, event): + yield token + previous = event + + # Don't forget the final event! + if previous is not None: + for token in self.tokens(previous, None): + yield token + + def tokens(self, event, next): + kind, data, _ = event + if kind == START: + tag, attribs = data + name = tag.localname + namespace = tag.namespace + converted_attribs = {} + for k, v in attribs: + if isinstance(k, QName): + converted_attribs[(k.namespace, k.localname)] = v + else: + converted_attribs[(None, k)] = v + + if namespace == namespaces["html"] and name in voidElements: + for token in self.emptyTag(namespace, name, converted_attribs, + not next or next[0] != END or + next[1] != tag): + yield token + else: + yield self.startTag(namespace, name, converted_attribs) + + elif kind == END: + name = data.localname + namespace = data.namespace + if namespace != namespaces["html"] or name not in voidElements: + yield self.endTag(namespace, name) + + elif kind == COMMENT: + yield self.comment(data) + + elif kind == TEXT: + for token in self.text(data): + yield token + + elif kind == DOCTYPE: + yield self.doctype(*data) + + elif kind in (XML_NAMESPACE, DOCTYPE, START_NS, END_NS, + START_CDATA, END_CDATA, PI): + pass + + else: + yield self.unknown(kind) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/__init__.py new file mode 100644 index 0000000000..847bf93547 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/__init__.py @@ -0,0 +1,2 @@ +from .package_data import __version__ +from .core import * diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/codec.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/codec.py new file mode 100644 index 0000000000..98c65ead14 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/codec.py @@ -0,0 +1,118 @@ +from .core import encode, decode, alabel, ulabel, IDNAError +import codecs +import re + +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +class Codec(codecs.Codec): + + def encode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return "", 0 + + return encode(data), len(data) + + def decode(self, data, errors='strict'): + + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return u"", 0 + + return decode(data), len(data) + +class IncrementalEncoder(codecs.BufferedIncrementalEncoder): + def _buffer_encode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return ("", 0) + + labels = _unicode_dots_re.split(data) + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = '.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = '.' + + result = [] + size = 0 + for label in labels: + result.append(alabel(label)) + if size: + size += 1 + size += len(label) + + # Join with U+002E + result = ".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + +class IncrementalDecoder(codecs.BufferedIncrementalDecoder): + def _buffer_decode(self, data, errors, final): + if errors != 'strict': + raise IDNAError("Unsupported error handling \"{0}\"".format(errors)) + + if not data: + return (u"", 0) + + # IDNA allows decoding to operate on Unicode strings, too. + if isinstance(data, unicode): + labels = _unicode_dots_re.split(data) + else: + # Must be ASCII string + data = str(data) + unicode(data, "ascii") + labels = data.split(".") + + trailing_dot = u'' + if labels: + if not labels[-1]: + trailing_dot = u'.' + del labels[-1] + elif not final: + # Keep potentially unfinished label until the next call + del labels[-1] + if labels: + trailing_dot = u'.' + + result = [] + size = 0 + for label in labels: + result.append(ulabel(label)) + if size: + size += 1 + size += len(label) + + result = u".".join(result) + trailing_dot + size += len(trailing_dot) + return (result, size) + + +class StreamWriter(Codec, codecs.StreamWriter): + pass + +class StreamReader(Codec, codecs.StreamReader): + pass + +def getregentry(): + return codecs.CodecInfo( + name='idna', + encode=Codec().encode, + decode=Codec().decode, + incrementalencoder=IncrementalEncoder, + incrementaldecoder=IncrementalDecoder, + streamwriter=StreamWriter, + streamreader=StreamReader, + ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/compat.py new file mode 100644 index 0000000000..4d47f336db --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/compat.py @@ -0,0 +1,12 @@ +from .core import * +from .codec import * + +def ToASCII(label): + return encode(label) + +def ToUnicode(label): + return decode(label) + +def nameprep(s): + raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol") + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/core.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/core.py new file mode 100644 index 0000000000..104624ad2d --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/core.py @@ -0,0 +1,396 @@ +from . import idnadata +import bisect +import unicodedata +import re +import sys +from .intranges import intranges_contain + +_virama_combining_class = 9 +_alabel_prefix = b'xn--' +_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]') + +if sys.version_info[0] == 3: + unicode = str + unichr = chr + +class IDNAError(UnicodeError): + """ Base exception for all IDNA-encoding related problems """ + pass + + +class IDNABidiError(IDNAError): + """ Exception when bidirectional requirements are not satisfied """ + pass + + +class InvalidCodepoint(IDNAError): + """ Exception when a disallowed or unallocated codepoint is used """ + pass + + +class InvalidCodepointContext(IDNAError): + """ Exception when the codepoint is not valid in the context it is used """ + pass + + +def _combining_class(cp): + v = unicodedata.combining(unichr(cp)) + if v == 0: + if not unicodedata.name(unichr(cp)): + raise ValueError("Unknown character in unicodedata") + return v + +def _is_script(cp, script): + return intranges_contain(ord(cp), idnadata.scripts[script]) + +def _punycode(s): + return s.encode('punycode') + +def _unot(s): + return 'U+{0:04X}'.format(s) + + +def valid_label_length(label): + + if len(label) > 63: + return False + return True + + +def valid_string_length(label, trailing_dot): + + if len(label) > (254 if trailing_dot else 253): + return False + return True + + +def check_bidi(label, check_ltr=False): + + # Bidi rules should only be applied if string contains RTL characters + bidi_label = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + if direction == '': + # String likely comes from a newer version of Unicode + raise IDNABidiError('Unknown directionality in label {0} at position {1}'.format(repr(label), idx)) + if direction in ['R', 'AL', 'AN']: + bidi_label = True + if not bidi_label and not check_ltr: + return True + + # Bidi rule 1 + direction = unicodedata.bidirectional(label[0]) + if direction in ['R', 'AL']: + rtl = True + elif direction == 'L': + rtl = False + else: + raise IDNABidiError('First codepoint in label {0} must be directionality L, R or AL'.format(repr(label))) + + valid_ending = False + number_type = False + for (idx, cp) in enumerate(label, 1): + direction = unicodedata.bidirectional(cp) + + if rtl: + # Bidi rule 2 + if not direction in ['R', 'AL', 'AN', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a right-to-left label'.format(idx)) + # Bidi rule 3 + if direction in ['R', 'AL', 'EN', 'AN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + # Bidi rule 4 + if direction in ['AN', 'EN']: + if not number_type: + number_type = direction + else: + if number_type != direction: + raise IDNABidiError('Can not mix numeral types in a right-to-left label') + else: + # Bidi rule 5 + if not direction in ['L', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']: + raise IDNABidiError('Invalid direction for codepoint at position {0} in a left-to-right label'.format(idx)) + # Bidi rule 6 + if direction in ['L', 'EN']: + valid_ending = True + elif direction != 'NSM': + valid_ending = False + + if not valid_ending: + raise IDNABidiError('Label ends with illegal codepoint directionality') + + return True + + +def check_initial_combiner(label): + + if unicodedata.category(label[0])[0] == 'M': + raise IDNAError('Label begins with an illegal combining character') + return True + + +def check_hyphen_ok(label): + + if label[2:4] == '--': + raise IDNAError('Label has disallowed hyphens in 3rd and 4th position') + if label[0] == '-' or label[-1] == '-': + raise IDNAError('Label must not start or end with a hyphen') + return True + + +def check_nfc(label): + + if unicodedata.normalize('NFC', label) != label: + raise IDNAError('Label must be in Normalization Form C') + + +def valid_contextj(label, pos): + + cp_value = ord(label[pos]) + + if cp_value == 0x200c: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + + ok = False + for i in range(pos-1, -1, -1): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('L'), ord('D')]: + ok = True + break + + if not ok: + return False + + ok = False + for i in range(pos+1, len(label)): + joining_type = idnadata.joining_types.get(ord(label[i])) + if joining_type == ord('T'): + continue + if joining_type in [ord('R'), ord('D')]: + ok = True + break + return ok + + if cp_value == 0x200d: + + if pos > 0: + if _combining_class(ord(label[pos - 1])) == _virama_combining_class: + return True + return False + + else: + + return False + + +def valid_contexto(label, pos, exception=False): + + cp_value = ord(label[pos]) + + if cp_value == 0x00b7: + if 0 < pos < len(label)-1: + if ord(label[pos - 1]) == 0x006c and ord(label[pos + 1]) == 0x006c: + return True + return False + + elif cp_value == 0x0375: + if pos < len(label)-1 and len(label) > 1: + return _is_script(label[pos + 1], 'Greek') + return False + + elif cp_value == 0x05f3 or cp_value == 0x05f4: + if pos > 0: + return _is_script(label[pos - 1], 'Hebrew') + return False + + elif cp_value == 0x30fb: + for cp in label: + if cp == u'\u30fb': + continue + if _is_script(cp, 'Hiragana') or _is_script(cp, 'Katakana') or _is_script(cp, 'Han'): + return True + return False + + elif 0x660 <= cp_value <= 0x669: + for cp in label: + if 0x6f0 <= ord(cp) <= 0x06f9: + return False + return True + + elif 0x6f0 <= cp_value <= 0x6f9: + for cp in label: + if 0x660 <= ord(cp) <= 0x0669: + return False + return True + + +def check_label(label): + + if isinstance(label, (bytes, bytearray)): + label = label.decode('utf-8') + if len(label) == 0: + raise IDNAError('Empty Label') + + check_nfc(label) + check_hyphen_ok(label) + check_initial_combiner(label) + + for (pos, cp) in enumerate(label): + cp_value = ord(cp) + if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']): + continue + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']): + try: + if not valid_contextj(label, pos): + raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + except ValueError: + raise IDNAError('Unknown codepoint adjacent to joiner {0} at position {1} in {2}'.format( + _unot(cp_value), pos+1, repr(label))) + elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']): + if not valid_contexto(label, pos): + raise InvalidCodepointContext('Codepoint {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label))) + else: + raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label))) + + check_bidi(label) + + +def alabel(label): + + try: + label = label.encode('ascii') + ulabel(label) + if not valid_label_length(label): + raise IDNAError('Label too long') + return label + except UnicodeEncodeError: + pass + + if not label: + raise IDNAError('No Input') + + label = unicode(label) + check_label(label) + label = _punycode(label) + label = _alabel_prefix + label + + if not valid_label_length(label): + raise IDNAError('Label too long') + + return label + + +def ulabel(label): + + if not isinstance(label, (bytes, bytearray)): + try: + label = label.encode('ascii') + except UnicodeEncodeError: + check_label(label) + return label + + label = label.lower() + if label.startswith(_alabel_prefix): + label = label[len(_alabel_prefix):] + else: + check_label(label) + return label.decode('ascii') + + label = label.decode('punycode') + check_label(label) + return label + + +def uts46_remap(domain, std3_rules=True, transitional=False): + """Re-map the characters in the string according to UTS46 processing.""" + from .uts46data import uts46data + output = u"" + try: + for pos, char in enumerate(domain): + code_point = ord(char) + uts46row = uts46data[code_point if code_point < 256 else + bisect.bisect_left(uts46data, (code_point, "Z")) - 1] + status = uts46row[1] + replacement = uts46row[2] if len(uts46row) == 3 else None + if (status == "V" or + (status == "D" and not transitional) or + (status == "3" and not std3_rules and replacement is None)): + output += char + elif replacement is not None and (status == "M" or + (status == "3" and not std3_rules) or + (status == "D" and transitional)): + output += replacement + elif status != "I": + raise IndexError() + return unicodedata.normalize("NFC", output) + except IndexError: + raise InvalidCodepoint( + "Codepoint {0} not allowed at position {1} in {2}".format( + _unot(code_point), pos + 1, repr(domain))) + + +def encode(s, strict=False, uts46=False, std3_rules=False, transitional=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, transitional) + trailing_dot = False + result = [] + if strict: + labels = s.split('.') + else: + labels = _unicode_dots_re.split(s) + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if labels[-1] == '': + del labels[-1] + trailing_dot = True + for label in labels: + s = alabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(b'') + s = b'.'.join(result) + if not valid_string_length(s, trailing_dot): + raise IDNAError('Domain too long') + return s + + +def decode(s, strict=False, uts46=False, std3_rules=False): + + if isinstance(s, (bytes, bytearray)): + s = s.decode("ascii") + if uts46: + s = uts46_remap(s, std3_rules, False) + trailing_dot = False + result = [] + if not strict: + labels = _unicode_dots_re.split(s) + else: + labels = s.split(u'.') + if not labels or labels == ['']: + raise IDNAError('Empty domain') + if not labels[-1]: + del labels[-1] + trailing_dot = True + for label in labels: + s = ulabel(label) + if s: + result.append(s) + else: + raise IDNAError('Empty label') + if trailing_dot: + result.append(u'') + return u'.'.join(result) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/idnadata.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/idnadata.py new file mode 100644 index 0000000000..a80c959d2a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/idnadata.py @@ -0,0 +1,1979 @@ +# This file is automatically generated by tools/idna-data + +__version__ = "11.0.0" +scripts = { + 'Greek': ( + 0x37000000374, + 0x37500000378, + 0x37a0000037e, + 0x37f00000380, + 0x38400000385, + 0x38600000387, + 0x3880000038b, + 0x38c0000038d, + 0x38e000003a2, + 0x3a3000003e2, + 0x3f000000400, + 0x1d2600001d2b, + 0x1d5d00001d62, + 0x1d6600001d6b, + 0x1dbf00001dc0, + 0x1f0000001f16, + 0x1f1800001f1e, + 0x1f2000001f46, + 0x1f4800001f4e, + 0x1f5000001f58, + 0x1f5900001f5a, + 0x1f5b00001f5c, + 0x1f5d00001f5e, + 0x1f5f00001f7e, + 0x1f8000001fb5, + 0x1fb600001fc5, + 0x1fc600001fd4, + 0x1fd600001fdc, + 0x1fdd00001ff0, + 0x1ff200001ff5, + 0x1ff600001fff, + 0x212600002127, + 0xab650000ab66, + 0x101400001018f, + 0x101a0000101a1, + 0x1d2000001d246, + ), + 'Han': ( + 0x2e8000002e9a, + 0x2e9b00002ef4, + 0x2f0000002fd6, + 0x300500003006, + 0x300700003008, + 0x30210000302a, + 0x30380000303c, + 0x340000004db6, + 0x4e0000009ff0, + 0xf9000000fa6e, + 0xfa700000fada, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + 0x2f8000002fa1e, + ), + 'Hebrew': ( + 0x591000005c8, + 0x5d0000005eb, + 0x5ef000005f5, + 0xfb1d0000fb37, + 0xfb380000fb3d, + 0xfb3e0000fb3f, + 0xfb400000fb42, + 0xfb430000fb45, + 0xfb460000fb50, + ), + 'Hiragana': ( + 0x304100003097, + 0x309d000030a0, + 0x1b0010001b11f, + 0x1f2000001f201, + ), + 'Katakana': ( + 0x30a1000030fb, + 0x30fd00003100, + 0x31f000003200, + 0x32d0000032ff, + 0x330000003358, + 0xff660000ff70, + 0xff710000ff9e, + 0x1b0000001b001, + ), +} +joining_types = { + 0x600: 85, + 0x601: 85, + 0x602: 85, + 0x603: 85, + 0x604: 85, + 0x605: 85, + 0x608: 85, + 0x60b: 85, + 0x620: 68, + 0x621: 85, + 0x622: 82, + 0x623: 82, + 0x624: 82, + 0x625: 82, + 0x626: 68, + 0x627: 82, + 0x628: 68, + 0x629: 82, + 0x62a: 68, + 0x62b: 68, + 0x62c: 68, + 0x62d: 68, + 0x62e: 68, + 0x62f: 82, + 0x630: 82, + 0x631: 82, + 0x632: 82, + 0x633: 68, + 0x634: 68, + 0x635: 68, + 0x636: 68, + 0x637: 68, + 0x638: 68, + 0x639: 68, + 0x63a: 68, + 0x63b: 68, + 0x63c: 68, + 0x63d: 68, + 0x63e: 68, + 0x63f: 68, + 0x640: 67, + 0x641: 68, + 0x642: 68, + 0x643: 68, + 0x644: 68, + 0x645: 68, + 0x646: 68, + 0x647: 68, + 0x648: 82, + 0x649: 68, + 0x64a: 68, + 0x66e: 68, + 0x66f: 68, + 0x671: 82, + 0x672: 82, + 0x673: 82, + 0x674: 85, + 0x675: 82, + 0x676: 82, + 0x677: 82, + 0x678: 68, + 0x679: 68, + 0x67a: 68, + 0x67b: 68, + 0x67c: 68, + 0x67d: 68, + 0x67e: 68, + 0x67f: 68, + 0x680: 68, + 0x681: 68, + 0x682: 68, + 0x683: 68, + 0x684: 68, + 0x685: 68, + 0x686: 68, + 0x687: 68, + 0x688: 82, + 0x689: 82, + 0x68a: 82, + 0x68b: 82, + 0x68c: 82, + 0x68d: 82, + 0x68e: 82, + 0x68f: 82, + 0x690: 82, + 0x691: 82, + 0x692: 82, + 0x693: 82, + 0x694: 82, + 0x695: 82, + 0x696: 82, + 0x697: 82, + 0x698: 82, + 0x699: 82, + 0x69a: 68, + 0x69b: 68, + 0x69c: 68, + 0x69d: 68, + 0x69e: 68, + 0x69f: 68, + 0x6a0: 68, + 0x6a1: 68, + 0x6a2: 68, + 0x6a3: 68, + 0x6a4: 68, + 0x6a5: 68, + 0x6a6: 68, + 0x6a7: 68, + 0x6a8: 68, + 0x6a9: 68, + 0x6aa: 68, + 0x6ab: 68, + 0x6ac: 68, + 0x6ad: 68, + 0x6ae: 68, + 0x6af: 68, + 0x6b0: 68, + 0x6b1: 68, + 0x6b2: 68, + 0x6b3: 68, + 0x6b4: 68, + 0x6b5: 68, + 0x6b6: 68, + 0x6b7: 68, + 0x6b8: 68, + 0x6b9: 68, + 0x6ba: 68, + 0x6bb: 68, + 0x6bc: 68, + 0x6bd: 68, + 0x6be: 68, + 0x6bf: 68, + 0x6c0: 82, + 0x6c1: 68, + 0x6c2: 68, + 0x6c3: 82, + 0x6c4: 82, + 0x6c5: 82, + 0x6c6: 82, + 0x6c7: 82, + 0x6c8: 82, + 0x6c9: 82, + 0x6ca: 82, + 0x6cb: 82, + 0x6cc: 68, + 0x6cd: 82, + 0x6ce: 68, + 0x6cf: 82, + 0x6d0: 68, + 0x6d1: 68, + 0x6d2: 82, + 0x6d3: 82, + 0x6d5: 82, + 0x6dd: 85, + 0x6ee: 82, + 0x6ef: 82, + 0x6fa: 68, + 0x6fb: 68, + 0x6fc: 68, + 0x6ff: 68, + 0x70f: 84, + 0x710: 82, + 0x712: 68, + 0x713: 68, + 0x714: 68, + 0x715: 82, + 0x716: 82, + 0x717: 82, + 0x718: 82, + 0x719: 82, + 0x71a: 68, + 0x71b: 68, + 0x71c: 68, + 0x71d: 68, + 0x71e: 82, + 0x71f: 68, + 0x720: 68, + 0x721: 68, + 0x722: 68, + 0x723: 68, + 0x724: 68, + 0x725: 68, + 0x726: 68, + 0x727: 68, + 0x728: 82, + 0x729: 68, + 0x72a: 82, + 0x72b: 68, + 0x72c: 82, + 0x72d: 68, + 0x72e: 68, + 0x72f: 82, + 0x74d: 82, + 0x74e: 68, + 0x74f: 68, + 0x750: 68, + 0x751: 68, + 0x752: 68, + 0x753: 68, + 0x754: 68, + 0x755: 68, + 0x756: 68, + 0x757: 68, + 0x758: 68, + 0x759: 82, + 0x75a: 82, + 0x75b: 82, + 0x75c: 68, + 0x75d: 68, + 0x75e: 68, + 0x75f: 68, + 0x760: 68, + 0x761: 68, + 0x762: 68, + 0x763: 68, + 0x764: 68, + 0x765: 68, + 0x766: 68, + 0x767: 68, + 0x768: 68, + 0x769: 68, + 0x76a: 68, + 0x76b: 82, + 0x76c: 82, + 0x76d: 68, + 0x76e: 68, + 0x76f: 68, + 0x770: 68, + 0x771: 82, + 0x772: 68, + 0x773: 82, + 0x774: 82, + 0x775: 68, + 0x776: 68, + 0x777: 68, + 0x778: 82, + 0x779: 82, + 0x77a: 68, + 0x77b: 68, + 0x77c: 68, + 0x77d: 68, + 0x77e: 68, + 0x77f: 68, + 0x7ca: 68, + 0x7cb: 68, + 0x7cc: 68, + 0x7cd: 68, + 0x7ce: 68, + 0x7cf: 68, + 0x7d0: 68, + 0x7d1: 68, + 0x7d2: 68, + 0x7d3: 68, + 0x7d4: 68, + 0x7d5: 68, + 0x7d6: 68, + 0x7d7: 68, + 0x7d8: 68, + 0x7d9: 68, + 0x7da: 68, + 0x7db: 68, + 0x7dc: 68, + 0x7dd: 68, + 0x7de: 68, + 0x7df: 68, + 0x7e0: 68, + 0x7e1: 68, + 0x7e2: 68, + 0x7e3: 68, + 0x7e4: 68, + 0x7e5: 68, + 0x7e6: 68, + 0x7e7: 68, + 0x7e8: 68, + 0x7e9: 68, + 0x7ea: 68, + 0x7fa: 67, + 0x840: 82, + 0x841: 68, + 0x842: 68, + 0x843: 68, + 0x844: 68, + 0x845: 68, + 0x846: 82, + 0x847: 82, + 0x848: 68, + 0x849: 82, + 0x84a: 68, + 0x84b: 68, + 0x84c: 68, + 0x84d: 68, + 0x84e: 68, + 0x84f: 68, + 0x850: 68, + 0x851: 68, + 0x852: 68, + 0x853: 68, + 0x854: 82, + 0x855: 68, + 0x856: 85, + 0x857: 85, + 0x858: 85, + 0x860: 68, + 0x861: 85, + 0x862: 68, + 0x863: 68, + 0x864: 68, + 0x865: 68, + 0x866: 85, + 0x867: 82, + 0x868: 68, + 0x869: 82, + 0x86a: 82, + 0x8a0: 68, + 0x8a1: 68, + 0x8a2: 68, + 0x8a3: 68, + 0x8a4: 68, + 0x8a5: 68, + 0x8a6: 68, + 0x8a7: 68, + 0x8a8: 68, + 0x8a9: 68, + 0x8aa: 82, + 0x8ab: 82, + 0x8ac: 82, + 0x8ad: 85, + 0x8ae: 82, + 0x8af: 68, + 0x8b0: 68, + 0x8b1: 82, + 0x8b2: 82, + 0x8b3: 68, + 0x8b4: 68, + 0x8b6: 68, + 0x8b7: 68, + 0x8b8: 68, + 0x8b9: 82, + 0x8ba: 68, + 0x8bb: 68, + 0x8bc: 68, + 0x8bd: 68, + 0x8e2: 85, + 0x1806: 85, + 0x1807: 68, + 0x180a: 67, + 0x180e: 85, + 0x1820: 68, + 0x1821: 68, + 0x1822: 68, + 0x1823: 68, + 0x1824: 68, + 0x1825: 68, + 0x1826: 68, + 0x1827: 68, + 0x1828: 68, + 0x1829: 68, + 0x182a: 68, + 0x182b: 68, + 0x182c: 68, + 0x182d: 68, + 0x182e: 68, + 0x182f: 68, + 0x1830: 68, + 0x1831: 68, + 0x1832: 68, + 0x1833: 68, + 0x1834: 68, + 0x1835: 68, + 0x1836: 68, + 0x1837: 68, + 0x1838: 68, + 0x1839: 68, + 0x183a: 68, + 0x183b: 68, + 0x183c: 68, + 0x183d: 68, + 0x183e: 68, + 0x183f: 68, + 0x1840: 68, + 0x1841: 68, + 0x1842: 68, + 0x1843: 68, + 0x1844: 68, + 0x1845: 68, + 0x1846: 68, + 0x1847: 68, + 0x1848: 68, + 0x1849: 68, + 0x184a: 68, + 0x184b: 68, + 0x184c: 68, + 0x184d: 68, + 0x184e: 68, + 0x184f: 68, + 0x1850: 68, + 0x1851: 68, + 0x1852: 68, + 0x1853: 68, + 0x1854: 68, + 0x1855: 68, + 0x1856: 68, + 0x1857: 68, + 0x1858: 68, + 0x1859: 68, + 0x185a: 68, + 0x185b: 68, + 0x185c: 68, + 0x185d: 68, + 0x185e: 68, + 0x185f: 68, + 0x1860: 68, + 0x1861: 68, + 0x1862: 68, + 0x1863: 68, + 0x1864: 68, + 0x1865: 68, + 0x1866: 68, + 0x1867: 68, + 0x1868: 68, + 0x1869: 68, + 0x186a: 68, + 0x186b: 68, + 0x186c: 68, + 0x186d: 68, + 0x186e: 68, + 0x186f: 68, + 0x1870: 68, + 0x1871: 68, + 0x1872: 68, + 0x1873: 68, + 0x1874: 68, + 0x1875: 68, + 0x1876: 68, + 0x1877: 68, + 0x1878: 68, + 0x1880: 85, + 0x1881: 85, + 0x1882: 85, + 0x1883: 85, + 0x1884: 85, + 0x1885: 84, + 0x1886: 84, + 0x1887: 68, + 0x1888: 68, + 0x1889: 68, + 0x188a: 68, + 0x188b: 68, + 0x188c: 68, + 0x188d: 68, + 0x188e: 68, + 0x188f: 68, + 0x1890: 68, + 0x1891: 68, + 0x1892: 68, + 0x1893: 68, + 0x1894: 68, + 0x1895: 68, + 0x1896: 68, + 0x1897: 68, + 0x1898: 68, + 0x1899: 68, + 0x189a: 68, + 0x189b: 68, + 0x189c: 68, + 0x189d: 68, + 0x189e: 68, + 0x189f: 68, + 0x18a0: 68, + 0x18a1: 68, + 0x18a2: 68, + 0x18a3: 68, + 0x18a4: 68, + 0x18a5: 68, + 0x18a6: 68, + 0x18a7: 68, + 0x18a8: 68, + 0x18aa: 68, + 0x200c: 85, + 0x200d: 67, + 0x202f: 85, + 0x2066: 85, + 0x2067: 85, + 0x2068: 85, + 0x2069: 85, + 0xa840: 68, + 0xa841: 68, + 0xa842: 68, + 0xa843: 68, + 0xa844: 68, + 0xa845: 68, + 0xa846: 68, + 0xa847: 68, + 0xa848: 68, + 0xa849: 68, + 0xa84a: 68, + 0xa84b: 68, + 0xa84c: 68, + 0xa84d: 68, + 0xa84e: 68, + 0xa84f: 68, + 0xa850: 68, + 0xa851: 68, + 0xa852: 68, + 0xa853: 68, + 0xa854: 68, + 0xa855: 68, + 0xa856: 68, + 0xa857: 68, + 0xa858: 68, + 0xa859: 68, + 0xa85a: 68, + 0xa85b: 68, + 0xa85c: 68, + 0xa85d: 68, + 0xa85e: 68, + 0xa85f: 68, + 0xa860: 68, + 0xa861: 68, + 0xa862: 68, + 0xa863: 68, + 0xa864: 68, + 0xa865: 68, + 0xa866: 68, + 0xa867: 68, + 0xa868: 68, + 0xa869: 68, + 0xa86a: 68, + 0xa86b: 68, + 0xa86c: 68, + 0xa86d: 68, + 0xa86e: 68, + 0xa86f: 68, + 0xa870: 68, + 0xa871: 68, + 0xa872: 76, + 0xa873: 85, + 0x10ac0: 68, + 0x10ac1: 68, + 0x10ac2: 68, + 0x10ac3: 68, + 0x10ac4: 68, + 0x10ac5: 82, + 0x10ac6: 85, + 0x10ac7: 82, + 0x10ac8: 85, + 0x10ac9: 82, + 0x10aca: 82, + 0x10acb: 85, + 0x10acc: 85, + 0x10acd: 76, + 0x10ace: 82, + 0x10acf: 82, + 0x10ad0: 82, + 0x10ad1: 82, + 0x10ad2: 82, + 0x10ad3: 68, + 0x10ad4: 68, + 0x10ad5: 68, + 0x10ad6: 68, + 0x10ad7: 76, + 0x10ad8: 68, + 0x10ad9: 68, + 0x10ada: 68, + 0x10adb: 68, + 0x10adc: 68, + 0x10add: 82, + 0x10ade: 68, + 0x10adf: 68, + 0x10ae0: 68, + 0x10ae1: 82, + 0x10ae2: 85, + 0x10ae3: 85, + 0x10ae4: 82, + 0x10aeb: 68, + 0x10aec: 68, + 0x10aed: 68, + 0x10aee: 68, + 0x10aef: 82, + 0x10b80: 68, + 0x10b81: 82, + 0x10b82: 68, + 0x10b83: 82, + 0x10b84: 82, + 0x10b85: 82, + 0x10b86: 68, + 0x10b87: 68, + 0x10b88: 68, + 0x10b89: 82, + 0x10b8a: 68, + 0x10b8b: 68, + 0x10b8c: 82, + 0x10b8d: 68, + 0x10b8e: 82, + 0x10b8f: 82, + 0x10b90: 68, + 0x10b91: 82, + 0x10ba9: 82, + 0x10baa: 82, + 0x10bab: 82, + 0x10bac: 82, + 0x10bad: 68, + 0x10bae: 68, + 0x10baf: 85, + 0x10d00: 76, + 0x10d01: 68, + 0x10d02: 68, + 0x10d03: 68, + 0x10d04: 68, + 0x10d05: 68, + 0x10d06: 68, + 0x10d07: 68, + 0x10d08: 68, + 0x10d09: 68, + 0x10d0a: 68, + 0x10d0b: 68, + 0x10d0c: 68, + 0x10d0d: 68, + 0x10d0e: 68, + 0x10d0f: 68, + 0x10d10: 68, + 0x10d11: 68, + 0x10d12: 68, + 0x10d13: 68, + 0x10d14: 68, + 0x10d15: 68, + 0x10d16: 68, + 0x10d17: 68, + 0x10d18: 68, + 0x10d19: 68, + 0x10d1a: 68, + 0x10d1b: 68, + 0x10d1c: 68, + 0x10d1d: 68, + 0x10d1e: 68, + 0x10d1f: 68, + 0x10d20: 68, + 0x10d21: 68, + 0x10d22: 82, + 0x10d23: 68, + 0x10f30: 68, + 0x10f31: 68, + 0x10f32: 68, + 0x10f33: 82, + 0x10f34: 68, + 0x10f35: 68, + 0x10f36: 68, + 0x10f37: 68, + 0x10f38: 68, + 0x10f39: 68, + 0x10f3a: 68, + 0x10f3b: 68, + 0x10f3c: 68, + 0x10f3d: 68, + 0x10f3e: 68, + 0x10f3f: 68, + 0x10f40: 68, + 0x10f41: 68, + 0x10f42: 68, + 0x10f43: 68, + 0x10f44: 68, + 0x10f45: 85, + 0x10f51: 68, + 0x10f52: 68, + 0x10f53: 68, + 0x10f54: 82, + 0x110bd: 85, + 0x110cd: 85, + 0x1e900: 68, + 0x1e901: 68, + 0x1e902: 68, + 0x1e903: 68, + 0x1e904: 68, + 0x1e905: 68, + 0x1e906: 68, + 0x1e907: 68, + 0x1e908: 68, + 0x1e909: 68, + 0x1e90a: 68, + 0x1e90b: 68, + 0x1e90c: 68, + 0x1e90d: 68, + 0x1e90e: 68, + 0x1e90f: 68, + 0x1e910: 68, + 0x1e911: 68, + 0x1e912: 68, + 0x1e913: 68, + 0x1e914: 68, + 0x1e915: 68, + 0x1e916: 68, + 0x1e917: 68, + 0x1e918: 68, + 0x1e919: 68, + 0x1e91a: 68, + 0x1e91b: 68, + 0x1e91c: 68, + 0x1e91d: 68, + 0x1e91e: 68, + 0x1e91f: 68, + 0x1e920: 68, + 0x1e921: 68, + 0x1e922: 68, + 0x1e923: 68, + 0x1e924: 68, + 0x1e925: 68, + 0x1e926: 68, + 0x1e927: 68, + 0x1e928: 68, + 0x1e929: 68, + 0x1e92a: 68, + 0x1e92b: 68, + 0x1e92c: 68, + 0x1e92d: 68, + 0x1e92e: 68, + 0x1e92f: 68, + 0x1e930: 68, + 0x1e931: 68, + 0x1e932: 68, + 0x1e933: 68, + 0x1e934: 68, + 0x1e935: 68, + 0x1e936: 68, + 0x1e937: 68, + 0x1e938: 68, + 0x1e939: 68, + 0x1e93a: 68, + 0x1e93b: 68, + 0x1e93c: 68, + 0x1e93d: 68, + 0x1e93e: 68, + 0x1e93f: 68, + 0x1e940: 68, + 0x1e941: 68, + 0x1e942: 68, + 0x1e943: 68, +} +codepoint_classes = { + 'PVALID': ( + 0x2d0000002e, + 0x300000003a, + 0x610000007b, + 0xdf000000f7, + 0xf800000100, + 0x10100000102, + 0x10300000104, + 0x10500000106, + 0x10700000108, + 0x1090000010a, + 0x10b0000010c, + 0x10d0000010e, + 0x10f00000110, + 0x11100000112, + 0x11300000114, + 0x11500000116, + 0x11700000118, + 0x1190000011a, + 0x11b0000011c, + 0x11d0000011e, + 0x11f00000120, + 0x12100000122, + 0x12300000124, + 0x12500000126, + 0x12700000128, + 0x1290000012a, + 0x12b0000012c, + 0x12d0000012e, + 0x12f00000130, + 0x13100000132, + 0x13500000136, + 0x13700000139, + 0x13a0000013b, + 0x13c0000013d, + 0x13e0000013f, + 0x14200000143, + 0x14400000145, + 0x14600000147, + 0x14800000149, + 0x14b0000014c, + 0x14d0000014e, + 0x14f00000150, + 0x15100000152, + 0x15300000154, + 0x15500000156, + 0x15700000158, + 0x1590000015a, + 0x15b0000015c, + 0x15d0000015e, + 0x15f00000160, + 0x16100000162, + 0x16300000164, + 0x16500000166, + 0x16700000168, + 0x1690000016a, + 0x16b0000016c, + 0x16d0000016e, + 0x16f00000170, + 0x17100000172, + 0x17300000174, + 0x17500000176, + 0x17700000178, + 0x17a0000017b, + 0x17c0000017d, + 0x17e0000017f, + 0x18000000181, + 0x18300000184, + 0x18500000186, + 0x18800000189, + 0x18c0000018e, + 0x19200000193, + 0x19500000196, + 0x1990000019c, + 0x19e0000019f, + 0x1a1000001a2, + 0x1a3000001a4, + 0x1a5000001a6, + 0x1a8000001a9, + 0x1aa000001ac, + 0x1ad000001ae, + 0x1b0000001b1, + 0x1b4000001b5, + 0x1b6000001b7, + 0x1b9000001bc, + 0x1bd000001c4, + 0x1ce000001cf, + 0x1d0000001d1, + 0x1d2000001d3, + 0x1d4000001d5, + 0x1d6000001d7, + 0x1d8000001d9, + 0x1da000001db, + 0x1dc000001de, + 0x1df000001e0, + 0x1e1000001e2, + 0x1e3000001e4, + 0x1e5000001e6, + 0x1e7000001e8, + 0x1e9000001ea, + 0x1eb000001ec, + 0x1ed000001ee, + 0x1ef000001f1, + 0x1f5000001f6, + 0x1f9000001fa, + 0x1fb000001fc, + 0x1fd000001fe, + 0x1ff00000200, + 0x20100000202, + 0x20300000204, + 0x20500000206, + 0x20700000208, + 0x2090000020a, + 0x20b0000020c, + 0x20d0000020e, + 0x20f00000210, + 0x21100000212, + 0x21300000214, + 0x21500000216, + 0x21700000218, + 0x2190000021a, + 0x21b0000021c, + 0x21d0000021e, + 0x21f00000220, + 0x22100000222, + 0x22300000224, + 0x22500000226, + 0x22700000228, + 0x2290000022a, + 0x22b0000022c, + 0x22d0000022e, + 0x22f00000230, + 0x23100000232, + 0x2330000023a, + 0x23c0000023d, + 0x23f00000241, + 0x24200000243, + 0x24700000248, + 0x2490000024a, + 0x24b0000024c, + 0x24d0000024e, + 0x24f000002b0, + 0x2b9000002c2, + 0x2c6000002d2, + 0x2ec000002ed, + 0x2ee000002ef, + 0x30000000340, + 0x34200000343, + 0x3460000034f, + 0x35000000370, + 0x37100000372, + 0x37300000374, + 0x37700000378, + 0x37b0000037e, + 0x39000000391, + 0x3ac000003cf, + 0x3d7000003d8, + 0x3d9000003da, + 0x3db000003dc, + 0x3dd000003de, + 0x3df000003e0, + 0x3e1000003e2, + 0x3e3000003e4, + 0x3e5000003e6, + 0x3e7000003e8, + 0x3e9000003ea, + 0x3eb000003ec, + 0x3ed000003ee, + 0x3ef000003f0, + 0x3f3000003f4, + 0x3f8000003f9, + 0x3fb000003fd, + 0x43000000460, + 0x46100000462, + 0x46300000464, + 0x46500000466, + 0x46700000468, + 0x4690000046a, + 0x46b0000046c, + 0x46d0000046e, + 0x46f00000470, + 0x47100000472, + 0x47300000474, + 0x47500000476, + 0x47700000478, + 0x4790000047a, + 0x47b0000047c, + 0x47d0000047e, + 0x47f00000480, + 0x48100000482, + 0x48300000488, + 0x48b0000048c, + 0x48d0000048e, + 0x48f00000490, + 0x49100000492, + 0x49300000494, + 0x49500000496, + 0x49700000498, + 0x4990000049a, + 0x49b0000049c, + 0x49d0000049e, + 0x49f000004a0, + 0x4a1000004a2, + 0x4a3000004a4, + 0x4a5000004a6, + 0x4a7000004a8, + 0x4a9000004aa, + 0x4ab000004ac, + 0x4ad000004ae, + 0x4af000004b0, + 0x4b1000004b2, + 0x4b3000004b4, + 0x4b5000004b6, + 0x4b7000004b8, + 0x4b9000004ba, + 0x4bb000004bc, + 0x4bd000004be, + 0x4bf000004c0, + 0x4c2000004c3, + 0x4c4000004c5, + 0x4c6000004c7, + 0x4c8000004c9, + 0x4ca000004cb, + 0x4cc000004cd, + 0x4ce000004d0, + 0x4d1000004d2, + 0x4d3000004d4, + 0x4d5000004d6, + 0x4d7000004d8, + 0x4d9000004da, + 0x4db000004dc, + 0x4dd000004de, + 0x4df000004e0, + 0x4e1000004e2, + 0x4e3000004e4, + 0x4e5000004e6, + 0x4e7000004e8, + 0x4e9000004ea, + 0x4eb000004ec, + 0x4ed000004ee, + 0x4ef000004f0, + 0x4f1000004f2, + 0x4f3000004f4, + 0x4f5000004f6, + 0x4f7000004f8, + 0x4f9000004fa, + 0x4fb000004fc, + 0x4fd000004fe, + 0x4ff00000500, + 0x50100000502, + 0x50300000504, + 0x50500000506, + 0x50700000508, + 0x5090000050a, + 0x50b0000050c, + 0x50d0000050e, + 0x50f00000510, + 0x51100000512, + 0x51300000514, + 0x51500000516, + 0x51700000518, + 0x5190000051a, + 0x51b0000051c, + 0x51d0000051e, + 0x51f00000520, + 0x52100000522, + 0x52300000524, + 0x52500000526, + 0x52700000528, + 0x5290000052a, + 0x52b0000052c, + 0x52d0000052e, + 0x52f00000530, + 0x5590000055a, + 0x56000000587, + 0x58800000589, + 0x591000005be, + 0x5bf000005c0, + 0x5c1000005c3, + 0x5c4000005c6, + 0x5c7000005c8, + 0x5d0000005eb, + 0x5ef000005f3, + 0x6100000061b, + 0x62000000640, + 0x64100000660, + 0x66e00000675, + 0x679000006d4, + 0x6d5000006dd, + 0x6df000006e9, + 0x6ea000006f0, + 0x6fa00000700, + 0x7100000074b, + 0x74d000007b2, + 0x7c0000007f6, + 0x7fd000007fe, + 0x8000000082e, + 0x8400000085c, + 0x8600000086b, + 0x8a0000008b5, + 0x8b6000008be, + 0x8d3000008e2, + 0x8e300000958, + 0x96000000964, + 0x96600000970, + 0x97100000984, + 0x9850000098d, + 0x98f00000991, + 0x993000009a9, + 0x9aa000009b1, + 0x9b2000009b3, + 0x9b6000009ba, + 0x9bc000009c5, + 0x9c7000009c9, + 0x9cb000009cf, + 0x9d7000009d8, + 0x9e0000009e4, + 0x9e6000009f2, + 0x9fc000009fd, + 0x9fe000009ff, + 0xa0100000a04, + 0xa0500000a0b, + 0xa0f00000a11, + 0xa1300000a29, + 0xa2a00000a31, + 0xa3200000a33, + 0xa3500000a36, + 0xa3800000a3a, + 0xa3c00000a3d, + 0xa3e00000a43, + 0xa4700000a49, + 0xa4b00000a4e, + 0xa5100000a52, + 0xa5c00000a5d, + 0xa6600000a76, + 0xa8100000a84, + 0xa8500000a8e, + 0xa8f00000a92, + 0xa9300000aa9, + 0xaaa00000ab1, + 0xab200000ab4, + 0xab500000aba, + 0xabc00000ac6, + 0xac700000aca, + 0xacb00000ace, + 0xad000000ad1, + 0xae000000ae4, + 0xae600000af0, + 0xaf900000b00, + 0xb0100000b04, + 0xb0500000b0d, + 0xb0f00000b11, + 0xb1300000b29, + 0xb2a00000b31, + 0xb3200000b34, + 0xb3500000b3a, + 0xb3c00000b45, + 0xb4700000b49, + 0xb4b00000b4e, + 0xb5600000b58, + 0xb5f00000b64, + 0xb6600000b70, + 0xb7100000b72, + 0xb8200000b84, + 0xb8500000b8b, + 0xb8e00000b91, + 0xb9200000b96, + 0xb9900000b9b, + 0xb9c00000b9d, + 0xb9e00000ba0, + 0xba300000ba5, + 0xba800000bab, + 0xbae00000bba, + 0xbbe00000bc3, + 0xbc600000bc9, + 0xbca00000bce, + 0xbd000000bd1, + 0xbd700000bd8, + 0xbe600000bf0, + 0xc0000000c0d, + 0xc0e00000c11, + 0xc1200000c29, + 0xc2a00000c3a, + 0xc3d00000c45, + 0xc4600000c49, + 0xc4a00000c4e, + 0xc5500000c57, + 0xc5800000c5b, + 0xc6000000c64, + 0xc6600000c70, + 0xc8000000c84, + 0xc8500000c8d, + 0xc8e00000c91, + 0xc9200000ca9, + 0xcaa00000cb4, + 0xcb500000cba, + 0xcbc00000cc5, + 0xcc600000cc9, + 0xcca00000cce, + 0xcd500000cd7, + 0xcde00000cdf, + 0xce000000ce4, + 0xce600000cf0, + 0xcf100000cf3, + 0xd0000000d04, + 0xd0500000d0d, + 0xd0e00000d11, + 0xd1200000d45, + 0xd4600000d49, + 0xd4a00000d4f, + 0xd5400000d58, + 0xd5f00000d64, + 0xd6600000d70, + 0xd7a00000d80, + 0xd8200000d84, + 0xd8500000d97, + 0xd9a00000db2, + 0xdb300000dbc, + 0xdbd00000dbe, + 0xdc000000dc7, + 0xdca00000dcb, + 0xdcf00000dd5, + 0xdd600000dd7, + 0xdd800000de0, + 0xde600000df0, + 0xdf200000df4, + 0xe0100000e33, + 0xe3400000e3b, + 0xe4000000e4f, + 0xe5000000e5a, + 0xe8100000e83, + 0xe8400000e85, + 0xe8700000e89, + 0xe8a00000e8b, + 0xe8d00000e8e, + 0xe9400000e98, + 0xe9900000ea0, + 0xea100000ea4, + 0xea500000ea6, + 0xea700000ea8, + 0xeaa00000eac, + 0xead00000eb3, + 0xeb400000eba, + 0xebb00000ebe, + 0xec000000ec5, + 0xec600000ec7, + 0xec800000ece, + 0xed000000eda, + 0xede00000ee0, + 0xf0000000f01, + 0xf0b00000f0c, + 0xf1800000f1a, + 0xf2000000f2a, + 0xf3500000f36, + 0xf3700000f38, + 0xf3900000f3a, + 0xf3e00000f43, + 0xf4400000f48, + 0xf4900000f4d, + 0xf4e00000f52, + 0xf5300000f57, + 0xf5800000f5c, + 0xf5d00000f69, + 0xf6a00000f6d, + 0xf7100000f73, + 0xf7400000f75, + 0xf7a00000f81, + 0xf8200000f85, + 0xf8600000f93, + 0xf9400000f98, + 0xf9900000f9d, + 0xf9e00000fa2, + 0xfa300000fa7, + 0xfa800000fac, + 0xfad00000fb9, + 0xfba00000fbd, + 0xfc600000fc7, + 0x10000000104a, + 0x10500000109e, + 0x10d0000010fb, + 0x10fd00001100, + 0x120000001249, + 0x124a0000124e, + 0x125000001257, + 0x125800001259, + 0x125a0000125e, + 0x126000001289, + 0x128a0000128e, + 0x1290000012b1, + 0x12b2000012b6, + 0x12b8000012bf, + 0x12c0000012c1, + 0x12c2000012c6, + 0x12c8000012d7, + 0x12d800001311, + 0x131200001316, + 0x13180000135b, + 0x135d00001360, + 0x138000001390, + 0x13a0000013f6, + 0x14010000166d, + 0x166f00001680, + 0x16810000169b, + 0x16a0000016eb, + 0x16f1000016f9, + 0x17000000170d, + 0x170e00001715, + 0x172000001735, + 0x174000001754, + 0x17600000176d, + 0x176e00001771, + 0x177200001774, + 0x1780000017b4, + 0x17b6000017d4, + 0x17d7000017d8, + 0x17dc000017de, + 0x17e0000017ea, + 0x18100000181a, + 0x182000001879, + 0x1880000018ab, + 0x18b0000018f6, + 0x19000000191f, + 0x19200000192c, + 0x19300000193c, + 0x19460000196e, + 0x197000001975, + 0x1980000019ac, + 0x19b0000019ca, + 0x19d0000019da, + 0x1a0000001a1c, + 0x1a2000001a5f, + 0x1a6000001a7d, + 0x1a7f00001a8a, + 0x1a9000001a9a, + 0x1aa700001aa8, + 0x1ab000001abe, + 0x1b0000001b4c, + 0x1b5000001b5a, + 0x1b6b00001b74, + 0x1b8000001bf4, + 0x1c0000001c38, + 0x1c4000001c4a, + 0x1c4d00001c7e, + 0x1cd000001cd3, + 0x1cd400001cfa, + 0x1d0000001d2c, + 0x1d2f00001d30, + 0x1d3b00001d3c, + 0x1d4e00001d4f, + 0x1d6b00001d78, + 0x1d7900001d9b, + 0x1dc000001dfa, + 0x1dfb00001e00, + 0x1e0100001e02, + 0x1e0300001e04, + 0x1e0500001e06, + 0x1e0700001e08, + 0x1e0900001e0a, + 0x1e0b00001e0c, + 0x1e0d00001e0e, + 0x1e0f00001e10, + 0x1e1100001e12, + 0x1e1300001e14, + 0x1e1500001e16, + 0x1e1700001e18, + 0x1e1900001e1a, + 0x1e1b00001e1c, + 0x1e1d00001e1e, + 0x1e1f00001e20, + 0x1e2100001e22, + 0x1e2300001e24, + 0x1e2500001e26, + 0x1e2700001e28, + 0x1e2900001e2a, + 0x1e2b00001e2c, + 0x1e2d00001e2e, + 0x1e2f00001e30, + 0x1e3100001e32, + 0x1e3300001e34, + 0x1e3500001e36, + 0x1e3700001e38, + 0x1e3900001e3a, + 0x1e3b00001e3c, + 0x1e3d00001e3e, + 0x1e3f00001e40, + 0x1e4100001e42, + 0x1e4300001e44, + 0x1e4500001e46, + 0x1e4700001e48, + 0x1e4900001e4a, + 0x1e4b00001e4c, + 0x1e4d00001e4e, + 0x1e4f00001e50, + 0x1e5100001e52, + 0x1e5300001e54, + 0x1e5500001e56, + 0x1e5700001e58, + 0x1e5900001e5a, + 0x1e5b00001e5c, + 0x1e5d00001e5e, + 0x1e5f00001e60, + 0x1e6100001e62, + 0x1e6300001e64, + 0x1e6500001e66, + 0x1e6700001e68, + 0x1e6900001e6a, + 0x1e6b00001e6c, + 0x1e6d00001e6e, + 0x1e6f00001e70, + 0x1e7100001e72, + 0x1e7300001e74, + 0x1e7500001e76, + 0x1e7700001e78, + 0x1e7900001e7a, + 0x1e7b00001e7c, + 0x1e7d00001e7e, + 0x1e7f00001e80, + 0x1e8100001e82, + 0x1e8300001e84, + 0x1e8500001e86, + 0x1e8700001e88, + 0x1e8900001e8a, + 0x1e8b00001e8c, + 0x1e8d00001e8e, + 0x1e8f00001e90, + 0x1e9100001e92, + 0x1e9300001e94, + 0x1e9500001e9a, + 0x1e9c00001e9e, + 0x1e9f00001ea0, + 0x1ea100001ea2, + 0x1ea300001ea4, + 0x1ea500001ea6, + 0x1ea700001ea8, + 0x1ea900001eaa, + 0x1eab00001eac, + 0x1ead00001eae, + 0x1eaf00001eb0, + 0x1eb100001eb2, + 0x1eb300001eb4, + 0x1eb500001eb6, + 0x1eb700001eb8, + 0x1eb900001eba, + 0x1ebb00001ebc, + 0x1ebd00001ebe, + 0x1ebf00001ec0, + 0x1ec100001ec2, + 0x1ec300001ec4, + 0x1ec500001ec6, + 0x1ec700001ec8, + 0x1ec900001eca, + 0x1ecb00001ecc, + 0x1ecd00001ece, + 0x1ecf00001ed0, + 0x1ed100001ed2, + 0x1ed300001ed4, + 0x1ed500001ed6, + 0x1ed700001ed8, + 0x1ed900001eda, + 0x1edb00001edc, + 0x1edd00001ede, + 0x1edf00001ee0, + 0x1ee100001ee2, + 0x1ee300001ee4, + 0x1ee500001ee6, + 0x1ee700001ee8, + 0x1ee900001eea, + 0x1eeb00001eec, + 0x1eed00001eee, + 0x1eef00001ef0, + 0x1ef100001ef2, + 0x1ef300001ef4, + 0x1ef500001ef6, + 0x1ef700001ef8, + 0x1ef900001efa, + 0x1efb00001efc, + 0x1efd00001efe, + 0x1eff00001f08, + 0x1f1000001f16, + 0x1f2000001f28, + 0x1f3000001f38, + 0x1f4000001f46, + 0x1f5000001f58, + 0x1f6000001f68, + 0x1f7000001f71, + 0x1f7200001f73, + 0x1f7400001f75, + 0x1f7600001f77, + 0x1f7800001f79, + 0x1f7a00001f7b, + 0x1f7c00001f7d, + 0x1fb000001fb2, + 0x1fb600001fb7, + 0x1fc600001fc7, + 0x1fd000001fd3, + 0x1fd600001fd8, + 0x1fe000001fe3, + 0x1fe400001fe8, + 0x1ff600001ff7, + 0x214e0000214f, + 0x218400002185, + 0x2c3000002c5f, + 0x2c6100002c62, + 0x2c6500002c67, + 0x2c6800002c69, + 0x2c6a00002c6b, + 0x2c6c00002c6d, + 0x2c7100002c72, + 0x2c7300002c75, + 0x2c7600002c7c, + 0x2c8100002c82, + 0x2c8300002c84, + 0x2c8500002c86, + 0x2c8700002c88, + 0x2c8900002c8a, + 0x2c8b00002c8c, + 0x2c8d00002c8e, + 0x2c8f00002c90, + 0x2c9100002c92, + 0x2c9300002c94, + 0x2c9500002c96, + 0x2c9700002c98, + 0x2c9900002c9a, + 0x2c9b00002c9c, + 0x2c9d00002c9e, + 0x2c9f00002ca0, + 0x2ca100002ca2, + 0x2ca300002ca4, + 0x2ca500002ca6, + 0x2ca700002ca8, + 0x2ca900002caa, + 0x2cab00002cac, + 0x2cad00002cae, + 0x2caf00002cb0, + 0x2cb100002cb2, + 0x2cb300002cb4, + 0x2cb500002cb6, + 0x2cb700002cb8, + 0x2cb900002cba, + 0x2cbb00002cbc, + 0x2cbd00002cbe, + 0x2cbf00002cc0, + 0x2cc100002cc2, + 0x2cc300002cc4, + 0x2cc500002cc6, + 0x2cc700002cc8, + 0x2cc900002cca, + 0x2ccb00002ccc, + 0x2ccd00002cce, + 0x2ccf00002cd0, + 0x2cd100002cd2, + 0x2cd300002cd4, + 0x2cd500002cd6, + 0x2cd700002cd8, + 0x2cd900002cda, + 0x2cdb00002cdc, + 0x2cdd00002cde, + 0x2cdf00002ce0, + 0x2ce100002ce2, + 0x2ce300002ce5, + 0x2cec00002ced, + 0x2cee00002cf2, + 0x2cf300002cf4, + 0x2d0000002d26, + 0x2d2700002d28, + 0x2d2d00002d2e, + 0x2d3000002d68, + 0x2d7f00002d97, + 0x2da000002da7, + 0x2da800002daf, + 0x2db000002db7, + 0x2db800002dbf, + 0x2dc000002dc7, + 0x2dc800002dcf, + 0x2dd000002dd7, + 0x2dd800002ddf, + 0x2de000002e00, + 0x2e2f00002e30, + 0x300500003008, + 0x302a0000302e, + 0x303c0000303d, + 0x304100003097, + 0x30990000309b, + 0x309d0000309f, + 0x30a1000030fb, + 0x30fc000030ff, + 0x310500003130, + 0x31a0000031bb, + 0x31f000003200, + 0x340000004db6, + 0x4e0000009ff0, + 0xa0000000a48d, + 0xa4d00000a4fe, + 0xa5000000a60d, + 0xa6100000a62c, + 0xa6410000a642, + 0xa6430000a644, + 0xa6450000a646, + 0xa6470000a648, + 0xa6490000a64a, + 0xa64b0000a64c, + 0xa64d0000a64e, + 0xa64f0000a650, + 0xa6510000a652, + 0xa6530000a654, + 0xa6550000a656, + 0xa6570000a658, + 0xa6590000a65a, + 0xa65b0000a65c, + 0xa65d0000a65e, + 0xa65f0000a660, + 0xa6610000a662, + 0xa6630000a664, + 0xa6650000a666, + 0xa6670000a668, + 0xa6690000a66a, + 0xa66b0000a66c, + 0xa66d0000a670, + 0xa6740000a67e, + 0xa67f0000a680, + 0xa6810000a682, + 0xa6830000a684, + 0xa6850000a686, + 0xa6870000a688, + 0xa6890000a68a, + 0xa68b0000a68c, + 0xa68d0000a68e, + 0xa68f0000a690, + 0xa6910000a692, + 0xa6930000a694, + 0xa6950000a696, + 0xa6970000a698, + 0xa6990000a69a, + 0xa69b0000a69c, + 0xa69e0000a6e6, + 0xa6f00000a6f2, + 0xa7170000a720, + 0xa7230000a724, + 0xa7250000a726, + 0xa7270000a728, + 0xa7290000a72a, + 0xa72b0000a72c, + 0xa72d0000a72e, + 0xa72f0000a732, + 0xa7330000a734, + 0xa7350000a736, + 0xa7370000a738, + 0xa7390000a73a, + 0xa73b0000a73c, + 0xa73d0000a73e, + 0xa73f0000a740, + 0xa7410000a742, + 0xa7430000a744, + 0xa7450000a746, + 0xa7470000a748, + 0xa7490000a74a, + 0xa74b0000a74c, + 0xa74d0000a74e, + 0xa74f0000a750, + 0xa7510000a752, + 0xa7530000a754, + 0xa7550000a756, + 0xa7570000a758, + 0xa7590000a75a, + 0xa75b0000a75c, + 0xa75d0000a75e, + 0xa75f0000a760, + 0xa7610000a762, + 0xa7630000a764, + 0xa7650000a766, + 0xa7670000a768, + 0xa7690000a76a, + 0xa76b0000a76c, + 0xa76d0000a76e, + 0xa76f0000a770, + 0xa7710000a779, + 0xa77a0000a77b, + 0xa77c0000a77d, + 0xa77f0000a780, + 0xa7810000a782, + 0xa7830000a784, + 0xa7850000a786, + 0xa7870000a789, + 0xa78c0000a78d, + 0xa78e0000a790, + 0xa7910000a792, + 0xa7930000a796, + 0xa7970000a798, + 0xa7990000a79a, + 0xa79b0000a79c, + 0xa79d0000a79e, + 0xa79f0000a7a0, + 0xa7a10000a7a2, + 0xa7a30000a7a4, + 0xa7a50000a7a6, + 0xa7a70000a7a8, + 0xa7a90000a7aa, + 0xa7af0000a7b0, + 0xa7b50000a7b6, + 0xa7b70000a7b8, + 0xa7b90000a7ba, + 0xa7f70000a7f8, + 0xa7fa0000a828, + 0xa8400000a874, + 0xa8800000a8c6, + 0xa8d00000a8da, + 0xa8e00000a8f8, + 0xa8fb0000a8fc, + 0xa8fd0000a92e, + 0xa9300000a954, + 0xa9800000a9c1, + 0xa9cf0000a9da, + 0xa9e00000a9ff, + 0xaa000000aa37, + 0xaa400000aa4e, + 0xaa500000aa5a, + 0xaa600000aa77, + 0xaa7a0000aac3, + 0xaadb0000aade, + 0xaae00000aaf0, + 0xaaf20000aaf7, + 0xab010000ab07, + 0xab090000ab0f, + 0xab110000ab17, + 0xab200000ab27, + 0xab280000ab2f, + 0xab300000ab5b, + 0xab600000ab66, + 0xabc00000abeb, + 0xabec0000abee, + 0xabf00000abfa, + 0xac000000d7a4, + 0xfa0e0000fa10, + 0xfa110000fa12, + 0xfa130000fa15, + 0xfa1f0000fa20, + 0xfa210000fa22, + 0xfa230000fa25, + 0xfa270000fa2a, + 0xfb1e0000fb1f, + 0xfe200000fe30, + 0xfe730000fe74, + 0x100000001000c, + 0x1000d00010027, + 0x100280001003b, + 0x1003c0001003e, + 0x1003f0001004e, + 0x100500001005e, + 0x10080000100fb, + 0x101fd000101fe, + 0x102800001029d, + 0x102a0000102d1, + 0x102e0000102e1, + 0x1030000010320, + 0x1032d00010341, + 0x103420001034a, + 0x103500001037b, + 0x103800001039e, + 0x103a0000103c4, + 0x103c8000103d0, + 0x104280001049e, + 0x104a0000104aa, + 0x104d8000104fc, + 0x1050000010528, + 0x1053000010564, + 0x1060000010737, + 0x1074000010756, + 0x1076000010768, + 0x1080000010806, + 0x1080800010809, + 0x1080a00010836, + 0x1083700010839, + 0x1083c0001083d, + 0x1083f00010856, + 0x1086000010877, + 0x108800001089f, + 0x108e0000108f3, + 0x108f4000108f6, + 0x1090000010916, + 0x109200001093a, + 0x10980000109b8, + 0x109be000109c0, + 0x10a0000010a04, + 0x10a0500010a07, + 0x10a0c00010a14, + 0x10a1500010a18, + 0x10a1900010a36, + 0x10a3800010a3b, + 0x10a3f00010a40, + 0x10a6000010a7d, + 0x10a8000010a9d, + 0x10ac000010ac8, + 0x10ac900010ae7, + 0x10b0000010b36, + 0x10b4000010b56, + 0x10b6000010b73, + 0x10b8000010b92, + 0x10c0000010c49, + 0x10cc000010cf3, + 0x10d0000010d28, + 0x10d3000010d3a, + 0x10f0000010f1d, + 0x10f2700010f28, + 0x10f3000010f51, + 0x1100000011047, + 0x1106600011070, + 0x1107f000110bb, + 0x110d0000110e9, + 0x110f0000110fa, + 0x1110000011135, + 0x1113600011140, + 0x1114400011147, + 0x1115000011174, + 0x1117600011177, + 0x11180000111c5, + 0x111c9000111cd, + 0x111d0000111db, + 0x111dc000111dd, + 0x1120000011212, + 0x1121300011238, + 0x1123e0001123f, + 0x1128000011287, + 0x1128800011289, + 0x1128a0001128e, + 0x1128f0001129e, + 0x1129f000112a9, + 0x112b0000112eb, + 0x112f0000112fa, + 0x1130000011304, + 0x113050001130d, + 0x1130f00011311, + 0x1131300011329, + 0x1132a00011331, + 0x1133200011334, + 0x113350001133a, + 0x1133b00011345, + 0x1134700011349, + 0x1134b0001134e, + 0x1135000011351, + 0x1135700011358, + 0x1135d00011364, + 0x113660001136d, + 0x1137000011375, + 0x114000001144b, + 0x114500001145a, + 0x1145e0001145f, + 0x11480000114c6, + 0x114c7000114c8, + 0x114d0000114da, + 0x11580000115b6, + 0x115b8000115c1, + 0x115d8000115de, + 0x1160000011641, + 0x1164400011645, + 0x116500001165a, + 0x11680000116b8, + 0x116c0000116ca, + 0x117000001171b, + 0x1171d0001172c, + 0x117300001173a, + 0x118000001183b, + 0x118c0000118ea, + 0x118ff00011900, + 0x11a0000011a3f, + 0x11a4700011a48, + 0x11a5000011a84, + 0x11a8600011a9a, + 0x11a9d00011a9e, + 0x11ac000011af9, + 0x11c0000011c09, + 0x11c0a00011c37, + 0x11c3800011c41, + 0x11c5000011c5a, + 0x11c7200011c90, + 0x11c9200011ca8, + 0x11ca900011cb7, + 0x11d0000011d07, + 0x11d0800011d0a, + 0x11d0b00011d37, + 0x11d3a00011d3b, + 0x11d3c00011d3e, + 0x11d3f00011d48, + 0x11d5000011d5a, + 0x11d6000011d66, + 0x11d6700011d69, + 0x11d6a00011d8f, + 0x11d9000011d92, + 0x11d9300011d99, + 0x11da000011daa, + 0x11ee000011ef7, + 0x120000001239a, + 0x1248000012544, + 0x130000001342f, + 0x1440000014647, + 0x1680000016a39, + 0x16a4000016a5f, + 0x16a6000016a6a, + 0x16ad000016aee, + 0x16af000016af5, + 0x16b0000016b37, + 0x16b4000016b44, + 0x16b5000016b5a, + 0x16b6300016b78, + 0x16b7d00016b90, + 0x16e6000016e80, + 0x16f0000016f45, + 0x16f5000016f7f, + 0x16f8f00016fa0, + 0x16fe000016fe2, + 0x17000000187f2, + 0x1880000018af3, + 0x1b0000001b11f, + 0x1b1700001b2fc, + 0x1bc000001bc6b, + 0x1bc700001bc7d, + 0x1bc800001bc89, + 0x1bc900001bc9a, + 0x1bc9d0001bc9f, + 0x1da000001da37, + 0x1da3b0001da6d, + 0x1da750001da76, + 0x1da840001da85, + 0x1da9b0001daa0, + 0x1daa10001dab0, + 0x1e0000001e007, + 0x1e0080001e019, + 0x1e01b0001e022, + 0x1e0230001e025, + 0x1e0260001e02b, + 0x1e8000001e8c5, + 0x1e8d00001e8d7, + 0x1e9220001e94b, + 0x1e9500001e95a, + 0x200000002a6d7, + 0x2a7000002b735, + 0x2b7400002b81e, + 0x2b8200002cea2, + 0x2ceb00002ebe1, + ), + 'CONTEXTJ': ( + 0x200c0000200e, + ), + 'CONTEXTO': ( + 0xb7000000b8, + 0x37500000376, + 0x5f3000005f5, + 0x6600000066a, + 0x6f0000006fa, + 0x30fb000030fc, + ), +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/intranges.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/intranges.py new file mode 100644 index 0000000000..fa8a735662 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/intranges.py @@ -0,0 +1,53 @@ +""" +Given a list of integers, made up of (hopefully) a small number of long runs +of consecutive integers, compute a representation of the form +((start1, end1), (start2, end2) ...). Then answer the question "was x present +in the original list?" in time O(log(# runs)). +""" + +import bisect + +def intranges_from_list(list_): + """Represent a list of integers as a sequence of ranges: + ((start_0, end_0), (start_1, end_1), ...), such that the original + integers are exactly those x such that start_i <= x < end_i for some i. + + Ranges are encoded as single integers (start << 32 | end), not as tuples. + """ + + sorted_list = sorted(list_) + ranges = [] + last_write = -1 + for i in range(len(sorted_list)): + if i+1 < len(sorted_list): + if sorted_list[i] == sorted_list[i+1]-1: + continue + current_range = sorted_list[last_write+1:i+1] + ranges.append(_encode_range(current_range[0], current_range[-1] + 1)) + last_write = i + + return tuple(ranges) + +def _encode_range(start, end): + return (start << 32) | end + +def _decode_range(r): + return (r >> 32), (r & ((1 << 32) - 1)) + + +def intranges_contain(int_, ranges): + """Determine if `int_` falls into one of the ranges in `ranges`.""" + tuple_ = _encode_range(int_, 0) + pos = bisect.bisect_left(ranges, tuple_) + # we could be immediately ahead of a tuple (start, end) + # with start < int_ <= end + if pos > 0: + left, right = _decode_range(ranges[pos-1]) + if left <= int_ < right: + return True + # or we could be immediately behind a tuple (int_, end) + if pos < len(ranges): + left, _ = _decode_range(ranges[pos]) + if left == int_: + return True + return False diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/package_data.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/package_data.py new file mode 100644 index 0000000000..257e898939 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/package_data.py @@ -0,0 +1,2 @@ +__version__ = '2.8' + diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/uts46data.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/uts46data.py new file mode 100644 index 0000000000..a68ed4c0ec --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/idna/uts46data.py @@ -0,0 +1,8205 @@ +# This file is automatically generated by tools/idna-data +# vim: set fileencoding=utf-8 : + +"""IDNA Mapping Table from UTS46.""" + + +__version__ = "11.0.0" +def _seg_0(): + return [ + (0x0, '3'), + (0x1, '3'), + (0x2, '3'), + (0x3, '3'), + (0x4, '3'), + (0x5, '3'), + (0x6, '3'), + (0x7, '3'), + (0x8, '3'), + (0x9, '3'), + (0xA, '3'), + (0xB, '3'), + (0xC, '3'), + (0xD, '3'), + (0xE, '3'), + (0xF, '3'), + (0x10, '3'), + (0x11, '3'), + (0x12, '3'), + (0x13, '3'), + (0x14, '3'), + (0x15, '3'), + (0x16, '3'), + (0x17, '3'), + (0x18, '3'), + (0x19, '3'), + (0x1A, '3'), + (0x1B, '3'), + (0x1C, '3'), + (0x1D, '3'), + (0x1E, '3'), + (0x1F, '3'), + (0x20, '3'), + (0x21, '3'), + (0x22, '3'), + (0x23, '3'), + (0x24, '3'), + (0x25, '3'), + (0x26, '3'), + (0x27, '3'), + (0x28, '3'), + (0x29, '3'), + (0x2A, '3'), + (0x2B, '3'), + (0x2C, '3'), + (0x2D, 'V'), + (0x2E, 'V'), + (0x2F, '3'), + (0x30, 'V'), + (0x31, 'V'), + (0x32, 'V'), + (0x33, 'V'), + (0x34, 'V'), + (0x35, 'V'), + (0x36, 'V'), + (0x37, 'V'), + (0x38, 'V'), + (0x39, 'V'), + (0x3A, '3'), + (0x3B, '3'), + (0x3C, '3'), + (0x3D, '3'), + (0x3E, '3'), + (0x3F, '3'), + (0x40, '3'), + (0x41, 'M', u'a'), + (0x42, 'M', u'b'), + (0x43, 'M', u'c'), + (0x44, 'M', u'd'), + (0x45, 'M', u'e'), + (0x46, 'M', u'f'), + (0x47, 'M', u'g'), + (0x48, 'M', u'h'), + (0x49, 'M', u'i'), + (0x4A, 'M', u'j'), + (0x4B, 'M', u'k'), + (0x4C, 'M', u'l'), + (0x4D, 'M', u'm'), + (0x4E, 'M', u'n'), + (0x4F, 'M', u'o'), + (0x50, 'M', u'p'), + (0x51, 'M', u'q'), + (0x52, 'M', u'r'), + (0x53, 'M', u's'), + (0x54, 'M', u't'), + (0x55, 'M', u'u'), + (0x56, 'M', u'v'), + (0x57, 'M', u'w'), + (0x58, 'M', u'x'), + (0x59, 'M', u'y'), + (0x5A, 'M', u'z'), + (0x5B, '3'), + (0x5C, '3'), + (0x5D, '3'), + (0x5E, '3'), + (0x5F, '3'), + (0x60, '3'), + (0x61, 'V'), + (0x62, 'V'), + (0x63, 'V'), + ] + +def _seg_1(): + return [ + (0x64, 'V'), + (0x65, 'V'), + (0x66, 'V'), + (0x67, 'V'), + (0x68, 'V'), + (0x69, 'V'), + (0x6A, 'V'), + (0x6B, 'V'), + (0x6C, 'V'), + (0x6D, 'V'), + (0x6E, 'V'), + (0x6F, 'V'), + (0x70, 'V'), + (0x71, 'V'), + (0x72, 'V'), + (0x73, 'V'), + (0x74, 'V'), + (0x75, 'V'), + (0x76, 'V'), + (0x77, 'V'), + (0x78, 'V'), + (0x79, 'V'), + (0x7A, 'V'), + (0x7B, '3'), + (0x7C, '3'), + (0x7D, '3'), + (0x7E, '3'), + (0x7F, '3'), + (0x80, 'X'), + (0x81, 'X'), + (0x82, 'X'), + (0x83, 'X'), + (0x84, 'X'), + (0x85, 'X'), + (0x86, 'X'), + (0x87, 'X'), + (0x88, 'X'), + (0x89, 'X'), + (0x8A, 'X'), + (0x8B, 'X'), + (0x8C, 'X'), + (0x8D, 'X'), + (0x8E, 'X'), + (0x8F, 'X'), + (0x90, 'X'), + (0x91, 'X'), + (0x92, 'X'), + (0x93, 'X'), + (0x94, 'X'), + (0x95, 'X'), + (0x96, 'X'), + (0x97, 'X'), + (0x98, 'X'), + (0x99, 'X'), + (0x9A, 'X'), + (0x9B, 'X'), + (0x9C, 'X'), + (0x9D, 'X'), + (0x9E, 'X'), + (0x9F, 'X'), + (0xA0, '3', u' '), + (0xA1, 'V'), + (0xA2, 'V'), + (0xA3, 'V'), + (0xA4, 'V'), + (0xA5, 'V'), + (0xA6, 'V'), + (0xA7, 'V'), + (0xA8, '3', u' ̈'), + (0xA9, 'V'), + (0xAA, 'M', u'a'), + (0xAB, 'V'), + (0xAC, 'V'), + (0xAD, 'I'), + (0xAE, 'V'), + (0xAF, '3', u' ̄'), + (0xB0, 'V'), + (0xB1, 'V'), + (0xB2, 'M', u'2'), + (0xB3, 'M', u'3'), + (0xB4, '3', u' ́'), + (0xB5, 'M', u'μ'), + (0xB6, 'V'), + (0xB7, 'V'), + (0xB8, '3', u' ̧'), + (0xB9, 'M', u'1'), + (0xBA, 'M', u'o'), + (0xBB, 'V'), + (0xBC, 'M', u'1⁄4'), + (0xBD, 'M', u'1⁄2'), + (0xBE, 'M', u'3⁄4'), + (0xBF, 'V'), + (0xC0, 'M', u'à'), + (0xC1, 'M', u'á'), + (0xC2, 'M', u'â'), + (0xC3, 'M', u'ã'), + (0xC4, 'M', u'ä'), + (0xC5, 'M', u'å'), + (0xC6, 'M', u'æ'), + (0xC7, 'M', u'ç'), + ] + +def _seg_2(): + return [ + (0xC8, 'M', u'è'), + (0xC9, 'M', u'é'), + (0xCA, 'M', u'ê'), + (0xCB, 'M', u'ë'), + (0xCC, 'M', u'ì'), + (0xCD, 'M', u'í'), + (0xCE, 'M', u'î'), + (0xCF, 'M', u'ï'), + (0xD0, 'M', u'ð'), + (0xD1, 'M', u'ñ'), + (0xD2, 'M', u'ò'), + (0xD3, 'M', u'ó'), + (0xD4, 'M', u'ô'), + (0xD5, 'M', u'õ'), + (0xD6, 'M', u'ö'), + (0xD7, 'V'), + (0xD8, 'M', u'ø'), + (0xD9, 'M', u'ù'), + (0xDA, 'M', u'ú'), + (0xDB, 'M', u'û'), + (0xDC, 'M', u'ü'), + (0xDD, 'M', u'ý'), + (0xDE, 'M', u'þ'), + (0xDF, 'D', u'ss'), + (0xE0, 'V'), + (0xE1, 'V'), + (0xE2, 'V'), + (0xE3, 'V'), + (0xE4, 'V'), + (0xE5, 'V'), + (0xE6, 'V'), + (0xE7, 'V'), + (0xE8, 'V'), + (0xE9, 'V'), + (0xEA, 'V'), + (0xEB, 'V'), + (0xEC, 'V'), + (0xED, 'V'), + (0xEE, 'V'), + (0xEF, 'V'), + (0xF0, 'V'), + (0xF1, 'V'), + (0xF2, 'V'), + (0xF3, 'V'), + (0xF4, 'V'), + (0xF5, 'V'), + (0xF6, 'V'), + (0xF7, 'V'), + (0xF8, 'V'), + (0xF9, 'V'), + (0xFA, 'V'), + (0xFB, 'V'), + (0xFC, 'V'), + (0xFD, 'V'), + (0xFE, 'V'), + (0xFF, 'V'), + (0x100, 'M', u'ā'), + (0x101, 'V'), + (0x102, 'M', u'ă'), + (0x103, 'V'), + (0x104, 'M', u'ą'), + (0x105, 'V'), + (0x106, 'M', u'ć'), + (0x107, 'V'), + (0x108, 'M', u'ĉ'), + (0x109, 'V'), + (0x10A, 'M', u'ċ'), + (0x10B, 'V'), + (0x10C, 'M', u'č'), + (0x10D, 'V'), + (0x10E, 'M', u'ď'), + (0x10F, 'V'), + (0x110, 'M', u'đ'), + (0x111, 'V'), + (0x112, 'M', u'ē'), + (0x113, 'V'), + (0x114, 'M', u'ĕ'), + (0x115, 'V'), + (0x116, 'M', u'ė'), + (0x117, 'V'), + (0x118, 'M', u'ę'), + (0x119, 'V'), + (0x11A, 'M', u'ě'), + (0x11B, 'V'), + (0x11C, 'M', u'ĝ'), + (0x11D, 'V'), + (0x11E, 'M', u'ğ'), + (0x11F, 'V'), + (0x120, 'M', u'ġ'), + (0x121, 'V'), + (0x122, 'M', u'ģ'), + (0x123, 'V'), + (0x124, 'M', u'ĥ'), + (0x125, 'V'), + (0x126, 'M', u'ħ'), + (0x127, 'V'), + (0x128, 'M', u'ĩ'), + (0x129, 'V'), + (0x12A, 'M', u'ī'), + (0x12B, 'V'), + ] + +def _seg_3(): + return [ + (0x12C, 'M', u'ĭ'), + (0x12D, 'V'), + (0x12E, 'M', u'į'), + (0x12F, 'V'), + (0x130, 'M', u'i̇'), + (0x131, 'V'), + (0x132, 'M', u'ij'), + (0x134, 'M', u'ĵ'), + (0x135, 'V'), + (0x136, 'M', u'ķ'), + (0x137, 'V'), + (0x139, 'M', u'ĺ'), + (0x13A, 'V'), + (0x13B, 'M', u'ļ'), + (0x13C, 'V'), + (0x13D, 'M', u'ľ'), + (0x13E, 'V'), + (0x13F, 'M', u'l·'), + (0x141, 'M', u'ł'), + (0x142, 'V'), + (0x143, 'M', u'ń'), + (0x144, 'V'), + (0x145, 'M', u'ņ'), + (0x146, 'V'), + (0x147, 'M', u'ň'), + (0x148, 'V'), + (0x149, 'M', u'ʼn'), + (0x14A, 'M', u'ŋ'), + (0x14B, 'V'), + (0x14C, 'M', u'ō'), + (0x14D, 'V'), + (0x14E, 'M', u'ŏ'), + (0x14F, 'V'), + (0x150, 'M', u'ő'), + (0x151, 'V'), + (0x152, 'M', u'œ'), + (0x153, 'V'), + (0x154, 'M', u'ŕ'), + (0x155, 'V'), + (0x156, 'M', u'ŗ'), + (0x157, 'V'), + (0x158, 'M', u'ř'), + (0x159, 'V'), + (0x15A, 'M', u'ś'), + (0x15B, 'V'), + (0x15C, 'M', u'ŝ'), + (0x15D, 'V'), + (0x15E, 'M', u'ş'), + (0x15F, 'V'), + (0x160, 'M', u'š'), + (0x161, 'V'), + (0x162, 'M', u'ţ'), + (0x163, 'V'), + (0x164, 'M', u'ť'), + (0x165, 'V'), + (0x166, 'M', u'ŧ'), + (0x167, 'V'), + (0x168, 'M', u'ũ'), + (0x169, 'V'), + (0x16A, 'M', u'ū'), + (0x16B, 'V'), + (0x16C, 'M', u'ŭ'), + (0x16D, 'V'), + (0x16E, 'M', u'ů'), + (0x16F, 'V'), + (0x170, 'M', u'ű'), + (0x171, 'V'), + (0x172, 'M', u'ų'), + (0x173, 'V'), + (0x174, 'M', u'ŵ'), + (0x175, 'V'), + (0x176, 'M', u'ŷ'), + (0x177, 'V'), + (0x178, 'M', u'ÿ'), + (0x179, 'M', u'ź'), + (0x17A, 'V'), + (0x17B, 'M', u'ż'), + (0x17C, 'V'), + (0x17D, 'M', u'ž'), + (0x17E, 'V'), + (0x17F, 'M', u's'), + (0x180, 'V'), + (0x181, 'M', u'ɓ'), + (0x182, 'M', u'ƃ'), + (0x183, 'V'), + (0x184, 'M', u'ƅ'), + (0x185, 'V'), + (0x186, 'M', u'ɔ'), + (0x187, 'M', u'ƈ'), + (0x188, 'V'), + (0x189, 'M', u'ɖ'), + (0x18A, 'M', u'ɗ'), + (0x18B, 'M', u'ƌ'), + (0x18C, 'V'), + (0x18E, 'M', u'ǝ'), + (0x18F, 'M', u'ə'), + (0x190, 'M', u'ɛ'), + (0x191, 'M', u'ƒ'), + (0x192, 'V'), + (0x193, 'M', u'ɠ'), + ] + +def _seg_4(): + return [ + (0x194, 'M', u'ɣ'), + (0x195, 'V'), + (0x196, 'M', u'ɩ'), + (0x197, 'M', u'ɨ'), + (0x198, 'M', u'ƙ'), + (0x199, 'V'), + (0x19C, 'M', u'ɯ'), + (0x19D, 'M', u'ɲ'), + (0x19E, 'V'), + (0x19F, 'M', u'ɵ'), + (0x1A0, 'M', u'ơ'), + (0x1A1, 'V'), + (0x1A2, 'M', u'ƣ'), + (0x1A3, 'V'), + (0x1A4, 'M', u'ƥ'), + (0x1A5, 'V'), + (0x1A6, 'M', u'ʀ'), + (0x1A7, 'M', u'ƨ'), + (0x1A8, 'V'), + (0x1A9, 'M', u'ʃ'), + (0x1AA, 'V'), + (0x1AC, 'M', u'ƭ'), + (0x1AD, 'V'), + (0x1AE, 'M', u'ʈ'), + (0x1AF, 'M', u'ư'), + (0x1B0, 'V'), + (0x1B1, 'M', u'ʊ'), + (0x1B2, 'M', u'ʋ'), + (0x1B3, 'M', u'ƴ'), + (0x1B4, 'V'), + (0x1B5, 'M', u'ƶ'), + (0x1B6, 'V'), + (0x1B7, 'M', u'ʒ'), + (0x1B8, 'M', u'ƹ'), + (0x1B9, 'V'), + (0x1BC, 'M', u'ƽ'), + (0x1BD, 'V'), + (0x1C4, 'M', u'dž'), + (0x1C7, 'M', u'lj'), + (0x1CA, 'M', u'nj'), + (0x1CD, 'M', u'ǎ'), + (0x1CE, 'V'), + (0x1CF, 'M', u'ǐ'), + (0x1D0, 'V'), + (0x1D1, 'M', u'ǒ'), + (0x1D2, 'V'), + (0x1D3, 'M', u'ǔ'), + (0x1D4, 'V'), + (0x1D5, 'M', u'ǖ'), + (0x1D6, 'V'), + (0x1D7, 'M', u'ǘ'), + (0x1D8, 'V'), + (0x1D9, 'M', u'ǚ'), + (0x1DA, 'V'), + (0x1DB, 'M', u'ǜ'), + (0x1DC, 'V'), + (0x1DE, 'M', u'ǟ'), + (0x1DF, 'V'), + (0x1E0, 'M', u'ǡ'), + (0x1E1, 'V'), + (0x1E2, 'M', u'ǣ'), + (0x1E3, 'V'), + (0x1E4, 'M', u'ǥ'), + (0x1E5, 'V'), + (0x1E6, 'M', u'ǧ'), + (0x1E7, 'V'), + (0x1E8, 'M', u'ǩ'), + (0x1E9, 'V'), + (0x1EA, 'M', u'ǫ'), + (0x1EB, 'V'), + (0x1EC, 'M', u'ǭ'), + (0x1ED, 'V'), + (0x1EE, 'M', u'ǯ'), + (0x1EF, 'V'), + (0x1F1, 'M', u'dz'), + (0x1F4, 'M', u'ǵ'), + (0x1F5, 'V'), + (0x1F6, 'M', u'ƕ'), + (0x1F7, 'M', u'ƿ'), + (0x1F8, 'M', u'ǹ'), + (0x1F9, 'V'), + (0x1FA, 'M', u'ǻ'), + (0x1FB, 'V'), + (0x1FC, 'M', u'ǽ'), + (0x1FD, 'V'), + (0x1FE, 'M', u'ǿ'), + (0x1FF, 'V'), + (0x200, 'M', u'ȁ'), + (0x201, 'V'), + (0x202, 'M', u'ȃ'), + (0x203, 'V'), + (0x204, 'M', u'ȅ'), + (0x205, 'V'), + (0x206, 'M', u'ȇ'), + (0x207, 'V'), + (0x208, 'M', u'ȉ'), + (0x209, 'V'), + (0x20A, 'M', u'ȋ'), + (0x20B, 'V'), + (0x20C, 'M', u'ȍ'), + ] + +def _seg_5(): + return [ + (0x20D, 'V'), + (0x20E, 'M', u'ȏ'), + (0x20F, 'V'), + (0x210, 'M', u'ȑ'), + (0x211, 'V'), + (0x212, 'M', u'ȓ'), + (0x213, 'V'), + (0x214, 'M', u'ȕ'), + (0x215, 'V'), + (0x216, 'M', u'ȗ'), + (0x217, 'V'), + (0x218, 'M', u'ș'), + (0x219, 'V'), + (0x21A, 'M', u'ț'), + (0x21B, 'V'), + (0x21C, 'M', u'ȝ'), + (0x21D, 'V'), + (0x21E, 'M', u'ȟ'), + (0x21F, 'V'), + (0x220, 'M', u'ƞ'), + (0x221, 'V'), + (0x222, 'M', u'ȣ'), + (0x223, 'V'), + (0x224, 'M', u'ȥ'), + (0x225, 'V'), + (0x226, 'M', u'ȧ'), + (0x227, 'V'), + (0x228, 'M', u'ȩ'), + (0x229, 'V'), + (0x22A, 'M', u'ȫ'), + (0x22B, 'V'), + (0x22C, 'M', u'ȭ'), + (0x22D, 'V'), + (0x22E, 'M', u'ȯ'), + (0x22F, 'V'), + (0x230, 'M', u'ȱ'), + (0x231, 'V'), + (0x232, 'M', u'ȳ'), + (0x233, 'V'), + (0x23A, 'M', u'ⱥ'), + (0x23B, 'M', u'ȼ'), + (0x23C, 'V'), + (0x23D, 'M', u'ƚ'), + (0x23E, 'M', u'ⱦ'), + (0x23F, 'V'), + (0x241, 'M', u'ɂ'), + (0x242, 'V'), + (0x243, 'M', u'ƀ'), + (0x244, 'M', u'ʉ'), + (0x245, 'M', u'ʌ'), + (0x246, 'M', u'ɇ'), + (0x247, 'V'), + (0x248, 'M', u'ɉ'), + (0x249, 'V'), + (0x24A, 'M', u'ɋ'), + (0x24B, 'V'), + (0x24C, 'M', u'ɍ'), + (0x24D, 'V'), + (0x24E, 'M', u'ɏ'), + (0x24F, 'V'), + (0x2B0, 'M', u'h'), + (0x2B1, 'M', u'ɦ'), + (0x2B2, 'M', u'j'), + (0x2B3, 'M', u'r'), + (0x2B4, 'M', u'ɹ'), + (0x2B5, 'M', u'ɻ'), + (0x2B6, 'M', u'ʁ'), + (0x2B7, 'M', u'w'), + (0x2B8, 'M', u'y'), + (0x2B9, 'V'), + (0x2D8, '3', u' ̆'), + (0x2D9, '3', u' ̇'), + (0x2DA, '3', u' ̊'), + (0x2DB, '3', u' ̨'), + (0x2DC, '3', u' ̃'), + (0x2DD, '3', u' ̋'), + (0x2DE, 'V'), + (0x2E0, 'M', u'ɣ'), + (0x2E1, 'M', u'l'), + (0x2E2, 'M', u's'), + (0x2E3, 'M', u'x'), + (0x2E4, 'M', u'ʕ'), + (0x2E5, 'V'), + (0x340, 'M', u'̀'), + (0x341, 'M', u'́'), + (0x342, 'V'), + (0x343, 'M', u'̓'), + (0x344, 'M', u'̈́'), + (0x345, 'M', u'ι'), + (0x346, 'V'), + (0x34F, 'I'), + (0x350, 'V'), + (0x370, 'M', u'ͱ'), + (0x371, 'V'), + (0x372, 'M', u'ͳ'), + (0x373, 'V'), + (0x374, 'M', u'ʹ'), + (0x375, 'V'), + (0x376, 'M', u'ͷ'), + (0x377, 'V'), + ] + +def _seg_6(): + return [ + (0x378, 'X'), + (0x37A, '3', u' ι'), + (0x37B, 'V'), + (0x37E, '3', u';'), + (0x37F, 'M', u'ϳ'), + (0x380, 'X'), + (0x384, '3', u' ́'), + (0x385, '3', u' ̈́'), + (0x386, 'M', u'ά'), + (0x387, 'M', u'·'), + (0x388, 'M', u'έ'), + (0x389, 'M', u'ή'), + (0x38A, 'M', u'ί'), + (0x38B, 'X'), + (0x38C, 'M', u'ό'), + (0x38D, 'X'), + (0x38E, 'M', u'ύ'), + (0x38F, 'M', u'ώ'), + (0x390, 'V'), + (0x391, 'M', u'α'), + (0x392, 'M', u'β'), + (0x393, 'M', u'γ'), + (0x394, 'M', u'δ'), + (0x395, 'M', u'ε'), + (0x396, 'M', u'ζ'), + (0x397, 'M', u'η'), + (0x398, 'M', u'θ'), + (0x399, 'M', u'ι'), + (0x39A, 'M', u'κ'), + (0x39B, 'M', u'λ'), + (0x39C, 'M', u'μ'), + (0x39D, 'M', u'ν'), + (0x39E, 'M', u'ξ'), + (0x39F, 'M', u'ο'), + (0x3A0, 'M', u'π'), + (0x3A1, 'M', u'ρ'), + (0x3A2, 'X'), + (0x3A3, 'M', u'σ'), + (0x3A4, 'M', u'τ'), + (0x3A5, 'M', u'υ'), + (0x3A6, 'M', u'φ'), + (0x3A7, 'M', u'χ'), + (0x3A8, 'M', u'ψ'), + (0x3A9, 'M', u'ω'), + (0x3AA, 'M', u'ϊ'), + (0x3AB, 'M', u'ϋ'), + (0x3AC, 'V'), + (0x3C2, 'D', u'σ'), + (0x3C3, 'V'), + (0x3CF, 'M', u'ϗ'), + (0x3D0, 'M', u'β'), + (0x3D1, 'M', u'θ'), + (0x3D2, 'M', u'υ'), + (0x3D3, 'M', u'ύ'), + (0x3D4, 'M', u'ϋ'), + (0x3D5, 'M', u'φ'), + (0x3D6, 'M', u'π'), + (0x3D7, 'V'), + (0x3D8, 'M', u'ϙ'), + (0x3D9, 'V'), + (0x3DA, 'M', u'ϛ'), + (0x3DB, 'V'), + (0x3DC, 'M', u'ϝ'), + (0x3DD, 'V'), + (0x3DE, 'M', u'ϟ'), + (0x3DF, 'V'), + (0x3E0, 'M', u'ϡ'), + (0x3E1, 'V'), + (0x3E2, 'M', u'ϣ'), + (0x3E3, 'V'), + (0x3E4, 'M', u'ϥ'), + (0x3E5, 'V'), + (0x3E6, 'M', u'ϧ'), + (0x3E7, 'V'), + (0x3E8, 'M', u'ϩ'), + (0x3E9, 'V'), + (0x3EA, 'M', u'ϫ'), + (0x3EB, 'V'), + (0x3EC, 'M', u'ϭ'), + (0x3ED, 'V'), + (0x3EE, 'M', u'ϯ'), + (0x3EF, 'V'), + (0x3F0, 'M', u'κ'), + (0x3F1, 'M', u'ρ'), + (0x3F2, 'M', u'σ'), + (0x3F3, 'V'), + (0x3F4, 'M', u'θ'), + (0x3F5, 'M', u'ε'), + (0x3F6, 'V'), + (0x3F7, 'M', u'ϸ'), + (0x3F8, 'V'), + (0x3F9, 'M', u'σ'), + (0x3FA, 'M', u'ϻ'), + (0x3FB, 'V'), + (0x3FD, 'M', u'ͻ'), + (0x3FE, 'M', u'ͼ'), + (0x3FF, 'M', u'ͽ'), + (0x400, 'M', u'ѐ'), + (0x401, 'M', u'ё'), + (0x402, 'M', u'ђ'), + ] + +def _seg_7(): + return [ + (0x403, 'M', u'ѓ'), + (0x404, 'M', u'є'), + (0x405, 'M', u'ѕ'), + (0x406, 'M', u'і'), + (0x407, 'M', u'ї'), + (0x408, 'M', u'ј'), + (0x409, 'M', u'љ'), + (0x40A, 'M', u'њ'), + (0x40B, 'M', u'ћ'), + (0x40C, 'M', u'ќ'), + (0x40D, 'M', u'ѝ'), + (0x40E, 'M', u'ў'), + (0x40F, 'M', u'џ'), + (0x410, 'M', u'а'), + (0x411, 'M', u'б'), + (0x412, 'M', u'в'), + (0x413, 'M', u'г'), + (0x414, 'M', u'д'), + (0x415, 'M', u'е'), + (0x416, 'M', u'ж'), + (0x417, 'M', u'з'), + (0x418, 'M', u'и'), + (0x419, 'M', u'й'), + (0x41A, 'M', u'к'), + (0x41B, 'M', u'л'), + (0x41C, 'M', u'м'), + (0x41D, 'M', u'н'), + (0x41E, 'M', u'о'), + (0x41F, 'M', u'п'), + (0x420, 'M', u'р'), + (0x421, 'M', u'с'), + (0x422, 'M', u'т'), + (0x423, 'M', u'у'), + (0x424, 'M', u'ф'), + (0x425, 'M', u'х'), + (0x426, 'M', u'ц'), + (0x427, 'M', u'ч'), + (0x428, 'M', u'ш'), + (0x429, 'M', u'щ'), + (0x42A, 'M', u'ъ'), + (0x42B, 'M', u'ы'), + (0x42C, 'M', u'ь'), + (0x42D, 'M', u'э'), + (0x42E, 'M', u'ю'), + (0x42F, 'M', u'я'), + (0x430, 'V'), + (0x460, 'M', u'ѡ'), + (0x461, 'V'), + (0x462, 'M', u'ѣ'), + (0x463, 'V'), + (0x464, 'M', u'ѥ'), + (0x465, 'V'), + (0x466, 'M', u'ѧ'), + (0x467, 'V'), + (0x468, 'M', u'ѩ'), + (0x469, 'V'), + (0x46A, 'M', u'ѫ'), + (0x46B, 'V'), + (0x46C, 'M', u'ѭ'), + (0x46D, 'V'), + (0x46E, 'M', u'ѯ'), + (0x46F, 'V'), + (0x470, 'M', u'ѱ'), + (0x471, 'V'), + (0x472, 'M', u'ѳ'), + (0x473, 'V'), + (0x474, 'M', u'ѵ'), + (0x475, 'V'), + (0x476, 'M', u'ѷ'), + (0x477, 'V'), + (0x478, 'M', u'ѹ'), + (0x479, 'V'), + (0x47A, 'M', u'ѻ'), + (0x47B, 'V'), + (0x47C, 'M', u'ѽ'), + (0x47D, 'V'), + (0x47E, 'M', u'ѿ'), + (0x47F, 'V'), + (0x480, 'M', u'ҁ'), + (0x481, 'V'), + (0x48A, 'M', u'ҋ'), + (0x48B, 'V'), + (0x48C, 'M', u'ҍ'), + (0x48D, 'V'), + (0x48E, 'M', u'ҏ'), + (0x48F, 'V'), + (0x490, 'M', u'ґ'), + (0x491, 'V'), + (0x492, 'M', u'ғ'), + (0x493, 'V'), + (0x494, 'M', u'ҕ'), + (0x495, 'V'), + (0x496, 'M', u'җ'), + (0x497, 'V'), + (0x498, 'M', u'ҙ'), + (0x499, 'V'), + (0x49A, 'M', u'қ'), + (0x49B, 'V'), + (0x49C, 'M', u'ҝ'), + (0x49D, 'V'), + ] + +def _seg_8(): + return [ + (0x49E, 'M', u'ҟ'), + (0x49F, 'V'), + (0x4A0, 'M', u'ҡ'), + (0x4A1, 'V'), + (0x4A2, 'M', u'ң'), + (0x4A3, 'V'), + (0x4A4, 'M', u'ҥ'), + (0x4A5, 'V'), + (0x4A6, 'M', u'ҧ'), + (0x4A7, 'V'), + (0x4A8, 'M', u'ҩ'), + (0x4A9, 'V'), + (0x4AA, 'M', u'ҫ'), + (0x4AB, 'V'), + (0x4AC, 'M', u'ҭ'), + (0x4AD, 'V'), + (0x4AE, 'M', u'ү'), + (0x4AF, 'V'), + (0x4B0, 'M', u'ұ'), + (0x4B1, 'V'), + (0x4B2, 'M', u'ҳ'), + (0x4B3, 'V'), + (0x4B4, 'M', u'ҵ'), + (0x4B5, 'V'), + (0x4B6, 'M', u'ҷ'), + (0x4B7, 'V'), + (0x4B8, 'M', u'ҹ'), + (0x4B9, 'V'), + (0x4BA, 'M', u'һ'), + (0x4BB, 'V'), + (0x4BC, 'M', u'ҽ'), + (0x4BD, 'V'), + (0x4BE, 'M', u'ҿ'), + (0x4BF, 'V'), + (0x4C0, 'X'), + (0x4C1, 'M', u'ӂ'), + (0x4C2, 'V'), + (0x4C3, 'M', u'ӄ'), + (0x4C4, 'V'), + (0x4C5, 'M', u'ӆ'), + (0x4C6, 'V'), + (0x4C7, 'M', u'ӈ'), + (0x4C8, 'V'), + (0x4C9, 'M', u'ӊ'), + (0x4CA, 'V'), + (0x4CB, 'M', u'ӌ'), + (0x4CC, 'V'), + (0x4CD, 'M', u'ӎ'), + (0x4CE, 'V'), + (0x4D0, 'M', u'ӑ'), + (0x4D1, 'V'), + (0x4D2, 'M', u'ӓ'), + (0x4D3, 'V'), + (0x4D4, 'M', u'ӕ'), + (0x4D5, 'V'), + (0x4D6, 'M', u'ӗ'), + (0x4D7, 'V'), + (0x4D8, 'M', u'ә'), + (0x4D9, 'V'), + (0x4DA, 'M', u'ӛ'), + (0x4DB, 'V'), + (0x4DC, 'M', u'ӝ'), + (0x4DD, 'V'), + (0x4DE, 'M', u'ӟ'), + (0x4DF, 'V'), + (0x4E0, 'M', u'ӡ'), + (0x4E1, 'V'), + (0x4E2, 'M', u'ӣ'), + (0x4E3, 'V'), + (0x4E4, 'M', u'ӥ'), + (0x4E5, 'V'), + (0x4E6, 'M', u'ӧ'), + (0x4E7, 'V'), + (0x4E8, 'M', u'ө'), + (0x4E9, 'V'), + (0x4EA, 'M', u'ӫ'), + (0x4EB, 'V'), + (0x4EC, 'M', u'ӭ'), + (0x4ED, 'V'), + (0x4EE, 'M', u'ӯ'), + (0x4EF, 'V'), + (0x4F0, 'M', u'ӱ'), + (0x4F1, 'V'), + (0x4F2, 'M', u'ӳ'), + (0x4F3, 'V'), + (0x4F4, 'M', u'ӵ'), + (0x4F5, 'V'), + (0x4F6, 'M', u'ӷ'), + (0x4F7, 'V'), + (0x4F8, 'M', u'ӹ'), + (0x4F9, 'V'), + (0x4FA, 'M', u'ӻ'), + (0x4FB, 'V'), + (0x4FC, 'M', u'ӽ'), + (0x4FD, 'V'), + (0x4FE, 'M', u'ӿ'), + (0x4FF, 'V'), + (0x500, 'M', u'ԁ'), + (0x501, 'V'), + (0x502, 'M', u'ԃ'), + ] + +def _seg_9(): + return [ + (0x503, 'V'), + (0x504, 'M', u'ԅ'), + (0x505, 'V'), + (0x506, 'M', u'ԇ'), + (0x507, 'V'), + (0x508, 'M', u'ԉ'), + (0x509, 'V'), + (0x50A, 'M', u'ԋ'), + (0x50B, 'V'), + (0x50C, 'M', u'ԍ'), + (0x50D, 'V'), + (0x50E, 'M', u'ԏ'), + (0x50F, 'V'), + (0x510, 'M', u'ԑ'), + (0x511, 'V'), + (0x512, 'M', u'ԓ'), + (0x513, 'V'), + (0x514, 'M', u'ԕ'), + (0x515, 'V'), + (0x516, 'M', u'ԗ'), + (0x517, 'V'), + (0x518, 'M', u'ԙ'), + (0x519, 'V'), + (0x51A, 'M', u'ԛ'), + (0x51B, 'V'), + (0x51C, 'M', u'ԝ'), + (0x51D, 'V'), + (0x51E, 'M', u'ԟ'), + (0x51F, 'V'), + (0x520, 'M', u'ԡ'), + (0x521, 'V'), + (0x522, 'M', u'ԣ'), + (0x523, 'V'), + (0x524, 'M', u'ԥ'), + (0x525, 'V'), + (0x526, 'M', u'ԧ'), + (0x527, 'V'), + (0x528, 'M', u'ԩ'), + (0x529, 'V'), + (0x52A, 'M', u'ԫ'), + (0x52B, 'V'), + (0x52C, 'M', u'ԭ'), + (0x52D, 'V'), + (0x52E, 'M', u'ԯ'), + (0x52F, 'V'), + (0x530, 'X'), + (0x531, 'M', u'ա'), + (0x532, 'M', u'բ'), + (0x533, 'M', u'գ'), + (0x534, 'M', u'դ'), + (0x535, 'M', u'ե'), + (0x536, 'M', u'զ'), + (0x537, 'M', u'է'), + (0x538, 'M', u'ը'), + (0x539, 'M', u'թ'), + (0x53A, 'M', u'ժ'), + (0x53B, 'M', u'ի'), + (0x53C, 'M', u'լ'), + (0x53D, 'M', u'խ'), + (0x53E, 'M', u'ծ'), + (0x53F, 'M', u'կ'), + (0x540, 'M', u'հ'), + (0x541, 'M', u'ձ'), + (0x542, 'M', u'ղ'), + (0x543, 'M', u'ճ'), + (0x544, 'M', u'մ'), + (0x545, 'M', u'յ'), + (0x546, 'M', u'ն'), + (0x547, 'M', u'շ'), + (0x548, 'M', u'ո'), + (0x549, 'M', u'չ'), + (0x54A, 'M', u'պ'), + (0x54B, 'M', u'ջ'), + (0x54C, 'M', u'ռ'), + (0x54D, 'M', u'ս'), + (0x54E, 'M', u'վ'), + (0x54F, 'M', u'տ'), + (0x550, 'M', u'ր'), + (0x551, 'M', u'ց'), + (0x552, 'M', u'ւ'), + (0x553, 'M', u'փ'), + (0x554, 'M', u'ք'), + (0x555, 'M', u'օ'), + (0x556, 'M', u'ֆ'), + (0x557, 'X'), + (0x559, 'V'), + (0x587, 'M', u'եւ'), + (0x588, 'V'), + (0x58B, 'X'), + (0x58D, 'V'), + (0x590, 'X'), + (0x591, 'V'), + (0x5C8, 'X'), + (0x5D0, 'V'), + (0x5EB, 'X'), + (0x5EF, 'V'), + (0x5F5, 'X'), + (0x606, 'V'), + (0x61C, 'X'), + (0x61E, 'V'), + ] + +def _seg_10(): + return [ + (0x675, 'M', u'اٴ'), + (0x676, 'M', u'وٴ'), + (0x677, 'M', u'ۇٴ'), + (0x678, 'M', u'يٴ'), + (0x679, 'V'), + (0x6DD, 'X'), + (0x6DE, 'V'), + (0x70E, 'X'), + (0x710, 'V'), + (0x74B, 'X'), + (0x74D, 'V'), + (0x7B2, 'X'), + (0x7C0, 'V'), + (0x7FB, 'X'), + (0x7FD, 'V'), + (0x82E, 'X'), + (0x830, 'V'), + (0x83F, 'X'), + (0x840, 'V'), + (0x85C, 'X'), + (0x85E, 'V'), + (0x85F, 'X'), + (0x860, 'V'), + (0x86B, 'X'), + (0x8A0, 'V'), + (0x8B5, 'X'), + (0x8B6, 'V'), + (0x8BE, 'X'), + (0x8D3, 'V'), + (0x8E2, 'X'), + (0x8E3, 'V'), + (0x958, 'M', u'क़'), + (0x959, 'M', u'ख़'), + (0x95A, 'M', u'ग़'), + (0x95B, 'M', u'ज़'), + (0x95C, 'M', u'ड़'), + (0x95D, 'M', u'ढ़'), + (0x95E, 'M', u'फ़'), + (0x95F, 'M', u'य़'), + (0x960, 'V'), + (0x984, 'X'), + (0x985, 'V'), + (0x98D, 'X'), + (0x98F, 'V'), + (0x991, 'X'), + (0x993, 'V'), + (0x9A9, 'X'), + (0x9AA, 'V'), + (0x9B1, 'X'), + (0x9B2, 'V'), + (0x9B3, 'X'), + (0x9B6, 'V'), + (0x9BA, 'X'), + (0x9BC, 'V'), + (0x9C5, 'X'), + (0x9C7, 'V'), + (0x9C9, 'X'), + (0x9CB, 'V'), + (0x9CF, 'X'), + (0x9D7, 'V'), + (0x9D8, 'X'), + (0x9DC, 'M', u'ড়'), + (0x9DD, 'M', u'ঢ়'), + (0x9DE, 'X'), + (0x9DF, 'M', u'য়'), + (0x9E0, 'V'), + (0x9E4, 'X'), + (0x9E6, 'V'), + (0x9FF, 'X'), + (0xA01, 'V'), + (0xA04, 'X'), + (0xA05, 'V'), + (0xA0B, 'X'), + (0xA0F, 'V'), + (0xA11, 'X'), + (0xA13, 'V'), + (0xA29, 'X'), + (0xA2A, 'V'), + (0xA31, 'X'), + (0xA32, 'V'), + (0xA33, 'M', u'ਲ਼'), + (0xA34, 'X'), + (0xA35, 'V'), + (0xA36, 'M', u'ਸ਼'), + (0xA37, 'X'), + (0xA38, 'V'), + (0xA3A, 'X'), + (0xA3C, 'V'), + (0xA3D, 'X'), + (0xA3E, 'V'), + (0xA43, 'X'), + (0xA47, 'V'), + (0xA49, 'X'), + (0xA4B, 'V'), + (0xA4E, 'X'), + (0xA51, 'V'), + (0xA52, 'X'), + (0xA59, 'M', u'ਖ਼'), + (0xA5A, 'M', u'ਗ਼'), + (0xA5B, 'M', u'ਜ਼'), + ] + +def _seg_11(): + return [ + (0xA5C, 'V'), + (0xA5D, 'X'), + (0xA5E, 'M', u'ਫ਼'), + (0xA5F, 'X'), + (0xA66, 'V'), + (0xA77, 'X'), + (0xA81, 'V'), + (0xA84, 'X'), + (0xA85, 'V'), + (0xA8E, 'X'), + (0xA8F, 'V'), + (0xA92, 'X'), + (0xA93, 'V'), + (0xAA9, 'X'), + (0xAAA, 'V'), + (0xAB1, 'X'), + (0xAB2, 'V'), + (0xAB4, 'X'), + (0xAB5, 'V'), + (0xABA, 'X'), + (0xABC, 'V'), + (0xAC6, 'X'), + (0xAC7, 'V'), + (0xACA, 'X'), + (0xACB, 'V'), + (0xACE, 'X'), + (0xAD0, 'V'), + (0xAD1, 'X'), + (0xAE0, 'V'), + (0xAE4, 'X'), + (0xAE6, 'V'), + (0xAF2, 'X'), + (0xAF9, 'V'), + (0xB00, 'X'), + (0xB01, 'V'), + (0xB04, 'X'), + (0xB05, 'V'), + (0xB0D, 'X'), + (0xB0F, 'V'), + (0xB11, 'X'), + (0xB13, 'V'), + (0xB29, 'X'), + (0xB2A, 'V'), + (0xB31, 'X'), + (0xB32, 'V'), + (0xB34, 'X'), + (0xB35, 'V'), + (0xB3A, 'X'), + (0xB3C, 'V'), + (0xB45, 'X'), + (0xB47, 'V'), + (0xB49, 'X'), + (0xB4B, 'V'), + (0xB4E, 'X'), + (0xB56, 'V'), + (0xB58, 'X'), + (0xB5C, 'M', u'ଡ଼'), + (0xB5D, 'M', u'ଢ଼'), + (0xB5E, 'X'), + (0xB5F, 'V'), + (0xB64, 'X'), + (0xB66, 'V'), + (0xB78, 'X'), + (0xB82, 'V'), + (0xB84, 'X'), + (0xB85, 'V'), + (0xB8B, 'X'), + (0xB8E, 'V'), + (0xB91, 'X'), + (0xB92, 'V'), + (0xB96, 'X'), + (0xB99, 'V'), + (0xB9B, 'X'), + (0xB9C, 'V'), + (0xB9D, 'X'), + (0xB9E, 'V'), + (0xBA0, 'X'), + (0xBA3, 'V'), + (0xBA5, 'X'), + (0xBA8, 'V'), + (0xBAB, 'X'), + (0xBAE, 'V'), + (0xBBA, 'X'), + (0xBBE, 'V'), + (0xBC3, 'X'), + (0xBC6, 'V'), + (0xBC9, 'X'), + (0xBCA, 'V'), + (0xBCE, 'X'), + (0xBD0, 'V'), + (0xBD1, 'X'), + (0xBD7, 'V'), + (0xBD8, 'X'), + (0xBE6, 'V'), + (0xBFB, 'X'), + (0xC00, 'V'), + (0xC0D, 'X'), + (0xC0E, 'V'), + (0xC11, 'X'), + (0xC12, 'V'), + ] + +def _seg_12(): + return [ + (0xC29, 'X'), + (0xC2A, 'V'), + (0xC3A, 'X'), + (0xC3D, 'V'), + (0xC45, 'X'), + (0xC46, 'V'), + (0xC49, 'X'), + (0xC4A, 'V'), + (0xC4E, 'X'), + (0xC55, 'V'), + (0xC57, 'X'), + (0xC58, 'V'), + (0xC5B, 'X'), + (0xC60, 'V'), + (0xC64, 'X'), + (0xC66, 'V'), + (0xC70, 'X'), + (0xC78, 'V'), + (0xC8D, 'X'), + (0xC8E, 'V'), + (0xC91, 'X'), + (0xC92, 'V'), + (0xCA9, 'X'), + (0xCAA, 'V'), + (0xCB4, 'X'), + (0xCB5, 'V'), + (0xCBA, 'X'), + (0xCBC, 'V'), + (0xCC5, 'X'), + (0xCC6, 'V'), + (0xCC9, 'X'), + (0xCCA, 'V'), + (0xCCE, 'X'), + (0xCD5, 'V'), + (0xCD7, 'X'), + (0xCDE, 'V'), + (0xCDF, 'X'), + (0xCE0, 'V'), + (0xCE4, 'X'), + (0xCE6, 'V'), + (0xCF0, 'X'), + (0xCF1, 'V'), + (0xCF3, 'X'), + (0xD00, 'V'), + (0xD04, 'X'), + (0xD05, 'V'), + (0xD0D, 'X'), + (0xD0E, 'V'), + (0xD11, 'X'), + (0xD12, 'V'), + (0xD45, 'X'), + (0xD46, 'V'), + (0xD49, 'X'), + (0xD4A, 'V'), + (0xD50, 'X'), + (0xD54, 'V'), + (0xD64, 'X'), + (0xD66, 'V'), + (0xD80, 'X'), + (0xD82, 'V'), + (0xD84, 'X'), + (0xD85, 'V'), + (0xD97, 'X'), + (0xD9A, 'V'), + (0xDB2, 'X'), + (0xDB3, 'V'), + (0xDBC, 'X'), + (0xDBD, 'V'), + (0xDBE, 'X'), + (0xDC0, 'V'), + (0xDC7, 'X'), + (0xDCA, 'V'), + (0xDCB, 'X'), + (0xDCF, 'V'), + (0xDD5, 'X'), + (0xDD6, 'V'), + (0xDD7, 'X'), + (0xDD8, 'V'), + (0xDE0, 'X'), + (0xDE6, 'V'), + (0xDF0, 'X'), + (0xDF2, 'V'), + (0xDF5, 'X'), + (0xE01, 'V'), + (0xE33, 'M', u'ํา'), + (0xE34, 'V'), + (0xE3B, 'X'), + (0xE3F, 'V'), + (0xE5C, 'X'), + (0xE81, 'V'), + (0xE83, 'X'), + (0xE84, 'V'), + (0xE85, 'X'), + (0xE87, 'V'), + (0xE89, 'X'), + (0xE8A, 'V'), + (0xE8B, 'X'), + (0xE8D, 'V'), + (0xE8E, 'X'), + (0xE94, 'V'), + ] + +def _seg_13(): + return [ + (0xE98, 'X'), + (0xE99, 'V'), + (0xEA0, 'X'), + (0xEA1, 'V'), + (0xEA4, 'X'), + (0xEA5, 'V'), + (0xEA6, 'X'), + (0xEA7, 'V'), + (0xEA8, 'X'), + (0xEAA, 'V'), + (0xEAC, 'X'), + (0xEAD, 'V'), + (0xEB3, 'M', u'ໍາ'), + (0xEB4, 'V'), + (0xEBA, 'X'), + (0xEBB, 'V'), + (0xEBE, 'X'), + (0xEC0, 'V'), + (0xEC5, 'X'), + (0xEC6, 'V'), + (0xEC7, 'X'), + (0xEC8, 'V'), + (0xECE, 'X'), + (0xED0, 'V'), + (0xEDA, 'X'), + (0xEDC, 'M', u'ຫນ'), + (0xEDD, 'M', u'ຫມ'), + (0xEDE, 'V'), + (0xEE0, 'X'), + (0xF00, 'V'), + (0xF0C, 'M', u'་'), + (0xF0D, 'V'), + (0xF43, 'M', u'གྷ'), + (0xF44, 'V'), + (0xF48, 'X'), + (0xF49, 'V'), + (0xF4D, 'M', u'ཌྷ'), + (0xF4E, 'V'), + (0xF52, 'M', u'དྷ'), + (0xF53, 'V'), + (0xF57, 'M', u'བྷ'), + (0xF58, 'V'), + (0xF5C, 'M', u'ཛྷ'), + (0xF5D, 'V'), + (0xF69, 'M', u'ཀྵ'), + (0xF6A, 'V'), + (0xF6D, 'X'), + (0xF71, 'V'), + (0xF73, 'M', u'ཱི'), + (0xF74, 'V'), + (0xF75, 'M', u'ཱུ'), + (0xF76, 'M', u'ྲྀ'), + (0xF77, 'M', u'ྲཱྀ'), + (0xF78, 'M', u'ླྀ'), + (0xF79, 'M', u'ླཱྀ'), + (0xF7A, 'V'), + (0xF81, 'M', u'ཱྀ'), + (0xF82, 'V'), + (0xF93, 'M', u'ྒྷ'), + (0xF94, 'V'), + (0xF98, 'X'), + (0xF99, 'V'), + (0xF9D, 'M', u'ྜྷ'), + (0xF9E, 'V'), + (0xFA2, 'M', u'ྡྷ'), + (0xFA3, 'V'), + (0xFA7, 'M', u'ྦྷ'), + (0xFA8, 'V'), + (0xFAC, 'M', u'ྫྷ'), + (0xFAD, 'V'), + (0xFB9, 'M', u'ྐྵ'), + (0xFBA, 'V'), + (0xFBD, 'X'), + (0xFBE, 'V'), + (0xFCD, 'X'), + (0xFCE, 'V'), + (0xFDB, 'X'), + (0x1000, 'V'), + (0x10A0, 'X'), + (0x10C7, 'M', u'ⴧ'), + (0x10C8, 'X'), + (0x10CD, 'M', u'ⴭ'), + (0x10CE, 'X'), + (0x10D0, 'V'), + (0x10FC, 'M', u'ნ'), + (0x10FD, 'V'), + (0x115F, 'X'), + (0x1161, 'V'), + (0x1249, 'X'), + (0x124A, 'V'), + (0x124E, 'X'), + (0x1250, 'V'), + (0x1257, 'X'), + (0x1258, 'V'), + (0x1259, 'X'), + (0x125A, 'V'), + (0x125E, 'X'), + (0x1260, 'V'), + (0x1289, 'X'), + (0x128A, 'V'), + ] + +def _seg_14(): + return [ + (0x128E, 'X'), + (0x1290, 'V'), + (0x12B1, 'X'), + (0x12B2, 'V'), + (0x12B6, 'X'), + (0x12B8, 'V'), + (0x12BF, 'X'), + (0x12C0, 'V'), + (0x12C1, 'X'), + (0x12C2, 'V'), + (0x12C6, 'X'), + (0x12C8, 'V'), + (0x12D7, 'X'), + (0x12D8, 'V'), + (0x1311, 'X'), + (0x1312, 'V'), + (0x1316, 'X'), + (0x1318, 'V'), + (0x135B, 'X'), + (0x135D, 'V'), + (0x137D, 'X'), + (0x1380, 'V'), + (0x139A, 'X'), + (0x13A0, 'V'), + (0x13F6, 'X'), + (0x13F8, 'M', u'Ᏸ'), + (0x13F9, 'M', u'Ᏹ'), + (0x13FA, 'M', u'Ᏺ'), + (0x13FB, 'M', u'Ᏻ'), + (0x13FC, 'M', u'Ᏼ'), + (0x13FD, 'M', u'Ᏽ'), + (0x13FE, 'X'), + (0x1400, 'V'), + (0x1680, 'X'), + (0x1681, 'V'), + (0x169D, 'X'), + (0x16A0, 'V'), + (0x16F9, 'X'), + (0x1700, 'V'), + (0x170D, 'X'), + (0x170E, 'V'), + (0x1715, 'X'), + (0x1720, 'V'), + (0x1737, 'X'), + (0x1740, 'V'), + (0x1754, 'X'), + (0x1760, 'V'), + (0x176D, 'X'), + (0x176E, 'V'), + (0x1771, 'X'), + (0x1772, 'V'), + (0x1774, 'X'), + (0x1780, 'V'), + (0x17B4, 'X'), + (0x17B6, 'V'), + (0x17DE, 'X'), + (0x17E0, 'V'), + (0x17EA, 'X'), + (0x17F0, 'V'), + (0x17FA, 'X'), + (0x1800, 'V'), + (0x1806, 'X'), + (0x1807, 'V'), + (0x180B, 'I'), + (0x180E, 'X'), + (0x1810, 'V'), + (0x181A, 'X'), + (0x1820, 'V'), + (0x1879, 'X'), + (0x1880, 'V'), + (0x18AB, 'X'), + (0x18B0, 'V'), + (0x18F6, 'X'), + (0x1900, 'V'), + (0x191F, 'X'), + (0x1920, 'V'), + (0x192C, 'X'), + (0x1930, 'V'), + (0x193C, 'X'), + (0x1940, 'V'), + (0x1941, 'X'), + (0x1944, 'V'), + (0x196E, 'X'), + (0x1970, 'V'), + (0x1975, 'X'), + (0x1980, 'V'), + (0x19AC, 'X'), + (0x19B0, 'V'), + (0x19CA, 'X'), + (0x19D0, 'V'), + (0x19DB, 'X'), + (0x19DE, 'V'), + (0x1A1C, 'X'), + (0x1A1E, 'V'), + (0x1A5F, 'X'), + (0x1A60, 'V'), + (0x1A7D, 'X'), + (0x1A7F, 'V'), + (0x1A8A, 'X'), + (0x1A90, 'V'), + ] + +def _seg_15(): + return [ + (0x1A9A, 'X'), + (0x1AA0, 'V'), + (0x1AAE, 'X'), + (0x1AB0, 'V'), + (0x1ABF, 'X'), + (0x1B00, 'V'), + (0x1B4C, 'X'), + (0x1B50, 'V'), + (0x1B7D, 'X'), + (0x1B80, 'V'), + (0x1BF4, 'X'), + (0x1BFC, 'V'), + (0x1C38, 'X'), + (0x1C3B, 'V'), + (0x1C4A, 'X'), + (0x1C4D, 'V'), + (0x1C80, 'M', u'в'), + (0x1C81, 'M', u'д'), + (0x1C82, 'M', u'о'), + (0x1C83, 'M', u'с'), + (0x1C84, 'M', u'т'), + (0x1C86, 'M', u'ъ'), + (0x1C87, 'M', u'ѣ'), + (0x1C88, 'M', u'ꙋ'), + (0x1C89, 'X'), + (0x1CC0, 'V'), + (0x1CC8, 'X'), + (0x1CD0, 'V'), + (0x1CFA, 'X'), + (0x1D00, 'V'), + (0x1D2C, 'M', u'a'), + (0x1D2D, 'M', u'æ'), + (0x1D2E, 'M', u'b'), + (0x1D2F, 'V'), + (0x1D30, 'M', u'd'), + (0x1D31, 'M', u'e'), + (0x1D32, 'M', u'ǝ'), + (0x1D33, 'M', u'g'), + (0x1D34, 'M', u'h'), + (0x1D35, 'M', u'i'), + (0x1D36, 'M', u'j'), + (0x1D37, 'M', u'k'), + (0x1D38, 'M', u'l'), + (0x1D39, 'M', u'm'), + (0x1D3A, 'M', u'n'), + (0x1D3B, 'V'), + (0x1D3C, 'M', u'o'), + (0x1D3D, 'M', u'ȣ'), + (0x1D3E, 'M', u'p'), + (0x1D3F, 'M', u'r'), + (0x1D40, 'M', u't'), + (0x1D41, 'M', u'u'), + (0x1D42, 'M', u'w'), + (0x1D43, 'M', u'a'), + (0x1D44, 'M', u'ɐ'), + (0x1D45, 'M', u'ɑ'), + (0x1D46, 'M', u'ᴂ'), + (0x1D47, 'M', u'b'), + (0x1D48, 'M', u'd'), + (0x1D49, 'M', u'e'), + (0x1D4A, 'M', u'ə'), + (0x1D4B, 'M', u'ɛ'), + (0x1D4C, 'M', u'ɜ'), + (0x1D4D, 'M', u'g'), + (0x1D4E, 'V'), + (0x1D4F, 'M', u'k'), + (0x1D50, 'M', u'm'), + (0x1D51, 'M', u'ŋ'), + (0x1D52, 'M', u'o'), + (0x1D53, 'M', u'ɔ'), + (0x1D54, 'M', u'ᴖ'), + (0x1D55, 'M', u'ᴗ'), + (0x1D56, 'M', u'p'), + (0x1D57, 'M', u't'), + (0x1D58, 'M', u'u'), + (0x1D59, 'M', u'ᴝ'), + (0x1D5A, 'M', u'ɯ'), + (0x1D5B, 'M', u'v'), + (0x1D5C, 'M', u'ᴥ'), + (0x1D5D, 'M', u'β'), + (0x1D5E, 'M', u'γ'), + (0x1D5F, 'M', u'δ'), + (0x1D60, 'M', u'φ'), + (0x1D61, 'M', u'χ'), + (0x1D62, 'M', u'i'), + (0x1D63, 'M', u'r'), + (0x1D64, 'M', u'u'), + (0x1D65, 'M', u'v'), + (0x1D66, 'M', u'β'), + (0x1D67, 'M', u'γ'), + (0x1D68, 'M', u'ρ'), + (0x1D69, 'M', u'φ'), + (0x1D6A, 'M', u'χ'), + (0x1D6B, 'V'), + (0x1D78, 'M', u'н'), + (0x1D79, 'V'), + (0x1D9B, 'M', u'ɒ'), + (0x1D9C, 'M', u'c'), + (0x1D9D, 'M', u'ɕ'), + (0x1D9E, 'M', u'ð'), + ] + +def _seg_16(): + return [ + (0x1D9F, 'M', u'ɜ'), + (0x1DA0, 'M', u'f'), + (0x1DA1, 'M', u'ɟ'), + (0x1DA2, 'M', u'ɡ'), + (0x1DA3, 'M', u'ɥ'), + (0x1DA4, 'M', u'ɨ'), + (0x1DA5, 'M', u'ɩ'), + (0x1DA6, 'M', u'ɪ'), + (0x1DA7, 'M', u'ᵻ'), + (0x1DA8, 'M', u'ʝ'), + (0x1DA9, 'M', u'ɭ'), + (0x1DAA, 'M', u'ᶅ'), + (0x1DAB, 'M', u'ʟ'), + (0x1DAC, 'M', u'ɱ'), + (0x1DAD, 'M', u'ɰ'), + (0x1DAE, 'M', u'ɲ'), + (0x1DAF, 'M', u'ɳ'), + (0x1DB0, 'M', u'ɴ'), + (0x1DB1, 'M', u'ɵ'), + (0x1DB2, 'M', u'ɸ'), + (0x1DB3, 'M', u'ʂ'), + (0x1DB4, 'M', u'ʃ'), + (0x1DB5, 'M', u'ƫ'), + (0x1DB6, 'M', u'ʉ'), + (0x1DB7, 'M', u'ʊ'), + (0x1DB8, 'M', u'ᴜ'), + (0x1DB9, 'M', u'ʋ'), + (0x1DBA, 'M', u'ʌ'), + (0x1DBB, 'M', u'z'), + (0x1DBC, 'M', u'ʐ'), + (0x1DBD, 'M', u'ʑ'), + (0x1DBE, 'M', u'ʒ'), + (0x1DBF, 'M', u'θ'), + (0x1DC0, 'V'), + (0x1DFA, 'X'), + (0x1DFB, 'V'), + (0x1E00, 'M', u'ḁ'), + (0x1E01, 'V'), + (0x1E02, 'M', u'ḃ'), + (0x1E03, 'V'), + (0x1E04, 'M', u'ḅ'), + (0x1E05, 'V'), + (0x1E06, 'M', u'ḇ'), + (0x1E07, 'V'), + (0x1E08, 'M', u'ḉ'), + (0x1E09, 'V'), + (0x1E0A, 'M', u'ḋ'), + (0x1E0B, 'V'), + (0x1E0C, 'M', u'ḍ'), + (0x1E0D, 'V'), + (0x1E0E, 'M', u'ḏ'), + (0x1E0F, 'V'), + (0x1E10, 'M', u'ḑ'), + (0x1E11, 'V'), + (0x1E12, 'M', u'ḓ'), + (0x1E13, 'V'), + (0x1E14, 'M', u'ḕ'), + (0x1E15, 'V'), + (0x1E16, 'M', u'ḗ'), + (0x1E17, 'V'), + (0x1E18, 'M', u'ḙ'), + (0x1E19, 'V'), + (0x1E1A, 'M', u'ḛ'), + (0x1E1B, 'V'), + (0x1E1C, 'M', u'ḝ'), + (0x1E1D, 'V'), + (0x1E1E, 'M', u'ḟ'), + (0x1E1F, 'V'), + (0x1E20, 'M', u'ḡ'), + (0x1E21, 'V'), + (0x1E22, 'M', u'ḣ'), + (0x1E23, 'V'), + (0x1E24, 'M', u'ḥ'), + (0x1E25, 'V'), + (0x1E26, 'M', u'ḧ'), + (0x1E27, 'V'), + (0x1E28, 'M', u'ḩ'), + (0x1E29, 'V'), + (0x1E2A, 'M', u'ḫ'), + (0x1E2B, 'V'), + (0x1E2C, 'M', u'ḭ'), + (0x1E2D, 'V'), + (0x1E2E, 'M', u'ḯ'), + (0x1E2F, 'V'), + (0x1E30, 'M', u'ḱ'), + (0x1E31, 'V'), + (0x1E32, 'M', u'ḳ'), + (0x1E33, 'V'), + (0x1E34, 'M', u'ḵ'), + (0x1E35, 'V'), + (0x1E36, 'M', u'ḷ'), + (0x1E37, 'V'), + (0x1E38, 'M', u'ḹ'), + (0x1E39, 'V'), + (0x1E3A, 'M', u'ḻ'), + (0x1E3B, 'V'), + (0x1E3C, 'M', u'ḽ'), + (0x1E3D, 'V'), + (0x1E3E, 'M', u'ḿ'), + (0x1E3F, 'V'), + ] + +def _seg_17(): + return [ + (0x1E40, 'M', u'ṁ'), + (0x1E41, 'V'), + (0x1E42, 'M', u'ṃ'), + (0x1E43, 'V'), + (0x1E44, 'M', u'ṅ'), + (0x1E45, 'V'), + (0x1E46, 'M', u'ṇ'), + (0x1E47, 'V'), + (0x1E48, 'M', u'ṉ'), + (0x1E49, 'V'), + (0x1E4A, 'M', u'ṋ'), + (0x1E4B, 'V'), + (0x1E4C, 'M', u'ṍ'), + (0x1E4D, 'V'), + (0x1E4E, 'M', u'ṏ'), + (0x1E4F, 'V'), + (0x1E50, 'M', u'ṑ'), + (0x1E51, 'V'), + (0x1E52, 'M', u'ṓ'), + (0x1E53, 'V'), + (0x1E54, 'M', u'ṕ'), + (0x1E55, 'V'), + (0x1E56, 'M', u'ṗ'), + (0x1E57, 'V'), + (0x1E58, 'M', u'ṙ'), + (0x1E59, 'V'), + (0x1E5A, 'M', u'ṛ'), + (0x1E5B, 'V'), + (0x1E5C, 'M', u'ṝ'), + (0x1E5D, 'V'), + (0x1E5E, 'M', u'ṟ'), + (0x1E5F, 'V'), + (0x1E60, 'M', u'ṡ'), + (0x1E61, 'V'), + (0x1E62, 'M', u'ṣ'), + (0x1E63, 'V'), + (0x1E64, 'M', u'ṥ'), + (0x1E65, 'V'), + (0x1E66, 'M', u'ṧ'), + (0x1E67, 'V'), + (0x1E68, 'M', u'ṩ'), + (0x1E69, 'V'), + (0x1E6A, 'M', u'ṫ'), + (0x1E6B, 'V'), + (0x1E6C, 'M', u'ṭ'), + (0x1E6D, 'V'), + (0x1E6E, 'M', u'ṯ'), + (0x1E6F, 'V'), + (0x1E70, 'M', u'ṱ'), + (0x1E71, 'V'), + (0x1E72, 'M', u'ṳ'), + (0x1E73, 'V'), + (0x1E74, 'M', u'ṵ'), + (0x1E75, 'V'), + (0x1E76, 'M', u'ṷ'), + (0x1E77, 'V'), + (0x1E78, 'M', u'ṹ'), + (0x1E79, 'V'), + (0x1E7A, 'M', u'ṻ'), + (0x1E7B, 'V'), + (0x1E7C, 'M', u'ṽ'), + (0x1E7D, 'V'), + (0x1E7E, 'M', u'ṿ'), + (0x1E7F, 'V'), + (0x1E80, 'M', u'ẁ'), + (0x1E81, 'V'), + (0x1E82, 'M', u'ẃ'), + (0x1E83, 'V'), + (0x1E84, 'M', u'ẅ'), + (0x1E85, 'V'), + (0x1E86, 'M', u'ẇ'), + (0x1E87, 'V'), + (0x1E88, 'M', u'ẉ'), + (0x1E89, 'V'), + (0x1E8A, 'M', u'ẋ'), + (0x1E8B, 'V'), + (0x1E8C, 'M', u'ẍ'), + (0x1E8D, 'V'), + (0x1E8E, 'M', u'ẏ'), + (0x1E8F, 'V'), + (0x1E90, 'M', u'ẑ'), + (0x1E91, 'V'), + (0x1E92, 'M', u'ẓ'), + (0x1E93, 'V'), + (0x1E94, 'M', u'ẕ'), + (0x1E95, 'V'), + (0x1E9A, 'M', u'aʾ'), + (0x1E9B, 'M', u'ṡ'), + (0x1E9C, 'V'), + (0x1E9E, 'M', u'ss'), + (0x1E9F, 'V'), + (0x1EA0, 'M', u'ạ'), + (0x1EA1, 'V'), + (0x1EA2, 'M', u'ả'), + (0x1EA3, 'V'), + (0x1EA4, 'M', u'ấ'), + (0x1EA5, 'V'), + (0x1EA6, 'M', u'ầ'), + (0x1EA7, 'V'), + (0x1EA8, 'M', u'ẩ'), + ] + +def _seg_18(): + return [ + (0x1EA9, 'V'), + (0x1EAA, 'M', u'ẫ'), + (0x1EAB, 'V'), + (0x1EAC, 'M', u'ậ'), + (0x1EAD, 'V'), + (0x1EAE, 'M', u'ắ'), + (0x1EAF, 'V'), + (0x1EB0, 'M', u'ằ'), + (0x1EB1, 'V'), + (0x1EB2, 'M', u'ẳ'), + (0x1EB3, 'V'), + (0x1EB4, 'M', u'ẵ'), + (0x1EB5, 'V'), + (0x1EB6, 'M', u'ặ'), + (0x1EB7, 'V'), + (0x1EB8, 'M', u'ẹ'), + (0x1EB9, 'V'), + (0x1EBA, 'M', u'ẻ'), + (0x1EBB, 'V'), + (0x1EBC, 'M', u'ẽ'), + (0x1EBD, 'V'), + (0x1EBE, 'M', u'ế'), + (0x1EBF, 'V'), + (0x1EC0, 'M', u'ề'), + (0x1EC1, 'V'), + (0x1EC2, 'M', u'ể'), + (0x1EC3, 'V'), + (0x1EC4, 'M', u'ễ'), + (0x1EC5, 'V'), + (0x1EC6, 'M', u'ệ'), + (0x1EC7, 'V'), + (0x1EC8, 'M', u'ỉ'), + (0x1EC9, 'V'), + (0x1ECA, 'M', u'ị'), + (0x1ECB, 'V'), + (0x1ECC, 'M', u'ọ'), + (0x1ECD, 'V'), + (0x1ECE, 'M', u'ỏ'), + (0x1ECF, 'V'), + (0x1ED0, 'M', u'ố'), + (0x1ED1, 'V'), + (0x1ED2, 'M', u'ồ'), + (0x1ED3, 'V'), + (0x1ED4, 'M', u'ổ'), + (0x1ED5, 'V'), + (0x1ED6, 'M', u'ỗ'), + (0x1ED7, 'V'), + (0x1ED8, 'M', u'ộ'), + (0x1ED9, 'V'), + (0x1EDA, 'M', u'ớ'), + (0x1EDB, 'V'), + (0x1EDC, 'M', u'ờ'), + (0x1EDD, 'V'), + (0x1EDE, 'M', u'ở'), + (0x1EDF, 'V'), + (0x1EE0, 'M', u'ỡ'), + (0x1EE1, 'V'), + (0x1EE2, 'M', u'ợ'), + (0x1EE3, 'V'), + (0x1EE4, 'M', u'ụ'), + (0x1EE5, 'V'), + (0x1EE6, 'M', u'ủ'), + (0x1EE7, 'V'), + (0x1EE8, 'M', u'ứ'), + (0x1EE9, 'V'), + (0x1EEA, 'M', u'ừ'), + (0x1EEB, 'V'), + (0x1EEC, 'M', u'ử'), + (0x1EED, 'V'), + (0x1EEE, 'M', u'ữ'), + (0x1EEF, 'V'), + (0x1EF0, 'M', u'ự'), + (0x1EF1, 'V'), + (0x1EF2, 'M', u'ỳ'), + (0x1EF3, 'V'), + (0x1EF4, 'M', u'ỵ'), + (0x1EF5, 'V'), + (0x1EF6, 'M', u'ỷ'), + (0x1EF7, 'V'), + (0x1EF8, 'M', u'ỹ'), + (0x1EF9, 'V'), + (0x1EFA, 'M', u'ỻ'), + (0x1EFB, 'V'), + (0x1EFC, 'M', u'ỽ'), + (0x1EFD, 'V'), + (0x1EFE, 'M', u'ỿ'), + (0x1EFF, 'V'), + (0x1F08, 'M', u'ἀ'), + (0x1F09, 'M', u'ἁ'), + (0x1F0A, 'M', u'ἂ'), + (0x1F0B, 'M', u'ἃ'), + (0x1F0C, 'M', u'ἄ'), + (0x1F0D, 'M', u'ἅ'), + (0x1F0E, 'M', u'ἆ'), + (0x1F0F, 'M', u'ἇ'), + (0x1F10, 'V'), + (0x1F16, 'X'), + (0x1F18, 'M', u'ἐ'), + (0x1F19, 'M', u'ἑ'), + (0x1F1A, 'M', u'ἒ'), + ] + +def _seg_19(): + return [ + (0x1F1B, 'M', u'ἓ'), + (0x1F1C, 'M', u'ἔ'), + (0x1F1D, 'M', u'ἕ'), + (0x1F1E, 'X'), + (0x1F20, 'V'), + (0x1F28, 'M', u'ἠ'), + (0x1F29, 'M', u'ἡ'), + (0x1F2A, 'M', u'ἢ'), + (0x1F2B, 'M', u'ἣ'), + (0x1F2C, 'M', u'ἤ'), + (0x1F2D, 'M', u'ἥ'), + (0x1F2E, 'M', u'ἦ'), + (0x1F2F, 'M', u'ἧ'), + (0x1F30, 'V'), + (0x1F38, 'M', u'ἰ'), + (0x1F39, 'M', u'ἱ'), + (0x1F3A, 'M', u'ἲ'), + (0x1F3B, 'M', u'ἳ'), + (0x1F3C, 'M', u'ἴ'), + (0x1F3D, 'M', u'ἵ'), + (0x1F3E, 'M', u'ἶ'), + (0x1F3F, 'M', u'ἷ'), + (0x1F40, 'V'), + (0x1F46, 'X'), + (0x1F48, 'M', u'ὀ'), + (0x1F49, 'M', u'ὁ'), + (0x1F4A, 'M', u'ὂ'), + (0x1F4B, 'M', u'ὃ'), + (0x1F4C, 'M', u'ὄ'), + (0x1F4D, 'M', u'ὅ'), + (0x1F4E, 'X'), + (0x1F50, 'V'), + (0x1F58, 'X'), + (0x1F59, 'M', u'ὑ'), + (0x1F5A, 'X'), + (0x1F5B, 'M', u'ὓ'), + (0x1F5C, 'X'), + (0x1F5D, 'M', u'ὕ'), + (0x1F5E, 'X'), + (0x1F5F, 'M', u'ὗ'), + (0x1F60, 'V'), + (0x1F68, 'M', u'ὠ'), + (0x1F69, 'M', u'ὡ'), + (0x1F6A, 'M', u'ὢ'), + (0x1F6B, 'M', u'ὣ'), + (0x1F6C, 'M', u'ὤ'), + (0x1F6D, 'M', u'ὥ'), + (0x1F6E, 'M', u'ὦ'), + (0x1F6F, 'M', u'ὧ'), + (0x1F70, 'V'), + (0x1F71, 'M', u'ά'), + (0x1F72, 'V'), + (0x1F73, 'M', u'έ'), + (0x1F74, 'V'), + (0x1F75, 'M', u'ή'), + (0x1F76, 'V'), + (0x1F77, 'M', u'ί'), + (0x1F78, 'V'), + (0x1F79, 'M', u'ό'), + (0x1F7A, 'V'), + (0x1F7B, 'M', u'ύ'), + (0x1F7C, 'V'), + (0x1F7D, 'M', u'ώ'), + (0x1F7E, 'X'), + (0x1F80, 'M', u'ἀι'), + (0x1F81, 'M', u'ἁι'), + (0x1F82, 'M', u'ἂι'), + (0x1F83, 'M', u'ἃι'), + (0x1F84, 'M', u'ἄι'), + (0x1F85, 'M', u'ἅι'), + (0x1F86, 'M', u'ἆι'), + (0x1F87, 'M', u'ἇι'), + (0x1F88, 'M', u'ἀι'), + (0x1F89, 'M', u'ἁι'), + (0x1F8A, 'M', u'ἂι'), + (0x1F8B, 'M', u'ἃι'), + (0x1F8C, 'M', u'ἄι'), + (0x1F8D, 'M', u'ἅι'), + (0x1F8E, 'M', u'ἆι'), + (0x1F8F, 'M', u'ἇι'), + (0x1F90, 'M', u'ἠι'), + (0x1F91, 'M', u'ἡι'), + (0x1F92, 'M', u'ἢι'), + (0x1F93, 'M', u'ἣι'), + (0x1F94, 'M', u'ἤι'), + (0x1F95, 'M', u'ἥι'), + (0x1F96, 'M', u'ἦι'), + (0x1F97, 'M', u'ἧι'), + (0x1F98, 'M', u'ἠι'), + (0x1F99, 'M', u'ἡι'), + (0x1F9A, 'M', u'ἢι'), + (0x1F9B, 'M', u'ἣι'), + (0x1F9C, 'M', u'ἤι'), + (0x1F9D, 'M', u'ἥι'), + (0x1F9E, 'M', u'ἦι'), + (0x1F9F, 'M', u'ἧι'), + (0x1FA0, 'M', u'ὠι'), + (0x1FA1, 'M', u'ὡι'), + (0x1FA2, 'M', u'ὢι'), + (0x1FA3, 'M', u'ὣι'), + ] + +def _seg_20(): + return [ + (0x1FA4, 'M', u'ὤι'), + (0x1FA5, 'M', u'ὥι'), + (0x1FA6, 'M', u'ὦι'), + (0x1FA7, 'M', u'ὧι'), + (0x1FA8, 'M', u'ὠι'), + (0x1FA9, 'M', u'ὡι'), + (0x1FAA, 'M', u'ὢι'), + (0x1FAB, 'M', u'ὣι'), + (0x1FAC, 'M', u'ὤι'), + (0x1FAD, 'M', u'ὥι'), + (0x1FAE, 'M', u'ὦι'), + (0x1FAF, 'M', u'ὧι'), + (0x1FB0, 'V'), + (0x1FB2, 'M', u'ὰι'), + (0x1FB3, 'M', u'αι'), + (0x1FB4, 'M', u'άι'), + (0x1FB5, 'X'), + (0x1FB6, 'V'), + (0x1FB7, 'M', u'ᾶι'), + (0x1FB8, 'M', u'ᾰ'), + (0x1FB9, 'M', u'ᾱ'), + (0x1FBA, 'M', u'ὰ'), + (0x1FBB, 'M', u'ά'), + (0x1FBC, 'M', u'αι'), + (0x1FBD, '3', u' ̓'), + (0x1FBE, 'M', u'ι'), + (0x1FBF, '3', u' ̓'), + (0x1FC0, '3', u' ͂'), + (0x1FC1, '3', u' ̈͂'), + (0x1FC2, 'M', u'ὴι'), + (0x1FC3, 'M', u'ηι'), + (0x1FC4, 'M', u'ήι'), + (0x1FC5, 'X'), + (0x1FC6, 'V'), + (0x1FC7, 'M', u'ῆι'), + (0x1FC8, 'M', u'ὲ'), + (0x1FC9, 'M', u'έ'), + (0x1FCA, 'M', u'ὴ'), + (0x1FCB, 'M', u'ή'), + (0x1FCC, 'M', u'ηι'), + (0x1FCD, '3', u' ̓̀'), + (0x1FCE, '3', u' ̓́'), + (0x1FCF, '3', u' ̓͂'), + (0x1FD0, 'V'), + (0x1FD3, 'M', u'ΐ'), + (0x1FD4, 'X'), + (0x1FD6, 'V'), + (0x1FD8, 'M', u'ῐ'), + (0x1FD9, 'M', u'ῑ'), + (0x1FDA, 'M', u'ὶ'), + (0x1FDB, 'M', u'ί'), + (0x1FDC, 'X'), + (0x1FDD, '3', u' ̔̀'), + (0x1FDE, '3', u' ̔́'), + (0x1FDF, '3', u' ̔͂'), + (0x1FE0, 'V'), + (0x1FE3, 'M', u'ΰ'), + (0x1FE4, 'V'), + (0x1FE8, 'M', u'ῠ'), + (0x1FE9, 'M', u'ῡ'), + (0x1FEA, 'M', u'ὺ'), + (0x1FEB, 'M', u'ύ'), + (0x1FEC, 'M', u'ῥ'), + (0x1FED, '3', u' ̈̀'), + (0x1FEE, '3', u' ̈́'), + (0x1FEF, '3', u'`'), + (0x1FF0, 'X'), + (0x1FF2, 'M', u'ὼι'), + (0x1FF3, 'M', u'ωι'), + (0x1FF4, 'M', u'ώι'), + (0x1FF5, 'X'), + (0x1FF6, 'V'), + (0x1FF7, 'M', u'ῶι'), + (0x1FF8, 'M', u'ὸ'), + (0x1FF9, 'M', u'ό'), + (0x1FFA, 'M', u'ὼ'), + (0x1FFB, 'M', u'ώ'), + (0x1FFC, 'M', u'ωι'), + (0x1FFD, '3', u' ́'), + (0x1FFE, '3', u' ̔'), + (0x1FFF, 'X'), + (0x2000, '3', u' '), + (0x200B, 'I'), + (0x200C, 'D', u''), + (0x200E, 'X'), + (0x2010, 'V'), + (0x2011, 'M', u'‐'), + (0x2012, 'V'), + (0x2017, '3', u' ̳'), + (0x2018, 'V'), + (0x2024, 'X'), + (0x2027, 'V'), + (0x2028, 'X'), + (0x202F, '3', u' '), + (0x2030, 'V'), + (0x2033, 'M', u'′′'), + (0x2034, 'M', u'′′′'), + (0x2035, 'V'), + (0x2036, 'M', u'‵‵'), + (0x2037, 'M', u'‵‵‵'), + ] + +def _seg_21(): + return [ + (0x2038, 'V'), + (0x203C, '3', u'!!'), + (0x203D, 'V'), + (0x203E, '3', u' ̅'), + (0x203F, 'V'), + (0x2047, '3', u'??'), + (0x2048, '3', u'?!'), + (0x2049, '3', u'!?'), + (0x204A, 'V'), + (0x2057, 'M', u'′′′′'), + (0x2058, 'V'), + (0x205F, '3', u' '), + (0x2060, 'I'), + (0x2061, 'X'), + (0x2064, 'I'), + (0x2065, 'X'), + (0x2070, 'M', u'0'), + (0x2071, 'M', u'i'), + (0x2072, 'X'), + (0x2074, 'M', u'4'), + (0x2075, 'M', u'5'), + (0x2076, 'M', u'6'), + (0x2077, 'M', u'7'), + (0x2078, 'M', u'8'), + (0x2079, 'M', u'9'), + (0x207A, '3', u'+'), + (0x207B, 'M', u'−'), + (0x207C, '3', u'='), + (0x207D, '3', u'('), + (0x207E, '3', u')'), + (0x207F, 'M', u'n'), + (0x2080, 'M', u'0'), + (0x2081, 'M', u'1'), + (0x2082, 'M', u'2'), + (0x2083, 'M', u'3'), + (0x2084, 'M', u'4'), + (0x2085, 'M', u'5'), + (0x2086, 'M', u'6'), + (0x2087, 'M', u'7'), + (0x2088, 'M', u'8'), + (0x2089, 'M', u'9'), + (0x208A, '3', u'+'), + (0x208B, 'M', u'−'), + (0x208C, '3', u'='), + (0x208D, '3', u'('), + (0x208E, '3', u')'), + (0x208F, 'X'), + (0x2090, 'M', u'a'), + (0x2091, 'M', u'e'), + (0x2092, 'M', u'o'), + (0x2093, 'M', u'x'), + (0x2094, 'M', u'ə'), + (0x2095, 'M', u'h'), + (0x2096, 'M', u'k'), + (0x2097, 'M', u'l'), + (0x2098, 'M', u'm'), + (0x2099, 'M', u'n'), + (0x209A, 'M', u'p'), + (0x209B, 'M', u's'), + (0x209C, 'M', u't'), + (0x209D, 'X'), + (0x20A0, 'V'), + (0x20A8, 'M', u'rs'), + (0x20A9, 'V'), + (0x20C0, 'X'), + (0x20D0, 'V'), + (0x20F1, 'X'), + (0x2100, '3', u'a/c'), + (0x2101, '3', u'a/s'), + (0x2102, 'M', u'c'), + (0x2103, 'M', u'°c'), + (0x2104, 'V'), + (0x2105, '3', u'c/o'), + (0x2106, '3', u'c/u'), + (0x2107, 'M', u'ɛ'), + (0x2108, 'V'), + (0x2109, 'M', u'°f'), + (0x210A, 'M', u'g'), + (0x210B, 'M', u'h'), + (0x210F, 'M', u'ħ'), + (0x2110, 'M', u'i'), + (0x2112, 'M', u'l'), + (0x2114, 'V'), + (0x2115, 'M', u'n'), + (0x2116, 'M', u'no'), + (0x2117, 'V'), + (0x2119, 'M', u'p'), + (0x211A, 'M', u'q'), + (0x211B, 'M', u'r'), + (0x211E, 'V'), + (0x2120, 'M', u'sm'), + (0x2121, 'M', u'tel'), + (0x2122, 'M', u'tm'), + (0x2123, 'V'), + (0x2124, 'M', u'z'), + (0x2125, 'V'), + (0x2126, 'M', u'ω'), + (0x2127, 'V'), + (0x2128, 'M', u'z'), + (0x2129, 'V'), + ] + +def _seg_22(): + return [ + (0x212A, 'M', u'k'), + (0x212B, 'M', u'å'), + (0x212C, 'M', u'b'), + (0x212D, 'M', u'c'), + (0x212E, 'V'), + (0x212F, 'M', u'e'), + (0x2131, 'M', u'f'), + (0x2132, 'X'), + (0x2133, 'M', u'm'), + (0x2134, 'M', u'o'), + (0x2135, 'M', u'א'), + (0x2136, 'M', u'ב'), + (0x2137, 'M', u'ג'), + (0x2138, 'M', u'ד'), + (0x2139, 'M', u'i'), + (0x213A, 'V'), + (0x213B, 'M', u'fax'), + (0x213C, 'M', u'π'), + (0x213D, 'M', u'γ'), + (0x213F, 'M', u'π'), + (0x2140, 'M', u'∑'), + (0x2141, 'V'), + (0x2145, 'M', u'd'), + (0x2147, 'M', u'e'), + (0x2148, 'M', u'i'), + (0x2149, 'M', u'j'), + (0x214A, 'V'), + (0x2150, 'M', u'1⁄7'), + (0x2151, 'M', u'1⁄9'), + (0x2152, 'M', u'1⁄10'), + (0x2153, 'M', u'1⁄3'), + (0x2154, 'M', u'2⁄3'), + (0x2155, 'M', u'1⁄5'), + (0x2156, 'M', u'2⁄5'), + (0x2157, 'M', u'3⁄5'), + (0x2158, 'M', u'4⁄5'), + (0x2159, 'M', u'1⁄6'), + (0x215A, 'M', u'5⁄6'), + (0x215B, 'M', u'1⁄8'), + (0x215C, 'M', u'3⁄8'), + (0x215D, 'M', u'5⁄8'), + (0x215E, 'M', u'7⁄8'), + (0x215F, 'M', u'1⁄'), + (0x2160, 'M', u'i'), + (0x2161, 'M', u'ii'), + (0x2162, 'M', u'iii'), + (0x2163, 'M', u'iv'), + (0x2164, 'M', u'v'), + (0x2165, 'M', u'vi'), + (0x2166, 'M', u'vii'), + (0x2167, 'M', u'viii'), + (0x2168, 'M', u'ix'), + (0x2169, 'M', u'x'), + (0x216A, 'M', u'xi'), + (0x216B, 'M', u'xii'), + (0x216C, 'M', u'l'), + (0x216D, 'M', u'c'), + (0x216E, 'M', u'd'), + (0x216F, 'M', u'm'), + (0x2170, 'M', u'i'), + (0x2171, 'M', u'ii'), + (0x2172, 'M', u'iii'), + (0x2173, 'M', u'iv'), + (0x2174, 'M', u'v'), + (0x2175, 'M', u'vi'), + (0x2176, 'M', u'vii'), + (0x2177, 'M', u'viii'), + (0x2178, 'M', u'ix'), + (0x2179, 'M', u'x'), + (0x217A, 'M', u'xi'), + (0x217B, 'M', u'xii'), + (0x217C, 'M', u'l'), + (0x217D, 'M', u'c'), + (0x217E, 'M', u'd'), + (0x217F, 'M', u'm'), + (0x2180, 'V'), + (0x2183, 'X'), + (0x2184, 'V'), + (0x2189, 'M', u'0⁄3'), + (0x218A, 'V'), + (0x218C, 'X'), + (0x2190, 'V'), + (0x222C, 'M', u'∫∫'), + (0x222D, 'M', u'∫∫∫'), + (0x222E, 'V'), + (0x222F, 'M', u'∮∮'), + (0x2230, 'M', u'∮∮∮'), + (0x2231, 'V'), + (0x2260, '3'), + (0x2261, 'V'), + (0x226E, '3'), + (0x2270, 'V'), + (0x2329, 'M', u'〈'), + (0x232A, 'M', u'〉'), + (0x232B, 'V'), + (0x2427, 'X'), + (0x2440, 'V'), + (0x244B, 'X'), + (0x2460, 'M', u'1'), + (0x2461, 'M', u'2'), + ] + +def _seg_23(): + return [ + (0x2462, 'M', u'3'), + (0x2463, 'M', u'4'), + (0x2464, 'M', u'5'), + (0x2465, 'M', u'6'), + (0x2466, 'M', u'7'), + (0x2467, 'M', u'8'), + (0x2468, 'M', u'9'), + (0x2469, 'M', u'10'), + (0x246A, 'M', u'11'), + (0x246B, 'M', u'12'), + (0x246C, 'M', u'13'), + (0x246D, 'M', u'14'), + (0x246E, 'M', u'15'), + (0x246F, 'M', u'16'), + (0x2470, 'M', u'17'), + (0x2471, 'M', u'18'), + (0x2472, 'M', u'19'), + (0x2473, 'M', u'20'), + (0x2474, '3', u'(1)'), + (0x2475, '3', u'(2)'), + (0x2476, '3', u'(3)'), + (0x2477, '3', u'(4)'), + (0x2478, '3', u'(5)'), + (0x2479, '3', u'(6)'), + (0x247A, '3', u'(7)'), + (0x247B, '3', u'(8)'), + (0x247C, '3', u'(9)'), + (0x247D, '3', u'(10)'), + (0x247E, '3', u'(11)'), + (0x247F, '3', u'(12)'), + (0x2480, '3', u'(13)'), + (0x2481, '3', u'(14)'), + (0x2482, '3', u'(15)'), + (0x2483, '3', u'(16)'), + (0x2484, '3', u'(17)'), + (0x2485, '3', u'(18)'), + (0x2486, '3', u'(19)'), + (0x2487, '3', u'(20)'), + (0x2488, 'X'), + (0x249C, '3', u'(a)'), + (0x249D, '3', u'(b)'), + (0x249E, '3', u'(c)'), + (0x249F, '3', u'(d)'), + (0x24A0, '3', u'(e)'), + (0x24A1, '3', u'(f)'), + (0x24A2, '3', u'(g)'), + (0x24A3, '3', u'(h)'), + (0x24A4, '3', u'(i)'), + (0x24A5, '3', u'(j)'), + (0x24A6, '3', u'(k)'), + (0x24A7, '3', u'(l)'), + (0x24A8, '3', u'(m)'), + (0x24A9, '3', u'(n)'), + (0x24AA, '3', u'(o)'), + (0x24AB, '3', u'(p)'), + (0x24AC, '3', u'(q)'), + (0x24AD, '3', u'(r)'), + (0x24AE, '3', u'(s)'), + (0x24AF, '3', u'(t)'), + (0x24B0, '3', u'(u)'), + (0x24B1, '3', u'(v)'), + (0x24B2, '3', u'(w)'), + (0x24B3, '3', u'(x)'), + (0x24B4, '3', u'(y)'), + (0x24B5, '3', u'(z)'), + (0x24B6, 'M', u'a'), + (0x24B7, 'M', u'b'), + (0x24B8, 'M', u'c'), + (0x24B9, 'M', u'd'), + (0x24BA, 'M', u'e'), + (0x24BB, 'M', u'f'), + (0x24BC, 'M', u'g'), + (0x24BD, 'M', u'h'), + (0x24BE, 'M', u'i'), + (0x24BF, 'M', u'j'), + (0x24C0, 'M', u'k'), + (0x24C1, 'M', u'l'), + (0x24C2, 'M', u'm'), + (0x24C3, 'M', u'n'), + (0x24C4, 'M', u'o'), + (0x24C5, 'M', u'p'), + (0x24C6, 'M', u'q'), + (0x24C7, 'M', u'r'), + (0x24C8, 'M', u's'), + (0x24C9, 'M', u't'), + (0x24CA, 'M', u'u'), + (0x24CB, 'M', u'v'), + (0x24CC, 'M', u'w'), + (0x24CD, 'M', u'x'), + (0x24CE, 'M', u'y'), + (0x24CF, 'M', u'z'), + (0x24D0, 'M', u'a'), + (0x24D1, 'M', u'b'), + (0x24D2, 'M', u'c'), + (0x24D3, 'M', u'd'), + (0x24D4, 'M', u'e'), + (0x24D5, 'M', u'f'), + (0x24D6, 'M', u'g'), + (0x24D7, 'M', u'h'), + (0x24D8, 'M', u'i'), + ] + +def _seg_24(): + return [ + (0x24D9, 'M', u'j'), + (0x24DA, 'M', u'k'), + (0x24DB, 'M', u'l'), + (0x24DC, 'M', u'm'), + (0x24DD, 'M', u'n'), + (0x24DE, 'M', u'o'), + (0x24DF, 'M', u'p'), + (0x24E0, 'M', u'q'), + (0x24E1, 'M', u'r'), + (0x24E2, 'M', u's'), + (0x24E3, 'M', u't'), + (0x24E4, 'M', u'u'), + (0x24E5, 'M', u'v'), + (0x24E6, 'M', u'w'), + (0x24E7, 'M', u'x'), + (0x24E8, 'M', u'y'), + (0x24E9, 'M', u'z'), + (0x24EA, 'M', u'0'), + (0x24EB, 'V'), + (0x2A0C, 'M', u'∫∫∫∫'), + (0x2A0D, 'V'), + (0x2A74, '3', u'::='), + (0x2A75, '3', u'=='), + (0x2A76, '3', u'==='), + (0x2A77, 'V'), + (0x2ADC, 'M', u'⫝̸'), + (0x2ADD, 'V'), + (0x2B74, 'X'), + (0x2B76, 'V'), + (0x2B96, 'X'), + (0x2B98, 'V'), + (0x2BC9, 'X'), + (0x2BCA, 'V'), + (0x2BFF, 'X'), + (0x2C00, 'M', u'ⰰ'), + (0x2C01, 'M', u'ⰱ'), + (0x2C02, 'M', u'ⰲ'), + (0x2C03, 'M', u'ⰳ'), + (0x2C04, 'M', u'ⰴ'), + (0x2C05, 'M', u'ⰵ'), + (0x2C06, 'M', u'ⰶ'), + (0x2C07, 'M', u'ⰷ'), + (0x2C08, 'M', u'ⰸ'), + (0x2C09, 'M', u'ⰹ'), + (0x2C0A, 'M', u'ⰺ'), + (0x2C0B, 'M', u'ⰻ'), + (0x2C0C, 'M', u'ⰼ'), + (0x2C0D, 'M', u'ⰽ'), + (0x2C0E, 'M', u'ⰾ'), + (0x2C0F, 'M', u'ⰿ'), + (0x2C10, 'M', u'ⱀ'), + (0x2C11, 'M', u'ⱁ'), + (0x2C12, 'M', u'ⱂ'), + (0x2C13, 'M', u'ⱃ'), + (0x2C14, 'M', u'ⱄ'), + (0x2C15, 'M', u'ⱅ'), + (0x2C16, 'M', u'ⱆ'), + (0x2C17, 'M', u'ⱇ'), + (0x2C18, 'M', u'ⱈ'), + (0x2C19, 'M', u'ⱉ'), + (0x2C1A, 'M', u'ⱊ'), + (0x2C1B, 'M', u'ⱋ'), + (0x2C1C, 'M', u'ⱌ'), + (0x2C1D, 'M', u'ⱍ'), + (0x2C1E, 'M', u'ⱎ'), + (0x2C1F, 'M', u'ⱏ'), + (0x2C20, 'M', u'ⱐ'), + (0x2C21, 'M', u'ⱑ'), + (0x2C22, 'M', u'ⱒ'), + (0x2C23, 'M', u'ⱓ'), + (0x2C24, 'M', u'ⱔ'), + (0x2C25, 'M', u'ⱕ'), + (0x2C26, 'M', u'ⱖ'), + (0x2C27, 'M', u'ⱗ'), + (0x2C28, 'M', u'ⱘ'), + (0x2C29, 'M', u'ⱙ'), + (0x2C2A, 'M', u'ⱚ'), + (0x2C2B, 'M', u'ⱛ'), + (0x2C2C, 'M', u'ⱜ'), + (0x2C2D, 'M', u'ⱝ'), + (0x2C2E, 'M', u'ⱞ'), + (0x2C2F, 'X'), + (0x2C30, 'V'), + (0x2C5F, 'X'), + (0x2C60, 'M', u'ⱡ'), + (0x2C61, 'V'), + (0x2C62, 'M', u'ɫ'), + (0x2C63, 'M', u'ᵽ'), + (0x2C64, 'M', u'ɽ'), + (0x2C65, 'V'), + (0x2C67, 'M', u'ⱨ'), + (0x2C68, 'V'), + (0x2C69, 'M', u'ⱪ'), + (0x2C6A, 'V'), + (0x2C6B, 'M', u'ⱬ'), + (0x2C6C, 'V'), + (0x2C6D, 'M', u'ɑ'), + (0x2C6E, 'M', u'ɱ'), + (0x2C6F, 'M', u'ɐ'), + (0x2C70, 'M', u'ɒ'), + ] + +def _seg_25(): + return [ + (0x2C71, 'V'), + (0x2C72, 'M', u'ⱳ'), + (0x2C73, 'V'), + (0x2C75, 'M', u'ⱶ'), + (0x2C76, 'V'), + (0x2C7C, 'M', u'j'), + (0x2C7D, 'M', u'v'), + (0x2C7E, 'M', u'ȿ'), + (0x2C7F, 'M', u'ɀ'), + (0x2C80, 'M', u'ⲁ'), + (0x2C81, 'V'), + (0x2C82, 'M', u'ⲃ'), + (0x2C83, 'V'), + (0x2C84, 'M', u'ⲅ'), + (0x2C85, 'V'), + (0x2C86, 'M', u'ⲇ'), + (0x2C87, 'V'), + (0x2C88, 'M', u'ⲉ'), + (0x2C89, 'V'), + (0x2C8A, 'M', u'ⲋ'), + (0x2C8B, 'V'), + (0x2C8C, 'M', u'ⲍ'), + (0x2C8D, 'V'), + (0x2C8E, 'M', u'ⲏ'), + (0x2C8F, 'V'), + (0x2C90, 'M', u'ⲑ'), + (0x2C91, 'V'), + (0x2C92, 'M', u'ⲓ'), + (0x2C93, 'V'), + (0x2C94, 'M', u'ⲕ'), + (0x2C95, 'V'), + (0x2C96, 'M', u'ⲗ'), + (0x2C97, 'V'), + (0x2C98, 'M', u'ⲙ'), + (0x2C99, 'V'), + (0x2C9A, 'M', u'ⲛ'), + (0x2C9B, 'V'), + (0x2C9C, 'M', u'ⲝ'), + (0x2C9D, 'V'), + (0x2C9E, 'M', u'ⲟ'), + (0x2C9F, 'V'), + (0x2CA0, 'M', u'ⲡ'), + (0x2CA1, 'V'), + (0x2CA2, 'M', u'ⲣ'), + (0x2CA3, 'V'), + (0x2CA4, 'M', u'ⲥ'), + (0x2CA5, 'V'), + (0x2CA6, 'M', u'ⲧ'), + (0x2CA7, 'V'), + (0x2CA8, 'M', u'ⲩ'), + (0x2CA9, 'V'), + (0x2CAA, 'M', u'ⲫ'), + (0x2CAB, 'V'), + (0x2CAC, 'M', u'ⲭ'), + (0x2CAD, 'V'), + (0x2CAE, 'M', u'ⲯ'), + (0x2CAF, 'V'), + (0x2CB0, 'M', u'ⲱ'), + (0x2CB1, 'V'), + (0x2CB2, 'M', u'ⲳ'), + (0x2CB3, 'V'), + (0x2CB4, 'M', u'ⲵ'), + (0x2CB5, 'V'), + (0x2CB6, 'M', u'ⲷ'), + (0x2CB7, 'V'), + (0x2CB8, 'M', u'ⲹ'), + (0x2CB9, 'V'), + (0x2CBA, 'M', u'ⲻ'), + (0x2CBB, 'V'), + (0x2CBC, 'M', u'ⲽ'), + (0x2CBD, 'V'), + (0x2CBE, 'M', u'ⲿ'), + (0x2CBF, 'V'), + (0x2CC0, 'M', u'ⳁ'), + (0x2CC1, 'V'), + (0x2CC2, 'M', u'ⳃ'), + (0x2CC3, 'V'), + (0x2CC4, 'M', u'ⳅ'), + (0x2CC5, 'V'), + (0x2CC6, 'M', u'ⳇ'), + (0x2CC7, 'V'), + (0x2CC8, 'M', u'ⳉ'), + (0x2CC9, 'V'), + (0x2CCA, 'M', u'ⳋ'), + (0x2CCB, 'V'), + (0x2CCC, 'M', u'ⳍ'), + (0x2CCD, 'V'), + (0x2CCE, 'M', u'ⳏ'), + (0x2CCF, 'V'), + (0x2CD0, 'M', u'ⳑ'), + (0x2CD1, 'V'), + (0x2CD2, 'M', u'ⳓ'), + (0x2CD3, 'V'), + (0x2CD4, 'M', u'ⳕ'), + (0x2CD5, 'V'), + (0x2CD6, 'M', u'ⳗ'), + (0x2CD7, 'V'), + (0x2CD8, 'M', u'ⳙ'), + (0x2CD9, 'V'), + (0x2CDA, 'M', u'ⳛ'), + ] + +def _seg_26(): + return [ + (0x2CDB, 'V'), + (0x2CDC, 'M', u'ⳝ'), + (0x2CDD, 'V'), + (0x2CDE, 'M', u'ⳟ'), + (0x2CDF, 'V'), + (0x2CE0, 'M', u'ⳡ'), + (0x2CE1, 'V'), + (0x2CE2, 'M', u'ⳣ'), + (0x2CE3, 'V'), + (0x2CEB, 'M', u'ⳬ'), + (0x2CEC, 'V'), + (0x2CED, 'M', u'ⳮ'), + (0x2CEE, 'V'), + (0x2CF2, 'M', u'ⳳ'), + (0x2CF3, 'V'), + (0x2CF4, 'X'), + (0x2CF9, 'V'), + (0x2D26, 'X'), + (0x2D27, 'V'), + (0x2D28, 'X'), + (0x2D2D, 'V'), + (0x2D2E, 'X'), + (0x2D30, 'V'), + (0x2D68, 'X'), + (0x2D6F, 'M', u'ⵡ'), + (0x2D70, 'V'), + (0x2D71, 'X'), + (0x2D7F, 'V'), + (0x2D97, 'X'), + (0x2DA0, 'V'), + (0x2DA7, 'X'), + (0x2DA8, 'V'), + (0x2DAF, 'X'), + (0x2DB0, 'V'), + (0x2DB7, 'X'), + (0x2DB8, 'V'), + (0x2DBF, 'X'), + (0x2DC0, 'V'), + (0x2DC7, 'X'), + (0x2DC8, 'V'), + (0x2DCF, 'X'), + (0x2DD0, 'V'), + (0x2DD7, 'X'), + (0x2DD8, 'V'), + (0x2DDF, 'X'), + (0x2DE0, 'V'), + (0x2E4F, 'X'), + (0x2E80, 'V'), + (0x2E9A, 'X'), + (0x2E9B, 'V'), + (0x2E9F, 'M', u'母'), + (0x2EA0, 'V'), + (0x2EF3, 'M', u'龟'), + (0x2EF4, 'X'), + (0x2F00, 'M', u'一'), + (0x2F01, 'M', u'丨'), + (0x2F02, 'M', u'丶'), + (0x2F03, 'M', u'丿'), + (0x2F04, 'M', u'乙'), + (0x2F05, 'M', u'亅'), + (0x2F06, 'M', u'二'), + (0x2F07, 'M', u'亠'), + (0x2F08, 'M', u'人'), + (0x2F09, 'M', u'儿'), + (0x2F0A, 'M', u'入'), + (0x2F0B, 'M', u'八'), + (0x2F0C, 'M', u'冂'), + (0x2F0D, 'M', u'冖'), + (0x2F0E, 'M', u'冫'), + (0x2F0F, 'M', u'几'), + (0x2F10, 'M', u'凵'), + (0x2F11, 'M', u'刀'), + (0x2F12, 'M', u'力'), + (0x2F13, 'M', u'勹'), + (0x2F14, 'M', u'匕'), + (0x2F15, 'M', u'匚'), + (0x2F16, 'M', u'匸'), + (0x2F17, 'M', u'十'), + (0x2F18, 'M', u'卜'), + (0x2F19, 'M', u'卩'), + (0x2F1A, 'M', u'厂'), + (0x2F1B, 'M', u'厶'), + (0x2F1C, 'M', u'又'), + (0x2F1D, 'M', u'口'), + (0x2F1E, 'M', u'囗'), + (0x2F1F, 'M', u'土'), + (0x2F20, 'M', u'士'), + (0x2F21, 'M', u'夂'), + (0x2F22, 'M', u'夊'), + (0x2F23, 'M', u'夕'), + (0x2F24, 'M', u'大'), + (0x2F25, 'M', u'女'), + (0x2F26, 'M', u'子'), + (0x2F27, 'M', u'宀'), + (0x2F28, 'M', u'寸'), + (0x2F29, 'M', u'小'), + (0x2F2A, 'M', u'尢'), + (0x2F2B, 'M', u'尸'), + (0x2F2C, 'M', u'屮'), + (0x2F2D, 'M', u'山'), + ] + +def _seg_27(): + return [ + (0x2F2E, 'M', u'巛'), + (0x2F2F, 'M', u'工'), + (0x2F30, 'M', u'己'), + (0x2F31, 'M', u'巾'), + (0x2F32, 'M', u'干'), + (0x2F33, 'M', u'幺'), + (0x2F34, 'M', u'广'), + (0x2F35, 'M', u'廴'), + (0x2F36, 'M', u'廾'), + (0x2F37, 'M', u'弋'), + (0x2F38, 'M', u'弓'), + (0x2F39, 'M', u'彐'), + (0x2F3A, 'M', u'彡'), + (0x2F3B, 'M', u'彳'), + (0x2F3C, 'M', u'心'), + (0x2F3D, 'M', u'戈'), + (0x2F3E, 'M', u'戶'), + (0x2F3F, 'M', u'手'), + (0x2F40, 'M', u'支'), + (0x2F41, 'M', u'攴'), + (0x2F42, 'M', u'文'), + (0x2F43, 'M', u'斗'), + (0x2F44, 'M', u'斤'), + (0x2F45, 'M', u'方'), + (0x2F46, 'M', u'无'), + (0x2F47, 'M', u'日'), + (0x2F48, 'M', u'曰'), + (0x2F49, 'M', u'月'), + (0x2F4A, 'M', u'木'), + (0x2F4B, 'M', u'欠'), + (0x2F4C, 'M', u'止'), + (0x2F4D, 'M', u'歹'), + (0x2F4E, 'M', u'殳'), + (0x2F4F, 'M', u'毋'), + (0x2F50, 'M', u'比'), + (0x2F51, 'M', u'毛'), + (0x2F52, 'M', u'氏'), + (0x2F53, 'M', u'气'), + (0x2F54, 'M', u'水'), + (0x2F55, 'M', u'火'), + (0x2F56, 'M', u'爪'), + (0x2F57, 'M', u'父'), + (0x2F58, 'M', u'爻'), + (0x2F59, 'M', u'爿'), + (0x2F5A, 'M', u'片'), + (0x2F5B, 'M', u'牙'), + (0x2F5C, 'M', u'牛'), + (0x2F5D, 'M', u'犬'), + (0x2F5E, 'M', u'玄'), + (0x2F5F, 'M', u'玉'), + (0x2F60, 'M', u'瓜'), + (0x2F61, 'M', u'瓦'), + (0x2F62, 'M', u'甘'), + (0x2F63, 'M', u'生'), + (0x2F64, 'M', u'用'), + (0x2F65, 'M', u'田'), + (0x2F66, 'M', u'疋'), + (0x2F67, 'M', u'疒'), + (0x2F68, 'M', u'癶'), + (0x2F69, 'M', u'白'), + (0x2F6A, 'M', u'皮'), + (0x2F6B, 'M', u'皿'), + (0x2F6C, 'M', u'目'), + (0x2F6D, 'M', u'矛'), + (0x2F6E, 'M', u'矢'), + (0x2F6F, 'M', u'石'), + (0x2F70, 'M', u'示'), + (0x2F71, 'M', u'禸'), + (0x2F72, 'M', u'禾'), + (0x2F73, 'M', u'穴'), + (0x2F74, 'M', u'立'), + (0x2F75, 'M', u'竹'), + (0x2F76, 'M', u'米'), + (0x2F77, 'M', u'糸'), + (0x2F78, 'M', u'缶'), + (0x2F79, 'M', u'网'), + (0x2F7A, 'M', u'羊'), + (0x2F7B, 'M', u'羽'), + (0x2F7C, 'M', u'老'), + (0x2F7D, 'M', u'而'), + (0x2F7E, 'M', u'耒'), + (0x2F7F, 'M', u'耳'), + (0x2F80, 'M', u'聿'), + (0x2F81, 'M', u'肉'), + (0x2F82, 'M', u'臣'), + (0x2F83, 'M', u'自'), + (0x2F84, 'M', u'至'), + (0x2F85, 'M', u'臼'), + (0x2F86, 'M', u'舌'), + (0x2F87, 'M', u'舛'), + (0x2F88, 'M', u'舟'), + (0x2F89, 'M', u'艮'), + (0x2F8A, 'M', u'色'), + (0x2F8B, 'M', u'艸'), + (0x2F8C, 'M', u'虍'), + (0x2F8D, 'M', u'虫'), + (0x2F8E, 'M', u'血'), + (0x2F8F, 'M', u'行'), + (0x2F90, 'M', u'衣'), + (0x2F91, 'M', u'襾'), + ] + +def _seg_28(): + return [ + (0x2F92, 'M', u'見'), + (0x2F93, 'M', u'角'), + (0x2F94, 'M', u'言'), + (0x2F95, 'M', u'谷'), + (0x2F96, 'M', u'豆'), + (0x2F97, 'M', u'豕'), + (0x2F98, 'M', u'豸'), + (0x2F99, 'M', u'貝'), + (0x2F9A, 'M', u'赤'), + (0x2F9B, 'M', u'走'), + (0x2F9C, 'M', u'足'), + (0x2F9D, 'M', u'身'), + (0x2F9E, 'M', u'車'), + (0x2F9F, 'M', u'辛'), + (0x2FA0, 'M', u'辰'), + (0x2FA1, 'M', u'辵'), + (0x2FA2, 'M', u'邑'), + (0x2FA3, 'M', u'酉'), + (0x2FA4, 'M', u'釆'), + (0x2FA5, 'M', u'里'), + (0x2FA6, 'M', u'金'), + (0x2FA7, 'M', u'長'), + (0x2FA8, 'M', u'門'), + (0x2FA9, 'M', u'阜'), + (0x2FAA, 'M', u'隶'), + (0x2FAB, 'M', u'隹'), + (0x2FAC, 'M', u'雨'), + (0x2FAD, 'M', u'靑'), + (0x2FAE, 'M', u'非'), + (0x2FAF, 'M', u'面'), + (0x2FB0, 'M', u'革'), + (0x2FB1, 'M', u'韋'), + (0x2FB2, 'M', u'韭'), + (0x2FB3, 'M', u'音'), + (0x2FB4, 'M', u'頁'), + (0x2FB5, 'M', u'風'), + (0x2FB6, 'M', u'飛'), + (0x2FB7, 'M', u'食'), + (0x2FB8, 'M', u'首'), + (0x2FB9, 'M', u'香'), + (0x2FBA, 'M', u'馬'), + (0x2FBB, 'M', u'骨'), + (0x2FBC, 'M', u'高'), + (0x2FBD, 'M', u'髟'), + (0x2FBE, 'M', u'鬥'), + (0x2FBF, 'M', u'鬯'), + (0x2FC0, 'M', u'鬲'), + (0x2FC1, 'M', u'鬼'), + (0x2FC2, 'M', u'魚'), + (0x2FC3, 'M', u'鳥'), + (0x2FC4, 'M', u'鹵'), + (0x2FC5, 'M', u'鹿'), + (0x2FC6, 'M', u'麥'), + (0x2FC7, 'M', u'麻'), + (0x2FC8, 'M', u'黃'), + (0x2FC9, 'M', u'黍'), + (0x2FCA, 'M', u'黑'), + (0x2FCB, 'M', u'黹'), + (0x2FCC, 'M', u'黽'), + (0x2FCD, 'M', u'鼎'), + (0x2FCE, 'M', u'鼓'), + (0x2FCF, 'M', u'鼠'), + (0x2FD0, 'M', u'鼻'), + (0x2FD1, 'M', u'齊'), + (0x2FD2, 'M', u'齒'), + (0x2FD3, 'M', u'龍'), + (0x2FD4, 'M', u'龜'), + (0x2FD5, 'M', u'龠'), + (0x2FD6, 'X'), + (0x3000, '3', u' '), + (0x3001, 'V'), + (0x3002, 'M', u'.'), + (0x3003, 'V'), + (0x3036, 'M', u'〒'), + (0x3037, 'V'), + (0x3038, 'M', u'十'), + (0x3039, 'M', u'卄'), + (0x303A, 'M', u'卅'), + (0x303B, 'V'), + (0x3040, 'X'), + (0x3041, 'V'), + (0x3097, 'X'), + (0x3099, 'V'), + (0x309B, '3', u' ゙'), + (0x309C, '3', u' ゚'), + (0x309D, 'V'), + (0x309F, 'M', u'より'), + (0x30A0, 'V'), + (0x30FF, 'M', u'コト'), + (0x3100, 'X'), + (0x3105, 'V'), + (0x3130, 'X'), + (0x3131, 'M', u'ᄀ'), + (0x3132, 'M', u'ᄁ'), + (0x3133, 'M', u'ᆪ'), + (0x3134, 'M', u'ᄂ'), + (0x3135, 'M', u'ᆬ'), + (0x3136, 'M', u'ᆭ'), + (0x3137, 'M', u'ᄃ'), + (0x3138, 'M', u'ᄄ'), + ] + +def _seg_29(): + return [ + (0x3139, 'M', u'ᄅ'), + (0x313A, 'M', u'ᆰ'), + (0x313B, 'M', u'ᆱ'), + (0x313C, 'M', u'ᆲ'), + (0x313D, 'M', u'ᆳ'), + (0x313E, 'M', u'ᆴ'), + (0x313F, 'M', u'ᆵ'), + (0x3140, 'M', u'ᄚ'), + (0x3141, 'M', u'ᄆ'), + (0x3142, 'M', u'ᄇ'), + (0x3143, 'M', u'ᄈ'), + (0x3144, 'M', u'ᄡ'), + (0x3145, 'M', u'ᄉ'), + (0x3146, 'M', u'ᄊ'), + (0x3147, 'M', u'ᄋ'), + (0x3148, 'M', u'ᄌ'), + (0x3149, 'M', u'ᄍ'), + (0x314A, 'M', u'ᄎ'), + (0x314B, 'M', u'ᄏ'), + (0x314C, 'M', u'ᄐ'), + (0x314D, 'M', u'ᄑ'), + (0x314E, 'M', u'ᄒ'), + (0x314F, 'M', u'ᅡ'), + (0x3150, 'M', u'ᅢ'), + (0x3151, 'M', u'ᅣ'), + (0x3152, 'M', u'ᅤ'), + (0x3153, 'M', u'ᅥ'), + (0x3154, 'M', u'ᅦ'), + (0x3155, 'M', u'ᅧ'), + (0x3156, 'M', u'ᅨ'), + (0x3157, 'M', u'ᅩ'), + (0x3158, 'M', u'ᅪ'), + (0x3159, 'M', u'ᅫ'), + (0x315A, 'M', u'ᅬ'), + (0x315B, 'M', u'ᅭ'), + (0x315C, 'M', u'ᅮ'), + (0x315D, 'M', u'ᅯ'), + (0x315E, 'M', u'ᅰ'), + (0x315F, 'M', u'ᅱ'), + (0x3160, 'M', u'ᅲ'), + (0x3161, 'M', u'ᅳ'), + (0x3162, 'M', u'ᅴ'), + (0x3163, 'M', u'ᅵ'), + (0x3164, 'X'), + (0x3165, 'M', u'ᄔ'), + (0x3166, 'M', u'ᄕ'), + (0x3167, 'M', u'ᇇ'), + (0x3168, 'M', u'ᇈ'), + (0x3169, 'M', u'ᇌ'), + (0x316A, 'M', u'ᇎ'), + (0x316B, 'M', u'ᇓ'), + (0x316C, 'M', u'ᇗ'), + (0x316D, 'M', u'ᇙ'), + (0x316E, 'M', u'ᄜ'), + (0x316F, 'M', u'ᇝ'), + (0x3170, 'M', u'ᇟ'), + (0x3171, 'M', u'ᄝ'), + (0x3172, 'M', u'ᄞ'), + (0x3173, 'M', u'ᄠ'), + (0x3174, 'M', u'ᄢ'), + (0x3175, 'M', u'ᄣ'), + (0x3176, 'M', u'ᄧ'), + (0x3177, 'M', u'ᄩ'), + (0x3178, 'M', u'ᄫ'), + (0x3179, 'M', u'ᄬ'), + (0x317A, 'M', u'ᄭ'), + (0x317B, 'M', u'ᄮ'), + (0x317C, 'M', u'ᄯ'), + (0x317D, 'M', u'ᄲ'), + (0x317E, 'M', u'ᄶ'), + (0x317F, 'M', u'ᅀ'), + (0x3180, 'M', u'ᅇ'), + (0x3181, 'M', u'ᅌ'), + (0x3182, 'M', u'ᇱ'), + (0x3183, 'M', u'ᇲ'), + (0x3184, 'M', u'ᅗ'), + (0x3185, 'M', u'ᅘ'), + (0x3186, 'M', u'ᅙ'), + (0x3187, 'M', u'ᆄ'), + (0x3188, 'M', u'ᆅ'), + (0x3189, 'M', u'ᆈ'), + (0x318A, 'M', u'ᆑ'), + (0x318B, 'M', u'ᆒ'), + (0x318C, 'M', u'ᆔ'), + (0x318D, 'M', u'ᆞ'), + (0x318E, 'M', u'ᆡ'), + (0x318F, 'X'), + (0x3190, 'V'), + (0x3192, 'M', u'一'), + (0x3193, 'M', u'二'), + (0x3194, 'M', u'三'), + (0x3195, 'M', u'四'), + (0x3196, 'M', u'上'), + (0x3197, 'M', u'中'), + (0x3198, 'M', u'下'), + (0x3199, 'M', u'甲'), + (0x319A, 'M', u'乙'), + (0x319B, 'M', u'丙'), + (0x319C, 'M', u'丁'), + (0x319D, 'M', u'天'), + ] + +def _seg_30(): + return [ + (0x319E, 'M', u'地'), + (0x319F, 'M', u'人'), + (0x31A0, 'V'), + (0x31BB, 'X'), + (0x31C0, 'V'), + (0x31E4, 'X'), + (0x31F0, 'V'), + (0x3200, '3', u'(ᄀ)'), + (0x3201, '3', u'(ᄂ)'), + (0x3202, '3', u'(ᄃ)'), + (0x3203, '3', u'(ᄅ)'), + (0x3204, '3', u'(ᄆ)'), + (0x3205, '3', u'(ᄇ)'), + (0x3206, '3', u'(ᄉ)'), + (0x3207, '3', u'(ᄋ)'), + (0x3208, '3', u'(ᄌ)'), + (0x3209, '3', u'(ᄎ)'), + (0x320A, '3', u'(ᄏ)'), + (0x320B, '3', u'(ᄐ)'), + (0x320C, '3', u'(ᄑ)'), + (0x320D, '3', u'(ᄒ)'), + (0x320E, '3', u'(가)'), + (0x320F, '3', u'(나)'), + (0x3210, '3', u'(다)'), + (0x3211, '3', u'(라)'), + (0x3212, '3', u'(마)'), + (0x3213, '3', u'(바)'), + (0x3214, '3', u'(사)'), + (0x3215, '3', u'(아)'), + (0x3216, '3', u'(자)'), + (0x3217, '3', u'(차)'), + (0x3218, '3', u'(카)'), + (0x3219, '3', u'(타)'), + (0x321A, '3', u'(파)'), + (0x321B, '3', u'(하)'), + (0x321C, '3', u'(주)'), + (0x321D, '3', u'(오전)'), + (0x321E, '3', u'(오후)'), + (0x321F, 'X'), + (0x3220, '3', u'(一)'), + (0x3221, '3', u'(二)'), + (0x3222, '3', u'(三)'), + (0x3223, '3', u'(四)'), + (0x3224, '3', u'(五)'), + (0x3225, '3', u'(六)'), + (0x3226, '3', u'(七)'), + (0x3227, '3', u'(八)'), + (0x3228, '3', u'(九)'), + (0x3229, '3', u'(十)'), + (0x322A, '3', u'(月)'), + (0x322B, '3', u'(火)'), + (0x322C, '3', u'(水)'), + (0x322D, '3', u'(木)'), + (0x322E, '3', u'(金)'), + (0x322F, '3', u'(土)'), + (0x3230, '3', u'(日)'), + (0x3231, '3', u'(株)'), + (0x3232, '3', u'(有)'), + (0x3233, '3', u'(社)'), + (0x3234, '3', u'(名)'), + (0x3235, '3', u'(特)'), + (0x3236, '3', u'(財)'), + (0x3237, '3', u'(祝)'), + (0x3238, '3', u'(労)'), + (0x3239, '3', u'(代)'), + (0x323A, '3', u'(呼)'), + (0x323B, '3', u'(学)'), + (0x323C, '3', u'(監)'), + (0x323D, '3', u'(企)'), + (0x323E, '3', u'(資)'), + (0x323F, '3', u'(協)'), + (0x3240, '3', u'(祭)'), + (0x3241, '3', u'(休)'), + (0x3242, '3', u'(自)'), + (0x3243, '3', u'(至)'), + (0x3244, 'M', u'問'), + (0x3245, 'M', u'幼'), + (0x3246, 'M', u'文'), + (0x3247, 'M', u'箏'), + (0x3248, 'V'), + (0x3250, 'M', u'pte'), + (0x3251, 'M', u'21'), + (0x3252, 'M', u'22'), + (0x3253, 'M', u'23'), + (0x3254, 'M', u'24'), + (0x3255, 'M', u'25'), + (0x3256, 'M', u'26'), + (0x3257, 'M', u'27'), + (0x3258, 'M', u'28'), + (0x3259, 'M', u'29'), + (0x325A, 'M', u'30'), + (0x325B, 'M', u'31'), + (0x325C, 'M', u'32'), + (0x325D, 'M', u'33'), + (0x325E, 'M', u'34'), + (0x325F, 'M', u'35'), + (0x3260, 'M', u'ᄀ'), + (0x3261, 'M', u'ᄂ'), + (0x3262, 'M', u'ᄃ'), + (0x3263, 'M', u'ᄅ'), + ] + +def _seg_31(): + return [ + (0x3264, 'M', u'ᄆ'), + (0x3265, 'M', u'ᄇ'), + (0x3266, 'M', u'ᄉ'), + (0x3267, 'M', u'ᄋ'), + (0x3268, 'M', u'ᄌ'), + (0x3269, 'M', u'ᄎ'), + (0x326A, 'M', u'ᄏ'), + (0x326B, 'M', u'ᄐ'), + (0x326C, 'M', u'ᄑ'), + (0x326D, 'M', u'ᄒ'), + (0x326E, 'M', u'가'), + (0x326F, 'M', u'나'), + (0x3270, 'M', u'다'), + (0x3271, 'M', u'라'), + (0x3272, 'M', u'마'), + (0x3273, 'M', u'바'), + (0x3274, 'M', u'사'), + (0x3275, 'M', u'아'), + (0x3276, 'M', u'자'), + (0x3277, 'M', u'차'), + (0x3278, 'M', u'카'), + (0x3279, 'M', u'타'), + (0x327A, 'M', u'파'), + (0x327B, 'M', u'하'), + (0x327C, 'M', u'참고'), + (0x327D, 'M', u'주의'), + (0x327E, 'M', u'우'), + (0x327F, 'V'), + (0x3280, 'M', u'一'), + (0x3281, 'M', u'二'), + (0x3282, 'M', u'三'), + (0x3283, 'M', u'四'), + (0x3284, 'M', u'五'), + (0x3285, 'M', u'六'), + (0x3286, 'M', u'七'), + (0x3287, 'M', u'八'), + (0x3288, 'M', u'九'), + (0x3289, 'M', u'十'), + (0x328A, 'M', u'月'), + (0x328B, 'M', u'火'), + (0x328C, 'M', u'水'), + (0x328D, 'M', u'木'), + (0x328E, 'M', u'金'), + (0x328F, 'M', u'土'), + (0x3290, 'M', u'日'), + (0x3291, 'M', u'株'), + (0x3292, 'M', u'有'), + (0x3293, 'M', u'社'), + (0x3294, 'M', u'名'), + (0x3295, 'M', u'特'), + (0x3296, 'M', u'財'), + (0x3297, 'M', u'祝'), + (0x3298, 'M', u'労'), + (0x3299, 'M', u'秘'), + (0x329A, 'M', u'男'), + (0x329B, 'M', u'女'), + (0x329C, 'M', u'適'), + (0x329D, 'M', u'優'), + (0x329E, 'M', u'印'), + (0x329F, 'M', u'注'), + (0x32A0, 'M', u'項'), + (0x32A1, 'M', u'休'), + (0x32A2, 'M', u'写'), + (0x32A3, 'M', u'正'), + (0x32A4, 'M', u'上'), + (0x32A5, 'M', u'中'), + (0x32A6, 'M', u'下'), + (0x32A7, 'M', u'左'), + (0x32A8, 'M', u'右'), + (0x32A9, 'M', u'医'), + (0x32AA, 'M', u'宗'), + (0x32AB, 'M', u'学'), + (0x32AC, 'M', u'監'), + (0x32AD, 'M', u'企'), + (0x32AE, 'M', u'資'), + (0x32AF, 'M', u'協'), + (0x32B0, 'M', u'夜'), + (0x32B1, 'M', u'36'), + (0x32B2, 'M', u'37'), + (0x32B3, 'M', u'38'), + (0x32B4, 'M', u'39'), + (0x32B5, 'M', u'40'), + (0x32B6, 'M', u'41'), + (0x32B7, 'M', u'42'), + (0x32B8, 'M', u'43'), + (0x32B9, 'M', u'44'), + (0x32BA, 'M', u'45'), + (0x32BB, 'M', u'46'), + (0x32BC, 'M', u'47'), + (0x32BD, 'M', u'48'), + (0x32BE, 'M', u'49'), + (0x32BF, 'M', u'50'), + (0x32C0, 'M', u'1月'), + (0x32C1, 'M', u'2月'), + (0x32C2, 'M', u'3月'), + (0x32C3, 'M', u'4月'), + (0x32C4, 'M', u'5月'), + (0x32C5, 'M', u'6月'), + (0x32C6, 'M', u'7月'), + (0x32C7, 'M', u'8月'), + ] + +def _seg_32(): + return [ + (0x32C8, 'M', u'9月'), + (0x32C9, 'M', u'10月'), + (0x32CA, 'M', u'11月'), + (0x32CB, 'M', u'12月'), + (0x32CC, 'M', u'hg'), + (0x32CD, 'M', u'erg'), + (0x32CE, 'M', u'ev'), + (0x32CF, 'M', u'ltd'), + (0x32D0, 'M', u'ア'), + (0x32D1, 'M', u'イ'), + (0x32D2, 'M', u'ウ'), + (0x32D3, 'M', u'エ'), + (0x32D4, 'M', u'オ'), + (0x32D5, 'M', u'カ'), + (0x32D6, 'M', u'キ'), + (0x32D7, 'M', u'ク'), + (0x32D8, 'M', u'ケ'), + (0x32D9, 'M', u'コ'), + (0x32DA, 'M', u'サ'), + (0x32DB, 'M', u'シ'), + (0x32DC, 'M', u'ス'), + (0x32DD, 'M', u'セ'), + (0x32DE, 'M', u'ソ'), + (0x32DF, 'M', u'タ'), + (0x32E0, 'M', u'チ'), + (0x32E1, 'M', u'ツ'), + (0x32E2, 'M', u'テ'), + (0x32E3, 'M', u'ト'), + (0x32E4, 'M', u'ナ'), + (0x32E5, 'M', u'ニ'), + (0x32E6, 'M', u'ヌ'), + (0x32E7, 'M', u'ネ'), + (0x32E8, 'M', u'ノ'), + (0x32E9, 'M', u'ハ'), + (0x32EA, 'M', u'ヒ'), + (0x32EB, 'M', u'フ'), + (0x32EC, 'M', u'ヘ'), + (0x32ED, 'M', u'ホ'), + (0x32EE, 'M', u'マ'), + (0x32EF, 'M', u'ミ'), + (0x32F0, 'M', u'ム'), + (0x32F1, 'M', u'メ'), + (0x32F2, 'M', u'モ'), + (0x32F3, 'M', u'ヤ'), + (0x32F4, 'M', u'ユ'), + (0x32F5, 'M', u'ヨ'), + (0x32F6, 'M', u'ラ'), + (0x32F7, 'M', u'リ'), + (0x32F8, 'M', u'ル'), + (0x32F9, 'M', u'レ'), + (0x32FA, 'M', u'ロ'), + (0x32FB, 'M', u'ワ'), + (0x32FC, 'M', u'ヰ'), + (0x32FD, 'M', u'ヱ'), + (0x32FE, 'M', u'ヲ'), + (0x32FF, 'X'), + (0x3300, 'M', u'アパート'), + (0x3301, 'M', u'アルファ'), + (0x3302, 'M', u'アンペア'), + (0x3303, 'M', u'アール'), + (0x3304, 'M', u'イニング'), + (0x3305, 'M', u'インチ'), + (0x3306, 'M', u'ウォン'), + (0x3307, 'M', u'エスクード'), + (0x3308, 'M', u'エーカー'), + (0x3309, 'M', u'オンス'), + (0x330A, 'M', u'オーム'), + (0x330B, 'M', u'カイリ'), + (0x330C, 'M', u'カラット'), + (0x330D, 'M', u'カロリー'), + (0x330E, 'M', u'ガロン'), + (0x330F, 'M', u'ガンマ'), + (0x3310, 'M', u'ギガ'), + (0x3311, 'M', u'ギニー'), + (0x3312, 'M', u'キュリー'), + (0x3313, 'M', u'ギルダー'), + (0x3314, 'M', u'キロ'), + (0x3315, 'M', u'キログラム'), + (0x3316, 'M', u'キロメートル'), + (0x3317, 'M', u'キロワット'), + (0x3318, 'M', u'グラム'), + (0x3319, 'M', u'グラムトン'), + (0x331A, 'M', u'クルゼイロ'), + (0x331B, 'M', u'クローネ'), + (0x331C, 'M', u'ケース'), + (0x331D, 'M', u'コルナ'), + (0x331E, 'M', u'コーポ'), + (0x331F, 'M', u'サイクル'), + (0x3320, 'M', u'サンチーム'), + (0x3321, 'M', u'シリング'), + (0x3322, 'M', u'センチ'), + (0x3323, 'M', u'セント'), + (0x3324, 'M', u'ダース'), + (0x3325, 'M', u'デシ'), + (0x3326, 'M', u'ドル'), + (0x3327, 'M', u'トン'), + (0x3328, 'M', u'ナノ'), + (0x3329, 'M', u'ノット'), + (0x332A, 'M', u'ハイツ'), + (0x332B, 'M', u'パーセント'), + ] + +def _seg_33(): + return [ + (0x332C, 'M', u'パーツ'), + (0x332D, 'M', u'バーレル'), + (0x332E, 'M', u'ピアストル'), + (0x332F, 'M', u'ピクル'), + (0x3330, 'M', u'ピコ'), + (0x3331, 'M', u'ビル'), + (0x3332, 'M', u'ファラッド'), + (0x3333, 'M', u'フィート'), + (0x3334, 'M', u'ブッシェル'), + (0x3335, 'M', u'フラン'), + (0x3336, 'M', u'ヘクタール'), + (0x3337, 'M', u'ペソ'), + (0x3338, 'M', u'ペニヒ'), + (0x3339, 'M', u'ヘルツ'), + (0x333A, 'M', u'ペンス'), + (0x333B, 'M', u'ページ'), + (0x333C, 'M', u'ベータ'), + (0x333D, 'M', u'ポイント'), + (0x333E, 'M', u'ボルト'), + (0x333F, 'M', u'ホン'), + (0x3340, 'M', u'ポンド'), + (0x3341, 'M', u'ホール'), + (0x3342, 'M', u'ホーン'), + (0x3343, 'M', u'マイクロ'), + (0x3344, 'M', u'マイル'), + (0x3345, 'M', u'マッハ'), + (0x3346, 'M', u'マルク'), + (0x3347, 'M', u'マンション'), + (0x3348, 'M', u'ミクロン'), + (0x3349, 'M', u'ミリ'), + (0x334A, 'M', u'ミリバール'), + (0x334B, 'M', u'メガ'), + (0x334C, 'M', u'メガトン'), + (0x334D, 'M', u'メートル'), + (0x334E, 'M', u'ヤード'), + (0x334F, 'M', u'ヤール'), + (0x3350, 'M', u'ユアン'), + (0x3351, 'M', u'リットル'), + (0x3352, 'M', u'リラ'), + (0x3353, 'M', u'ルピー'), + (0x3354, 'M', u'ルーブル'), + (0x3355, 'M', u'レム'), + (0x3356, 'M', u'レントゲン'), + (0x3357, 'M', u'ワット'), + (0x3358, 'M', u'0点'), + (0x3359, 'M', u'1点'), + (0x335A, 'M', u'2点'), + (0x335B, 'M', u'3点'), + (0x335C, 'M', u'4点'), + (0x335D, 'M', u'5点'), + (0x335E, 'M', u'6点'), + (0x335F, 'M', u'7点'), + (0x3360, 'M', u'8点'), + (0x3361, 'M', u'9点'), + (0x3362, 'M', u'10点'), + (0x3363, 'M', u'11点'), + (0x3364, 'M', u'12点'), + (0x3365, 'M', u'13点'), + (0x3366, 'M', u'14点'), + (0x3367, 'M', u'15点'), + (0x3368, 'M', u'16点'), + (0x3369, 'M', u'17点'), + (0x336A, 'M', u'18点'), + (0x336B, 'M', u'19点'), + (0x336C, 'M', u'20点'), + (0x336D, 'M', u'21点'), + (0x336E, 'M', u'22点'), + (0x336F, 'M', u'23点'), + (0x3370, 'M', u'24点'), + (0x3371, 'M', u'hpa'), + (0x3372, 'M', u'da'), + (0x3373, 'M', u'au'), + (0x3374, 'M', u'bar'), + (0x3375, 'M', u'ov'), + (0x3376, 'M', u'pc'), + (0x3377, 'M', u'dm'), + (0x3378, 'M', u'dm2'), + (0x3379, 'M', u'dm3'), + (0x337A, 'M', u'iu'), + (0x337B, 'M', u'平成'), + (0x337C, 'M', u'昭和'), + (0x337D, 'M', u'大正'), + (0x337E, 'M', u'明治'), + (0x337F, 'M', u'株式会社'), + (0x3380, 'M', u'pa'), + (0x3381, 'M', u'na'), + (0x3382, 'M', u'μa'), + (0x3383, 'M', u'ma'), + (0x3384, 'M', u'ka'), + (0x3385, 'M', u'kb'), + (0x3386, 'M', u'mb'), + (0x3387, 'M', u'gb'), + (0x3388, 'M', u'cal'), + (0x3389, 'M', u'kcal'), + (0x338A, 'M', u'pf'), + (0x338B, 'M', u'nf'), + (0x338C, 'M', u'μf'), + (0x338D, 'M', u'μg'), + (0x338E, 'M', u'mg'), + (0x338F, 'M', u'kg'), + ] + +def _seg_34(): + return [ + (0x3390, 'M', u'hz'), + (0x3391, 'M', u'khz'), + (0x3392, 'M', u'mhz'), + (0x3393, 'M', u'ghz'), + (0x3394, 'M', u'thz'), + (0x3395, 'M', u'μl'), + (0x3396, 'M', u'ml'), + (0x3397, 'M', u'dl'), + (0x3398, 'M', u'kl'), + (0x3399, 'M', u'fm'), + (0x339A, 'M', u'nm'), + (0x339B, 'M', u'μm'), + (0x339C, 'M', u'mm'), + (0x339D, 'M', u'cm'), + (0x339E, 'M', u'km'), + (0x339F, 'M', u'mm2'), + (0x33A0, 'M', u'cm2'), + (0x33A1, 'M', u'm2'), + (0x33A2, 'M', u'km2'), + (0x33A3, 'M', u'mm3'), + (0x33A4, 'M', u'cm3'), + (0x33A5, 'M', u'm3'), + (0x33A6, 'M', u'km3'), + (0x33A7, 'M', u'm∕s'), + (0x33A8, 'M', u'm∕s2'), + (0x33A9, 'M', u'pa'), + (0x33AA, 'M', u'kpa'), + (0x33AB, 'M', u'mpa'), + (0x33AC, 'M', u'gpa'), + (0x33AD, 'M', u'rad'), + (0x33AE, 'M', u'rad∕s'), + (0x33AF, 'M', u'rad∕s2'), + (0x33B0, 'M', u'ps'), + (0x33B1, 'M', u'ns'), + (0x33B2, 'M', u'μs'), + (0x33B3, 'M', u'ms'), + (0x33B4, 'M', u'pv'), + (0x33B5, 'M', u'nv'), + (0x33B6, 'M', u'μv'), + (0x33B7, 'M', u'mv'), + (0x33B8, 'M', u'kv'), + (0x33B9, 'M', u'mv'), + (0x33BA, 'M', u'pw'), + (0x33BB, 'M', u'nw'), + (0x33BC, 'M', u'μw'), + (0x33BD, 'M', u'mw'), + (0x33BE, 'M', u'kw'), + (0x33BF, 'M', u'mw'), + (0x33C0, 'M', u'kω'), + (0x33C1, 'M', u'mω'), + (0x33C2, 'X'), + (0x33C3, 'M', u'bq'), + (0x33C4, 'M', u'cc'), + (0x33C5, 'M', u'cd'), + (0x33C6, 'M', u'c∕kg'), + (0x33C7, 'X'), + (0x33C8, 'M', u'db'), + (0x33C9, 'M', u'gy'), + (0x33CA, 'M', u'ha'), + (0x33CB, 'M', u'hp'), + (0x33CC, 'M', u'in'), + (0x33CD, 'M', u'kk'), + (0x33CE, 'M', u'km'), + (0x33CF, 'M', u'kt'), + (0x33D0, 'M', u'lm'), + (0x33D1, 'M', u'ln'), + (0x33D2, 'M', u'log'), + (0x33D3, 'M', u'lx'), + (0x33D4, 'M', u'mb'), + (0x33D5, 'M', u'mil'), + (0x33D6, 'M', u'mol'), + (0x33D7, 'M', u'ph'), + (0x33D8, 'X'), + (0x33D9, 'M', u'ppm'), + (0x33DA, 'M', u'pr'), + (0x33DB, 'M', u'sr'), + (0x33DC, 'M', u'sv'), + (0x33DD, 'M', u'wb'), + (0x33DE, 'M', u'v∕m'), + (0x33DF, 'M', u'a∕m'), + (0x33E0, 'M', u'1日'), + (0x33E1, 'M', u'2日'), + (0x33E2, 'M', u'3日'), + (0x33E3, 'M', u'4日'), + (0x33E4, 'M', u'5日'), + (0x33E5, 'M', u'6日'), + (0x33E6, 'M', u'7日'), + (0x33E7, 'M', u'8日'), + (0x33E8, 'M', u'9日'), + (0x33E9, 'M', u'10日'), + (0x33EA, 'M', u'11日'), + (0x33EB, 'M', u'12日'), + (0x33EC, 'M', u'13日'), + (0x33ED, 'M', u'14日'), + (0x33EE, 'M', u'15日'), + (0x33EF, 'M', u'16日'), + (0x33F0, 'M', u'17日'), + (0x33F1, 'M', u'18日'), + (0x33F2, 'M', u'19日'), + (0x33F3, 'M', u'20日'), + ] + +def _seg_35(): + return [ + (0x33F4, 'M', u'21日'), + (0x33F5, 'M', u'22日'), + (0x33F6, 'M', u'23日'), + (0x33F7, 'M', u'24日'), + (0x33F8, 'M', u'25日'), + (0x33F9, 'M', u'26日'), + (0x33FA, 'M', u'27日'), + (0x33FB, 'M', u'28日'), + (0x33FC, 'M', u'29日'), + (0x33FD, 'M', u'30日'), + (0x33FE, 'M', u'31日'), + (0x33FF, 'M', u'gal'), + (0x3400, 'V'), + (0x4DB6, 'X'), + (0x4DC0, 'V'), + (0x9FF0, 'X'), + (0xA000, 'V'), + (0xA48D, 'X'), + (0xA490, 'V'), + (0xA4C7, 'X'), + (0xA4D0, 'V'), + (0xA62C, 'X'), + (0xA640, 'M', u'ꙁ'), + (0xA641, 'V'), + (0xA642, 'M', u'ꙃ'), + (0xA643, 'V'), + (0xA644, 'M', u'ꙅ'), + (0xA645, 'V'), + (0xA646, 'M', u'ꙇ'), + (0xA647, 'V'), + (0xA648, 'M', u'ꙉ'), + (0xA649, 'V'), + (0xA64A, 'M', u'ꙋ'), + (0xA64B, 'V'), + (0xA64C, 'M', u'ꙍ'), + (0xA64D, 'V'), + (0xA64E, 'M', u'ꙏ'), + (0xA64F, 'V'), + (0xA650, 'M', u'ꙑ'), + (0xA651, 'V'), + (0xA652, 'M', u'ꙓ'), + (0xA653, 'V'), + (0xA654, 'M', u'ꙕ'), + (0xA655, 'V'), + (0xA656, 'M', u'ꙗ'), + (0xA657, 'V'), + (0xA658, 'M', u'ꙙ'), + (0xA659, 'V'), + (0xA65A, 'M', u'ꙛ'), + (0xA65B, 'V'), + (0xA65C, 'M', u'ꙝ'), + (0xA65D, 'V'), + (0xA65E, 'M', u'ꙟ'), + (0xA65F, 'V'), + (0xA660, 'M', u'ꙡ'), + (0xA661, 'V'), + (0xA662, 'M', u'ꙣ'), + (0xA663, 'V'), + (0xA664, 'M', u'ꙥ'), + (0xA665, 'V'), + (0xA666, 'M', u'ꙧ'), + (0xA667, 'V'), + (0xA668, 'M', u'ꙩ'), + (0xA669, 'V'), + (0xA66A, 'M', u'ꙫ'), + (0xA66B, 'V'), + (0xA66C, 'M', u'ꙭ'), + (0xA66D, 'V'), + (0xA680, 'M', u'ꚁ'), + (0xA681, 'V'), + (0xA682, 'M', u'ꚃ'), + (0xA683, 'V'), + (0xA684, 'M', u'ꚅ'), + (0xA685, 'V'), + (0xA686, 'M', u'ꚇ'), + (0xA687, 'V'), + (0xA688, 'M', u'ꚉ'), + (0xA689, 'V'), + (0xA68A, 'M', u'ꚋ'), + (0xA68B, 'V'), + (0xA68C, 'M', u'ꚍ'), + (0xA68D, 'V'), + (0xA68E, 'M', u'ꚏ'), + (0xA68F, 'V'), + (0xA690, 'M', u'ꚑ'), + (0xA691, 'V'), + (0xA692, 'M', u'ꚓ'), + (0xA693, 'V'), + (0xA694, 'M', u'ꚕ'), + (0xA695, 'V'), + (0xA696, 'M', u'ꚗ'), + (0xA697, 'V'), + (0xA698, 'M', u'ꚙ'), + (0xA699, 'V'), + (0xA69A, 'M', u'ꚛ'), + (0xA69B, 'V'), + (0xA69C, 'M', u'ъ'), + (0xA69D, 'M', u'ь'), + (0xA69E, 'V'), + (0xA6F8, 'X'), + ] + +def _seg_36(): + return [ + (0xA700, 'V'), + (0xA722, 'M', u'ꜣ'), + (0xA723, 'V'), + (0xA724, 'M', u'ꜥ'), + (0xA725, 'V'), + (0xA726, 'M', u'ꜧ'), + (0xA727, 'V'), + (0xA728, 'M', u'ꜩ'), + (0xA729, 'V'), + (0xA72A, 'M', u'ꜫ'), + (0xA72B, 'V'), + (0xA72C, 'M', u'ꜭ'), + (0xA72D, 'V'), + (0xA72E, 'M', u'ꜯ'), + (0xA72F, 'V'), + (0xA732, 'M', u'ꜳ'), + (0xA733, 'V'), + (0xA734, 'M', u'ꜵ'), + (0xA735, 'V'), + (0xA736, 'M', u'ꜷ'), + (0xA737, 'V'), + (0xA738, 'M', u'ꜹ'), + (0xA739, 'V'), + (0xA73A, 'M', u'ꜻ'), + (0xA73B, 'V'), + (0xA73C, 'M', u'ꜽ'), + (0xA73D, 'V'), + (0xA73E, 'M', u'ꜿ'), + (0xA73F, 'V'), + (0xA740, 'M', u'ꝁ'), + (0xA741, 'V'), + (0xA742, 'M', u'ꝃ'), + (0xA743, 'V'), + (0xA744, 'M', u'ꝅ'), + (0xA745, 'V'), + (0xA746, 'M', u'ꝇ'), + (0xA747, 'V'), + (0xA748, 'M', u'ꝉ'), + (0xA749, 'V'), + (0xA74A, 'M', u'ꝋ'), + (0xA74B, 'V'), + (0xA74C, 'M', u'ꝍ'), + (0xA74D, 'V'), + (0xA74E, 'M', u'ꝏ'), + (0xA74F, 'V'), + (0xA750, 'M', u'ꝑ'), + (0xA751, 'V'), + (0xA752, 'M', u'ꝓ'), + (0xA753, 'V'), + (0xA754, 'M', u'ꝕ'), + (0xA755, 'V'), + (0xA756, 'M', u'ꝗ'), + (0xA757, 'V'), + (0xA758, 'M', u'ꝙ'), + (0xA759, 'V'), + (0xA75A, 'M', u'ꝛ'), + (0xA75B, 'V'), + (0xA75C, 'M', u'ꝝ'), + (0xA75D, 'V'), + (0xA75E, 'M', u'ꝟ'), + (0xA75F, 'V'), + (0xA760, 'M', u'ꝡ'), + (0xA761, 'V'), + (0xA762, 'M', u'ꝣ'), + (0xA763, 'V'), + (0xA764, 'M', u'ꝥ'), + (0xA765, 'V'), + (0xA766, 'M', u'ꝧ'), + (0xA767, 'V'), + (0xA768, 'M', u'ꝩ'), + (0xA769, 'V'), + (0xA76A, 'M', u'ꝫ'), + (0xA76B, 'V'), + (0xA76C, 'M', u'ꝭ'), + (0xA76D, 'V'), + (0xA76E, 'M', u'ꝯ'), + (0xA76F, 'V'), + (0xA770, 'M', u'ꝯ'), + (0xA771, 'V'), + (0xA779, 'M', u'ꝺ'), + (0xA77A, 'V'), + (0xA77B, 'M', u'ꝼ'), + (0xA77C, 'V'), + (0xA77D, 'M', u'ᵹ'), + (0xA77E, 'M', u'ꝿ'), + (0xA77F, 'V'), + (0xA780, 'M', u'ꞁ'), + (0xA781, 'V'), + (0xA782, 'M', u'ꞃ'), + (0xA783, 'V'), + (0xA784, 'M', u'ꞅ'), + (0xA785, 'V'), + (0xA786, 'M', u'ꞇ'), + (0xA787, 'V'), + (0xA78B, 'M', u'ꞌ'), + (0xA78C, 'V'), + (0xA78D, 'M', u'ɥ'), + (0xA78E, 'V'), + (0xA790, 'M', u'ꞑ'), + (0xA791, 'V'), + ] + +def _seg_37(): + return [ + (0xA792, 'M', u'ꞓ'), + (0xA793, 'V'), + (0xA796, 'M', u'ꞗ'), + (0xA797, 'V'), + (0xA798, 'M', u'ꞙ'), + (0xA799, 'V'), + (0xA79A, 'M', u'ꞛ'), + (0xA79B, 'V'), + (0xA79C, 'M', u'ꞝ'), + (0xA79D, 'V'), + (0xA79E, 'M', u'ꞟ'), + (0xA79F, 'V'), + (0xA7A0, 'M', u'ꞡ'), + (0xA7A1, 'V'), + (0xA7A2, 'M', u'ꞣ'), + (0xA7A3, 'V'), + (0xA7A4, 'M', u'ꞥ'), + (0xA7A5, 'V'), + (0xA7A6, 'M', u'ꞧ'), + (0xA7A7, 'V'), + (0xA7A8, 'M', u'ꞩ'), + (0xA7A9, 'V'), + (0xA7AA, 'M', u'ɦ'), + (0xA7AB, 'M', u'ɜ'), + (0xA7AC, 'M', u'ɡ'), + (0xA7AD, 'M', u'ɬ'), + (0xA7AE, 'M', u'ɪ'), + (0xA7AF, 'V'), + (0xA7B0, 'M', u'ʞ'), + (0xA7B1, 'M', u'ʇ'), + (0xA7B2, 'M', u'ʝ'), + (0xA7B3, 'M', u'ꭓ'), + (0xA7B4, 'M', u'ꞵ'), + (0xA7B5, 'V'), + (0xA7B6, 'M', u'ꞷ'), + (0xA7B7, 'V'), + (0xA7B8, 'X'), + (0xA7B9, 'V'), + (0xA7BA, 'X'), + (0xA7F7, 'V'), + (0xA7F8, 'M', u'ħ'), + (0xA7F9, 'M', u'œ'), + (0xA7FA, 'V'), + (0xA82C, 'X'), + (0xA830, 'V'), + (0xA83A, 'X'), + (0xA840, 'V'), + (0xA878, 'X'), + (0xA880, 'V'), + (0xA8C6, 'X'), + (0xA8CE, 'V'), + (0xA8DA, 'X'), + (0xA8E0, 'V'), + (0xA954, 'X'), + (0xA95F, 'V'), + (0xA97D, 'X'), + (0xA980, 'V'), + (0xA9CE, 'X'), + (0xA9CF, 'V'), + (0xA9DA, 'X'), + (0xA9DE, 'V'), + (0xA9FF, 'X'), + (0xAA00, 'V'), + (0xAA37, 'X'), + (0xAA40, 'V'), + (0xAA4E, 'X'), + (0xAA50, 'V'), + (0xAA5A, 'X'), + (0xAA5C, 'V'), + (0xAAC3, 'X'), + (0xAADB, 'V'), + (0xAAF7, 'X'), + (0xAB01, 'V'), + (0xAB07, 'X'), + (0xAB09, 'V'), + (0xAB0F, 'X'), + (0xAB11, 'V'), + (0xAB17, 'X'), + (0xAB20, 'V'), + (0xAB27, 'X'), + (0xAB28, 'V'), + (0xAB2F, 'X'), + (0xAB30, 'V'), + (0xAB5C, 'M', u'ꜧ'), + (0xAB5D, 'M', u'ꬷ'), + (0xAB5E, 'M', u'ɫ'), + (0xAB5F, 'M', u'ꭒ'), + (0xAB60, 'V'), + (0xAB66, 'X'), + (0xAB70, 'M', u'Ꭰ'), + (0xAB71, 'M', u'Ꭱ'), + (0xAB72, 'M', u'Ꭲ'), + (0xAB73, 'M', u'Ꭳ'), + (0xAB74, 'M', u'Ꭴ'), + (0xAB75, 'M', u'Ꭵ'), + (0xAB76, 'M', u'Ꭶ'), + (0xAB77, 'M', u'Ꭷ'), + (0xAB78, 'M', u'Ꭸ'), + (0xAB79, 'M', u'Ꭹ'), + (0xAB7A, 'M', u'Ꭺ'), + ] + +def _seg_38(): + return [ + (0xAB7B, 'M', u'Ꭻ'), + (0xAB7C, 'M', u'Ꭼ'), + (0xAB7D, 'M', u'Ꭽ'), + (0xAB7E, 'M', u'Ꭾ'), + (0xAB7F, 'M', u'Ꭿ'), + (0xAB80, 'M', u'Ꮀ'), + (0xAB81, 'M', u'Ꮁ'), + (0xAB82, 'M', u'Ꮂ'), + (0xAB83, 'M', u'Ꮃ'), + (0xAB84, 'M', u'Ꮄ'), + (0xAB85, 'M', u'Ꮅ'), + (0xAB86, 'M', u'Ꮆ'), + (0xAB87, 'M', u'Ꮇ'), + (0xAB88, 'M', u'Ꮈ'), + (0xAB89, 'M', u'Ꮉ'), + (0xAB8A, 'M', u'Ꮊ'), + (0xAB8B, 'M', u'Ꮋ'), + (0xAB8C, 'M', u'Ꮌ'), + (0xAB8D, 'M', u'Ꮍ'), + (0xAB8E, 'M', u'Ꮎ'), + (0xAB8F, 'M', u'Ꮏ'), + (0xAB90, 'M', u'Ꮐ'), + (0xAB91, 'M', u'Ꮑ'), + (0xAB92, 'M', u'Ꮒ'), + (0xAB93, 'M', u'Ꮓ'), + (0xAB94, 'M', u'Ꮔ'), + (0xAB95, 'M', u'Ꮕ'), + (0xAB96, 'M', u'Ꮖ'), + (0xAB97, 'M', u'Ꮗ'), + (0xAB98, 'M', u'Ꮘ'), + (0xAB99, 'M', u'Ꮙ'), + (0xAB9A, 'M', u'Ꮚ'), + (0xAB9B, 'M', u'Ꮛ'), + (0xAB9C, 'M', u'Ꮜ'), + (0xAB9D, 'M', u'Ꮝ'), + (0xAB9E, 'M', u'Ꮞ'), + (0xAB9F, 'M', u'Ꮟ'), + (0xABA0, 'M', u'Ꮠ'), + (0xABA1, 'M', u'Ꮡ'), + (0xABA2, 'M', u'Ꮢ'), + (0xABA3, 'M', u'Ꮣ'), + (0xABA4, 'M', u'Ꮤ'), + (0xABA5, 'M', u'Ꮥ'), + (0xABA6, 'M', u'Ꮦ'), + (0xABA7, 'M', u'Ꮧ'), + (0xABA8, 'M', u'Ꮨ'), + (0xABA9, 'M', u'Ꮩ'), + (0xABAA, 'M', u'Ꮪ'), + (0xABAB, 'M', u'Ꮫ'), + (0xABAC, 'M', u'Ꮬ'), + (0xABAD, 'M', u'Ꮭ'), + (0xABAE, 'M', u'Ꮮ'), + (0xABAF, 'M', u'Ꮯ'), + (0xABB0, 'M', u'Ꮰ'), + (0xABB1, 'M', u'Ꮱ'), + (0xABB2, 'M', u'Ꮲ'), + (0xABB3, 'M', u'Ꮳ'), + (0xABB4, 'M', u'Ꮴ'), + (0xABB5, 'M', u'Ꮵ'), + (0xABB6, 'M', u'Ꮶ'), + (0xABB7, 'M', u'Ꮷ'), + (0xABB8, 'M', u'Ꮸ'), + (0xABB9, 'M', u'Ꮹ'), + (0xABBA, 'M', u'Ꮺ'), + (0xABBB, 'M', u'Ꮻ'), + (0xABBC, 'M', u'Ꮼ'), + (0xABBD, 'M', u'Ꮽ'), + (0xABBE, 'M', u'Ꮾ'), + (0xABBF, 'M', u'Ꮿ'), + (0xABC0, 'V'), + (0xABEE, 'X'), + (0xABF0, 'V'), + (0xABFA, 'X'), + (0xAC00, 'V'), + (0xD7A4, 'X'), + (0xD7B0, 'V'), + (0xD7C7, 'X'), + (0xD7CB, 'V'), + (0xD7FC, 'X'), + (0xF900, 'M', u'豈'), + (0xF901, 'M', u'更'), + (0xF902, 'M', u'車'), + (0xF903, 'M', u'賈'), + (0xF904, 'M', u'滑'), + (0xF905, 'M', u'串'), + (0xF906, 'M', u'句'), + (0xF907, 'M', u'龜'), + (0xF909, 'M', u'契'), + (0xF90A, 'M', u'金'), + (0xF90B, 'M', u'喇'), + (0xF90C, 'M', u'奈'), + (0xF90D, 'M', u'懶'), + (0xF90E, 'M', u'癩'), + (0xF90F, 'M', u'羅'), + (0xF910, 'M', u'蘿'), + (0xF911, 'M', u'螺'), + (0xF912, 'M', u'裸'), + (0xF913, 'M', u'邏'), + (0xF914, 'M', u'樂'), + (0xF915, 'M', u'洛'), + ] + +def _seg_39(): + return [ + (0xF916, 'M', u'烙'), + (0xF917, 'M', u'珞'), + (0xF918, 'M', u'落'), + (0xF919, 'M', u'酪'), + (0xF91A, 'M', u'駱'), + (0xF91B, 'M', u'亂'), + (0xF91C, 'M', u'卵'), + (0xF91D, 'M', u'欄'), + (0xF91E, 'M', u'爛'), + (0xF91F, 'M', u'蘭'), + (0xF920, 'M', u'鸞'), + (0xF921, 'M', u'嵐'), + (0xF922, 'M', u'濫'), + (0xF923, 'M', u'藍'), + (0xF924, 'M', u'襤'), + (0xF925, 'M', u'拉'), + (0xF926, 'M', u'臘'), + (0xF927, 'M', u'蠟'), + (0xF928, 'M', u'廊'), + (0xF929, 'M', u'朗'), + (0xF92A, 'M', u'浪'), + (0xF92B, 'M', u'狼'), + (0xF92C, 'M', u'郎'), + (0xF92D, 'M', u'來'), + (0xF92E, 'M', u'冷'), + (0xF92F, 'M', u'勞'), + (0xF930, 'M', u'擄'), + (0xF931, 'M', u'櫓'), + (0xF932, 'M', u'爐'), + (0xF933, 'M', u'盧'), + (0xF934, 'M', u'老'), + (0xF935, 'M', u'蘆'), + (0xF936, 'M', u'虜'), + (0xF937, 'M', u'路'), + (0xF938, 'M', u'露'), + (0xF939, 'M', u'魯'), + (0xF93A, 'M', u'鷺'), + (0xF93B, 'M', u'碌'), + (0xF93C, 'M', u'祿'), + (0xF93D, 'M', u'綠'), + (0xF93E, 'M', u'菉'), + (0xF93F, 'M', u'錄'), + (0xF940, 'M', u'鹿'), + (0xF941, 'M', u'論'), + (0xF942, 'M', u'壟'), + (0xF943, 'M', u'弄'), + (0xF944, 'M', u'籠'), + (0xF945, 'M', u'聾'), + (0xF946, 'M', u'牢'), + (0xF947, 'M', u'磊'), + (0xF948, 'M', u'賂'), + (0xF949, 'M', u'雷'), + (0xF94A, 'M', u'壘'), + (0xF94B, 'M', u'屢'), + (0xF94C, 'M', u'樓'), + (0xF94D, 'M', u'淚'), + (0xF94E, 'M', u'漏'), + (0xF94F, 'M', u'累'), + (0xF950, 'M', u'縷'), + (0xF951, 'M', u'陋'), + (0xF952, 'M', u'勒'), + (0xF953, 'M', u'肋'), + (0xF954, 'M', u'凜'), + (0xF955, 'M', u'凌'), + (0xF956, 'M', u'稜'), + (0xF957, 'M', u'綾'), + (0xF958, 'M', u'菱'), + (0xF959, 'M', u'陵'), + (0xF95A, 'M', u'讀'), + (0xF95B, 'M', u'拏'), + (0xF95C, 'M', u'樂'), + (0xF95D, 'M', u'諾'), + (0xF95E, 'M', u'丹'), + (0xF95F, 'M', u'寧'), + (0xF960, 'M', u'怒'), + (0xF961, 'M', u'率'), + (0xF962, 'M', u'異'), + (0xF963, 'M', u'北'), + (0xF964, 'M', u'磻'), + (0xF965, 'M', u'便'), + (0xF966, 'M', u'復'), + (0xF967, 'M', u'不'), + (0xF968, 'M', u'泌'), + (0xF969, 'M', u'數'), + (0xF96A, 'M', u'索'), + (0xF96B, 'M', u'參'), + (0xF96C, 'M', u'塞'), + (0xF96D, 'M', u'省'), + (0xF96E, 'M', u'葉'), + (0xF96F, 'M', u'說'), + (0xF970, 'M', u'殺'), + (0xF971, 'M', u'辰'), + (0xF972, 'M', u'沈'), + (0xF973, 'M', u'拾'), + (0xF974, 'M', u'若'), + (0xF975, 'M', u'掠'), + (0xF976, 'M', u'略'), + (0xF977, 'M', u'亮'), + (0xF978, 'M', u'兩'), + (0xF979, 'M', u'凉'), + ] + +def _seg_40(): + return [ + (0xF97A, 'M', u'梁'), + (0xF97B, 'M', u'糧'), + (0xF97C, 'M', u'良'), + (0xF97D, 'M', u'諒'), + (0xF97E, 'M', u'量'), + (0xF97F, 'M', u'勵'), + (0xF980, 'M', u'呂'), + (0xF981, 'M', u'女'), + (0xF982, 'M', u'廬'), + (0xF983, 'M', u'旅'), + (0xF984, 'M', u'濾'), + (0xF985, 'M', u'礪'), + (0xF986, 'M', u'閭'), + (0xF987, 'M', u'驪'), + (0xF988, 'M', u'麗'), + (0xF989, 'M', u'黎'), + (0xF98A, 'M', u'力'), + (0xF98B, 'M', u'曆'), + (0xF98C, 'M', u'歷'), + (0xF98D, 'M', u'轢'), + (0xF98E, 'M', u'年'), + (0xF98F, 'M', u'憐'), + (0xF990, 'M', u'戀'), + (0xF991, 'M', u'撚'), + (0xF992, 'M', u'漣'), + (0xF993, 'M', u'煉'), + (0xF994, 'M', u'璉'), + (0xF995, 'M', u'秊'), + (0xF996, 'M', u'練'), + (0xF997, 'M', u'聯'), + (0xF998, 'M', u'輦'), + (0xF999, 'M', u'蓮'), + (0xF99A, 'M', u'連'), + (0xF99B, 'M', u'鍊'), + (0xF99C, 'M', u'列'), + (0xF99D, 'M', u'劣'), + (0xF99E, 'M', u'咽'), + (0xF99F, 'M', u'烈'), + (0xF9A0, 'M', u'裂'), + (0xF9A1, 'M', u'說'), + (0xF9A2, 'M', u'廉'), + (0xF9A3, 'M', u'念'), + (0xF9A4, 'M', u'捻'), + (0xF9A5, 'M', u'殮'), + (0xF9A6, 'M', u'簾'), + (0xF9A7, 'M', u'獵'), + (0xF9A8, 'M', u'令'), + (0xF9A9, 'M', u'囹'), + (0xF9AA, 'M', u'寧'), + (0xF9AB, 'M', u'嶺'), + (0xF9AC, 'M', u'怜'), + (0xF9AD, 'M', u'玲'), + (0xF9AE, 'M', u'瑩'), + (0xF9AF, 'M', u'羚'), + (0xF9B0, 'M', u'聆'), + (0xF9B1, 'M', u'鈴'), + (0xF9B2, 'M', u'零'), + (0xF9B3, 'M', u'靈'), + (0xF9B4, 'M', u'領'), + (0xF9B5, 'M', u'例'), + (0xF9B6, 'M', u'禮'), + (0xF9B7, 'M', u'醴'), + (0xF9B8, 'M', u'隸'), + (0xF9B9, 'M', u'惡'), + (0xF9BA, 'M', u'了'), + (0xF9BB, 'M', u'僚'), + (0xF9BC, 'M', u'寮'), + (0xF9BD, 'M', u'尿'), + (0xF9BE, 'M', u'料'), + (0xF9BF, 'M', u'樂'), + (0xF9C0, 'M', u'燎'), + (0xF9C1, 'M', u'療'), + (0xF9C2, 'M', u'蓼'), + (0xF9C3, 'M', u'遼'), + (0xF9C4, 'M', u'龍'), + (0xF9C5, 'M', u'暈'), + (0xF9C6, 'M', u'阮'), + (0xF9C7, 'M', u'劉'), + (0xF9C8, 'M', u'杻'), + (0xF9C9, 'M', u'柳'), + (0xF9CA, 'M', u'流'), + (0xF9CB, 'M', u'溜'), + (0xF9CC, 'M', u'琉'), + (0xF9CD, 'M', u'留'), + (0xF9CE, 'M', u'硫'), + (0xF9CF, 'M', u'紐'), + (0xF9D0, 'M', u'類'), + (0xF9D1, 'M', u'六'), + (0xF9D2, 'M', u'戮'), + (0xF9D3, 'M', u'陸'), + (0xF9D4, 'M', u'倫'), + (0xF9D5, 'M', u'崙'), + (0xF9D6, 'M', u'淪'), + (0xF9D7, 'M', u'輪'), + (0xF9D8, 'M', u'律'), + (0xF9D9, 'M', u'慄'), + (0xF9DA, 'M', u'栗'), + (0xF9DB, 'M', u'率'), + (0xF9DC, 'M', u'隆'), + (0xF9DD, 'M', u'利'), + ] + +def _seg_41(): + return [ + (0xF9DE, 'M', u'吏'), + (0xF9DF, 'M', u'履'), + (0xF9E0, 'M', u'易'), + (0xF9E1, 'M', u'李'), + (0xF9E2, 'M', u'梨'), + (0xF9E3, 'M', u'泥'), + (0xF9E4, 'M', u'理'), + (0xF9E5, 'M', u'痢'), + (0xF9E6, 'M', u'罹'), + (0xF9E7, 'M', u'裏'), + (0xF9E8, 'M', u'裡'), + (0xF9E9, 'M', u'里'), + (0xF9EA, 'M', u'離'), + (0xF9EB, 'M', u'匿'), + (0xF9EC, 'M', u'溺'), + (0xF9ED, 'M', u'吝'), + (0xF9EE, 'M', u'燐'), + (0xF9EF, 'M', u'璘'), + (0xF9F0, 'M', u'藺'), + (0xF9F1, 'M', u'隣'), + (0xF9F2, 'M', u'鱗'), + (0xF9F3, 'M', u'麟'), + (0xF9F4, 'M', u'林'), + (0xF9F5, 'M', u'淋'), + (0xF9F6, 'M', u'臨'), + (0xF9F7, 'M', u'立'), + (0xF9F8, 'M', u'笠'), + (0xF9F9, 'M', u'粒'), + (0xF9FA, 'M', u'狀'), + (0xF9FB, 'M', u'炙'), + (0xF9FC, 'M', u'識'), + (0xF9FD, 'M', u'什'), + (0xF9FE, 'M', u'茶'), + (0xF9FF, 'M', u'刺'), + (0xFA00, 'M', u'切'), + (0xFA01, 'M', u'度'), + (0xFA02, 'M', u'拓'), + (0xFA03, 'M', u'糖'), + (0xFA04, 'M', u'宅'), + (0xFA05, 'M', u'洞'), + (0xFA06, 'M', u'暴'), + (0xFA07, 'M', u'輻'), + (0xFA08, 'M', u'行'), + (0xFA09, 'M', u'降'), + (0xFA0A, 'M', u'見'), + (0xFA0B, 'M', u'廓'), + (0xFA0C, 'M', u'兀'), + (0xFA0D, 'M', u'嗀'), + (0xFA0E, 'V'), + (0xFA10, 'M', u'塚'), + (0xFA11, 'V'), + (0xFA12, 'M', u'晴'), + (0xFA13, 'V'), + (0xFA15, 'M', u'凞'), + (0xFA16, 'M', u'猪'), + (0xFA17, 'M', u'益'), + (0xFA18, 'M', u'礼'), + (0xFA19, 'M', u'神'), + (0xFA1A, 'M', u'祥'), + (0xFA1B, 'M', u'福'), + (0xFA1C, 'M', u'靖'), + (0xFA1D, 'M', u'精'), + (0xFA1E, 'M', u'羽'), + (0xFA1F, 'V'), + (0xFA20, 'M', u'蘒'), + (0xFA21, 'V'), + (0xFA22, 'M', u'諸'), + (0xFA23, 'V'), + (0xFA25, 'M', u'逸'), + (0xFA26, 'M', u'都'), + (0xFA27, 'V'), + (0xFA2A, 'M', u'飯'), + (0xFA2B, 'M', u'飼'), + (0xFA2C, 'M', u'館'), + (0xFA2D, 'M', u'鶴'), + (0xFA2E, 'M', u'郞'), + (0xFA2F, 'M', u'隷'), + (0xFA30, 'M', u'侮'), + (0xFA31, 'M', u'僧'), + (0xFA32, 'M', u'免'), + (0xFA33, 'M', u'勉'), + (0xFA34, 'M', u'勤'), + (0xFA35, 'M', u'卑'), + (0xFA36, 'M', u'喝'), + (0xFA37, 'M', u'嘆'), + (0xFA38, 'M', u'器'), + (0xFA39, 'M', u'塀'), + (0xFA3A, 'M', u'墨'), + (0xFA3B, 'M', u'層'), + (0xFA3C, 'M', u'屮'), + (0xFA3D, 'M', u'悔'), + (0xFA3E, 'M', u'慨'), + (0xFA3F, 'M', u'憎'), + (0xFA40, 'M', u'懲'), + (0xFA41, 'M', u'敏'), + (0xFA42, 'M', u'既'), + (0xFA43, 'M', u'暑'), + (0xFA44, 'M', u'梅'), + (0xFA45, 'M', u'海'), + (0xFA46, 'M', u'渚'), + ] + +def _seg_42(): + return [ + (0xFA47, 'M', u'漢'), + (0xFA48, 'M', u'煮'), + (0xFA49, 'M', u'爫'), + (0xFA4A, 'M', u'琢'), + (0xFA4B, 'M', u'碑'), + (0xFA4C, 'M', u'社'), + (0xFA4D, 'M', u'祉'), + (0xFA4E, 'M', u'祈'), + (0xFA4F, 'M', u'祐'), + (0xFA50, 'M', u'祖'), + (0xFA51, 'M', u'祝'), + (0xFA52, 'M', u'禍'), + (0xFA53, 'M', u'禎'), + (0xFA54, 'M', u'穀'), + (0xFA55, 'M', u'突'), + (0xFA56, 'M', u'節'), + (0xFA57, 'M', u'練'), + (0xFA58, 'M', u'縉'), + (0xFA59, 'M', u'繁'), + (0xFA5A, 'M', u'署'), + (0xFA5B, 'M', u'者'), + (0xFA5C, 'M', u'臭'), + (0xFA5D, 'M', u'艹'), + (0xFA5F, 'M', u'著'), + (0xFA60, 'M', u'褐'), + (0xFA61, 'M', u'視'), + (0xFA62, 'M', u'謁'), + (0xFA63, 'M', u'謹'), + (0xFA64, 'M', u'賓'), + (0xFA65, 'M', u'贈'), + (0xFA66, 'M', u'辶'), + (0xFA67, 'M', u'逸'), + (0xFA68, 'M', u'難'), + (0xFA69, 'M', u'響'), + (0xFA6A, 'M', u'頻'), + (0xFA6B, 'M', u'恵'), + (0xFA6C, 'M', u'𤋮'), + (0xFA6D, 'M', u'舘'), + (0xFA6E, 'X'), + (0xFA70, 'M', u'並'), + (0xFA71, 'M', u'况'), + (0xFA72, 'M', u'全'), + (0xFA73, 'M', u'侀'), + (0xFA74, 'M', u'充'), + (0xFA75, 'M', u'冀'), + (0xFA76, 'M', u'勇'), + (0xFA77, 'M', u'勺'), + (0xFA78, 'M', u'喝'), + (0xFA79, 'M', u'啕'), + (0xFA7A, 'M', u'喙'), + (0xFA7B, 'M', u'嗢'), + (0xFA7C, 'M', u'塚'), + (0xFA7D, 'M', u'墳'), + (0xFA7E, 'M', u'奄'), + (0xFA7F, 'M', u'奔'), + (0xFA80, 'M', u'婢'), + (0xFA81, 'M', u'嬨'), + (0xFA82, 'M', u'廒'), + (0xFA83, 'M', u'廙'), + (0xFA84, 'M', u'彩'), + (0xFA85, 'M', u'徭'), + (0xFA86, 'M', u'惘'), + (0xFA87, 'M', u'慎'), + (0xFA88, 'M', u'愈'), + (0xFA89, 'M', u'憎'), + (0xFA8A, 'M', u'慠'), + (0xFA8B, 'M', u'懲'), + (0xFA8C, 'M', u'戴'), + (0xFA8D, 'M', u'揄'), + (0xFA8E, 'M', u'搜'), + (0xFA8F, 'M', u'摒'), + (0xFA90, 'M', u'敖'), + (0xFA91, 'M', u'晴'), + (0xFA92, 'M', u'朗'), + (0xFA93, 'M', u'望'), + (0xFA94, 'M', u'杖'), + (0xFA95, 'M', u'歹'), + (0xFA96, 'M', u'殺'), + (0xFA97, 'M', u'流'), + (0xFA98, 'M', u'滛'), + (0xFA99, 'M', u'滋'), + (0xFA9A, 'M', u'漢'), + (0xFA9B, 'M', u'瀞'), + (0xFA9C, 'M', u'煮'), + (0xFA9D, 'M', u'瞧'), + (0xFA9E, 'M', u'爵'), + (0xFA9F, 'M', u'犯'), + (0xFAA0, 'M', u'猪'), + (0xFAA1, 'M', u'瑱'), + (0xFAA2, 'M', u'甆'), + (0xFAA3, 'M', u'画'), + (0xFAA4, 'M', u'瘝'), + (0xFAA5, 'M', u'瘟'), + (0xFAA6, 'M', u'益'), + (0xFAA7, 'M', u'盛'), + (0xFAA8, 'M', u'直'), + (0xFAA9, 'M', u'睊'), + (0xFAAA, 'M', u'着'), + (0xFAAB, 'M', u'磌'), + (0xFAAC, 'M', u'窱'), + ] + +def _seg_43(): + return [ + (0xFAAD, 'M', u'節'), + (0xFAAE, 'M', u'类'), + (0xFAAF, 'M', u'絛'), + (0xFAB0, 'M', u'練'), + (0xFAB1, 'M', u'缾'), + (0xFAB2, 'M', u'者'), + (0xFAB3, 'M', u'荒'), + (0xFAB4, 'M', u'華'), + (0xFAB5, 'M', u'蝹'), + (0xFAB6, 'M', u'襁'), + (0xFAB7, 'M', u'覆'), + (0xFAB8, 'M', u'視'), + (0xFAB9, 'M', u'調'), + (0xFABA, 'M', u'諸'), + (0xFABB, 'M', u'請'), + (0xFABC, 'M', u'謁'), + (0xFABD, 'M', u'諾'), + (0xFABE, 'M', u'諭'), + (0xFABF, 'M', u'謹'), + (0xFAC0, 'M', u'變'), + (0xFAC1, 'M', u'贈'), + (0xFAC2, 'M', u'輸'), + (0xFAC3, 'M', u'遲'), + (0xFAC4, 'M', u'醙'), + (0xFAC5, 'M', u'鉶'), + (0xFAC6, 'M', u'陼'), + (0xFAC7, 'M', u'難'), + (0xFAC8, 'M', u'靖'), + (0xFAC9, 'M', u'韛'), + (0xFACA, 'M', u'響'), + (0xFACB, 'M', u'頋'), + (0xFACC, 'M', u'頻'), + (0xFACD, 'M', u'鬒'), + (0xFACE, 'M', u'龜'), + (0xFACF, 'M', u'𢡊'), + (0xFAD0, 'M', u'𢡄'), + (0xFAD1, 'M', u'𣏕'), + (0xFAD2, 'M', u'㮝'), + (0xFAD3, 'M', u'䀘'), + (0xFAD4, 'M', u'䀹'), + (0xFAD5, 'M', u'𥉉'), + (0xFAD6, 'M', u'𥳐'), + (0xFAD7, 'M', u'𧻓'), + (0xFAD8, 'M', u'齃'), + (0xFAD9, 'M', u'龎'), + (0xFADA, 'X'), + (0xFB00, 'M', u'ff'), + (0xFB01, 'M', u'fi'), + (0xFB02, 'M', u'fl'), + (0xFB03, 'M', u'ffi'), + (0xFB04, 'M', u'ffl'), + (0xFB05, 'M', u'st'), + (0xFB07, 'X'), + (0xFB13, 'M', u'մն'), + (0xFB14, 'M', u'մե'), + (0xFB15, 'M', u'մի'), + (0xFB16, 'M', u'վն'), + (0xFB17, 'M', u'մխ'), + (0xFB18, 'X'), + (0xFB1D, 'M', u'יִ'), + (0xFB1E, 'V'), + (0xFB1F, 'M', u'ײַ'), + (0xFB20, 'M', u'ע'), + (0xFB21, 'M', u'א'), + (0xFB22, 'M', u'ד'), + (0xFB23, 'M', u'ה'), + (0xFB24, 'M', u'כ'), + (0xFB25, 'M', u'ל'), + (0xFB26, 'M', u'ם'), + (0xFB27, 'M', u'ר'), + (0xFB28, 'M', u'ת'), + (0xFB29, '3', u'+'), + (0xFB2A, 'M', u'שׁ'), + (0xFB2B, 'M', u'שׂ'), + (0xFB2C, 'M', u'שּׁ'), + (0xFB2D, 'M', u'שּׂ'), + (0xFB2E, 'M', u'אַ'), + (0xFB2F, 'M', u'אָ'), + (0xFB30, 'M', u'אּ'), + (0xFB31, 'M', u'בּ'), + (0xFB32, 'M', u'גּ'), + (0xFB33, 'M', u'דּ'), + (0xFB34, 'M', u'הּ'), + (0xFB35, 'M', u'וּ'), + (0xFB36, 'M', u'זּ'), + (0xFB37, 'X'), + (0xFB38, 'M', u'טּ'), + (0xFB39, 'M', u'יּ'), + (0xFB3A, 'M', u'ךּ'), + (0xFB3B, 'M', u'כּ'), + (0xFB3C, 'M', u'לּ'), + (0xFB3D, 'X'), + (0xFB3E, 'M', u'מּ'), + (0xFB3F, 'X'), + (0xFB40, 'M', u'נּ'), + (0xFB41, 'M', u'סּ'), + (0xFB42, 'X'), + (0xFB43, 'M', u'ףּ'), + (0xFB44, 'M', u'פּ'), + (0xFB45, 'X'), + ] + +def _seg_44(): + return [ + (0xFB46, 'M', u'צּ'), + (0xFB47, 'M', u'קּ'), + (0xFB48, 'M', u'רּ'), + (0xFB49, 'M', u'שּ'), + (0xFB4A, 'M', u'תּ'), + (0xFB4B, 'M', u'וֹ'), + (0xFB4C, 'M', u'בֿ'), + (0xFB4D, 'M', u'כֿ'), + (0xFB4E, 'M', u'פֿ'), + (0xFB4F, 'M', u'אל'), + (0xFB50, 'M', u'ٱ'), + (0xFB52, 'M', u'ٻ'), + (0xFB56, 'M', u'پ'), + (0xFB5A, 'M', u'ڀ'), + (0xFB5E, 'M', u'ٺ'), + (0xFB62, 'M', u'ٿ'), + (0xFB66, 'M', u'ٹ'), + (0xFB6A, 'M', u'ڤ'), + (0xFB6E, 'M', u'ڦ'), + (0xFB72, 'M', u'ڄ'), + (0xFB76, 'M', u'ڃ'), + (0xFB7A, 'M', u'چ'), + (0xFB7E, 'M', u'ڇ'), + (0xFB82, 'M', u'ڍ'), + (0xFB84, 'M', u'ڌ'), + (0xFB86, 'M', u'ڎ'), + (0xFB88, 'M', u'ڈ'), + (0xFB8A, 'M', u'ژ'), + (0xFB8C, 'M', u'ڑ'), + (0xFB8E, 'M', u'ک'), + (0xFB92, 'M', u'گ'), + (0xFB96, 'M', u'ڳ'), + (0xFB9A, 'M', u'ڱ'), + (0xFB9E, 'M', u'ں'), + (0xFBA0, 'M', u'ڻ'), + (0xFBA4, 'M', u'ۀ'), + (0xFBA6, 'M', u'ہ'), + (0xFBAA, 'M', u'ھ'), + (0xFBAE, 'M', u'ے'), + (0xFBB0, 'M', u'ۓ'), + (0xFBB2, 'V'), + (0xFBC2, 'X'), + (0xFBD3, 'M', u'ڭ'), + (0xFBD7, 'M', u'ۇ'), + (0xFBD9, 'M', u'ۆ'), + (0xFBDB, 'M', u'ۈ'), + (0xFBDD, 'M', u'ۇٴ'), + (0xFBDE, 'M', u'ۋ'), + (0xFBE0, 'M', u'ۅ'), + (0xFBE2, 'M', u'ۉ'), + (0xFBE4, 'M', u'ې'), + (0xFBE8, 'M', u'ى'), + (0xFBEA, 'M', u'ئا'), + (0xFBEC, 'M', u'ئە'), + (0xFBEE, 'M', u'ئو'), + (0xFBF0, 'M', u'ئۇ'), + (0xFBF2, 'M', u'ئۆ'), + (0xFBF4, 'M', u'ئۈ'), + (0xFBF6, 'M', u'ئې'), + (0xFBF9, 'M', u'ئى'), + (0xFBFC, 'M', u'ی'), + (0xFC00, 'M', u'ئج'), + (0xFC01, 'M', u'ئح'), + (0xFC02, 'M', u'ئم'), + (0xFC03, 'M', u'ئى'), + (0xFC04, 'M', u'ئي'), + (0xFC05, 'M', u'بج'), + (0xFC06, 'M', u'بح'), + (0xFC07, 'M', u'بخ'), + (0xFC08, 'M', u'بم'), + (0xFC09, 'M', u'بى'), + (0xFC0A, 'M', u'بي'), + (0xFC0B, 'M', u'تج'), + (0xFC0C, 'M', u'تح'), + (0xFC0D, 'M', u'تخ'), + (0xFC0E, 'M', u'تم'), + (0xFC0F, 'M', u'تى'), + (0xFC10, 'M', u'تي'), + (0xFC11, 'M', u'ثج'), + (0xFC12, 'M', u'ثم'), + (0xFC13, 'M', u'ثى'), + (0xFC14, 'M', u'ثي'), + (0xFC15, 'M', u'جح'), + (0xFC16, 'M', u'جم'), + (0xFC17, 'M', u'حج'), + (0xFC18, 'M', u'حم'), + (0xFC19, 'M', u'خج'), + (0xFC1A, 'M', u'خح'), + (0xFC1B, 'M', u'خم'), + (0xFC1C, 'M', u'سج'), + (0xFC1D, 'M', u'سح'), + (0xFC1E, 'M', u'سخ'), + (0xFC1F, 'M', u'سم'), + (0xFC20, 'M', u'صح'), + (0xFC21, 'M', u'صم'), + (0xFC22, 'M', u'ضج'), + (0xFC23, 'M', u'ضح'), + (0xFC24, 'M', u'ضخ'), + (0xFC25, 'M', u'ضم'), + (0xFC26, 'M', u'طح'), + ] + +def _seg_45(): + return [ + (0xFC27, 'M', u'طم'), + (0xFC28, 'M', u'ظم'), + (0xFC29, 'M', u'عج'), + (0xFC2A, 'M', u'عم'), + (0xFC2B, 'M', u'غج'), + (0xFC2C, 'M', u'غم'), + (0xFC2D, 'M', u'فج'), + (0xFC2E, 'M', u'فح'), + (0xFC2F, 'M', u'فخ'), + (0xFC30, 'M', u'فم'), + (0xFC31, 'M', u'فى'), + (0xFC32, 'M', u'في'), + (0xFC33, 'M', u'قح'), + (0xFC34, 'M', u'قم'), + (0xFC35, 'M', u'قى'), + (0xFC36, 'M', u'قي'), + (0xFC37, 'M', u'كا'), + (0xFC38, 'M', u'كج'), + (0xFC39, 'M', u'كح'), + (0xFC3A, 'M', u'كخ'), + (0xFC3B, 'M', u'كل'), + (0xFC3C, 'M', u'كم'), + (0xFC3D, 'M', u'كى'), + (0xFC3E, 'M', u'كي'), + (0xFC3F, 'M', u'لج'), + (0xFC40, 'M', u'لح'), + (0xFC41, 'M', u'لخ'), + (0xFC42, 'M', u'لم'), + (0xFC43, 'M', u'لى'), + (0xFC44, 'M', u'لي'), + (0xFC45, 'M', u'مج'), + (0xFC46, 'M', u'مح'), + (0xFC47, 'M', u'مخ'), + (0xFC48, 'M', u'مم'), + (0xFC49, 'M', u'مى'), + (0xFC4A, 'M', u'مي'), + (0xFC4B, 'M', u'نج'), + (0xFC4C, 'M', u'نح'), + (0xFC4D, 'M', u'نخ'), + (0xFC4E, 'M', u'نم'), + (0xFC4F, 'M', u'نى'), + (0xFC50, 'M', u'ني'), + (0xFC51, 'M', u'هج'), + (0xFC52, 'M', u'هم'), + (0xFC53, 'M', u'هى'), + (0xFC54, 'M', u'هي'), + (0xFC55, 'M', u'يج'), + (0xFC56, 'M', u'يح'), + (0xFC57, 'M', u'يخ'), + (0xFC58, 'M', u'يم'), + (0xFC59, 'M', u'يى'), + (0xFC5A, 'M', u'يي'), + (0xFC5B, 'M', u'ذٰ'), + (0xFC5C, 'M', u'رٰ'), + (0xFC5D, 'M', u'ىٰ'), + (0xFC5E, '3', u' ٌّ'), + (0xFC5F, '3', u' ٍّ'), + (0xFC60, '3', u' َّ'), + (0xFC61, '3', u' ُّ'), + (0xFC62, '3', u' ِّ'), + (0xFC63, '3', u' ّٰ'), + (0xFC64, 'M', u'ئر'), + (0xFC65, 'M', u'ئز'), + (0xFC66, 'M', u'ئم'), + (0xFC67, 'M', u'ئن'), + (0xFC68, 'M', u'ئى'), + (0xFC69, 'M', u'ئي'), + (0xFC6A, 'M', u'بر'), + (0xFC6B, 'M', u'بز'), + (0xFC6C, 'M', u'بم'), + (0xFC6D, 'M', u'بن'), + (0xFC6E, 'M', u'بى'), + (0xFC6F, 'M', u'بي'), + (0xFC70, 'M', u'تر'), + (0xFC71, 'M', u'تز'), + (0xFC72, 'M', u'تم'), + (0xFC73, 'M', u'تن'), + (0xFC74, 'M', u'تى'), + (0xFC75, 'M', u'تي'), + (0xFC76, 'M', u'ثر'), + (0xFC77, 'M', u'ثز'), + (0xFC78, 'M', u'ثم'), + (0xFC79, 'M', u'ثن'), + (0xFC7A, 'M', u'ثى'), + (0xFC7B, 'M', u'ثي'), + (0xFC7C, 'M', u'فى'), + (0xFC7D, 'M', u'في'), + (0xFC7E, 'M', u'قى'), + (0xFC7F, 'M', u'قي'), + (0xFC80, 'M', u'كا'), + (0xFC81, 'M', u'كل'), + (0xFC82, 'M', u'كم'), + (0xFC83, 'M', u'كى'), + (0xFC84, 'M', u'كي'), + (0xFC85, 'M', u'لم'), + (0xFC86, 'M', u'لى'), + (0xFC87, 'M', u'لي'), + (0xFC88, 'M', u'ما'), + (0xFC89, 'M', u'مم'), + (0xFC8A, 'M', u'نر'), + ] + +def _seg_46(): + return [ + (0xFC8B, 'M', u'نز'), + (0xFC8C, 'M', u'نم'), + (0xFC8D, 'M', u'نن'), + (0xFC8E, 'M', u'نى'), + (0xFC8F, 'M', u'ني'), + (0xFC90, 'M', u'ىٰ'), + (0xFC91, 'M', u'ير'), + (0xFC92, 'M', u'يز'), + (0xFC93, 'M', u'يم'), + (0xFC94, 'M', u'ين'), + (0xFC95, 'M', u'يى'), + (0xFC96, 'M', u'يي'), + (0xFC97, 'M', u'ئج'), + (0xFC98, 'M', u'ئح'), + (0xFC99, 'M', u'ئخ'), + (0xFC9A, 'M', u'ئم'), + (0xFC9B, 'M', u'ئه'), + (0xFC9C, 'M', u'بج'), + (0xFC9D, 'M', u'بح'), + (0xFC9E, 'M', u'بخ'), + (0xFC9F, 'M', u'بم'), + (0xFCA0, 'M', u'به'), + (0xFCA1, 'M', u'تج'), + (0xFCA2, 'M', u'تح'), + (0xFCA3, 'M', u'تخ'), + (0xFCA4, 'M', u'تم'), + (0xFCA5, 'M', u'ته'), + (0xFCA6, 'M', u'ثم'), + (0xFCA7, 'M', u'جح'), + (0xFCA8, 'M', u'جم'), + (0xFCA9, 'M', u'حج'), + (0xFCAA, 'M', u'حم'), + (0xFCAB, 'M', u'خج'), + (0xFCAC, 'M', u'خم'), + (0xFCAD, 'M', u'سج'), + (0xFCAE, 'M', u'سح'), + (0xFCAF, 'M', u'سخ'), + (0xFCB0, 'M', u'سم'), + (0xFCB1, 'M', u'صح'), + (0xFCB2, 'M', u'صخ'), + (0xFCB3, 'M', u'صم'), + (0xFCB4, 'M', u'ضج'), + (0xFCB5, 'M', u'ضح'), + (0xFCB6, 'M', u'ضخ'), + (0xFCB7, 'M', u'ضم'), + (0xFCB8, 'M', u'طح'), + (0xFCB9, 'M', u'ظم'), + (0xFCBA, 'M', u'عج'), + (0xFCBB, 'M', u'عم'), + (0xFCBC, 'M', u'غج'), + (0xFCBD, 'M', u'غم'), + (0xFCBE, 'M', u'فج'), + (0xFCBF, 'M', u'فح'), + (0xFCC0, 'M', u'فخ'), + (0xFCC1, 'M', u'فم'), + (0xFCC2, 'M', u'قح'), + (0xFCC3, 'M', u'قم'), + (0xFCC4, 'M', u'كج'), + (0xFCC5, 'M', u'كح'), + (0xFCC6, 'M', u'كخ'), + (0xFCC7, 'M', u'كل'), + (0xFCC8, 'M', u'كم'), + (0xFCC9, 'M', u'لج'), + (0xFCCA, 'M', u'لح'), + (0xFCCB, 'M', u'لخ'), + (0xFCCC, 'M', u'لم'), + (0xFCCD, 'M', u'له'), + (0xFCCE, 'M', u'مج'), + (0xFCCF, 'M', u'مح'), + (0xFCD0, 'M', u'مخ'), + (0xFCD1, 'M', u'مم'), + (0xFCD2, 'M', u'نج'), + (0xFCD3, 'M', u'نح'), + (0xFCD4, 'M', u'نخ'), + (0xFCD5, 'M', u'نم'), + (0xFCD6, 'M', u'نه'), + (0xFCD7, 'M', u'هج'), + (0xFCD8, 'M', u'هم'), + (0xFCD9, 'M', u'هٰ'), + (0xFCDA, 'M', u'يج'), + (0xFCDB, 'M', u'يح'), + (0xFCDC, 'M', u'يخ'), + (0xFCDD, 'M', u'يم'), + (0xFCDE, 'M', u'يه'), + (0xFCDF, 'M', u'ئم'), + (0xFCE0, 'M', u'ئه'), + (0xFCE1, 'M', u'بم'), + (0xFCE2, 'M', u'به'), + (0xFCE3, 'M', u'تم'), + (0xFCE4, 'M', u'ته'), + (0xFCE5, 'M', u'ثم'), + (0xFCE6, 'M', u'ثه'), + (0xFCE7, 'M', u'سم'), + (0xFCE8, 'M', u'سه'), + (0xFCE9, 'M', u'شم'), + (0xFCEA, 'M', u'شه'), + (0xFCEB, 'M', u'كل'), + (0xFCEC, 'M', u'كم'), + (0xFCED, 'M', u'لم'), + (0xFCEE, 'M', u'نم'), + ] + +def _seg_47(): + return [ + (0xFCEF, 'M', u'نه'), + (0xFCF0, 'M', u'يم'), + (0xFCF1, 'M', u'يه'), + (0xFCF2, 'M', u'ـَّ'), + (0xFCF3, 'M', u'ـُّ'), + (0xFCF4, 'M', u'ـِّ'), + (0xFCF5, 'M', u'طى'), + (0xFCF6, 'M', u'طي'), + (0xFCF7, 'M', u'عى'), + (0xFCF8, 'M', u'عي'), + (0xFCF9, 'M', u'غى'), + (0xFCFA, 'M', u'غي'), + (0xFCFB, 'M', u'سى'), + (0xFCFC, 'M', u'سي'), + (0xFCFD, 'M', u'شى'), + (0xFCFE, 'M', u'شي'), + (0xFCFF, 'M', u'حى'), + (0xFD00, 'M', u'حي'), + (0xFD01, 'M', u'جى'), + (0xFD02, 'M', u'جي'), + (0xFD03, 'M', u'خى'), + (0xFD04, 'M', u'خي'), + (0xFD05, 'M', u'صى'), + (0xFD06, 'M', u'صي'), + (0xFD07, 'M', u'ضى'), + (0xFD08, 'M', u'ضي'), + (0xFD09, 'M', u'شج'), + (0xFD0A, 'M', u'شح'), + (0xFD0B, 'M', u'شخ'), + (0xFD0C, 'M', u'شم'), + (0xFD0D, 'M', u'شر'), + (0xFD0E, 'M', u'سر'), + (0xFD0F, 'M', u'صر'), + (0xFD10, 'M', u'ضر'), + (0xFD11, 'M', u'طى'), + (0xFD12, 'M', u'طي'), + (0xFD13, 'M', u'عى'), + (0xFD14, 'M', u'عي'), + (0xFD15, 'M', u'غى'), + (0xFD16, 'M', u'غي'), + (0xFD17, 'M', u'سى'), + (0xFD18, 'M', u'سي'), + (0xFD19, 'M', u'شى'), + (0xFD1A, 'M', u'شي'), + (0xFD1B, 'M', u'حى'), + (0xFD1C, 'M', u'حي'), + (0xFD1D, 'M', u'جى'), + (0xFD1E, 'M', u'جي'), + (0xFD1F, 'M', u'خى'), + (0xFD20, 'M', u'خي'), + (0xFD21, 'M', u'صى'), + (0xFD22, 'M', u'صي'), + (0xFD23, 'M', u'ضى'), + (0xFD24, 'M', u'ضي'), + (0xFD25, 'M', u'شج'), + (0xFD26, 'M', u'شح'), + (0xFD27, 'M', u'شخ'), + (0xFD28, 'M', u'شم'), + (0xFD29, 'M', u'شر'), + (0xFD2A, 'M', u'سر'), + (0xFD2B, 'M', u'صر'), + (0xFD2C, 'M', u'ضر'), + (0xFD2D, 'M', u'شج'), + (0xFD2E, 'M', u'شح'), + (0xFD2F, 'M', u'شخ'), + (0xFD30, 'M', u'شم'), + (0xFD31, 'M', u'سه'), + (0xFD32, 'M', u'شه'), + (0xFD33, 'M', u'طم'), + (0xFD34, 'M', u'سج'), + (0xFD35, 'M', u'سح'), + (0xFD36, 'M', u'سخ'), + (0xFD37, 'M', u'شج'), + (0xFD38, 'M', u'شح'), + (0xFD39, 'M', u'شخ'), + (0xFD3A, 'M', u'طم'), + (0xFD3B, 'M', u'ظم'), + (0xFD3C, 'M', u'اً'), + (0xFD3E, 'V'), + (0xFD40, 'X'), + (0xFD50, 'M', u'تجم'), + (0xFD51, 'M', u'تحج'), + (0xFD53, 'M', u'تحم'), + (0xFD54, 'M', u'تخم'), + (0xFD55, 'M', u'تمج'), + (0xFD56, 'M', u'تمح'), + (0xFD57, 'M', u'تمخ'), + (0xFD58, 'M', u'جمح'), + (0xFD5A, 'M', u'حمي'), + (0xFD5B, 'M', u'حمى'), + (0xFD5C, 'M', u'سحج'), + (0xFD5D, 'M', u'سجح'), + (0xFD5E, 'M', u'سجى'), + (0xFD5F, 'M', u'سمح'), + (0xFD61, 'M', u'سمج'), + (0xFD62, 'M', u'سمم'), + (0xFD64, 'M', u'صحح'), + (0xFD66, 'M', u'صمم'), + (0xFD67, 'M', u'شحم'), + (0xFD69, 'M', u'شجي'), + ] + +def _seg_48(): + return [ + (0xFD6A, 'M', u'شمخ'), + (0xFD6C, 'M', u'شمم'), + (0xFD6E, 'M', u'ضحى'), + (0xFD6F, 'M', u'ضخم'), + (0xFD71, 'M', u'طمح'), + (0xFD73, 'M', u'طمم'), + (0xFD74, 'M', u'طمي'), + (0xFD75, 'M', u'عجم'), + (0xFD76, 'M', u'عمم'), + (0xFD78, 'M', u'عمى'), + (0xFD79, 'M', u'غمم'), + (0xFD7A, 'M', u'غمي'), + (0xFD7B, 'M', u'غمى'), + (0xFD7C, 'M', u'فخم'), + (0xFD7E, 'M', u'قمح'), + (0xFD7F, 'M', u'قمم'), + (0xFD80, 'M', u'لحم'), + (0xFD81, 'M', u'لحي'), + (0xFD82, 'M', u'لحى'), + (0xFD83, 'M', u'لجج'), + (0xFD85, 'M', u'لخم'), + (0xFD87, 'M', u'لمح'), + (0xFD89, 'M', u'محج'), + (0xFD8A, 'M', u'محم'), + (0xFD8B, 'M', u'محي'), + (0xFD8C, 'M', u'مجح'), + (0xFD8D, 'M', u'مجم'), + (0xFD8E, 'M', u'مخج'), + (0xFD8F, 'M', u'مخم'), + (0xFD90, 'X'), + (0xFD92, 'M', u'مجخ'), + (0xFD93, 'M', u'همج'), + (0xFD94, 'M', u'همم'), + (0xFD95, 'M', u'نحم'), + (0xFD96, 'M', u'نحى'), + (0xFD97, 'M', u'نجم'), + (0xFD99, 'M', u'نجى'), + (0xFD9A, 'M', u'نمي'), + (0xFD9B, 'M', u'نمى'), + (0xFD9C, 'M', u'يمم'), + (0xFD9E, 'M', u'بخي'), + (0xFD9F, 'M', u'تجي'), + (0xFDA0, 'M', u'تجى'), + (0xFDA1, 'M', u'تخي'), + (0xFDA2, 'M', u'تخى'), + (0xFDA3, 'M', u'تمي'), + (0xFDA4, 'M', u'تمى'), + (0xFDA5, 'M', u'جمي'), + (0xFDA6, 'M', u'جحى'), + (0xFDA7, 'M', u'جمى'), + (0xFDA8, 'M', u'سخى'), + (0xFDA9, 'M', u'صحي'), + (0xFDAA, 'M', u'شحي'), + (0xFDAB, 'M', u'ضحي'), + (0xFDAC, 'M', u'لجي'), + (0xFDAD, 'M', u'لمي'), + (0xFDAE, 'M', u'يحي'), + (0xFDAF, 'M', u'يجي'), + (0xFDB0, 'M', u'يمي'), + (0xFDB1, 'M', u'ممي'), + (0xFDB2, 'M', u'قمي'), + (0xFDB3, 'M', u'نحي'), + (0xFDB4, 'M', u'قمح'), + (0xFDB5, 'M', u'لحم'), + (0xFDB6, 'M', u'عمي'), + (0xFDB7, 'M', u'كمي'), + (0xFDB8, 'M', u'نجح'), + (0xFDB9, 'M', u'مخي'), + (0xFDBA, 'M', u'لجم'), + (0xFDBB, 'M', u'كمم'), + (0xFDBC, 'M', u'لجم'), + (0xFDBD, 'M', u'نجح'), + (0xFDBE, 'M', u'جحي'), + (0xFDBF, 'M', u'حجي'), + (0xFDC0, 'M', u'مجي'), + (0xFDC1, 'M', u'فمي'), + (0xFDC2, 'M', u'بحي'), + (0xFDC3, 'M', u'كمم'), + (0xFDC4, 'M', u'عجم'), + (0xFDC5, 'M', u'صمم'), + (0xFDC6, 'M', u'سخي'), + (0xFDC7, 'M', u'نجي'), + (0xFDC8, 'X'), + (0xFDF0, 'M', u'صلے'), + (0xFDF1, 'M', u'قلے'), + (0xFDF2, 'M', u'الله'), + (0xFDF3, 'M', u'اكبر'), + (0xFDF4, 'M', u'محمد'), + (0xFDF5, 'M', u'صلعم'), + (0xFDF6, 'M', u'رسول'), + (0xFDF7, 'M', u'عليه'), + (0xFDF8, 'M', u'وسلم'), + (0xFDF9, 'M', u'صلى'), + (0xFDFA, '3', u'صلى الله عليه وسلم'), + (0xFDFB, '3', u'جل جلاله'), + (0xFDFC, 'M', u'ریال'), + (0xFDFD, 'V'), + (0xFDFE, 'X'), + (0xFE00, 'I'), + (0xFE10, '3', u','), + ] + +def _seg_49(): + return [ + (0xFE11, 'M', u'、'), + (0xFE12, 'X'), + (0xFE13, '3', u':'), + (0xFE14, '3', u';'), + (0xFE15, '3', u'!'), + (0xFE16, '3', u'?'), + (0xFE17, 'M', u'〖'), + (0xFE18, 'M', u'〗'), + (0xFE19, 'X'), + (0xFE20, 'V'), + (0xFE30, 'X'), + (0xFE31, 'M', u'—'), + (0xFE32, 'M', u'–'), + (0xFE33, '3', u'_'), + (0xFE35, '3', u'('), + (0xFE36, '3', u')'), + (0xFE37, '3', u'{'), + (0xFE38, '3', u'}'), + (0xFE39, 'M', u'〔'), + (0xFE3A, 'M', u'〕'), + (0xFE3B, 'M', u'【'), + (0xFE3C, 'M', u'】'), + (0xFE3D, 'M', u'《'), + (0xFE3E, 'M', u'》'), + (0xFE3F, 'M', u'〈'), + (0xFE40, 'M', u'〉'), + (0xFE41, 'M', u'「'), + (0xFE42, 'M', u'」'), + (0xFE43, 'M', u'『'), + (0xFE44, 'M', u'』'), + (0xFE45, 'V'), + (0xFE47, '3', u'['), + (0xFE48, '3', u']'), + (0xFE49, '3', u' ̅'), + (0xFE4D, '3', u'_'), + (0xFE50, '3', u','), + (0xFE51, 'M', u'、'), + (0xFE52, 'X'), + (0xFE54, '3', u';'), + (0xFE55, '3', u':'), + (0xFE56, '3', u'?'), + (0xFE57, '3', u'!'), + (0xFE58, 'M', u'—'), + (0xFE59, '3', u'('), + (0xFE5A, '3', u')'), + (0xFE5B, '3', u'{'), + (0xFE5C, '3', u'}'), + (0xFE5D, 'M', u'〔'), + (0xFE5E, 'M', u'〕'), + (0xFE5F, '3', u'#'), + (0xFE60, '3', u'&'), + (0xFE61, '3', u'*'), + (0xFE62, '3', u'+'), + (0xFE63, 'M', u'-'), + (0xFE64, '3', u'<'), + (0xFE65, '3', u'>'), + (0xFE66, '3', u'='), + (0xFE67, 'X'), + (0xFE68, '3', u'\\'), + (0xFE69, '3', u'$'), + (0xFE6A, '3', u'%'), + (0xFE6B, '3', u'@'), + (0xFE6C, 'X'), + (0xFE70, '3', u' ً'), + (0xFE71, 'M', u'ـً'), + (0xFE72, '3', u' ٌ'), + (0xFE73, 'V'), + (0xFE74, '3', u' ٍ'), + (0xFE75, 'X'), + (0xFE76, '3', u' َ'), + (0xFE77, 'M', u'ـَ'), + (0xFE78, '3', u' ُ'), + (0xFE79, 'M', u'ـُ'), + (0xFE7A, '3', u' ِ'), + (0xFE7B, 'M', u'ـِ'), + (0xFE7C, '3', u' ّ'), + (0xFE7D, 'M', u'ـّ'), + (0xFE7E, '3', u' ْ'), + (0xFE7F, 'M', u'ـْ'), + (0xFE80, 'M', u'ء'), + (0xFE81, 'M', u'آ'), + (0xFE83, 'M', u'أ'), + (0xFE85, 'M', u'ؤ'), + (0xFE87, 'M', u'إ'), + (0xFE89, 'M', u'ئ'), + (0xFE8D, 'M', u'ا'), + (0xFE8F, 'M', u'ب'), + (0xFE93, 'M', u'ة'), + (0xFE95, 'M', u'ت'), + (0xFE99, 'M', u'ث'), + (0xFE9D, 'M', u'ج'), + (0xFEA1, 'M', u'ح'), + (0xFEA5, 'M', u'خ'), + (0xFEA9, 'M', u'د'), + (0xFEAB, 'M', u'ذ'), + (0xFEAD, 'M', u'ر'), + (0xFEAF, 'M', u'ز'), + (0xFEB1, 'M', u'س'), + (0xFEB5, 'M', u'ش'), + (0xFEB9, 'M', u'ص'), + ] + +def _seg_50(): + return [ + (0xFEBD, 'M', u'ض'), + (0xFEC1, 'M', u'ط'), + (0xFEC5, 'M', u'ظ'), + (0xFEC9, 'M', u'ع'), + (0xFECD, 'M', u'غ'), + (0xFED1, 'M', u'ف'), + (0xFED5, 'M', u'ق'), + (0xFED9, 'M', u'ك'), + (0xFEDD, 'M', u'ل'), + (0xFEE1, 'M', u'م'), + (0xFEE5, 'M', u'ن'), + (0xFEE9, 'M', u'ه'), + (0xFEED, 'M', u'و'), + (0xFEEF, 'M', u'ى'), + (0xFEF1, 'M', u'ي'), + (0xFEF5, 'M', u'لآ'), + (0xFEF7, 'M', u'لأ'), + (0xFEF9, 'M', u'لإ'), + (0xFEFB, 'M', u'لا'), + (0xFEFD, 'X'), + (0xFEFF, 'I'), + (0xFF00, 'X'), + (0xFF01, '3', u'!'), + (0xFF02, '3', u'"'), + (0xFF03, '3', u'#'), + (0xFF04, '3', u'$'), + (0xFF05, '3', u'%'), + (0xFF06, '3', u'&'), + (0xFF07, '3', u'\''), + (0xFF08, '3', u'('), + (0xFF09, '3', u')'), + (0xFF0A, '3', u'*'), + (0xFF0B, '3', u'+'), + (0xFF0C, '3', u','), + (0xFF0D, 'M', u'-'), + (0xFF0E, 'M', u'.'), + (0xFF0F, '3', u'/'), + (0xFF10, 'M', u'0'), + (0xFF11, 'M', u'1'), + (0xFF12, 'M', u'2'), + (0xFF13, 'M', u'3'), + (0xFF14, 'M', u'4'), + (0xFF15, 'M', u'5'), + (0xFF16, 'M', u'6'), + (0xFF17, 'M', u'7'), + (0xFF18, 'M', u'8'), + (0xFF19, 'M', u'9'), + (0xFF1A, '3', u':'), + (0xFF1B, '3', u';'), + (0xFF1C, '3', u'<'), + (0xFF1D, '3', u'='), + (0xFF1E, '3', u'>'), + (0xFF1F, '3', u'?'), + (0xFF20, '3', u'@'), + (0xFF21, 'M', u'a'), + (0xFF22, 'M', u'b'), + (0xFF23, 'M', u'c'), + (0xFF24, 'M', u'd'), + (0xFF25, 'M', u'e'), + (0xFF26, 'M', u'f'), + (0xFF27, 'M', u'g'), + (0xFF28, 'M', u'h'), + (0xFF29, 'M', u'i'), + (0xFF2A, 'M', u'j'), + (0xFF2B, 'M', u'k'), + (0xFF2C, 'M', u'l'), + (0xFF2D, 'M', u'm'), + (0xFF2E, 'M', u'n'), + (0xFF2F, 'M', u'o'), + (0xFF30, 'M', u'p'), + (0xFF31, 'M', u'q'), + (0xFF32, 'M', u'r'), + (0xFF33, 'M', u's'), + (0xFF34, 'M', u't'), + (0xFF35, 'M', u'u'), + (0xFF36, 'M', u'v'), + (0xFF37, 'M', u'w'), + (0xFF38, 'M', u'x'), + (0xFF39, 'M', u'y'), + (0xFF3A, 'M', u'z'), + (0xFF3B, '3', u'['), + (0xFF3C, '3', u'\\'), + (0xFF3D, '3', u']'), + (0xFF3E, '3', u'^'), + (0xFF3F, '3', u'_'), + (0xFF40, '3', u'`'), + (0xFF41, 'M', u'a'), + (0xFF42, 'M', u'b'), + (0xFF43, 'M', u'c'), + (0xFF44, 'M', u'd'), + (0xFF45, 'M', u'e'), + (0xFF46, 'M', u'f'), + (0xFF47, 'M', u'g'), + (0xFF48, 'M', u'h'), + (0xFF49, 'M', u'i'), + (0xFF4A, 'M', u'j'), + (0xFF4B, 'M', u'k'), + (0xFF4C, 'M', u'l'), + (0xFF4D, 'M', u'm'), + (0xFF4E, 'M', u'n'), + ] + +def _seg_51(): + return [ + (0xFF4F, 'M', u'o'), + (0xFF50, 'M', u'p'), + (0xFF51, 'M', u'q'), + (0xFF52, 'M', u'r'), + (0xFF53, 'M', u's'), + (0xFF54, 'M', u't'), + (0xFF55, 'M', u'u'), + (0xFF56, 'M', u'v'), + (0xFF57, 'M', u'w'), + (0xFF58, 'M', u'x'), + (0xFF59, 'M', u'y'), + (0xFF5A, 'M', u'z'), + (0xFF5B, '3', u'{'), + (0xFF5C, '3', u'|'), + (0xFF5D, '3', u'}'), + (0xFF5E, '3', u'~'), + (0xFF5F, 'M', u'⦅'), + (0xFF60, 'M', u'⦆'), + (0xFF61, 'M', u'.'), + (0xFF62, 'M', u'「'), + (0xFF63, 'M', u'」'), + (0xFF64, 'M', u'、'), + (0xFF65, 'M', u'・'), + (0xFF66, 'M', u'ヲ'), + (0xFF67, 'M', u'ァ'), + (0xFF68, 'M', u'ィ'), + (0xFF69, 'M', u'ゥ'), + (0xFF6A, 'M', u'ェ'), + (0xFF6B, 'M', u'ォ'), + (0xFF6C, 'M', u'ャ'), + (0xFF6D, 'M', u'ュ'), + (0xFF6E, 'M', u'ョ'), + (0xFF6F, 'M', u'ッ'), + (0xFF70, 'M', u'ー'), + (0xFF71, 'M', u'ア'), + (0xFF72, 'M', u'イ'), + (0xFF73, 'M', u'ウ'), + (0xFF74, 'M', u'エ'), + (0xFF75, 'M', u'オ'), + (0xFF76, 'M', u'カ'), + (0xFF77, 'M', u'キ'), + (0xFF78, 'M', u'ク'), + (0xFF79, 'M', u'ケ'), + (0xFF7A, 'M', u'コ'), + (0xFF7B, 'M', u'サ'), + (0xFF7C, 'M', u'シ'), + (0xFF7D, 'M', u'ス'), + (0xFF7E, 'M', u'セ'), + (0xFF7F, 'M', u'ソ'), + (0xFF80, 'M', u'タ'), + (0xFF81, 'M', u'チ'), + (0xFF82, 'M', u'ツ'), + (0xFF83, 'M', u'テ'), + (0xFF84, 'M', u'ト'), + (0xFF85, 'M', u'ナ'), + (0xFF86, 'M', u'ニ'), + (0xFF87, 'M', u'ヌ'), + (0xFF88, 'M', u'ネ'), + (0xFF89, 'M', u'ノ'), + (0xFF8A, 'M', u'ハ'), + (0xFF8B, 'M', u'ヒ'), + (0xFF8C, 'M', u'フ'), + (0xFF8D, 'M', u'ヘ'), + (0xFF8E, 'M', u'ホ'), + (0xFF8F, 'M', u'マ'), + (0xFF90, 'M', u'ミ'), + (0xFF91, 'M', u'ム'), + (0xFF92, 'M', u'メ'), + (0xFF93, 'M', u'モ'), + (0xFF94, 'M', u'ヤ'), + (0xFF95, 'M', u'ユ'), + (0xFF96, 'M', u'ヨ'), + (0xFF97, 'M', u'ラ'), + (0xFF98, 'M', u'リ'), + (0xFF99, 'M', u'ル'), + (0xFF9A, 'M', u'レ'), + (0xFF9B, 'M', u'ロ'), + (0xFF9C, 'M', u'ワ'), + (0xFF9D, 'M', u'ン'), + (0xFF9E, 'M', u'゙'), + (0xFF9F, 'M', u'゚'), + (0xFFA0, 'X'), + (0xFFA1, 'M', u'ᄀ'), + (0xFFA2, 'M', u'ᄁ'), + (0xFFA3, 'M', u'ᆪ'), + (0xFFA4, 'M', u'ᄂ'), + (0xFFA5, 'M', u'ᆬ'), + (0xFFA6, 'M', u'ᆭ'), + (0xFFA7, 'M', u'ᄃ'), + (0xFFA8, 'M', u'ᄄ'), + (0xFFA9, 'M', u'ᄅ'), + (0xFFAA, 'M', u'ᆰ'), + (0xFFAB, 'M', u'ᆱ'), + (0xFFAC, 'M', u'ᆲ'), + (0xFFAD, 'M', u'ᆳ'), + (0xFFAE, 'M', u'ᆴ'), + (0xFFAF, 'M', u'ᆵ'), + (0xFFB0, 'M', u'ᄚ'), + (0xFFB1, 'M', u'ᄆ'), + (0xFFB2, 'M', u'ᄇ'), + ] + +def _seg_52(): + return [ + (0xFFB3, 'M', u'ᄈ'), + (0xFFB4, 'M', u'ᄡ'), + (0xFFB5, 'M', u'ᄉ'), + (0xFFB6, 'M', u'ᄊ'), + (0xFFB7, 'M', u'ᄋ'), + (0xFFB8, 'M', u'ᄌ'), + (0xFFB9, 'M', u'ᄍ'), + (0xFFBA, 'M', u'ᄎ'), + (0xFFBB, 'M', u'ᄏ'), + (0xFFBC, 'M', u'ᄐ'), + (0xFFBD, 'M', u'ᄑ'), + (0xFFBE, 'M', u'ᄒ'), + (0xFFBF, 'X'), + (0xFFC2, 'M', u'ᅡ'), + (0xFFC3, 'M', u'ᅢ'), + (0xFFC4, 'M', u'ᅣ'), + (0xFFC5, 'M', u'ᅤ'), + (0xFFC6, 'M', u'ᅥ'), + (0xFFC7, 'M', u'ᅦ'), + (0xFFC8, 'X'), + (0xFFCA, 'M', u'ᅧ'), + (0xFFCB, 'M', u'ᅨ'), + (0xFFCC, 'M', u'ᅩ'), + (0xFFCD, 'M', u'ᅪ'), + (0xFFCE, 'M', u'ᅫ'), + (0xFFCF, 'M', u'ᅬ'), + (0xFFD0, 'X'), + (0xFFD2, 'M', u'ᅭ'), + (0xFFD3, 'M', u'ᅮ'), + (0xFFD4, 'M', u'ᅯ'), + (0xFFD5, 'M', u'ᅰ'), + (0xFFD6, 'M', u'ᅱ'), + (0xFFD7, 'M', u'ᅲ'), + (0xFFD8, 'X'), + (0xFFDA, 'M', u'ᅳ'), + (0xFFDB, 'M', u'ᅴ'), + (0xFFDC, 'M', u'ᅵ'), + (0xFFDD, 'X'), + (0xFFE0, 'M', u'¢'), + (0xFFE1, 'M', u'£'), + (0xFFE2, 'M', u'¬'), + (0xFFE3, '3', u' ̄'), + (0xFFE4, 'M', u'¦'), + (0xFFE5, 'M', u'¥'), + (0xFFE6, 'M', u'₩'), + (0xFFE7, 'X'), + (0xFFE8, 'M', u'│'), + (0xFFE9, 'M', u'←'), + (0xFFEA, 'M', u'↑'), + (0xFFEB, 'M', u'→'), + (0xFFEC, 'M', u'↓'), + (0xFFED, 'M', u'■'), + (0xFFEE, 'M', u'○'), + (0xFFEF, 'X'), + (0x10000, 'V'), + (0x1000C, 'X'), + (0x1000D, 'V'), + (0x10027, 'X'), + (0x10028, 'V'), + (0x1003B, 'X'), + (0x1003C, 'V'), + (0x1003E, 'X'), + (0x1003F, 'V'), + (0x1004E, 'X'), + (0x10050, 'V'), + (0x1005E, 'X'), + (0x10080, 'V'), + (0x100FB, 'X'), + (0x10100, 'V'), + (0x10103, 'X'), + (0x10107, 'V'), + (0x10134, 'X'), + (0x10137, 'V'), + (0x1018F, 'X'), + (0x10190, 'V'), + (0x1019C, 'X'), + (0x101A0, 'V'), + (0x101A1, 'X'), + (0x101D0, 'V'), + (0x101FE, 'X'), + (0x10280, 'V'), + (0x1029D, 'X'), + (0x102A0, 'V'), + (0x102D1, 'X'), + (0x102E0, 'V'), + (0x102FC, 'X'), + (0x10300, 'V'), + (0x10324, 'X'), + (0x1032D, 'V'), + (0x1034B, 'X'), + (0x10350, 'V'), + (0x1037B, 'X'), + (0x10380, 'V'), + (0x1039E, 'X'), + (0x1039F, 'V'), + (0x103C4, 'X'), + (0x103C8, 'V'), + (0x103D6, 'X'), + (0x10400, 'M', u'𐐨'), + (0x10401, 'M', u'𐐩'), + ] + +def _seg_53(): + return [ + (0x10402, 'M', u'𐐪'), + (0x10403, 'M', u'𐐫'), + (0x10404, 'M', u'𐐬'), + (0x10405, 'M', u'𐐭'), + (0x10406, 'M', u'𐐮'), + (0x10407, 'M', u'𐐯'), + (0x10408, 'M', u'𐐰'), + (0x10409, 'M', u'𐐱'), + (0x1040A, 'M', u'𐐲'), + (0x1040B, 'M', u'𐐳'), + (0x1040C, 'M', u'𐐴'), + (0x1040D, 'M', u'𐐵'), + (0x1040E, 'M', u'𐐶'), + (0x1040F, 'M', u'𐐷'), + (0x10410, 'M', u'𐐸'), + (0x10411, 'M', u'𐐹'), + (0x10412, 'M', u'𐐺'), + (0x10413, 'M', u'𐐻'), + (0x10414, 'M', u'𐐼'), + (0x10415, 'M', u'𐐽'), + (0x10416, 'M', u'𐐾'), + (0x10417, 'M', u'𐐿'), + (0x10418, 'M', u'𐑀'), + (0x10419, 'M', u'𐑁'), + (0x1041A, 'M', u'𐑂'), + (0x1041B, 'M', u'𐑃'), + (0x1041C, 'M', u'𐑄'), + (0x1041D, 'M', u'𐑅'), + (0x1041E, 'M', u'𐑆'), + (0x1041F, 'M', u'𐑇'), + (0x10420, 'M', u'𐑈'), + (0x10421, 'M', u'𐑉'), + (0x10422, 'M', u'𐑊'), + (0x10423, 'M', u'𐑋'), + (0x10424, 'M', u'𐑌'), + (0x10425, 'M', u'𐑍'), + (0x10426, 'M', u'𐑎'), + (0x10427, 'M', u'𐑏'), + (0x10428, 'V'), + (0x1049E, 'X'), + (0x104A0, 'V'), + (0x104AA, 'X'), + (0x104B0, 'M', u'𐓘'), + (0x104B1, 'M', u'𐓙'), + (0x104B2, 'M', u'𐓚'), + (0x104B3, 'M', u'𐓛'), + (0x104B4, 'M', u'𐓜'), + (0x104B5, 'M', u'𐓝'), + (0x104B6, 'M', u'𐓞'), + (0x104B7, 'M', u'𐓟'), + (0x104B8, 'M', u'𐓠'), + (0x104B9, 'M', u'𐓡'), + (0x104BA, 'M', u'𐓢'), + (0x104BB, 'M', u'𐓣'), + (0x104BC, 'M', u'𐓤'), + (0x104BD, 'M', u'𐓥'), + (0x104BE, 'M', u'𐓦'), + (0x104BF, 'M', u'𐓧'), + (0x104C0, 'M', u'𐓨'), + (0x104C1, 'M', u'𐓩'), + (0x104C2, 'M', u'𐓪'), + (0x104C3, 'M', u'𐓫'), + (0x104C4, 'M', u'𐓬'), + (0x104C5, 'M', u'𐓭'), + (0x104C6, 'M', u'𐓮'), + (0x104C7, 'M', u'𐓯'), + (0x104C8, 'M', u'𐓰'), + (0x104C9, 'M', u'𐓱'), + (0x104CA, 'M', u'𐓲'), + (0x104CB, 'M', u'𐓳'), + (0x104CC, 'M', u'𐓴'), + (0x104CD, 'M', u'𐓵'), + (0x104CE, 'M', u'𐓶'), + (0x104CF, 'M', u'𐓷'), + (0x104D0, 'M', u'𐓸'), + (0x104D1, 'M', u'𐓹'), + (0x104D2, 'M', u'𐓺'), + (0x104D3, 'M', u'𐓻'), + (0x104D4, 'X'), + (0x104D8, 'V'), + (0x104FC, 'X'), + (0x10500, 'V'), + (0x10528, 'X'), + (0x10530, 'V'), + (0x10564, 'X'), + (0x1056F, 'V'), + (0x10570, 'X'), + (0x10600, 'V'), + (0x10737, 'X'), + (0x10740, 'V'), + (0x10756, 'X'), + (0x10760, 'V'), + (0x10768, 'X'), + (0x10800, 'V'), + (0x10806, 'X'), + (0x10808, 'V'), + (0x10809, 'X'), + (0x1080A, 'V'), + (0x10836, 'X'), + (0x10837, 'V'), + ] + +def _seg_54(): + return [ + (0x10839, 'X'), + (0x1083C, 'V'), + (0x1083D, 'X'), + (0x1083F, 'V'), + (0x10856, 'X'), + (0x10857, 'V'), + (0x1089F, 'X'), + (0x108A7, 'V'), + (0x108B0, 'X'), + (0x108E0, 'V'), + (0x108F3, 'X'), + (0x108F4, 'V'), + (0x108F6, 'X'), + (0x108FB, 'V'), + (0x1091C, 'X'), + (0x1091F, 'V'), + (0x1093A, 'X'), + (0x1093F, 'V'), + (0x10940, 'X'), + (0x10980, 'V'), + (0x109B8, 'X'), + (0x109BC, 'V'), + (0x109D0, 'X'), + (0x109D2, 'V'), + (0x10A04, 'X'), + (0x10A05, 'V'), + (0x10A07, 'X'), + (0x10A0C, 'V'), + (0x10A14, 'X'), + (0x10A15, 'V'), + (0x10A18, 'X'), + (0x10A19, 'V'), + (0x10A36, 'X'), + (0x10A38, 'V'), + (0x10A3B, 'X'), + (0x10A3F, 'V'), + (0x10A49, 'X'), + (0x10A50, 'V'), + (0x10A59, 'X'), + (0x10A60, 'V'), + (0x10AA0, 'X'), + (0x10AC0, 'V'), + (0x10AE7, 'X'), + (0x10AEB, 'V'), + (0x10AF7, 'X'), + (0x10B00, 'V'), + (0x10B36, 'X'), + (0x10B39, 'V'), + (0x10B56, 'X'), + (0x10B58, 'V'), + (0x10B73, 'X'), + (0x10B78, 'V'), + (0x10B92, 'X'), + (0x10B99, 'V'), + (0x10B9D, 'X'), + (0x10BA9, 'V'), + (0x10BB0, 'X'), + (0x10C00, 'V'), + (0x10C49, 'X'), + (0x10C80, 'M', u'𐳀'), + (0x10C81, 'M', u'𐳁'), + (0x10C82, 'M', u'𐳂'), + (0x10C83, 'M', u'𐳃'), + (0x10C84, 'M', u'𐳄'), + (0x10C85, 'M', u'𐳅'), + (0x10C86, 'M', u'𐳆'), + (0x10C87, 'M', u'𐳇'), + (0x10C88, 'M', u'𐳈'), + (0x10C89, 'M', u'𐳉'), + (0x10C8A, 'M', u'𐳊'), + (0x10C8B, 'M', u'𐳋'), + (0x10C8C, 'M', u'𐳌'), + (0x10C8D, 'M', u'𐳍'), + (0x10C8E, 'M', u'𐳎'), + (0x10C8F, 'M', u'𐳏'), + (0x10C90, 'M', u'𐳐'), + (0x10C91, 'M', u'𐳑'), + (0x10C92, 'M', u'𐳒'), + (0x10C93, 'M', u'𐳓'), + (0x10C94, 'M', u'𐳔'), + (0x10C95, 'M', u'𐳕'), + (0x10C96, 'M', u'𐳖'), + (0x10C97, 'M', u'𐳗'), + (0x10C98, 'M', u'𐳘'), + (0x10C99, 'M', u'𐳙'), + (0x10C9A, 'M', u'𐳚'), + (0x10C9B, 'M', u'𐳛'), + (0x10C9C, 'M', u'𐳜'), + (0x10C9D, 'M', u'𐳝'), + (0x10C9E, 'M', u'𐳞'), + (0x10C9F, 'M', u'𐳟'), + (0x10CA0, 'M', u'𐳠'), + (0x10CA1, 'M', u'𐳡'), + (0x10CA2, 'M', u'𐳢'), + (0x10CA3, 'M', u'𐳣'), + (0x10CA4, 'M', u'𐳤'), + (0x10CA5, 'M', u'𐳥'), + (0x10CA6, 'M', u'𐳦'), + (0x10CA7, 'M', u'𐳧'), + (0x10CA8, 'M', u'𐳨'), + ] + +def _seg_55(): + return [ + (0x10CA9, 'M', u'𐳩'), + (0x10CAA, 'M', u'𐳪'), + (0x10CAB, 'M', u'𐳫'), + (0x10CAC, 'M', u'𐳬'), + (0x10CAD, 'M', u'𐳭'), + (0x10CAE, 'M', u'𐳮'), + (0x10CAF, 'M', u'𐳯'), + (0x10CB0, 'M', u'𐳰'), + (0x10CB1, 'M', u'𐳱'), + (0x10CB2, 'M', u'𐳲'), + (0x10CB3, 'X'), + (0x10CC0, 'V'), + (0x10CF3, 'X'), + (0x10CFA, 'V'), + (0x10D28, 'X'), + (0x10D30, 'V'), + (0x10D3A, 'X'), + (0x10E60, 'V'), + (0x10E7F, 'X'), + (0x10F00, 'V'), + (0x10F28, 'X'), + (0x10F30, 'V'), + (0x10F5A, 'X'), + (0x11000, 'V'), + (0x1104E, 'X'), + (0x11052, 'V'), + (0x11070, 'X'), + (0x1107F, 'V'), + (0x110BD, 'X'), + (0x110BE, 'V'), + (0x110C2, 'X'), + (0x110D0, 'V'), + (0x110E9, 'X'), + (0x110F0, 'V'), + (0x110FA, 'X'), + (0x11100, 'V'), + (0x11135, 'X'), + (0x11136, 'V'), + (0x11147, 'X'), + (0x11150, 'V'), + (0x11177, 'X'), + (0x11180, 'V'), + (0x111CE, 'X'), + (0x111D0, 'V'), + (0x111E0, 'X'), + (0x111E1, 'V'), + (0x111F5, 'X'), + (0x11200, 'V'), + (0x11212, 'X'), + (0x11213, 'V'), + (0x1123F, 'X'), + (0x11280, 'V'), + (0x11287, 'X'), + (0x11288, 'V'), + (0x11289, 'X'), + (0x1128A, 'V'), + (0x1128E, 'X'), + (0x1128F, 'V'), + (0x1129E, 'X'), + (0x1129F, 'V'), + (0x112AA, 'X'), + (0x112B0, 'V'), + (0x112EB, 'X'), + (0x112F0, 'V'), + (0x112FA, 'X'), + (0x11300, 'V'), + (0x11304, 'X'), + (0x11305, 'V'), + (0x1130D, 'X'), + (0x1130F, 'V'), + (0x11311, 'X'), + (0x11313, 'V'), + (0x11329, 'X'), + (0x1132A, 'V'), + (0x11331, 'X'), + (0x11332, 'V'), + (0x11334, 'X'), + (0x11335, 'V'), + (0x1133A, 'X'), + (0x1133B, 'V'), + (0x11345, 'X'), + (0x11347, 'V'), + (0x11349, 'X'), + (0x1134B, 'V'), + (0x1134E, 'X'), + (0x11350, 'V'), + (0x11351, 'X'), + (0x11357, 'V'), + (0x11358, 'X'), + (0x1135D, 'V'), + (0x11364, 'X'), + (0x11366, 'V'), + (0x1136D, 'X'), + (0x11370, 'V'), + (0x11375, 'X'), + (0x11400, 'V'), + (0x1145A, 'X'), + (0x1145B, 'V'), + (0x1145C, 'X'), + (0x1145D, 'V'), + ] + +def _seg_56(): + return [ + (0x1145F, 'X'), + (0x11480, 'V'), + (0x114C8, 'X'), + (0x114D0, 'V'), + (0x114DA, 'X'), + (0x11580, 'V'), + (0x115B6, 'X'), + (0x115B8, 'V'), + (0x115DE, 'X'), + (0x11600, 'V'), + (0x11645, 'X'), + (0x11650, 'V'), + (0x1165A, 'X'), + (0x11660, 'V'), + (0x1166D, 'X'), + (0x11680, 'V'), + (0x116B8, 'X'), + (0x116C0, 'V'), + (0x116CA, 'X'), + (0x11700, 'V'), + (0x1171B, 'X'), + (0x1171D, 'V'), + (0x1172C, 'X'), + (0x11730, 'V'), + (0x11740, 'X'), + (0x11800, 'V'), + (0x1183C, 'X'), + (0x118A0, 'M', u'𑣀'), + (0x118A1, 'M', u'𑣁'), + (0x118A2, 'M', u'𑣂'), + (0x118A3, 'M', u'𑣃'), + (0x118A4, 'M', u'𑣄'), + (0x118A5, 'M', u'𑣅'), + (0x118A6, 'M', u'𑣆'), + (0x118A7, 'M', u'𑣇'), + (0x118A8, 'M', u'𑣈'), + (0x118A9, 'M', u'𑣉'), + (0x118AA, 'M', u'𑣊'), + (0x118AB, 'M', u'𑣋'), + (0x118AC, 'M', u'𑣌'), + (0x118AD, 'M', u'𑣍'), + (0x118AE, 'M', u'𑣎'), + (0x118AF, 'M', u'𑣏'), + (0x118B0, 'M', u'𑣐'), + (0x118B1, 'M', u'𑣑'), + (0x118B2, 'M', u'𑣒'), + (0x118B3, 'M', u'𑣓'), + (0x118B4, 'M', u'𑣔'), + (0x118B5, 'M', u'𑣕'), + (0x118B6, 'M', u'𑣖'), + (0x118B7, 'M', u'𑣗'), + (0x118B8, 'M', u'𑣘'), + (0x118B9, 'M', u'𑣙'), + (0x118BA, 'M', u'𑣚'), + (0x118BB, 'M', u'𑣛'), + (0x118BC, 'M', u'𑣜'), + (0x118BD, 'M', u'𑣝'), + (0x118BE, 'M', u'𑣞'), + (0x118BF, 'M', u'𑣟'), + (0x118C0, 'V'), + (0x118F3, 'X'), + (0x118FF, 'V'), + (0x11900, 'X'), + (0x11A00, 'V'), + (0x11A48, 'X'), + (0x11A50, 'V'), + (0x11A84, 'X'), + (0x11A86, 'V'), + (0x11AA3, 'X'), + (0x11AC0, 'V'), + (0x11AF9, 'X'), + (0x11C00, 'V'), + (0x11C09, 'X'), + (0x11C0A, 'V'), + (0x11C37, 'X'), + (0x11C38, 'V'), + (0x11C46, 'X'), + (0x11C50, 'V'), + (0x11C6D, 'X'), + (0x11C70, 'V'), + (0x11C90, 'X'), + (0x11C92, 'V'), + (0x11CA8, 'X'), + (0x11CA9, 'V'), + (0x11CB7, 'X'), + (0x11D00, 'V'), + (0x11D07, 'X'), + (0x11D08, 'V'), + (0x11D0A, 'X'), + (0x11D0B, 'V'), + (0x11D37, 'X'), + (0x11D3A, 'V'), + (0x11D3B, 'X'), + (0x11D3C, 'V'), + (0x11D3E, 'X'), + (0x11D3F, 'V'), + (0x11D48, 'X'), + (0x11D50, 'V'), + (0x11D5A, 'X'), + (0x11D60, 'V'), + ] + +def _seg_57(): + return [ + (0x11D66, 'X'), + (0x11D67, 'V'), + (0x11D69, 'X'), + (0x11D6A, 'V'), + (0x11D8F, 'X'), + (0x11D90, 'V'), + (0x11D92, 'X'), + (0x11D93, 'V'), + (0x11D99, 'X'), + (0x11DA0, 'V'), + (0x11DAA, 'X'), + (0x11EE0, 'V'), + (0x11EF9, 'X'), + (0x12000, 'V'), + (0x1239A, 'X'), + (0x12400, 'V'), + (0x1246F, 'X'), + (0x12470, 'V'), + (0x12475, 'X'), + (0x12480, 'V'), + (0x12544, 'X'), + (0x13000, 'V'), + (0x1342F, 'X'), + (0x14400, 'V'), + (0x14647, 'X'), + (0x16800, 'V'), + (0x16A39, 'X'), + (0x16A40, 'V'), + (0x16A5F, 'X'), + (0x16A60, 'V'), + (0x16A6A, 'X'), + (0x16A6E, 'V'), + (0x16A70, 'X'), + (0x16AD0, 'V'), + (0x16AEE, 'X'), + (0x16AF0, 'V'), + (0x16AF6, 'X'), + (0x16B00, 'V'), + (0x16B46, 'X'), + (0x16B50, 'V'), + (0x16B5A, 'X'), + (0x16B5B, 'V'), + (0x16B62, 'X'), + (0x16B63, 'V'), + (0x16B78, 'X'), + (0x16B7D, 'V'), + (0x16B90, 'X'), + (0x16E60, 'V'), + (0x16E9B, 'X'), + (0x16F00, 'V'), + (0x16F45, 'X'), + (0x16F50, 'V'), + (0x16F7F, 'X'), + (0x16F8F, 'V'), + (0x16FA0, 'X'), + (0x16FE0, 'V'), + (0x16FE2, 'X'), + (0x17000, 'V'), + (0x187F2, 'X'), + (0x18800, 'V'), + (0x18AF3, 'X'), + (0x1B000, 'V'), + (0x1B11F, 'X'), + (0x1B170, 'V'), + (0x1B2FC, 'X'), + (0x1BC00, 'V'), + (0x1BC6B, 'X'), + (0x1BC70, 'V'), + (0x1BC7D, 'X'), + (0x1BC80, 'V'), + (0x1BC89, 'X'), + (0x1BC90, 'V'), + (0x1BC9A, 'X'), + (0x1BC9C, 'V'), + (0x1BCA0, 'I'), + (0x1BCA4, 'X'), + (0x1D000, 'V'), + (0x1D0F6, 'X'), + (0x1D100, 'V'), + (0x1D127, 'X'), + (0x1D129, 'V'), + (0x1D15E, 'M', u'𝅗𝅥'), + (0x1D15F, 'M', u'𝅘𝅥'), + (0x1D160, 'M', u'𝅘𝅥𝅮'), + (0x1D161, 'M', u'𝅘𝅥𝅯'), + (0x1D162, 'M', u'𝅘𝅥𝅰'), + (0x1D163, 'M', u'𝅘𝅥𝅱'), + (0x1D164, 'M', u'𝅘𝅥𝅲'), + (0x1D165, 'V'), + (0x1D173, 'X'), + (0x1D17B, 'V'), + (0x1D1BB, 'M', u'𝆹𝅥'), + (0x1D1BC, 'M', u'𝆺𝅥'), + (0x1D1BD, 'M', u'𝆹𝅥𝅮'), + (0x1D1BE, 'M', u'𝆺𝅥𝅮'), + (0x1D1BF, 'M', u'𝆹𝅥𝅯'), + (0x1D1C0, 'M', u'𝆺𝅥𝅯'), + (0x1D1C1, 'V'), + (0x1D1E9, 'X'), + (0x1D200, 'V'), + ] + +def _seg_58(): + return [ + (0x1D246, 'X'), + (0x1D2E0, 'V'), + (0x1D2F4, 'X'), + (0x1D300, 'V'), + (0x1D357, 'X'), + (0x1D360, 'V'), + (0x1D379, 'X'), + (0x1D400, 'M', u'a'), + (0x1D401, 'M', u'b'), + (0x1D402, 'M', u'c'), + (0x1D403, 'M', u'd'), + (0x1D404, 'M', u'e'), + (0x1D405, 'M', u'f'), + (0x1D406, 'M', u'g'), + (0x1D407, 'M', u'h'), + (0x1D408, 'M', u'i'), + (0x1D409, 'M', u'j'), + (0x1D40A, 'M', u'k'), + (0x1D40B, 'M', u'l'), + (0x1D40C, 'M', u'm'), + (0x1D40D, 'M', u'n'), + (0x1D40E, 'M', u'o'), + (0x1D40F, 'M', u'p'), + (0x1D410, 'M', u'q'), + (0x1D411, 'M', u'r'), + (0x1D412, 'M', u's'), + (0x1D413, 'M', u't'), + (0x1D414, 'M', u'u'), + (0x1D415, 'M', u'v'), + (0x1D416, 'M', u'w'), + (0x1D417, 'M', u'x'), + (0x1D418, 'M', u'y'), + (0x1D419, 'M', u'z'), + (0x1D41A, 'M', u'a'), + (0x1D41B, 'M', u'b'), + (0x1D41C, 'M', u'c'), + (0x1D41D, 'M', u'd'), + (0x1D41E, 'M', u'e'), + (0x1D41F, 'M', u'f'), + (0x1D420, 'M', u'g'), + (0x1D421, 'M', u'h'), + (0x1D422, 'M', u'i'), + (0x1D423, 'M', u'j'), + (0x1D424, 'M', u'k'), + (0x1D425, 'M', u'l'), + (0x1D426, 'M', u'm'), + (0x1D427, 'M', u'n'), + (0x1D428, 'M', u'o'), + (0x1D429, 'M', u'p'), + (0x1D42A, 'M', u'q'), + (0x1D42B, 'M', u'r'), + (0x1D42C, 'M', u's'), + (0x1D42D, 'M', u't'), + (0x1D42E, 'M', u'u'), + (0x1D42F, 'M', u'v'), + (0x1D430, 'M', u'w'), + (0x1D431, 'M', u'x'), + (0x1D432, 'M', u'y'), + (0x1D433, 'M', u'z'), + (0x1D434, 'M', u'a'), + (0x1D435, 'M', u'b'), + (0x1D436, 'M', u'c'), + (0x1D437, 'M', u'd'), + (0x1D438, 'M', u'e'), + (0x1D439, 'M', u'f'), + (0x1D43A, 'M', u'g'), + (0x1D43B, 'M', u'h'), + (0x1D43C, 'M', u'i'), + (0x1D43D, 'M', u'j'), + (0x1D43E, 'M', u'k'), + (0x1D43F, 'M', u'l'), + (0x1D440, 'M', u'm'), + (0x1D441, 'M', u'n'), + (0x1D442, 'M', u'o'), + (0x1D443, 'M', u'p'), + (0x1D444, 'M', u'q'), + (0x1D445, 'M', u'r'), + (0x1D446, 'M', u's'), + (0x1D447, 'M', u't'), + (0x1D448, 'M', u'u'), + (0x1D449, 'M', u'v'), + (0x1D44A, 'M', u'w'), + (0x1D44B, 'M', u'x'), + (0x1D44C, 'M', u'y'), + (0x1D44D, 'M', u'z'), + (0x1D44E, 'M', u'a'), + (0x1D44F, 'M', u'b'), + (0x1D450, 'M', u'c'), + (0x1D451, 'M', u'd'), + (0x1D452, 'M', u'e'), + (0x1D453, 'M', u'f'), + (0x1D454, 'M', u'g'), + (0x1D455, 'X'), + (0x1D456, 'M', u'i'), + (0x1D457, 'M', u'j'), + (0x1D458, 'M', u'k'), + (0x1D459, 'M', u'l'), + (0x1D45A, 'M', u'm'), + (0x1D45B, 'M', u'n'), + (0x1D45C, 'M', u'o'), + ] + +def _seg_59(): + return [ + (0x1D45D, 'M', u'p'), + (0x1D45E, 'M', u'q'), + (0x1D45F, 'M', u'r'), + (0x1D460, 'M', u's'), + (0x1D461, 'M', u't'), + (0x1D462, 'M', u'u'), + (0x1D463, 'M', u'v'), + (0x1D464, 'M', u'w'), + (0x1D465, 'M', u'x'), + (0x1D466, 'M', u'y'), + (0x1D467, 'M', u'z'), + (0x1D468, 'M', u'a'), + (0x1D469, 'M', u'b'), + (0x1D46A, 'M', u'c'), + (0x1D46B, 'M', u'd'), + (0x1D46C, 'M', u'e'), + (0x1D46D, 'M', u'f'), + (0x1D46E, 'M', u'g'), + (0x1D46F, 'M', u'h'), + (0x1D470, 'M', u'i'), + (0x1D471, 'M', u'j'), + (0x1D472, 'M', u'k'), + (0x1D473, 'M', u'l'), + (0x1D474, 'M', u'm'), + (0x1D475, 'M', u'n'), + (0x1D476, 'M', u'o'), + (0x1D477, 'M', u'p'), + (0x1D478, 'M', u'q'), + (0x1D479, 'M', u'r'), + (0x1D47A, 'M', u's'), + (0x1D47B, 'M', u't'), + (0x1D47C, 'M', u'u'), + (0x1D47D, 'M', u'v'), + (0x1D47E, 'M', u'w'), + (0x1D47F, 'M', u'x'), + (0x1D480, 'M', u'y'), + (0x1D481, 'M', u'z'), + (0x1D482, 'M', u'a'), + (0x1D483, 'M', u'b'), + (0x1D484, 'M', u'c'), + (0x1D485, 'M', u'd'), + (0x1D486, 'M', u'e'), + (0x1D487, 'M', u'f'), + (0x1D488, 'M', u'g'), + (0x1D489, 'M', u'h'), + (0x1D48A, 'M', u'i'), + (0x1D48B, 'M', u'j'), + (0x1D48C, 'M', u'k'), + (0x1D48D, 'M', u'l'), + (0x1D48E, 'M', u'm'), + (0x1D48F, 'M', u'n'), + (0x1D490, 'M', u'o'), + (0x1D491, 'M', u'p'), + (0x1D492, 'M', u'q'), + (0x1D493, 'M', u'r'), + (0x1D494, 'M', u's'), + (0x1D495, 'M', u't'), + (0x1D496, 'M', u'u'), + (0x1D497, 'M', u'v'), + (0x1D498, 'M', u'w'), + (0x1D499, 'M', u'x'), + (0x1D49A, 'M', u'y'), + (0x1D49B, 'M', u'z'), + (0x1D49C, 'M', u'a'), + (0x1D49D, 'X'), + (0x1D49E, 'M', u'c'), + (0x1D49F, 'M', u'd'), + (0x1D4A0, 'X'), + (0x1D4A2, 'M', u'g'), + (0x1D4A3, 'X'), + (0x1D4A5, 'M', u'j'), + (0x1D4A6, 'M', u'k'), + (0x1D4A7, 'X'), + (0x1D4A9, 'M', u'n'), + (0x1D4AA, 'M', u'o'), + (0x1D4AB, 'M', u'p'), + (0x1D4AC, 'M', u'q'), + (0x1D4AD, 'X'), + (0x1D4AE, 'M', u's'), + (0x1D4AF, 'M', u't'), + (0x1D4B0, 'M', u'u'), + (0x1D4B1, 'M', u'v'), + (0x1D4B2, 'M', u'w'), + (0x1D4B3, 'M', u'x'), + (0x1D4B4, 'M', u'y'), + (0x1D4B5, 'M', u'z'), + (0x1D4B6, 'M', u'a'), + (0x1D4B7, 'M', u'b'), + (0x1D4B8, 'M', u'c'), + (0x1D4B9, 'M', u'd'), + (0x1D4BA, 'X'), + (0x1D4BB, 'M', u'f'), + (0x1D4BC, 'X'), + (0x1D4BD, 'M', u'h'), + (0x1D4BE, 'M', u'i'), + (0x1D4BF, 'M', u'j'), + (0x1D4C0, 'M', u'k'), + (0x1D4C1, 'M', u'l'), + (0x1D4C2, 'M', u'm'), + (0x1D4C3, 'M', u'n'), + ] + +def _seg_60(): + return [ + (0x1D4C4, 'X'), + (0x1D4C5, 'M', u'p'), + (0x1D4C6, 'M', u'q'), + (0x1D4C7, 'M', u'r'), + (0x1D4C8, 'M', u's'), + (0x1D4C9, 'M', u't'), + (0x1D4CA, 'M', u'u'), + (0x1D4CB, 'M', u'v'), + (0x1D4CC, 'M', u'w'), + (0x1D4CD, 'M', u'x'), + (0x1D4CE, 'M', u'y'), + (0x1D4CF, 'M', u'z'), + (0x1D4D0, 'M', u'a'), + (0x1D4D1, 'M', u'b'), + (0x1D4D2, 'M', u'c'), + (0x1D4D3, 'M', u'd'), + (0x1D4D4, 'M', u'e'), + (0x1D4D5, 'M', u'f'), + (0x1D4D6, 'M', u'g'), + (0x1D4D7, 'M', u'h'), + (0x1D4D8, 'M', u'i'), + (0x1D4D9, 'M', u'j'), + (0x1D4DA, 'M', u'k'), + (0x1D4DB, 'M', u'l'), + (0x1D4DC, 'M', u'm'), + (0x1D4DD, 'M', u'n'), + (0x1D4DE, 'M', u'o'), + (0x1D4DF, 'M', u'p'), + (0x1D4E0, 'M', u'q'), + (0x1D4E1, 'M', u'r'), + (0x1D4E2, 'M', u's'), + (0x1D4E3, 'M', u't'), + (0x1D4E4, 'M', u'u'), + (0x1D4E5, 'M', u'v'), + (0x1D4E6, 'M', u'w'), + (0x1D4E7, 'M', u'x'), + (0x1D4E8, 'M', u'y'), + (0x1D4E9, 'M', u'z'), + (0x1D4EA, 'M', u'a'), + (0x1D4EB, 'M', u'b'), + (0x1D4EC, 'M', u'c'), + (0x1D4ED, 'M', u'd'), + (0x1D4EE, 'M', u'e'), + (0x1D4EF, 'M', u'f'), + (0x1D4F0, 'M', u'g'), + (0x1D4F1, 'M', u'h'), + (0x1D4F2, 'M', u'i'), + (0x1D4F3, 'M', u'j'), + (0x1D4F4, 'M', u'k'), + (0x1D4F5, 'M', u'l'), + (0x1D4F6, 'M', u'm'), + (0x1D4F7, 'M', u'n'), + (0x1D4F8, 'M', u'o'), + (0x1D4F9, 'M', u'p'), + (0x1D4FA, 'M', u'q'), + (0x1D4FB, 'M', u'r'), + (0x1D4FC, 'M', u's'), + (0x1D4FD, 'M', u't'), + (0x1D4FE, 'M', u'u'), + (0x1D4FF, 'M', u'v'), + (0x1D500, 'M', u'w'), + (0x1D501, 'M', u'x'), + (0x1D502, 'M', u'y'), + (0x1D503, 'M', u'z'), + (0x1D504, 'M', u'a'), + (0x1D505, 'M', u'b'), + (0x1D506, 'X'), + (0x1D507, 'M', u'd'), + (0x1D508, 'M', u'e'), + (0x1D509, 'M', u'f'), + (0x1D50A, 'M', u'g'), + (0x1D50B, 'X'), + (0x1D50D, 'M', u'j'), + (0x1D50E, 'M', u'k'), + (0x1D50F, 'M', u'l'), + (0x1D510, 'M', u'm'), + (0x1D511, 'M', u'n'), + (0x1D512, 'M', u'o'), + (0x1D513, 'M', u'p'), + (0x1D514, 'M', u'q'), + (0x1D515, 'X'), + (0x1D516, 'M', u's'), + (0x1D517, 'M', u't'), + (0x1D518, 'M', u'u'), + (0x1D519, 'M', u'v'), + (0x1D51A, 'M', u'w'), + (0x1D51B, 'M', u'x'), + (0x1D51C, 'M', u'y'), + (0x1D51D, 'X'), + (0x1D51E, 'M', u'a'), + (0x1D51F, 'M', u'b'), + (0x1D520, 'M', u'c'), + (0x1D521, 'M', u'd'), + (0x1D522, 'M', u'e'), + (0x1D523, 'M', u'f'), + (0x1D524, 'M', u'g'), + (0x1D525, 'M', u'h'), + (0x1D526, 'M', u'i'), + (0x1D527, 'M', u'j'), + (0x1D528, 'M', u'k'), + ] + +def _seg_61(): + return [ + (0x1D529, 'M', u'l'), + (0x1D52A, 'M', u'm'), + (0x1D52B, 'M', u'n'), + (0x1D52C, 'M', u'o'), + (0x1D52D, 'M', u'p'), + (0x1D52E, 'M', u'q'), + (0x1D52F, 'M', u'r'), + (0x1D530, 'M', u's'), + (0x1D531, 'M', u't'), + (0x1D532, 'M', u'u'), + (0x1D533, 'M', u'v'), + (0x1D534, 'M', u'w'), + (0x1D535, 'M', u'x'), + (0x1D536, 'M', u'y'), + (0x1D537, 'M', u'z'), + (0x1D538, 'M', u'a'), + (0x1D539, 'M', u'b'), + (0x1D53A, 'X'), + (0x1D53B, 'M', u'd'), + (0x1D53C, 'M', u'e'), + (0x1D53D, 'M', u'f'), + (0x1D53E, 'M', u'g'), + (0x1D53F, 'X'), + (0x1D540, 'M', u'i'), + (0x1D541, 'M', u'j'), + (0x1D542, 'M', u'k'), + (0x1D543, 'M', u'l'), + (0x1D544, 'M', u'm'), + (0x1D545, 'X'), + (0x1D546, 'M', u'o'), + (0x1D547, 'X'), + (0x1D54A, 'M', u's'), + (0x1D54B, 'M', u't'), + (0x1D54C, 'M', u'u'), + (0x1D54D, 'M', u'v'), + (0x1D54E, 'M', u'w'), + (0x1D54F, 'M', u'x'), + (0x1D550, 'M', u'y'), + (0x1D551, 'X'), + (0x1D552, 'M', u'a'), + (0x1D553, 'M', u'b'), + (0x1D554, 'M', u'c'), + (0x1D555, 'M', u'd'), + (0x1D556, 'M', u'e'), + (0x1D557, 'M', u'f'), + (0x1D558, 'M', u'g'), + (0x1D559, 'M', u'h'), + (0x1D55A, 'M', u'i'), + (0x1D55B, 'M', u'j'), + (0x1D55C, 'M', u'k'), + (0x1D55D, 'M', u'l'), + (0x1D55E, 'M', u'm'), + (0x1D55F, 'M', u'n'), + (0x1D560, 'M', u'o'), + (0x1D561, 'M', u'p'), + (0x1D562, 'M', u'q'), + (0x1D563, 'M', u'r'), + (0x1D564, 'M', u's'), + (0x1D565, 'M', u't'), + (0x1D566, 'M', u'u'), + (0x1D567, 'M', u'v'), + (0x1D568, 'M', u'w'), + (0x1D569, 'M', u'x'), + (0x1D56A, 'M', u'y'), + (0x1D56B, 'M', u'z'), + (0x1D56C, 'M', u'a'), + (0x1D56D, 'M', u'b'), + (0x1D56E, 'M', u'c'), + (0x1D56F, 'M', u'd'), + (0x1D570, 'M', u'e'), + (0x1D571, 'M', u'f'), + (0x1D572, 'M', u'g'), + (0x1D573, 'M', u'h'), + (0x1D574, 'M', u'i'), + (0x1D575, 'M', u'j'), + (0x1D576, 'M', u'k'), + (0x1D577, 'M', u'l'), + (0x1D578, 'M', u'm'), + (0x1D579, 'M', u'n'), + (0x1D57A, 'M', u'o'), + (0x1D57B, 'M', u'p'), + (0x1D57C, 'M', u'q'), + (0x1D57D, 'M', u'r'), + (0x1D57E, 'M', u's'), + (0x1D57F, 'M', u't'), + (0x1D580, 'M', u'u'), + (0x1D581, 'M', u'v'), + (0x1D582, 'M', u'w'), + (0x1D583, 'M', u'x'), + (0x1D584, 'M', u'y'), + (0x1D585, 'M', u'z'), + (0x1D586, 'M', u'a'), + (0x1D587, 'M', u'b'), + (0x1D588, 'M', u'c'), + (0x1D589, 'M', u'd'), + (0x1D58A, 'M', u'e'), + (0x1D58B, 'M', u'f'), + (0x1D58C, 'M', u'g'), + (0x1D58D, 'M', u'h'), + (0x1D58E, 'M', u'i'), + ] + +def _seg_62(): + return [ + (0x1D58F, 'M', u'j'), + (0x1D590, 'M', u'k'), + (0x1D591, 'M', u'l'), + (0x1D592, 'M', u'm'), + (0x1D593, 'M', u'n'), + (0x1D594, 'M', u'o'), + (0x1D595, 'M', u'p'), + (0x1D596, 'M', u'q'), + (0x1D597, 'M', u'r'), + (0x1D598, 'M', u's'), + (0x1D599, 'M', u't'), + (0x1D59A, 'M', u'u'), + (0x1D59B, 'M', u'v'), + (0x1D59C, 'M', u'w'), + (0x1D59D, 'M', u'x'), + (0x1D59E, 'M', u'y'), + (0x1D59F, 'M', u'z'), + (0x1D5A0, 'M', u'a'), + (0x1D5A1, 'M', u'b'), + (0x1D5A2, 'M', u'c'), + (0x1D5A3, 'M', u'd'), + (0x1D5A4, 'M', u'e'), + (0x1D5A5, 'M', u'f'), + (0x1D5A6, 'M', u'g'), + (0x1D5A7, 'M', u'h'), + (0x1D5A8, 'M', u'i'), + (0x1D5A9, 'M', u'j'), + (0x1D5AA, 'M', u'k'), + (0x1D5AB, 'M', u'l'), + (0x1D5AC, 'M', u'm'), + (0x1D5AD, 'M', u'n'), + (0x1D5AE, 'M', u'o'), + (0x1D5AF, 'M', u'p'), + (0x1D5B0, 'M', u'q'), + (0x1D5B1, 'M', u'r'), + (0x1D5B2, 'M', u's'), + (0x1D5B3, 'M', u't'), + (0x1D5B4, 'M', u'u'), + (0x1D5B5, 'M', u'v'), + (0x1D5B6, 'M', u'w'), + (0x1D5B7, 'M', u'x'), + (0x1D5B8, 'M', u'y'), + (0x1D5B9, 'M', u'z'), + (0x1D5BA, 'M', u'a'), + (0x1D5BB, 'M', u'b'), + (0x1D5BC, 'M', u'c'), + (0x1D5BD, 'M', u'd'), + (0x1D5BE, 'M', u'e'), + (0x1D5BF, 'M', u'f'), + (0x1D5C0, 'M', u'g'), + (0x1D5C1, 'M', u'h'), + (0x1D5C2, 'M', u'i'), + (0x1D5C3, 'M', u'j'), + (0x1D5C4, 'M', u'k'), + (0x1D5C5, 'M', u'l'), + (0x1D5C6, 'M', u'm'), + (0x1D5C7, 'M', u'n'), + (0x1D5C8, 'M', u'o'), + (0x1D5C9, 'M', u'p'), + (0x1D5CA, 'M', u'q'), + (0x1D5CB, 'M', u'r'), + (0x1D5CC, 'M', u's'), + (0x1D5CD, 'M', u't'), + (0x1D5CE, 'M', u'u'), + (0x1D5CF, 'M', u'v'), + (0x1D5D0, 'M', u'w'), + (0x1D5D1, 'M', u'x'), + (0x1D5D2, 'M', u'y'), + (0x1D5D3, 'M', u'z'), + (0x1D5D4, 'M', u'a'), + (0x1D5D5, 'M', u'b'), + (0x1D5D6, 'M', u'c'), + (0x1D5D7, 'M', u'd'), + (0x1D5D8, 'M', u'e'), + (0x1D5D9, 'M', u'f'), + (0x1D5DA, 'M', u'g'), + (0x1D5DB, 'M', u'h'), + (0x1D5DC, 'M', u'i'), + (0x1D5DD, 'M', u'j'), + (0x1D5DE, 'M', u'k'), + (0x1D5DF, 'M', u'l'), + (0x1D5E0, 'M', u'm'), + (0x1D5E1, 'M', u'n'), + (0x1D5E2, 'M', u'o'), + (0x1D5E3, 'M', u'p'), + (0x1D5E4, 'M', u'q'), + (0x1D5E5, 'M', u'r'), + (0x1D5E6, 'M', u's'), + (0x1D5E7, 'M', u't'), + (0x1D5E8, 'M', u'u'), + (0x1D5E9, 'M', u'v'), + (0x1D5EA, 'M', u'w'), + (0x1D5EB, 'M', u'x'), + (0x1D5EC, 'M', u'y'), + (0x1D5ED, 'M', u'z'), + (0x1D5EE, 'M', u'a'), + (0x1D5EF, 'M', u'b'), + (0x1D5F0, 'M', u'c'), + (0x1D5F1, 'M', u'd'), + (0x1D5F2, 'M', u'e'), + ] + +def _seg_63(): + return [ + (0x1D5F3, 'M', u'f'), + (0x1D5F4, 'M', u'g'), + (0x1D5F5, 'M', u'h'), + (0x1D5F6, 'M', u'i'), + (0x1D5F7, 'M', u'j'), + (0x1D5F8, 'M', u'k'), + (0x1D5F9, 'M', u'l'), + (0x1D5FA, 'M', u'm'), + (0x1D5FB, 'M', u'n'), + (0x1D5FC, 'M', u'o'), + (0x1D5FD, 'M', u'p'), + (0x1D5FE, 'M', u'q'), + (0x1D5FF, 'M', u'r'), + (0x1D600, 'M', u's'), + (0x1D601, 'M', u't'), + (0x1D602, 'M', u'u'), + (0x1D603, 'M', u'v'), + (0x1D604, 'M', u'w'), + (0x1D605, 'M', u'x'), + (0x1D606, 'M', u'y'), + (0x1D607, 'M', u'z'), + (0x1D608, 'M', u'a'), + (0x1D609, 'M', u'b'), + (0x1D60A, 'M', u'c'), + (0x1D60B, 'M', u'd'), + (0x1D60C, 'M', u'e'), + (0x1D60D, 'M', u'f'), + (0x1D60E, 'M', u'g'), + (0x1D60F, 'M', u'h'), + (0x1D610, 'M', u'i'), + (0x1D611, 'M', u'j'), + (0x1D612, 'M', u'k'), + (0x1D613, 'M', u'l'), + (0x1D614, 'M', u'm'), + (0x1D615, 'M', u'n'), + (0x1D616, 'M', u'o'), + (0x1D617, 'M', u'p'), + (0x1D618, 'M', u'q'), + (0x1D619, 'M', u'r'), + (0x1D61A, 'M', u's'), + (0x1D61B, 'M', u't'), + (0x1D61C, 'M', u'u'), + (0x1D61D, 'M', u'v'), + (0x1D61E, 'M', u'w'), + (0x1D61F, 'M', u'x'), + (0x1D620, 'M', u'y'), + (0x1D621, 'M', u'z'), + (0x1D622, 'M', u'a'), + (0x1D623, 'M', u'b'), + (0x1D624, 'M', u'c'), + (0x1D625, 'M', u'd'), + (0x1D626, 'M', u'e'), + (0x1D627, 'M', u'f'), + (0x1D628, 'M', u'g'), + (0x1D629, 'M', u'h'), + (0x1D62A, 'M', u'i'), + (0x1D62B, 'M', u'j'), + (0x1D62C, 'M', u'k'), + (0x1D62D, 'M', u'l'), + (0x1D62E, 'M', u'm'), + (0x1D62F, 'M', u'n'), + (0x1D630, 'M', u'o'), + (0x1D631, 'M', u'p'), + (0x1D632, 'M', u'q'), + (0x1D633, 'M', u'r'), + (0x1D634, 'M', u's'), + (0x1D635, 'M', u't'), + (0x1D636, 'M', u'u'), + (0x1D637, 'M', u'v'), + (0x1D638, 'M', u'w'), + (0x1D639, 'M', u'x'), + (0x1D63A, 'M', u'y'), + (0x1D63B, 'M', u'z'), + (0x1D63C, 'M', u'a'), + (0x1D63D, 'M', u'b'), + (0x1D63E, 'M', u'c'), + (0x1D63F, 'M', u'd'), + (0x1D640, 'M', u'e'), + (0x1D641, 'M', u'f'), + (0x1D642, 'M', u'g'), + (0x1D643, 'M', u'h'), + (0x1D644, 'M', u'i'), + (0x1D645, 'M', u'j'), + (0x1D646, 'M', u'k'), + (0x1D647, 'M', u'l'), + (0x1D648, 'M', u'm'), + (0x1D649, 'M', u'n'), + (0x1D64A, 'M', u'o'), + (0x1D64B, 'M', u'p'), + (0x1D64C, 'M', u'q'), + (0x1D64D, 'M', u'r'), + (0x1D64E, 'M', u's'), + (0x1D64F, 'M', u't'), + (0x1D650, 'M', u'u'), + (0x1D651, 'M', u'v'), + (0x1D652, 'M', u'w'), + (0x1D653, 'M', u'x'), + (0x1D654, 'M', u'y'), + (0x1D655, 'M', u'z'), + (0x1D656, 'M', u'a'), + ] + +def _seg_64(): + return [ + (0x1D657, 'M', u'b'), + (0x1D658, 'M', u'c'), + (0x1D659, 'M', u'd'), + (0x1D65A, 'M', u'e'), + (0x1D65B, 'M', u'f'), + (0x1D65C, 'M', u'g'), + (0x1D65D, 'M', u'h'), + (0x1D65E, 'M', u'i'), + (0x1D65F, 'M', u'j'), + (0x1D660, 'M', u'k'), + (0x1D661, 'M', u'l'), + (0x1D662, 'M', u'm'), + (0x1D663, 'M', u'n'), + (0x1D664, 'M', u'o'), + (0x1D665, 'M', u'p'), + (0x1D666, 'M', u'q'), + (0x1D667, 'M', u'r'), + (0x1D668, 'M', u's'), + (0x1D669, 'M', u't'), + (0x1D66A, 'M', u'u'), + (0x1D66B, 'M', u'v'), + (0x1D66C, 'M', u'w'), + (0x1D66D, 'M', u'x'), + (0x1D66E, 'M', u'y'), + (0x1D66F, 'M', u'z'), + (0x1D670, 'M', u'a'), + (0x1D671, 'M', u'b'), + (0x1D672, 'M', u'c'), + (0x1D673, 'M', u'd'), + (0x1D674, 'M', u'e'), + (0x1D675, 'M', u'f'), + (0x1D676, 'M', u'g'), + (0x1D677, 'M', u'h'), + (0x1D678, 'M', u'i'), + (0x1D679, 'M', u'j'), + (0x1D67A, 'M', u'k'), + (0x1D67B, 'M', u'l'), + (0x1D67C, 'M', u'm'), + (0x1D67D, 'M', u'n'), + (0x1D67E, 'M', u'o'), + (0x1D67F, 'M', u'p'), + (0x1D680, 'M', u'q'), + (0x1D681, 'M', u'r'), + (0x1D682, 'M', u's'), + (0x1D683, 'M', u't'), + (0x1D684, 'M', u'u'), + (0x1D685, 'M', u'v'), + (0x1D686, 'M', u'w'), + (0x1D687, 'M', u'x'), + (0x1D688, 'M', u'y'), + (0x1D689, 'M', u'z'), + (0x1D68A, 'M', u'a'), + (0x1D68B, 'M', u'b'), + (0x1D68C, 'M', u'c'), + (0x1D68D, 'M', u'd'), + (0x1D68E, 'M', u'e'), + (0x1D68F, 'M', u'f'), + (0x1D690, 'M', u'g'), + (0x1D691, 'M', u'h'), + (0x1D692, 'M', u'i'), + (0x1D693, 'M', u'j'), + (0x1D694, 'M', u'k'), + (0x1D695, 'M', u'l'), + (0x1D696, 'M', u'm'), + (0x1D697, 'M', u'n'), + (0x1D698, 'M', u'o'), + (0x1D699, 'M', u'p'), + (0x1D69A, 'M', u'q'), + (0x1D69B, 'M', u'r'), + (0x1D69C, 'M', u's'), + (0x1D69D, 'M', u't'), + (0x1D69E, 'M', u'u'), + (0x1D69F, 'M', u'v'), + (0x1D6A0, 'M', u'w'), + (0x1D6A1, 'M', u'x'), + (0x1D6A2, 'M', u'y'), + (0x1D6A3, 'M', u'z'), + (0x1D6A4, 'M', u'ı'), + (0x1D6A5, 'M', u'ȷ'), + (0x1D6A6, 'X'), + (0x1D6A8, 'M', u'α'), + (0x1D6A9, 'M', u'β'), + (0x1D6AA, 'M', u'γ'), + (0x1D6AB, 'M', u'δ'), + (0x1D6AC, 'M', u'ε'), + (0x1D6AD, 'M', u'ζ'), + (0x1D6AE, 'M', u'η'), + (0x1D6AF, 'M', u'θ'), + (0x1D6B0, 'M', u'ι'), + (0x1D6B1, 'M', u'κ'), + (0x1D6B2, 'M', u'λ'), + (0x1D6B3, 'M', u'μ'), + (0x1D6B4, 'M', u'ν'), + (0x1D6B5, 'M', u'ξ'), + (0x1D6B6, 'M', u'ο'), + (0x1D6B7, 'M', u'π'), + (0x1D6B8, 'M', u'ρ'), + (0x1D6B9, 'M', u'θ'), + (0x1D6BA, 'M', u'σ'), + (0x1D6BB, 'M', u'τ'), + ] + +def _seg_65(): + return [ + (0x1D6BC, 'M', u'υ'), + (0x1D6BD, 'M', u'φ'), + (0x1D6BE, 'M', u'χ'), + (0x1D6BF, 'M', u'ψ'), + (0x1D6C0, 'M', u'ω'), + (0x1D6C1, 'M', u'∇'), + (0x1D6C2, 'M', u'α'), + (0x1D6C3, 'M', u'β'), + (0x1D6C4, 'M', u'γ'), + (0x1D6C5, 'M', u'δ'), + (0x1D6C6, 'M', u'ε'), + (0x1D6C7, 'M', u'ζ'), + (0x1D6C8, 'M', u'η'), + (0x1D6C9, 'M', u'θ'), + (0x1D6CA, 'M', u'ι'), + (0x1D6CB, 'M', u'κ'), + (0x1D6CC, 'M', u'λ'), + (0x1D6CD, 'M', u'μ'), + (0x1D6CE, 'M', u'ν'), + (0x1D6CF, 'M', u'ξ'), + (0x1D6D0, 'M', u'ο'), + (0x1D6D1, 'M', u'π'), + (0x1D6D2, 'M', u'ρ'), + (0x1D6D3, 'M', u'σ'), + (0x1D6D5, 'M', u'τ'), + (0x1D6D6, 'M', u'υ'), + (0x1D6D7, 'M', u'φ'), + (0x1D6D8, 'M', u'χ'), + (0x1D6D9, 'M', u'ψ'), + (0x1D6DA, 'M', u'ω'), + (0x1D6DB, 'M', u'∂'), + (0x1D6DC, 'M', u'ε'), + (0x1D6DD, 'M', u'θ'), + (0x1D6DE, 'M', u'κ'), + (0x1D6DF, 'M', u'φ'), + (0x1D6E0, 'M', u'ρ'), + (0x1D6E1, 'M', u'π'), + (0x1D6E2, 'M', u'α'), + (0x1D6E3, 'M', u'β'), + (0x1D6E4, 'M', u'γ'), + (0x1D6E5, 'M', u'δ'), + (0x1D6E6, 'M', u'ε'), + (0x1D6E7, 'M', u'ζ'), + (0x1D6E8, 'M', u'η'), + (0x1D6E9, 'M', u'θ'), + (0x1D6EA, 'M', u'ι'), + (0x1D6EB, 'M', u'κ'), + (0x1D6EC, 'M', u'λ'), + (0x1D6ED, 'M', u'μ'), + (0x1D6EE, 'M', u'ν'), + (0x1D6EF, 'M', u'ξ'), + (0x1D6F0, 'M', u'ο'), + (0x1D6F1, 'M', u'π'), + (0x1D6F2, 'M', u'ρ'), + (0x1D6F3, 'M', u'θ'), + (0x1D6F4, 'M', u'σ'), + (0x1D6F5, 'M', u'τ'), + (0x1D6F6, 'M', u'υ'), + (0x1D6F7, 'M', u'φ'), + (0x1D6F8, 'M', u'χ'), + (0x1D6F9, 'M', u'ψ'), + (0x1D6FA, 'M', u'ω'), + (0x1D6FB, 'M', u'∇'), + (0x1D6FC, 'M', u'α'), + (0x1D6FD, 'M', u'β'), + (0x1D6FE, 'M', u'γ'), + (0x1D6FF, 'M', u'δ'), + (0x1D700, 'M', u'ε'), + (0x1D701, 'M', u'ζ'), + (0x1D702, 'M', u'η'), + (0x1D703, 'M', u'θ'), + (0x1D704, 'M', u'ι'), + (0x1D705, 'M', u'κ'), + (0x1D706, 'M', u'λ'), + (0x1D707, 'M', u'μ'), + (0x1D708, 'M', u'ν'), + (0x1D709, 'M', u'ξ'), + (0x1D70A, 'M', u'ο'), + (0x1D70B, 'M', u'π'), + (0x1D70C, 'M', u'ρ'), + (0x1D70D, 'M', u'σ'), + (0x1D70F, 'M', u'τ'), + (0x1D710, 'M', u'υ'), + (0x1D711, 'M', u'φ'), + (0x1D712, 'M', u'χ'), + (0x1D713, 'M', u'ψ'), + (0x1D714, 'M', u'ω'), + (0x1D715, 'M', u'∂'), + (0x1D716, 'M', u'ε'), + (0x1D717, 'M', u'θ'), + (0x1D718, 'M', u'κ'), + (0x1D719, 'M', u'φ'), + (0x1D71A, 'M', u'ρ'), + (0x1D71B, 'M', u'π'), + (0x1D71C, 'M', u'α'), + (0x1D71D, 'M', u'β'), + (0x1D71E, 'M', u'γ'), + (0x1D71F, 'M', u'δ'), + (0x1D720, 'M', u'ε'), + (0x1D721, 'M', u'ζ'), + ] + +def _seg_66(): + return [ + (0x1D722, 'M', u'η'), + (0x1D723, 'M', u'θ'), + (0x1D724, 'M', u'ι'), + (0x1D725, 'M', u'κ'), + (0x1D726, 'M', u'λ'), + (0x1D727, 'M', u'μ'), + (0x1D728, 'M', u'ν'), + (0x1D729, 'M', u'ξ'), + (0x1D72A, 'M', u'ο'), + (0x1D72B, 'M', u'π'), + (0x1D72C, 'M', u'ρ'), + (0x1D72D, 'M', u'θ'), + (0x1D72E, 'M', u'σ'), + (0x1D72F, 'M', u'τ'), + (0x1D730, 'M', u'υ'), + (0x1D731, 'M', u'φ'), + (0x1D732, 'M', u'χ'), + (0x1D733, 'M', u'ψ'), + (0x1D734, 'M', u'ω'), + (0x1D735, 'M', u'∇'), + (0x1D736, 'M', u'α'), + (0x1D737, 'M', u'β'), + (0x1D738, 'M', u'γ'), + (0x1D739, 'M', u'δ'), + (0x1D73A, 'M', u'ε'), + (0x1D73B, 'M', u'ζ'), + (0x1D73C, 'M', u'η'), + (0x1D73D, 'M', u'θ'), + (0x1D73E, 'M', u'ι'), + (0x1D73F, 'M', u'κ'), + (0x1D740, 'M', u'λ'), + (0x1D741, 'M', u'μ'), + (0x1D742, 'M', u'ν'), + (0x1D743, 'M', u'ξ'), + (0x1D744, 'M', u'ο'), + (0x1D745, 'M', u'π'), + (0x1D746, 'M', u'ρ'), + (0x1D747, 'M', u'σ'), + (0x1D749, 'M', u'τ'), + (0x1D74A, 'M', u'υ'), + (0x1D74B, 'M', u'φ'), + (0x1D74C, 'M', u'χ'), + (0x1D74D, 'M', u'ψ'), + (0x1D74E, 'M', u'ω'), + (0x1D74F, 'M', u'∂'), + (0x1D750, 'M', u'ε'), + (0x1D751, 'M', u'θ'), + (0x1D752, 'M', u'κ'), + (0x1D753, 'M', u'φ'), + (0x1D754, 'M', u'ρ'), + (0x1D755, 'M', u'π'), + (0x1D756, 'M', u'α'), + (0x1D757, 'M', u'β'), + (0x1D758, 'M', u'γ'), + (0x1D759, 'M', u'δ'), + (0x1D75A, 'M', u'ε'), + (0x1D75B, 'M', u'ζ'), + (0x1D75C, 'M', u'η'), + (0x1D75D, 'M', u'θ'), + (0x1D75E, 'M', u'ι'), + (0x1D75F, 'M', u'κ'), + (0x1D760, 'M', u'λ'), + (0x1D761, 'M', u'μ'), + (0x1D762, 'M', u'ν'), + (0x1D763, 'M', u'ξ'), + (0x1D764, 'M', u'ο'), + (0x1D765, 'M', u'π'), + (0x1D766, 'M', u'ρ'), + (0x1D767, 'M', u'θ'), + (0x1D768, 'M', u'σ'), + (0x1D769, 'M', u'τ'), + (0x1D76A, 'M', u'υ'), + (0x1D76B, 'M', u'φ'), + (0x1D76C, 'M', u'χ'), + (0x1D76D, 'M', u'ψ'), + (0x1D76E, 'M', u'ω'), + (0x1D76F, 'M', u'∇'), + (0x1D770, 'M', u'α'), + (0x1D771, 'M', u'β'), + (0x1D772, 'M', u'γ'), + (0x1D773, 'M', u'δ'), + (0x1D774, 'M', u'ε'), + (0x1D775, 'M', u'ζ'), + (0x1D776, 'M', u'η'), + (0x1D777, 'M', u'θ'), + (0x1D778, 'M', u'ι'), + (0x1D779, 'M', u'κ'), + (0x1D77A, 'M', u'λ'), + (0x1D77B, 'M', u'μ'), + (0x1D77C, 'M', u'ν'), + (0x1D77D, 'M', u'ξ'), + (0x1D77E, 'M', u'ο'), + (0x1D77F, 'M', u'π'), + (0x1D780, 'M', u'ρ'), + (0x1D781, 'M', u'σ'), + (0x1D783, 'M', u'τ'), + (0x1D784, 'M', u'υ'), + (0x1D785, 'M', u'φ'), + (0x1D786, 'M', u'χ'), + (0x1D787, 'M', u'ψ'), + ] + +def _seg_67(): + return [ + (0x1D788, 'M', u'ω'), + (0x1D789, 'M', u'∂'), + (0x1D78A, 'M', u'ε'), + (0x1D78B, 'M', u'θ'), + (0x1D78C, 'M', u'κ'), + (0x1D78D, 'M', u'φ'), + (0x1D78E, 'M', u'ρ'), + (0x1D78F, 'M', u'π'), + (0x1D790, 'M', u'α'), + (0x1D791, 'M', u'β'), + (0x1D792, 'M', u'γ'), + (0x1D793, 'M', u'δ'), + (0x1D794, 'M', u'ε'), + (0x1D795, 'M', u'ζ'), + (0x1D796, 'M', u'η'), + (0x1D797, 'M', u'θ'), + (0x1D798, 'M', u'ι'), + (0x1D799, 'M', u'κ'), + (0x1D79A, 'M', u'λ'), + (0x1D79B, 'M', u'μ'), + (0x1D79C, 'M', u'ν'), + (0x1D79D, 'M', u'ξ'), + (0x1D79E, 'M', u'ο'), + (0x1D79F, 'M', u'π'), + (0x1D7A0, 'M', u'ρ'), + (0x1D7A1, 'M', u'θ'), + (0x1D7A2, 'M', u'σ'), + (0x1D7A3, 'M', u'τ'), + (0x1D7A4, 'M', u'υ'), + (0x1D7A5, 'M', u'φ'), + (0x1D7A6, 'M', u'χ'), + (0x1D7A7, 'M', u'ψ'), + (0x1D7A8, 'M', u'ω'), + (0x1D7A9, 'M', u'∇'), + (0x1D7AA, 'M', u'α'), + (0x1D7AB, 'M', u'β'), + (0x1D7AC, 'M', u'γ'), + (0x1D7AD, 'M', u'δ'), + (0x1D7AE, 'M', u'ε'), + (0x1D7AF, 'M', u'ζ'), + (0x1D7B0, 'M', u'η'), + (0x1D7B1, 'M', u'θ'), + (0x1D7B2, 'M', u'ι'), + (0x1D7B3, 'M', u'κ'), + (0x1D7B4, 'M', u'λ'), + (0x1D7B5, 'M', u'μ'), + (0x1D7B6, 'M', u'ν'), + (0x1D7B7, 'M', u'ξ'), + (0x1D7B8, 'M', u'ο'), + (0x1D7B9, 'M', u'π'), + (0x1D7BA, 'M', u'ρ'), + (0x1D7BB, 'M', u'σ'), + (0x1D7BD, 'M', u'τ'), + (0x1D7BE, 'M', u'υ'), + (0x1D7BF, 'M', u'φ'), + (0x1D7C0, 'M', u'χ'), + (0x1D7C1, 'M', u'ψ'), + (0x1D7C2, 'M', u'ω'), + (0x1D7C3, 'M', u'∂'), + (0x1D7C4, 'M', u'ε'), + (0x1D7C5, 'M', u'θ'), + (0x1D7C6, 'M', u'κ'), + (0x1D7C7, 'M', u'φ'), + (0x1D7C8, 'M', u'ρ'), + (0x1D7C9, 'M', u'π'), + (0x1D7CA, 'M', u'ϝ'), + (0x1D7CC, 'X'), + (0x1D7CE, 'M', u'0'), + (0x1D7CF, 'M', u'1'), + (0x1D7D0, 'M', u'2'), + (0x1D7D1, 'M', u'3'), + (0x1D7D2, 'M', u'4'), + (0x1D7D3, 'M', u'5'), + (0x1D7D4, 'M', u'6'), + (0x1D7D5, 'M', u'7'), + (0x1D7D6, 'M', u'8'), + (0x1D7D7, 'M', u'9'), + (0x1D7D8, 'M', u'0'), + (0x1D7D9, 'M', u'1'), + (0x1D7DA, 'M', u'2'), + (0x1D7DB, 'M', u'3'), + (0x1D7DC, 'M', u'4'), + (0x1D7DD, 'M', u'5'), + (0x1D7DE, 'M', u'6'), + (0x1D7DF, 'M', u'7'), + (0x1D7E0, 'M', u'8'), + (0x1D7E1, 'M', u'9'), + (0x1D7E2, 'M', u'0'), + (0x1D7E3, 'M', u'1'), + (0x1D7E4, 'M', u'2'), + (0x1D7E5, 'M', u'3'), + (0x1D7E6, 'M', u'4'), + (0x1D7E7, 'M', u'5'), + (0x1D7E8, 'M', u'6'), + (0x1D7E9, 'M', u'7'), + (0x1D7EA, 'M', u'8'), + (0x1D7EB, 'M', u'9'), + (0x1D7EC, 'M', u'0'), + (0x1D7ED, 'M', u'1'), + (0x1D7EE, 'M', u'2'), + ] + +def _seg_68(): + return [ + (0x1D7EF, 'M', u'3'), + (0x1D7F0, 'M', u'4'), + (0x1D7F1, 'M', u'5'), + (0x1D7F2, 'M', u'6'), + (0x1D7F3, 'M', u'7'), + (0x1D7F4, 'M', u'8'), + (0x1D7F5, 'M', u'9'), + (0x1D7F6, 'M', u'0'), + (0x1D7F7, 'M', u'1'), + (0x1D7F8, 'M', u'2'), + (0x1D7F9, 'M', u'3'), + (0x1D7FA, 'M', u'4'), + (0x1D7FB, 'M', u'5'), + (0x1D7FC, 'M', u'6'), + (0x1D7FD, 'M', u'7'), + (0x1D7FE, 'M', u'8'), + (0x1D7FF, 'M', u'9'), + (0x1D800, 'V'), + (0x1DA8C, 'X'), + (0x1DA9B, 'V'), + (0x1DAA0, 'X'), + (0x1DAA1, 'V'), + (0x1DAB0, 'X'), + (0x1E000, 'V'), + (0x1E007, 'X'), + (0x1E008, 'V'), + (0x1E019, 'X'), + (0x1E01B, 'V'), + (0x1E022, 'X'), + (0x1E023, 'V'), + (0x1E025, 'X'), + (0x1E026, 'V'), + (0x1E02B, 'X'), + (0x1E800, 'V'), + (0x1E8C5, 'X'), + (0x1E8C7, 'V'), + (0x1E8D7, 'X'), + (0x1E900, 'M', u'𞤢'), + (0x1E901, 'M', u'𞤣'), + (0x1E902, 'M', u'𞤤'), + (0x1E903, 'M', u'𞤥'), + (0x1E904, 'M', u'𞤦'), + (0x1E905, 'M', u'𞤧'), + (0x1E906, 'M', u'𞤨'), + (0x1E907, 'M', u'𞤩'), + (0x1E908, 'M', u'𞤪'), + (0x1E909, 'M', u'𞤫'), + (0x1E90A, 'M', u'𞤬'), + (0x1E90B, 'M', u'𞤭'), + (0x1E90C, 'M', u'𞤮'), + (0x1E90D, 'M', u'𞤯'), + (0x1E90E, 'M', u'𞤰'), + (0x1E90F, 'M', u'𞤱'), + (0x1E910, 'M', u'𞤲'), + (0x1E911, 'M', u'𞤳'), + (0x1E912, 'M', u'𞤴'), + (0x1E913, 'M', u'𞤵'), + (0x1E914, 'M', u'𞤶'), + (0x1E915, 'M', u'𞤷'), + (0x1E916, 'M', u'𞤸'), + (0x1E917, 'M', u'𞤹'), + (0x1E918, 'M', u'𞤺'), + (0x1E919, 'M', u'𞤻'), + (0x1E91A, 'M', u'𞤼'), + (0x1E91B, 'M', u'𞤽'), + (0x1E91C, 'M', u'𞤾'), + (0x1E91D, 'M', u'𞤿'), + (0x1E91E, 'M', u'𞥀'), + (0x1E91F, 'M', u'𞥁'), + (0x1E920, 'M', u'𞥂'), + (0x1E921, 'M', u'𞥃'), + (0x1E922, 'V'), + (0x1E94B, 'X'), + (0x1E950, 'V'), + (0x1E95A, 'X'), + (0x1E95E, 'V'), + (0x1E960, 'X'), + (0x1EC71, 'V'), + (0x1ECB5, 'X'), + (0x1EE00, 'M', u'ا'), + (0x1EE01, 'M', u'ب'), + (0x1EE02, 'M', u'ج'), + (0x1EE03, 'M', u'د'), + (0x1EE04, 'X'), + (0x1EE05, 'M', u'و'), + (0x1EE06, 'M', u'ز'), + (0x1EE07, 'M', u'ح'), + (0x1EE08, 'M', u'ط'), + (0x1EE09, 'M', u'ي'), + (0x1EE0A, 'M', u'ك'), + (0x1EE0B, 'M', u'ل'), + (0x1EE0C, 'M', u'م'), + (0x1EE0D, 'M', u'ن'), + (0x1EE0E, 'M', u'س'), + (0x1EE0F, 'M', u'ع'), + (0x1EE10, 'M', u'ف'), + (0x1EE11, 'M', u'ص'), + (0x1EE12, 'M', u'ق'), + (0x1EE13, 'M', u'ر'), + (0x1EE14, 'M', u'ش'), + ] + +def _seg_69(): + return [ + (0x1EE15, 'M', u'ت'), + (0x1EE16, 'M', u'ث'), + (0x1EE17, 'M', u'خ'), + (0x1EE18, 'M', u'ذ'), + (0x1EE19, 'M', u'ض'), + (0x1EE1A, 'M', u'ظ'), + (0x1EE1B, 'M', u'غ'), + (0x1EE1C, 'M', u'ٮ'), + (0x1EE1D, 'M', u'ں'), + (0x1EE1E, 'M', u'ڡ'), + (0x1EE1F, 'M', u'ٯ'), + (0x1EE20, 'X'), + (0x1EE21, 'M', u'ب'), + (0x1EE22, 'M', u'ج'), + (0x1EE23, 'X'), + (0x1EE24, 'M', u'ه'), + (0x1EE25, 'X'), + (0x1EE27, 'M', u'ح'), + (0x1EE28, 'X'), + (0x1EE29, 'M', u'ي'), + (0x1EE2A, 'M', u'ك'), + (0x1EE2B, 'M', u'ل'), + (0x1EE2C, 'M', u'م'), + (0x1EE2D, 'M', u'ن'), + (0x1EE2E, 'M', u'س'), + (0x1EE2F, 'M', u'ع'), + (0x1EE30, 'M', u'ف'), + (0x1EE31, 'M', u'ص'), + (0x1EE32, 'M', u'ق'), + (0x1EE33, 'X'), + (0x1EE34, 'M', u'ش'), + (0x1EE35, 'M', u'ت'), + (0x1EE36, 'M', u'ث'), + (0x1EE37, 'M', u'خ'), + (0x1EE38, 'X'), + (0x1EE39, 'M', u'ض'), + (0x1EE3A, 'X'), + (0x1EE3B, 'M', u'غ'), + (0x1EE3C, 'X'), + (0x1EE42, 'M', u'ج'), + (0x1EE43, 'X'), + (0x1EE47, 'M', u'ح'), + (0x1EE48, 'X'), + (0x1EE49, 'M', u'ي'), + (0x1EE4A, 'X'), + (0x1EE4B, 'M', u'ل'), + (0x1EE4C, 'X'), + (0x1EE4D, 'M', u'ن'), + (0x1EE4E, 'M', u'س'), + (0x1EE4F, 'M', u'ع'), + (0x1EE50, 'X'), + (0x1EE51, 'M', u'ص'), + (0x1EE52, 'M', u'ق'), + (0x1EE53, 'X'), + (0x1EE54, 'M', u'ش'), + (0x1EE55, 'X'), + (0x1EE57, 'M', u'خ'), + (0x1EE58, 'X'), + (0x1EE59, 'M', u'ض'), + (0x1EE5A, 'X'), + (0x1EE5B, 'M', u'غ'), + (0x1EE5C, 'X'), + (0x1EE5D, 'M', u'ں'), + (0x1EE5E, 'X'), + (0x1EE5F, 'M', u'ٯ'), + (0x1EE60, 'X'), + (0x1EE61, 'M', u'ب'), + (0x1EE62, 'M', u'ج'), + (0x1EE63, 'X'), + (0x1EE64, 'M', u'ه'), + (0x1EE65, 'X'), + (0x1EE67, 'M', u'ح'), + (0x1EE68, 'M', u'ط'), + (0x1EE69, 'M', u'ي'), + (0x1EE6A, 'M', u'ك'), + (0x1EE6B, 'X'), + (0x1EE6C, 'M', u'م'), + (0x1EE6D, 'M', u'ن'), + (0x1EE6E, 'M', u'س'), + (0x1EE6F, 'M', u'ع'), + (0x1EE70, 'M', u'ف'), + (0x1EE71, 'M', u'ص'), + (0x1EE72, 'M', u'ق'), + (0x1EE73, 'X'), + (0x1EE74, 'M', u'ش'), + (0x1EE75, 'M', u'ت'), + (0x1EE76, 'M', u'ث'), + (0x1EE77, 'M', u'خ'), + (0x1EE78, 'X'), + (0x1EE79, 'M', u'ض'), + (0x1EE7A, 'M', u'ظ'), + (0x1EE7B, 'M', u'غ'), + (0x1EE7C, 'M', u'ٮ'), + (0x1EE7D, 'X'), + (0x1EE7E, 'M', u'ڡ'), + (0x1EE7F, 'X'), + (0x1EE80, 'M', u'ا'), + (0x1EE81, 'M', u'ب'), + (0x1EE82, 'M', u'ج'), + (0x1EE83, 'M', u'د'), + ] + +def _seg_70(): + return [ + (0x1EE84, 'M', u'ه'), + (0x1EE85, 'M', u'و'), + (0x1EE86, 'M', u'ز'), + (0x1EE87, 'M', u'ح'), + (0x1EE88, 'M', u'ط'), + (0x1EE89, 'M', u'ي'), + (0x1EE8A, 'X'), + (0x1EE8B, 'M', u'ل'), + (0x1EE8C, 'M', u'م'), + (0x1EE8D, 'M', u'ن'), + (0x1EE8E, 'M', u'س'), + (0x1EE8F, 'M', u'ع'), + (0x1EE90, 'M', u'ف'), + (0x1EE91, 'M', u'ص'), + (0x1EE92, 'M', u'ق'), + (0x1EE93, 'M', u'ر'), + (0x1EE94, 'M', u'ش'), + (0x1EE95, 'M', u'ت'), + (0x1EE96, 'M', u'ث'), + (0x1EE97, 'M', u'خ'), + (0x1EE98, 'M', u'ذ'), + (0x1EE99, 'M', u'ض'), + (0x1EE9A, 'M', u'ظ'), + (0x1EE9B, 'M', u'غ'), + (0x1EE9C, 'X'), + (0x1EEA1, 'M', u'ب'), + (0x1EEA2, 'M', u'ج'), + (0x1EEA3, 'M', u'د'), + (0x1EEA4, 'X'), + (0x1EEA5, 'M', u'و'), + (0x1EEA6, 'M', u'ز'), + (0x1EEA7, 'M', u'ح'), + (0x1EEA8, 'M', u'ط'), + (0x1EEA9, 'M', u'ي'), + (0x1EEAA, 'X'), + (0x1EEAB, 'M', u'ل'), + (0x1EEAC, 'M', u'م'), + (0x1EEAD, 'M', u'ن'), + (0x1EEAE, 'M', u'س'), + (0x1EEAF, 'M', u'ع'), + (0x1EEB0, 'M', u'ف'), + (0x1EEB1, 'M', u'ص'), + (0x1EEB2, 'M', u'ق'), + (0x1EEB3, 'M', u'ر'), + (0x1EEB4, 'M', u'ش'), + (0x1EEB5, 'M', u'ت'), + (0x1EEB6, 'M', u'ث'), + (0x1EEB7, 'M', u'خ'), + (0x1EEB8, 'M', u'ذ'), + (0x1EEB9, 'M', u'ض'), + (0x1EEBA, 'M', u'ظ'), + (0x1EEBB, 'M', u'غ'), + (0x1EEBC, 'X'), + (0x1EEF0, 'V'), + (0x1EEF2, 'X'), + (0x1F000, 'V'), + (0x1F02C, 'X'), + (0x1F030, 'V'), + (0x1F094, 'X'), + (0x1F0A0, 'V'), + (0x1F0AF, 'X'), + (0x1F0B1, 'V'), + (0x1F0C0, 'X'), + (0x1F0C1, 'V'), + (0x1F0D0, 'X'), + (0x1F0D1, 'V'), + (0x1F0F6, 'X'), + (0x1F101, '3', u'0,'), + (0x1F102, '3', u'1,'), + (0x1F103, '3', u'2,'), + (0x1F104, '3', u'3,'), + (0x1F105, '3', u'4,'), + (0x1F106, '3', u'5,'), + (0x1F107, '3', u'6,'), + (0x1F108, '3', u'7,'), + (0x1F109, '3', u'8,'), + (0x1F10A, '3', u'9,'), + (0x1F10B, 'V'), + (0x1F10D, 'X'), + (0x1F110, '3', u'(a)'), + (0x1F111, '3', u'(b)'), + (0x1F112, '3', u'(c)'), + (0x1F113, '3', u'(d)'), + (0x1F114, '3', u'(e)'), + (0x1F115, '3', u'(f)'), + (0x1F116, '3', u'(g)'), + (0x1F117, '3', u'(h)'), + (0x1F118, '3', u'(i)'), + (0x1F119, '3', u'(j)'), + (0x1F11A, '3', u'(k)'), + (0x1F11B, '3', u'(l)'), + (0x1F11C, '3', u'(m)'), + (0x1F11D, '3', u'(n)'), + (0x1F11E, '3', u'(o)'), + (0x1F11F, '3', u'(p)'), + (0x1F120, '3', u'(q)'), + (0x1F121, '3', u'(r)'), + (0x1F122, '3', u'(s)'), + (0x1F123, '3', u'(t)'), + (0x1F124, '3', u'(u)'), + ] + +def _seg_71(): + return [ + (0x1F125, '3', u'(v)'), + (0x1F126, '3', u'(w)'), + (0x1F127, '3', u'(x)'), + (0x1F128, '3', u'(y)'), + (0x1F129, '3', u'(z)'), + (0x1F12A, 'M', u'〔s〕'), + (0x1F12B, 'M', u'c'), + (0x1F12C, 'M', u'r'), + (0x1F12D, 'M', u'cd'), + (0x1F12E, 'M', u'wz'), + (0x1F12F, 'V'), + (0x1F130, 'M', u'a'), + (0x1F131, 'M', u'b'), + (0x1F132, 'M', u'c'), + (0x1F133, 'M', u'd'), + (0x1F134, 'M', u'e'), + (0x1F135, 'M', u'f'), + (0x1F136, 'M', u'g'), + (0x1F137, 'M', u'h'), + (0x1F138, 'M', u'i'), + (0x1F139, 'M', u'j'), + (0x1F13A, 'M', u'k'), + (0x1F13B, 'M', u'l'), + (0x1F13C, 'M', u'm'), + (0x1F13D, 'M', u'n'), + (0x1F13E, 'M', u'o'), + (0x1F13F, 'M', u'p'), + (0x1F140, 'M', u'q'), + (0x1F141, 'M', u'r'), + (0x1F142, 'M', u's'), + (0x1F143, 'M', u't'), + (0x1F144, 'M', u'u'), + (0x1F145, 'M', u'v'), + (0x1F146, 'M', u'w'), + (0x1F147, 'M', u'x'), + (0x1F148, 'M', u'y'), + (0x1F149, 'M', u'z'), + (0x1F14A, 'M', u'hv'), + (0x1F14B, 'M', u'mv'), + (0x1F14C, 'M', u'sd'), + (0x1F14D, 'M', u'ss'), + (0x1F14E, 'M', u'ppv'), + (0x1F14F, 'M', u'wc'), + (0x1F150, 'V'), + (0x1F16A, 'M', u'mc'), + (0x1F16B, 'M', u'md'), + (0x1F16C, 'X'), + (0x1F170, 'V'), + (0x1F190, 'M', u'dj'), + (0x1F191, 'V'), + (0x1F1AD, 'X'), + (0x1F1E6, 'V'), + (0x1F200, 'M', u'ほか'), + (0x1F201, 'M', u'ココ'), + (0x1F202, 'M', u'サ'), + (0x1F203, 'X'), + (0x1F210, 'M', u'手'), + (0x1F211, 'M', u'字'), + (0x1F212, 'M', u'双'), + (0x1F213, 'M', u'デ'), + (0x1F214, 'M', u'二'), + (0x1F215, 'M', u'多'), + (0x1F216, 'M', u'解'), + (0x1F217, 'M', u'天'), + (0x1F218, 'M', u'交'), + (0x1F219, 'M', u'映'), + (0x1F21A, 'M', u'無'), + (0x1F21B, 'M', u'料'), + (0x1F21C, 'M', u'前'), + (0x1F21D, 'M', u'後'), + (0x1F21E, 'M', u'再'), + (0x1F21F, 'M', u'新'), + (0x1F220, 'M', u'初'), + (0x1F221, 'M', u'終'), + (0x1F222, 'M', u'生'), + (0x1F223, 'M', u'販'), + (0x1F224, 'M', u'声'), + (0x1F225, 'M', u'吹'), + (0x1F226, 'M', u'演'), + (0x1F227, 'M', u'投'), + (0x1F228, 'M', u'捕'), + (0x1F229, 'M', u'一'), + (0x1F22A, 'M', u'三'), + (0x1F22B, 'M', u'遊'), + (0x1F22C, 'M', u'左'), + (0x1F22D, 'M', u'中'), + (0x1F22E, 'M', u'右'), + (0x1F22F, 'M', u'指'), + (0x1F230, 'M', u'走'), + (0x1F231, 'M', u'打'), + (0x1F232, 'M', u'禁'), + (0x1F233, 'M', u'空'), + (0x1F234, 'M', u'合'), + (0x1F235, 'M', u'満'), + (0x1F236, 'M', u'有'), + (0x1F237, 'M', u'月'), + (0x1F238, 'M', u'申'), + (0x1F239, 'M', u'割'), + (0x1F23A, 'M', u'営'), + (0x1F23B, 'M', u'配'), + ] + +def _seg_72(): + return [ + (0x1F23C, 'X'), + (0x1F240, 'M', u'〔本〕'), + (0x1F241, 'M', u'〔三〕'), + (0x1F242, 'M', u'〔二〕'), + (0x1F243, 'M', u'〔安〕'), + (0x1F244, 'M', u'〔点〕'), + (0x1F245, 'M', u'〔打〕'), + (0x1F246, 'M', u'〔盗〕'), + (0x1F247, 'M', u'〔勝〕'), + (0x1F248, 'M', u'〔敗〕'), + (0x1F249, 'X'), + (0x1F250, 'M', u'得'), + (0x1F251, 'M', u'可'), + (0x1F252, 'X'), + (0x1F260, 'V'), + (0x1F266, 'X'), + (0x1F300, 'V'), + (0x1F6D5, 'X'), + (0x1F6E0, 'V'), + (0x1F6ED, 'X'), + (0x1F6F0, 'V'), + (0x1F6FA, 'X'), + (0x1F700, 'V'), + (0x1F774, 'X'), + (0x1F780, 'V'), + (0x1F7D9, 'X'), + (0x1F800, 'V'), + (0x1F80C, 'X'), + (0x1F810, 'V'), + (0x1F848, 'X'), + (0x1F850, 'V'), + (0x1F85A, 'X'), + (0x1F860, 'V'), + (0x1F888, 'X'), + (0x1F890, 'V'), + (0x1F8AE, 'X'), + (0x1F900, 'V'), + (0x1F90C, 'X'), + (0x1F910, 'V'), + (0x1F93F, 'X'), + (0x1F940, 'V'), + (0x1F971, 'X'), + (0x1F973, 'V'), + (0x1F977, 'X'), + (0x1F97A, 'V'), + (0x1F97B, 'X'), + (0x1F97C, 'V'), + (0x1F9A3, 'X'), + (0x1F9B0, 'V'), + (0x1F9BA, 'X'), + (0x1F9C0, 'V'), + (0x1F9C3, 'X'), + (0x1F9D0, 'V'), + (0x1FA00, 'X'), + (0x1FA60, 'V'), + (0x1FA6E, 'X'), + (0x20000, 'V'), + (0x2A6D7, 'X'), + (0x2A700, 'V'), + (0x2B735, 'X'), + (0x2B740, 'V'), + (0x2B81E, 'X'), + (0x2B820, 'V'), + (0x2CEA2, 'X'), + (0x2CEB0, 'V'), + (0x2EBE1, 'X'), + (0x2F800, 'M', u'丽'), + (0x2F801, 'M', u'丸'), + (0x2F802, 'M', u'乁'), + (0x2F803, 'M', u'𠄢'), + (0x2F804, 'M', u'你'), + (0x2F805, 'M', u'侮'), + (0x2F806, 'M', u'侻'), + (0x2F807, 'M', u'倂'), + (0x2F808, 'M', u'偺'), + (0x2F809, 'M', u'備'), + (0x2F80A, 'M', u'僧'), + (0x2F80B, 'M', u'像'), + (0x2F80C, 'M', u'㒞'), + (0x2F80D, 'M', u'𠘺'), + (0x2F80E, 'M', u'免'), + (0x2F80F, 'M', u'兔'), + (0x2F810, 'M', u'兤'), + (0x2F811, 'M', u'具'), + (0x2F812, 'M', u'𠔜'), + (0x2F813, 'M', u'㒹'), + (0x2F814, 'M', u'內'), + (0x2F815, 'M', u'再'), + (0x2F816, 'M', u'𠕋'), + (0x2F817, 'M', u'冗'), + (0x2F818, 'M', u'冤'), + (0x2F819, 'M', u'仌'), + (0x2F81A, 'M', u'冬'), + (0x2F81B, 'M', u'况'), + (0x2F81C, 'M', u'𩇟'), + (0x2F81D, 'M', u'凵'), + (0x2F81E, 'M', u'刃'), + (0x2F81F, 'M', u'㓟'), + (0x2F820, 'M', u'刻'), + (0x2F821, 'M', u'剆'), + ] + +def _seg_73(): + return [ + (0x2F822, 'M', u'割'), + (0x2F823, 'M', u'剷'), + (0x2F824, 'M', u'㔕'), + (0x2F825, 'M', u'勇'), + (0x2F826, 'M', u'勉'), + (0x2F827, 'M', u'勤'), + (0x2F828, 'M', u'勺'), + (0x2F829, 'M', u'包'), + (0x2F82A, 'M', u'匆'), + (0x2F82B, 'M', u'北'), + (0x2F82C, 'M', u'卉'), + (0x2F82D, 'M', u'卑'), + (0x2F82E, 'M', u'博'), + (0x2F82F, 'M', u'即'), + (0x2F830, 'M', u'卽'), + (0x2F831, 'M', u'卿'), + (0x2F834, 'M', u'𠨬'), + (0x2F835, 'M', u'灰'), + (0x2F836, 'M', u'及'), + (0x2F837, 'M', u'叟'), + (0x2F838, 'M', u'𠭣'), + (0x2F839, 'M', u'叫'), + (0x2F83A, 'M', u'叱'), + (0x2F83B, 'M', u'吆'), + (0x2F83C, 'M', u'咞'), + (0x2F83D, 'M', u'吸'), + (0x2F83E, 'M', u'呈'), + (0x2F83F, 'M', u'周'), + (0x2F840, 'M', u'咢'), + (0x2F841, 'M', u'哶'), + (0x2F842, 'M', u'唐'), + (0x2F843, 'M', u'啓'), + (0x2F844, 'M', u'啣'), + (0x2F845, 'M', u'善'), + (0x2F847, 'M', u'喙'), + (0x2F848, 'M', u'喫'), + (0x2F849, 'M', u'喳'), + (0x2F84A, 'M', u'嗂'), + (0x2F84B, 'M', u'圖'), + (0x2F84C, 'M', u'嘆'), + (0x2F84D, 'M', u'圗'), + (0x2F84E, 'M', u'噑'), + (0x2F84F, 'M', u'噴'), + (0x2F850, 'M', u'切'), + (0x2F851, 'M', u'壮'), + (0x2F852, 'M', u'城'), + (0x2F853, 'M', u'埴'), + (0x2F854, 'M', u'堍'), + (0x2F855, 'M', u'型'), + (0x2F856, 'M', u'堲'), + (0x2F857, 'M', u'報'), + (0x2F858, 'M', u'墬'), + (0x2F859, 'M', u'𡓤'), + (0x2F85A, 'M', u'売'), + (0x2F85B, 'M', u'壷'), + (0x2F85C, 'M', u'夆'), + (0x2F85D, 'M', u'多'), + (0x2F85E, 'M', u'夢'), + (0x2F85F, 'M', u'奢'), + (0x2F860, 'M', u'𡚨'), + (0x2F861, 'M', u'𡛪'), + (0x2F862, 'M', u'姬'), + (0x2F863, 'M', u'娛'), + (0x2F864, 'M', u'娧'), + (0x2F865, 'M', u'姘'), + (0x2F866, 'M', u'婦'), + (0x2F867, 'M', u'㛮'), + (0x2F868, 'X'), + (0x2F869, 'M', u'嬈'), + (0x2F86A, 'M', u'嬾'), + (0x2F86C, 'M', u'𡧈'), + (0x2F86D, 'M', u'寃'), + (0x2F86E, 'M', u'寘'), + (0x2F86F, 'M', u'寧'), + (0x2F870, 'M', u'寳'), + (0x2F871, 'M', u'𡬘'), + (0x2F872, 'M', u'寿'), + (0x2F873, 'M', u'将'), + (0x2F874, 'X'), + (0x2F875, 'M', u'尢'), + (0x2F876, 'M', u'㞁'), + (0x2F877, 'M', u'屠'), + (0x2F878, 'M', u'屮'), + (0x2F879, 'M', u'峀'), + (0x2F87A, 'M', u'岍'), + (0x2F87B, 'M', u'𡷤'), + (0x2F87C, 'M', u'嵃'), + (0x2F87D, 'M', u'𡷦'), + (0x2F87E, 'M', u'嵮'), + (0x2F87F, 'M', u'嵫'), + (0x2F880, 'M', u'嵼'), + (0x2F881, 'M', u'巡'), + (0x2F882, 'M', u'巢'), + (0x2F883, 'M', u'㠯'), + (0x2F884, 'M', u'巽'), + (0x2F885, 'M', u'帨'), + (0x2F886, 'M', u'帽'), + (0x2F887, 'M', u'幩'), + (0x2F888, 'M', u'㡢'), + (0x2F889, 'M', u'𢆃'), + ] + +def _seg_74(): + return [ + (0x2F88A, 'M', u'㡼'), + (0x2F88B, 'M', u'庰'), + (0x2F88C, 'M', u'庳'), + (0x2F88D, 'M', u'庶'), + (0x2F88E, 'M', u'廊'), + (0x2F88F, 'M', u'𪎒'), + (0x2F890, 'M', u'廾'), + (0x2F891, 'M', u'𢌱'), + (0x2F893, 'M', u'舁'), + (0x2F894, 'M', u'弢'), + (0x2F896, 'M', u'㣇'), + (0x2F897, 'M', u'𣊸'), + (0x2F898, 'M', u'𦇚'), + (0x2F899, 'M', u'形'), + (0x2F89A, 'M', u'彫'), + (0x2F89B, 'M', u'㣣'), + (0x2F89C, 'M', u'徚'), + (0x2F89D, 'M', u'忍'), + (0x2F89E, 'M', u'志'), + (0x2F89F, 'M', u'忹'), + (0x2F8A0, 'M', u'悁'), + (0x2F8A1, 'M', u'㤺'), + (0x2F8A2, 'M', u'㤜'), + (0x2F8A3, 'M', u'悔'), + (0x2F8A4, 'M', u'𢛔'), + (0x2F8A5, 'M', u'惇'), + (0x2F8A6, 'M', u'慈'), + (0x2F8A7, 'M', u'慌'), + (0x2F8A8, 'M', u'慎'), + (0x2F8A9, 'M', u'慌'), + (0x2F8AA, 'M', u'慺'), + (0x2F8AB, 'M', u'憎'), + (0x2F8AC, 'M', u'憲'), + (0x2F8AD, 'M', u'憤'), + (0x2F8AE, 'M', u'憯'), + (0x2F8AF, 'M', u'懞'), + (0x2F8B0, 'M', u'懲'), + (0x2F8B1, 'M', u'懶'), + (0x2F8B2, 'M', u'成'), + (0x2F8B3, 'M', u'戛'), + (0x2F8B4, 'M', u'扝'), + (0x2F8B5, 'M', u'抱'), + (0x2F8B6, 'M', u'拔'), + (0x2F8B7, 'M', u'捐'), + (0x2F8B8, 'M', u'𢬌'), + (0x2F8B9, 'M', u'挽'), + (0x2F8BA, 'M', u'拼'), + (0x2F8BB, 'M', u'捨'), + (0x2F8BC, 'M', u'掃'), + (0x2F8BD, 'M', u'揤'), + (0x2F8BE, 'M', u'𢯱'), + (0x2F8BF, 'M', u'搢'), + (0x2F8C0, 'M', u'揅'), + (0x2F8C1, 'M', u'掩'), + (0x2F8C2, 'M', u'㨮'), + (0x2F8C3, 'M', u'摩'), + (0x2F8C4, 'M', u'摾'), + (0x2F8C5, 'M', u'撝'), + (0x2F8C6, 'M', u'摷'), + (0x2F8C7, 'M', u'㩬'), + (0x2F8C8, 'M', u'敏'), + (0x2F8C9, 'M', u'敬'), + (0x2F8CA, 'M', u'𣀊'), + (0x2F8CB, 'M', u'旣'), + (0x2F8CC, 'M', u'書'), + (0x2F8CD, 'M', u'晉'), + (0x2F8CE, 'M', u'㬙'), + (0x2F8CF, 'M', u'暑'), + (0x2F8D0, 'M', u'㬈'), + (0x2F8D1, 'M', u'㫤'), + (0x2F8D2, 'M', u'冒'), + (0x2F8D3, 'M', u'冕'), + (0x2F8D4, 'M', u'最'), + (0x2F8D5, 'M', u'暜'), + (0x2F8D6, 'M', u'肭'), + (0x2F8D7, 'M', u'䏙'), + (0x2F8D8, 'M', u'朗'), + (0x2F8D9, 'M', u'望'), + (0x2F8DA, 'M', u'朡'), + (0x2F8DB, 'M', u'杞'), + (0x2F8DC, 'M', u'杓'), + (0x2F8DD, 'M', u'𣏃'), + (0x2F8DE, 'M', u'㭉'), + (0x2F8DF, 'M', u'柺'), + (0x2F8E0, 'M', u'枅'), + (0x2F8E1, 'M', u'桒'), + (0x2F8E2, 'M', u'梅'), + (0x2F8E3, 'M', u'𣑭'), + (0x2F8E4, 'M', u'梎'), + (0x2F8E5, 'M', u'栟'), + (0x2F8E6, 'M', u'椔'), + (0x2F8E7, 'M', u'㮝'), + (0x2F8E8, 'M', u'楂'), + (0x2F8E9, 'M', u'榣'), + (0x2F8EA, 'M', u'槪'), + (0x2F8EB, 'M', u'檨'), + (0x2F8EC, 'M', u'𣚣'), + (0x2F8ED, 'M', u'櫛'), + (0x2F8EE, 'M', u'㰘'), + (0x2F8EF, 'M', u'次'), + ] + +def _seg_75(): + return [ + (0x2F8F0, 'M', u'𣢧'), + (0x2F8F1, 'M', u'歔'), + (0x2F8F2, 'M', u'㱎'), + (0x2F8F3, 'M', u'歲'), + (0x2F8F4, 'M', u'殟'), + (0x2F8F5, 'M', u'殺'), + (0x2F8F6, 'M', u'殻'), + (0x2F8F7, 'M', u'𣪍'), + (0x2F8F8, 'M', u'𡴋'), + (0x2F8F9, 'M', u'𣫺'), + (0x2F8FA, 'M', u'汎'), + (0x2F8FB, 'M', u'𣲼'), + (0x2F8FC, 'M', u'沿'), + (0x2F8FD, 'M', u'泍'), + (0x2F8FE, 'M', u'汧'), + (0x2F8FF, 'M', u'洖'), + (0x2F900, 'M', u'派'), + (0x2F901, 'M', u'海'), + (0x2F902, 'M', u'流'), + (0x2F903, 'M', u'浩'), + (0x2F904, 'M', u'浸'), + (0x2F905, 'M', u'涅'), + (0x2F906, 'M', u'𣴞'), + (0x2F907, 'M', u'洴'), + (0x2F908, 'M', u'港'), + (0x2F909, 'M', u'湮'), + (0x2F90A, 'M', u'㴳'), + (0x2F90B, 'M', u'滋'), + (0x2F90C, 'M', u'滇'), + (0x2F90D, 'M', u'𣻑'), + (0x2F90E, 'M', u'淹'), + (0x2F90F, 'M', u'潮'), + (0x2F910, 'M', u'𣽞'), + (0x2F911, 'M', u'𣾎'), + (0x2F912, 'M', u'濆'), + (0x2F913, 'M', u'瀹'), + (0x2F914, 'M', u'瀞'), + (0x2F915, 'M', u'瀛'), + (0x2F916, 'M', u'㶖'), + (0x2F917, 'M', u'灊'), + (0x2F918, 'M', u'災'), + (0x2F919, 'M', u'灷'), + (0x2F91A, 'M', u'炭'), + (0x2F91B, 'M', u'𠔥'), + (0x2F91C, 'M', u'煅'), + (0x2F91D, 'M', u'𤉣'), + (0x2F91E, 'M', u'熜'), + (0x2F91F, 'X'), + (0x2F920, 'M', u'爨'), + (0x2F921, 'M', u'爵'), + (0x2F922, 'M', u'牐'), + (0x2F923, 'M', u'𤘈'), + (0x2F924, 'M', u'犀'), + (0x2F925, 'M', u'犕'), + (0x2F926, 'M', u'𤜵'), + (0x2F927, 'M', u'𤠔'), + (0x2F928, 'M', u'獺'), + (0x2F929, 'M', u'王'), + (0x2F92A, 'M', u'㺬'), + (0x2F92B, 'M', u'玥'), + (0x2F92C, 'M', u'㺸'), + (0x2F92E, 'M', u'瑇'), + (0x2F92F, 'M', u'瑜'), + (0x2F930, 'M', u'瑱'), + (0x2F931, 'M', u'璅'), + (0x2F932, 'M', u'瓊'), + (0x2F933, 'M', u'㼛'), + (0x2F934, 'M', u'甤'), + (0x2F935, 'M', u'𤰶'), + (0x2F936, 'M', u'甾'), + (0x2F937, 'M', u'𤲒'), + (0x2F938, 'M', u'異'), + (0x2F939, 'M', u'𢆟'), + (0x2F93A, 'M', u'瘐'), + (0x2F93B, 'M', u'𤾡'), + (0x2F93C, 'M', u'𤾸'), + (0x2F93D, 'M', u'𥁄'), + (0x2F93E, 'M', u'㿼'), + (0x2F93F, 'M', u'䀈'), + (0x2F940, 'M', u'直'), + (0x2F941, 'M', u'𥃳'), + (0x2F942, 'M', u'𥃲'), + (0x2F943, 'M', u'𥄙'), + (0x2F944, 'M', u'𥄳'), + (0x2F945, 'M', u'眞'), + (0x2F946, 'M', u'真'), + (0x2F948, 'M', u'睊'), + (0x2F949, 'M', u'䀹'), + (0x2F94A, 'M', u'瞋'), + (0x2F94B, 'M', u'䁆'), + (0x2F94C, 'M', u'䂖'), + (0x2F94D, 'M', u'𥐝'), + (0x2F94E, 'M', u'硎'), + (0x2F94F, 'M', u'碌'), + (0x2F950, 'M', u'磌'), + (0x2F951, 'M', u'䃣'), + (0x2F952, 'M', u'𥘦'), + (0x2F953, 'M', u'祖'), + (0x2F954, 'M', u'𥚚'), + (0x2F955, 'M', u'𥛅'), + ] + +def _seg_76(): + return [ + (0x2F956, 'M', u'福'), + (0x2F957, 'M', u'秫'), + (0x2F958, 'M', u'䄯'), + (0x2F959, 'M', u'穀'), + (0x2F95A, 'M', u'穊'), + (0x2F95B, 'M', u'穏'), + (0x2F95C, 'M', u'𥥼'), + (0x2F95D, 'M', u'𥪧'), + (0x2F95F, 'X'), + (0x2F960, 'M', u'䈂'), + (0x2F961, 'M', u'𥮫'), + (0x2F962, 'M', u'篆'), + (0x2F963, 'M', u'築'), + (0x2F964, 'M', u'䈧'), + (0x2F965, 'M', u'𥲀'), + (0x2F966, 'M', u'糒'), + (0x2F967, 'M', u'䊠'), + (0x2F968, 'M', u'糨'), + (0x2F969, 'M', u'糣'), + (0x2F96A, 'M', u'紀'), + (0x2F96B, 'M', u'𥾆'), + (0x2F96C, 'M', u'絣'), + (0x2F96D, 'M', u'䌁'), + (0x2F96E, 'M', u'緇'), + (0x2F96F, 'M', u'縂'), + (0x2F970, 'M', u'繅'), + (0x2F971, 'M', u'䌴'), + (0x2F972, 'M', u'𦈨'), + (0x2F973, 'M', u'𦉇'), + (0x2F974, 'M', u'䍙'), + (0x2F975, 'M', u'𦋙'), + (0x2F976, 'M', u'罺'), + (0x2F977, 'M', u'𦌾'), + (0x2F978, 'M', u'羕'), + (0x2F979, 'M', u'翺'), + (0x2F97A, 'M', u'者'), + (0x2F97B, 'M', u'𦓚'), + (0x2F97C, 'M', u'𦔣'), + (0x2F97D, 'M', u'聠'), + (0x2F97E, 'M', u'𦖨'), + (0x2F97F, 'M', u'聰'), + (0x2F980, 'M', u'𣍟'), + (0x2F981, 'M', u'䏕'), + (0x2F982, 'M', u'育'), + (0x2F983, 'M', u'脃'), + (0x2F984, 'M', u'䐋'), + (0x2F985, 'M', u'脾'), + (0x2F986, 'M', u'媵'), + (0x2F987, 'M', u'𦞧'), + (0x2F988, 'M', u'𦞵'), + (0x2F989, 'M', u'𣎓'), + (0x2F98A, 'M', u'𣎜'), + (0x2F98B, 'M', u'舁'), + (0x2F98C, 'M', u'舄'), + (0x2F98D, 'M', u'辞'), + (0x2F98E, 'M', u'䑫'), + (0x2F98F, 'M', u'芑'), + (0x2F990, 'M', u'芋'), + (0x2F991, 'M', u'芝'), + (0x2F992, 'M', u'劳'), + (0x2F993, 'M', u'花'), + (0x2F994, 'M', u'芳'), + (0x2F995, 'M', u'芽'), + (0x2F996, 'M', u'苦'), + (0x2F997, 'M', u'𦬼'), + (0x2F998, 'M', u'若'), + (0x2F999, 'M', u'茝'), + (0x2F99A, 'M', u'荣'), + (0x2F99B, 'M', u'莭'), + (0x2F99C, 'M', u'茣'), + (0x2F99D, 'M', u'莽'), + (0x2F99E, 'M', u'菧'), + (0x2F99F, 'M', u'著'), + (0x2F9A0, 'M', u'荓'), + (0x2F9A1, 'M', u'菊'), + (0x2F9A2, 'M', u'菌'), + (0x2F9A3, 'M', u'菜'), + (0x2F9A4, 'M', u'𦰶'), + (0x2F9A5, 'M', u'𦵫'), + (0x2F9A6, 'M', u'𦳕'), + (0x2F9A7, 'M', u'䔫'), + (0x2F9A8, 'M', u'蓱'), + (0x2F9A9, 'M', u'蓳'), + (0x2F9AA, 'M', u'蔖'), + (0x2F9AB, 'M', u'𧏊'), + (0x2F9AC, 'M', u'蕤'), + (0x2F9AD, 'M', u'𦼬'), + (0x2F9AE, 'M', u'䕝'), + (0x2F9AF, 'M', u'䕡'), + (0x2F9B0, 'M', u'𦾱'), + (0x2F9B1, 'M', u'𧃒'), + (0x2F9B2, 'M', u'䕫'), + (0x2F9B3, 'M', u'虐'), + (0x2F9B4, 'M', u'虜'), + (0x2F9B5, 'M', u'虧'), + (0x2F9B6, 'M', u'虩'), + (0x2F9B7, 'M', u'蚩'), + (0x2F9B8, 'M', u'蚈'), + (0x2F9B9, 'M', u'蜎'), + (0x2F9BA, 'M', u'蛢'), + ] + +def _seg_77(): + return [ + (0x2F9BB, 'M', u'蝹'), + (0x2F9BC, 'M', u'蜨'), + (0x2F9BD, 'M', u'蝫'), + (0x2F9BE, 'M', u'螆'), + (0x2F9BF, 'X'), + (0x2F9C0, 'M', u'蟡'), + (0x2F9C1, 'M', u'蠁'), + (0x2F9C2, 'M', u'䗹'), + (0x2F9C3, 'M', u'衠'), + (0x2F9C4, 'M', u'衣'), + (0x2F9C5, 'M', u'𧙧'), + (0x2F9C6, 'M', u'裗'), + (0x2F9C7, 'M', u'裞'), + (0x2F9C8, 'M', u'䘵'), + (0x2F9C9, 'M', u'裺'), + (0x2F9CA, 'M', u'㒻'), + (0x2F9CB, 'M', u'𧢮'), + (0x2F9CC, 'M', u'𧥦'), + (0x2F9CD, 'M', u'䚾'), + (0x2F9CE, 'M', u'䛇'), + (0x2F9CF, 'M', u'誠'), + (0x2F9D0, 'M', u'諭'), + (0x2F9D1, 'M', u'變'), + (0x2F9D2, 'M', u'豕'), + (0x2F9D3, 'M', u'𧲨'), + (0x2F9D4, 'M', u'貫'), + (0x2F9D5, 'M', u'賁'), + (0x2F9D6, 'M', u'贛'), + (0x2F9D7, 'M', u'起'), + (0x2F9D8, 'M', u'𧼯'), + (0x2F9D9, 'M', u'𠠄'), + (0x2F9DA, 'M', u'跋'), + (0x2F9DB, 'M', u'趼'), + (0x2F9DC, 'M', u'跰'), + (0x2F9DD, 'M', u'𠣞'), + (0x2F9DE, 'M', u'軔'), + (0x2F9DF, 'M', u'輸'), + (0x2F9E0, 'M', u'𨗒'), + (0x2F9E1, 'M', u'𨗭'), + (0x2F9E2, 'M', u'邔'), + (0x2F9E3, 'M', u'郱'), + (0x2F9E4, 'M', u'鄑'), + (0x2F9E5, 'M', u'𨜮'), + (0x2F9E6, 'M', u'鄛'), + (0x2F9E7, 'M', u'鈸'), + (0x2F9E8, 'M', u'鋗'), + (0x2F9E9, 'M', u'鋘'), + (0x2F9EA, 'M', u'鉼'), + (0x2F9EB, 'M', u'鏹'), + (0x2F9EC, 'M', u'鐕'), + (0x2F9ED, 'M', u'𨯺'), + (0x2F9EE, 'M', u'開'), + (0x2F9EF, 'M', u'䦕'), + (0x2F9F0, 'M', u'閷'), + (0x2F9F1, 'M', u'𨵷'), + (0x2F9F2, 'M', u'䧦'), + (0x2F9F3, 'M', u'雃'), + (0x2F9F4, 'M', u'嶲'), + (0x2F9F5, 'M', u'霣'), + (0x2F9F6, 'M', u'𩅅'), + (0x2F9F7, 'M', u'𩈚'), + (0x2F9F8, 'M', u'䩮'), + (0x2F9F9, 'M', u'䩶'), + (0x2F9FA, 'M', u'韠'), + (0x2F9FB, 'M', u'𩐊'), + (0x2F9FC, 'M', u'䪲'), + (0x2F9FD, 'M', u'𩒖'), + (0x2F9FE, 'M', u'頋'), + (0x2FA00, 'M', u'頩'), + (0x2FA01, 'M', u'𩖶'), + (0x2FA02, 'M', u'飢'), + (0x2FA03, 'M', u'䬳'), + (0x2FA04, 'M', u'餩'), + (0x2FA05, 'M', u'馧'), + (0x2FA06, 'M', u'駂'), + (0x2FA07, 'M', u'駾'), + (0x2FA08, 'M', u'䯎'), + (0x2FA09, 'M', u'𩬰'), + (0x2FA0A, 'M', u'鬒'), + (0x2FA0B, 'M', u'鱀'), + (0x2FA0C, 'M', u'鳽'), + (0x2FA0D, 'M', u'䳎'), + (0x2FA0E, 'M', u'䳭'), + (0x2FA0F, 'M', u'鵧'), + (0x2FA10, 'M', u'𪃎'), + (0x2FA11, 'M', u'䳸'), + (0x2FA12, 'M', u'𪄅'), + (0x2FA13, 'M', u'𪈎'), + (0x2FA14, 'M', u'𪊑'), + (0x2FA15, 'M', u'麻'), + (0x2FA16, 'M', u'䵖'), + (0x2FA17, 'M', u'黹'), + (0x2FA18, 'M', u'黾'), + (0x2FA19, 'M', u'鼅'), + (0x2FA1A, 'M', u'鼏'), + (0x2FA1B, 'M', u'鼖'), + (0x2FA1C, 'M', u'鼻'), + (0x2FA1D, 'M', u'𪘀'), + (0x2FA1E, 'X'), + (0xE0100, 'I'), + ] + +def _seg_78(): + return [ + (0xE01F0, 'X'), + ] + +uts46data = tuple( + _seg_0() + + _seg_1() + + _seg_2() + + _seg_3() + + _seg_4() + + _seg_5() + + _seg_6() + + _seg_7() + + _seg_8() + + _seg_9() + + _seg_10() + + _seg_11() + + _seg_12() + + _seg_13() + + _seg_14() + + _seg_15() + + _seg_16() + + _seg_17() + + _seg_18() + + _seg_19() + + _seg_20() + + _seg_21() + + _seg_22() + + _seg_23() + + _seg_24() + + _seg_25() + + _seg_26() + + _seg_27() + + _seg_28() + + _seg_29() + + _seg_30() + + _seg_31() + + _seg_32() + + _seg_33() + + _seg_34() + + _seg_35() + + _seg_36() + + _seg_37() + + _seg_38() + + _seg_39() + + _seg_40() + + _seg_41() + + _seg_42() + + _seg_43() + + _seg_44() + + _seg_45() + + _seg_46() + + _seg_47() + + _seg_48() + + _seg_49() + + _seg_50() + + _seg_51() + + _seg_52() + + _seg_53() + + _seg_54() + + _seg_55() + + _seg_56() + + _seg_57() + + _seg_58() + + _seg_59() + + _seg_60() + + _seg_61() + + _seg_62() + + _seg_63() + + _seg_64() + + _seg_65() + + _seg_66() + + _seg_67() + + _seg_68() + + _seg_69() + + _seg_70() + + _seg_71() + + _seg_72() + + _seg_73() + + _seg_74() + + _seg_75() + + _seg_76() + + _seg_77() + + _seg_78() +) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/ipaddress.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/ipaddress.py new file mode 100644 index 0000000000..f2d0766842 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/ipaddress.py @@ -0,0 +1,2419 @@ +# Copyright 2007 Google Inc. +# Licensed to PSF under a Contributor Agreement. + +"""A fast, lightweight IPv4/IPv6 manipulation library in Python. + +This library is used to create/poke/manipulate IPv4 and IPv6 addresses +and networks. + +""" + +from __future__ import unicode_literals + + +import itertools +import struct + +__version__ = '1.0.22' + +# Compatibility functions +_compat_int_types = (int,) +try: + _compat_int_types = (int, long) +except NameError: + pass +try: + _compat_str = unicode +except NameError: + _compat_str = str + assert bytes != str +if b'\0'[0] == 0: # Python 3 semantics + def _compat_bytes_to_byte_vals(byt): + return byt +else: + def _compat_bytes_to_byte_vals(byt): + return [struct.unpack(b'!B', b)[0] for b in byt] +try: + _compat_int_from_byte_vals = int.from_bytes +except AttributeError: + def _compat_int_from_byte_vals(bytvals, endianess): + assert endianess == 'big' + res = 0 + for bv in bytvals: + assert isinstance(bv, _compat_int_types) + res = (res << 8) + bv + return res + + +def _compat_to_bytes(intval, length, endianess): + assert isinstance(intval, _compat_int_types) + assert endianess == 'big' + if length == 4: + if intval < 0 or intval >= 2 ** 32: + raise struct.error("integer out of range for 'I' format code") + return struct.pack(b'!I', intval) + elif length == 16: + if intval < 0 or intval >= 2 ** 128: + raise struct.error("integer out of range for 'QQ' format code") + return struct.pack(b'!QQ', intval >> 64, intval & 0xffffffffffffffff) + else: + raise NotImplementedError() + + +if hasattr(int, 'bit_length'): + # Not int.bit_length , since that won't work in 2.7 where long exists + def _compat_bit_length(i): + return i.bit_length() +else: + def _compat_bit_length(i): + for res in itertools.count(): + if i >> res == 0: + return res + + +def _compat_range(start, end, step=1): + assert step > 0 + i = start + while i < end: + yield i + i += step + + +class _TotalOrderingMixin(object): + __slots__ = () + + # Helper that derives the other comparison operations from + # __lt__ and __eq__ + # We avoid functools.total_ordering because it doesn't handle + # NotImplemented correctly yet (http://bugs.python.org/issue10042) + def __eq__(self, other): + raise NotImplementedError + + def __ne__(self, other): + equal = self.__eq__(other) + if equal is NotImplemented: + return NotImplemented + return not equal + + def __lt__(self, other): + raise NotImplementedError + + def __le__(self, other): + less = self.__lt__(other) + if less is NotImplemented or not less: + return self.__eq__(other) + return less + + def __gt__(self, other): + less = self.__lt__(other) + if less is NotImplemented: + return NotImplemented + equal = self.__eq__(other) + if equal is NotImplemented: + return NotImplemented + return not (less or equal) + + def __ge__(self, other): + less = self.__lt__(other) + if less is NotImplemented: + return NotImplemented + return not less + + +IPV4LENGTH = 32 +IPV6LENGTH = 128 + + +class AddressValueError(ValueError): + """A Value Error related to the address.""" + + +class NetmaskValueError(ValueError): + """A Value Error related to the netmask.""" + + +def ip_address(address): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP address. Either IPv4 or + IPv6 addresses may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Address or IPv6Address object. + + Raises: + ValueError: if the *address* passed isn't either a v4 or a v6 + address + + """ + try: + return IPv4Address(address) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Address(address) + except (AddressValueError, NetmaskValueError): + pass + + if isinstance(address, bytes): + raise AddressValueError( + '%r does not appear to be an IPv4 or IPv6 address. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?' % address) + + raise ValueError('%r does not appear to be an IPv4 or IPv6 address' % + address) + + +def ip_network(address, strict=True): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP network. Either IPv4 or + IPv6 networks may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Network or IPv6Network object. + + Raises: + ValueError: if the string passed isn't either a v4 or a v6 + address. Or if the network has host bits set. + + """ + try: + return IPv4Network(address, strict) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Network(address, strict) + except (AddressValueError, NetmaskValueError): + pass + + if isinstance(address, bytes): + raise AddressValueError( + '%r does not appear to be an IPv4 or IPv6 network. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?' % address) + + raise ValueError('%r does not appear to be an IPv4 or IPv6 network' % + address) + + +def ip_interface(address): + """Take an IP string/int and return an object of the correct type. + + Args: + address: A string or integer, the IP address. Either IPv4 or + IPv6 addresses may be supplied; integers less than 2**32 will + be considered to be IPv4 by default. + + Returns: + An IPv4Interface or IPv6Interface object. + + Raises: + ValueError: if the string passed isn't either a v4 or a v6 + address. + + Notes: + The IPv?Interface classes describe an Address on a particular + Network, so they're basically a combination of both the Address + and Network classes. + + """ + try: + return IPv4Interface(address) + except (AddressValueError, NetmaskValueError): + pass + + try: + return IPv6Interface(address) + except (AddressValueError, NetmaskValueError): + pass + + raise ValueError('%r does not appear to be an IPv4 or IPv6 interface' % + address) + + +def v4_int_to_packed(address): + """Represent an address as 4 packed bytes in network (big-endian) order. + + Args: + address: An integer representation of an IPv4 IP address. + + Returns: + The integer address packed as 4 bytes in network (big-endian) order. + + Raises: + ValueError: If the integer is negative or too large to be an + IPv4 IP address. + + """ + try: + return _compat_to_bytes(address, 4, 'big') + except (struct.error, OverflowError): + raise ValueError("Address negative or too large for IPv4") + + +def v6_int_to_packed(address): + """Represent an address as 16 packed bytes in network (big-endian) order. + + Args: + address: An integer representation of an IPv6 IP address. + + Returns: + The integer address packed as 16 bytes in network (big-endian) order. + + """ + try: + return _compat_to_bytes(address, 16, 'big') + except (struct.error, OverflowError): + raise ValueError("Address negative or too large for IPv6") + + +def _split_optional_netmask(address): + """Helper to split the netmask and raise AddressValueError if needed""" + addr = _compat_str(address).split('/') + if len(addr) > 2: + raise AddressValueError("Only one '/' permitted in %r" % address) + return addr + + +def _find_address_range(addresses): + """Find a sequence of sorted deduplicated IPv#Address. + + Args: + addresses: a list of IPv#Address objects. + + Yields: + A tuple containing the first and last IP addresses in the sequence. + + """ + it = iter(addresses) + first = last = next(it) + for ip in it: + if ip._ip != last._ip + 1: + yield first, last + first = ip + last = ip + yield first, last + + +def _count_righthand_zero_bits(number, bits): + """Count the number of zero bits on the right hand side. + + Args: + number: an integer. + bits: maximum number of bits to count. + + Returns: + The number of zero bits on the right hand side of the number. + + """ + if number == 0: + return bits + return min(bits, _compat_bit_length(~number & (number - 1))) + + +def summarize_address_range(first, last): + """Summarize a network range given the first and last IP addresses. + + Example: + >>> list(summarize_address_range(IPv4Address('192.0.2.0'), + ... IPv4Address('192.0.2.130'))) + ... #doctest: +NORMALIZE_WHITESPACE + [IPv4Network('192.0.2.0/25'), IPv4Network('192.0.2.128/31'), + IPv4Network('192.0.2.130/32')] + + Args: + first: the first IPv4Address or IPv6Address in the range. + last: the last IPv4Address or IPv6Address in the range. + + Returns: + An iterator of the summarized IPv(4|6) network objects. + + Raise: + TypeError: + If the first and last objects are not IP addresses. + If the first and last objects are not the same version. + ValueError: + If the last object is not greater than the first. + If the version of the first address is not 4 or 6. + + """ + if (not (isinstance(first, _BaseAddress) and + isinstance(last, _BaseAddress))): + raise TypeError('first and last must be IP addresses, not networks') + if first.version != last.version: + raise TypeError("%s and %s are not of the same version" % ( + first, last)) + if first > last: + raise ValueError('last IP address must be greater than first') + + if first.version == 4: + ip = IPv4Network + elif first.version == 6: + ip = IPv6Network + else: + raise ValueError('unknown IP version') + + ip_bits = first._max_prefixlen + first_int = first._ip + last_int = last._ip + while first_int <= last_int: + nbits = min(_count_righthand_zero_bits(first_int, ip_bits), + _compat_bit_length(last_int - first_int + 1) - 1) + net = ip((first_int, ip_bits - nbits)) + yield net + first_int += 1 << nbits + if first_int - 1 == ip._ALL_ONES: + break + + +def _collapse_addresses_internal(addresses): + """Loops through the addresses, collapsing concurrent netblocks. + + Example: + + ip1 = IPv4Network('192.0.2.0/26') + ip2 = IPv4Network('192.0.2.64/26') + ip3 = IPv4Network('192.0.2.128/26') + ip4 = IPv4Network('192.0.2.192/26') + + _collapse_addresses_internal([ip1, ip2, ip3, ip4]) -> + [IPv4Network('192.0.2.0/24')] + + This shouldn't be called directly; it is called via + collapse_addresses([]). + + Args: + addresses: A list of IPv4Network's or IPv6Network's + + Returns: + A list of IPv4Network's or IPv6Network's depending on what we were + passed. + + """ + # First merge + to_merge = list(addresses) + subnets = {} + while to_merge: + net = to_merge.pop() + supernet = net.supernet() + existing = subnets.get(supernet) + if existing is None: + subnets[supernet] = net + elif existing != net: + # Merge consecutive subnets + del subnets[supernet] + to_merge.append(supernet) + # Then iterate over resulting networks, skipping subsumed subnets + last = None + for net in sorted(subnets.values()): + if last is not None: + # Since they are sorted, + # last.network_address <= net.network_address is a given. + if last.broadcast_address >= net.broadcast_address: + continue + yield net + last = net + + +def collapse_addresses(addresses): + """Collapse a list of IP objects. + + Example: + collapse_addresses([IPv4Network('192.0.2.0/25'), + IPv4Network('192.0.2.128/25')]) -> + [IPv4Network('192.0.2.0/24')] + + Args: + addresses: An iterator of IPv4Network or IPv6Network objects. + + Returns: + An iterator of the collapsed IPv(4|6)Network objects. + + Raises: + TypeError: If passed a list of mixed version objects. + + """ + addrs = [] + ips = [] + nets = [] + + # split IP addresses and networks + for ip in addresses: + if isinstance(ip, _BaseAddress): + if ips and ips[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, ips[-1])) + ips.append(ip) + elif ip._prefixlen == ip._max_prefixlen: + if ips and ips[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, ips[-1])) + try: + ips.append(ip.ip) + except AttributeError: + ips.append(ip.network_address) + else: + if nets and nets[-1]._version != ip._version: + raise TypeError("%s and %s are not of the same version" % ( + ip, nets[-1])) + nets.append(ip) + + # sort and dedup + ips = sorted(set(ips)) + + # find consecutive address ranges in the sorted sequence and summarize them + if ips: + for first, last in _find_address_range(ips): + addrs.extend(summarize_address_range(first, last)) + + return _collapse_addresses_internal(addrs + nets) + + +def get_mixed_type_key(obj): + """Return a key suitable for sorting between networks and addresses. + + Address and Network objects are not sortable by default; they're + fundamentally different so the expression + + IPv4Address('192.0.2.0') <= IPv4Network('192.0.2.0/24') + + doesn't make any sense. There are some times however, where you may wish + to have ipaddress sort these for you anyway. If you need to do this, you + can use this function as the key= argument to sorted(). + + Args: + obj: either a Network or Address object. + Returns: + appropriate key. + + """ + if isinstance(obj, _BaseNetwork): + return obj._get_networks_key() + elif isinstance(obj, _BaseAddress): + return obj._get_address_key() + return NotImplemented + + +class _IPAddressBase(_TotalOrderingMixin): + + """The mother class.""" + + __slots__ = () + + @property + def exploded(self): + """Return the longhand version of the IP address as a string.""" + return self._explode_shorthand_ip_string() + + @property + def compressed(self): + """Return the shorthand version of the IP address as a string.""" + return _compat_str(self) + + @property + def reverse_pointer(self): + """The name of the reverse DNS pointer for the IP address, e.g.: + >>> ipaddress.ip_address("127.0.0.1").reverse_pointer + '1.0.0.127.in-addr.arpa' + >>> ipaddress.ip_address("2001:db8::1").reverse_pointer + '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa' + + """ + return self._reverse_pointer() + + @property + def version(self): + msg = '%200s has no version specified' % (type(self),) + raise NotImplementedError(msg) + + def _check_int_address(self, address): + if address < 0: + msg = "%d (< 0) is not permitted as an IPv%d address" + raise AddressValueError(msg % (address, self._version)) + if address > self._ALL_ONES: + msg = "%d (>= 2**%d) is not permitted as an IPv%d address" + raise AddressValueError(msg % (address, self._max_prefixlen, + self._version)) + + def _check_packed_address(self, address, expected_len): + address_len = len(address) + if address_len != expected_len: + msg = ( + '%r (len %d != %d) is not permitted as an IPv%d address. ' + 'Did you pass in a bytes (str in Python 2) instead of' + ' a unicode object?') + raise AddressValueError(msg % (address, address_len, + expected_len, self._version)) + + @classmethod + def _ip_int_from_prefix(cls, prefixlen): + """Turn the prefix length into a bitwise netmask + + Args: + prefixlen: An integer, the prefix length. + + Returns: + An integer. + + """ + return cls._ALL_ONES ^ (cls._ALL_ONES >> prefixlen) + + @classmethod + def _prefix_from_ip_int(cls, ip_int): + """Return prefix length from the bitwise netmask. + + Args: + ip_int: An integer, the netmask in expanded bitwise format + + Returns: + An integer, the prefix length. + + Raises: + ValueError: If the input intermingles zeroes & ones + """ + trailing_zeroes = _count_righthand_zero_bits(ip_int, + cls._max_prefixlen) + prefixlen = cls._max_prefixlen - trailing_zeroes + leading_ones = ip_int >> trailing_zeroes + all_ones = (1 << prefixlen) - 1 + if leading_ones != all_ones: + byteslen = cls._max_prefixlen // 8 + details = _compat_to_bytes(ip_int, byteslen, 'big') + msg = 'Netmask pattern %r mixes zeroes & ones' + raise ValueError(msg % details) + return prefixlen + + @classmethod + def _report_invalid_netmask(cls, netmask_str): + msg = '%r is not a valid netmask' % netmask_str + raise NetmaskValueError(msg) + + @classmethod + def _prefix_from_prefix_string(cls, prefixlen_str): + """Return prefix length from a numeric string + + Args: + prefixlen_str: The string to be converted + + Returns: + An integer, the prefix length. + + Raises: + NetmaskValueError: If the input is not a valid netmask + """ + # int allows a leading +/- as well as surrounding whitespace, + # so we ensure that isn't the case + if not _BaseV4._DECIMAL_DIGITS.issuperset(prefixlen_str): + cls._report_invalid_netmask(prefixlen_str) + try: + prefixlen = int(prefixlen_str) + except ValueError: + cls._report_invalid_netmask(prefixlen_str) + if not (0 <= prefixlen <= cls._max_prefixlen): + cls._report_invalid_netmask(prefixlen_str) + return prefixlen + + @classmethod + def _prefix_from_ip_string(cls, ip_str): + """Turn a netmask/hostmask string into a prefix length + + Args: + ip_str: The netmask/hostmask to be converted + + Returns: + An integer, the prefix length. + + Raises: + NetmaskValueError: If the input is not a valid netmask/hostmask + """ + # Parse the netmask/hostmask like an IP address. + try: + ip_int = cls._ip_int_from_string(ip_str) + except AddressValueError: + cls._report_invalid_netmask(ip_str) + + # Try matching a netmask (this would be /1*0*/ as a bitwise regexp). + # Note that the two ambiguous cases (all-ones and all-zeroes) are + # treated as netmasks. + try: + return cls._prefix_from_ip_int(ip_int) + except ValueError: + pass + + # Invert the bits, and try matching a /0+1+/ hostmask instead. + ip_int ^= cls._ALL_ONES + try: + return cls._prefix_from_ip_int(ip_int) + except ValueError: + cls._report_invalid_netmask(ip_str) + + def __reduce__(self): + return self.__class__, (_compat_str(self),) + + +class _BaseAddress(_IPAddressBase): + + """A generic IP object. + + This IP class contains the version independent methods which are + used by single IP addresses. + """ + + __slots__ = () + + def __int__(self): + return self._ip + + def __eq__(self, other): + try: + return (self._ip == other._ip and + self._version == other._version) + except AttributeError: + return NotImplemented + + def __lt__(self, other): + if not isinstance(other, _IPAddressBase): + return NotImplemented + if not isinstance(other, _BaseAddress): + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + if self._version != other._version: + raise TypeError('%s and %s are not of the same version' % ( + self, other)) + if self._ip != other._ip: + return self._ip < other._ip + return False + + # Shorthand for Integer addition and subtraction. This is not + # meant to ever support addition/subtraction of addresses. + def __add__(self, other): + if not isinstance(other, _compat_int_types): + return NotImplemented + return self.__class__(int(self) + other) + + def __sub__(self, other): + if not isinstance(other, _compat_int_types): + return NotImplemented + return self.__class__(int(self) - other) + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, _compat_str(self)) + + def __str__(self): + return _compat_str(self._string_from_ip_int(self._ip)) + + def __hash__(self): + return hash(hex(int(self._ip))) + + def _get_address_key(self): + return (self._version, self) + + def __reduce__(self): + return self.__class__, (self._ip,) + + +class _BaseNetwork(_IPAddressBase): + + """A generic IP network object. + + This IP class contains the version independent methods which are + used by networks. + + """ + def __init__(self, address): + self._cache = {} + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, _compat_str(self)) + + def __str__(self): + return '%s/%d' % (self.network_address, self.prefixlen) + + def hosts(self): + """Generate Iterator over usable hosts in a network. + + This is like __iter__ except it doesn't return the network + or broadcast addresses. + + """ + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network + 1, broadcast): + yield self._address_class(x) + + def __iter__(self): + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network, broadcast + 1): + yield self._address_class(x) + + def __getitem__(self, n): + network = int(self.network_address) + broadcast = int(self.broadcast_address) + if n >= 0: + if network + n > broadcast: + raise IndexError('address out of range') + return self._address_class(network + n) + else: + n += 1 + if broadcast + n < network: + raise IndexError('address out of range') + return self._address_class(broadcast + n) + + def __lt__(self, other): + if not isinstance(other, _IPAddressBase): + return NotImplemented + if not isinstance(other, _BaseNetwork): + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + if self._version != other._version: + raise TypeError('%s and %s are not of the same version' % ( + self, other)) + if self.network_address != other.network_address: + return self.network_address < other.network_address + if self.netmask != other.netmask: + return self.netmask < other.netmask + return False + + def __eq__(self, other): + try: + return (self._version == other._version and + self.network_address == other.network_address and + int(self.netmask) == int(other.netmask)) + except AttributeError: + return NotImplemented + + def __hash__(self): + return hash(int(self.network_address) ^ int(self.netmask)) + + def __contains__(self, other): + # always false if one is v4 and the other is v6. + if self._version != other._version: + return False + # dealing with another network. + if isinstance(other, _BaseNetwork): + return False + # dealing with another address + else: + # address + return (int(self.network_address) <= int(other._ip) <= + int(self.broadcast_address)) + + def overlaps(self, other): + """Tell if self is partly contained in other.""" + return self.network_address in other or ( + self.broadcast_address in other or ( + other.network_address in self or ( + other.broadcast_address in self))) + + @property + def broadcast_address(self): + x = self._cache.get('broadcast_address') + if x is None: + x = self._address_class(int(self.network_address) | + int(self.hostmask)) + self._cache['broadcast_address'] = x + return x + + @property + def hostmask(self): + x = self._cache.get('hostmask') + if x is None: + x = self._address_class(int(self.netmask) ^ self._ALL_ONES) + self._cache['hostmask'] = x + return x + + @property + def with_prefixlen(self): + return '%s/%d' % (self.network_address, self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self.network_address, self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self.network_address, self.hostmask) + + @property + def num_addresses(self): + """Number of hosts in the current subnet.""" + return int(self.broadcast_address) - int(self.network_address) + 1 + + @property + def _address_class(self): + # Returning bare address objects (rather than interfaces) allows for + # more consistent behaviour across the network address, broadcast + # address and individual host addresses. + msg = '%200s has no associated address class' % (type(self),) + raise NotImplementedError(msg) + + @property + def prefixlen(self): + return self._prefixlen + + def address_exclude(self, other): + """Remove an address from a larger block. + + For example: + + addr1 = ip_network('192.0.2.0/28') + addr2 = ip_network('192.0.2.1/32') + list(addr1.address_exclude(addr2)) = + [IPv4Network('192.0.2.0/32'), IPv4Network('192.0.2.2/31'), + IPv4Network('192.0.2.4/30'), IPv4Network('192.0.2.8/29')] + + or IPv6: + + addr1 = ip_network('2001:db8::1/32') + addr2 = ip_network('2001:db8::1/128') + list(addr1.address_exclude(addr2)) = + [ip_network('2001:db8::1/128'), + ip_network('2001:db8::2/127'), + ip_network('2001:db8::4/126'), + ip_network('2001:db8::8/125'), + ... + ip_network('2001:db8:8000::/33')] + + Args: + other: An IPv4Network or IPv6Network object of the same type. + + Returns: + An iterator of the IPv(4|6)Network objects which is self + minus other. + + Raises: + TypeError: If self and other are of differing address + versions, or if other is not a network object. + ValueError: If other is not completely contained by self. + + """ + if not self._version == other._version: + raise TypeError("%s and %s are not of the same version" % ( + self, other)) + + if not isinstance(other, _BaseNetwork): + raise TypeError("%s is not a network object" % other) + + if not other.subnet_of(self): + raise ValueError('%s not contained in %s' % (other, self)) + if other == self: + return + + # Make sure we're comparing the network of other. + other = other.__class__('%s/%s' % (other.network_address, + other.prefixlen)) + + s1, s2 = self.subnets() + while s1 != other and s2 != other: + if other.subnet_of(s1): + yield s2 + s1, s2 = s1.subnets() + elif other.subnet_of(s2): + yield s1 + s1, s2 = s2.subnets() + else: + # If we got here, there's a bug somewhere. + raise AssertionError('Error performing exclusion: ' + 's1: %s s2: %s other: %s' % + (s1, s2, other)) + if s1 == other: + yield s2 + elif s2 == other: + yield s1 + else: + # If we got here, there's a bug somewhere. + raise AssertionError('Error performing exclusion: ' + 's1: %s s2: %s other: %s' % + (s1, s2, other)) + + def compare_networks(self, other): + """Compare two IP objects. + + This is only concerned about the comparison of the integer + representation of the network addresses. This means that the + host bits aren't considered at all in this method. If you want + to compare host bits, you can easily enough do a + 'HostA._ip < HostB._ip' + + Args: + other: An IP object. + + Returns: + If the IP versions of self and other are the same, returns: + + -1 if self < other: + eg: IPv4Network('192.0.2.0/25') < IPv4Network('192.0.2.128/25') + IPv6Network('2001:db8::1000/124') < + IPv6Network('2001:db8::2000/124') + 0 if self == other + eg: IPv4Network('192.0.2.0/24') == IPv4Network('192.0.2.0/24') + IPv6Network('2001:db8::1000/124') == + IPv6Network('2001:db8::1000/124') + 1 if self > other + eg: IPv4Network('192.0.2.128/25') > IPv4Network('192.0.2.0/25') + IPv6Network('2001:db8::2000/124') > + IPv6Network('2001:db8::1000/124') + + Raises: + TypeError if the IP versions are different. + + """ + # does this need to raise a ValueError? + if self._version != other._version: + raise TypeError('%s and %s are not of the same type' % ( + self, other)) + # self._version == other._version below here: + if self.network_address < other.network_address: + return -1 + if self.network_address > other.network_address: + return 1 + # self.network_address == other.network_address below here: + if self.netmask < other.netmask: + return -1 + if self.netmask > other.netmask: + return 1 + return 0 + + def _get_networks_key(self): + """Network-only key function. + + Returns an object that identifies this address' network and + netmask. This function is a suitable "key" argument for sorted() + and list.sort(). + + """ + return (self._version, self.network_address, self.netmask) + + def subnets(self, prefixlen_diff=1, new_prefix=None): + """The subnets which join to make the current subnet. + + In the case that self contains only one IP + (self._prefixlen == 32 for IPv4 or self._prefixlen == 128 + for IPv6), yield an iterator with just ourself. + + Args: + prefixlen_diff: An integer, the amount the prefix length + should be increased by. This should not be set if + new_prefix is also set. + new_prefix: The desired new prefix length. This must be a + larger number (smaller prefix) than the existing prefix. + This should not be set if prefixlen_diff is also set. + + Returns: + An iterator of IPv(4|6) objects. + + Raises: + ValueError: The prefixlen_diff is too small or too large. + OR + prefixlen_diff and new_prefix are both set or new_prefix + is a smaller number than the current prefix (smaller + number means a larger network) + + """ + if self._prefixlen == self._max_prefixlen: + yield self + return + + if new_prefix is not None: + if new_prefix < self._prefixlen: + raise ValueError('new prefix must be longer') + if prefixlen_diff != 1: + raise ValueError('cannot set prefixlen_diff and new_prefix') + prefixlen_diff = new_prefix - self._prefixlen + + if prefixlen_diff < 0: + raise ValueError('prefix length diff must be > 0') + new_prefixlen = self._prefixlen + prefixlen_diff + + if new_prefixlen > self._max_prefixlen: + raise ValueError( + 'prefix length diff %d is invalid for netblock %s' % ( + new_prefixlen, self)) + + start = int(self.network_address) + end = int(self.broadcast_address) + 1 + step = (int(self.hostmask) + 1) >> prefixlen_diff + for new_addr in _compat_range(start, end, step): + current = self.__class__((new_addr, new_prefixlen)) + yield current + + def supernet(self, prefixlen_diff=1, new_prefix=None): + """The supernet containing the current network. + + Args: + prefixlen_diff: An integer, the amount the prefix length of + the network should be decreased by. For example, given a + /24 network and a prefixlen_diff of 3, a supernet with a + /21 netmask is returned. + + Returns: + An IPv4 network object. + + Raises: + ValueError: If self.prefixlen - prefixlen_diff < 0. I.e., you have + a negative prefix length. + OR + If prefixlen_diff and new_prefix are both set or new_prefix is a + larger number than the current prefix (larger number means a + smaller network) + + """ + if self._prefixlen == 0: + return self + + if new_prefix is not None: + if new_prefix > self._prefixlen: + raise ValueError('new prefix must be shorter') + if prefixlen_diff != 1: + raise ValueError('cannot set prefixlen_diff and new_prefix') + prefixlen_diff = self._prefixlen - new_prefix + + new_prefixlen = self.prefixlen - prefixlen_diff + if new_prefixlen < 0: + raise ValueError( + 'current prefixlen is %d, cannot have a prefixlen_diff of %d' % + (self.prefixlen, prefixlen_diff)) + return self.__class__(( + int(self.network_address) & (int(self.netmask) << prefixlen_diff), + new_prefixlen)) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is a multicast address. + See RFC 2373 2.7 for details. + + """ + return (self.network_address.is_multicast and + self.broadcast_address.is_multicast) + + @staticmethod + def _is_subnet_of(a, b): + try: + # Always false if one is v4 and the other is v6. + if a._version != b._version: + raise TypeError("%s and %s are not of the same version" (a, b)) + return (b.network_address <= a.network_address and + b.broadcast_address >= a.broadcast_address) + except AttributeError: + raise TypeError("Unable to test subnet containment " + "between %s and %s" % (a, b)) + + def subnet_of(self, other): + """Return True if this network is a subnet of other.""" + return self._is_subnet_of(self, other) + + def supernet_of(self, other): + """Return True if this network is a supernet of other.""" + return self._is_subnet_of(other, self) + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within one of the + reserved IPv6 Network ranges. + + """ + return (self.network_address.is_reserved and + self.broadcast_address.is_reserved) + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is reserved per RFC 4291. + + """ + return (self.network_address.is_link_local and + self.broadcast_address.is_link_local) + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv4-special-registry or iana-ipv6-special-registry. + + """ + return (self.network_address.is_private and + self.broadcast_address.is_private) + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, True if the address is not reserved per + iana-ipv4-special-registry or iana-ipv6-special-registry. + + """ + return not self.is_private + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 2373 2.5.2. + + """ + return (self.network_address.is_unspecified and + self.broadcast_address.is_unspecified) + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback address as defined in + RFC 2373 2.5.3. + + """ + return (self.network_address.is_loopback and + self.broadcast_address.is_loopback) + + +class _BaseV4(object): + + """Base IPv4 object. + + The following methods are used by IPv4 objects in both single IP + addresses and networks. + + """ + + __slots__ = () + _version = 4 + # Equivalent to 255.255.255.255 or 32 bits of 1's. + _ALL_ONES = (2 ** IPV4LENGTH) - 1 + _DECIMAL_DIGITS = frozenset('0123456789') + + # the valid octets for host and netmasks. only useful for IPv4. + _valid_mask_octets = frozenset([255, 254, 252, 248, 240, 224, 192, 128, 0]) + + _max_prefixlen = IPV4LENGTH + # There are only a handful of valid v4 netmasks, so we cache them all + # when constructed (see _make_netmask()). + _netmask_cache = {} + + def _explode_shorthand_ip_string(self): + return _compat_str(self) + + @classmethod + def _make_netmask(cls, arg): + """Make a (netmask, prefix_len) tuple from the given argument. + + Argument can be: + - an integer (the prefix length) + - a string representing the prefix length (e.g. "24") + - a string representing the prefix netmask (e.g. "255.255.255.0") + """ + if arg not in cls._netmask_cache: + if isinstance(arg, _compat_int_types): + prefixlen = arg + else: + try: + # Check for a netmask in prefix length form + prefixlen = cls._prefix_from_prefix_string(arg) + except NetmaskValueError: + # Check for a netmask or hostmask in dotted-quad form. + # This may raise NetmaskValueError. + prefixlen = cls._prefix_from_ip_string(arg) + netmask = IPv4Address(cls._ip_int_from_prefix(prefixlen)) + cls._netmask_cache[arg] = netmask, prefixlen + return cls._netmask_cache[arg] + + @classmethod + def _ip_int_from_string(cls, ip_str): + """Turn the given IP string into an integer for comparison. + + Args: + ip_str: A string, the IP ip_str. + + Returns: + The IP ip_str as an integer. + + Raises: + AddressValueError: if ip_str isn't a valid IPv4 Address. + + """ + if not ip_str: + raise AddressValueError('Address cannot be empty') + + octets = ip_str.split('.') + if len(octets) != 4: + raise AddressValueError("Expected 4 octets in %r" % ip_str) + + try: + return _compat_int_from_byte_vals( + map(cls._parse_octet, octets), 'big') + except ValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + + @classmethod + def _parse_octet(cls, octet_str): + """Convert a decimal octet into an integer. + + Args: + octet_str: A string, the number to parse. + + Returns: + The octet as an integer. + + Raises: + ValueError: if the octet isn't strictly a decimal from [0..255]. + + """ + if not octet_str: + raise ValueError("Empty octet not permitted") + # Whitelist the characters, since int() allows a lot of bizarre stuff. + if not cls._DECIMAL_DIGITS.issuperset(octet_str): + msg = "Only decimal digits permitted in %r" + raise ValueError(msg % octet_str) + # We do the length check second, since the invalid character error + # is likely to be more informative for the user + if len(octet_str) > 3: + msg = "At most 3 characters permitted in %r" + raise ValueError(msg % octet_str) + # Convert to integer (we know digits are legal) + octet_int = int(octet_str, 10) + # Any octets that look like they *might* be written in octal, + # and which don't look exactly the same in both octal and + # decimal are rejected as ambiguous + if octet_int > 7 and octet_str[0] == '0': + msg = "Ambiguous (octal/decimal) value in %r not permitted" + raise ValueError(msg % octet_str) + if octet_int > 255: + raise ValueError("Octet %d (> 255) not permitted" % octet_int) + return octet_int + + @classmethod + def _string_from_ip_int(cls, ip_int): + """Turns a 32-bit integer into dotted decimal notation. + + Args: + ip_int: An integer, the IP address. + + Returns: + The IP address as a string in dotted decimal notation. + + """ + return '.'.join(_compat_str(struct.unpack(b'!B', b)[0] + if isinstance(b, bytes) + else b) + for b in _compat_to_bytes(ip_int, 4, 'big')) + + def _is_hostmask(self, ip_str): + """Test if the IP string is a hostmask (rather than a netmask). + + Args: + ip_str: A string, the potential hostmask. + + Returns: + A boolean, True if the IP string is a hostmask. + + """ + bits = ip_str.split('.') + try: + parts = [x for x in map(int, bits) if x in self._valid_mask_octets] + except ValueError: + return False + if len(parts) != len(bits): + return False + if parts[0] < parts[-1]: + return True + return False + + def _reverse_pointer(self): + """Return the reverse DNS pointer name for the IPv4 address. + + This implements the method described in RFC1035 3.5. + + """ + reverse_octets = _compat_str(self).split('.')[::-1] + return '.'.join(reverse_octets) + '.in-addr.arpa' + + @property + def max_prefixlen(self): + return self._max_prefixlen + + @property + def version(self): + return self._version + + +class IPv4Address(_BaseV4, _BaseAddress): + + """Represent and manipulate single IPv4 Addresses.""" + + __slots__ = ('_ip', '__weakref__') + + def __init__(self, address): + + """ + Args: + address: A string or integer representing the IP + + Additionally, an integer can be passed, so + IPv4Address('192.0.2.1') == IPv4Address(3221225985). + or, more generally + IPv4Address(int(IPv4Address('192.0.2.1'))) == + IPv4Address('192.0.2.1') + + Raises: + AddressValueError: If ipaddress isn't a valid IPv4 address. + + """ + # Efficient constructor from integer. + if isinstance(address, _compat_int_types): + self._check_int_address(address) + self._ip = address + return + + # Constructing from a packed address + if isinstance(address, bytes): + self._check_packed_address(address, 4) + bvs = _compat_bytes_to_byte_vals(address) + self._ip = _compat_int_from_byte_vals(bvs, 'big') + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP string. + addr_str = _compat_str(address) + if '/' in addr_str: + raise AddressValueError("Unexpected '/' in %r" % address) + self._ip = self._ip_int_from_string(addr_str) + + @property + def packed(self): + """The binary representation of this address.""" + return v4_int_to_packed(self._ip) + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within the + reserved IPv4 Network range. + + """ + return self in self._constants._reserved_network + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv4-special-registry. + + """ + return any(self in net for net in self._constants._private_networks) + + @property + def is_global(self): + return ( + self not in self._constants._public_network and + not self.is_private) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is multicast. + See RFC 3171 for details. + + """ + return self in self._constants._multicast_network + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 5735 3. + + """ + return self == self._constants._unspecified_address + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback per RFC 3330. + + """ + return self in self._constants._loopback_network + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is link-local per RFC 3927. + + """ + return self in self._constants._linklocal_network + + +class IPv4Interface(IPv4Address): + + def __init__(self, address): + if isinstance(address, (bytes, _compat_int_types)): + IPv4Address.__init__(self, address) + self.network = IPv4Network(self._ip) + self._prefixlen = self._max_prefixlen + return + + if isinstance(address, tuple): + IPv4Address.__init__(self, address[0]) + if len(address) > 1: + self._prefixlen = int(address[1]) + else: + self._prefixlen = self._max_prefixlen + + self.network = IPv4Network(address, strict=False) + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + return + + addr = _split_optional_netmask(address) + IPv4Address.__init__(self, addr[0]) + + self.network = IPv4Network(address, strict=False) + self._prefixlen = self.network._prefixlen + + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + + def __str__(self): + return '%s/%d' % (self._string_from_ip_int(self._ip), + self.network.prefixlen) + + def __eq__(self, other): + address_equal = IPv4Address.__eq__(self, other) + if not address_equal or address_equal is NotImplemented: + return address_equal + try: + return self.network == other.network + except AttributeError: + # An interface with an associated network is NOT the + # same as an unassociated address. That's why the hash + # takes the extra info into account. + return False + + def __lt__(self, other): + address_less = IPv4Address.__lt__(self, other) + if address_less is NotImplemented: + return NotImplemented + try: + return (self.network < other.network or + self.network == other.network and address_less) + except AttributeError: + # We *do* allow addresses and interfaces to be sorted. The + # unassociated address is considered less than all interfaces. + return False + + def __hash__(self): + return self._ip ^ self._prefixlen ^ int(self.network.network_address) + + __reduce__ = _IPAddressBase.__reduce__ + + @property + def ip(self): + return IPv4Address(self._ip) + + @property + def with_prefixlen(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.hostmask) + + +class IPv4Network(_BaseV4, _BaseNetwork): + + """This class represents and manipulates 32-bit IPv4 network + addresses.. + + Attributes: [examples for IPv4Network('192.0.2.0/27')] + .network_address: IPv4Address('192.0.2.0') + .hostmask: IPv4Address('0.0.0.31') + .broadcast_address: IPv4Address('192.0.2.32') + .netmask: IPv4Address('255.255.255.224') + .prefixlen: 27 + + """ + # Class to use when creating address objects + _address_class = IPv4Address + + def __init__(self, address, strict=True): + + """Instantiate a new IPv4 network object. + + Args: + address: A string or integer representing the IP [& network]. + '192.0.2.0/24' + '192.0.2.0/255.255.255.0' + '192.0.0.2/0.0.0.255' + are all functionally the same in IPv4. Similarly, + '192.0.2.1' + '192.0.2.1/255.255.255.255' + '192.0.2.1/32' + are also functionally equivalent. That is to say, failing to + provide a subnetmask will create an object with a mask of /32. + + If the mask (portion after the / in the argument) is given in + dotted quad form, it is treated as a netmask if it starts with a + non-zero field (e.g. /255.0.0.0 == /8) and as a hostmask if it + starts with a zero field (e.g. 0.255.255.255 == /8), with the + single exception of an all-zero mask which is treated as a + netmask == /0. If no mask is given, a default of /32 is used. + + Additionally, an integer can be passed, so + IPv4Network('192.0.2.1') == IPv4Network(3221225985) + or, more generally + IPv4Interface(int(IPv4Interface('192.0.2.1'))) == + IPv4Interface('192.0.2.1') + + Raises: + AddressValueError: If ipaddress isn't a valid IPv4 address. + NetmaskValueError: If the netmask isn't valid for + an IPv4 address. + ValueError: If strict is True and a network address is not + supplied. + + """ + _BaseNetwork.__init__(self, address) + + # Constructing from a packed address or integer + if isinstance(address, (_compat_int_types, bytes)): + self.network_address = IPv4Address(address) + self.netmask, self._prefixlen = self._make_netmask( + self._max_prefixlen) + # fixme: address/network test here. + return + + if isinstance(address, tuple): + if len(address) > 1: + arg = address[1] + else: + # We weren't given an address[1] + arg = self._max_prefixlen + self.network_address = IPv4Address(address[0]) + self.netmask, self._prefixlen = self._make_netmask(arg) + packed = int(self.network_address) + if packed & int(self.netmask) != packed: + if strict: + raise ValueError('%s has host bits set' % self) + else: + self.network_address = IPv4Address(packed & + int(self.netmask)) + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP prefix string. + addr = _split_optional_netmask(address) + self.network_address = IPv4Address(self._ip_int_from_string(addr[0])) + + if len(addr) == 2: + arg = addr[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + + if strict: + if (IPv4Address(int(self.network_address) & int(self.netmask)) != + self.network_address): + raise ValueError('%s has host bits set' % self) + self.network_address = IPv4Address(int(self.network_address) & + int(self.netmask)) + + if self._prefixlen == (self._max_prefixlen - 1): + self.hosts = self.__iter__ + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, True if the address is not reserved per + iana-ipv4-special-registry. + + """ + return (not (self.network_address in IPv4Network('100.64.0.0/10') and + self.broadcast_address in IPv4Network('100.64.0.0/10')) and + not self.is_private) + + +class _IPv4Constants(object): + + _linklocal_network = IPv4Network('169.254.0.0/16') + + _loopback_network = IPv4Network('127.0.0.0/8') + + _multicast_network = IPv4Network('224.0.0.0/4') + + _public_network = IPv4Network('100.64.0.0/10') + + _private_networks = [ + IPv4Network('0.0.0.0/8'), + IPv4Network('10.0.0.0/8'), + IPv4Network('127.0.0.0/8'), + IPv4Network('169.254.0.0/16'), + IPv4Network('172.16.0.0/12'), + IPv4Network('192.0.0.0/29'), + IPv4Network('192.0.0.170/31'), + IPv4Network('192.0.2.0/24'), + IPv4Network('192.168.0.0/16'), + IPv4Network('198.18.0.0/15'), + IPv4Network('198.51.100.0/24'), + IPv4Network('203.0.113.0/24'), + IPv4Network('240.0.0.0/4'), + IPv4Network('255.255.255.255/32'), + ] + + _reserved_network = IPv4Network('240.0.0.0/4') + + _unspecified_address = IPv4Address('0.0.0.0') + + +IPv4Address._constants = _IPv4Constants + + +class _BaseV6(object): + + """Base IPv6 object. + + The following methods are used by IPv6 objects in both single IP + addresses and networks. + + """ + + __slots__ = () + _version = 6 + _ALL_ONES = (2 ** IPV6LENGTH) - 1 + _HEXTET_COUNT = 8 + _HEX_DIGITS = frozenset('0123456789ABCDEFabcdef') + _max_prefixlen = IPV6LENGTH + + # There are only a bunch of valid v6 netmasks, so we cache them all + # when constructed (see _make_netmask()). + _netmask_cache = {} + + @classmethod + def _make_netmask(cls, arg): + """Make a (netmask, prefix_len) tuple from the given argument. + + Argument can be: + - an integer (the prefix length) + - a string representing the prefix length (e.g. "24") + - a string representing the prefix netmask (e.g. "255.255.255.0") + """ + if arg not in cls._netmask_cache: + if isinstance(arg, _compat_int_types): + prefixlen = arg + else: + prefixlen = cls._prefix_from_prefix_string(arg) + netmask = IPv6Address(cls._ip_int_from_prefix(prefixlen)) + cls._netmask_cache[arg] = netmask, prefixlen + return cls._netmask_cache[arg] + + @classmethod + def _ip_int_from_string(cls, ip_str): + """Turn an IPv6 ip_str into an integer. + + Args: + ip_str: A string, the IPv6 ip_str. + + Returns: + An int, the IPv6 address + + Raises: + AddressValueError: if ip_str isn't a valid IPv6 Address. + + """ + if not ip_str: + raise AddressValueError('Address cannot be empty') + + parts = ip_str.split(':') + + # An IPv6 address needs at least 2 colons (3 parts). + _min_parts = 3 + if len(parts) < _min_parts: + msg = "At least %d parts expected in %r" % (_min_parts, ip_str) + raise AddressValueError(msg) + + # If the address has an IPv4-style suffix, convert it to hexadecimal. + if '.' in parts[-1]: + try: + ipv4_int = IPv4Address(parts.pop())._ip + except AddressValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + parts.append('%x' % ((ipv4_int >> 16) & 0xFFFF)) + parts.append('%x' % (ipv4_int & 0xFFFF)) + + # An IPv6 address can't have more than 8 colons (9 parts). + # The extra colon comes from using the "::" notation for a single + # leading or trailing zero part. + _max_parts = cls._HEXTET_COUNT + 1 + if len(parts) > _max_parts: + msg = "At most %d colons permitted in %r" % ( + _max_parts - 1, ip_str) + raise AddressValueError(msg) + + # Disregarding the endpoints, find '::' with nothing in between. + # This indicates that a run of zeroes has been skipped. + skip_index = None + for i in _compat_range(1, len(parts) - 1): + if not parts[i]: + if skip_index is not None: + # Can't have more than one '::' + msg = "At most one '::' permitted in %r" % ip_str + raise AddressValueError(msg) + skip_index = i + + # parts_hi is the number of parts to copy from above/before the '::' + # parts_lo is the number of parts to copy from below/after the '::' + if skip_index is not None: + # If we found a '::', then check if it also covers the endpoints. + parts_hi = skip_index + parts_lo = len(parts) - skip_index - 1 + if not parts[0]: + parts_hi -= 1 + if parts_hi: + msg = "Leading ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # ^: requires ^:: + if not parts[-1]: + parts_lo -= 1 + if parts_lo: + msg = "Trailing ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # :$ requires ::$ + parts_skipped = cls._HEXTET_COUNT - (parts_hi + parts_lo) + if parts_skipped < 1: + msg = "Expected at most %d other parts with '::' in %r" + raise AddressValueError(msg % (cls._HEXTET_COUNT - 1, ip_str)) + else: + # Otherwise, allocate the entire address to parts_hi. The + # endpoints could still be empty, but _parse_hextet() will check + # for that. + if len(parts) != cls._HEXTET_COUNT: + msg = "Exactly %d parts expected without '::' in %r" + raise AddressValueError(msg % (cls._HEXTET_COUNT, ip_str)) + if not parts[0]: + msg = "Leading ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # ^: requires ^:: + if not parts[-1]: + msg = "Trailing ':' only permitted as part of '::' in %r" + raise AddressValueError(msg % ip_str) # :$ requires ::$ + parts_hi = len(parts) + parts_lo = 0 + parts_skipped = 0 + + try: + # Now, parse the hextets into a 128-bit integer. + ip_int = 0 + for i in range(parts_hi): + ip_int <<= 16 + ip_int |= cls._parse_hextet(parts[i]) + ip_int <<= 16 * parts_skipped + for i in range(-parts_lo, 0): + ip_int <<= 16 + ip_int |= cls._parse_hextet(parts[i]) + return ip_int + except ValueError as exc: + raise AddressValueError("%s in %r" % (exc, ip_str)) + + @classmethod + def _parse_hextet(cls, hextet_str): + """Convert an IPv6 hextet string into an integer. + + Args: + hextet_str: A string, the number to parse. + + Returns: + The hextet as an integer. + + Raises: + ValueError: if the input isn't strictly a hex number from + [0..FFFF]. + + """ + # Whitelist the characters, since int() allows a lot of bizarre stuff. + if not cls._HEX_DIGITS.issuperset(hextet_str): + raise ValueError("Only hex digits permitted in %r" % hextet_str) + # We do the length check second, since the invalid character error + # is likely to be more informative for the user + if len(hextet_str) > 4: + msg = "At most 4 characters permitted in %r" + raise ValueError(msg % hextet_str) + # Length check means we can skip checking the integer value + return int(hextet_str, 16) + + @classmethod + def _compress_hextets(cls, hextets): + """Compresses a list of hextets. + + Compresses a list of strings, replacing the longest continuous + sequence of "0" in the list with "" and adding empty strings at + the beginning or at the end of the string such that subsequently + calling ":".join(hextets) will produce the compressed version of + the IPv6 address. + + Args: + hextets: A list of strings, the hextets to compress. + + Returns: + A list of strings. + + """ + best_doublecolon_start = -1 + best_doublecolon_len = 0 + doublecolon_start = -1 + doublecolon_len = 0 + for index, hextet in enumerate(hextets): + if hextet == '0': + doublecolon_len += 1 + if doublecolon_start == -1: + # Start of a sequence of zeros. + doublecolon_start = index + if doublecolon_len > best_doublecolon_len: + # This is the longest sequence of zeros so far. + best_doublecolon_len = doublecolon_len + best_doublecolon_start = doublecolon_start + else: + doublecolon_len = 0 + doublecolon_start = -1 + + if best_doublecolon_len > 1: + best_doublecolon_end = (best_doublecolon_start + + best_doublecolon_len) + # For zeros at the end of the address. + if best_doublecolon_end == len(hextets): + hextets += [''] + hextets[best_doublecolon_start:best_doublecolon_end] = [''] + # For zeros at the beginning of the address. + if best_doublecolon_start == 0: + hextets = [''] + hextets + + return hextets + + @classmethod + def _string_from_ip_int(cls, ip_int=None): + """Turns a 128-bit integer into hexadecimal notation. + + Args: + ip_int: An integer, the IP address. + + Returns: + A string, the hexadecimal representation of the address. + + Raises: + ValueError: The address is bigger than 128 bits of all ones. + + """ + if ip_int is None: + ip_int = int(cls._ip) + + if ip_int > cls._ALL_ONES: + raise ValueError('IPv6 address is too large') + + hex_str = '%032x' % ip_int + hextets = ['%x' % int(hex_str[x:x + 4], 16) for x in range(0, 32, 4)] + + hextets = cls._compress_hextets(hextets) + return ':'.join(hextets) + + def _explode_shorthand_ip_string(self): + """Expand a shortened IPv6 address. + + Args: + ip_str: A string, the IPv6 address. + + Returns: + A string, the expanded IPv6 address. + + """ + if isinstance(self, IPv6Network): + ip_str = _compat_str(self.network_address) + elif isinstance(self, IPv6Interface): + ip_str = _compat_str(self.ip) + else: + ip_str = _compat_str(self) + + ip_int = self._ip_int_from_string(ip_str) + hex_str = '%032x' % ip_int + parts = [hex_str[x:x + 4] for x in range(0, 32, 4)] + if isinstance(self, (_BaseNetwork, IPv6Interface)): + return '%s/%d' % (':'.join(parts), self._prefixlen) + return ':'.join(parts) + + def _reverse_pointer(self): + """Return the reverse DNS pointer name for the IPv6 address. + + This implements the method described in RFC3596 2.5. + + """ + reverse_chars = self.exploded[::-1].replace(':', '') + return '.'.join(reverse_chars) + '.ip6.arpa' + + @property + def max_prefixlen(self): + return self._max_prefixlen + + @property + def version(self): + return self._version + + +class IPv6Address(_BaseV6, _BaseAddress): + + """Represent and manipulate single IPv6 Addresses.""" + + __slots__ = ('_ip', '__weakref__') + + def __init__(self, address): + """Instantiate a new IPv6 address object. + + Args: + address: A string or integer representing the IP + + Additionally, an integer can be passed, so + IPv6Address('2001:db8::') == + IPv6Address(42540766411282592856903984951653826560) + or, more generally + IPv6Address(int(IPv6Address('2001:db8::'))) == + IPv6Address('2001:db8::') + + Raises: + AddressValueError: If address isn't a valid IPv6 address. + + """ + # Efficient constructor from integer. + if isinstance(address, _compat_int_types): + self._check_int_address(address) + self._ip = address + return + + # Constructing from a packed address + if isinstance(address, bytes): + self._check_packed_address(address, 16) + bvs = _compat_bytes_to_byte_vals(address) + self._ip = _compat_int_from_byte_vals(bvs, 'big') + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP string. + addr_str = _compat_str(address) + if '/' in addr_str: + raise AddressValueError("Unexpected '/' in %r" % address) + self._ip = self._ip_int_from_string(addr_str) + + @property + def packed(self): + """The binary representation of this address.""" + return v6_int_to_packed(self._ip) + + @property + def is_multicast(self): + """Test if the address is reserved for multicast use. + + Returns: + A boolean, True if the address is a multicast address. + See RFC 2373 2.7 for details. + + """ + return self in self._constants._multicast_network + + @property + def is_reserved(self): + """Test if the address is otherwise IETF reserved. + + Returns: + A boolean, True if the address is within one of the + reserved IPv6 Network ranges. + + """ + return any(self in x for x in self._constants._reserved_networks) + + @property + def is_link_local(self): + """Test if the address is reserved for link-local. + + Returns: + A boolean, True if the address is reserved per RFC 4291. + + """ + return self in self._constants._linklocal_network + + @property + def is_site_local(self): + """Test if the address is reserved for site-local. + + Note that the site-local address space has been deprecated by RFC 3879. + Use is_private to test if this address is in the space of unique local + addresses as defined by RFC 4193. + + Returns: + A boolean, True if the address is reserved per RFC 3513 2.5.6. + + """ + return self in self._constants._sitelocal_network + + @property + def is_private(self): + """Test if this address is allocated for private networks. + + Returns: + A boolean, True if the address is reserved per + iana-ipv6-special-registry. + + """ + return any(self in net for net in self._constants._private_networks) + + @property + def is_global(self): + """Test if this address is allocated for public networks. + + Returns: + A boolean, true if the address is not reserved per + iana-ipv6-special-registry. + + """ + return not self.is_private + + @property + def is_unspecified(self): + """Test if the address is unspecified. + + Returns: + A boolean, True if this is the unspecified address as defined in + RFC 2373 2.5.2. + + """ + return self._ip == 0 + + @property + def is_loopback(self): + """Test if the address is a loopback address. + + Returns: + A boolean, True if the address is a loopback address as defined in + RFC 2373 2.5.3. + + """ + return self._ip == 1 + + @property + def ipv4_mapped(self): + """Return the IPv4 mapped address. + + Returns: + If the IPv6 address is a v4 mapped address, return the + IPv4 mapped address. Return None otherwise. + + """ + if (self._ip >> 32) != 0xFFFF: + return None + return IPv4Address(self._ip & 0xFFFFFFFF) + + @property + def teredo(self): + """Tuple of embedded teredo IPs. + + Returns: + Tuple of the (server, client) IPs or None if the address + doesn't appear to be a teredo address (doesn't start with + 2001::/32) + + """ + if (self._ip >> 96) != 0x20010000: + return None + return (IPv4Address((self._ip >> 64) & 0xFFFFFFFF), + IPv4Address(~self._ip & 0xFFFFFFFF)) + + @property + def sixtofour(self): + """Return the IPv4 6to4 embedded address. + + Returns: + The IPv4 6to4-embedded address if present or None if the + address doesn't appear to contain a 6to4 embedded address. + + """ + if (self._ip >> 112) != 0x2002: + return None + return IPv4Address((self._ip >> 80) & 0xFFFFFFFF) + + +class IPv6Interface(IPv6Address): + + def __init__(self, address): + if isinstance(address, (bytes, _compat_int_types)): + IPv6Address.__init__(self, address) + self.network = IPv6Network(self._ip) + self._prefixlen = self._max_prefixlen + return + if isinstance(address, tuple): + IPv6Address.__init__(self, address[0]) + if len(address) > 1: + self._prefixlen = int(address[1]) + else: + self._prefixlen = self._max_prefixlen + self.network = IPv6Network(address, strict=False) + self.netmask = self.network.netmask + self.hostmask = self.network.hostmask + return + + addr = _split_optional_netmask(address) + IPv6Address.__init__(self, addr[0]) + self.network = IPv6Network(address, strict=False) + self.netmask = self.network.netmask + self._prefixlen = self.network._prefixlen + self.hostmask = self.network.hostmask + + def __str__(self): + return '%s/%d' % (self._string_from_ip_int(self._ip), + self.network.prefixlen) + + def __eq__(self, other): + address_equal = IPv6Address.__eq__(self, other) + if not address_equal or address_equal is NotImplemented: + return address_equal + try: + return self.network == other.network + except AttributeError: + # An interface with an associated network is NOT the + # same as an unassociated address. That's why the hash + # takes the extra info into account. + return False + + def __lt__(self, other): + address_less = IPv6Address.__lt__(self, other) + if address_less is NotImplemented: + return NotImplemented + try: + return (self.network < other.network or + self.network == other.network and address_less) + except AttributeError: + # We *do* allow addresses and interfaces to be sorted. The + # unassociated address is considered less than all interfaces. + return False + + def __hash__(self): + return self._ip ^ self._prefixlen ^ int(self.network.network_address) + + __reduce__ = _IPAddressBase.__reduce__ + + @property + def ip(self): + return IPv6Address(self._ip) + + @property + def with_prefixlen(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self._prefixlen) + + @property + def with_netmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.netmask) + + @property + def with_hostmask(self): + return '%s/%s' % (self._string_from_ip_int(self._ip), + self.hostmask) + + @property + def is_unspecified(self): + return self._ip == 0 and self.network.is_unspecified + + @property + def is_loopback(self): + return self._ip == 1 and self.network.is_loopback + + +class IPv6Network(_BaseV6, _BaseNetwork): + + """This class represents and manipulates 128-bit IPv6 networks. + + Attributes: [examples for IPv6('2001:db8::1000/124')] + .network_address: IPv6Address('2001:db8::1000') + .hostmask: IPv6Address('::f') + .broadcast_address: IPv6Address('2001:db8::100f') + .netmask: IPv6Address('ffff:ffff:ffff:ffff:ffff:ffff:ffff:fff0') + .prefixlen: 124 + + """ + + # Class to use when creating address objects + _address_class = IPv6Address + + def __init__(self, address, strict=True): + """Instantiate a new IPv6 Network object. + + Args: + address: A string or integer representing the IPv6 network or the + IP and prefix/netmask. + '2001:db8::/128' + '2001:db8:0000:0000:0000:0000:0000:0000/128' + '2001:db8::' + are all functionally the same in IPv6. That is to say, + failing to provide a subnetmask will create an object with + a mask of /128. + + Additionally, an integer can be passed, so + IPv6Network('2001:db8::') == + IPv6Network(42540766411282592856903984951653826560) + or, more generally + IPv6Network(int(IPv6Network('2001:db8::'))) == + IPv6Network('2001:db8::') + + strict: A boolean. If true, ensure that we have been passed + A true network address, eg, 2001:db8::1000/124 and not an + IP address on a network, eg, 2001:db8::1/124. + + Raises: + AddressValueError: If address isn't a valid IPv6 address. + NetmaskValueError: If the netmask isn't valid for + an IPv6 address. + ValueError: If strict was True and a network address was not + supplied. + + """ + _BaseNetwork.__init__(self, address) + + # Efficient constructor from integer or packed address + if isinstance(address, (bytes, _compat_int_types)): + self.network_address = IPv6Address(address) + self.netmask, self._prefixlen = self._make_netmask( + self._max_prefixlen) + return + + if isinstance(address, tuple): + if len(address) > 1: + arg = address[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + self.network_address = IPv6Address(address[0]) + packed = int(self.network_address) + if packed & int(self.netmask) != packed: + if strict: + raise ValueError('%s has host bits set' % self) + else: + self.network_address = IPv6Address(packed & + int(self.netmask)) + return + + # Assume input argument to be string or any object representation + # which converts into a formatted IP prefix string. + addr = _split_optional_netmask(address) + + self.network_address = IPv6Address(self._ip_int_from_string(addr[0])) + + if len(addr) == 2: + arg = addr[1] + else: + arg = self._max_prefixlen + self.netmask, self._prefixlen = self._make_netmask(arg) + + if strict: + if (IPv6Address(int(self.network_address) & int(self.netmask)) != + self.network_address): + raise ValueError('%s has host bits set' % self) + self.network_address = IPv6Address(int(self.network_address) & + int(self.netmask)) + + if self._prefixlen == (self._max_prefixlen - 1): + self.hosts = self.__iter__ + + def hosts(self): + """Generate Iterator over usable hosts in a network. + + This is like __iter__ except it doesn't return the + Subnet-Router anycast address. + + """ + network = int(self.network_address) + broadcast = int(self.broadcast_address) + for x in _compat_range(network + 1, broadcast + 1): + yield self._address_class(x) + + @property + def is_site_local(self): + """Test if the address is reserved for site-local. + + Note that the site-local address space has been deprecated by RFC 3879. + Use is_private to test if this address is in the space of unique local + addresses as defined by RFC 4193. + + Returns: + A boolean, True if the address is reserved per RFC 3513 2.5.6. + + """ + return (self.network_address.is_site_local and + self.broadcast_address.is_site_local) + + +class _IPv6Constants(object): + + _linklocal_network = IPv6Network('fe80::/10') + + _multicast_network = IPv6Network('ff00::/8') + + _private_networks = [ + IPv6Network('::1/128'), + IPv6Network('::/128'), + IPv6Network('::ffff:0:0/96'), + IPv6Network('100::/64'), + IPv6Network('2001::/23'), + IPv6Network('2001:2::/48'), + IPv6Network('2001:db8::/32'), + IPv6Network('2001:10::/28'), + IPv6Network('fc00::/7'), + IPv6Network('fe80::/10'), + ] + + _reserved_networks = [ + IPv6Network('::/8'), IPv6Network('100::/8'), + IPv6Network('200::/7'), IPv6Network('400::/6'), + IPv6Network('800::/5'), IPv6Network('1000::/4'), + IPv6Network('4000::/3'), IPv6Network('6000::/3'), + IPv6Network('8000::/3'), IPv6Network('A000::/3'), + IPv6Network('C000::/3'), IPv6Network('E000::/4'), + IPv6Network('F000::/5'), IPv6Network('F800::/6'), + IPv6Network('FE00::/9'), + ] + + _sitelocal_network = IPv6Network('fec0::/10') + + +IPv6Address._constants = _IPv6Constants diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/__init__.py new file mode 100644 index 0000000000..a6f44a55c6 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/__init__.py @@ -0,0 +1,347 @@ +# -*- coding: utf-8 -*- + +""" +lockfile.py - Platform-independent advisory file locks. + +Requires Python 2.5 unless you apply 2.4.diff +Locking is done on a per-thread basis instead of a per-process basis. + +Usage: + +>>> lock = LockFile('somefile') +>>> try: +... lock.acquire() +... except AlreadyLocked: +... print 'somefile', 'is locked already.' +... except LockFailed: +... print 'somefile', 'can\\'t be locked.' +... else: +... print 'got lock' +got lock +>>> print lock.is_locked() +True +>>> lock.release() + +>>> lock = LockFile('somefile') +>>> print lock.is_locked() +False +>>> with lock: +... print lock.is_locked() +True +>>> print lock.is_locked() +False + +>>> lock = LockFile('somefile') +>>> # It is okay to lock twice from the same thread... +>>> with lock: +... lock.acquire() +... +>>> # Though no counter is kept, so you can't unlock multiple times... +>>> print lock.is_locked() +False + +Exceptions: + + Error - base class for other exceptions + LockError - base class for all locking exceptions + AlreadyLocked - Another thread or process already holds the lock + LockFailed - Lock failed for some other reason + UnlockError - base class for all unlocking exceptions + AlreadyUnlocked - File was not locked. + NotMyLock - File was locked but not by the current thread/process +""" + +from __future__ import absolute_import + +import functools +import os +import socket +import threading +import warnings + +# Work with PEP8 and non-PEP8 versions of threading module. +if not hasattr(threading, "current_thread"): + threading.current_thread = threading.currentThread +if not hasattr(threading.Thread, "get_name"): + threading.Thread.get_name = threading.Thread.getName + +__all__ = ['Error', 'LockError', 'LockTimeout', 'AlreadyLocked', + 'LockFailed', 'UnlockError', 'NotLocked', 'NotMyLock', + 'LinkFileLock', 'MkdirFileLock', 'SQLiteFileLock', + 'LockBase', 'locked'] + + +class Error(Exception): + """ + Base class for other exceptions. + + >>> try: + ... raise Error + ... except Exception: + ... pass + """ + pass + + +class LockError(Error): + """ + Base class for error arising from attempts to acquire the lock. + + >>> try: + ... raise LockError + ... except Error: + ... pass + """ + pass + + +class LockTimeout(LockError): + """Raised when lock creation fails within a user-defined period of time. + + >>> try: + ... raise LockTimeout + ... except LockError: + ... pass + """ + pass + + +class AlreadyLocked(LockError): + """Some other thread/process is locking the file. + + >>> try: + ... raise AlreadyLocked + ... except LockError: + ... pass + """ + pass + + +class LockFailed(LockError): + """Lock file creation failed for some other reason. + + >>> try: + ... raise LockFailed + ... except LockError: + ... pass + """ + pass + + +class UnlockError(Error): + """ + Base class for errors arising from attempts to release the lock. + + >>> try: + ... raise UnlockError + ... except Error: + ... pass + """ + pass + + +class NotLocked(UnlockError): + """Raised when an attempt is made to unlock an unlocked file. + + >>> try: + ... raise NotLocked + ... except UnlockError: + ... pass + """ + pass + + +class NotMyLock(UnlockError): + """Raised when an attempt is made to unlock a file someone else locked. + + >>> try: + ... raise NotMyLock + ... except UnlockError: + ... pass + """ + pass + + +class _SharedBase(object): + def __init__(self, path): + self.path = path + + def acquire(self, timeout=None): + """ + Acquire the lock. + + * If timeout is omitted (or None), wait forever trying to lock the + file. + + * If timeout > 0, try to acquire the lock for that many seconds. If + the lock period expires and the file is still locked, raise + LockTimeout. + + * If timeout <= 0, raise AlreadyLocked immediately if the file is + already locked. + """ + raise NotImplemented("implement in subclass") + + def release(self): + """ + Release the lock. + + If the file is not locked, raise NotLocked. + """ + raise NotImplemented("implement in subclass") + + def __enter__(self): + """ + Context manager support. + """ + self.acquire() + return self + + def __exit__(self, *_exc): + """ + Context manager support. + """ + self.release() + + def __repr__(self): + return "<%s: %r>" % (self.__class__.__name__, self.path) + + +class LockBase(_SharedBase): + """Base class for platform-specific lock classes.""" + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = LockBase('somefile') + >>> lock = LockBase('somefile', threaded=False) + """ + super(LockBase, self).__init__(path) + self.lock_file = os.path.abspath(path) + ".lock" + self.hostname = socket.gethostname() + self.pid = os.getpid() + if threaded: + t = threading.current_thread() + # Thread objects in Python 2.4 and earlier do not have ident + # attrs. Worm around that. + ident = getattr(t, "ident", hash(t)) + self.tname = "-%x" % (ident & 0xffffffff) + else: + self.tname = "" + dirname = os.path.dirname(self.lock_file) + + # unique name is mostly about the current process, but must + # also contain the path -- otherwise, two adjacent locked + # files conflict (one file gets locked, creating lock-file and + # unique file, the other one gets locked, creating lock-file + # and overwriting the already existing lock-file, then one + # gets unlocked, deleting both lock-file and unique file, + # finally the last lock errors out upon releasing. + self.unique_name = os.path.join(dirname, + "%s%s.%s%s" % (self.hostname, + self.tname, + self.pid, + hash(self.path))) + self.timeout = timeout + + def is_locked(self): + """ + Tell whether or not the file is locked. + """ + raise NotImplemented("implement in subclass") + + def i_am_locking(self): + """ + Return True if this object is locking the file. + """ + raise NotImplemented("implement in subclass") + + def break_lock(self): + """ + Remove a lock. Useful if a locking thread failed to unlock. + """ + raise NotImplemented("implement in subclass") + + def __repr__(self): + return "<%s: %r -- %r>" % (self.__class__.__name__, self.unique_name, + self.path) + + +def _fl_helper(cls, mod, *args, **kwds): + warnings.warn("Import from %s module instead of lockfile package" % mod, + DeprecationWarning, stacklevel=2) + # This is a bit funky, but it's only for awhile. The way the unit tests + # are constructed this function winds up as an unbound method, so it + # actually takes three args, not two. We want to toss out self. + if not isinstance(args[0], str): + # We are testing, avoid the first arg + args = args[1:] + if len(args) == 1 and not kwds: + kwds["threaded"] = True + return cls(*args, **kwds) + + +def LinkFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import LinkLockFile from the + lockfile.linklockfile module. + """ + from . import linklockfile + return _fl_helper(linklockfile.LinkLockFile, "lockfile.linklockfile", + *args, **kwds) + + +def MkdirFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import MkdirLockFile from the + lockfile.mkdirlockfile module. + """ + from . import mkdirlockfile + return _fl_helper(mkdirlockfile.MkdirLockFile, "lockfile.mkdirlockfile", + *args, **kwds) + + +def SQLiteFileLock(*args, **kwds): + """Factory function provided for backwards compatibility. + + Do not use in new code. Instead, import SQLiteLockFile from the + lockfile.mkdirlockfile module. + """ + from . import sqlitelockfile + return _fl_helper(sqlitelockfile.SQLiteLockFile, "lockfile.sqlitelockfile", + *args, **kwds) + + +def locked(path, timeout=None): + """Decorator which enables locks for decorated function. + + Arguments: + - path: path for lockfile. + - timeout (optional): Timeout for acquiring lock. + + Usage: + @locked('/var/run/myname', timeout=0) + def myname(...): + ... + """ + def decor(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + lock = FileLock(path, timeout=timeout) + lock.acquire() + try: + return func(*args, **kwargs) + finally: + lock.release() + return wrapper + return decor + + +if hasattr(os, "link"): + from . import linklockfile as _llf + LockFile = _llf.LinkLockFile +else: + from . import mkdirlockfile as _mlf + LockFile = _mlf.MkdirLockFile + +FileLock = LockFile diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/linklockfile.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/linklockfile.py new file mode 100644 index 0000000000..2ca9be0423 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/linklockfile.py @@ -0,0 +1,73 @@ +from __future__ import absolute_import + +import time +import os + +from . import (LockBase, LockFailed, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class LinkLockFile(LockBase): + """Lock access to a file using atomic property of link(2). + + >>> lock = LinkLockFile('somefile') + >>> lock = LinkLockFile('somefile', threaded=False) + """ + + def acquire(self, timeout=None): + try: + open(self.unique_name, "wb").close() + except IOError: + raise LockFailed("failed to create %s" % self.unique_name) + + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + # Try and create a hard link to it. + try: + os.link(self.unique_name, self.lock_file) + except OSError: + # Link creation failed. Maybe we've double-locked? + nlinks = os.stat(self.unique_name).st_nlink + if nlinks == 2: + # The original link plus the one I created == 2. We're + # good to go. + return + else: + # Otherwise the lock creation failed. + if timeout is not None and time.time() > end_time: + os.unlink(self.unique_name) + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout is not None and timeout / 10 or 0.1) + else: + # Link creation succeeded. We're good to go. + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not os.path.exists(self.unique_name): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.unique_name) + os.unlink(self.lock_file) + + def is_locked(self): + return os.path.exists(self.lock_file) + + def i_am_locking(self): + return (self.is_locked() and + os.path.exists(self.unique_name) and + os.stat(self.unique_name).st_nlink == 2) + + def break_lock(self): + if os.path.exists(self.lock_file): + os.unlink(self.lock_file) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/mkdirlockfile.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/mkdirlockfile.py new file mode 100644 index 0000000000..05a8c96ca5 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/mkdirlockfile.py @@ -0,0 +1,84 @@ +from __future__ import absolute_import, division + +import time +import os +import sys +import errno + +from . import (LockBase, LockFailed, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class MkdirLockFile(LockBase): + """Lock file by creating a directory.""" + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = MkdirLockFile('somefile') + >>> lock = MkdirLockFile('somefile', threaded=False) + """ + LockBase.__init__(self, path, threaded, timeout) + # Lock file itself is a directory. Place the unique file name into + # it. + self.unique_name = os.path.join(self.lock_file, + "%s.%s%s" % (self.hostname, + self.tname, + self.pid)) + + def acquire(self, timeout=None): + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + if timeout is None: + wait = 0.1 + else: + wait = max(0, timeout / 10) + + while True: + try: + os.mkdir(self.lock_file) + except OSError: + err = sys.exc_info()[1] + if err.errno == errno.EEXIST: + # Already locked. + if os.path.exists(self.unique_name): + # Already locked by me. + return + if timeout is not None and time.time() > end_time: + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + # Someone else has the lock. + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(wait) + else: + # Couldn't create the lock for some other reason + raise LockFailed("failed to create %s" % self.lock_file) + else: + open(self.unique_name, "wb").close() + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not os.path.exists(self.unique_name): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.unique_name) + os.rmdir(self.lock_file) + + def is_locked(self): + return os.path.exists(self.lock_file) + + def i_am_locking(self): + return (self.is_locked() and + os.path.exists(self.unique_name)) + + def break_lock(self): + if os.path.exists(self.lock_file): + for name in os.listdir(self.lock_file): + os.unlink(os.path.join(self.lock_file, name)) + os.rmdir(self.lock_file) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/pidlockfile.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/pidlockfile.py new file mode 100644 index 0000000000..069e85b15b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/pidlockfile.py @@ -0,0 +1,190 @@ +# -*- coding: utf-8 -*- + +# pidlockfile.py +# +# Copyright © 2008–2009 Ben Finney <ben+python@benfinney.id.au> +# +# This is free software: you may copy, modify, and/or distribute this work +# under the terms of the Python Software Foundation License, version 2 or +# later as published by the Python Software Foundation. +# No warranty expressed or implied. See the file LICENSE.PSF-2 for details. + +""" Lockfile behaviour implemented via Unix PID files. + """ + +from __future__ import absolute_import + +import errno +import os +import time + +from . import (LockBase, AlreadyLocked, LockFailed, NotLocked, NotMyLock, + LockTimeout) + + +class PIDLockFile(LockBase): + """ Lockfile implemented as a Unix PID file. + + The lock file is a normal file named by the attribute `path`. + A lock's PID file contains a single line of text, containing + the process ID (PID) of the process that acquired the lock. + + >>> lock = PIDLockFile('somefile') + >>> lock = PIDLockFile('somefile') + """ + + def __init__(self, path, threaded=False, timeout=None): + # pid lockfiles don't support threaded operation, so always force + # False as the threaded arg. + LockBase.__init__(self, path, False, timeout) + self.unique_name = self.path + + def read_pid(self): + """ Get the PID from the lock file. + """ + return read_pid_from_pidfile(self.path) + + def is_locked(self): + """ Test if the lock is currently held. + + The lock is held if the PID file for this lock exists. + + """ + return os.path.exists(self.path) + + def i_am_locking(self): + """ Test if the lock is held by the current process. + + Returns ``True`` if the current process ID matches the + number stored in the PID file. + """ + return self.is_locked() and os.getpid() == self.read_pid() + + def acquire(self, timeout=None): + """ Acquire the lock. + + Creates the PID file for this lock, or raises an error if + the lock could not be acquired. + """ + + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + try: + write_pid_to_pidfile(self.path) + except OSError as exc: + if exc.errno == errno.EEXIST: + # The lock creation failed. Maybe sleep a bit. + if time.time() > end_time: + if timeout is not None and timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout is not None and timeout / 10 or 0.1) + else: + raise LockFailed("failed to create %s" % self.path) + else: + return + + def release(self): + """ Release the lock. + + Removes the PID file to release the lock, or raises an + error if the current process does not hold the lock. + + """ + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + if not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me" % self.path) + remove_existing_pidfile(self.path) + + def break_lock(self): + """ Break an existing lock. + + Removes the PID file if it already exists, otherwise does + nothing. + + """ + remove_existing_pidfile(self.path) + + +def read_pid_from_pidfile(pidfile_path): + """ Read the PID recorded in the named PID file. + + Read and return the numeric PID recorded as text in the named + PID file. If the PID file cannot be read, or if the content is + not a valid PID, return ``None``. + + """ + pid = None + try: + pidfile = open(pidfile_path, 'r') + except IOError: + pass + else: + # According to the FHS 2.3 section on PID files in /var/run: + # + # The file must consist of the process identifier in + # ASCII-encoded decimal, followed by a newline character. + # + # Programs that read PID files should be somewhat flexible + # in what they accept; i.e., they should ignore extra + # whitespace, leading zeroes, absence of the trailing + # newline, or additional lines in the PID file. + + line = pidfile.readline().strip() + try: + pid = int(line) + except ValueError: + pass + pidfile.close() + + return pid + + +def write_pid_to_pidfile(pidfile_path): + """ Write the PID in the named PID file. + + Get the numeric process ID (“PID”) of the current process + and write it to the named file as a line of text. + + """ + open_flags = (os.O_CREAT | os.O_EXCL | os.O_WRONLY) + open_mode = 0o644 + pidfile_fd = os.open(pidfile_path, open_flags, open_mode) + pidfile = os.fdopen(pidfile_fd, 'w') + + # According to the FHS 2.3 section on PID files in /var/run: + # + # The file must consist of the process identifier in + # ASCII-encoded decimal, followed by a newline character. For + # example, if crond was process number 25, /var/run/crond.pid + # would contain three characters: two, five, and newline. + + pid = os.getpid() + pidfile.write("%s\n" % pid) + pidfile.close() + + +def remove_existing_pidfile(pidfile_path): + """ Remove the named PID file if it exists. + + Removing a PID file that doesn't already exist puts us in the + desired state, so we ignore the condition if the file does not + exist. + + """ + try: + os.remove(pidfile_path) + except OSError as exc: + if exc.errno == errno.ENOENT: + pass + else: + raise diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/sqlitelockfile.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/sqlitelockfile.py new file mode 100644 index 0000000000..f997e2444e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/sqlitelockfile.py @@ -0,0 +1,156 @@ +from __future__ import absolute_import, division + +import time +import os + +try: + unicode +except NameError: + unicode = str + +from . import LockBase, NotLocked, NotMyLock, LockTimeout, AlreadyLocked + + +class SQLiteLockFile(LockBase): + "Demonstrate SQL-based locking." + + testdb = None + + def __init__(self, path, threaded=True, timeout=None): + """ + >>> lock = SQLiteLockFile('somefile') + >>> lock = SQLiteLockFile('somefile', threaded=False) + """ + LockBase.__init__(self, path, threaded, timeout) + self.lock_file = unicode(self.lock_file) + self.unique_name = unicode(self.unique_name) + + if SQLiteLockFile.testdb is None: + import tempfile + _fd, testdb = tempfile.mkstemp() + os.close(_fd) + os.unlink(testdb) + del _fd, tempfile + SQLiteLockFile.testdb = testdb + + import sqlite3 + self.connection = sqlite3.connect(SQLiteLockFile.testdb) + + c = self.connection.cursor() + try: + c.execute("create table locks" + "(" + " lock_file varchar(32)," + " unique_name varchar(32)" + ")") + except sqlite3.OperationalError: + pass + else: + self.connection.commit() + import atexit + atexit.register(os.unlink, SQLiteLockFile.testdb) + + def acquire(self, timeout=None): + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + if timeout is None: + wait = 0.1 + elif timeout <= 0: + wait = 0 + else: + wait = timeout / 10 + + cursor = self.connection.cursor() + + while True: + if not self.is_locked(): + # Not locked. Try to lock it. + cursor.execute("insert into locks" + " (lock_file, unique_name)" + " values" + " (?, ?)", + (self.lock_file, self.unique_name)) + self.connection.commit() + + # Check to see if we are the only lock holder. + cursor.execute("select * from locks" + " where unique_name = ?", + (self.unique_name,)) + rows = cursor.fetchall() + if len(rows) > 1: + # Nope. Someone else got there. Remove our lock. + cursor.execute("delete from locks" + " where unique_name = ?", + (self.unique_name,)) + self.connection.commit() + else: + # Yup. We're done, so go home. + return + else: + # Check to see if we are the only lock holder. + cursor.execute("select * from locks" + " where unique_name = ?", + (self.unique_name,)) + rows = cursor.fetchall() + if len(rows) == 1: + # We're the locker, so go home. + return + + # Maybe we should wait a bit longer. + if timeout is not None and time.time() > end_time: + if timeout > 0: + # No more waiting. + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + # Someone else has the lock and we are impatient.. + raise AlreadyLocked("%s is already locked" % self.path) + + # Well, okay. We'll give it a bit longer. + time.sleep(wait) + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + if not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me (by %s)" % + (self.unique_name, self._who_is_locking())) + cursor = self.connection.cursor() + cursor.execute("delete from locks" + " where unique_name = ?", + (self.unique_name,)) + self.connection.commit() + + def _who_is_locking(self): + cursor = self.connection.cursor() + cursor.execute("select unique_name from locks" + " where lock_file = ?", + (self.lock_file,)) + return cursor.fetchone()[0] + + def is_locked(self): + cursor = self.connection.cursor() + cursor.execute("select * from locks" + " where lock_file = ?", + (self.lock_file,)) + rows = cursor.fetchall() + return not not rows + + def i_am_locking(self): + cursor = self.connection.cursor() + cursor.execute("select * from locks" + " where lock_file = ?" + " and unique_name = ?", + (self.lock_file, self.unique_name)) + return not not cursor.fetchall() + + def break_lock(self): + cursor = self.connection.cursor() + cursor.execute("delete from locks" + " where lock_file = ?", + (self.lock_file,)) + self.connection.commit() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/symlinklockfile.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/symlinklockfile.py new file mode 100644 index 0000000000..23b41f582b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/lockfile/symlinklockfile.py @@ -0,0 +1,70 @@ +from __future__ import absolute_import + +import os +import time + +from . import (LockBase, NotLocked, NotMyLock, LockTimeout, + AlreadyLocked) + + +class SymlinkLockFile(LockBase): + """Lock access to a file using symlink(2).""" + + def __init__(self, path, threaded=True, timeout=None): + # super(SymlinkLockFile).__init(...) + LockBase.__init__(self, path, threaded, timeout) + # split it back! + self.unique_name = os.path.split(self.unique_name)[1] + + def acquire(self, timeout=None): + # Hopefully unnecessary for symlink. + # try: + # open(self.unique_name, "wb").close() + # except IOError: + # raise LockFailed("failed to create %s" % self.unique_name) + timeout = timeout if timeout is not None else self.timeout + end_time = time.time() + if timeout is not None and timeout > 0: + end_time += timeout + + while True: + # Try and create a symbolic link to it. + try: + os.symlink(self.unique_name, self.lock_file) + except OSError: + # Link creation failed. Maybe we've double-locked? + if self.i_am_locking(): + # Linked to out unique name. Proceed. + return + else: + # Otherwise the lock creation failed. + if timeout is not None and time.time() > end_time: + if timeout > 0: + raise LockTimeout("Timeout waiting to acquire" + " lock for %s" % + self.path) + else: + raise AlreadyLocked("%s is already locked" % + self.path) + time.sleep(timeout / 10 if timeout is not None else 0.1) + else: + # Link creation succeeded. We're good to go. + return + + def release(self): + if not self.is_locked(): + raise NotLocked("%s is not locked" % self.path) + elif not self.i_am_locking(): + raise NotMyLock("%s is locked, but not by me" % self.path) + os.unlink(self.lock_file) + + def is_locked(self): + return os.path.islink(self.lock_file) + + def i_am_locking(self): + return (os.path.islink(self.lock_file) + and os.readlink(self.lock_file) == self.unique_name) + + def break_lock(self): + if os.path.islink(self.lock_file): # exists && link + os.unlink(self.lock_file) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/__init__.py new file mode 100644 index 0000000000..2afca5ad50 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/__init__.py @@ -0,0 +1,66 @@ +# coding: utf-8 +from pip._vendor.msgpack._version import version +from pip._vendor.msgpack.exceptions import * + +from collections import namedtuple + + +class ExtType(namedtuple('ExtType', 'code data')): + """ExtType represents ext type in msgpack.""" + def __new__(cls, code, data): + if not isinstance(code, int): + raise TypeError("code must be int") + if not isinstance(data, bytes): + raise TypeError("data must be bytes") + if not 0 <= code <= 127: + raise ValueError("code must be 0~127") + return super(ExtType, cls).__new__(cls, code, data) + + +import os +if os.environ.get('MSGPACK_PUREPYTHON'): + from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker +else: + try: + from pip._vendor.msgpack._packer import Packer + from pip._vendor.msgpack._unpacker import unpackb, Unpacker + except ImportError: + from pip._vendor.msgpack.fallback import Packer, unpackb, Unpacker + + +def pack(o, stream, **kwargs): + """ + Pack object `o` and write it to `stream` + + See :class:`Packer` for options. + """ + packer = Packer(**kwargs) + stream.write(packer.pack(o)) + + +def packb(o, **kwargs): + """ + Pack object `o` and return packed bytes + + See :class:`Packer` for options. + """ + return Packer(**kwargs).pack(o) + + +def unpack(stream, **kwargs): + """ + Unpack an object from `stream`. + + Raises `ExtraData` when `stream` contains extra bytes. + See :class:`Unpacker` for options. + """ + data = stream.read() + return unpackb(data, **kwargs) + + +# alias for compatibility to simplejson/marshal/pickle. +load = unpack +loads = unpackb + +dump = pack +dumps = packb diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/_version.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/_version.py new file mode 100644 index 0000000000..d28f0deb86 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/_version.py @@ -0,0 +1 @@ +version = (0, 5, 6) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/exceptions.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/exceptions.py new file mode 100644 index 0000000000..97668814f2 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/exceptions.py @@ -0,0 +1,41 @@ +class UnpackException(Exception): + """Deprecated. Use Exception instead to catch all exception during unpacking.""" + + +class BufferFull(UnpackException): + pass + + +class OutOfData(UnpackException): + pass + + +class UnpackValueError(UnpackException, ValueError): + """Deprecated. Use ValueError instead.""" + + +class ExtraData(UnpackValueError): + def __init__(self, unpacked, extra): + self.unpacked = unpacked + self.extra = extra + + def __str__(self): + return "unpack(b) received extra data." + + +class PackException(Exception): + """Deprecated. Use Exception instead to catch all exception during packing.""" + + +class PackValueError(PackException, ValueError): + """PackValueError is raised when type of input data is supported but it's value is unsupported. + + Deprecated. Use ValueError instead. + """ + + +class PackOverflowError(PackValueError, OverflowError): + """PackOverflowError is raised when integer value is out of range of msgpack support [-2**31, 2**32). + + Deprecated. Use ValueError instead. + """ diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/fallback.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/fallback.py new file mode 100644 index 0000000000..94184218af --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/msgpack/fallback.py @@ -0,0 +1,977 @@ +"""Fallback pure Python implementation of msgpack""" + +import sys +import struct +import warnings + +if sys.version_info[0] == 3: + PY3 = True + int_types = int + Unicode = str + xrange = range + def dict_iteritems(d): + return d.items() +else: + PY3 = False + int_types = (int, long) + Unicode = unicode + def dict_iteritems(d): + return d.iteritems() + + +if hasattr(sys, 'pypy_version_info'): + # cStringIO is slow on PyPy, StringIO is faster. However: PyPy's own + # StringBuilder is fastest. + from __pypy__ import newlist_hint + try: + from __pypy__.builders import BytesBuilder as StringBuilder + except ImportError: + from __pypy__.builders import StringBuilder + USING_STRINGBUILDER = True + class StringIO(object): + def __init__(self, s=b''): + if s: + self.builder = StringBuilder(len(s)) + self.builder.append(s) + else: + self.builder = StringBuilder() + def write(self, s): + if isinstance(s, memoryview): + s = s.tobytes() + elif isinstance(s, bytearray): + s = bytes(s) + self.builder.append(s) + def getvalue(self): + return self.builder.build() +else: + USING_STRINGBUILDER = False + from io import BytesIO as StringIO + newlist_hint = lambda size: [] + + +from pip._vendor.msgpack.exceptions import ( + BufferFull, + OutOfData, + UnpackValueError, + PackValueError, + PackOverflowError, + ExtraData) + +from pip._vendor.msgpack import ExtType + + +EX_SKIP = 0 +EX_CONSTRUCT = 1 +EX_READ_ARRAY_HEADER = 2 +EX_READ_MAP_HEADER = 3 + +TYPE_IMMEDIATE = 0 +TYPE_ARRAY = 1 +TYPE_MAP = 2 +TYPE_RAW = 3 +TYPE_BIN = 4 +TYPE_EXT = 5 + +DEFAULT_RECURSE_LIMIT = 511 + + +def _check_type_strict(obj, t, type=type, tuple=tuple): + if type(t) is tuple: + return type(obj) in t + else: + return type(obj) is t + + +def _get_data_from_buffer(obj): + try: + view = memoryview(obj) + except TypeError: + # try to use legacy buffer protocol if 2.7, otherwise re-raise + if not PY3: + view = memoryview(buffer(obj)) + warnings.warn("using old buffer interface to unpack %s; " + "this leads to unpacking errors if slicing is used and " + "will be removed in a future version" % type(obj), + RuntimeWarning) + else: + raise + if view.itemsize != 1: + raise ValueError("cannot unpack from multi-byte object") + return view + + +def unpack(stream, **kwargs): + warnings.warn( + "Direct calling implementation's unpack() is deprecated, Use msgpack.unpack() or unpackb() instead.", + PendingDeprecationWarning) + data = stream.read() + return unpackb(data, **kwargs) + + +def unpackb(packed, **kwargs): + """ + Unpack an object from `packed`. + + Raises `ExtraData` when `packed` contains extra bytes. + See :class:`Unpacker` for options. + """ + unpacker = Unpacker(None, **kwargs) + unpacker.feed(packed) + try: + ret = unpacker._unpack() + except OutOfData: + raise UnpackValueError("Data is not enough.") + if unpacker._got_extradata(): + raise ExtraData(ret, unpacker._get_extradata()) + return ret + + +class Unpacker(object): + """Streaming unpacker. + + arguments: + + :param file_like: + File-like object having `.read(n)` method. + If specified, unpacker reads serialized data from it and :meth:`feed()` is not usable. + + :param int read_size: + Used as `file_like.read(read_size)`. (default: `min(16*1024, max_buffer_size)`) + + :param bool use_list: + If true, unpack msgpack array to Python list. + Otherwise, unpack to Python tuple. (default: True) + + :param bool raw: + If true, unpack msgpack raw to Python bytes (default). + Otherwise, unpack to Python str (or unicode on Python 2) by decoding + with UTF-8 encoding (recommended). + Currently, the default is true, but it will be changed to false in + near future. So you must specify it explicitly for keeping backward + compatibility. + + *encoding* option which is deprecated overrides this option. + + :param callable object_hook: + When specified, it should be callable. + Unpacker calls it with a dict argument after unpacking msgpack map. + (See also simplejson) + + :param callable object_pairs_hook: + When specified, it should be callable. + Unpacker calls it with a list of key-value pairs after unpacking msgpack map. + (See also simplejson) + + :param str encoding: + Encoding used for decoding msgpack raw. + If it is None (default), msgpack raw is deserialized to Python bytes. + + :param str unicode_errors: + (deprecated) Used for decoding msgpack raw with *encoding*. + (default: `'strict'`) + + :param int max_buffer_size: + Limits size of data waiting unpacked. 0 means system's INT_MAX (default). + Raises `BufferFull` exception when it is insufficient. + You should set this parameter when unpacking data from untrusted source. + + :param int max_str_len: + Limits max length of str. (default: 2**31-1) + + :param int max_bin_len: + Limits max length of bin. (default: 2**31-1) + + :param int max_array_len: + Limits max length of array. (default: 2**31-1) + + :param int max_map_len: + Limits max length of map. (default: 2**31-1) + + + example of streaming deserialize from file-like object:: + + unpacker = Unpacker(file_like, raw=False) + for o in unpacker: + process(o) + + example of streaming deserialize from socket:: + + unpacker = Unpacker(raw=False) + while True: + buf = sock.recv(1024**2) + if not buf: + break + unpacker.feed(buf) + for o in unpacker: + process(o) + """ + + def __init__(self, file_like=None, read_size=0, use_list=True, raw=True, + object_hook=None, object_pairs_hook=None, list_hook=None, + encoding=None, unicode_errors=None, max_buffer_size=0, + ext_hook=ExtType, + max_str_len=2147483647, # 2**32-1 + max_bin_len=2147483647, + max_array_len=2147483647, + max_map_len=2147483647, + max_ext_len=2147483647): + + if encoding is not None: + warnings.warn( + "encoding is deprecated, Use raw=False instead.", + PendingDeprecationWarning) + + if unicode_errors is None: + unicode_errors = 'strict' + + if file_like is None: + self._feeding = True + else: + if not callable(file_like.read): + raise TypeError("`file_like.read` must be callable") + self.file_like = file_like + self._feeding = False + + #: array of bytes fed. + self._buffer = bytearray() + # Some very old pythons don't support `struct.unpack_from()` with a + # `bytearray`. So we wrap it in a `buffer()` there. + if sys.version_info < (2, 7, 6): + self._buffer_view = buffer(self._buffer) + else: + self._buffer_view = self._buffer + #: Which position we currently reads + self._buff_i = 0 + + # When Unpacker is used as an iterable, between the calls to next(), + # the buffer is not "consumed" completely, for efficiency sake. + # Instead, it is done sloppily. To make sure we raise BufferFull at + # the correct moments, we have to keep track of how sloppy we were. + # Furthermore, when the buffer is incomplete (that is: in the case + # we raise an OutOfData) we need to rollback the buffer to the correct + # state, which _buf_checkpoint records. + self._buf_checkpoint = 0 + + self._max_buffer_size = max_buffer_size or 2**31-1 + if read_size > self._max_buffer_size: + raise ValueError("read_size must be smaller than max_buffer_size") + self._read_size = read_size or min(self._max_buffer_size, 16*1024) + self._raw = bool(raw) + self._encoding = encoding + self._unicode_errors = unicode_errors + self._use_list = use_list + self._list_hook = list_hook + self._object_hook = object_hook + self._object_pairs_hook = object_pairs_hook + self._ext_hook = ext_hook + self._max_str_len = max_str_len + self._max_bin_len = max_bin_len + self._max_array_len = max_array_len + self._max_map_len = max_map_len + self._max_ext_len = max_ext_len + self._stream_offset = 0 + + if list_hook is not None and not callable(list_hook): + raise TypeError('`list_hook` is not callable') + if object_hook is not None and not callable(object_hook): + raise TypeError('`object_hook` is not callable') + if object_pairs_hook is not None and not callable(object_pairs_hook): + raise TypeError('`object_pairs_hook` is not callable') + if object_hook is not None and object_pairs_hook is not None: + raise TypeError("object_pairs_hook and object_hook are mutually " + "exclusive") + if not callable(ext_hook): + raise TypeError("`ext_hook` is not callable") + + def feed(self, next_bytes): + assert self._feeding + view = _get_data_from_buffer(next_bytes) + if (len(self._buffer) - self._buff_i + len(view) > self._max_buffer_size): + raise BufferFull + + # Strip buffer before checkpoint before reading file. + if self._buf_checkpoint > 0: + del self._buffer[:self._buf_checkpoint] + self._buff_i -= self._buf_checkpoint + self._buf_checkpoint = 0 + + self._buffer += view + + def _consume(self): + """ Gets rid of the used parts of the buffer. """ + self._stream_offset += self._buff_i - self._buf_checkpoint + self._buf_checkpoint = self._buff_i + + def _got_extradata(self): + return self._buff_i < len(self._buffer) + + def _get_extradata(self): + return self._buffer[self._buff_i:] + + def read_bytes(self, n): + return self._read(n) + + def _read(self, n): + # (int) -> bytearray + self._reserve(n) + i = self._buff_i + self._buff_i = i+n + return self._buffer[i:i+n] + + def _reserve(self, n): + remain_bytes = len(self._buffer) - self._buff_i - n + + # Fast path: buffer has n bytes already + if remain_bytes >= 0: + return + + if self._feeding: + self._buff_i = self._buf_checkpoint + raise OutOfData + + # Strip buffer before checkpoint before reading file. + if self._buf_checkpoint > 0: + del self._buffer[:self._buf_checkpoint] + self._buff_i -= self._buf_checkpoint + self._buf_checkpoint = 0 + + # Read from file + remain_bytes = -remain_bytes + while remain_bytes > 0: + to_read_bytes = max(self._read_size, remain_bytes) + read_data = self.file_like.read(to_read_bytes) + if not read_data: + break + assert isinstance(read_data, bytes) + self._buffer += read_data + remain_bytes -= len(read_data) + + if len(self._buffer) < n + self._buff_i: + self._buff_i = 0 # rollback + raise OutOfData + + def _read_header(self, execute=EX_CONSTRUCT): + typ = TYPE_IMMEDIATE + n = 0 + obj = None + self._reserve(1) + b = self._buffer[self._buff_i] + self._buff_i += 1 + if b & 0b10000000 == 0: + obj = b + elif b & 0b11100000 == 0b11100000: + obj = -1 - (b ^ 0xff) + elif b & 0b11100000 == 0b10100000: + n = b & 0b00011111 + typ = TYPE_RAW + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b & 0b11110000 == 0b10010000: + n = b & 0b00001111 + typ = TYPE_ARRAY + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b & 0b11110000 == 0b10000000: + n = b & 0b00001111 + typ = TYPE_MAP + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + elif b == 0xc0: + obj = None + elif b == 0xc2: + obj = False + elif b == 0xc3: + obj = True + elif b == 0xc4: + typ = TYPE_BIN + self._reserve(1) + n = self._buffer[self._buff_i] + self._buff_i += 1 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc5: + typ = TYPE_BIN + self._reserve(2) + n = struct.unpack_from(">H", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc6: + typ = TYPE_BIN + self._reserve(4) + n = struct.unpack_from(">I", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + if n > self._max_bin_len: + raise UnpackValueError("%s exceeds max_bin_len(%s)" % (n, self._max_bin_len)) + obj = self._read(n) + elif b == 0xc7: # ext 8 + typ = TYPE_EXT + self._reserve(2) + L, n = struct.unpack_from('Bb', self._buffer_view, self._buff_i) + self._buff_i += 2 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xc8: # ext 16 + typ = TYPE_EXT + self._reserve(3) + L, n = struct.unpack_from('>Hb', self._buffer_view, self._buff_i) + self._buff_i += 3 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xc9: # ext 32 + typ = TYPE_EXT + self._reserve(5) + L, n = struct.unpack_from('>Ib', self._buffer_view, self._buff_i) + self._buff_i += 5 + if L > self._max_ext_len: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (L, self._max_ext_len)) + obj = self._read(L) + elif b == 0xca: + self._reserve(4) + obj = struct.unpack_from(">f", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xcb: + self._reserve(8) + obj = struct.unpack_from(">d", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xcc: + self._reserve(1) + obj = self._buffer[self._buff_i] + self._buff_i += 1 + elif b == 0xcd: + self._reserve(2) + obj = struct.unpack_from(">H", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + elif b == 0xce: + self._reserve(4) + obj = struct.unpack_from(">I", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xcf: + self._reserve(8) + obj = struct.unpack_from(">Q", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xd0: + self._reserve(1) + obj = struct.unpack_from("b", self._buffer_view, self._buff_i)[0] + self._buff_i += 1 + elif b == 0xd1: + self._reserve(2) + obj = struct.unpack_from(">h", self._buffer_view, self._buff_i)[0] + self._buff_i += 2 + elif b == 0xd2: + self._reserve(4) + obj = struct.unpack_from(">i", self._buffer_view, self._buff_i)[0] + self._buff_i += 4 + elif b == 0xd3: + self._reserve(8) + obj = struct.unpack_from(">q", self._buffer_view, self._buff_i)[0] + self._buff_i += 8 + elif b == 0xd4: # fixext 1 + typ = TYPE_EXT + if self._max_ext_len < 1: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (1, self._max_ext_len)) + self._reserve(2) + n, obj = struct.unpack_from("b1s", self._buffer_view, self._buff_i) + self._buff_i += 2 + elif b == 0xd5: # fixext 2 + typ = TYPE_EXT + if self._max_ext_len < 2: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (2, self._max_ext_len)) + self._reserve(3) + n, obj = struct.unpack_from("b2s", self._buffer_view, self._buff_i) + self._buff_i += 3 + elif b == 0xd6: # fixext 4 + typ = TYPE_EXT + if self._max_ext_len < 4: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (4, self._max_ext_len)) + self._reserve(5) + n, obj = struct.unpack_from("b4s", self._buffer_view, self._buff_i) + self._buff_i += 5 + elif b == 0xd7: # fixext 8 + typ = TYPE_EXT + if self._max_ext_len < 8: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (8, self._max_ext_len)) + self._reserve(9) + n, obj = struct.unpack_from("b8s", self._buffer_view, self._buff_i) + self._buff_i += 9 + elif b == 0xd8: # fixext 16 + typ = TYPE_EXT + if self._max_ext_len < 16: + raise UnpackValueError("%s exceeds max_ext_len(%s)" % (16, self._max_ext_len)) + self._reserve(17) + n, obj = struct.unpack_from("b16s", self._buffer_view, self._buff_i) + self._buff_i += 17 + elif b == 0xd9: + typ = TYPE_RAW + self._reserve(1) + n = self._buffer[self._buff_i] + self._buff_i += 1 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xda: + typ = TYPE_RAW + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xdb: + typ = TYPE_RAW + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_str_len: + raise UnpackValueError("%s exceeds max_str_len(%s)", n, self._max_str_len) + obj = self._read(n) + elif b == 0xdc: + typ = TYPE_ARRAY + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b == 0xdd: + typ = TYPE_ARRAY + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_array_len: + raise UnpackValueError("%s exceeds max_array_len(%s)", n, self._max_array_len) + elif b == 0xde: + self._reserve(2) + n, = struct.unpack_from(">H", self._buffer_view, self._buff_i) + self._buff_i += 2 + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + typ = TYPE_MAP + elif b == 0xdf: + self._reserve(4) + n, = struct.unpack_from(">I", self._buffer_view, self._buff_i) + self._buff_i += 4 + if n > self._max_map_len: + raise UnpackValueError("%s exceeds max_map_len(%s)", n, self._max_map_len) + typ = TYPE_MAP + else: + raise UnpackValueError("Unknown header: 0x%x" % b) + return typ, n, obj + + def _unpack(self, execute=EX_CONSTRUCT): + typ, n, obj = self._read_header(execute) + + if execute == EX_READ_ARRAY_HEADER: + if typ != TYPE_ARRAY: + raise UnpackValueError("Expected array") + return n + if execute == EX_READ_MAP_HEADER: + if typ != TYPE_MAP: + raise UnpackValueError("Expected map") + return n + # TODO should we eliminate the recursion? + if typ == TYPE_ARRAY: + if execute == EX_SKIP: + for i in xrange(n): + # TODO check whether we need to call `list_hook` + self._unpack(EX_SKIP) + return + ret = newlist_hint(n) + for i in xrange(n): + ret.append(self._unpack(EX_CONSTRUCT)) + if self._list_hook is not None: + ret = self._list_hook(ret) + # TODO is the interaction between `list_hook` and `use_list` ok? + return ret if self._use_list else tuple(ret) + if typ == TYPE_MAP: + if execute == EX_SKIP: + for i in xrange(n): + # TODO check whether we need to call hooks + self._unpack(EX_SKIP) + self._unpack(EX_SKIP) + return + if self._object_pairs_hook is not None: + ret = self._object_pairs_hook( + (self._unpack(EX_CONSTRUCT), + self._unpack(EX_CONSTRUCT)) + for _ in xrange(n)) + else: + ret = {} + for _ in xrange(n): + key = self._unpack(EX_CONSTRUCT) + ret[key] = self._unpack(EX_CONSTRUCT) + if self._object_hook is not None: + ret = self._object_hook(ret) + return ret + if execute == EX_SKIP: + return + if typ == TYPE_RAW: + if self._encoding is not None: + obj = obj.decode(self._encoding, self._unicode_errors) + elif self._raw: + obj = bytes(obj) + else: + obj = obj.decode('utf_8') + return obj + if typ == TYPE_EXT: + return self._ext_hook(n, bytes(obj)) + if typ == TYPE_BIN: + return bytes(obj) + assert typ == TYPE_IMMEDIATE + return obj + + def __iter__(self): + return self + + def __next__(self): + try: + ret = self._unpack(EX_CONSTRUCT) + self._consume() + return ret + except OutOfData: + self._consume() + raise StopIteration + + next = __next__ + + def skip(self, write_bytes=None): + self._unpack(EX_SKIP) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + + def unpack(self, write_bytes=None): + ret = self._unpack(EX_CONSTRUCT) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def read_array_header(self, write_bytes=None): + ret = self._unpack(EX_READ_ARRAY_HEADER) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def read_map_header(self, write_bytes=None): + ret = self._unpack(EX_READ_MAP_HEADER) + if write_bytes is not None: + warnings.warn("`write_bytes` option is deprecated. Use `.tell()` instead.", DeprecationWarning) + write_bytes(self._buffer[self._buf_checkpoint:self._buff_i]) + self._consume() + return ret + + def tell(self): + return self._stream_offset + + +class Packer(object): + """ + MessagePack Packer + + usage: + + packer = Packer() + astream.write(packer.pack(a)) + astream.write(packer.pack(b)) + + Packer's constructor has some keyword arguments: + + :param callable default: + Convert user type to builtin type that Packer supports. + See also simplejson's document. + + :param bool use_single_float: + Use single precision float type for float. (default: False) + + :param bool autoreset: + Reset buffer after each pack and return its content as `bytes`. (default: True). + If set this to false, use `bytes()` to get content and `.reset()` to clear buffer. + + :param bool use_bin_type: + Use bin type introduced in msgpack spec 2.0 for bytes. + It also enables str8 type for unicode. + + :param bool strict_types: + If set to true, types will be checked to be exact. Derived classes + from serializeable types will not be serialized and will be + treated as unsupported type and forwarded to default. + Additionally tuples will not be serialized as lists. + This is useful when trying to implement accurate serialization + for python types. + + :param str encoding: + (deprecated) Convert unicode to bytes with this encoding. (default: 'utf-8') + + :param str unicode_errors: + Error handler for encoding unicode. (default: 'strict') + """ + def __init__(self, default=None, encoding=None, unicode_errors=None, + use_single_float=False, autoreset=True, use_bin_type=False, + strict_types=False): + if encoding is None: + encoding = 'utf_8' + else: + warnings.warn( + "encoding is deprecated, Use raw=False instead.", + PendingDeprecationWarning) + + if unicode_errors is None: + unicode_errors = 'strict' + + self._strict_types = strict_types + self._use_float = use_single_float + self._autoreset = autoreset + self._use_bin_type = use_bin_type + self._encoding = encoding + self._unicode_errors = unicode_errors + self._buffer = StringIO() + if default is not None: + if not callable(default): + raise TypeError("default must be callable") + self._default = default + + def _pack(self, obj, nest_limit=DEFAULT_RECURSE_LIMIT, + check=isinstance, check_type_strict=_check_type_strict): + default_used = False + if self._strict_types: + check = check_type_strict + list_types = list + else: + list_types = (list, tuple) + while True: + if nest_limit < 0: + raise PackValueError("recursion limit exceeded") + if obj is None: + return self._buffer.write(b"\xc0") + if check(obj, bool): + if obj: + return self._buffer.write(b"\xc3") + return self._buffer.write(b"\xc2") + if check(obj, int_types): + if 0 <= obj < 0x80: + return self._buffer.write(struct.pack("B", obj)) + if -0x20 <= obj < 0: + return self._buffer.write(struct.pack("b", obj)) + if 0x80 <= obj <= 0xff: + return self._buffer.write(struct.pack("BB", 0xcc, obj)) + if -0x80 <= obj < 0: + return self._buffer.write(struct.pack(">Bb", 0xd0, obj)) + if 0xff < obj <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xcd, obj)) + if -0x8000 <= obj < -0x80: + return self._buffer.write(struct.pack(">Bh", 0xd1, obj)) + if 0xffff < obj <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xce, obj)) + if -0x80000000 <= obj < -0x8000: + return self._buffer.write(struct.pack(">Bi", 0xd2, obj)) + if 0xffffffff < obj <= 0xffffffffffffffff: + return self._buffer.write(struct.pack(">BQ", 0xcf, obj)) + if -0x8000000000000000 <= obj < -0x80000000: + return self._buffer.write(struct.pack(">Bq", 0xd3, obj)) + if not default_used and self._default is not None: + obj = self._default(obj) + default_used = True + continue + raise PackOverflowError("Integer value out of range") + if check(obj, (bytes, bytearray)): + n = len(obj) + if n >= 2**32: + raise PackValueError("%s is too large" % type(obj).__name__) + self._pack_bin_header(n) + return self._buffer.write(obj) + if check(obj, Unicode): + if self._encoding is None: + raise TypeError( + "Can't encode unicode string: " + "no encoding is specified") + obj = obj.encode(self._encoding, self._unicode_errors) + n = len(obj) + if n >= 2**32: + raise PackValueError("String is too large") + self._pack_raw_header(n) + return self._buffer.write(obj) + if check(obj, memoryview): + n = len(obj) * obj.itemsize + if n >= 2**32: + raise PackValueError("Memoryview is too large") + self._pack_bin_header(n) + return self._buffer.write(obj) + if check(obj, float): + if self._use_float: + return self._buffer.write(struct.pack(">Bf", 0xca, obj)) + return self._buffer.write(struct.pack(">Bd", 0xcb, obj)) + if check(obj, ExtType): + code = obj.code + data = obj.data + assert isinstance(code, int) + assert isinstance(data, bytes) + L = len(data) + if L == 1: + self._buffer.write(b'\xd4') + elif L == 2: + self._buffer.write(b'\xd5') + elif L == 4: + self._buffer.write(b'\xd6') + elif L == 8: + self._buffer.write(b'\xd7') + elif L == 16: + self._buffer.write(b'\xd8') + elif L <= 0xff: + self._buffer.write(struct.pack(">BB", 0xc7, L)) + elif L <= 0xffff: + self._buffer.write(struct.pack(">BH", 0xc8, L)) + else: + self._buffer.write(struct.pack(">BI", 0xc9, L)) + self._buffer.write(struct.pack("b", code)) + self._buffer.write(data) + return + if check(obj, list_types): + n = len(obj) + self._pack_array_header(n) + for i in xrange(n): + self._pack(obj[i], nest_limit - 1) + return + if check(obj, dict): + return self._pack_map_pairs(len(obj), dict_iteritems(obj), + nest_limit - 1) + if not default_used and self._default is not None: + obj = self._default(obj) + default_used = 1 + continue + raise TypeError("Cannot serialize %r" % (obj, )) + + def pack(self, obj): + try: + self._pack(obj) + except: + self._buffer = StringIO() # force reset + raise + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_map_pairs(self, pairs): + self._pack_map_pairs(len(pairs), pairs) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_array_header(self, n): + if n >= 2**32: + raise PackValueError + self._pack_array_header(n) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_map_header(self, n): + if n >= 2**32: + raise PackValueError + self._pack_map_header(n) + ret = self._buffer.getvalue() + if self._autoreset: + self._buffer = StringIO() + elif USING_STRINGBUILDER: + self._buffer = StringIO(ret) + return ret + + def pack_ext_type(self, typecode, data): + if not isinstance(typecode, int): + raise TypeError("typecode must have int type.") + if not 0 <= typecode <= 127: + raise ValueError("typecode should be 0-127") + if not isinstance(data, bytes): + raise TypeError("data must have bytes type") + L = len(data) + if L > 0xffffffff: + raise PackValueError("Too large data") + if L == 1: + self._buffer.write(b'\xd4') + elif L == 2: + self._buffer.write(b'\xd5') + elif L == 4: + self._buffer.write(b'\xd6') + elif L == 8: + self._buffer.write(b'\xd7') + elif L == 16: + self._buffer.write(b'\xd8') + elif L <= 0xff: + self._buffer.write(b'\xc7' + struct.pack('B', L)) + elif L <= 0xffff: + self._buffer.write(b'\xc8' + struct.pack('>H', L)) + else: + self._buffer.write(b'\xc9' + struct.pack('>I', L)) + self._buffer.write(struct.pack('B', typecode)) + self._buffer.write(data) + + def _pack_array_header(self, n): + if n <= 0x0f: + return self._buffer.write(struct.pack('B', 0x90 + n)) + if n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xdc, n)) + if n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xdd, n)) + raise PackValueError("Array is too large") + + def _pack_map_header(self, n): + if n <= 0x0f: + return self._buffer.write(struct.pack('B', 0x80 + n)) + if n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xde, n)) + if n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xdf, n)) + raise PackValueError("Dict is too large") + + def _pack_map_pairs(self, n, pairs, nest_limit=DEFAULT_RECURSE_LIMIT): + self._pack_map_header(n) + for (k, v) in pairs: + self._pack(k, nest_limit - 1) + self._pack(v, nest_limit - 1) + + def _pack_raw_header(self, n): + if n <= 0x1f: + self._buffer.write(struct.pack('B', 0xa0 + n)) + elif self._use_bin_type and n <= 0xff: + self._buffer.write(struct.pack('>BB', 0xd9, n)) + elif n <= 0xffff: + self._buffer.write(struct.pack(">BH", 0xda, n)) + elif n <= 0xffffffff: + self._buffer.write(struct.pack(">BI", 0xdb, n)) + else: + raise PackValueError('Raw is too large') + + def _pack_bin_header(self, n): + if not self._use_bin_type: + return self._pack_raw_header(n) + elif n <= 0xff: + return self._buffer.write(struct.pack('>BB', 0xc4, n)) + elif n <= 0xffff: + return self._buffer.write(struct.pack(">BH", 0xc5, n)) + elif n <= 0xffffffff: + return self._buffer.write(struct.pack(">BI", 0xc6, n)) + else: + raise PackValueError('Bin is too large') + + def bytes(self): + return self._buffer.getvalue() + + def reset(self): + self._buffer = StringIO() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/__about__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/__about__.py new file mode 100644 index 0000000000..7481c9e298 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/__about__.py @@ -0,0 +1,27 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +__all__ = [ + "__title__", + "__summary__", + "__uri__", + "__version__", + "__author__", + "__email__", + "__license__", + "__copyright__", +] + +__title__ = "packaging" +__summary__ = "Core utilities for Python packages" +__uri__ = "https://github.com/pypa/packaging" + +__version__ = "19.0" + +__author__ = "Donald Stufft and individual contributors" +__email__ = "donald@stufft.io" + +__license__ = "BSD or Apache License, Version 2.0" +__copyright__ = "Copyright 2014-2019 %s" % __author__ diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/__init__.py new file mode 100644 index 0000000000..a0cf67df52 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/__init__.py @@ -0,0 +1,26 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +from .__about__ import ( + __author__, + __copyright__, + __email__, + __license__, + __summary__, + __title__, + __uri__, + __version__, +) + +__all__ = [ + "__title__", + "__summary__", + "__uri__", + "__version__", + "__author__", + "__email__", + "__license__", + "__copyright__", +] diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/_compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/_compat.py new file mode 100644 index 0000000000..25da473c19 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/_compat.py @@ -0,0 +1,31 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import sys + + +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 + +# flake8: noqa + +if PY3: + string_types = (str,) +else: + string_types = (basestring,) + + +def with_metaclass(meta, *bases): + """ + Create a base class with a metaclass. + """ + # This requires a bit of explanation: the basic idea is to make a dummy + # metaclass for one level of class instantiation that replaces itself with + # the actual metaclass. + class metaclass(meta): + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + + return type.__new__(metaclass, "temporary_class", (), {}) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/_structures.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/_structures.py new file mode 100644 index 0000000000..68dcca634d --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/_structures.py @@ -0,0 +1,68 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + + +class Infinity(object): + def __repr__(self): + return "Infinity" + + def __hash__(self): + return hash(repr(self)) + + def __lt__(self, other): + return False + + def __le__(self, other): + return False + + def __eq__(self, other): + return isinstance(other, self.__class__) + + def __ne__(self, other): + return not isinstance(other, self.__class__) + + def __gt__(self, other): + return True + + def __ge__(self, other): + return True + + def __neg__(self): + return NegativeInfinity + + +Infinity = Infinity() + + +class NegativeInfinity(object): + def __repr__(self): + return "-Infinity" + + def __hash__(self): + return hash(repr(self)) + + def __lt__(self, other): + return True + + def __le__(self, other): + return True + + def __eq__(self, other): + return isinstance(other, self.__class__) + + def __ne__(self, other): + return not isinstance(other, self.__class__) + + def __gt__(self, other): + return False + + def __ge__(self, other): + return False + + def __neg__(self): + return Infinity + + +NegativeInfinity = NegativeInfinity() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/markers.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/markers.py new file mode 100644 index 0000000000..548247681b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/markers.py @@ -0,0 +1,296 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import operator +import os +import platform +import sys + +from pip._vendor.pyparsing import ParseException, ParseResults, stringStart, stringEnd +from pip._vendor.pyparsing import ZeroOrMore, Group, Forward, QuotedString +from pip._vendor.pyparsing import Literal as L # noqa + +from ._compat import string_types +from .specifiers import Specifier, InvalidSpecifier + + +__all__ = [ + "InvalidMarker", + "UndefinedComparison", + "UndefinedEnvironmentName", + "Marker", + "default_environment", +] + + +class InvalidMarker(ValueError): + """ + An invalid marker was found, users should refer to PEP 508. + """ + + +class UndefinedComparison(ValueError): + """ + An invalid operation was attempted on a value that doesn't support it. + """ + + +class UndefinedEnvironmentName(ValueError): + """ + A name was attempted to be used that does not exist inside of the + environment. + """ + + +class Node(object): + def __init__(self, value): + self.value = value + + def __str__(self): + return str(self.value) + + def __repr__(self): + return "<{0}({1!r})>".format(self.__class__.__name__, str(self)) + + def serialize(self): + raise NotImplementedError + + +class Variable(Node): + def serialize(self): + return str(self) + + +class Value(Node): + def serialize(self): + return '"{0}"'.format(self) + + +class Op(Node): + def serialize(self): + return str(self) + + +VARIABLE = ( + L("implementation_version") + | L("platform_python_implementation") + | L("implementation_name") + | L("python_full_version") + | L("platform_release") + | L("platform_version") + | L("platform_machine") + | L("platform_system") + | L("python_version") + | L("sys_platform") + | L("os_name") + | L("os.name") + | L("sys.platform") # PEP-345 + | L("platform.version") # PEP-345 + | L("platform.machine") # PEP-345 + | L("platform.python_implementation") # PEP-345 + | L("python_implementation") # PEP-345 + | L("extra") # undocumented setuptools legacy +) +ALIASES = { + "os.name": "os_name", + "sys.platform": "sys_platform", + "platform.version": "platform_version", + "platform.machine": "platform_machine", + "platform.python_implementation": "platform_python_implementation", + "python_implementation": "platform_python_implementation", +} +VARIABLE.setParseAction(lambda s, l, t: Variable(ALIASES.get(t[0], t[0]))) + +VERSION_CMP = ( + L("===") | L("==") | L(">=") | L("<=") | L("!=") | L("~=") | L(">") | L("<") +) + +MARKER_OP = VERSION_CMP | L("not in") | L("in") +MARKER_OP.setParseAction(lambda s, l, t: Op(t[0])) + +MARKER_VALUE = QuotedString("'") | QuotedString('"') +MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0])) + +BOOLOP = L("and") | L("or") + +MARKER_VAR = VARIABLE | MARKER_VALUE + +MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR) +MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0])) + +LPAREN = L("(").suppress() +RPAREN = L(")").suppress() + +MARKER_EXPR = Forward() +MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN) +MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR) + +MARKER = stringStart + MARKER_EXPR + stringEnd + + +def _coerce_parse_result(results): + if isinstance(results, ParseResults): + return [_coerce_parse_result(i) for i in results] + else: + return results + + +def _format_marker(marker, first=True): + assert isinstance(marker, (list, tuple, string_types)) + + # Sometimes we have a structure like [[...]] which is a single item list + # where the single item is itself it's own list. In that case we want skip + # the rest of this function so that we don't get extraneous () on the + # outside. + if ( + isinstance(marker, list) + and len(marker) == 1 + and isinstance(marker[0], (list, tuple)) + ): + return _format_marker(marker[0]) + + if isinstance(marker, list): + inner = (_format_marker(m, first=False) for m in marker) + if first: + return " ".join(inner) + else: + return "(" + " ".join(inner) + ")" + elif isinstance(marker, tuple): + return " ".join([m.serialize() for m in marker]) + else: + return marker + + +_operators = { + "in": lambda lhs, rhs: lhs in rhs, + "not in": lambda lhs, rhs: lhs not in rhs, + "<": operator.lt, + "<=": operator.le, + "==": operator.eq, + "!=": operator.ne, + ">=": operator.ge, + ">": operator.gt, +} + + +def _eval_op(lhs, op, rhs): + try: + spec = Specifier("".join([op.serialize(), rhs])) + except InvalidSpecifier: + pass + else: + return spec.contains(lhs) + + oper = _operators.get(op.serialize()) + if oper is None: + raise UndefinedComparison( + "Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs) + ) + + return oper(lhs, rhs) + + +_undefined = object() + + +def _get_env(environment, name): + value = environment.get(name, _undefined) + + if value is _undefined: + raise UndefinedEnvironmentName( + "{0!r} does not exist in evaluation environment.".format(name) + ) + + return value + + +def _evaluate_markers(markers, environment): + groups = [[]] + + for marker in markers: + assert isinstance(marker, (list, tuple, string_types)) + + if isinstance(marker, list): + groups[-1].append(_evaluate_markers(marker, environment)) + elif isinstance(marker, tuple): + lhs, op, rhs = marker + + if isinstance(lhs, Variable): + lhs_value = _get_env(environment, lhs.value) + rhs_value = rhs.value + else: + lhs_value = lhs.value + rhs_value = _get_env(environment, rhs.value) + + groups[-1].append(_eval_op(lhs_value, op, rhs_value)) + else: + assert marker in ["and", "or"] + if marker == "or": + groups.append([]) + + return any(all(item) for item in groups) + + +def format_full_version(info): + version = "{0.major}.{0.minor}.{0.micro}".format(info) + kind = info.releaselevel + if kind != "final": + version += kind[0] + str(info.serial) + return version + + +def default_environment(): + if hasattr(sys, "implementation"): + iver = format_full_version(sys.implementation.version) + implementation_name = sys.implementation.name + else: + iver = "0" + implementation_name = "" + + return { + "implementation_name": implementation_name, + "implementation_version": iver, + "os_name": os.name, + "platform_machine": platform.machine(), + "platform_release": platform.release(), + "platform_system": platform.system(), + "platform_version": platform.version(), + "python_full_version": platform.python_version(), + "platform_python_implementation": platform.python_implementation(), + "python_version": platform.python_version()[:3], + "sys_platform": sys.platform, + } + + +class Marker(object): + def __init__(self, marker): + try: + self._markers = _coerce_parse_result(MARKER.parseString(marker)) + except ParseException as e: + err_str = "Invalid marker: {0!r}, parse error at {1!r}".format( + marker, marker[e.loc : e.loc + 8] + ) + raise InvalidMarker(err_str) + + def __str__(self): + return _format_marker(self._markers) + + def __repr__(self): + return "<Marker({0!r})>".format(str(self)) + + def evaluate(self, environment=None): + """Evaluate a marker. + + Return the boolean from evaluating the given marker against the + environment. environment is an optional argument to override all or + part of the determined environment. + + The environment is determined from the current Python process. + """ + current_environment = default_environment() + if environment is not None: + current_environment.update(environment) + + return _evaluate_markers(self._markers, current_environment) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/requirements.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/requirements.py new file mode 100644 index 0000000000..dbc5f11db2 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/requirements.py @@ -0,0 +1,138 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import string +import re + +from pip._vendor.pyparsing import stringStart, stringEnd, originalTextFor, ParseException +from pip._vendor.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine +from pip._vendor.pyparsing import Literal as L # noqa +from pip._vendor.six.moves.urllib import parse as urlparse + +from .markers import MARKER_EXPR, Marker +from .specifiers import LegacySpecifier, Specifier, SpecifierSet + + +class InvalidRequirement(ValueError): + """ + An invalid requirement was found, users should refer to PEP 508. + """ + + +ALPHANUM = Word(string.ascii_letters + string.digits) + +LBRACKET = L("[").suppress() +RBRACKET = L("]").suppress() +LPAREN = L("(").suppress() +RPAREN = L(")").suppress() +COMMA = L(",").suppress() +SEMICOLON = L(";").suppress() +AT = L("@").suppress() + +PUNCTUATION = Word("-_.") +IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM) +IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END)) + +NAME = IDENTIFIER("name") +EXTRA = IDENTIFIER + +URI = Regex(r"[^ ]+")("url") +URL = AT + URI + +EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA) +EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras") + +VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE) +VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE) + +VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY +VERSION_MANY = Combine( + VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE), joinString=",", adjacent=False +)("_raw_spec") +_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY)) +_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or "") + +VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier") +VERSION_SPEC.setParseAction(lambda s, l, t: t[1]) + +MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") +MARKER_EXPR.setParseAction( + lambda s, l, t: Marker(s[t._original_start : t._original_end]) +) +MARKER_SEPARATOR = SEMICOLON +MARKER = MARKER_SEPARATOR + MARKER_EXPR + +VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER) +URL_AND_MARKER = URL + Optional(MARKER) + +NAMED_REQUIREMENT = NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER) + +REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd +# pyparsing isn't thread safe during initialization, so we do it eagerly, see +# issue #104 +REQUIREMENT.parseString("x[]") + + +class Requirement(object): + """Parse a requirement. + + Parse a given requirement string into its parts, such as name, specifier, + URL, and extras. Raises InvalidRequirement on a badly-formed requirement + string. + """ + + # TODO: Can we test whether something is contained within a requirement? + # If so how do we do that? Do we need to test against the _name_ of + # the thing as well as the version? What about the markers? + # TODO: Can we normalize the name and extra name? + + def __init__(self, requirement_string): + try: + req = REQUIREMENT.parseString(requirement_string) + except ParseException as e: + raise InvalidRequirement( + 'Parse error at "{0!r}": {1}'.format( + requirement_string[e.loc : e.loc + 8], e.msg + ) + ) + + self.name = req.name + if req.url: + parsed_url = urlparse.urlparse(req.url) + if parsed_url.scheme == "file": + if urlparse.urlunparse(parsed_url) != req.url: + raise InvalidRequirement("Invalid URL given") + elif not (parsed_url.scheme and parsed_url.netloc) or ( + not parsed_url.scheme and not parsed_url.netloc + ): + raise InvalidRequirement("Invalid URL: {0}".format(req.url)) + self.url = req.url + else: + self.url = None + self.extras = set(req.extras.asList() if req.extras else []) + self.specifier = SpecifierSet(req.specifier) + self.marker = req.marker if req.marker else None + + def __str__(self): + parts = [self.name] + + if self.extras: + parts.append("[{0}]".format(",".join(sorted(self.extras)))) + + if self.specifier: + parts.append(str(self.specifier)) + + if self.url: + parts.append("@ {0}".format(self.url)) + if self.marker: + parts.append(" ") + + if self.marker: + parts.append("; {0}".format(self.marker)) + + return "".join(parts) + + def __repr__(self): + return "<Requirement({0!r})>".format(str(self)) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/specifiers.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/specifiers.py new file mode 100644 index 0000000000..743576a080 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/specifiers.py @@ -0,0 +1,749 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import abc +import functools +import itertools +import re + +from ._compat import string_types, with_metaclass +from .version import Version, LegacyVersion, parse + + +class InvalidSpecifier(ValueError): + """ + An invalid specifier was found, users should refer to PEP 440. + """ + + +class BaseSpecifier(with_metaclass(abc.ABCMeta, object)): + @abc.abstractmethod + def __str__(self): + """ + Returns the str representation of this Specifier like object. This + should be representative of the Specifier itself. + """ + + @abc.abstractmethod + def __hash__(self): + """ + Returns a hash value for this Specifier like object. + """ + + @abc.abstractmethod + def __eq__(self, other): + """ + Returns a boolean representing whether or not the two Specifier like + objects are equal. + """ + + @abc.abstractmethod + def __ne__(self, other): + """ + Returns a boolean representing whether or not the two Specifier like + objects are not equal. + """ + + @abc.abstractproperty + def prereleases(self): + """ + Returns whether or not pre-releases as a whole are allowed by this + specifier. + """ + + @prereleases.setter + def prereleases(self, value): + """ + Sets whether or not pre-releases as a whole are allowed by this + specifier. + """ + + @abc.abstractmethod + def contains(self, item, prereleases=None): + """ + Determines if the given item is contained within this specifier. + """ + + @abc.abstractmethod + def filter(self, iterable, prereleases=None): + """ + Takes an iterable of items and filters them so that only items which + are contained within this specifier are allowed in it. + """ + + +class _IndividualSpecifier(BaseSpecifier): + + _operators = {} + + def __init__(self, spec="", prereleases=None): + match = self._regex.search(spec) + if not match: + raise InvalidSpecifier("Invalid specifier: '{0}'".format(spec)) + + self._spec = (match.group("operator").strip(), match.group("version").strip()) + + # Store whether or not this Specifier should accept prereleases + self._prereleases = prereleases + + def __repr__(self): + pre = ( + ", prereleases={0!r}".format(self.prereleases) + if self._prereleases is not None + else "" + ) + + return "<{0}({1!r}{2})>".format(self.__class__.__name__, str(self), pre) + + def __str__(self): + return "{0}{1}".format(*self._spec) + + def __hash__(self): + return hash(self._spec) + + def __eq__(self, other): + if isinstance(other, string_types): + try: + other = self.__class__(other) + except InvalidSpecifier: + return NotImplemented + elif not isinstance(other, self.__class__): + return NotImplemented + + return self._spec == other._spec + + def __ne__(self, other): + if isinstance(other, string_types): + try: + other = self.__class__(other) + except InvalidSpecifier: + return NotImplemented + elif not isinstance(other, self.__class__): + return NotImplemented + + return self._spec != other._spec + + def _get_operator(self, op): + return getattr(self, "_compare_{0}".format(self._operators[op])) + + def _coerce_version(self, version): + if not isinstance(version, (LegacyVersion, Version)): + version = parse(version) + return version + + @property + def operator(self): + return self._spec[0] + + @property + def version(self): + return self._spec[1] + + @property + def prereleases(self): + return self._prereleases + + @prereleases.setter + def prereleases(self, value): + self._prereleases = value + + def __contains__(self, item): + return self.contains(item) + + def contains(self, item, prereleases=None): + # Determine if prereleases are to be allowed or not. + if prereleases is None: + prereleases = self.prereleases + + # Normalize item to a Version or LegacyVersion, this allows us to have + # a shortcut for ``"2.0" in Specifier(">=2") + item = self._coerce_version(item) + + # Determine if we should be supporting prereleases in this specifier + # or not, if we do not support prereleases than we can short circuit + # logic if this version is a prereleases. + if item.is_prerelease and not prereleases: + return False + + # Actually do the comparison to determine if this item is contained + # within this Specifier or not. + return self._get_operator(self.operator)(item, self.version) + + def filter(self, iterable, prereleases=None): + yielded = False + found_prereleases = [] + + kw = {"prereleases": prereleases if prereleases is not None else True} + + # Attempt to iterate over all the values in the iterable and if any of + # them match, yield them. + for version in iterable: + parsed_version = self._coerce_version(version) + + if self.contains(parsed_version, **kw): + # If our version is a prerelease, and we were not set to allow + # prereleases, then we'll store it for later incase nothing + # else matches this specifier. + if parsed_version.is_prerelease and not ( + prereleases or self.prereleases + ): + found_prereleases.append(version) + # Either this is not a prerelease, or we should have been + # accepting prereleases from the beginning. + else: + yielded = True + yield version + + # Now that we've iterated over everything, determine if we've yielded + # any values, and if we have not and we have any prereleases stored up + # then we will go ahead and yield the prereleases. + if not yielded and found_prereleases: + for version in found_prereleases: + yield version + + +class LegacySpecifier(_IndividualSpecifier): + + _regex_str = r""" + (?P<operator>(==|!=|<=|>=|<|>)) + \s* + (?P<version> + [^,;\s)]* # Since this is a "legacy" specifier, and the version + # string can be just about anything, we match everything + # except for whitespace, a semi-colon for marker support, + # a closing paren since versions can be enclosed in + # them, and a comma since it's a version separator. + ) + """ + + _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) + + _operators = { + "==": "equal", + "!=": "not_equal", + "<=": "less_than_equal", + ">=": "greater_than_equal", + "<": "less_than", + ">": "greater_than", + } + + def _coerce_version(self, version): + if not isinstance(version, LegacyVersion): + version = LegacyVersion(str(version)) + return version + + def _compare_equal(self, prospective, spec): + return prospective == self._coerce_version(spec) + + def _compare_not_equal(self, prospective, spec): + return prospective != self._coerce_version(spec) + + def _compare_less_than_equal(self, prospective, spec): + return prospective <= self._coerce_version(spec) + + def _compare_greater_than_equal(self, prospective, spec): + return prospective >= self._coerce_version(spec) + + def _compare_less_than(self, prospective, spec): + return prospective < self._coerce_version(spec) + + def _compare_greater_than(self, prospective, spec): + return prospective > self._coerce_version(spec) + + +def _require_version_compare(fn): + @functools.wraps(fn) + def wrapped(self, prospective, spec): + if not isinstance(prospective, Version): + return False + return fn(self, prospective, spec) + + return wrapped + + +class Specifier(_IndividualSpecifier): + + _regex_str = r""" + (?P<operator>(~=|==|!=|<=|>=|<|>|===)) + (?P<version> + (?: + # The identity operators allow for an escape hatch that will + # do an exact string match of the version you wish to install. + # This will not be parsed by PEP 440 and we cannot determine + # any semantic meaning from it. This operator is discouraged + # but included entirely as an escape hatch. + (?<====) # Only match for the identity operator + \s* + [^\s]* # We just match everything, except for whitespace + # since we are only testing for strict identity. + ) + | + (?: + # The (non)equality operators allow for wild card and local + # versions to be specified so we have to define these two + # operators separately to enable that. + (?<===|!=) # Only match for equals and not equals + + \s* + v? + (?:[0-9]+!)? # epoch + [0-9]+(?:\.[0-9]+)* # release + (?: # pre release + [-_\.]? + (a|b|c|rc|alpha|beta|pre|preview) + [-_\.]? + [0-9]* + )? + (?: # post release + (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) + )? + + # You cannot use a wild card and a dev or local version + # together so group them with a | and make them optional. + (?: + (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release + (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local + | + \.\* # Wild card syntax of .* + )? + ) + | + (?: + # The compatible operator requires at least two digits in the + # release segment. + (?<=~=) # Only match for the compatible operator + + \s* + v? + (?:[0-9]+!)? # epoch + [0-9]+(?:\.[0-9]+)+ # release (We have a + instead of a *) + (?: # pre release + [-_\.]? + (a|b|c|rc|alpha|beta|pre|preview) + [-_\.]? + [0-9]* + )? + (?: # post release + (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) + )? + (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release + ) + | + (?: + # All other operators only allow a sub set of what the + # (non)equality operators do. Specifically they do not allow + # local versions to be specified nor do they allow the prefix + # matching wild cards. + (?<!==|!=|~=) # We have special cases for these + # operators so we want to make sure they + # don't match here. + + \s* + v? + (?:[0-9]+!)? # epoch + [0-9]+(?:\.[0-9]+)* # release + (?: # pre release + [-_\.]? + (a|b|c|rc|alpha|beta|pre|preview) + [-_\.]? + [0-9]* + )? + (?: # post release + (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*) + )? + (?:[-_\.]?dev[-_\.]?[0-9]*)? # dev release + ) + ) + """ + + _regex = re.compile(r"^\s*" + _regex_str + r"\s*$", re.VERBOSE | re.IGNORECASE) + + _operators = { + "~=": "compatible", + "==": "equal", + "!=": "not_equal", + "<=": "less_than_equal", + ">=": "greater_than_equal", + "<": "less_than", + ">": "greater_than", + "===": "arbitrary", + } + + @_require_version_compare + def _compare_compatible(self, prospective, spec): + # Compatible releases have an equivalent combination of >= and ==. That + # is that ~=2.2 is equivalent to >=2.2,==2.*. This allows us to + # implement this in terms of the other specifiers instead of + # implementing it ourselves. The only thing we need to do is construct + # the other specifiers. + + # We want everything but the last item in the version, but we want to + # ignore post and dev releases and we want to treat the pre-release as + # it's own separate segment. + prefix = ".".join( + list( + itertools.takewhile( + lambda x: (not x.startswith("post") and not x.startswith("dev")), + _version_split(spec), + ) + )[:-1] + ) + + # Add the prefix notation to the end of our string + prefix += ".*" + + return self._get_operator(">=")(prospective, spec) and self._get_operator("==")( + prospective, prefix + ) + + @_require_version_compare + def _compare_equal(self, prospective, spec): + # We need special logic to handle prefix matching + if spec.endswith(".*"): + # In the case of prefix matching we want to ignore local segment. + prospective = Version(prospective.public) + # Split the spec out by dots, and pretend that there is an implicit + # dot in between a release segment and a pre-release segment. + spec = _version_split(spec[:-2]) # Remove the trailing .* + + # Split the prospective version out by dots, and pretend that there + # is an implicit dot in between a release segment and a pre-release + # segment. + prospective = _version_split(str(prospective)) + + # Shorten the prospective version to be the same length as the spec + # so that we can determine if the specifier is a prefix of the + # prospective version or not. + prospective = prospective[: len(spec)] + + # Pad out our two sides with zeros so that they both equal the same + # length. + spec, prospective = _pad_version(spec, prospective) + else: + # Convert our spec string into a Version + spec = Version(spec) + + # If the specifier does not have a local segment, then we want to + # act as if the prospective version also does not have a local + # segment. + if not spec.local: + prospective = Version(prospective.public) + + return prospective == spec + + @_require_version_compare + def _compare_not_equal(self, prospective, spec): + return not self._compare_equal(prospective, spec) + + @_require_version_compare + def _compare_less_than_equal(self, prospective, spec): + return prospective <= Version(spec) + + @_require_version_compare + def _compare_greater_than_equal(self, prospective, spec): + return prospective >= Version(spec) + + @_require_version_compare + def _compare_less_than(self, prospective, spec): + # Convert our spec to a Version instance, since we'll want to work with + # it as a version. + spec = Version(spec) + + # Check to see if the prospective version is less than the spec + # version. If it's not we can short circuit and just return False now + # instead of doing extra unneeded work. + if not prospective < spec: + return False + + # This special case is here so that, unless the specifier itself + # includes is a pre-release version, that we do not accept pre-release + # versions for the version mentioned in the specifier (e.g. <3.1 should + # not match 3.1.dev0, but should match 3.0.dev0). + if not spec.is_prerelease and prospective.is_prerelease: + if Version(prospective.base_version) == Version(spec.base_version): + return False + + # If we've gotten to here, it means that prospective version is both + # less than the spec version *and* it's not a pre-release of the same + # version in the spec. + return True + + @_require_version_compare + def _compare_greater_than(self, prospective, spec): + # Convert our spec to a Version instance, since we'll want to work with + # it as a version. + spec = Version(spec) + + # Check to see if the prospective version is greater than the spec + # version. If it's not we can short circuit and just return False now + # instead of doing extra unneeded work. + if not prospective > spec: + return False + + # This special case is here so that, unless the specifier itself + # includes is a post-release version, that we do not accept + # post-release versions for the version mentioned in the specifier + # (e.g. >3.1 should not match 3.0.post0, but should match 3.2.post0). + if not spec.is_postrelease and prospective.is_postrelease: + if Version(prospective.base_version) == Version(spec.base_version): + return False + + # Ensure that we do not allow a local version of the version mentioned + # in the specifier, which is technically greater than, to match. + if prospective.local is not None: + if Version(prospective.base_version) == Version(spec.base_version): + return False + + # If we've gotten to here, it means that prospective version is both + # greater than the spec version *and* it's not a pre-release of the + # same version in the spec. + return True + + def _compare_arbitrary(self, prospective, spec): + return str(prospective).lower() == str(spec).lower() + + @property + def prereleases(self): + # If there is an explicit prereleases set for this, then we'll just + # blindly use that. + if self._prereleases is not None: + return self._prereleases + + # Look at all of our specifiers and determine if they are inclusive + # operators, and if they are if they are including an explicit + # prerelease. + operator, version = self._spec + if operator in ["==", ">=", "<=", "~=", "==="]: + # The == specifier can include a trailing .*, if it does we + # want to remove before parsing. + if operator == "==" and version.endswith(".*"): + version = version[:-2] + + # Parse the version, and if it is a pre-release than this + # specifier allows pre-releases. + if parse(version).is_prerelease: + return True + + return False + + @prereleases.setter + def prereleases(self, value): + self._prereleases = value + + +_prefix_regex = re.compile(r"^([0-9]+)((?:a|b|c|rc)[0-9]+)$") + + +def _version_split(version): + result = [] + for item in version.split("."): + match = _prefix_regex.search(item) + if match: + result.extend(match.groups()) + else: + result.append(item) + return result + + +def _pad_version(left, right): + left_split, right_split = [], [] + + # Get the release segment of our versions + left_split.append(list(itertools.takewhile(lambda x: x.isdigit(), left))) + right_split.append(list(itertools.takewhile(lambda x: x.isdigit(), right))) + + # Get the rest of our versions + left_split.append(left[len(left_split[0]) :]) + right_split.append(right[len(right_split[0]) :]) + + # Insert our padding + left_split.insert(1, ["0"] * max(0, len(right_split[0]) - len(left_split[0]))) + right_split.insert(1, ["0"] * max(0, len(left_split[0]) - len(right_split[0]))) + + return (list(itertools.chain(*left_split)), list(itertools.chain(*right_split))) + + +class SpecifierSet(BaseSpecifier): + def __init__(self, specifiers="", prereleases=None): + # Split on , to break each indidivual specifier into it's own item, and + # strip each item to remove leading/trailing whitespace. + specifiers = [s.strip() for s in specifiers.split(",") if s.strip()] + + # Parsed each individual specifier, attempting first to make it a + # Specifier and falling back to a LegacySpecifier. + parsed = set() + for specifier in specifiers: + try: + parsed.add(Specifier(specifier)) + except InvalidSpecifier: + parsed.add(LegacySpecifier(specifier)) + + # Turn our parsed specifiers into a frozen set and save them for later. + self._specs = frozenset(parsed) + + # Store our prereleases value so we can use it later to determine if + # we accept prereleases or not. + self._prereleases = prereleases + + def __repr__(self): + pre = ( + ", prereleases={0!r}".format(self.prereleases) + if self._prereleases is not None + else "" + ) + + return "<SpecifierSet({0!r}{1})>".format(str(self), pre) + + def __str__(self): + return ",".join(sorted(str(s) for s in self._specs)) + + def __hash__(self): + return hash(self._specs) + + def __and__(self, other): + if isinstance(other, string_types): + other = SpecifierSet(other) + elif not isinstance(other, SpecifierSet): + return NotImplemented + + specifier = SpecifierSet() + specifier._specs = frozenset(self._specs | other._specs) + + if self._prereleases is None and other._prereleases is not None: + specifier._prereleases = other._prereleases + elif self._prereleases is not None and other._prereleases is None: + specifier._prereleases = self._prereleases + elif self._prereleases == other._prereleases: + specifier._prereleases = self._prereleases + else: + raise ValueError( + "Cannot combine SpecifierSets with True and False prerelease " + "overrides." + ) + + return specifier + + def __eq__(self, other): + if isinstance(other, string_types): + other = SpecifierSet(other) + elif isinstance(other, _IndividualSpecifier): + other = SpecifierSet(str(other)) + elif not isinstance(other, SpecifierSet): + return NotImplemented + + return self._specs == other._specs + + def __ne__(self, other): + if isinstance(other, string_types): + other = SpecifierSet(other) + elif isinstance(other, _IndividualSpecifier): + other = SpecifierSet(str(other)) + elif not isinstance(other, SpecifierSet): + return NotImplemented + + return self._specs != other._specs + + def __len__(self): + return len(self._specs) + + def __iter__(self): + return iter(self._specs) + + @property + def prereleases(self): + # If we have been given an explicit prerelease modifier, then we'll + # pass that through here. + if self._prereleases is not None: + return self._prereleases + + # If we don't have any specifiers, and we don't have a forced value, + # then we'll just return None since we don't know if this should have + # pre-releases or not. + if not self._specs: + return None + + # Otherwise we'll see if any of the given specifiers accept + # prereleases, if any of them do we'll return True, otherwise False. + return any(s.prereleases for s in self._specs) + + @prereleases.setter + def prereleases(self, value): + self._prereleases = value + + def __contains__(self, item): + return self.contains(item) + + def contains(self, item, prereleases=None): + # Ensure that our item is a Version or LegacyVersion instance. + if not isinstance(item, (LegacyVersion, Version)): + item = parse(item) + + # Determine if we're forcing a prerelease or not, if we're not forcing + # one for this particular filter call, then we'll use whatever the + # SpecifierSet thinks for whether or not we should support prereleases. + if prereleases is None: + prereleases = self.prereleases + + # We can determine if we're going to allow pre-releases by looking to + # see if any of the underlying items supports them. If none of them do + # and this item is a pre-release then we do not allow it and we can + # short circuit that here. + # Note: This means that 1.0.dev1 would not be contained in something + # like >=1.0.devabc however it would be in >=1.0.debabc,>0.0.dev0 + if not prereleases and item.is_prerelease: + return False + + # We simply dispatch to the underlying specs here to make sure that the + # given version is contained within all of them. + # Note: This use of all() here means that an empty set of specifiers + # will always return True, this is an explicit design decision. + return all(s.contains(item, prereleases=prereleases) for s in self._specs) + + def filter(self, iterable, prereleases=None): + # Determine if we're forcing a prerelease or not, if we're not forcing + # one for this particular filter call, then we'll use whatever the + # SpecifierSet thinks for whether or not we should support prereleases. + if prereleases is None: + prereleases = self.prereleases + + # If we have any specifiers, then we want to wrap our iterable in the + # filter method for each one, this will act as a logical AND amongst + # each specifier. + if self._specs: + for spec in self._specs: + iterable = spec.filter(iterable, prereleases=bool(prereleases)) + return iterable + # If we do not have any specifiers, then we need to have a rough filter + # which will filter out any pre-releases, unless there are no final + # releases, and which will filter out LegacyVersion in general. + else: + filtered = [] + found_prereleases = [] + + for item in iterable: + # Ensure that we some kind of Version class for this item. + if not isinstance(item, (LegacyVersion, Version)): + parsed_version = parse(item) + else: + parsed_version = item + + # Filter out any item which is parsed as a LegacyVersion + if isinstance(parsed_version, LegacyVersion): + continue + + # Store any item which is a pre-release for later unless we've + # already found a final version or we are accepting prereleases + if parsed_version.is_prerelease and not prereleases: + if not filtered: + found_prereleases.append(item) + else: + filtered.append(item) + + # If we've found no items except for pre-releases, then we'll go + # ahead and use the pre-releases + if not filtered and found_prereleases and prereleases is None: + return found_prereleases + + return filtered diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/utils.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/utils.py new file mode 100644 index 0000000000..8841878693 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/utils.py @@ -0,0 +1,57 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import re + +from .version import InvalidVersion, Version + + +_canonicalize_regex = re.compile(r"[-_.]+") + + +def canonicalize_name(name): + # This is taken from PEP 503. + return _canonicalize_regex.sub("-", name).lower() + + +def canonicalize_version(version): + """ + This is very similar to Version.__str__, but has one subtle differences + with the way it handles the release segment. + """ + + try: + version = Version(version) + except InvalidVersion: + # Legacy versions cannot be normalized + return version + + parts = [] + + # Epoch + if version.epoch != 0: + parts.append("{0}!".format(version.epoch)) + + # Release segment + # NB: This strips trailing '.0's to normalize + parts.append(re.sub(r"(\.0)+$", "", ".".join(str(x) for x in version.release))) + + # Pre-release + if version.pre is not None: + parts.append("".join(str(x) for x in version.pre)) + + # Post-release + if version.post is not None: + parts.append(".post{0}".format(version.post)) + + # Development release + if version.dev is not None: + parts.append(".dev{0}".format(version.dev)) + + # Local version segment + if version.local is not None: + parts.append("+{0}".format(version.local)) + + return "".join(parts) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/version.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/version.py new file mode 100644 index 0000000000..95157a1f78 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/packaging/version.py @@ -0,0 +1,420 @@ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. +from __future__ import absolute_import, division, print_function + +import collections +import itertools +import re + +from ._structures import Infinity + + +__all__ = ["parse", "Version", "LegacyVersion", "InvalidVersion", "VERSION_PATTERN"] + + +_Version = collections.namedtuple( + "_Version", ["epoch", "release", "dev", "pre", "post", "local"] +) + + +def parse(version): + """ + Parse the given version string and return either a :class:`Version` object + or a :class:`LegacyVersion` object depending on if the given version is + a valid PEP 440 version or a legacy version. + """ + try: + return Version(version) + except InvalidVersion: + return LegacyVersion(version) + + +class InvalidVersion(ValueError): + """ + An invalid version was found, users should refer to PEP 440. + """ + + +class _BaseVersion(object): + def __hash__(self): + return hash(self._key) + + def __lt__(self, other): + return self._compare(other, lambda s, o: s < o) + + def __le__(self, other): + return self._compare(other, lambda s, o: s <= o) + + def __eq__(self, other): + return self._compare(other, lambda s, o: s == o) + + def __ge__(self, other): + return self._compare(other, lambda s, o: s >= o) + + def __gt__(self, other): + return self._compare(other, lambda s, o: s > o) + + def __ne__(self, other): + return self._compare(other, lambda s, o: s != o) + + def _compare(self, other, method): + if not isinstance(other, _BaseVersion): + return NotImplemented + + return method(self._key, other._key) + + +class LegacyVersion(_BaseVersion): + def __init__(self, version): + self._version = str(version) + self._key = _legacy_cmpkey(self._version) + + def __str__(self): + return self._version + + def __repr__(self): + return "<LegacyVersion({0})>".format(repr(str(self))) + + @property + def public(self): + return self._version + + @property + def base_version(self): + return self._version + + @property + def epoch(self): + return -1 + + @property + def release(self): + return None + + @property + def pre(self): + return None + + @property + def post(self): + return None + + @property + def dev(self): + return None + + @property + def local(self): + return None + + @property + def is_prerelease(self): + return False + + @property + def is_postrelease(self): + return False + + @property + def is_devrelease(self): + return False + + +_legacy_version_component_re = re.compile(r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE) + +_legacy_version_replacement_map = { + "pre": "c", + "preview": "c", + "-": "final-", + "rc": "c", + "dev": "@", +} + + +def _parse_version_parts(s): + for part in _legacy_version_component_re.split(s): + part = _legacy_version_replacement_map.get(part, part) + + if not part or part == ".": + continue + + if part[:1] in "0123456789": + # pad for numeric comparison + yield part.zfill(8) + else: + yield "*" + part + + # ensure that alpha/beta/candidate are before final + yield "*final" + + +def _legacy_cmpkey(version): + # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch + # greater than or equal to 0. This will effectively put the LegacyVersion, + # which uses the defacto standard originally implemented by setuptools, + # as before all PEP 440 versions. + epoch = -1 + + # This scheme is taken from pkg_resources.parse_version setuptools prior to + # it's adoption of the packaging library. + parts = [] + for part in _parse_version_parts(version.lower()): + if part.startswith("*"): + # remove "-" before a prerelease tag + if part < "*final": + while parts and parts[-1] == "*final-": + parts.pop() + + # remove trailing zeros from each series of numeric parts + while parts and parts[-1] == "00000000": + parts.pop() + + parts.append(part) + parts = tuple(parts) + + return epoch, parts + + +# Deliberately not anchored to the start and end of the string, to make it +# easier for 3rd party code to reuse +VERSION_PATTERN = r""" + v? + (?: + (?:(?P<epoch>[0-9]+)!)? # epoch + (?P<release>[0-9]+(?:\.[0-9]+)*) # release segment + (?P<pre> # pre-release + [-_\.]? + (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview)) + [-_\.]? + (?P<pre_n>[0-9]+)? + )? + (?P<post> # post release + (?:-(?P<post_n1>[0-9]+)) + | + (?: + [-_\.]? + (?P<post_l>post|rev|r) + [-_\.]? + (?P<post_n2>[0-9]+)? + ) + )? + (?P<dev> # dev release + [-_\.]? + (?P<dev_l>dev) + [-_\.]? + (?P<dev_n>[0-9]+)? + )? + ) + (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version +""" + + +class Version(_BaseVersion): + + _regex = re.compile(r"^\s*" + VERSION_PATTERN + r"\s*$", re.VERBOSE | re.IGNORECASE) + + def __init__(self, version): + # Validate the version and parse it into pieces + match = self._regex.search(version) + if not match: + raise InvalidVersion("Invalid version: '{0}'".format(version)) + + # Store the parsed out pieces of the version + self._version = _Version( + epoch=int(match.group("epoch")) if match.group("epoch") else 0, + release=tuple(int(i) for i in match.group("release").split(".")), + pre=_parse_letter_version(match.group("pre_l"), match.group("pre_n")), + post=_parse_letter_version( + match.group("post_l"), match.group("post_n1") or match.group("post_n2") + ), + dev=_parse_letter_version(match.group("dev_l"), match.group("dev_n")), + local=_parse_local_version(match.group("local")), + ) + + # Generate a key which will be used for sorting + self._key = _cmpkey( + self._version.epoch, + self._version.release, + self._version.pre, + self._version.post, + self._version.dev, + self._version.local, + ) + + def __repr__(self): + return "<Version({0})>".format(repr(str(self))) + + def __str__(self): + parts = [] + + # Epoch + if self.epoch != 0: + parts.append("{0}!".format(self.epoch)) + + # Release segment + parts.append(".".join(str(x) for x in self.release)) + + # Pre-release + if self.pre is not None: + parts.append("".join(str(x) for x in self.pre)) + + # Post-release + if self.post is not None: + parts.append(".post{0}".format(self.post)) + + # Development release + if self.dev is not None: + parts.append(".dev{0}".format(self.dev)) + + # Local version segment + if self.local is not None: + parts.append("+{0}".format(self.local)) + + return "".join(parts) + + @property + def epoch(self): + return self._version.epoch + + @property + def release(self): + return self._version.release + + @property + def pre(self): + return self._version.pre + + @property + def post(self): + return self._version.post[1] if self._version.post else None + + @property + def dev(self): + return self._version.dev[1] if self._version.dev else None + + @property + def local(self): + if self._version.local: + return ".".join(str(x) for x in self._version.local) + else: + return None + + @property + def public(self): + return str(self).split("+", 1)[0] + + @property + def base_version(self): + parts = [] + + # Epoch + if self.epoch != 0: + parts.append("{0}!".format(self.epoch)) + + # Release segment + parts.append(".".join(str(x) for x in self.release)) + + return "".join(parts) + + @property + def is_prerelease(self): + return self.dev is not None or self.pre is not None + + @property + def is_postrelease(self): + return self.post is not None + + @property + def is_devrelease(self): + return self.dev is not None + + +def _parse_letter_version(letter, number): + if letter: + # We consider there to be an implicit 0 in a pre-release if there is + # not a numeral associated with it. + if number is None: + number = 0 + + # We normalize any letters to their lower case form + letter = letter.lower() + + # We consider some words to be alternate spellings of other words and + # in those cases we want to normalize the spellings to our preferred + # spelling. + if letter == "alpha": + letter = "a" + elif letter == "beta": + letter = "b" + elif letter in ["c", "pre", "preview"]: + letter = "rc" + elif letter in ["rev", "r"]: + letter = "post" + + return letter, int(number) + if not letter and number: + # We assume if we are given a number, but we are not given a letter + # then this is using the implicit post release syntax (e.g. 1.0-1) + letter = "post" + + return letter, int(number) + + +_local_version_separators = re.compile(r"[\._-]") + + +def _parse_local_version(local): + """ + Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve"). + """ + if local is not None: + return tuple( + part.lower() if not part.isdigit() else int(part) + for part in _local_version_separators.split(local) + ) + + +def _cmpkey(epoch, release, pre, post, dev, local): + # When we compare a release version, we want to compare it with all of the + # trailing zeros removed. So we'll use a reverse the list, drop all the now + # leading zeros until we come to something non zero, then take the rest + # re-reverse it back into the correct order and make it a tuple and use + # that for our sorting key. + release = tuple( + reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release)))) + ) + + # We need to "trick" the sorting algorithm to put 1.0.dev0 before 1.0a0. + # We'll do this by abusing the pre segment, but we _only_ want to do this + # if there is not a pre or a post segment. If we have one of those then + # the normal sorting rules will handle this case correctly. + if pre is None and post is None and dev is not None: + pre = -Infinity + # Versions without a pre-release (except as noted above) should sort after + # those with one. + elif pre is None: + pre = Infinity + + # Versions without a post segment should sort before those with one. + if post is None: + post = -Infinity + + # Versions without a development segment should sort after those with one. + if dev is None: + dev = Infinity + + if local is None: + # Versions without a local segment should sort before those with one. + local = -Infinity + else: + # Versions with a local segment need that segment parsed to implement + # the sorting rules in PEP440. + # - Alpha numeric segments sort before numeric segments + # - Alpha numeric segments sort lexicographically + # - Numeric segments sort numerically + # - Shorter versions sort before longer versions when the prefixes + # match exactly + local = tuple((i, "") if isinstance(i, int) else (-Infinity, i) for i in local) + + return epoch, release, pre, post, dev, local diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/__init__.py new file mode 100644 index 0000000000..9c1a098f78 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/__init__.py @@ -0,0 +1,4 @@ +"""Wrappers to build Python packages using PEP 517 hooks +""" + +__version__ = '0.5.0' diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/_in_process.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/_in_process.py new file mode 100644 index 0000000000..d6524b660a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/_in_process.py @@ -0,0 +1,207 @@ +"""This is invoked in a subprocess to call the build backend hooks. + +It expects: +- Command line args: hook_name, control_dir +- Environment variable: PEP517_BUILD_BACKEND=entry.point:spec +- control_dir/input.json: + - {"kwargs": {...}} + +Results: +- control_dir/output.json + - {"return_val": ...} +""" +from glob import glob +from importlib import import_module +import os +from os.path import join as pjoin +import re +import shutil +import sys + +# This is run as a script, not a module, so it can't do a relative import +import compat + + +class BackendUnavailable(Exception): + """Raised if we cannot import the backend""" + + +def _build_backend(): + """Find and load the build backend""" + ep = os.environ['PEP517_BUILD_BACKEND'] + mod_path, _, obj_path = ep.partition(':') + try: + obj = import_module(mod_path) + except ImportError: + raise BackendUnavailable + if obj_path: + for path_part in obj_path.split('.'): + obj = getattr(obj, path_part) + return obj + + +def get_requires_for_build_wheel(config_settings): + """Invoke the optional get_requires_for_build_wheel hook + + Returns [] if the hook is not defined. + """ + backend = _build_backend() + try: + hook = backend.get_requires_for_build_wheel + except AttributeError: + return [] + else: + return hook(config_settings) + + +def prepare_metadata_for_build_wheel(metadata_directory, config_settings): + """Invoke optional prepare_metadata_for_build_wheel + + Implements a fallback by building a wheel if the hook isn't defined. + """ + backend = _build_backend() + try: + hook = backend.prepare_metadata_for_build_wheel + except AttributeError: + return _get_wheel_metadata_from_wheel(backend, metadata_directory, + config_settings) + else: + return hook(metadata_directory, config_settings) + + +WHEEL_BUILT_MARKER = 'PEP517_ALREADY_BUILT_WHEEL' + + +def _dist_info_files(whl_zip): + """Identify the .dist-info folder inside a wheel ZipFile.""" + res = [] + for path in whl_zip.namelist(): + m = re.match(r'[^/\\]+-[^/\\]+\.dist-info/', path) + if m: + res.append(path) + if res: + return res + raise Exception("No .dist-info folder found in wheel") + + +def _get_wheel_metadata_from_wheel( + backend, metadata_directory, config_settings): + """Build a wheel and extract the metadata from it. + + Fallback for when the build backend does not + define the 'get_wheel_metadata' hook. + """ + from zipfile import ZipFile + whl_basename = backend.build_wheel(metadata_directory, config_settings) + with open(os.path.join(metadata_directory, WHEEL_BUILT_MARKER), 'wb'): + pass # Touch marker file + + whl_file = os.path.join(metadata_directory, whl_basename) + with ZipFile(whl_file) as zipf: + dist_info = _dist_info_files(zipf) + zipf.extractall(path=metadata_directory, members=dist_info) + return dist_info[0].split('/')[0] + + +def _find_already_built_wheel(metadata_directory): + """Check for a wheel already built during the get_wheel_metadata hook. + """ + if not metadata_directory: + return None + metadata_parent = os.path.dirname(metadata_directory) + if not os.path.isfile(pjoin(metadata_parent, WHEEL_BUILT_MARKER)): + return None + + whl_files = glob(os.path.join(metadata_parent, '*.whl')) + if not whl_files: + print('Found wheel built marker, but no .whl files') + return None + if len(whl_files) > 1: + print('Found multiple .whl files; unspecified behaviour. ' + 'Will call build_wheel.') + return None + + # Exactly one .whl file + return whl_files[0] + + +def build_wheel(wheel_directory, config_settings, metadata_directory=None): + """Invoke the mandatory build_wheel hook. + + If a wheel was already built in the + prepare_metadata_for_build_wheel fallback, this + will copy it rather than rebuilding the wheel. + """ + prebuilt_whl = _find_already_built_wheel(metadata_directory) + if prebuilt_whl: + shutil.copy2(prebuilt_whl, wheel_directory) + return os.path.basename(prebuilt_whl) + + return _build_backend().build_wheel(wheel_directory, config_settings, + metadata_directory) + + +def get_requires_for_build_sdist(config_settings): + """Invoke the optional get_requires_for_build_wheel hook + + Returns [] if the hook is not defined. + """ + backend = _build_backend() + try: + hook = backend.get_requires_for_build_sdist + except AttributeError: + return [] + else: + return hook(config_settings) + + +class _DummyException(Exception): + """Nothing should ever raise this exception""" + + +class GotUnsupportedOperation(Exception): + """For internal use when backend raises UnsupportedOperation""" + + +def build_sdist(sdist_directory, config_settings): + """Invoke the mandatory build_sdist hook.""" + backend = _build_backend() + try: + return backend.build_sdist(sdist_directory, config_settings) + except getattr(backend, 'UnsupportedOperation', _DummyException): + raise GotUnsupportedOperation + + +HOOK_NAMES = { + 'get_requires_for_build_wheel', + 'prepare_metadata_for_build_wheel', + 'build_wheel', + 'get_requires_for_build_sdist', + 'build_sdist', +} + + +def main(): + if len(sys.argv) < 3: + sys.exit("Needs args: hook_name, control_dir") + hook_name = sys.argv[1] + control_dir = sys.argv[2] + if hook_name not in HOOK_NAMES: + sys.exit("Unknown hook: %s" % hook_name) + hook = globals()[hook_name] + + hook_input = compat.read_json(pjoin(control_dir, 'input.json')) + + json_out = {'unsupported': False, 'return_val': None} + try: + json_out['return_val'] = hook(**hook_input['kwargs']) + except BackendUnavailable: + json_out['no_backend'] = True + except GotUnsupportedOperation: + json_out['unsupported'] = True + + compat.write_json(json_out, pjoin(control_dir, 'output.json'), indent=2) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/build.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/build.py new file mode 100644 index 0000000000..ac6c9495ca --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/build.py @@ -0,0 +1,108 @@ +"""Build a project using PEP 517 hooks. +""" +import argparse +import logging +import os +import contextlib +from pip._vendor import pytoml +import shutil +import errno +import tempfile + +from .envbuild import BuildEnvironment +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +@contextlib.contextmanager +def tempdir(): + td = tempfile.mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + + +def _do_build(hooks, env, dist, dest): + get_requires_name = 'get_requires_for_build_{dist}'.format(**locals()) + get_requires = getattr(hooks, get_requires_name) + reqs = get_requires({}) + log.info('Got build requires: %s', reqs) + + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + + with tempdir() as td: + log.info('Trying to build %s in %s', dist, td) + build_name = 'build_{dist}'.format(**locals()) + build = getattr(hooks, build_name) + filename = build(td, {}) + source = os.path.join(td, filename) + shutil.move(source, os.path.join(dest, os.path.basename(filename))) + + +def mkdir_p(*args, **kwargs): + """Like `mkdir`, but does not raise an exception if the + directory already exists. + """ + try: + return os.mkdir(*args, **kwargs) + except OSError as exc: + if exc.errno != errno.EEXIST: + raise + + +def build(source_dir, dist, dest=None): + pyproject = os.path.join(source_dir, 'pyproject.toml') + dest = os.path.join(source_dir, dest or 'dist') + mkdir_p(dest) + + with open(pyproject) as f: + pyproject_data = pytoml.load(f) + # Ensure the mandatory data can be loaded + buildsys = pyproject_data['build-system'] + requires = buildsys['requires'] + backend = buildsys['build-backend'] + + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + _do_build(hooks, env, dist, dest) + + +parser = argparse.ArgumentParser() +parser.add_argument( + 'source_dir', + help="A directory containing pyproject.toml", +) +parser.add_argument( + '--binary', '-b', + action='store_true', + default=False, +) +parser.add_argument( + '--source', '-s', + action='store_true', + default=False, +) +parser.add_argument( + '--out-dir', '-o', + help="Destination in which to save the builds relative to source dir", +) + + +def main(args): + # determine which dists to build + dists = list(filter(None, ( + 'sdist' if args.source or not args.binary else None, + 'wheel' if args.binary or not args.source else None, + ))) + + for dist in dists: + build(args.source_dir, dist, args.out_dir) + + +if __name__ == '__main__': + main(parser.parse_args()) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/check.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/check.py new file mode 100644 index 0000000000..f4cdc6bec9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/check.py @@ -0,0 +1,202 @@ +"""Check a project and backend by attempting to build using PEP 517 hooks. +""" +import argparse +import logging +import os +from os.path import isfile, join as pjoin +from pip._vendor.pytoml import TomlError, load as toml_load +import shutil +from subprocess import CalledProcessError +import sys +import tarfile +from tempfile import mkdtemp +import zipfile + +from .colorlog import enable_colourful_output +from .envbuild import BuildEnvironment +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +def check_build_sdist(hooks, build_sys_requires): + with BuildEnvironment() as env: + try: + env.pip_install(build_sys_requires) + log.info('Installed static build dependencies') + except CalledProcessError: + log.error('Failed to install static build dependencies') + return False + + try: + reqs = hooks.get_requires_for_build_sdist({}) + log.info('Got build requires: %s', reqs) + except Exception: + log.error('Failure in get_requires_for_build_sdist', exc_info=True) + return False + + try: + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + except CalledProcessError: + log.error('Failed to install dynamic build dependencies') + return False + + td = mkdtemp() + log.info('Trying to build sdist in %s', td) + try: + try: + filename = hooks.build_sdist(td, {}) + log.info('build_sdist returned %r', filename) + except Exception: + log.info('Failure in build_sdist', exc_info=True) + return False + + if not filename.endswith('.tar.gz'): + log.error( + "Filename %s doesn't have .tar.gz extension", filename) + return False + + path = pjoin(td, filename) + if isfile(path): + log.info("Output file %s exists", path) + else: + log.error("Output file %s does not exist", path) + return False + + if tarfile.is_tarfile(path): + log.info("Output file is a tar file") + else: + log.error("Output file is not a tar file") + return False + + finally: + shutil.rmtree(td) + + return True + + +def check_build_wheel(hooks, build_sys_requires): + with BuildEnvironment() as env: + try: + env.pip_install(build_sys_requires) + log.info('Installed static build dependencies') + except CalledProcessError: + log.error('Failed to install static build dependencies') + return False + + try: + reqs = hooks.get_requires_for_build_wheel({}) + log.info('Got build requires: %s', reqs) + except Exception: + log.error('Failure in get_requires_for_build_sdist', exc_info=True) + return False + + try: + env.pip_install(reqs) + log.info('Installed dynamic build dependencies') + except CalledProcessError: + log.error('Failed to install dynamic build dependencies') + return False + + td = mkdtemp() + log.info('Trying to build wheel in %s', td) + try: + try: + filename = hooks.build_wheel(td, {}) + log.info('build_wheel returned %r', filename) + except Exception: + log.info('Failure in build_wheel', exc_info=True) + return False + + if not filename.endswith('.whl'): + log.error("Filename %s doesn't have .whl extension", filename) + return False + + path = pjoin(td, filename) + if isfile(path): + log.info("Output file %s exists", path) + else: + log.error("Output file %s does not exist", path) + return False + + if zipfile.is_zipfile(path): + log.info("Output file is a zip file") + else: + log.error("Output file is not a zip file") + return False + + finally: + shutil.rmtree(td) + + return True + + +def check(source_dir): + pyproject = pjoin(source_dir, 'pyproject.toml') + if isfile(pyproject): + log.info('Found pyproject.toml') + else: + log.error('Missing pyproject.toml') + return False + + try: + with open(pyproject) as f: + pyproject_data = toml_load(f) + # Ensure the mandatory data can be loaded + buildsys = pyproject_data['build-system'] + requires = buildsys['requires'] + backend = buildsys['build-backend'] + log.info('Loaded pyproject.toml') + except (TomlError, KeyError): + log.error("Invalid pyproject.toml", exc_info=True) + return False + + hooks = Pep517HookCaller(source_dir, backend) + + sdist_ok = check_build_sdist(hooks, requires) + wheel_ok = check_build_wheel(hooks, requires) + + if not sdist_ok: + log.warning('Sdist checks failed; scroll up to see') + if not wheel_ok: + log.warning('Wheel checks failed') + + return sdist_ok + + +def main(argv=None): + ap = argparse.ArgumentParser() + ap.add_argument( + 'source_dir', + help="A directory containing pyproject.toml") + args = ap.parse_args(argv) + + enable_colourful_output() + + ok = check(args.source_dir) + + if ok: + print(ansi('Checks passed', 'green')) + else: + print(ansi('Checks failed', 'red')) + sys.exit(1) + + +ansi_codes = { + 'reset': '\x1b[0m', + 'bold': '\x1b[1m', + 'red': '\x1b[31m', + 'green': '\x1b[32m', +} + + +def ansi(s, attr): + if os.name != 'nt' and sys.stdout.isatty(): + return ansi_codes[attr] + str(s) + ansi_codes['reset'] + else: + return str(s) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/colorlog.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/colorlog.py new file mode 100644 index 0000000000..69c8a59d3d --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/colorlog.py @@ -0,0 +1,115 @@ +"""Nicer log formatting with colours. + +Code copied from Tornado, Apache licensed. +""" +# Copyright 2012 Facebook +# +# 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. + +import logging +import sys + +try: + import curses +except ImportError: + curses = None + + +def _stderr_supports_color(): + color = False + if curses and hasattr(sys.stderr, 'isatty') and sys.stderr.isatty(): + try: + curses.setupterm() + if curses.tigetnum("colors") > 0: + color = True + except Exception: + pass + return color + + +class LogFormatter(logging.Formatter): + """Log formatter with colour support + """ + DEFAULT_COLORS = { + logging.INFO: 2, # Green + logging.WARNING: 3, # Yellow + logging.ERROR: 1, # Red + logging.CRITICAL: 1, + } + + def __init__(self, color=True, datefmt=None): + r""" + :arg bool color: Enables color support. + :arg string fmt: Log message format. + It will be applied to the attributes dict of log records. The + text between ``%(color)s`` and ``%(end_color)s`` will be colored + depending on the level if color support is on. + :arg dict colors: color mappings from logging level to terminal color + code + :arg string datefmt: Datetime format. + Used for formatting ``(asctime)`` placeholder in ``prefix_fmt``. + .. versionchanged:: 3.2 + Added ``fmt`` and ``datefmt`` arguments. + """ + logging.Formatter.__init__(self, datefmt=datefmt) + self._colors = {} + if color and _stderr_supports_color(): + # The curses module has some str/bytes confusion in + # python3. Until version 3.2.3, most methods return + # bytes, but only accept strings. In addition, we want to + # output these strings with the logging module, which + # works with unicode strings. The explicit calls to + # unicode() below are harmless in python2 but will do the + # right conversion in python 3. + fg_color = (curses.tigetstr("setaf") or + curses.tigetstr("setf") or "") + if (3, 0) < sys.version_info < (3, 2, 3): + fg_color = str(fg_color, "ascii") + + for levelno, code in self.DEFAULT_COLORS.items(): + self._colors[levelno] = str( + curses.tparm(fg_color, code), "ascii") + self._normal = str(curses.tigetstr("sgr0"), "ascii") + + scr = curses.initscr() + self.termwidth = scr.getmaxyx()[1] + curses.endwin() + else: + self._normal = '' + # Default width is usually 80, but too wide is + # worse than too narrow + self.termwidth = 70 + + def formatMessage(self, record): + mlen = len(record.message) + right_text = '{initial}-{name}'.format(initial=record.levelname[0], + name=record.name) + if mlen + len(right_text) < self.termwidth: + space = ' ' * (self.termwidth - (mlen + len(right_text))) + else: + space = ' ' + + if record.levelno in self._colors: + start_color = self._colors[record.levelno] + end_color = self._normal + else: + start_color = end_color = '' + + return record.message + space + start_color + right_text + end_color + + +def enable_colourful_output(level=logging.INFO): + handler = logging.StreamHandler() + handler.setFormatter(LogFormatter()) + logging.root.addHandler(handler) + logging.root.setLevel(level) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/compat.py new file mode 100644 index 0000000000..01c66fc7e4 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/compat.py @@ -0,0 +1,23 @@ +"""Handle reading and writing JSON in UTF-8, on Python 3 and 2.""" +import json +import sys + +if sys.version_info[0] >= 3: + # Python 3 + def write_json(obj, path, **kwargs): + with open(path, 'w', encoding='utf-8') as f: + json.dump(obj, f, **kwargs) + + def read_json(path): + with open(path, 'r', encoding='utf-8') as f: + return json.load(f) + +else: + # Python 2 + def write_json(obj, path, **kwargs): + with open(path, 'wb') as f: + json.dump(obj, f, encoding='utf-8', **kwargs) + + def read_json(path): + with open(path, 'rb') as f: + return json.load(f) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/envbuild.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/envbuild.py new file mode 100644 index 0000000000..f7ac5f46f7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/envbuild.py @@ -0,0 +1,158 @@ +"""Build wheels/sdists by installing build deps to a temporary environment. +""" + +import os +import logging +from pip._vendor import pytoml +import shutil +from subprocess import check_call +import sys +from sysconfig import get_paths +from tempfile import mkdtemp + +from .wrappers import Pep517HookCaller + +log = logging.getLogger(__name__) + + +def _load_pyproject(source_dir): + with open(os.path.join(source_dir, 'pyproject.toml')) as f: + pyproject_data = pytoml.load(f) + buildsys = pyproject_data['build-system'] + return buildsys['requires'], buildsys['build-backend'] + + +class BuildEnvironment(object): + """Context manager to install build deps in a simple temporary environment + + Based on code I wrote for pip, which is MIT licensed. + """ + # Copyright (c) 2008-2016 The pip developers (see AUTHORS.txt file) + # + # 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. + + path = None + + def __init__(self, cleanup=True): + self._cleanup = cleanup + + def __enter__(self): + self.path = mkdtemp(prefix='pep517-build-env-') + log.info('Temporary build environment: %s', self.path) + + self.save_path = os.environ.get('PATH', None) + self.save_pythonpath = os.environ.get('PYTHONPATH', None) + + install_scheme = 'nt' if (os.name == 'nt') else 'posix_prefix' + install_dirs = get_paths(install_scheme, vars={ + 'base': self.path, + 'platbase': self.path, + }) + + scripts = install_dirs['scripts'] + if self.save_path: + os.environ['PATH'] = scripts + os.pathsep + self.save_path + else: + os.environ['PATH'] = scripts + os.pathsep + os.defpath + + if install_dirs['purelib'] == install_dirs['platlib']: + lib_dirs = install_dirs['purelib'] + else: + lib_dirs = install_dirs['purelib'] + os.pathsep + \ + install_dirs['platlib'] + if self.save_pythonpath: + os.environ['PYTHONPATH'] = lib_dirs + os.pathsep + \ + self.save_pythonpath + else: + os.environ['PYTHONPATH'] = lib_dirs + + return self + + def pip_install(self, reqs): + """Install dependencies into this env by calling pip in a subprocess""" + if not reqs: + return + log.info('Calling pip to install %s', reqs) + check_call([ + sys.executable, '-m', 'pip', 'install', '--ignore-installed', + '--prefix', self.path] + list(reqs)) + + def __exit__(self, exc_type, exc_val, exc_tb): + needs_cleanup = ( + self._cleanup and + self.path is not None and + os.path.isdir(self.path) + ) + if needs_cleanup: + shutil.rmtree(self.path) + + if self.save_path is None: + os.environ.pop('PATH', None) + else: + os.environ['PATH'] = self.save_path + + if self.save_pythonpath is None: + os.environ.pop('PYTHONPATH', None) + else: + os.environ['PYTHONPATH'] = self.save_pythonpath + + +def build_wheel(source_dir, wheel_dir, config_settings=None): + """Build a wheel from a source directory using PEP 517 hooks. + + :param str source_dir: Source directory containing pyproject.toml + :param str wheel_dir: Target directory to create wheel in + :param dict config_settings: Options to pass to build backend + + This is a blocking function which will run pip in a subprocess to install + build requirements. + """ + if config_settings is None: + config_settings = {} + requires, backend = _load_pyproject(source_dir) + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + reqs = hooks.get_requires_for_build_wheel(config_settings) + env.pip_install(reqs) + return hooks.build_wheel(wheel_dir, config_settings) + + +def build_sdist(source_dir, sdist_dir, config_settings=None): + """Build an sdist from a source directory using PEP 517 hooks. + + :param str source_dir: Source directory containing pyproject.toml + :param str sdist_dir: Target directory to place sdist in + :param dict config_settings: Options to pass to build backend + + This is a blocking function which will run pip in a subprocess to install + build requirements. + """ + if config_settings is None: + config_settings = {} + requires, backend = _load_pyproject(source_dir) + hooks = Pep517HookCaller(source_dir, backend) + + with BuildEnvironment() as env: + env.pip_install(requires) + reqs = hooks.get_requires_for_build_sdist(config_settings) + env.pip_install(reqs) + return hooks.build_sdist(sdist_dir, config_settings) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/wrappers.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/wrappers.py new file mode 100644 index 0000000000..b14b899150 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pep517/wrappers.py @@ -0,0 +1,163 @@ +from contextlib import contextmanager +import os +from os.path import dirname, abspath, join as pjoin +import shutil +from subprocess import check_call +import sys +from tempfile import mkdtemp + +from . import compat + +_in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.py') + + +@contextmanager +def tempdir(): + td = mkdtemp() + try: + yield td + finally: + shutil.rmtree(td) + + +class BackendUnavailable(Exception): + """Will be raised if the backend cannot be imported in the hook process.""" + + +class UnsupportedOperation(Exception): + """May be raised by build_sdist if the backend indicates that it can't.""" + + +def default_subprocess_runner(cmd, cwd=None, extra_environ=None): + """The default method of calling the wrapper subprocess.""" + env = os.environ.copy() + if extra_environ: + env.update(extra_environ) + + check_call(cmd, cwd=cwd, env=env) + + +class Pep517HookCaller(object): + """A wrapper around a source directory to be built with a PEP 517 backend. + + source_dir : The path to the source directory, containing pyproject.toml. + backend : The build backend spec, as per PEP 517, from pyproject.toml. + """ + def __init__(self, source_dir, build_backend): + self.source_dir = abspath(source_dir) + self.build_backend = build_backend + self._subprocess_runner = default_subprocess_runner + + # TODO: Is this over-engineered? Maybe frontends only need to + # set this when creating the wrapper, not on every call. + @contextmanager + def subprocess_runner(self, runner): + prev = self._subprocess_runner + self._subprocess_runner = runner + yield + self._subprocess_runner = prev + + def get_requires_for_build_wheel(self, config_settings=None): + """Identify packages required for building a wheel + + Returns a list of dependency specifications, e.g.: + ["wheel >= 0.25", "setuptools"] + + This does not include requirements specified in pyproject.toml. + It returns the result of calling the equivalently named hook in a + subprocess. + """ + return self._call_hook('get_requires_for_build_wheel', { + 'config_settings': config_settings + }) + + def prepare_metadata_for_build_wheel( + self, metadata_directory, config_settings=None): + """Prepare a *.dist-info folder with metadata for this project. + + Returns the name of the newly created folder. + + If the build backend defines a hook with this name, it will be called + in a subprocess. If not, the backend will be asked to build a wheel, + and the dist-info extracted from that. + """ + return self._call_hook('prepare_metadata_for_build_wheel', { + 'metadata_directory': abspath(metadata_directory), + 'config_settings': config_settings, + }) + + def build_wheel( + self, wheel_directory, config_settings=None, + metadata_directory=None): + """Build a wheel from this project. + + Returns the name of the newly created file. + + In general, this will call the 'build_wheel' hook in the backend. + However, if that was previously called by + 'prepare_metadata_for_build_wheel', and the same metadata_directory is + used, the previously built wheel will be copied to wheel_directory. + """ + if metadata_directory is not None: + metadata_directory = abspath(metadata_directory) + return self._call_hook('build_wheel', { + 'wheel_directory': abspath(wheel_directory), + 'config_settings': config_settings, + 'metadata_directory': metadata_directory, + }) + + def get_requires_for_build_sdist(self, config_settings=None): + """Identify packages required for building a wheel + + Returns a list of dependency specifications, e.g.: + ["setuptools >= 26"] + + This does not include requirements specified in pyproject.toml. + It returns the result of calling the equivalently named hook in a + subprocess. + """ + return self._call_hook('get_requires_for_build_sdist', { + 'config_settings': config_settings + }) + + def build_sdist(self, sdist_directory, config_settings=None): + """Build an sdist from this project. + + Returns the name of the newly created file. + + This calls the 'build_sdist' backend hook in a subprocess. + """ + return self._call_hook('build_sdist', { + 'sdist_directory': abspath(sdist_directory), + 'config_settings': config_settings, + }) + + def _call_hook(self, hook_name, kwargs): + # On Python 2, pytoml returns Unicode values (which is correct) but the + # environment passed to check_call needs to contain string values. We + # convert here by encoding using ASCII (the backend can only contain + # letters, digits and _, . and : characters, and will be used as a + # Python identifier, so non-ASCII content is wrong on Python 2 in + # any case). + if sys.version_info[0] == 2: + build_backend = self.build_backend.encode('ASCII') + else: + build_backend = self.build_backend + + with tempdir() as td: + compat.write_json({'kwargs': kwargs}, pjoin(td, 'input.json'), + indent=2) + + # Run the hook in a subprocess + self._subprocess_runner( + [sys.executable, _in_proc_script, hook_name, td], + cwd=self.source_dir, + extra_environ={'PEP517_BUILD_BACKEND': build_backend} + ) + + data = compat.read_json(pjoin(td, 'output.json')) + if data.get('unsupported'): + raise UnsupportedOperation + if data.get('no_backend'): + raise BackendUnavailable + return data['return_val'] diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pkg_resources/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pkg_resources/__init__.py new file mode 100644 index 0000000000..9c4fd8ea15 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pkg_resources/__init__.py @@ -0,0 +1,3171 @@ +# coding: utf-8 +""" +Package resource API +-------------------- + +A resource is a logical file contained within a package, or a logical +subdirectory thereof. The package resource API expects resource names +to have their path parts separated with ``/``, *not* whatever the local +path separator is. Do not use os.path operations to manipulate resource +names being passed into the API. + +The package resource API is designed to work with normal filesystem packages, +.egg files, and unpacked .egg files. It can also work in a limited way with +.zip files and with custom PEP 302 loaders that support the ``get_data()`` +method. +""" + +from __future__ import absolute_import + +import sys +import os +import io +import time +import re +import types +import zipfile +import zipimport +import warnings +import stat +import functools +import pkgutil +import operator +import platform +import collections +import plistlib +import email.parser +import errno +import tempfile +import textwrap +import itertools +import inspect +from pkgutil import get_importer + +try: + import _imp +except ImportError: + # Python 3.2 compatibility + import imp as _imp + +try: + FileExistsError +except NameError: + FileExistsError = OSError + +from pip._vendor import six +from pip._vendor.six.moves import urllib, map, filter + +# capture these to bypass sandboxing +from os import utime +try: + from os import mkdir, rename, unlink + WRITE_SUPPORT = True +except ImportError: + # no write support, probably under GAE + WRITE_SUPPORT = False + +from os import open as os_open +from os.path import isdir, split + +try: + import importlib.machinery as importlib_machinery + # access attribute to force import under delayed import mechanisms. + importlib_machinery.__name__ +except ImportError: + importlib_machinery = None + +from . import py31compat +from pip._vendor import appdirs +from pip._vendor import packaging +__import__('pip._vendor.packaging.version') +__import__('pip._vendor.packaging.specifiers') +__import__('pip._vendor.packaging.requirements') +__import__('pip._vendor.packaging.markers') + + +__metaclass__ = type + + +if (3, 0) < sys.version_info < (3, 4): + raise RuntimeError("Python 3.4 or later is required") + +if six.PY2: + # Those builtin exceptions are only defined in Python 3 + PermissionError = None + NotADirectoryError = None + +# declare some globals that will be defined later to +# satisfy the linters. +require = None +working_set = None +add_activation_listener = None +resources_stream = None +cleanup_resources = None +resource_dir = None +resource_stream = None +set_extraction_path = None +resource_isdir = None +resource_string = None +iter_entry_points = None +resource_listdir = None +resource_filename = None +resource_exists = None +_distribution_finders = None +_namespace_handlers = None +_namespace_packages = None + + +class PEP440Warning(RuntimeWarning): + """ + Used when there is an issue with a version or specifier not complying with + PEP 440. + """ + + +def parse_version(v): + try: + return packaging.version.Version(v) + except packaging.version.InvalidVersion: + return packaging.version.LegacyVersion(v) + + +_state_vars = {} + + +def _declare_state(vartype, **kw): + globals().update(kw) + _state_vars.update(dict.fromkeys(kw, vartype)) + + +def __getstate__(): + state = {} + g = globals() + for k, v in _state_vars.items(): + state[k] = g['_sget_' + v](g[k]) + return state + + +def __setstate__(state): + g = globals() + for k, v in state.items(): + g['_sset_' + _state_vars[k]](k, g[k], v) + return state + + +def _sget_dict(val): + return val.copy() + + +def _sset_dict(key, ob, state): + ob.clear() + ob.update(state) + + +def _sget_object(val): + return val.__getstate__() + + +def _sset_object(key, ob, state): + ob.__setstate__(state) + + +_sget_none = _sset_none = lambda *args: None + + +def get_supported_platform(): + """Return this platform's maximum compatible version. + + distutils.util.get_platform() normally reports the minimum version + of Mac OS X that would be required to *use* extensions produced by + distutils. But what we want when checking compatibility is to know the + version of Mac OS X that we are *running*. To allow usage of packages that + explicitly require a newer version of Mac OS X, we must also know the + current version of the OS. + + If this condition occurs for any other platform with a version in its + platform strings, this function should be extended accordingly. + """ + plat = get_build_platform() + m = macosVersionString.match(plat) + if m is not None and sys.platform == "darwin": + try: + plat = 'macosx-%s-%s' % ('.'.join(_macosx_vers()[:2]), m.group(3)) + except ValueError: + # not Mac OS X + pass + return plat + + +__all__ = [ + # Basic resource access and distribution/entry point discovery + 'require', 'run_script', 'get_provider', 'get_distribution', + 'load_entry_point', 'get_entry_map', 'get_entry_info', + 'iter_entry_points', + 'resource_string', 'resource_stream', 'resource_filename', + 'resource_listdir', 'resource_exists', 'resource_isdir', + + # Environmental control + 'declare_namespace', 'working_set', 'add_activation_listener', + 'find_distributions', 'set_extraction_path', 'cleanup_resources', + 'get_default_cache', + + # Primary implementation classes + 'Environment', 'WorkingSet', 'ResourceManager', + 'Distribution', 'Requirement', 'EntryPoint', + + # Exceptions + 'ResolutionError', 'VersionConflict', 'DistributionNotFound', + 'UnknownExtra', 'ExtractionError', + + # Warnings + 'PEP440Warning', + + # Parsing functions and string utilities + 'parse_requirements', 'parse_version', 'safe_name', 'safe_version', + 'get_platform', 'compatible_platforms', 'yield_lines', 'split_sections', + 'safe_extra', 'to_filename', 'invalid_marker', 'evaluate_marker', + + # filesystem utilities + 'ensure_directory', 'normalize_path', + + # Distribution "precedence" constants + 'EGG_DIST', 'BINARY_DIST', 'SOURCE_DIST', 'CHECKOUT_DIST', 'DEVELOP_DIST', + + # "Provider" interfaces, implementations, and registration/lookup APIs + 'IMetadataProvider', 'IResourceProvider', 'FileMetadata', + 'PathMetadata', 'EggMetadata', 'EmptyProvider', 'empty_provider', + 'NullProvider', 'EggProvider', 'DefaultProvider', 'ZipProvider', + 'register_finder', 'register_namespace_handler', 'register_loader_type', + 'fixup_namespace_packages', 'get_importer', + + # Warnings + 'PkgResourcesDeprecationWarning', + + # Deprecated/backward compatibility only + 'run_main', 'AvailableDistributions', +] + + +class ResolutionError(Exception): + """Abstract base for dependency resolution errors""" + + def __repr__(self): + return self.__class__.__name__ + repr(self.args) + + +class VersionConflict(ResolutionError): + """ + An already-installed version conflicts with the requested version. + + Should be initialized with the installed Distribution and the requested + Requirement. + """ + + _template = "{self.dist} is installed but {self.req} is required" + + @property + def dist(self): + return self.args[0] + + @property + def req(self): + return self.args[1] + + def report(self): + return self._template.format(**locals()) + + def with_context(self, required_by): + """ + If required_by is non-empty, return a version of self that is a + ContextualVersionConflict. + """ + if not required_by: + return self + args = self.args + (required_by,) + return ContextualVersionConflict(*args) + + +class ContextualVersionConflict(VersionConflict): + """ + A VersionConflict that accepts a third parameter, the set of the + requirements that required the installed Distribution. + """ + + _template = VersionConflict._template + ' by {self.required_by}' + + @property + def required_by(self): + return self.args[2] + + +class DistributionNotFound(ResolutionError): + """A requested distribution was not found""" + + _template = ("The '{self.req}' distribution was not found " + "and is required by {self.requirers_str}") + + @property + def req(self): + return self.args[0] + + @property + def requirers(self): + return self.args[1] + + @property + def requirers_str(self): + if not self.requirers: + return 'the application' + return ', '.join(self.requirers) + + def report(self): + return self._template.format(**locals()) + + def __str__(self): + return self.report() + + +class UnknownExtra(ResolutionError): + """Distribution doesn't have an "extra feature" of the given name""" + + +_provider_factories = {} + +PY_MAJOR = sys.version[:3] +EGG_DIST = 3 +BINARY_DIST = 2 +SOURCE_DIST = 1 +CHECKOUT_DIST = 0 +DEVELOP_DIST = -1 + + +def register_loader_type(loader_type, provider_factory): + """Register `provider_factory` to make providers for `loader_type` + + `loader_type` is the type or class of a PEP 302 ``module.__loader__``, + and `provider_factory` is a function that, passed a *module* object, + returns an ``IResourceProvider`` for that module. + """ + _provider_factories[loader_type] = provider_factory + + +def get_provider(moduleOrReq): + """Return an IResourceProvider for the named module or requirement""" + if isinstance(moduleOrReq, Requirement): + return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0] + try: + module = sys.modules[moduleOrReq] + except KeyError: + __import__(moduleOrReq) + module = sys.modules[moduleOrReq] + loader = getattr(module, '__loader__', None) + return _find_adapter(_provider_factories, loader)(module) + + +def _macosx_vers(_cache=[]): + if not _cache: + version = platform.mac_ver()[0] + # fallback for MacPorts + if version == '': + plist = '/System/Library/CoreServices/SystemVersion.plist' + if os.path.exists(plist): + if hasattr(plistlib, 'readPlist'): + plist_content = plistlib.readPlist(plist) + if 'ProductVersion' in plist_content: + version = plist_content['ProductVersion'] + + _cache.append(version.split('.')) + return _cache[0] + + +def _macosx_arch(machine): + return {'PowerPC': 'ppc', 'Power_Macintosh': 'ppc'}.get(machine, machine) + + +def get_build_platform(): + """Return this platform's string for platform-specific distributions + + XXX Currently this is the same as ``distutils.util.get_platform()``, but it + needs some hacks for Linux and Mac OS X. + """ + from sysconfig import get_platform + + plat = get_platform() + if sys.platform == "darwin" and not plat.startswith('macosx-'): + try: + version = _macosx_vers() + machine = os.uname()[4].replace(" ", "_") + return "macosx-%d.%d-%s" % ( + int(version[0]), int(version[1]), + _macosx_arch(machine), + ) + except ValueError: + # if someone is running a non-Mac darwin system, this will fall + # through to the default implementation + pass + return plat + + +macosVersionString = re.compile(r"macosx-(\d+)\.(\d+)-(.*)") +darwinVersionString = re.compile(r"darwin-(\d+)\.(\d+)\.(\d+)-(.*)") +# XXX backward compat +get_platform = get_build_platform + + +def compatible_platforms(provided, required): + """Can code for the `provided` platform run on the `required` platform? + + Returns true if either platform is ``None``, or the platforms are equal. + + XXX Needs compatibility checks for Linux and other unixy OSes. + """ + if provided is None or required is None or provided == required: + # easy case + return True + + # Mac OS X special cases + reqMac = macosVersionString.match(required) + if reqMac: + provMac = macosVersionString.match(provided) + + # is this a Mac package? + if not provMac: + # this is backwards compatibility for packages built before + # setuptools 0.6. All packages built after this point will + # use the new macosx designation. + provDarwin = darwinVersionString.match(provided) + if provDarwin: + dversion = int(provDarwin.group(1)) + macosversion = "%s.%s" % (reqMac.group(1), reqMac.group(2)) + if dversion == 7 and macosversion >= "10.3" or \ + dversion == 8 and macosversion >= "10.4": + return True + # egg isn't macosx or legacy darwin + return False + + # are they the same major version and machine type? + if provMac.group(1) != reqMac.group(1) or \ + provMac.group(3) != reqMac.group(3): + return False + + # is the required OS major update >= the provided one? + if int(provMac.group(2)) > int(reqMac.group(2)): + return False + + return True + + # XXX Linux and other platforms' special cases should go here + return False + + +def run_script(dist_spec, script_name): + """Locate distribution `dist_spec` and run its `script_name` script""" + ns = sys._getframe(1).f_globals + name = ns['__name__'] + ns.clear() + ns['__name__'] = name + require(dist_spec)[0].run_script(script_name, ns) + + +# backward compatibility +run_main = run_script + + +def get_distribution(dist): + """Return a current distribution object for a Requirement or string""" + if isinstance(dist, six.string_types): + dist = Requirement.parse(dist) + if isinstance(dist, Requirement): + dist = get_provider(dist) + if not isinstance(dist, Distribution): + raise TypeError("Expected string, Requirement, or Distribution", dist) + return dist + + +def load_entry_point(dist, group, name): + """Return `name` entry point of `group` for `dist` or raise ImportError""" + return get_distribution(dist).load_entry_point(group, name) + + +def get_entry_map(dist, group=None): + """Return the entry point map for `group`, or the full entry map""" + return get_distribution(dist).get_entry_map(group) + + +def get_entry_info(dist, group, name): + """Return the EntryPoint object for `group`+`name`, or ``None``""" + return get_distribution(dist).get_entry_info(group, name) + + +class IMetadataProvider: + def has_metadata(name): + """Does the package's distribution contain the named metadata?""" + + def get_metadata(name): + """The named metadata resource as a string""" + + def get_metadata_lines(name): + """Yield named metadata resource as list of non-blank non-comment lines + + Leading and trailing whitespace is stripped from each line, and lines + with ``#`` as the first non-blank character are omitted.""" + + def metadata_isdir(name): + """Is the named metadata a directory? (like ``os.path.isdir()``)""" + + def metadata_listdir(name): + """List of metadata names in the directory (like ``os.listdir()``)""" + + def run_script(script_name, namespace): + """Execute the named script in the supplied namespace dictionary""" + + +class IResourceProvider(IMetadataProvider): + """An object that provides access to package resources""" + + def get_resource_filename(manager, resource_name): + """Return a true filesystem path for `resource_name` + + `manager` must be an ``IResourceManager``""" + + def get_resource_stream(manager, resource_name): + """Return a readable file-like object for `resource_name` + + `manager` must be an ``IResourceManager``""" + + def get_resource_string(manager, resource_name): + """Return a string containing the contents of `resource_name` + + `manager` must be an ``IResourceManager``""" + + def has_resource(resource_name): + """Does the package contain the named resource?""" + + def resource_isdir(resource_name): + """Is the named resource a directory? (like ``os.path.isdir()``)""" + + def resource_listdir(resource_name): + """List of resource names in the directory (like ``os.listdir()``)""" + + +class WorkingSet: + """A collection of active distributions on sys.path (or a similar list)""" + + def __init__(self, entries=None): + """Create working set from list of path entries (default=sys.path)""" + self.entries = [] + self.entry_keys = {} + self.by_key = {} + self.callbacks = [] + + if entries is None: + entries = sys.path + + for entry in entries: + self.add_entry(entry) + + @classmethod + def _build_master(cls): + """ + Prepare the master working set. + """ + ws = cls() + try: + from __main__ import __requires__ + except ImportError: + # The main program does not list any requirements + return ws + + # ensure the requirements are met + try: + ws.require(__requires__) + except VersionConflict: + return cls._build_from_requirements(__requires__) + + return ws + + @classmethod + def _build_from_requirements(cls, req_spec): + """ + Build a working set from a requirement spec. Rewrites sys.path. + """ + # try it without defaults already on sys.path + # by starting with an empty path + ws = cls([]) + reqs = parse_requirements(req_spec) + dists = ws.resolve(reqs, Environment()) + for dist in dists: + ws.add(dist) + + # add any missing entries from sys.path + for entry in sys.path: + if entry not in ws.entries: + ws.add_entry(entry) + + # then copy back to sys.path + sys.path[:] = ws.entries + return ws + + def add_entry(self, entry): + """Add a path item to ``.entries``, finding any distributions on it + + ``find_distributions(entry, True)`` is used to find distributions + corresponding to the path entry, and they are added. `entry` is + always appended to ``.entries``, even if it is already present. + (This is because ``sys.path`` can contain the same value more than + once, and the ``.entries`` of the ``sys.path`` WorkingSet should always + equal ``sys.path``.) + """ + self.entry_keys.setdefault(entry, []) + self.entries.append(entry) + for dist in find_distributions(entry, True): + self.add(dist, entry, False) + + def __contains__(self, dist): + """True if `dist` is the active distribution for its project""" + return self.by_key.get(dist.key) == dist + + def find(self, req): + """Find a distribution matching requirement `req` + + If there is an active distribution for the requested project, this + returns it as long as it meets the version requirement specified by + `req`. But, if there is an active distribution for the project and it + does *not* meet the `req` requirement, ``VersionConflict`` is raised. + If there is no active distribution for the requested project, ``None`` + is returned. + """ + dist = self.by_key.get(req.key) + if dist is not None and dist not in req: + # XXX add more info + raise VersionConflict(dist, req) + return dist + + def iter_entry_points(self, group, name=None): + """Yield entry point objects from `group` matching `name` + + If `name` is None, yields all entry points in `group` from all + distributions in the working set, otherwise only ones matching + both `group` and `name` are yielded (in distribution order). + """ + return ( + entry + for dist in self + for entry in dist.get_entry_map(group).values() + if name is None or name == entry.name + ) + + def run_script(self, requires, script_name): + """Locate distribution for `requires` and run `script_name` script""" + ns = sys._getframe(1).f_globals + name = ns['__name__'] + ns.clear() + ns['__name__'] = name + self.require(requires)[0].run_script(script_name, ns) + + def __iter__(self): + """Yield distributions for non-duplicate projects in the working set + + The yield order is the order in which the items' path entries were + added to the working set. + """ + seen = {} + for item in self.entries: + if item not in self.entry_keys: + # workaround a cache issue + continue + + for key in self.entry_keys[item]: + if key not in seen: + seen[key] = 1 + yield self.by_key[key] + + def add(self, dist, entry=None, insert=True, replace=False): + """Add `dist` to working set, associated with `entry` + + If `entry` is unspecified, it defaults to the ``.location`` of `dist`. + On exit from this routine, `entry` is added to the end of the working + set's ``.entries`` (if it wasn't already present). + + `dist` is only added to the working set if it's for a project that + doesn't already have a distribution in the set, unless `replace=True`. + If it's added, any callbacks registered with the ``subscribe()`` method + will be called. + """ + if insert: + dist.insert_on(self.entries, entry, replace=replace) + + if entry is None: + entry = dist.location + keys = self.entry_keys.setdefault(entry, []) + keys2 = self.entry_keys.setdefault(dist.location, []) + if not replace and dist.key in self.by_key: + # ignore hidden distros + return + + self.by_key[dist.key] = dist + if dist.key not in keys: + keys.append(dist.key) + if dist.key not in keys2: + keys2.append(dist.key) + self._added_new(dist) + + def resolve(self, requirements, env=None, installer=None, + replace_conflicting=False, extras=None): + """List all distributions needed to (recursively) meet `requirements` + + `requirements` must be a sequence of ``Requirement`` objects. `env`, + if supplied, should be an ``Environment`` instance. If + not supplied, it defaults to all distributions available within any + entry or distribution in the working set. `installer`, if supplied, + will be invoked with each requirement that cannot be met by an + already-installed distribution; it should return a ``Distribution`` or + ``None``. + + Unless `replace_conflicting=True`, raises a VersionConflict exception + if + any requirements are found on the path that have the correct name but + the wrong version. Otherwise, if an `installer` is supplied it will be + invoked to obtain the correct version of the requirement and activate + it. + + `extras` is a list of the extras to be used with these requirements. + This is important because extra requirements may look like `my_req; + extra = "my_extra"`, which would otherwise be interpreted as a purely + optional requirement. Instead, we want to be able to assert that these + requirements are truly required. + """ + + # set up the stack + requirements = list(requirements)[::-1] + # set of processed requirements + processed = {} + # key -> dist + best = {} + to_activate = [] + + req_extras = _ReqExtras() + + # Mapping of requirement to set of distributions that required it; + # useful for reporting info about conflicts. + required_by = collections.defaultdict(set) + + while requirements: + # process dependencies breadth-first + req = requirements.pop(0) + if req in processed: + # Ignore cyclic or redundant dependencies + continue + + if not req_extras.markers_pass(req, extras): + continue + + dist = best.get(req.key) + if dist is None: + # Find the best distribution and add it to the map + dist = self.by_key.get(req.key) + if dist is None or (dist not in req and replace_conflicting): + ws = self + if env is None: + if dist is None: + env = Environment(self.entries) + else: + # Use an empty environment and workingset to avoid + # any further conflicts with the conflicting + # distribution + env = Environment([]) + ws = WorkingSet([]) + dist = best[req.key] = env.best_match( + req, ws, installer, + replace_conflicting=replace_conflicting + ) + if dist is None: + requirers = required_by.get(req, None) + raise DistributionNotFound(req, requirers) + to_activate.append(dist) + if dist not in req: + # Oops, the "best" so far conflicts with a dependency + dependent_req = required_by[req] + raise VersionConflict(dist, req).with_context(dependent_req) + + # push the new requirements onto the stack + new_requirements = dist.requires(req.extras)[::-1] + requirements.extend(new_requirements) + + # Register the new requirements needed by req + for new_requirement in new_requirements: + required_by[new_requirement].add(req.project_name) + req_extras[new_requirement] = req.extras + + processed[req] = True + + # return list of distros to activate + return to_activate + + def find_plugins( + self, plugin_env, full_env=None, installer=None, fallback=True): + """Find all activatable distributions in `plugin_env` + + Example usage:: + + distributions, errors = working_set.find_plugins( + Environment(plugin_dirlist) + ) + # add plugins+libs to sys.path + map(working_set.add, distributions) + # display errors + print('Could not load', errors) + + The `plugin_env` should be an ``Environment`` instance that contains + only distributions that are in the project's "plugin directory" or + directories. The `full_env`, if supplied, should be an ``Environment`` + contains all currently-available distributions. If `full_env` is not + supplied, one is created automatically from the ``WorkingSet`` this + method is called on, which will typically mean that every directory on + ``sys.path`` will be scanned for distributions. + + `installer` is a standard installer callback as used by the + ``resolve()`` method. The `fallback` flag indicates whether we should + attempt to resolve older versions of a plugin if the newest version + cannot be resolved. + + This method returns a 2-tuple: (`distributions`, `error_info`), where + `distributions` is a list of the distributions found in `plugin_env` + that were loadable, along with any other distributions that are needed + to resolve their dependencies. `error_info` is a dictionary mapping + unloadable plugin distributions to an exception instance describing the + error that occurred. Usually this will be a ``DistributionNotFound`` or + ``VersionConflict`` instance. + """ + + plugin_projects = list(plugin_env) + # scan project names in alphabetic order + plugin_projects.sort() + + error_info = {} + distributions = {} + + if full_env is None: + env = Environment(self.entries) + env += plugin_env + else: + env = full_env + plugin_env + + shadow_set = self.__class__([]) + # put all our entries in shadow_set + list(map(shadow_set.add, self)) + + for project_name in plugin_projects: + + for dist in plugin_env[project_name]: + + req = [dist.as_requirement()] + + try: + resolvees = shadow_set.resolve(req, env, installer) + + except ResolutionError as v: + # save error info + error_info[dist] = v + if fallback: + # try the next older version of project + continue + else: + # give up on this project, keep going + break + + else: + list(map(shadow_set.add, resolvees)) + distributions.update(dict.fromkeys(resolvees)) + + # success, no need to try any more versions of this project + break + + distributions = list(distributions) + distributions.sort() + + return distributions, error_info + + def require(self, *requirements): + """Ensure that distributions matching `requirements` are activated + + `requirements` must be a string or a (possibly-nested) sequence + thereof, specifying the distributions and versions required. The + return value is a sequence of the distributions that needed to be + activated to fulfill the requirements; all relevant distributions are + included, even if they were already activated in this working set. + """ + needed = self.resolve(parse_requirements(requirements)) + + for dist in needed: + self.add(dist) + + return needed + + def subscribe(self, callback, existing=True): + """Invoke `callback` for all distributions + + If `existing=True` (default), + call on all existing ones, as well. + """ + if callback in self.callbacks: + return + self.callbacks.append(callback) + if not existing: + return + for dist in self: + callback(dist) + + def _added_new(self, dist): + for callback in self.callbacks: + callback(dist) + + def __getstate__(self): + return ( + self.entries[:], self.entry_keys.copy(), self.by_key.copy(), + self.callbacks[:] + ) + + def __setstate__(self, e_k_b_c): + entries, keys, by_key, callbacks = e_k_b_c + self.entries = entries[:] + self.entry_keys = keys.copy() + self.by_key = by_key.copy() + self.callbacks = callbacks[:] + + +class _ReqExtras(dict): + """ + Map each requirement to the extras that demanded it. + """ + + def markers_pass(self, req, extras=None): + """ + Evaluate markers for req against each extra that + demanded it. + + Return False if the req has a marker and fails + evaluation. Otherwise, return True. + """ + extra_evals = ( + req.marker.evaluate({'extra': extra}) + for extra in self.get(req, ()) + (extras or (None,)) + ) + return not req.marker or any(extra_evals) + + +class Environment: + """Searchable snapshot of distributions on a search path""" + + def __init__( + self, search_path=None, platform=get_supported_platform(), + python=PY_MAJOR): + """Snapshot distributions available on a search path + + Any distributions found on `search_path` are added to the environment. + `search_path` should be a sequence of ``sys.path`` items. If not + supplied, ``sys.path`` is used. + + `platform` is an optional string specifying the name of the platform + that platform-specific distributions must be compatible with. If + unspecified, it defaults to the current platform. `python` is an + optional string naming the desired version of Python (e.g. ``'3.6'``); + it defaults to the current version. + + You may explicitly set `platform` (and/or `python`) to ``None`` if you + wish to map *all* distributions, not just those compatible with the + running platform or Python version. + """ + self._distmap = {} + self.platform = platform + self.python = python + self.scan(search_path) + + def can_add(self, dist): + """Is distribution `dist` acceptable for this environment? + + The distribution must match the platform and python version + requirements specified when this environment was created, or False + is returned. + """ + py_compat = ( + self.python is None + or dist.py_version is None + or dist.py_version == self.python + ) + return py_compat and compatible_platforms(dist.platform, self.platform) + + def remove(self, dist): + """Remove `dist` from the environment""" + self._distmap[dist.key].remove(dist) + + def scan(self, search_path=None): + """Scan `search_path` for distributions usable in this environment + + Any distributions found are added to the environment. + `search_path` should be a sequence of ``sys.path`` items. If not + supplied, ``sys.path`` is used. Only distributions conforming to + the platform/python version defined at initialization are added. + """ + if search_path is None: + search_path = sys.path + + for item in search_path: + for dist in find_distributions(item): + self.add(dist) + + def __getitem__(self, project_name): + """Return a newest-to-oldest list of distributions for `project_name` + + Uses case-insensitive `project_name` comparison, assuming all the + project's distributions use their project's name converted to all + lowercase as their key. + + """ + distribution_key = project_name.lower() + return self._distmap.get(distribution_key, []) + + def add(self, dist): + """Add `dist` if we ``can_add()`` it and it has not already been added + """ + if self.can_add(dist) and dist.has_version(): + dists = self._distmap.setdefault(dist.key, []) + if dist not in dists: + dists.append(dist) + dists.sort(key=operator.attrgetter('hashcmp'), reverse=True) + + def best_match( + self, req, working_set, installer=None, replace_conflicting=False): + """Find distribution best matching `req` and usable on `working_set` + + This calls the ``find(req)`` method of the `working_set` to see if a + suitable distribution is already active. (This may raise + ``VersionConflict`` if an unsuitable version of the project is already + active in the specified `working_set`.) If a suitable distribution + isn't active, this method returns the newest distribution in the + environment that meets the ``Requirement`` in `req`. If no suitable + distribution is found, and `installer` is supplied, then the result of + calling the environment's ``obtain(req, installer)`` method will be + returned. + """ + try: + dist = working_set.find(req) + except VersionConflict: + if not replace_conflicting: + raise + dist = None + if dist is not None: + return dist + for dist in self[req.key]: + if dist in req: + return dist + # try to download/install + return self.obtain(req, installer) + + def obtain(self, requirement, installer=None): + """Obtain a distribution matching `requirement` (e.g. via download) + + Obtain a distro that matches requirement (e.g. via download). In the + base ``Environment`` class, this routine just returns + ``installer(requirement)``, unless `installer` is None, in which case + None is returned instead. This method is a hook that allows subclasses + to attempt other ways of obtaining a distribution before falling back + to the `installer` argument.""" + if installer is not None: + return installer(requirement) + + def __iter__(self): + """Yield the unique project names of the available distributions""" + for key in self._distmap.keys(): + if self[key]: + yield key + + def __iadd__(self, other): + """In-place addition of a distribution or environment""" + if isinstance(other, Distribution): + self.add(other) + elif isinstance(other, Environment): + for project in other: + for dist in other[project]: + self.add(dist) + else: + raise TypeError("Can't add %r to environment" % (other,)) + return self + + def __add__(self, other): + """Add an environment or distribution to an environment""" + new = self.__class__([], platform=None, python=None) + for env in self, other: + new += env + return new + + +# XXX backward compatibility +AvailableDistributions = Environment + + +class ExtractionError(RuntimeError): + """An error occurred extracting a resource + + The following attributes are available from instances of this exception: + + manager + The resource manager that raised this exception + + cache_path + The base directory for resource extraction + + original_error + The exception instance that caused extraction to fail + """ + + +class ResourceManager: + """Manage resource extraction and packages""" + extraction_path = None + + def __init__(self): + self.cached_files = {} + + def resource_exists(self, package_or_requirement, resource_name): + """Does the named resource exist?""" + return get_provider(package_or_requirement).has_resource(resource_name) + + def resource_isdir(self, package_or_requirement, resource_name): + """Is the named resource an existing directory?""" + return get_provider(package_or_requirement).resource_isdir( + resource_name + ) + + def resource_filename(self, package_or_requirement, resource_name): + """Return a true filesystem path for specified resource""" + return get_provider(package_or_requirement).get_resource_filename( + self, resource_name + ) + + def resource_stream(self, package_or_requirement, resource_name): + """Return a readable file-like object for specified resource""" + return get_provider(package_or_requirement).get_resource_stream( + self, resource_name + ) + + def resource_string(self, package_or_requirement, resource_name): + """Return specified resource as a string""" + return get_provider(package_or_requirement).get_resource_string( + self, resource_name + ) + + def resource_listdir(self, package_or_requirement, resource_name): + """List the contents of the named resource directory""" + return get_provider(package_or_requirement).resource_listdir( + resource_name + ) + + def extraction_error(self): + """Give an error message for problems extracting file(s)""" + + old_exc = sys.exc_info()[1] + cache_path = self.extraction_path or get_default_cache() + + tmpl = textwrap.dedent(""" + Can't extract file(s) to egg cache + + The following error occurred while trying to extract file(s) + to the Python egg cache: + + {old_exc} + + The Python egg cache directory is currently set to: + + {cache_path} + + Perhaps your account does not have write access to this directory? + You can change the cache directory by setting the PYTHON_EGG_CACHE + environment variable to point to an accessible directory. + """).lstrip() + err = ExtractionError(tmpl.format(**locals())) + err.manager = self + err.cache_path = cache_path + err.original_error = old_exc + raise err + + def get_cache_path(self, archive_name, names=()): + """Return absolute location in cache for `archive_name` and `names` + + The parent directory of the resulting path will be created if it does + not already exist. `archive_name` should be the base filename of the + enclosing egg (which may not be the name of the enclosing zipfile!), + including its ".egg" extension. `names`, if provided, should be a + sequence of path name parts "under" the egg's extraction location. + + This method should only be called by resource providers that need to + obtain an extraction location, and only for names they intend to + extract, as it tracks the generated names for possible cleanup later. + """ + extract_path = self.extraction_path or get_default_cache() + target_path = os.path.join(extract_path, archive_name + '-tmp', *names) + try: + _bypass_ensure_directory(target_path) + except Exception: + self.extraction_error() + + self._warn_unsafe_extraction_path(extract_path) + + self.cached_files[target_path] = 1 + return target_path + + @staticmethod + def _warn_unsafe_extraction_path(path): + """ + If the default extraction path is overridden and set to an insecure + location, such as /tmp, it opens up an opportunity for an attacker to + replace an extracted file with an unauthorized payload. Warn the user + if a known insecure location is used. + + See Distribute #375 for more details. + """ + if os.name == 'nt' and not path.startswith(os.environ['windir']): + # On Windows, permissions are generally restrictive by default + # and temp directories are not writable by other users, so + # bypass the warning. + return + mode = os.stat(path).st_mode + if mode & stat.S_IWOTH or mode & stat.S_IWGRP: + msg = ( + "%s is writable by group/others and vulnerable to attack " + "when " + "used with get_resource_filename. Consider a more secure " + "location (set with .set_extraction_path or the " + "PYTHON_EGG_CACHE environment variable)." % path + ) + warnings.warn(msg, UserWarning) + + def postprocess(self, tempname, filename): + """Perform any platform-specific postprocessing of `tempname` + + This is where Mac header rewrites should be done; other platforms don't + have anything special they should do. + + Resource providers should call this method ONLY after successfully + extracting a compressed resource. They must NOT call it on resources + that are already in the filesystem. + + `tempname` is the current (temporary) name of the file, and `filename` + is the name it will be renamed to by the caller after this routine + returns. + """ + + if os.name == 'posix': + # Make the resource executable + mode = ((os.stat(tempname).st_mode) | 0o555) & 0o7777 + os.chmod(tempname, mode) + + def set_extraction_path(self, path): + """Set the base path where resources will be extracted to, if needed. + + If you do not call this routine before any extractions take place, the + path defaults to the return value of ``get_default_cache()``. (Which + is based on the ``PYTHON_EGG_CACHE`` environment variable, with various + platform-specific fallbacks. See that routine's documentation for more + details.) + + Resources are extracted to subdirectories of this path based upon + information given by the ``IResourceProvider``. You may set this to a + temporary directory, but then you must call ``cleanup_resources()`` to + delete the extracted files when done. There is no guarantee that + ``cleanup_resources()`` will be able to remove all extracted files. + + (Note: you may not change the extraction path for a given resource + manager once resources have been extracted, unless you first call + ``cleanup_resources()``.) + """ + if self.cached_files: + raise ValueError( + "Can't change extraction path, files already extracted" + ) + + self.extraction_path = path + + def cleanup_resources(self, force=False): + """ + Delete all extracted resource files and directories, returning a list + of the file and directory names that could not be successfully removed. + This function does not have any concurrency protection, so it should + generally only be called when the extraction path is a temporary + directory exclusive to a single process. This method is not + automatically called; you must call it explicitly or register it as an + ``atexit`` function if you wish to ensure cleanup of a temporary + directory used for extractions. + """ + # XXX + + +def get_default_cache(): + """ + Return the ``PYTHON_EGG_CACHE`` environment variable + or a platform-relevant user cache dir for an app + named "Python-Eggs". + """ + return ( + os.environ.get('PYTHON_EGG_CACHE') + or appdirs.user_cache_dir(appname='Python-Eggs') + ) + + +def safe_name(name): + """Convert an arbitrary string to a standard distribution name + + Any runs of non-alphanumeric/. characters are replaced with a single '-'. + """ + return re.sub('[^A-Za-z0-9.]+', '-', name) + + +def safe_version(version): + """ + Convert an arbitrary string to a standard version string + """ + try: + # normalize the version + return str(packaging.version.Version(version)) + except packaging.version.InvalidVersion: + version = version.replace(' ', '.') + return re.sub('[^A-Za-z0-9.]+', '-', version) + + +def safe_extra(extra): + """Convert an arbitrary string to a standard 'extra' name + + Any runs of non-alphanumeric characters are replaced with a single '_', + and the result is always lowercased. + """ + return re.sub('[^A-Za-z0-9.-]+', '_', extra).lower() + + +def to_filename(name): + """Convert a project or version name to its filename-escaped form + + Any '-' characters are currently replaced with '_'. + """ + return name.replace('-', '_') + + +def invalid_marker(text): + """ + Validate text as a PEP 508 environment marker; return an exception + if invalid or False otherwise. + """ + try: + evaluate_marker(text) + except SyntaxError as e: + e.filename = None + e.lineno = None + return e + return False + + +def evaluate_marker(text, extra=None): + """ + Evaluate a PEP 508 environment marker. + Return a boolean indicating the marker result in this environment. + Raise SyntaxError if marker is invalid. + + This implementation uses the 'pyparsing' module. + """ + try: + marker = packaging.markers.Marker(text) + return marker.evaluate() + except packaging.markers.InvalidMarker as e: + raise SyntaxError(e) + + +class NullProvider: + """Try to implement resources and metadata for arbitrary PEP 302 loaders""" + + egg_name = None + egg_info = None + loader = None + + def __init__(self, module): + self.loader = getattr(module, '__loader__', None) + self.module_path = os.path.dirname(getattr(module, '__file__', '')) + + def get_resource_filename(self, manager, resource_name): + return self._fn(self.module_path, resource_name) + + def get_resource_stream(self, manager, resource_name): + return io.BytesIO(self.get_resource_string(manager, resource_name)) + + def get_resource_string(self, manager, resource_name): + return self._get(self._fn(self.module_path, resource_name)) + + def has_resource(self, resource_name): + return self._has(self._fn(self.module_path, resource_name)) + + def has_metadata(self, name): + return self.egg_info and self._has(self._fn(self.egg_info, name)) + + def get_metadata(self, name): + if not self.egg_info: + return "" + value = self._get(self._fn(self.egg_info, name)) + return value.decode('utf-8') if six.PY3 else value + + def get_metadata_lines(self, name): + return yield_lines(self.get_metadata(name)) + + def resource_isdir(self, resource_name): + return self._isdir(self._fn(self.module_path, resource_name)) + + def metadata_isdir(self, name): + return self.egg_info and self._isdir(self._fn(self.egg_info, name)) + + def resource_listdir(self, resource_name): + return self._listdir(self._fn(self.module_path, resource_name)) + + def metadata_listdir(self, name): + if self.egg_info: + return self._listdir(self._fn(self.egg_info, name)) + return [] + + def run_script(self, script_name, namespace): + script = 'scripts/' + script_name + if not self.has_metadata(script): + raise ResolutionError( + "Script {script!r} not found in metadata at {self.egg_info!r}" + .format(**locals()), + ) + script_text = self.get_metadata(script).replace('\r\n', '\n') + script_text = script_text.replace('\r', '\n') + script_filename = self._fn(self.egg_info, script) + namespace['__file__'] = script_filename + if os.path.exists(script_filename): + source = open(script_filename).read() + code = compile(source, script_filename, 'exec') + exec(code, namespace, namespace) + else: + from linecache import cache + cache[script_filename] = ( + len(script_text), 0, script_text.split('\n'), script_filename + ) + script_code = compile(script_text, script_filename, 'exec') + exec(script_code, namespace, namespace) + + def _has(self, path): + raise NotImplementedError( + "Can't perform this operation for unregistered loader type" + ) + + def _isdir(self, path): + raise NotImplementedError( + "Can't perform this operation for unregistered loader type" + ) + + def _listdir(self, path): + raise NotImplementedError( + "Can't perform this operation for unregistered loader type" + ) + + def _fn(self, base, resource_name): + if resource_name: + return os.path.join(base, *resource_name.split('/')) + return base + + def _get(self, path): + if hasattr(self.loader, 'get_data'): + return self.loader.get_data(path) + raise NotImplementedError( + "Can't perform this operation for loaders without 'get_data()'" + ) + + +register_loader_type(object, NullProvider) + + +class EggProvider(NullProvider): + """Provider based on a virtual filesystem""" + + def __init__(self, module): + NullProvider.__init__(self, module) + self._setup_prefix() + + def _setup_prefix(self): + # we assume here that our metadata may be nested inside a "basket" + # of multiple eggs; that's why we use module_path instead of .archive + path = self.module_path + old = None + while path != old: + if _is_egg_path(path): + self.egg_name = os.path.basename(path) + self.egg_info = os.path.join(path, 'EGG-INFO') + self.egg_root = path + break + old = path + path, base = os.path.split(path) + + +class DefaultProvider(EggProvider): + """Provides access to package resources in the filesystem""" + + def _has(self, path): + return os.path.exists(path) + + def _isdir(self, path): + return os.path.isdir(path) + + def _listdir(self, path): + return os.listdir(path) + + def get_resource_stream(self, manager, resource_name): + return open(self._fn(self.module_path, resource_name), 'rb') + + def _get(self, path): + with open(path, 'rb') as stream: + return stream.read() + + @classmethod + def _register(cls): + loader_names = 'SourceFileLoader', 'SourcelessFileLoader', + for name in loader_names: + loader_cls = getattr(importlib_machinery, name, type(None)) + register_loader_type(loader_cls, cls) + + +DefaultProvider._register() + + +class EmptyProvider(NullProvider): + """Provider that returns nothing for all requests""" + + module_path = None + + _isdir = _has = lambda self, path: False + + def _get(self, path): + return '' + + def _listdir(self, path): + return [] + + def __init__(self): + pass + + +empty_provider = EmptyProvider() + + +class ZipManifests(dict): + """ + zip manifest builder + """ + + @classmethod + def build(cls, path): + """ + Build a dictionary similar to the zipimport directory + caches, except instead of tuples, store ZipInfo objects. + + Use a platform-specific path separator (os.sep) for the path keys + for compatibility with pypy on Windows. + """ + with zipfile.ZipFile(path) as zfile: + items = ( + ( + name.replace('/', os.sep), + zfile.getinfo(name), + ) + for name in zfile.namelist() + ) + return dict(items) + + load = build + + +class MemoizedZipManifests(ZipManifests): + """ + Memoized zipfile manifests. + """ + manifest_mod = collections.namedtuple('manifest_mod', 'manifest mtime') + + def load(self, path): + """ + Load a manifest at path or return a suitable manifest already loaded. + """ + path = os.path.normpath(path) + mtime = os.stat(path).st_mtime + + if path not in self or self[path].mtime != mtime: + manifest = self.build(path) + self[path] = self.manifest_mod(manifest, mtime) + + return self[path].manifest + + +class ZipProvider(EggProvider): + """Resource support for zips and eggs""" + + eagers = None + _zip_manifests = MemoizedZipManifests() + + def __init__(self, module): + EggProvider.__init__(self, module) + self.zip_pre = self.loader.archive + os.sep + + def _zipinfo_name(self, fspath): + # Convert a virtual filename (full path to file) into a zipfile subpath + # usable with the zipimport directory cache for our target archive + fspath = fspath.rstrip(os.sep) + if fspath == self.loader.archive: + return '' + if fspath.startswith(self.zip_pre): + return fspath[len(self.zip_pre):] + raise AssertionError( + "%s is not a subpath of %s" % (fspath, self.zip_pre) + ) + + def _parts(self, zip_path): + # Convert a zipfile subpath into an egg-relative path part list. + # pseudo-fs path + fspath = self.zip_pre + zip_path + if fspath.startswith(self.egg_root + os.sep): + return fspath[len(self.egg_root) + 1:].split(os.sep) + raise AssertionError( + "%s is not a subpath of %s" % (fspath, self.egg_root) + ) + + @property + def zipinfo(self): + return self._zip_manifests.load(self.loader.archive) + + def get_resource_filename(self, manager, resource_name): + if not self.egg_name: + raise NotImplementedError( + "resource_filename() only supported for .egg, not .zip" + ) + # no need to lock for extraction, since we use temp names + zip_path = self._resource_to_zip(resource_name) + eagers = self._get_eager_resources() + if '/'.join(self._parts(zip_path)) in eagers: + for name in eagers: + self._extract_resource(manager, self._eager_to_zip(name)) + return self._extract_resource(manager, zip_path) + + @staticmethod + def _get_date_and_size(zip_stat): + size = zip_stat.file_size + # ymdhms+wday, yday, dst + date_time = zip_stat.date_time + (0, 0, -1) + # 1980 offset already done + timestamp = time.mktime(date_time) + return timestamp, size + + def _extract_resource(self, manager, zip_path): + + if zip_path in self._index(): + for name in self._index()[zip_path]: + last = self._extract_resource( + manager, os.path.join(zip_path, name) + ) + # return the extracted directory name + return os.path.dirname(last) + + timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) + + if not WRITE_SUPPORT: + raise IOError('"os.rename" and "os.unlink" are not supported ' + 'on this platform') + try: + + real_path = manager.get_cache_path( + self.egg_name, self._parts(zip_path) + ) + + if self._is_current(real_path, zip_path): + return real_path + + outf, tmpnam = _mkstemp( + ".$extract", + dir=os.path.dirname(real_path), + ) + os.write(outf, self.loader.get_data(zip_path)) + os.close(outf) + utime(tmpnam, (timestamp, timestamp)) + manager.postprocess(tmpnam, real_path) + + try: + rename(tmpnam, real_path) + + except os.error: + if os.path.isfile(real_path): + if self._is_current(real_path, zip_path): + # the file became current since it was checked above, + # so proceed. + return real_path + # Windows, del old file and retry + elif os.name == 'nt': + unlink(real_path) + rename(tmpnam, real_path) + return real_path + raise + + except os.error: + # report a user-friendly error + manager.extraction_error() + + return real_path + + def _is_current(self, file_path, zip_path): + """ + Return True if the file_path is current for this zip_path + """ + timestamp, size = self._get_date_and_size(self.zipinfo[zip_path]) + if not os.path.isfile(file_path): + return False + stat = os.stat(file_path) + if stat.st_size != size or stat.st_mtime != timestamp: + return False + # check that the contents match + zip_contents = self.loader.get_data(zip_path) + with open(file_path, 'rb') as f: + file_contents = f.read() + return zip_contents == file_contents + + def _get_eager_resources(self): + if self.eagers is None: + eagers = [] + for name in ('native_libs.txt', 'eager_resources.txt'): + if self.has_metadata(name): + eagers.extend(self.get_metadata_lines(name)) + self.eagers = eagers + return self.eagers + + def _index(self): + try: + return self._dirindex + except AttributeError: + ind = {} + for path in self.zipinfo: + parts = path.split(os.sep) + while parts: + parent = os.sep.join(parts[:-1]) + if parent in ind: + ind[parent].append(parts[-1]) + break + else: + ind[parent] = [parts.pop()] + self._dirindex = ind + return ind + + def _has(self, fspath): + zip_path = self._zipinfo_name(fspath) + return zip_path in self.zipinfo or zip_path in self._index() + + def _isdir(self, fspath): + return self._zipinfo_name(fspath) in self._index() + + def _listdir(self, fspath): + return list(self._index().get(self._zipinfo_name(fspath), ())) + + def _eager_to_zip(self, resource_name): + return self._zipinfo_name(self._fn(self.egg_root, resource_name)) + + def _resource_to_zip(self, resource_name): + return self._zipinfo_name(self._fn(self.module_path, resource_name)) + + +register_loader_type(zipimport.zipimporter, ZipProvider) + + +class FileMetadata(EmptyProvider): + """Metadata handler for standalone PKG-INFO files + + Usage:: + + metadata = FileMetadata("/path/to/PKG-INFO") + + This provider rejects all data and metadata requests except for PKG-INFO, + which is treated as existing, and will be the contents of the file at + the provided location. + """ + + def __init__(self, path): + self.path = path + + def has_metadata(self, name): + return name == 'PKG-INFO' and os.path.isfile(self.path) + + def get_metadata(self, name): + if name != 'PKG-INFO': + raise KeyError("No metadata except PKG-INFO is available") + + with io.open(self.path, encoding='utf-8', errors="replace") as f: + metadata = f.read() + self._warn_on_replacement(metadata) + return metadata + + def _warn_on_replacement(self, metadata): + # Python 2.7 compat for: replacement_char = '�' + replacement_char = b'\xef\xbf\xbd'.decode('utf-8') + if replacement_char in metadata: + tmpl = "{self.path} could not be properly decoded in UTF-8" + msg = tmpl.format(**locals()) + warnings.warn(msg) + + def get_metadata_lines(self, name): + return yield_lines(self.get_metadata(name)) + + +class PathMetadata(DefaultProvider): + """Metadata provider for egg directories + + Usage:: + + # Development eggs: + + egg_info = "/path/to/PackageName.egg-info" + base_dir = os.path.dirname(egg_info) + metadata = PathMetadata(base_dir, egg_info) + dist_name = os.path.splitext(os.path.basename(egg_info))[0] + dist = Distribution(basedir, project_name=dist_name, metadata=metadata) + + # Unpacked egg directories: + + egg_path = "/path/to/PackageName-ver-pyver-etc.egg" + metadata = PathMetadata(egg_path, os.path.join(egg_path,'EGG-INFO')) + dist = Distribution.from_filename(egg_path, metadata=metadata) + """ + + def __init__(self, path, egg_info): + self.module_path = path + self.egg_info = egg_info + + +class EggMetadata(ZipProvider): + """Metadata provider for .egg files""" + + def __init__(self, importer): + """Create a metadata provider from a zipimporter""" + + self.zip_pre = importer.archive + os.sep + self.loader = importer + if importer.prefix: + self.module_path = os.path.join(importer.archive, importer.prefix) + else: + self.module_path = importer.archive + self._setup_prefix() + + +_declare_state('dict', _distribution_finders={}) + + +def register_finder(importer_type, distribution_finder): + """Register `distribution_finder` to find distributions in sys.path items + + `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item + handler), and `distribution_finder` is a callable that, passed a path + item and the importer instance, yields ``Distribution`` instances found on + that path item. See ``pkg_resources.find_on_path`` for an example.""" + _distribution_finders[importer_type] = distribution_finder + + +def find_distributions(path_item, only=False): + """Yield distributions accessible via `path_item`""" + importer = get_importer(path_item) + finder = _find_adapter(_distribution_finders, importer) + return finder(importer, path_item, only) + + +def find_eggs_in_zip(importer, path_item, only=False): + """ + Find eggs in zip files; possibly multiple nested eggs. + """ + if importer.archive.endswith('.whl'): + # wheels are not supported with this finder + # they don't have PKG-INFO metadata, and won't ever contain eggs + return + metadata = EggMetadata(importer) + if metadata.has_metadata('PKG-INFO'): + yield Distribution.from_filename(path_item, metadata=metadata) + if only: + # don't yield nested distros + return + for subitem in metadata.resource_listdir('/'): + if _is_egg_path(subitem): + subpath = os.path.join(path_item, subitem) + dists = find_eggs_in_zip(zipimport.zipimporter(subpath), subpath) + for dist in dists: + yield dist + elif subitem.lower().endswith('.dist-info'): + subpath = os.path.join(path_item, subitem) + submeta = EggMetadata(zipimport.zipimporter(subpath)) + submeta.egg_info = subpath + yield Distribution.from_location(path_item, subitem, submeta) + + +register_finder(zipimport.zipimporter, find_eggs_in_zip) + + +def find_nothing(importer, path_item, only=False): + return () + + +register_finder(object, find_nothing) + + +def _by_version_descending(names): + """ + Given a list of filenames, return them in descending order + by version number. + + >>> names = 'bar', 'foo', 'Python-2.7.10.egg', 'Python-2.7.2.egg' + >>> _by_version_descending(names) + ['Python-2.7.10.egg', 'Python-2.7.2.egg', 'foo', 'bar'] + >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.egg' + >>> _by_version_descending(names) + ['Setuptools-1.2.3.egg', 'Setuptools-1.2.3b1.egg'] + >>> names = 'Setuptools-1.2.3b1.egg', 'Setuptools-1.2.3.post1.egg' + >>> _by_version_descending(names) + ['Setuptools-1.2.3.post1.egg', 'Setuptools-1.2.3b1.egg'] + """ + def _by_version(name): + """ + Parse each component of the filename + """ + name, ext = os.path.splitext(name) + parts = itertools.chain(name.split('-'), [ext]) + return [packaging.version.parse(part) for part in parts] + + return sorted(names, key=_by_version, reverse=True) + + +def find_on_path(importer, path_item, only=False): + """Yield distributions accessible on a sys.path directory""" + path_item = _normalize_cached(path_item) + + if _is_unpacked_egg(path_item): + yield Distribution.from_filename( + path_item, metadata=PathMetadata( + path_item, os.path.join(path_item, 'EGG-INFO') + ) + ) + return + + entries = safe_listdir(path_item) + + # for performance, before sorting by version, + # screen entries for only those that will yield + # distributions + filtered = ( + entry + for entry in entries + if dist_factory(path_item, entry, only) + ) + + # scan for .egg and .egg-info in directory + path_item_entries = _by_version_descending(filtered) + for entry in path_item_entries: + fullpath = os.path.join(path_item, entry) + factory = dist_factory(path_item, entry, only) + for dist in factory(fullpath): + yield dist + + +def dist_factory(path_item, entry, only): + """ + Return a dist_factory for a path_item and entry + """ + lower = entry.lower() + is_meta = any(map(lower.endswith, ('.egg-info', '.dist-info'))) + return ( + distributions_from_metadata + if is_meta else + find_distributions + if not only and _is_egg_path(entry) else + resolve_egg_link + if not only and lower.endswith('.egg-link') else + NoDists() + ) + + +class NoDists: + """ + >>> bool(NoDists()) + False + + >>> list(NoDists()('anything')) + [] + """ + def __bool__(self): + return False + if six.PY2: + __nonzero__ = __bool__ + + def __call__(self, fullpath): + return iter(()) + + +def safe_listdir(path): + """ + Attempt to list contents of path, but suppress some exceptions. + """ + try: + return os.listdir(path) + except (PermissionError, NotADirectoryError): + pass + except OSError as e: + # Ignore the directory if does not exist, not a directory or + # permission denied + ignorable = ( + e.errno in (errno.ENOTDIR, errno.EACCES, errno.ENOENT) + # Python 2 on Windows needs to be handled this way :( + or getattr(e, "winerror", None) == 267 + ) + if not ignorable: + raise + return () + + +def distributions_from_metadata(path): + root = os.path.dirname(path) + if os.path.isdir(path): + if len(os.listdir(path)) == 0: + # empty metadata dir; skip + return + metadata = PathMetadata(root, path) + else: + metadata = FileMetadata(path) + entry = os.path.basename(path) + yield Distribution.from_location( + root, entry, metadata, precedence=DEVELOP_DIST, + ) + + +def non_empty_lines(path): + """ + Yield non-empty lines from file at path + """ + with open(path) as f: + for line in f: + line = line.strip() + if line: + yield line + + +def resolve_egg_link(path): + """ + Given a path to an .egg-link, resolve distributions + present in the referenced path. + """ + referenced_paths = non_empty_lines(path) + resolved_paths = ( + os.path.join(os.path.dirname(path), ref) + for ref in referenced_paths + ) + dist_groups = map(find_distributions, resolved_paths) + return next(dist_groups, ()) + + +register_finder(pkgutil.ImpImporter, find_on_path) + +if hasattr(importlib_machinery, 'FileFinder'): + register_finder(importlib_machinery.FileFinder, find_on_path) + +_declare_state('dict', _namespace_handlers={}) +_declare_state('dict', _namespace_packages={}) + + +def register_namespace_handler(importer_type, namespace_handler): + """Register `namespace_handler` to declare namespace packages + + `importer_type` is the type or class of a PEP 302 "Importer" (sys.path item + handler), and `namespace_handler` is a callable like this:: + + def namespace_handler(importer, path_entry, moduleName, module): + # return a path_entry to use for child packages + + Namespace handlers are only called if the importer object has already + agreed that it can handle the relevant path item, and they should only + return a subpath if the module __path__ does not already contain an + equivalent subpath. For an example namespace handler, see + ``pkg_resources.file_ns_handler``. + """ + _namespace_handlers[importer_type] = namespace_handler + + +def _handle_ns(packageName, path_item): + """Ensure that named package includes a subpath of path_item (if needed)""" + + importer = get_importer(path_item) + if importer is None: + return None + + # capture warnings due to #1111 + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + loader = importer.find_module(packageName) + + if loader is None: + return None + module = sys.modules.get(packageName) + if module is None: + module = sys.modules[packageName] = types.ModuleType(packageName) + module.__path__ = [] + _set_parent_ns(packageName) + elif not hasattr(module, '__path__'): + raise TypeError("Not a package:", packageName) + handler = _find_adapter(_namespace_handlers, importer) + subpath = handler(importer, path_item, packageName, module) + if subpath is not None: + path = module.__path__ + path.append(subpath) + loader.load_module(packageName) + _rebuild_mod_path(path, packageName, module) + return subpath + + +def _rebuild_mod_path(orig_path, package_name, module): + """ + Rebuild module.__path__ ensuring that all entries are ordered + corresponding to their sys.path order + """ + sys_path = [_normalize_cached(p) for p in sys.path] + + def safe_sys_path_index(entry): + """ + Workaround for #520 and #513. + """ + try: + return sys_path.index(entry) + except ValueError: + return float('inf') + + def position_in_sys_path(path): + """ + Return the ordinal of the path based on its position in sys.path + """ + path_parts = path.split(os.sep) + module_parts = package_name.count('.') + 1 + parts = path_parts[:-module_parts] + return safe_sys_path_index(_normalize_cached(os.sep.join(parts))) + + new_path = sorted(orig_path, key=position_in_sys_path) + new_path = [_normalize_cached(p) for p in new_path] + + if isinstance(module.__path__, list): + module.__path__[:] = new_path + else: + module.__path__ = new_path + + +def declare_namespace(packageName): + """Declare that package 'packageName' is a namespace package""" + + _imp.acquire_lock() + try: + if packageName in _namespace_packages: + return + + path = sys.path + parent, _, _ = packageName.rpartition('.') + + if parent: + declare_namespace(parent) + if parent not in _namespace_packages: + __import__(parent) + try: + path = sys.modules[parent].__path__ + except AttributeError: + raise TypeError("Not a package:", parent) + + # Track what packages are namespaces, so when new path items are added, + # they can be updated + _namespace_packages.setdefault(parent or None, []).append(packageName) + _namespace_packages.setdefault(packageName, []) + + for path_item in path: + # Ensure all the parent's path items are reflected in the child, + # if they apply + _handle_ns(packageName, path_item) + + finally: + _imp.release_lock() + + +def fixup_namespace_packages(path_item, parent=None): + """Ensure that previously-declared namespace packages include path_item""" + _imp.acquire_lock() + try: + for package in _namespace_packages.get(parent, ()): + subpath = _handle_ns(package, path_item) + if subpath: + fixup_namespace_packages(subpath, package) + finally: + _imp.release_lock() + + +def file_ns_handler(importer, path_item, packageName, module): + """Compute an ns-package subpath for a filesystem or zipfile importer""" + + subpath = os.path.join(path_item, packageName.split('.')[-1]) + normalized = _normalize_cached(subpath) + for item in module.__path__: + if _normalize_cached(item) == normalized: + break + else: + # Only return the path if it's not already there + return subpath + + +register_namespace_handler(pkgutil.ImpImporter, file_ns_handler) +register_namespace_handler(zipimport.zipimporter, file_ns_handler) + +if hasattr(importlib_machinery, 'FileFinder'): + register_namespace_handler(importlib_machinery.FileFinder, file_ns_handler) + + +def null_ns_handler(importer, path_item, packageName, module): + return None + + +register_namespace_handler(object, null_ns_handler) + + +def normalize_path(filename): + """Normalize a file/dir name for comparison purposes""" + return os.path.normcase(os.path.realpath(os.path.normpath(_cygwin_patch(filename)))) + + +def _cygwin_patch(filename): # pragma: nocover + """ + Contrary to POSIX 2008, on Cygwin, getcwd (3) contains + symlink components. Using + os.path.abspath() works around this limitation. A fix in os.getcwd() + would probably better, in Cygwin even more so, except + that this seems to be by design... + """ + return os.path.abspath(filename) if sys.platform == 'cygwin' else filename + + +def _normalize_cached(filename, _cache={}): + try: + return _cache[filename] + except KeyError: + _cache[filename] = result = normalize_path(filename) + return result + + +def _is_egg_path(path): + """ + Determine if given path appears to be an egg. + """ + return path.lower().endswith('.egg') + + +def _is_unpacked_egg(path): + """ + Determine if given path appears to be an unpacked egg. + """ + return ( + _is_egg_path(path) and + os.path.isfile(os.path.join(path, 'EGG-INFO', 'PKG-INFO')) + ) + + +def _set_parent_ns(packageName): + parts = packageName.split('.') + name = parts.pop() + if parts: + parent = '.'.join(parts) + setattr(sys.modules[parent], name, sys.modules[packageName]) + + +def yield_lines(strs): + """Yield non-empty/non-comment lines of a string or sequence""" + if isinstance(strs, six.string_types): + for s in strs.splitlines(): + s = s.strip() + # skip blank lines/comments + if s and not s.startswith('#'): + yield s + else: + for ss in strs: + for s in yield_lines(ss): + yield s + + +MODULE = re.compile(r"\w+(\.\w+)*$").match +EGG_NAME = re.compile( + r""" + (?P<name>[^-]+) ( + -(?P<ver>[^-]+) ( + -py(?P<pyver>[^-]+) ( + -(?P<plat>.+) + )? + )? + )? + """, + re.VERBOSE | re.IGNORECASE, +).match + + +class EntryPoint: + """Object representing an advertised importable object""" + + def __init__(self, name, module_name, attrs=(), extras=(), dist=None): + if not MODULE(module_name): + raise ValueError("Invalid module name", module_name) + self.name = name + self.module_name = module_name + self.attrs = tuple(attrs) + self.extras = tuple(extras) + self.dist = dist + + def __str__(self): + s = "%s = %s" % (self.name, self.module_name) + if self.attrs: + s += ':' + '.'.join(self.attrs) + if self.extras: + s += ' [%s]' % ','.join(self.extras) + return s + + def __repr__(self): + return "EntryPoint.parse(%r)" % str(self) + + def load(self, require=True, *args, **kwargs): + """ + Require packages for this EntryPoint, then resolve it. + """ + if not require or args or kwargs: + warnings.warn( + "Parameters to load are deprecated. Call .resolve and " + ".require separately.", + PkgResourcesDeprecationWarning, + stacklevel=2, + ) + if require: + self.require(*args, **kwargs) + return self.resolve() + + def resolve(self): + """ + Resolve the entry point from its module and attrs. + """ + module = __import__(self.module_name, fromlist=['__name__'], level=0) + try: + return functools.reduce(getattr, self.attrs, module) + except AttributeError as exc: + raise ImportError(str(exc)) + + def require(self, env=None, installer=None): + if self.extras and not self.dist: + raise UnknownExtra("Can't require() without a distribution", self) + + # Get the requirements for this entry point with all its extras and + # then resolve them. We have to pass `extras` along when resolving so + # that the working set knows what extras we want. Otherwise, for + # dist-info distributions, the working set will assume that the + # requirements for that extra are purely optional and skip over them. + reqs = self.dist.requires(self.extras) + items = working_set.resolve(reqs, env, installer, extras=self.extras) + list(map(working_set.add, items)) + + pattern = re.compile( + r'\s*' + r'(?P<name>.+?)\s*' + r'=\s*' + r'(?P<module>[\w.]+)\s*' + r'(:\s*(?P<attr>[\w.]+))?\s*' + r'(?P<extras>\[.*\])?\s*$' + ) + + @classmethod + def parse(cls, src, dist=None): + """Parse a single entry point from string `src` + + Entry point syntax follows the form:: + + name = some.module:some.attr [extra1, extra2] + + The entry name and module name are required, but the ``:attrs`` and + ``[extras]`` parts are optional + """ + m = cls.pattern.match(src) + if not m: + msg = "EntryPoint must be in 'name=module:attrs [extras]' format" + raise ValueError(msg, src) + res = m.groupdict() + extras = cls._parse_extras(res['extras']) + attrs = res['attr'].split('.') if res['attr'] else () + return cls(res['name'], res['module'], attrs, extras, dist) + + @classmethod + def _parse_extras(cls, extras_spec): + if not extras_spec: + return () + req = Requirement.parse('x' + extras_spec) + if req.specs: + raise ValueError() + return req.extras + + @classmethod + def parse_group(cls, group, lines, dist=None): + """Parse an entry point group""" + if not MODULE(group): + raise ValueError("Invalid group name", group) + this = {} + for line in yield_lines(lines): + ep = cls.parse(line, dist) + if ep.name in this: + raise ValueError("Duplicate entry point", group, ep.name) + this[ep.name] = ep + return this + + @classmethod + def parse_map(cls, data, dist=None): + """Parse a map of entry point groups""" + if isinstance(data, dict): + data = data.items() + else: + data = split_sections(data) + maps = {} + for group, lines in data: + if group is None: + if not lines: + continue + raise ValueError("Entry points must be listed in groups") + group = group.strip() + if group in maps: + raise ValueError("Duplicate group name", group) + maps[group] = cls.parse_group(group, lines, dist) + return maps + + +def _remove_md5_fragment(location): + if not location: + return '' + parsed = urllib.parse.urlparse(location) + if parsed[-1].startswith('md5='): + return urllib.parse.urlunparse(parsed[:-1] + ('',)) + return location + + +def _version_from_file(lines): + """ + Given an iterable of lines from a Metadata file, return + the value of the Version field, if present, or None otherwise. + """ + def is_version_line(line): + return line.lower().startswith('version:') + version_lines = filter(is_version_line, lines) + line = next(iter(version_lines), '') + _, _, value = line.partition(':') + return safe_version(value.strip()) or None + + +class Distribution: + """Wrap an actual or potential sys.path entry w/metadata""" + PKG_INFO = 'PKG-INFO' + + def __init__( + self, location=None, metadata=None, project_name=None, + version=None, py_version=PY_MAJOR, platform=None, + precedence=EGG_DIST): + self.project_name = safe_name(project_name or 'Unknown') + if version is not None: + self._version = safe_version(version) + self.py_version = py_version + self.platform = platform + self.location = location + self.precedence = precedence + self._provider = metadata or empty_provider + + @classmethod + def from_location(cls, location, basename, metadata=None, **kw): + project_name, version, py_version, platform = [None] * 4 + basename, ext = os.path.splitext(basename) + if ext.lower() in _distributionImpl: + cls = _distributionImpl[ext.lower()] + + match = EGG_NAME(basename) + if match: + project_name, version, py_version, platform = match.group( + 'name', 'ver', 'pyver', 'plat' + ) + return cls( + location, metadata, project_name=project_name, version=version, + py_version=py_version, platform=platform, **kw + )._reload_version() + + def _reload_version(self): + return self + + @property + def hashcmp(self): + return ( + self.parsed_version, + self.precedence, + self.key, + _remove_md5_fragment(self.location), + self.py_version or '', + self.platform or '', + ) + + def __hash__(self): + return hash(self.hashcmp) + + def __lt__(self, other): + return self.hashcmp < other.hashcmp + + def __le__(self, other): + return self.hashcmp <= other.hashcmp + + def __gt__(self, other): + return self.hashcmp > other.hashcmp + + def __ge__(self, other): + return self.hashcmp >= other.hashcmp + + def __eq__(self, other): + if not isinstance(other, self.__class__): + # It's not a Distribution, so they are not equal + return False + return self.hashcmp == other.hashcmp + + def __ne__(self, other): + return not self == other + + # These properties have to be lazy so that we don't have to load any + # metadata until/unless it's actually needed. (i.e., some distributions + # may not know their name or version without loading PKG-INFO) + + @property + def key(self): + try: + return self._key + except AttributeError: + self._key = key = self.project_name.lower() + return key + + @property + def parsed_version(self): + if not hasattr(self, "_parsed_version"): + self._parsed_version = parse_version(self.version) + + return self._parsed_version + + def _warn_legacy_version(self): + LV = packaging.version.LegacyVersion + is_legacy = isinstance(self._parsed_version, LV) + if not is_legacy: + return + + # While an empty version is technically a legacy version and + # is not a valid PEP 440 version, it's also unlikely to + # actually come from someone and instead it is more likely that + # it comes from setuptools attempting to parse a filename and + # including it in the list. So for that we'll gate this warning + # on if the version is anything at all or not. + if not self.version: + return + + tmpl = textwrap.dedent(""" + '{project_name} ({version})' is being parsed as a legacy, + non PEP 440, + version. You may find odd behavior and sort order. + In particular it will be sorted as less than 0.0. It + is recommended to migrate to PEP 440 compatible + versions. + """).strip().replace('\n', ' ') + + warnings.warn(tmpl.format(**vars(self)), PEP440Warning) + + @property + def version(self): + try: + return self._version + except AttributeError: + version = _version_from_file(self._get_metadata(self.PKG_INFO)) + if version is None: + tmpl = "Missing 'Version:' header and/or %s file" + raise ValueError(tmpl % self.PKG_INFO, self) + return version + + @property + def _dep_map(self): + """ + A map of extra to its list of (direct) requirements + for this distribution, including the null extra. + """ + try: + return self.__dep_map + except AttributeError: + self.__dep_map = self._filter_extras(self._build_dep_map()) + return self.__dep_map + + @staticmethod + def _filter_extras(dm): + """ + Given a mapping of extras to dependencies, strip off + environment markers and filter out any dependencies + not matching the markers. + """ + for extra in list(filter(None, dm)): + new_extra = extra + reqs = dm.pop(extra) + new_extra, _, marker = extra.partition(':') + fails_marker = marker and ( + invalid_marker(marker) + or not evaluate_marker(marker) + ) + if fails_marker: + reqs = [] + new_extra = safe_extra(new_extra) or None + + dm.setdefault(new_extra, []).extend(reqs) + return dm + + def _build_dep_map(self): + dm = {} + for name in 'requires.txt', 'depends.txt': + for extra, reqs in split_sections(self._get_metadata(name)): + dm.setdefault(extra, []).extend(parse_requirements(reqs)) + return dm + + def requires(self, extras=()): + """List of Requirements needed for this distro if `extras` are used""" + dm = self._dep_map + deps = [] + deps.extend(dm.get(None, ())) + for ext in extras: + try: + deps.extend(dm[safe_extra(ext)]) + except KeyError: + raise UnknownExtra( + "%s has no such extra feature %r" % (self, ext) + ) + return deps + + def _get_metadata(self, name): + if self.has_metadata(name): + for line in self.get_metadata_lines(name): + yield line + + def activate(self, path=None, replace=False): + """Ensure distribution is importable on `path` (default=sys.path)""" + if path is None: + path = sys.path + self.insert_on(path, replace=replace) + if path is sys.path: + fixup_namespace_packages(self.location) + for pkg in self._get_metadata('namespace_packages.txt'): + if pkg in sys.modules: + declare_namespace(pkg) + + def egg_name(self): + """Return what this distribution's standard .egg filename should be""" + filename = "%s-%s-py%s" % ( + to_filename(self.project_name), to_filename(self.version), + self.py_version or PY_MAJOR + ) + + if self.platform: + filename += '-' + self.platform + return filename + + def __repr__(self): + if self.location: + return "%s (%s)" % (self, self.location) + else: + return str(self) + + def __str__(self): + try: + version = getattr(self, 'version', None) + except ValueError: + version = None + version = version or "[unknown version]" + return "%s %s" % (self.project_name, version) + + def __getattr__(self, attr): + """Delegate all unrecognized public attributes to .metadata provider""" + if attr.startswith('_'): + raise AttributeError(attr) + return getattr(self._provider, attr) + + def __dir__(self): + return list( + set(super(Distribution, self).__dir__()) + | set( + attr for attr in self._provider.__dir__() + if not attr.startswith('_') + ) + ) + + if not hasattr(object, '__dir__'): + # python 2.7 not supported + del __dir__ + + @classmethod + def from_filename(cls, filename, metadata=None, **kw): + return cls.from_location( + _normalize_cached(filename), os.path.basename(filename), metadata, + **kw + ) + + def as_requirement(self): + """Return a ``Requirement`` that matches this distribution exactly""" + if isinstance(self.parsed_version, packaging.version.Version): + spec = "%s==%s" % (self.project_name, self.parsed_version) + else: + spec = "%s===%s" % (self.project_name, self.parsed_version) + + return Requirement.parse(spec) + + def load_entry_point(self, group, name): + """Return the `name` entry point of `group` or raise ImportError""" + ep = self.get_entry_info(group, name) + if ep is None: + raise ImportError("Entry point %r not found" % ((group, name),)) + return ep.load() + + def get_entry_map(self, group=None): + """Return the entry point map for `group`, or the full entry map""" + try: + ep_map = self._ep_map + except AttributeError: + ep_map = self._ep_map = EntryPoint.parse_map( + self._get_metadata('entry_points.txt'), self + ) + if group is not None: + return ep_map.get(group, {}) + return ep_map + + def get_entry_info(self, group, name): + """Return the EntryPoint object for `group`+`name`, or ``None``""" + return self.get_entry_map(group).get(name) + + def insert_on(self, path, loc=None, replace=False): + """Ensure self.location is on path + + If replace=False (default): + - If location is already in path anywhere, do nothing. + - Else: + - If it's an egg and its parent directory is on path, + insert just ahead of the parent. + - Else: add to the end of path. + If replace=True: + - If location is already on path anywhere (not eggs) + or higher priority than its parent (eggs) + do nothing. + - Else: + - If it's an egg and its parent directory is on path, + insert just ahead of the parent, + removing any lower-priority entries. + - Else: add it to the front of path. + """ + + loc = loc or self.location + if not loc: + return + + nloc = _normalize_cached(loc) + bdir = os.path.dirname(nloc) + npath = [(p and _normalize_cached(p) or p) for p in path] + + for p, item in enumerate(npath): + if item == nloc: + if replace: + break + else: + # don't modify path (even removing duplicates) if + # found and not replace + return + elif item == bdir and self.precedence == EGG_DIST: + # if it's an .egg, give it precedence over its directory + # UNLESS it's already been added to sys.path and replace=False + if (not replace) and nloc in npath[p:]: + return + if path is sys.path: + self.check_version_conflict() + path.insert(p, loc) + npath.insert(p, nloc) + break + else: + if path is sys.path: + self.check_version_conflict() + if replace: + path.insert(0, loc) + else: + path.append(loc) + return + + # p is the spot where we found or inserted loc; now remove duplicates + while True: + try: + np = npath.index(nloc, p + 1) + except ValueError: + break + else: + del npath[np], path[np] + # ha! + p = np + + return + + def check_version_conflict(self): + if self.key == 'setuptools': + # ignore the inevitable setuptools self-conflicts :( + return + + nsp = dict.fromkeys(self._get_metadata('namespace_packages.txt')) + loc = normalize_path(self.location) + for modname in self._get_metadata('top_level.txt'): + if (modname not in sys.modules or modname in nsp + or modname in _namespace_packages): + continue + if modname in ('pkg_resources', 'setuptools', 'site'): + continue + fn = getattr(sys.modules[modname], '__file__', None) + if fn and (normalize_path(fn).startswith(loc) or + fn.startswith(self.location)): + continue + issue_warning( + "Module %s was already imported from %s, but %s is being added" + " to sys.path" % (modname, fn, self.location), + ) + + def has_version(self): + try: + self.version + except ValueError: + issue_warning("Unbuilt egg for " + repr(self)) + return False + return True + + def clone(self, **kw): + """Copy this distribution, substituting in any changed keyword args""" + names = 'project_name version py_version platform location precedence' + for attr in names.split(): + kw.setdefault(attr, getattr(self, attr, None)) + kw.setdefault('metadata', self._provider) + return self.__class__(**kw) + + @property + def extras(self): + return [dep for dep in self._dep_map if dep] + + +class EggInfoDistribution(Distribution): + def _reload_version(self): + """ + Packages installed by distutils (e.g. numpy or scipy), + which uses an old safe_version, and so + their version numbers can get mangled when + converted to filenames (e.g., 1.11.0.dev0+2329eae to + 1.11.0.dev0_2329eae). These distributions will not be + parsed properly + downstream by Distribution and safe_version, so + take an extra step and try to get the version number from + the metadata file itself instead of the filename. + """ + md_version = _version_from_file(self._get_metadata(self.PKG_INFO)) + if md_version: + self._version = md_version + return self + + +class DistInfoDistribution(Distribution): + """ + Wrap an actual or potential sys.path entry + w/metadata, .dist-info style. + """ + PKG_INFO = 'METADATA' + EQEQ = re.compile(r"([\(,])\s*(\d.*?)\s*([,\)])") + + @property + def _parsed_pkg_info(self): + """Parse and cache metadata""" + try: + return self._pkg_info + except AttributeError: + metadata = self.get_metadata(self.PKG_INFO) + self._pkg_info = email.parser.Parser().parsestr(metadata) + return self._pkg_info + + @property + def _dep_map(self): + try: + return self.__dep_map + except AttributeError: + self.__dep_map = self._compute_dependencies() + return self.__dep_map + + def _compute_dependencies(self): + """Recompute this distribution's dependencies.""" + dm = self.__dep_map = {None: []} + + reqs = [] + # Including any condition expressions + for req in self._parsed_pkg_info.get_all('Requires-Dist') or []: + reqs.extend(parse_requirements(req)) + + def reqs_for_extra(extra): + for req in reqs: + if not req.marker or req.marker.evaluate({'extra': extra}): + yield req + + common = frozenset(reqs_for_extra(None)) + dm[None].extend(common) + + for extra in self._parsed_pkg_info.get_all('Provides-Extra') or []: + s_extra = safe_extra(extra.strip()) + dm[s_extra] = list(frozenset(reqs_for_extra(extra)) - common) + + return dm + + +_distributionImpl = { + '.egg': Distribution, + '.egg-info': EggInfoDistribution, + '.dist-info': DistInfoDistribution, +} + + +def issue_warning(*args, **kw): + level = 1 + g = globals() + try: + # find the first stack frame that is *not* code in + # the pkg_resources module, to use for the warning + while sys._getframe(level).f_globals is g: + level += 1 + except ValueError: + pass + warnings.warn(stacklevel=level + 1, *args, **kw) + + +class RequirementParseError(ValueError): + def __str__(self): + return ' '.join(self.args) + + +def parse_requirements(strs): + """Yield ``Requirement`` objects for each specification in `strs` + + `strs` must be a string, or a (possibly-nested) iterable thereof. + """ + # create a steppable iterator, so we can handle \-continuations + lines = iter(yield_lines(strs)) + + for line in lines: + # Drop comments -- a hash without a space may be in a URL. + if ' #' in line: + line = line[:line.find(' #')] + # If there is a line continuation, drop it, and append the next line. + if line.endswith('\\'): + line = line[:-2].strip() + try: + line += next(lines) + except StopIteration: + return + yield Requirement(line) + + +class Requirement(packaging.requirements.Requirement): + def __init__(self, requirement_string): + """DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!""" + try: + super(Requirement, self).__init__(requirement_string) + except packaging.requirements.InvalidRequirement as e: + raise RequirementParseError(str(e)) + self.unsafe_name = self.name + project_name = safe_name(self.name) + self.project_name, self.key = project_name, project_name.lower() + self.specs = [ + (spec.operator, spec.version) for spec in self.specifier] + self.extras = tuple(map(safe_extra, self.extras)) + self.hashCmp = ( + self.key, + self.specifier, + frozenset(self.extras), + str(self.marker) if self.marker else None, + ) + self.__hash = hash(self.hashCmp) + + def __eq__(self, other): + return ( + isinstance(other, Requirement) and + self.hashCmp == other.hashCmp + ) + + def __ne__(self, other): + return not self == other + + def __contains__(self, item): + if isinstance(item, Distribution): + if item.key != self.key: + return False + + item = item.version + + # Allow prereleases always in order to match the previous behavior of + # this method. In the future this should be smarter and follow PEP 440 + # more accurately. + return self.specifier.contains(item, prereleases=True) + + def __hash__(self): + return self.__hash + + def __repr__(self): + return "Requirement.parse(%r)" % str(self) + + @staticmethod + def parse(s): + req, = parse_requirements(s) + return req + + +def _always_object(classes): + """ + Ensure object appears in the mro even + for old-style classes. + """ + if object not in classes: + return classes + (object,) + return classes + + +def _find_adapter(registry, ob): + """Return an adapter factory for `ob` from `registry`""" + types = _always_object(inspect.getmro(getattr(ob, '__class__', type(ob)))) + for t in types: + if t in registry: + return registry[t] + + +def ensure_directory(path): + """Ensure that the parent directory of `path` exists""" + dirname = os.path.dirname(path) + py31compat.makedirs(dirname, exist_ok=True) + + +def _bypass_ensure_directory(path): + """Sandbox-bypassing version of ensure_directory()""" + if not WRITE_SUPPORT: + raise IOError('"os.mkdir" not supported on this platform.') + dirname, filename = split(path) + if dirname and filename and not isdir(dirname): + _bypass_ensure_directory(dirname) + try: + mkdir(dirname, 0o755) + except FileExistsError: + pass + + +def split_sections(s): + """Split a string or iterable thereof into (section, content) pairs + + Each ``section`` is a stripped version of the section header ("[section]") + and each ``content`` is a list of stripped lines excluding blank lines and + comment-only lines. If there are any such lines before the first section + header, they're returned in a first ``section`` of ``None``. + """ + section = None + content = [] + for line in yield_lines(s): + if line.startswith("["): + if line.endswith("]"): + if section or content: + yield section, content + section = line[1:-1].strip() + content = [] + else: + raise ValueError("Invalid section heading", line) + else: + content.append(line) + + # wrap up last segment + yield section, content + + +def _mkstemp(*args, **kw): + old_open = os.open + try: + # temporarily bypass sandboxing + os.open = os_open + return tempfile.mkstemp(*args, **kw) + finally: + # and then put it back + os.open = old_open + + +# Silence the PEP440Warning by default, so that end users don't get hit by it +# randomly just because they use pkg_resources. We want to append the rule +# because we want earlier uses of filterwarnings to take precedence over this +# one. +warnings.filterwarnings("ignore", category=PEP440Warning, append=True) + + +# from jaraco.functools 1.3 +def _call_aside(f, *args, **kwargs): + f(*args, **kwargs) + return f + + +@_call_aside +def _initialize(g=globals()): + "Set up global resource manager (deliberately not state-saved)" + manager = ResourceManager() + g['_manager'] = manager + g.update( + (name, getattr(manager, name)) + for name in dir(manager) + if not name.startswith('_') + ) + + +@_call_aside +def _initialize_master_working_set(): + """ + Prepare the master working set and make the ``require()`` + API available. + + This function has explicit effects on the global state + of pkg_resources. It is intended to be invoked once at + the initialization of this module. + + Invocation by other packages is unsupported and done + at their own risk. + """ + working_set = WorkingSet._build_master() + _declare_state('object', working_set=working_set) + + require = working_set.require + iter_entry_points = working_set.iter_entry_points + add_activation_listener = working_set.subscribe + run_script = working_set.run_script + # backward compatibility + run_main = run_script + # Activate all distributions already on sys.path with replace=False and + # ensure that all distributions added to the working set in the future + # (e.g. by calling ``require()``) will get activated as well, + # with higher priority (replace=True). + tuple( + dist.activate(replace=False) + for dist in working_set + ) + add_activation_listener( + lambda dist: dist.activate(replace=True), + existing=False, + ) + working_set.entries = [] + # match order + list(map(working_set.add_entry, sys.path)) + globals().update(locals()) + +class PkgResourcesDeprecationWarning(Warning): + """ + Base class for warning about deprecations in ``pkg_resources`` + + This class is not derived from ``DeprecationWarning``, and as such is + visible by default. + """ diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pkg_resources/py31compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pkg_resources/py31compat.py new file mode 100644 index 0000000000..a2d3007ceb --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pkg_resources/py31compat.py @@ -0,0 +1,23 @@ +import os +import errno +import sys + +from pip._vendor import six + + +def _makedirs_31(path, exist_ok=False): + try: + os.makedirs(path) + except OSError as exc: + if not exist_ok or exc.errno != errno.EEXIST: + raise + + +# rely on compatibility behavior until mode considerations +# and exists_ok considerations are disentangled. +# See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663 +needs_makedirs = ( + six.PY2 or + (3, 4) <= sys.version_info < (3, 4, 1) +) +makedirs = _makedirs_31 if needs_makedirs else os.makedirs diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/__init__.py new file mode 100644 index 0000000000..a41f65dc59 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/__init__.py @@ -0,0 +1,127 @@ +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# 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. + +from __future__ import division + +from collections import deque +from datetime import timedelta +from math import ceil +from sys import stderr +from time import time + + +__version__ = '1.4' + + +class Infinite(object): + file = stderr + sma_window = 10 # Simple Moving Average window + + def __init__(self, *args, **kwargs): + self.index = 0 + self.start_ts = time() + self.avg = 0 + self._ts = self.start_ts + self._xput = deque(maxlen=self.sma_window) + for key, val in kwargs.items(): + setattr(self, key, val) + + def __getitem__(self, key): + if key.startswith('_'): + return None + return getattr(self, key, None) + + @property + def elapsed(self): + return int(time() - self.start_ts) + + @property + def elapsed_td(self): + return timedelta(seconds=self.elapsed) + + def update_avg(self, n, dt): + if n > 0: + self._xput.append(dt / n) + self.avg = sum(self._xput) / len(self._xput) + + def update(self): + pass + + def start(self): + pass + + def finish(self): + pass + + def next(self, n=1): + now = time() + dt = now - self._ts + self.update_avg(n, dt) + self._ts = now + self.index = self.index + n + self.update() + + def iter(self, it): + try: + for x in it: + yield x + self.next() + finally: + self.finish() + + +class Progress(Infinite): + def __init__(self, *args, **kwargs): + super(Progress, self).__init__(*args, **kwargs) + self.max = kwargs.get('max', 100) + + @property + def eta(self): + return int(ceil(self.avg * self.remaining)) + + @property + def eta_td(self): + return timedelta(seconds=self.eta) + + @property + def percent(self): + return self.progress * 100 + + @property + def progress(self): + return min(1, self.index / self.max) + + @property + def remaining(self): + return max(self.max - self.index, 0) + + def start(self): + self.update() + + def goto(self, index): + incr = index - self.index + self.next(incr) + + def iter(self, it): + try: + self.max = len(it) + except TypeError: + pass + + try: + for x in it: + yield x + self.next() + finally: + self.finish() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/bar.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/bar.py new file mode 100644 index 0000000000..025e61c452 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/bar.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# 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. + +from __future__ import unicode_literals + +import sys + +from . import Progress +from .helpers import WritelnMixin + + +class Bar(WritelnMixin, Progress): + width = 32 + message = '' + suffix = '%(index)d/%(max)d' + bar_prefix = ' |' + bar_suffix = '| ' + empty_fill = ' ' + fill = '#' + hide_cursor = True + + def update(self): + filled_length = int(self.width * self.progress) + empty_length = self.width - filled_length + + message = self.message % self + bar = self.fill * filled_length + empty = self.empty_fill * empty_length + suffix = self.suffix % self + line = ''.join([message, self.bar_prefix, bar, empty, self.bar_suffix, + suffix]) + self.writeln(line) + + +class ChargingBar(Bar): + suffix = '%(percent)d%%' + bar_prefix = ' ' + bar_suffix = ' ' + empty_fill = '∙' + fill = '█' + + +class FillingSquaresBar(ChargingBar): + empty_fill = '▢' + fill = '▣' + + +class FillingCirclesBar(ChargingBar): + empty_fill = '◯' + fill = '◉' + + +class IncrementalBar(Bar): + if sys.platform.startswith('win'): + phases = (u' ', u'▌', u'█') + else: + phases = (' ', '▏', '▎', '▍', '▌', '▋', '▊', '▉', '█') + + def update(self): + nphases = len(self.phases) + filled_len = self.width * self.progress + nfull = int(filled_len) # Number of full chars + phase = int((filled_len - nfull) * nphases) # Phase of last char + nempty = self.width - nfull # Number of empty chars + + message = self.message % self + bar = self.phases[-1] * nfull + current = self.phases[phase] if phase > 0 else '' + empty = self.empty_fill * max(0, nempty - len(current)) + suffix = self.suffix % self + line = ''.join([message, self.bar_prefix, bar, current, empty, + self.bar_suffix, suffix]) + self.writeln(line) + + +class PixelBar(IncrementalBar): + phases = ('⡀', '⡄', '⡆', '⡇', '⣇', '⣧', '⣷', '⣿') + + +class ShadyBar(IncrementalBar): + phases = (' ', '░', '▒', '▓', '█') diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/counter.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/counter.py new file mode 100644 index 0000000000..6b45a1ec60 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/counter.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# 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. + +from __future__ import unicode_literals +from . import Infinite, Progress +from .helpers import WriteMixin + + +class Counter(WriteMixin, Infinite): + message = '' + hide_cursor = True + + def update(self): + self.write(str(self.index)) + + +class Countdown(WriteMixin, Progress): + hide_cursor = True + + def update(self): + self.write(str(self.remaining)) + + +class Stack(WriteMixin, Progress): + phases = (' ', '▁', '▂', '▃', '▄', '▅', '▆', '▇', '█') + hide_cursor = True + + def update(self): + nphases = len(self.phases) + i = min(nphases - 1, int(self.progress * nphases)) + self.write(self.phases[i]) + + +class Pie(Stack): + phases = ('○', '◔', '◑', '◕', '●') diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/helpers.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/helpers.py new file mode 100644 index 0000000000..0cde44ec27 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/helpers.py @@ -0,0 +1,91 @@ +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# 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. + +from __future__ import print_function + + +HIDE_CURSOR = '\x1b[?25l' +SHOW_CURSOR = '\x1b[?25h' + + +class WriteMixin(object): + hide_cursor = False + + def __init__(self, message=None, **kwargs): + super(WriteMixin, self).__init__(**kwargs) + self._width = 0 + if message: + self.message = message + + if self.file and self.file.isatty(): + if self.hide_cursor: + print(HIDE_CURSOR, end='', file=self.file) + print(self.message, end='', file=self.file) + self.file.flush() + + def write(self, s): + if self.file and self.file.isatty(): + b = '\b' * self._width + c = s.ljust(self._width) + print(b + c, end='', file=self.file) + self._width = max(self._width, len(s)) + self.file.flush() + + def finish(self): + if self.file and self.file.isatty() and self.hide_cursor: + print(SHOW_CURSOR, end='', file=self.file) + + +class WritelnMixin(object): + hide_cursor = False + + def __init__(self, message=None, **kwargs): + super(WritelnMixin, self).__init__(**kwargs) + if message: + self.message = message + + if self.file and self.file.isatty() and self.hide_cursor: + print(HIDE_CURSOR, end='', file=self.file) + + def clearln(self): + if self.file and self.file.isatty(): + print('\r\x1b[K', end='', file=self.file) + + def writeln(self, line): + if self.file and self.file.isatty(): + self.clearln() + print(line, end='', file=self.file) + self.file.flush() + + def finish(self): + if self.file and self.file.isatty(): + print(file=self.file) + if self.hide_cursor: + print(SHOW_CURSOR, end='', file=self.file) + + +from signal import signal, SIGINT +from sys import exit + + +class SigIntMixin(object): + """Registers a signal handler that calls finish on SIGINT""" + + def __init__(self, *args, **kwargs): + super(SigIntMixin, self).__init__(*args, **kwargs) + signal(SIGINT, self._sigint_handler) + + def _sigint_handler(self, signum, frame): + self.finish() + exit(0) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/spinner.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/spinner.py new file mode 100644 index 0000000000..464c7b2750 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/progress/spinner.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com> +# +# 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. + +from __future__ import unicode_literals +from . import Infinite +from .helpers import WriteMixin + + +class Spinner(WriteMixin, Infinite): + message = '' + phases = ('-', '\\', '|', '/') + hide_cursor = True + + def update(self): + i = self.index % len(self.phases) + self.write(self.phases[i]) + + +class PieSpinner(Spinner): + phases = ['◷', '◶', '◵', '◴'] + + +class MoonSpinner(Spinner): + phases = ['◑', '◒', '◐', '◓'] + + +class LineSpinner(Spinner): + phases = ['⎺', '⎻', '⎼', '⎽', '⎼', '⎻'] + +class PixelSpinner(Spinner): + phases = ['⣾','⣷', '⣯', '⣟', '⡿', '⢿', '⣻', '⣽'] diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pyparsing.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pyparsing.py new file mode 100644 index 0000000000..bea4d9c754 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pyparsing.py @@ -0,0 +1,6452 @@ +#-*- coding: utf-8 -*- +# module pyparsing.py +# +# Copyright (c) 2003-2019 Paul T. McGuire +# +# 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. +# + +__doc__ = \ +""" +pyparsing module - Classes and methods to define and execute parsing grammars +============================================================================= + +The pyparsing module is an alternative approach to creating and +executing simple grammars, vs. the traditional lex/yacc approach, or the +use of regular expressions. With pyparsing, you don't need to learn +a new syntax for defining grammars or matching expressions - the parsing +module provides a library of classes that you use to construct the +grammar directly in Python. + +Here is a program to parse "Hello, World!" (or any greeting of the form +``"<salutation>, <addressee>!"``), built up using :class:`Word`, +:class:`Literal`, and :class:`And` elements +(the :class:`'+'<ParserElement.__add__>` operators create :class:`And` expressions, +and the strings are auto-converted to :class:`Literal` expressions):: + + from pip._vendor.pyparsing import Word, alphas + + # define grammar of a greeting + greet = Word(alphas) + "," + Word(alphas) + "!" + + hello = "Hello, World!" + print (hello, "->", greet.parseString(hello)) + +The program outputs the following:: + + Hello, World! -> ['Hello', ',', 'World', '!'] + +The Python representation of the grammar is quite readable, owing to the +self-explanatory class names, and the use of '+', '|' and '^' operators. + +The :class:`ParseResults` object returned from +:class:`ParserElement.parseString` can be +accessed as a nested list, a dictionary, or an object with named +attributes. + +The pyparsing module handles some of the problems that are typically +vexing when writing text parsers: + + - extra or missing whitespace (the above program will also handle + "Hello,World!", "Hello , World !", etc.) + - quoted strings + - embedded comments + + +Getting Started - +----------------- +Visit the classes :class:`ParserElement` and :class:`ParseResults` to +see the base classes that most other pyparsing +classes inherit from. Use the docstrings for examples of how to: + + - construct literal match expressions from :class:`Literal` and + :class:`CaselessLiteral` classes + - construct character word-group expressions using the :class:`Word` + class + - see how to create repetitive expressions using :class:`ZeroOrMore` + and :class:`OneOrMore` classes + - use :class:`'+'<And>`, :class:`'|'<MatchFirst>`, :class:`'^'<Or>`, + and :class:`'&'<Each>` operators to combine simple expressions into + more complex ones + - associate names with your parsed results using + :class:`ParserElement.setResultsName` + - find some helpful expression short-cuts like :class:`delimitedList` + and :class:`oneOf` + - find more useful common expressions in the :class:`pyparsing_common` + namespace class +""" + +__version__ = "2.3.1" +__versionTime__ = "09 Jan 2019 23:26 UTC" +__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>" + +import string +from weakref import ref as wkref +import copy +import sys +import warnings +import re +import sre_constants +import collections +import pprint +import traceback +import types +from datetime import datetime + +try: + # Python 3 + from itertools import filterfalse +except ImportError: + from itertools import ifilterfalse as filterfalse + +try: + from _thread import RLock +except ImportError: + from threading import RLock + +try: + # Python 3 + from collections.abc import Iterable + from collections.abc import MutableMapping +except ImportError: + # Python 2.7 + from collections import Iterable + from collections import MutableMapping + +try: + from collections import OrderedDict as _OrderedDict +except ImportError: + try: + from ordereddict import OrderedDict as _OrderedDict + except ImportError: + _OrderedDict = None + +try: + from types import SimpleNamespace +except ImportError: + class SimpleNamespace: pass + + +#~ sys.stderr.write( "testing pyparsing module, version %s, %s\n" % (__version__,__versionTime__ ) ) + +__all__ = [ +'And', 'CaselessKeyword', 'CaselessLiteral', 'CharsNotIn', 'Combine', 'Dict', 'Each', 'Empty', +'FollowedBy', 'Forward', 'GoToColumn', 'Group', 'Keyword', 'LineEnd', 'LineStart', 'Literal', +'PrecededBy', 'MatchFirst', 'NoMatch', 'NotAny', 'OneOrMore', 'OnlyOnce', 'Optional', 'Or', +'ParseBaseException', 'ParseElementEnhance', 'ParseException', 'ParseExpression', 'ParseFatalException', +'ParseResults', 'ParseSyntaxException', 'ParserElement', 'QuotedString', 'RecursiveGrammarException', +'Regex', 'SkipTo', 'StringEnd', 'StringStart', 'Suppress', 'Token', 'TokenConverter', +'White', 'Word', 'WordEnd', 'WordStart', 'ZeroOrMore', 'Char', +'alphanums', 'alphas', 'alphas8bit', 'anyCloseTag', 'anyOpenTag', 'cStyleComment', 'col', +'commaSeparatedList', 'commonHTMLEntity', 'countedArray', 'cppStyleComment', 'dblQuotedString', +'dblSlashComment', 'delimitedList', 'dictOf', 'downcaseTokens', 'empty', 'hexnums', +'htmlComment', 'javaStyleComment', 'line', 'lineEnd', 'lineStart', 'lineno', +'makeHTMLTags', 'makeXMLTags', 'matchOnlyAtCol', 'matchPreviousExpr', 'matchPreviousLiteral', +'nestedExpr', 'nullDebugAction', 'nums', 'oneOf', 'opAssoc', 'operatorPrecedence', 'printables', +'punc8bit', 'pythonStyleComment', 'quotedString', 'removeQuotes', 'replaceHTMLEntity', +'replaceWith', 'restOfLine', 'sglQuotedString', 'srange', 'stringEnd', +'stringStart', 'traceParseAction', 'unicodeString', 'upcaseTokens', 'withAttribute', +'indentedBlock', 'originalTextFor', 'ungroup', 'infixNotation','locatedExpr', 'withClass', +'CloseMatch', 'tokenMap', 'pyparsing_common', 'pyparsing_unicode', 'unicode_set', +] + +system_version = tuple(sys.version_info)[:3] +PY_3 = system_version[0] == 3 +if PY_3: + _MAX_INT = sys.maxsize + basestring = str + unichr = chr + unicode = str + _ustr = str + + # build list of single arg builtins, that can be used as parse actions + singleArgBuiltins = [sum, len, sorted, reversed, list, tuple, set, any, all, min, max] + +else: + _MAX_INT = sys.maxint + range = xrange + + def _ustr(obj): + """Drop-in replacement for str(obj) that tries to be Unicode + friendly. It first tries str(obj). If that fails with + a UnicodeEncodeError, then it tries unicode(obj). It then + < returns the unicode object | encodes it with the default + encoding | ... >. + """ + if isinstance(obj,unicode): + return obj + + try: + # If this works, then _ustr(obj) has the same behaviour as str(obj), so + # it won't break any existing code. + return str(obj) + + except UnicodeEncodeError: + # Else encode it + ret = unicode(obj).encode(sys.getdefaultencoding(), 'xmlcharrefreplace') + xmlcharref = Regex(r'&#\d+;') + xmlcharref.setParseAction(lambda t: '\\u' + hex(int(t[0][2:-1]))[2:]) + return xmlcharref.transformString(ret) + + # build list of single arg builtins, tolerant of Python version, that can be used as parse actions + singleArgBuiltins = [] + import __builtin__ + for fname in "sum len sorted reversed list tuple set any all min max".split(): + try: + singleArgBuiltins.append(getattr(__builtin__,fname)) + except AttributeError: + continue + +_generatorType = type((y for y in range(1))) + +def _xml_escape(data): + """Escape &, <, >, ", ', etc. in a string of data.""" + + # ampersand must be replaced first + from_symbols = '&><"\'' + to_symbols = ('&'+s+';' for s in "amp gt lt quot apos".split()) + for from_,to_ in zip(from_symbols, to_symbols): + data = data.replace(from_, to_) + return data + +alphas = string.ascii_uppercase + string.ascii_lowercase +nums = "0123456789" +hexnums = nums + "ABCDEFabcdef" +alphanums = alphas + nums +_bslash = chr(92) +printables = "".join(c for c in string.printable if c not in string.whitespace) + +class ParseBaseException(Exception): + """base exception class for all parsing runtime exceptions""" + # Performance tuning: we construct a *lot* of these, so keep this + # constructor as small and fast as possible + def __init__( self, pstr, loc=0, msg=None, elem=None ): + self.loc = loc + if msg is None: + self.msg = pstr + self.pstr = "" + else: + self.msg = msg + self.pstr = pstr + self.parserElement = elem + self.args = (pstr, loc, msg) + + @classmethod + def _from_exception(cls, pe): + """ + internal factory method to simplify creating one type of ParseException + from another - avoids having __init__ signature conflicts among subclasses + """ + return cls(pe.pstr, pe.loc, pe.msg, pe.parserElement) + + def __getattr__( self, aname ): + """supported attributes by name are: + - lineno - returns the line number of the exception text + - col - returns the column number of the exception text + - line - returns the line containing the exception text + """ + if( aname == "lineno" ): + return lineno( self.loc, self.pstr ) + elif( aname in ("col", "column") ): + return col( self.loc, self.pstr ) + elif( aname == "line" ): + return line( self.loc, self.pstr ) + else: + raise AttributeError(aname) + + def __str__( self ): + return "%s (at char %d), (line:%d, col:%d)" % \ + ( self.msg, self.loc, self.lineno, self.column ) + def __repr__( self ): + return _ustr(self) + def markInputline( self, markerString = ">!<" ): + """Extracts the exception line from the input string, and marks + the location of the exception with a special symbol. + """ + line_str = self.line + line_column = self.column - 1 + if markerString: + line_str = "".join((line_str[:line_column], + markerString, line_str[line_column:])) + return line_str.strip() + def __dir__(self): + return "lineno col line".split() + dir(type(self)) + +class ParseException(ParseBaseException): + """ + Exception thrown when parse expressions don't match class; + supported attributes by name are: + - lineno - returns the line number of the exception text + - col - returns the column number of the exception text + - line - returns the line containing the exception text + + Example:: + + try: + Word(nums).setName("integer").parseString("ABC") + except ParseException as pe: + print(pe) + print("column: {}".format(pe.col)) + + prints:: + + Expected integer (at char 0), (line:1, col:1) + column: 1 + + """ + + @staticmethod + def explain(exc, depth=16): + """ + Method to take an exception and translate the Python internal traceback into a list + of the pyparsing expressions that caused the exception to be raised. + + Parameters: + + - exc - exception raised during parsing (need not be a ParseException, in support + of Python exceptions that might be raised in a parse action) + - depth (default=16) - number of levels back in the stack trace to list expression + and function names; if None, the full stack trace names will be listed; if 0, only + the failing input line, marker, and exception string will be shown + + Returns a multi-line string listing the ParserElements and/or function names in the + exception's stack trace. + + Note: the diagnostic output will include string representations of the expressions + that failed to parse. These representations will be more helpful if you use `setName` to + give identifiable names to your expressions. Otherwise they will use the default string + forms, which may be cryptic to read. + + explain() is only supported under Python 3. + """ + import inspect + + if depth is None: + depth = sys.getrecursionlimit() + ret = [] + if isinstance(exc, ParseBaseException): + ret.append(exc.line) + ret.append(' ' * (exc.col - 1) + '^') + ret.append("{0}: {1}".format(type(exc).__name__, exc)) + + if depth > 0: + callers = inspect.getinnerframes(exc.__traceback__, context=depth) + seen = set() + for i, ff in enumerate(callers[-depth:]): + frm = ff.frame + + f_self = frm.f_locals.get('self', None) + if isinstance(f_self, ParserElement): + if frm.f_code.co_name not in ('parseImpl', '_parseNoCache'): + continue + if f_self in seen: + continue + seen.add(f_self) + + self_type = type(f_self) + ret.append("{0}.{1} - {2}".format(self_type.__module__, + self_type.__name__, + f_self)) + elif f_self is not None: + self_type = type(f_self) + ret.append("{0}.{1}".format(self_type.__module__, + self_type.__name__)) + else: + code = frm.f_code + if code.co_name in ('wrapper', '<module>'): + continue + + ret.append("{0}".format(code.co_name)) + + depth -= 1 + if not depth: + break + + return '\n'.join(ret) + + +class ParseFatalException(ParseBaseException): + """user-throwable exception thrown when inconsistent parse content + is found; stops all parsing immediately""" + pass + +class ParseSyntaxException(ParseFatalException): + """just like :class:`ParseFatalException`, but thrown internally + when an :class:`ErrorStop<And._ErrorStop>` ('-' operator) indicates + that parsing is to stop immediately because an unbacktrackable + syntax error has been found. + """ + pass + +#~ class ReparseException(ParseBaseException): + #~ """Experimental class - parse actions can raise this exception to cause + #~ pyparsing to reparse the input string: + #~ - with a modified input string, and/or + #~ - with a modified start location + #~ Set the values of the ReparseException in the constructor, and raise the + #~ exception in a parse action to cause pyparsing to use the new string/location. + #~ Setting the values as None causes no change to be made. + #~ """ + #~ def __init_( self, newstring, restartLoc ): + #~ self.newParseText = newstring + #~ self.reparseLoc = restartLoc + +class RecursiveGrammarException(Exception): + """exception thrown by :class:`ParserElement.validate` if the + grammar could be improperly recursive + """ + def __init__( self, parseElementList ): + self.parseElementTrace = parseElementList + + def __str__( self ): + return "RecursiveGrammarException: %s" % self.parseElementTrace + +class _ParseResultsWithOffset(object): + def __init__(self,p1,p2): + self.tup = (p1,p2) + def __getitem__(self,i): + return self.tup[i] + def __repr__(self): + return repr(self.tup[0]) + def setOffset(self,i): + self.tup = (self.tup[0],i) + +class ParseResults(object): + """Structured parse results, to provide multiple means of access to + the parsed data: + + - as a list (``len(results)``) + - by list index (``results[0], results[1]``, etc.) + - by attribute (``results.<resultsName>`` - see :class:`ParserElement.setResultsName`) + + Example:: + + integer = Word(nums) + date_str = (integer.setResultsName("year") + '/' + + integer.setResultsName("month") + '/' + + integer.setResultsName("day")) + # equivalent form: + # date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + # parseString returns a ParseResults object + result = date_str.parseString("1999/12/31") + + def test(s, fn=repr): + print("%s -> %s" % (s, fn(eval(s)))) + test("list(result)") + test("result[0]") + test("result['month']") + test("result.day") + test("'month' in result") + test("'minutes' in result") + test("result.dump()", str) + + prints:: + + list(result) -> ['1999', '/', '12', '/', '31'] + result[0] -> '1999' + result['month'] -> '12' + result.day -> '31' + 'month' in result -> True + 'minutes' in result -> False + result.dump() -> ['1999', '/', '12', '/', '31'] + - day: 31 + - month: 12 + - year: 1999 + """ + def __new__(cls, toklist=None, name=None, asList=True, modal=True ): + if isinstance(toklist, cls): + return toklist + retobj = object.__new__(cls) + retobj.__doinit = True + return retobj + + # Performance tuning: we construct a *lot* of these, so keep this + # constructor as small and fast as possible + def __init__( self, toklist=None, name=None, asList=True, modal=True, isinstance=isinstance ): + if self.__doinit: + self.__doinit = False + self.__name = None + self.__parent = None + self.__accumNames = {} + self.__asList = asList + self.__modal = modal + if toklist is None: + toklist = [] + if isinstance(toklist, list): + self.__toklist = toklist[:] + elif isinstance(toklist, _generatorType): + self.__toklist = list(toklist) + else: + self.__toklist = [toklist] + self.__tokdict = dict() + + if name is not None and name: + if not modal: + self.__accumNames[name] = 0 + if isinstance(name,int): + name = _ustr(name) # will always return a str, but use _ustr for consistency + self.__name = name + if not (isinstance(toklist, (type(None), basestring, list)) and toklist in (None,'',[])): + if isinstance(toklist,basestring): + toklist = [ toklist ] + if asList: + if isinstance(toklist,ParseResults): + self[name] = _ParseResultsWithOffset(ParseResults(toklist.__toklist), 0) + else: + self[name] = _ParseResultsWithOffset(ParseResults(toklist[0]),0) + self[name].__name = name + else: + try: + self[name] = toklist[0] + except (KeyError,TypeError,IndexError): + self[name] = toklist + + def __getitem__( self, i ): + if isinstance( i, (int,slice) ): + return self.__toklist[i] + else: + if i not in self.__accumNames: + return self.__tokdict[i][-1][0] + else: + return ParseResults([ v[0] for v in self.__tokdict[i] ]) + + def __setitem__( self, k, v, isinstance=isinstance ): + if isinstance(v,_ParseResultsWithOffset): + self.__tokdict[k] = self.__tokdict.get(k,list()) + [v] + sub = v[0] + elif isinstance(k,(int,slice)): + self.__toklist[k] = v + sub = v + else: + self.__tokdict[k] = self.__tokdict.get(k,list()) + [_ParseResultsWithOffset(v,0)] + sub = v + if isinstance(sub,ParseResults): + sub.__parent = wkref(self) + + def __delitem__( self, i ): + if isinstance(i,(int,slice)): + mylen = len( self.__toklist ) + del self.__toklist[i] + + # convert int to slice + if isinstance(i, int): + if i < 0: + i += mylen + i = slice(i, i+1) + # get removed indices + removed = list(range(*i.indices(mylen))) + removed.reverse() + # fixup indices in token dictionary + for name,occurrences in self.__tokdict.items(): + for j in removed: + for k, (value, position) in enumerate(occurrences): + occurrences[k] = _ParseResultsWithOffset(value, position - (position > j)) + else: + del self.__tokdict[i] + + def __contains__( self, k ): + return k in self.__tokdict + + def __len__( self ): return len( self.__toklist ) + def __bool__(self): return ( not not self.__toklist ) + __nonzero__ = __bool__ + def __iter__( self ): return iter( self.__toklist ) + def __reversed__( self ): return iter( self.__toklist[::-1] ) + def _iterkeys( self ): + if hasattr(self.__tokdict, "iterkeys"): + return self.__tokdict.iterkeys() + else: + return iter(self.__tokdict) + + def _itervalues( self ): + return (self[k] for k in self._iterkeys()) + + def _iteritems( self ): + return ((k, self[k]) for k in self._iterkeys()) + + if PY_3: + keys = _iterkeys + """Returns an iterator of all named result keys.""" + + values = _itervalues + """Returns an iterator of all named result values.""" + + items = _iteritems + """Returns an iterator of all named result key-value tuples.""" + + else: + iterkeys = _iterkeys + """Returns an iterator of all named result keys (Python 2.x only).""" + + itervalues = _itervalues + """Returns an iterator of all named result values (Python 2.x only).""" + + iteritems = _iteritems + """Returns an iterator of all named result key-value tuples (Python 2.x only).""" + + def keys( self ): + """Returns all named result keys (as a list in Python 2.x, as an iterator in Python 3.x).""" + return list(self.iterkeys()) + + def values( self ): + """Returns all named result values (as a list in Python 2.x, as an iterator in Python 3.x).""" + return list(self.itervalues()) + + def items( self ): + """Returns all named result key-values (as a list of tuples in Python 2.x, as an iterator in Python 3.x).""" + return list(self.iteritems()) + + def haskeys( self ): + """Since keys() returns an iterator, this method is helpful in bypassing + code that looks for the existence of any defined results names.""" + return bool(self.__tokdict) + + def pop( self, *args, **kwargs): + """ + Removes and returns item at specified index (default= ``last``). + Supports both ``list`` and ``dict`` semantics for ``pop()``. If + passed no argument or an integer argument, it will use ``list`` + semantics and pop tokens from the list of parsed tokens. If passed + a non-integer argument (most likely a string), it will use ``dict`` + semantics and pop the corresponding value from any defined results + names. A second default return value argument is supported, just as in + ``dict.pop()``. + + Example:: + + def remove_first(tokens): + tokens.pop(0) + print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] + print(OneOrMore(Word(nums)).addParseAction(remove_first).parseString("0 123 321")) # -> ['123', '321'] + + label = Word(alphas) + patt = label("LABEL") + OneOrMore(Word(nums)) + print(patt.parseString("AAB 123 321").dump()) + + # Use pop() in a parse action to remove named result (note that corresponding value is not + # removed from list form of results) + def remove_LABEL(tokens): + tokens.pop("LABEL") + return tokens + patt.addParseAction(remove_LABEL) + print(patt.parseString("AAB 123 321").dump()) + + prints:: + + ['AAB', '123', '321'] + - LABEL: AAB + + ['AAB', '123', '321'] + """ + if not args: + args = [-1] + for k,v in kwargs.items(): + if k == 'default': + args = (args[0], v) + else: + raise TypeError("pop() got an unexpected keyword argument '%s'" % k) + if (isinstance(args[0], int) or + len(args) == 1 or + args[0] in self): + index = args[0] + ret = self[index] + del self[index] + return ret + else: + defaultvalue = args[1] + return defaultvalue + + def get(self, key, defaultValue=None): + """ + Returns named result matching the given key, or if there is no + such name, then returns the given ``defaultValue`` or ``None`` if no + ``defaultValue`` is specified. + + Similar to ``dict.get()``. + + Example:: + + integer = Word(nums) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + result = date_str.parseString("1999/12/31") + print(result.get("year")) # -> '1999' + print(result.get("hour", "not specified")) # -> 'not specified' + print(result.get("hour")) # -> None + """ + if key in self: + return self[key] + else: + return defaultValue + + def insert( self, index, insStr ): + """ + Inserts new element at location index in the list of parsed tokens. + + Similar to ``list.insert()``. + + Example:: + + print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] + + # use a parse action to insert the parse location in the front of the parsed results + def insert_locn(locn, tokens): + tokens.insert(0, locn) + print(OneOrMore(Word(nums)).addParseAction(insert_locn).parseString("0 123 321")) # -> [0, '0', '123', '321'] + """ + self.__toklist.insert(index, insStr) + # fixup indices in token dictionary + for name,occurrences in self.__tokdict.items(): + for k, (value, position) in enumerate(occurrences): + occurrences[k] = _ParseResultsWithOffset(value, position + (position > index)) + + def append( self, item ): + """ + Add single element to end of ParseResults list of elements. + + Example:: + + print(OneOrMore(Word(nums)).parseString("0 123 321")) # -> ['0', '123', '321'] + + # use a parse action to compute the sum of the parsed integers, and add it to the end + def append_sum(tokens): + tokens.append(sum(map(int, tokens))) + print(OneOrMore(Word(nums)).addParseAction(append_sum).parseString("0 123 321")) # -> ['0', '123', '321', 444] + """ + self.__toklist.append(item) + + def extend( self, itemseq ): + """ + Add sequence of elements to end of ParseResults list of elements. + + Example:: + + patt = OneOrMore(Word(alphas)) + + # use a parse action to append the reverse of the matched strings, to make a palindrome + def make_palindrome(tokens): + tokens.extend(reversed([t[::-1] for t in tokens])) + return ''.join(tokens) + print(patt.addParseAction(make_palindrome).parseString("lskdj sdlkjf lksd")) # -> 'lskdjsdlkjflksddsklfjkldsjdksl' + """ + if isinstance(itemseq, ParseResults): + self += itemseq + else: + self.__toklist.extend(itemseq) + + def clear( self ): + """ + Clear all elements and results names. + """ + del self.__toklist[:] + self.__tokdict.clear() + + def __getattr__( self, name ): + try: + return self[name] + except KeyError: + return "" + + if name in self.__tokdict: + if name not in self.__accumNames: + return self.__tokdict[name][-1][0] + else: + return ParseResults([ v[0] for v in self.__tokdict[name] ]) + else: + return "" + + def __add__( self, other ): + ret = self.copy() + ret += other + return ret + + def __iadd__( self, other ): + if other.__tokdict: + offset = len(self.__toklist) + addoffset = lambda a: offset if a<0 else a+offset + otheritems = other.__tokdict.items() + otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) ) + for (k,vlist) in otheritems for v in vlist] + for k,v in otherdictitems: + self[k] = v + if isinstance(v[0],ParseResults): + v[0].__parent = wkref(self) + + self.__toklist += other.__toklist + self.__accumNames.update( other.__accumNames ) + return self + + def __radd__(self, other): + if isinstance(other,int) and other == 0: + # useful for merging many ParseResults using sum() builtin + return self.copy() + else: + # this may raise a TypeError - so be it + return other + self + + def __repr__( self ): + return "(%s, %s)" % ( repr( self.__toklist ), repr( self.__tokdict ) ) + + def __str__( self ): + return '[' + ', '.join(_ustr(i) if isinstance(i, ParseResults) else repr(i) for i in self.__toklist) + ']' + + def _asStringList( self, sep='' ): + out = [] + for item in self.__toklist: + if out and sep: + out.append(sep) + if isinstance( item, ParseResults ): + out += item._asStringList() + else: + out.append( _ustr(item) ) + return out + + def asList( self ): + """ + Returns the parse results as a nested list of matching tokens, all converted to strings. + + Example:: + + patt = OneOrMore(Word(alphas)) + result = patt.parseString("sldkj lsdkj sldkj") + # even though the result prints in string-like form, it is actually a pyparsing ParseResults + print(type(result), result) # -> <class 'pyparsing.ParseResults'> ['sldkj', 'lsdkj', 'sldkj'] + + # Use asList() to create an actual list + result_list = result.asList() + print(type(result_list), result_list) # -> <class 'list'> ['sldkj', 'lsdkj', 'sldkj'] + """ + return [res.asList() if isinstance(res,ParseResults) else res for res in self.__toklist] + + def asDict( self ): + """ + Returns the named parse results as a nested dictionary. + + Example:: + + integer = Word(nums) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + result = date_str.parseString('12/31/1999') + print(type(result), repr(result)) # -> <class 'pyparsing.ParseResults'> (['12', '/', '31', '/', '1999'], {'day': [('1999', 4)], 'year': [('12', 0)], 'month': [('31', 2)]}) + + result_dict = result.asDict() + print(type(result_dict), repr(result_dict)) # -> <class 'dict'> {'day': '1999', 'year': '12', 'month': '31'} + + # even though a ParseResults supports dict-like access, sometime you just need to have a dict + import json + print(json.dumps(result)) # -> Exception: TypeError: ... is not JSON serializable + print(json.dumps(result.asDict())) # -> {"month": "31", "day": "1999", "year": "12"} + """ + if PY_3: + item_fn = self.items + else: + item_fn = self.iteritems + + def toItem(obj): + if isinstance(obj, ParseResults): + if obj.haskeys(): + return obj.asDict() + else: + return [toItem(v) for v in obj] + else: + return obj + + return dict((k,toItem(v)) for k,v in item_fn()) + + def copy( self ): + """ + Returns a new copy of a :class:`ParseResults` object. + """ + ret = ParseResults( self.__toklist ) + ret.__tokdict = dict(self.__tokdict.items()) + ret.__parent = self.__parent + ret.__accumNames.update( self.__accumNames ) + ret.__name = self.__name + return ret + + def asXML( self, doctag=None, namedItemsOnly=False, indent="", formatted=True ): + """ + (Deprecated) Returns the parse results as XML. Tags are created for tokens and lists that have defined results names. + """ + nl = "\n" + out = [] + namedItems = dict((v[1],k) for (k,vlist) in self.__tokdict.items() + for v in vlist) + nextLevelIndent = indent + " " + + # collapse out indents if formatting is not desired + if not formatted: + indent = "" + nextLevelIndent = "" + nl = "" + + selfTag = None + if doctag is not None: + selfTag = doctag + else: + if self.__name: + selfTag = self.__name + + if not selfTag: + if namedItemsOnly: + return "" + else: + selfTag = "ITEM" + + out += [ nl, indent, "<", selfTag, ">" ] + + for i,res in enumerate(self.__toklist): + if isinstance(res,ParseResults): + if i in namedItems: + out += [ res.asXML(namedItems[i], + namedItemsOnly and doctag is None, + nextLevelIndent, + formatted)] + else: + out += [ res.asXML(None, + namedItemsOnly and doctag is None, + nextLevelIndent, + formatted)] + else: + # individual token, see if there is a name for it + resTag = None + if i in namedItems: + resTag = namedItems[i] + if not resTag: + if namedItemsOnly: + continue + else: + resTag = "ITEM" + xmlBodyText = _xml_escape(_ustr(res)) + out += [ nl, nextLevelIndent, "<", resTag, ">", + xmlBodyText, + "</", resTag, ">" ] + + out += [ nl, indent, "</", selfTag, ">" ] + return "".join(out) + + def __lookup(self,sub): + for k,vlist in self.__tokdict.items(): + for v,loc in vlist: + if sub is v: + return k + return None + + def getName(self): + r""" + Returns the results name for this token expression. Useful when several + different expressions might match at a particular location. + + Example:: + + integer = Word(nums) + ssn_expr = Regex(r"\d\d\d-\d\d-\d\d\d\d") + house_number_expr = Suppress('#') + Word(nums, alphanums) + user_data = (Group(house_number_expr)("house_number") + | Group(ssn_expr)("ssn") + | Group(integer)("age")) + user_info = OneOrMore(user_data) + + result = user_info.parseString("22 111-22-3333 #221B") + for item in result: + print(item.getName(), ':', item[0]) + + prints:: + + age : 22 + ssn : 111-22-3333 + house_number : 221B + """ + if self.__name: + return self.__name + elif self.__parent: + par = self.__parent() + if par: + return par.__lookup(self) + else: + return None + elif (len(self) == 1 and + len(self.__tokdict) == 1 and + next(iter(self.__tokdict.values()))[0][1] in (0,-1)): + return next(iter(self.__tokdict.keys())) + else: + return None + + def dump(self, indent='', depth=0, full=True): + """ + Diagnostic method for listing out the contents of + a :class:`ParseResults`. Accepts an optional ``indent`` argument so + that this string can be embedded in a nested display of other data. + + Example:: + + integer = Word(nums) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + result = date_str.parseString('12/31/1999') + print(result.dump()) + + prints:: + + ['12', '/', '31', '/', '1999'] + - day: 1999 + - month: 31 + - year: 12 + """ + out = [] + NL = '\n' + out.append( indent+_ustr(self.asList()) ) + if full: + if self.haskeys(): + items = sorted((str(k), v) for k,v in self.items()) + for k,v in items: + if out: + out.append(NL) + out.append( "%s%s- %s: " % (indent,(' '*depth), k) ) + if isinstance(v,ParseResults): + if v: + out.append( v.dump(indent,depth+1) ) + else: + out.append(_ustr(v)) + else: + out.append(repr(v)) + elif any(isinstance(vv,ParseResults) for vv in self): + v = self + for i,vv in enumerate(v): + if isinstance(vv,ParseResults): + out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),vv.dump(indent,depth+1) )) + else: + out.append("\n%s%s[%d]:\n%s%s%s" % (indent,(' '*(depth)),i,indent,(' '*(depth+1)),_ustr(vv))) + + return "".join(out) + + def pprint(self, *args, **kwargs): + """ + Pretty-printer for parsed results as a list, using the + `pprint <https://docs.python.org/3/library/pprint.html>`_ module. + Accepts additional positional or keyword args as defined for + `pprint.pprint <https://docs.python.org/3/library/pprint.html#pprint.pprint>`_ . + + Example:: + + ident = Word(alphas, alphanums) + num = Word(nums) + func = Forward() + term = ident | num | Group('(' + func + ')') + func <<= ident + Group(Optional(delimitedList(term))) + result = func.parseString("fna a,b,(fnb c,d,200),100") + result.pprint(width=40) + + prints:: + + ['fna', + ['a', + 'b', + ['(', 'fnb', ['c', 'd', '200'], ')'], + '100']] + """ + pprint.pprint(self.asList(), *args, **kwargs) + + # add support for pickle protocol + def __getstate__(self): + return ( self.__toklist, + ( self.__tokdict.copy(), + self.__parent is not None and self.__parent() or None, + self.__accumNames, + self.__name ) ) + + def __setstate__(self,state): + self.__toklist = state[0] + (self.__tokdict, + par, + inAccumNames, + self.__name) = state[1] + self.__accumNames = {} + self.__accumNames.update(inAccumNames) + if par is not None: + self.__parent = wkref(par) + else: + self.__parent = None + + def __getnewargs__(self): + return self.__toklist, self.__name, self.__asList, self.__modal + + def __dir__(self): + return (dir(type(self)) + list(self.keys())) + +MutableMapping.register(ParseResults) + +def col (loc,strg): + """Returns current column within a string, counting newlines as line separators. + The first column is number 1. + + Note: the default parsing behavior is to expand tabs in the input string + before starting the parsing process. See + :class:`ParserElement.parseString` for more + information on parsing strings containing ``<TAB>`` s, and suggested + methods to maintain a consistent view of the parsed string, the parse + location, and line and column positions within the parsed string. + """ + s = strg + return 1 if 0<loc<len(s) and s[loc-1] == '\n' else loc - s.rfind("\n", 0, loc) + +def lineno(loc,strg): + """Returns current line number within a string, counting newlines as line separators. + The first line is number 1. + + Note - the default parsing behavior is to expand tabs in the input string + before starting the parsing process. See :class:`ParserElement.parseString` + for more information on parsing strings containing ``<TAB>`` s, and + suggested methods to maintain a consistent view of the parsed string, the + parse location, and line and column positions within the parsed string. + """ + return strg.count("\n",0,loc) + 1 + +def line( loc, strg ): + """Returns the line of text containing loc within a string, counting newlines as line separators. + """ + lastCR = strg.rfind("\n", 0, loc) + nextCR = strg.find("\n", loc) + if nextCR >= 0: + return strg[lastCR+1:nextCR] + else: + return strg[lastCR+1:] + +def _defaultStartDebugAction( instring, loc, expr ): + print (("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) ))) + +def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ): + print ("Matched " + _ustr(expr) + " -> " + str(toks.asList())) + +def _defaultExceptionDebugAction( instring, loc, expr, exc ): + print ("Exception raised:" + _ustr(exc)) + +def nullDebugAction(*args): + """'Do-nothing' debug action, to suppress debugging output during parsing.""" + pass + +# Only works on Python 3.x - nonlocal is toxic to Python 2 installs +#~ 'decorator to trim function calls to match the arity of the target' +#~ def _trim_arity(func, maxargs=3): + #~ if func in singleArgBuiltins: + #~ return lambda s,l,t: func(t) + #~ limit = 0 + #~ foundArity = False + #~ def wrapper(*args): + #~ nonlocal limit,foundArity + #~ while 1: + #~ try: + #~ ret = func(*args[limit:]) + #~ foundArity = True + #~ return ret + #~ except TypeError: + #~ if limit == maxargs or foundArity: + #~ raise + #~ limit += 1 + #~ continue + #~ return wrapper + +# this version is Python 2.x-3.x cross-compatible +'decorator to trim function calls to match the arity of the target' +def _trim_arity(func, maxargs=2): + if func in singleArgBuiltins: + return lambda s,l,t: func(t) + limit = [0] + foundArity = [False] + + # traceback return data structure changed in Py3.5 - normalize back to plain tuples + if system_version[:2] >= (3,5): + def extract_stack(limit=0): + # special handling for Python 3.5.0 - extra deep call stack by 1 + offset = -3 if system_version == (3,5,0) else -2 + frame_summary = traceback.extract_stack(limit=-offset+limit-1)[offset] + return [frame_summary[:2]] + def extract_tb(tb, limit=0): + frames = traceback.extract_tb(tb, limit=limit) + frame_summary = frames[-1] + return [frame_summary[:2]] + else: + extract_stack = traceback.extract_stack + extract_tb = traceback.extract_tb + + # synthesize what would be returned by traceback.extract_stack at the call to + # user's parse action 'func', so that we don't incur call penalty at parse time + + LINE_DIFF = 6 + # IF ANY CODE CHANGES, EVEN JUST COMMENTS OR BLANK LINES, BETWEEN THE NEXT LINE AND + # THE CALL TO FUNC INSIDE WRAPPER, LINE_DIFF MUST BE MODIFIED!!!! + this_line = extract_stack(limit=2)[-1] + pa_call_line_synth = (this_line[0], this_line[1]+LINE_DIFF) + + def wrapper(*args): + while 1: + try: + ret = func(*args[limit[0]:]) + foundArity[0] = True + return ret + except TypeError: + # re-raise TypeErrors if they did not come from our arity testing + if foundArity[0]: + raise + else: + try: + tb = sys.exc_info()[-1] + if not extract_tb(tb, limit=2)[-1][:2] == pa_call_line_synth: + raise + finally: + del tb + + if limit[0] <= maxargs: + limit[0] += 1 + continue + raise + + # copy func name to wrapper for sensible debug output + func_name = "<parse action>" + try: + func_name = getattr(func, '__name__', + getattr(func, '__class__').__name__) + except Exception: + func_name = str(func) + wrapper.__name__ = func_name + + return wrapper + +class ParserElement(object): + """Abstract base level parser element class.""" + DEFAULT_WHITE_CHARS = " \n\t\r" + verbose_stacktrace = False + + @staticmethod + def setDefaultWhitespaceChars( chars ): + r""" + Overrides the default whitespace chars + + Example:: + + # default whitespace chars are space, <TAB> and newline + OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def', 'ghi', 'jkl'] + + # change to just treat newline as significant + ParserElement.setDefaultWhitespaceChars(" \t") + OneOrMore(Word(alphas)).parseString("abc def\nghi jkl") # -> ['abc', 'def'] + """ + ParserElement.DEFAULT_WHITE_CHARS = chars + + @staticmethod + def inlineLiteralsUsing(cls): + """ + Set class to be used for inclusion of string literals into a parser. + + Example:: + + # default literal class used is Literal + integer = Word(nums) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] + + + # change to Suppress + ParserElement.inlineLiteralsUsing(Suppress) + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + + date_str.parseString("1999/12/31") # -> ['1999', '12', '31'] + """ + ParserElement._literalStringClass = cls + + def __init__( self, savelist=False ): + self.parseAction = list() + self.failAction = None + #~ self.name = "<unknown>" # don't define self.name, let subclasses try/except upcall + self.strRepr = None + self.resultsName = None + self.saveAsList = savelist + self.skipWhitespace = True + self.whiteChars = set(ParserElement.DEFAULT_WHITE_CHARS) + self.copyDefaultWhiteChars = True + self.mayReturnEmpty = False # used when checking for left-recursion + self.keepTabs = False + self.ignoreExprs = list() + self.debug = False + self.streamlined = False + self.mayIndexError = True # used to optimize exception handling for subclasses that don't advance parse index + self.errmsg = "" + self.modalResults = True # used to mark results names as modal (report only last) or cumulative (list all) + self.debugActions = ( None, None, None ) #custom debug actions + self.re = None + self.callPreparse = True # used to avoid redundant calls to preParse + self.callDuringTry = False + + def copy( self ): + """ + Make a copy of this :class:`ParserElement`. Useful for defining + different parse actions for the same parsing pattern, using copies of + the original parse element. + + Example:: + + integer = Word(nums).setParseAction(lambda toks: int(toks[0])) + integerK = integer.copy().addParseAction(lambda toks: toks[0]*1024) + Suppress("K") + integerM = integer.copy().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") + + print(OneOrMore(integerK | integerM | integer).parseString("5K 100 640K 256M")) + + prints:: + + [5120, 100, 655360, 268435456] + + Equivalent form of ``expr.copy()`` is just ``expr()``:: + + integerM = integer().addParseAction(lambda toks: toks[0]*1024*1024) + Suppress("M") + """ + cpy = copy.copy( self ) + cpy.parseAction = self.parseAction[:] + cpy.ignoreExprs = self.ignoreExprs[:] + if self.copyDefaultWhiteChars: + cpy.whiteChars = ParserElement.DEFAULT_WHITE_CHARS + return cpy + + def setName( self, name ): + """ + Define name for this expression, makes debugging and exception messages clearer. + + Example:: + + Word(nums).parseString("ABC") # -> Exception: Expected W:(0123...) (at char 0), (line:1, col:1) + Word(nums).setName("integer").parseString("ABC") # -> Exception: Expected integer (at char 0), (line:1, col:1) + """ + self.name = name + self.errmsg = "Expected " + self.name + if hasattr(self,"exception"): + self.exception.msg = self.errmsg + return self + + def setResultsName( self, name, listAllMatches=False ): + """ + Define name for referencing matching tokens as a nested attribute + of the returned parse results. + NOTE: this returns a *copy* of the original :class:`ParserElement` object; + this is so that the client can define a basic element, such as an + integer, and reference it in multiple places with different names. + + You can also set results names using the abbreviated syntax, + ``expr("name")`` in place of ``expr.setResultsName("name")`` + - see :class:`__call__`. + + Example:: + + date_str = (integer.setResultsName("year") + '/' + + integer.setResultsName("month") + '/' + + integer.setResultsName("day")) + + # equivalent form: + date_str = integer("year") + '/' + integer("month") + '/' + integer("day") + """ + newself = self.copy() + if name.endswith("*"): + name = name[:-1] + listAllMatches=True + newself.resultsName = name + newself.modalResults = not listAllMatches + return newself + + def setBreak(self,breakFlag = True): + """Method to invoke the Python pdb debugger when this element is + about to be parsed. Set ``breakFlag`` to True to enable, False to + disable. + """ + if breakFlag: + _parseMethod = self._parse + def breaker(instring, loc, doActions=True, callPreParse=True): + import pdb + pdb.set_trace() + return _parseMethod( instring, loc, doActions, callPreParse ) + breaker._originalParseMethod = _parseMethod + self._parse = breaker + else: + if hasattr(self._parse,"_originalParseMethod"): + self._parse = self._parse._originalParseMethod + return self + + def setParseAction( self, *fns, **kwargs ): + """ + Define one or more actions to perform when successfully matching parse element definition. + Parse action fn is a callable method with 0-3 arguments, called as ``fn(s,loc,toks)`` , + ``fn(loc,toks)`` , ``fn(toks)`` , or just ``fn()`` , where: + + - s = the original string being parsed (see note below) + - loc = the location of the matching substring + - toks = a list of the matched tokens, packaged as a :class:`ParseResults` object + + If the functions in fns modify the tokens, they can return them as the return + value from fn, and the modified list of tokens will replace the original. + Otherwise, fn does not need to return any value. + + Optional keyword arguments: + - callDuringTry = (default= ``False`` ) indicate if parse action should be run during lookaheads and alternate testing + + Note: the default parsing behavior is to expand tabs in the input string + before starting the parsing process. See :class:`parseString for more + information on parsing strings containing ``<TAB>`` s, and suggested + methods to maintain a consistent view of the parsed string, the parse + location, and line and column positions within the parsed string. + + Example:: + + integer = Word(nums) + date_str = integer + '/' + integer + '/' + integer + + date_str.parseString("1999/12/31") # -> ['1999', '/', '12', '/', '31'] + + # use parse action to convert to ints at parse time + integer = Word(nums).setParseAction(lambda toks: int(toks[0])) + date_str = integer + '/' + integer + '/' + integer + + # note that integer fields are now ints, not strings + date_str.parseString("1999/12/31") # -> [1999, '/', 12, '/', 31] + """ + self.parseAction = list(map(_trim_arity, list(fns))) + self.callDuringTry = kwargs.get("callDuringTry", False) + return self + + def addParseAction( self, *fns, **kwargs ): + """ + Add one or more parse actions to expression's list of parse actions. See :class:`setParseAction`. + + See examples in :class:`copy`. + """ + self.parseAction += list(map(_trim_arity, list(fns))) + self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) + return self + + def addCondition(self, *fns, **kwargs): + """Add a boolean predicate function to expression's list of parse actions. See + :class:`setParseAction` for function call signatures. Unlike ``setParseAction``, + functions passed to ``addCondition`` need to return boolean success/fail of the condition. + + Optional keyword arguments: + - message = define a custom message to be used in the raised exception + - fatal = if True, will raise ParseFatalException to stop parsing immediately; otherwise will raise ParseException + + Example:: + + integer = Word(nums).setParseAction(lambda toks: int(toks[0])) + year_int = integer.copy() + year_int.addCondition(lambda toks: toks[0] >= 2000, message="Only support years 2000 and later") + date_str = year_int + '/' + integer + '/' + integer + + result = date_str.parseString("1999/12/31") # -> Exception: Only support years 2000 and later (at char 0), (line:1, col:1) + """ + msg = kwargs.get("message", "failed user-defined condition") + exc_type = ParseFatalException if kwargs.get("fatal", False) else ParseException + for fn in fns: + fn = _trim_arity(fn) + def pa(s,l,t): + if not bool(fn(s,l,t)): + raise exc_type(s,l,msg) + self.parseAction.append(pa) + self.callDuringTry = self.callDuringTry or kwargs.get("callDuringTry", False) + return self + + def setFailAction( self, fn ): + """Define action to perform if parsing fails at this expression. + Fail acton fn is a callable function that takes the arguments + ``fn(s,loc,expr,err)`` where: + - s = string being parsed + - loc = location where expression match was attempted and failed + - expr = the parse expression that failed + - err = the exception thrown + The function returns no value. It may throw :class:`ParseFatalException` + if it is desired to stop parsing immediately.""" + self.failAction = fn + return self + + def _skipIgnorables( self, instring, loc ): + exprsFound = True + while exprsFound: + exprsFound = False + for e in self.ignoreExprs: + try: + while 1: + loc,dummy = e._parse( instring, loc ) + exprsFound = True + except ParseException: + pass + return loc + + def preParse( self, instring, loc ): + if self.ignoreExprs: + loc = self._skipIgnorables( instring, loc ) + + if self.skipWhitespace: + wt = self.whiteChars + instrlen = len(instring) + while loc < instrlen and instring[loc] in wt: + loc += 1 + + return loc + + def parseImpl( self, instring, loc, doActions=True ): + return loc, [] + + def postParse( self, instring, loc, tokenlist ): + return tokenlist + + #~ @profile + def _parseNoCache( self, instring, loc, doActions=True, callPreParse=True ): + debugging = ( self.debug ) #and doActions ) + + if debugging or self.failAction: + #~ print ("Match",self,"at loc",loc,"(%d,%d)" % ( lineno(loc,instring), col(loc,instring) )) + if (self.debugActions[0] ): + self.debugActions[0]( instring, loc, self ) + if callPreParse and self.callPreparse: + preloc = self.preParse( instring, loc ) + else: + preloc = loc + tokensStart = preloc + try: + try: + loc,tokens = self.parseImpl( instring, preloc, doActions ) + except IndexError: + raise ParseException( instring, len(instring), self.errmsg, self ) + except ParseBaseException as err: + #~ print ("Exception raised:", err) + if self.debugActions[2]: + self.debugActions[2]( instring, tokensStart, self, err ) + if self.failAction: + self.failAction( instring, tokensStart, self, err ) + raise + else: + if callPreParse and self.callPreparse: + preloc = self.preParse( instring, loc ) + else: + preloc = loc + tokensStart = preloc + if self.mayIndexError or preloc >= len(instring): + try: + loc,tokens = self.parseImpl( instring, preloc, doActions ) + except IndexError: + raise ParseException( instring, len(instring), self.errmsg, self ) + else: + loc,tokens = self.parseImpl( instring, preloc, doActions ) + + tokens = self.postParse( instring, loc, tokens ) + + retTokens = ParseResults( tokens, self.resultsName, asList=self.saveAsList, modal=self.modalResults ) + if self.parseAction and (doActions or self.callDuringTry): + if debugging: + try: + for fn in self.parseAction: + try: + tokens = fn( instring, tokensStart, retTokens ) + except IndexError as parse_action_exc: + exc = ParseException("exception raised in parse action") + exc.__cause__ = parse_action_exc + raise exc + + if tokens is not None and tokens is not retTokens: + retTokens = ParseResults( tokens, + self.resultsName, + asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), + modal=self.modalResults ) + except ParseBaseException as err: + #~ print "Exception raised in user parse action:", err + if (self.debugActions[2] ): + self.debugActions[2]( instring, tokensStart, self, err ) + raise + else: + for fn in self.parseAction: + try: + tokens = fn( instring, tokensStart, retTokens ) + except IndexError as parse_action_exc: + exc = ParseException("exception raised in parse action") + exc.__cause__ = parse_action_exc + raise exc + + if tokens is not None and tokens is not retTokens: + retTokens = ParseResults( tokens, + self.resultsName, + asList=self.saveAsList and isinstance(tokens,(ParseResults,list)), + modal=self.modalResults ) + if debugging: + #~ print ("Matched",self,"->",retTokens.asList()) + if (self.debugActions[1] ): + self.debugActions[1]( instring, tokensStart, loc, self, retTokens ) + + return loc, retTokens + + def tryParse( self, instring, loc ): + try: + return self._parse( instring, loc, doActions=False )[0] + except ParseFatalException: + raise ParseException( instring, loc, self.errmsg, self) + + def canParseNext(self, instring, loc): + try: + self.tryParse(instring, loc) + except (ParseException, IndexError): + return False + else: + return True + + class _UnboundedCache(object): + def __init__(self): + cache = {} + self.not_in_cache = not_in_cache = object() + + def get(self, key): + return cache.get(key, not_in_cache) + + def set(self, key, value): + cache[key] = value + + def clear(self): + cache.clear() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, self) + + if _OrderedDict is not None: + class _FifoCache(object): + def __init__(self, size): + self.not_in_cache = not_in_cache = object() + + cache = _OrderedDict() + + def get(self, key): + return cache.get(key, not_in_cache) + + def set(self, key, value): + cache[key] = value + while len(cache) > size: + try: + cache.popitem(False) + except KeyError: + pass + + def clear(self): + cache.clear() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, self) + + else: + class _FifoCache(object): + def __init__(self, size): + self.not_in_cache = not_in_cache = object() + + cache = {} + key_fifo = collections.deque([], size) + + def get(self, key): + return cache.get(key, not_in_cache) + + def set(self, key, value): + cache[key] = value + while len(key_fifo) > size: + cache.pop(key_fifo.popleft(), None) + key_fifo.append(key) + + def clear(self): + cache.clear() + key_fifo.clear() + + def cache_len(self): + return len(cache) + + self.get = types.MethodType(get, self) + self.set = types.MethodType(set, self) + self.clear = types.MethodType(clear, self) + self.__len__ = types.MethodType(cache_len, self) + + # argument cache for optimizing repeated calls when backtracking through recursive expressions + packrat_cache = {} # this is set later by enabledPackrat(); this is here so that resetCache() doesn't fail + packrat_cache_lock = RLock() + packrat_cache_stats = [0, 0] + + # this method gets repeatedly called during backtracking with the same arguments - + # we can cache these arguments and save ourselves the trouble of re-parsing the contained expression + def _parseCache( self, instring, loc, doActions=True, callPreParse=True ): + HIT, MISS = 0, 1 + lookup = (self, instring, loc, callPreParse, doActions) + with ParserElement.packrat_cache_lock: + cache = ParserElement.packrat_cache + value = cache.get(lookup) + if value is cache.not_in_cache: + ParserElement.packrat_cache_stats[MISS] += 1 + try: + value = self._parseNoCache(instring, loc, doActions, callPreParse) + except ParseBaseException as pe: + # cache a copy of the exception, without the traceback + cache.set(lookup, pe.__class__(*pe.args)) + raise + else: + cache.set(lookup, (value[0], value[1].copy())) + return value + else: + ParserElement.packrat_cache_stats[HIT] += 1 + if isinstance(value, Exception): + raise value + return (value[0], value[1].copy()) + + _parse = _parseNoCache + + @staticmethod + def resetCache(): + ParserElement.packrat_cache.clear() + ParserElement.packrat_cache_stats[:] = [0] * len(ParserElement.packrat_cache_stats) + + _packratEnabled = False + @staticmethod + def enablePackrat(cache_size_limit=128): + """Enables "packrat" parsing, which adds memoizing to the parsing logic. + Repeated parse attempts at the same string location (which happens + often in many complex grammars) can immediately return a cached value, + instead of re-executing parsing/validating code. Memoizing is done of + both valid results and parsing exceptions. + + Parameters: + + - cache_size_limit - (default= ``128``) - if an integer value is provided + will limit the size of the packrat cache; if None is passed, then + the cache size will be unbounded; if 0 is passed, the cache will + be effectively disabled. + + This speedup may break existing programs that use parse actions that + have side-effects. For this reason, packrat parsing is disabled when + you first import pyparsing. To activate the packrat feature, your + program must call the class method :class:`ParserElement.enablePackrat`. + For best results, call ``enablePackrat()`` immediately after + importing pyparsing. + + Example:: + + from pip._vendor import pyparsing + pyparsing.ParserElement.enablePackrat() + """ + if not ParserElement._packratEnabled: + ParserElement._packratEnabled = True + if cache_size_limit is None: + ParserElement.packrat_cache = ParserElement._UnboundedCache() + else: + ParserElement.packrat_cache = ParserElement._FifoCache(cache_size_limit) + ParserElement._parse = ParserElement._parseCache + + def parseString( self, instring, parseAll=False ): + """ + Execute the parse expression with the given string. + This is the main interface to the client code, once the complete + expression has been built. + + If you want the grammar to require that the entire input string be + successfully parsed, then set ``parseAll`` to True (equivalent to ending + the grammar with ``StringEnd()``). + + Note: ``parseString`` implicitly calls ``expandtabs()`` on the input string, + in order to report proper column numbers in parse actions. + If the input string contains tabs and + the grammar uses parse actions that use the ``loc`` argument to index into the + string being parsed, you can ensure you have a consistent view of the input + string by: + + - calling ``parseWithTabs`` on your grammar before calling ``parseString`` + (see :class:`parseWithTabs`) + - define your parse action using the full ``(s,loc,toks)`` signature, and + reference the input string using the parse action's ``s`` argument + - explictly expand the tabs in your input string before calling + ``parseString`` + + Example:: + + Word('a').parseString('aaaaabaaa') # -> ['aaaaa'] + Word('a').parseString('aaaaabaaa', parseAll=True) # -> Exception: Expected end of text + """ + ParserElement.resetCache() + if not self.streamlined: + self.streamline() + #~ self.saveAsList = True + for e in self.ignoreExprs: + e.streamline() + if not self.keepTabs: + instring = instring.expandtabs() + try: + loc, tokens = self._parse( instring, 0 ) + if parseAll: + loc = self.preParse( instring, loc ) + se = Empty() + StringEnd() + se._parse( instring, loc ) + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + else: + return tokens + + def scanString( self, instring, maxMatches=_MAX_INT, overlap=False ): + """ + Scan the input string for expression matches. Each match will return the + matching tokens, start location, and end location. May be called with optional + ``maxMatches`` argument, to clip scanning after 'n' matches are found. If + ``overlap`` is specified, then overlapping matches will be reported. + + Note that the start and end locations are reported relative to the string + being parsed. See :class:`parseString` for more information on parsing + strings with embedded tabs. + + Example:: + + source = "sldjf123lsdjjkf345sldkjf879lkjsfd987" + print(source) + for tokens,start,end in Word(alphas).scanString(source): + print(' '*start + '^'*(end-start)) + print(' '*start + tokens[0]) + + prints:: + + sldjf123lsdjjkf345sldkjf879lkjsfd987 + ^^^^^ + sldjf + ^^^^^^^ + lsdjjkf + ^^^^^^ + sldkjf + ^^^^^^ + lkjsfd + """ + if not self.streamlined: + self.streamline() + for e in self.ignoreExprs: + e.streamline() + + if not self.keepTabs: + instring = _ustr(instring).expandtabs() + instrlen = len(instring) + loc = 0 + preparseFn = self.preParse + parseFn = self._parse + ParserElement.resetCache() + matches = 0 + try: + while loc <= instrlen and matches < maxMatches: + try: + preloc = preparseFn( instring, loc ) + nextLoc,tokens = parseFn( instring, preloc, callPreParse=False ) + except ParseException: + loc = preloc+1 + else: + if nextLoc > loc: + matches += 1 + yield tokens, preloc, nextLoc + if overlap: + nextloc = preparseFn( instring, loc ) + if nextloc > loc: + loc = nextLoc + else: + loc += 1 + else: + loc = nextLoc + else: + loc = preloc+1 + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + + def transformString( self, instring ): + """ + Extension to :class:`scanString`, to modify matching text with modified tokens that may + be returned from a parse action. To use ``transformString``, define a grammar and + attach a parse action to it that modifies the returned token list. + Invoking ``transformString()`` on a target string will then scan for matches, + and replace the matched text patterns according to the logic in the parse + action. ``transformString()`` returns the resulting transformed string. + + Example:: + + wd = Word(alphas) + wd.setParseAction(lambda toks: toks[0].title()) + + print(wd.transformString("now is the winter of our discontent made glorious summer by this sun of york.")) + + prints:: + + Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York. + """ + out = [] + lastE = 0 + # force preservation of <TAB>s, to minimize unwanted transformation of string, and to + # keep string locs straight between transformString and scanString + self.keepTabs = True + try: + for t,s,e in self.scanString( instring ): + out.append( instring[lastE:s] ) + if t: + if isinstance(t,ParseResults): + out += t.asList() + elif isinstance(t,list): + out += t + else: + out.append(t) + lastE = e + out.append(instring[lastE:]) + out = [o for o in out if o] + return "".join(map(_ustr,_flatten(out))) + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + + def searchString( self, instring, maxMatches=_MAX_INT ): + """ + Another extension to :class:`scanString`, simplifying the access to the tokens found + to match the given parse expression. May be called with optional + ``maxMatches`` argument, to clip searching after 'n' matches are found. + + Example:: + + # a capitalized word starts with an uppercase letter, followed by zero or more lowercase letters + cap_word = Word(alphas.upper(), alphas.lower()) + + print(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity")) + + # the sum() builtin can be used to merge results into a single ParseResults object + print(sum(cap_word.searchString("More than Iron, more than Lead, more than Gold I need Electricity"))) + + prints:: + + [['More'], ['Iron'], ['Lead'], ['Gold'], ['I'], ['Electricity']] + ['More', 'Iron', 'Lead', 'Gold', 'I', 'Electricity'] + """ + try: + return ParseResults([ t for t,s,e in self.scanString( instring, maxMatches ) ]) + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + + def split(self, instring, maxsplit=_MAX_INT, includeSeparators=False): + """ + Generator method to split a string using the given expression as a separator. + May be called with optional ``maxsplit`` argument, to limit the number of splits; + and the optional ``includeSeparators`` argument (default= ``False``), if the separating + matching text should be included in the split results. + + Example:: + + punc = oneOf(list(".,;:/-!?")) + print(list(punc.split("This, this?, this sentence, is badly punctuated!"))) + + prints:: + + ['This', ' this', '', ' this sentence', ' is badly punctuated', ''] + """ + splits = 0 + last = 0 + for t,s,e in self.scanString(instring, maxMatches=maxsplit): + yield instring[last:s] + if includeSeparators: + yield t[0] + last = e + yield instring[last:] + + def __add__(self, other ): + """ + Implementation of + operator - returns :class:`And`. Adding strings to a ParserElement + converts them to :class:`Literal`s by default. + + Example:: + + greet = Word(alphas) + "," + Word(alphas) + "!" + hello = "Hello, World!" + print (hello, "->", greet.parseString(hello)) + + prints:: + + Hello, World! -> ['Hello', ',', 'World', '!'] + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return And( [ self, other ] ) + + def __radd__(self, other ): + """ + Implementation of + operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other + self + + def __sub__(self, other): + """ + Implementation of - operator, returns :class:`And` with error stop + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return self + And._ErrorStop() + other + + def __rsub__(self, other ): + """ + Implementation of - operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other - self + + def __mul__(self,other): + """ + Implementation of * operator, allows use of ``expr * 3`` in place of + ``expr + expr + expr``. Expressions may also me multiplied by a 2-integer + tuple, similar to ``{min,max}`` multipliers in regular expressions. Tuples + may also include ``None`` as in: + - ``expr*(n,None)`` or ``expr*(n,)`` is equivalent + to ``expr*n + ZeroOrMore(expr)`` + (read as "at least n instances of ``expr``") + - ``expr*(None,n)`` is equivalent to ``expr*(0,n)`` + (read as "0 to n instances of ``expr``") + - ``expr*(None,None)`` is equivalent to ``ZeroOrMore(expr)`` + - ``expr*(1,None)`` is equivalent to ``OneOrMore(expr)`` + + Note that ``expr*(None,n)`` does not raise an exception if + more than n exprs exist in the input stream; that is, + ``expr*(None,n)`` does not enforce a maximum number of expr + occurrences. If this behavior is desired, then write + ``expr*(None,n) + ~expr`` + """ + if isinstance(other,int): + minElements, optElements = other,0 + elif isinstance(other,tuple): + other = (other + (None, None))[:2] + if other[0] is None: + other = (0, other[1]) + if isinstance(other[0],int) and other[1] is None: + if other[0] == 0: + return ZeroOrMore(self) + if other[0] == 1: + return OneOrMore(self) + else: + return self*other[0] + ZeroOrMore(self) + elif isinstance(other[0],int) and isinstance(other[1],int): + minElements, optElements = other + optElements -= minElements + else: + raise TypeError("cannot multiply 'ParserElement' and ('%s','%s') objects", type(other[0]),type(other[1])) + else: + raise TypeError("cannot multiply 'ParserElement' and '%s' objects", type(other)) + + if minElements < 0: + raise ValueError("cannot multiply ParserElement by negative value") + if optElements < 0: + raise ValueError("second tuple value must be greater or equal to first tuple value") + if minElements == optElements == 0: + raise ValueError("cannot multiply ParserElement by 0 or (0,0)") + + if (optElements): + def makeOptionalList(n): + if n>1: + return Optional(self + makeOptionalList(n-1)) + else: + return Optional(self) + if minElements: + if minElements == 1: + ret = self + makeOptionalList(optElements) + else: + ret = And([self]*minElements) + makeOptionalList(optElements) + else: + ret = makeOptionalList(optElements) + else: + if minElements == 1: + ret = self + else: + ret = And([self]*minElements) + return ret + + def __rmul__(self, other): + return self.__mul__(other) + + def __or__(self, other ): + """ + Implementation of | operator - returns :class:`MatchFirst` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return MatchFirst( [ self, other ] ) + + def __ror__(self, other ): + """ + Implementation of | operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other | self + + def __xor__(self, other ): + """ + Implementation of ^ operator - returns :class:`Or` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return Or( [ self, other ] ) + + def __rxor__(self, other ): + """ + Implementation of ^ operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other ^ self + + def __and__(self, other ): + """ + Implementation of & operator - returns :class:`Each` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return Each( [ self, other ] ) + + def __rand__(self, other ): + """ + Implementation of & operator when left operand is not a :class:`ParserElement` + """ + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + if not isinstance( other, ParserElement ): + warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), + SyntaxWarning, stacklevel=2) + return None + return other & self + + def __invert__( self ): + """ + Implementation of ~ operator - returns :class:`NotAny` + """ + return NotAny( self ) + + def __call__(self, name=None): + """ + Shortcut for :class:`setResultsName`, with ``listAllMatches=False``. + + If ``name`` is given with a trailing ``'*'`` character, then ``listAllMatches`` will be + passed as ``True``. + + If ``name` is omitted, same as calling :class:`copy`. + + Example:: + + # these are equivalent + userdata = Word(alphas).setResultsName("name") + Word(nums+"-").setResultsName("socsecno") + userdata = Word(alphas)("name") + Word(nums+"-")("socsecno") + """ + if name is not None: + return self.setResultsName(name) + else: + return self.copy() + + def suppress( self ): + """ + Suppresses the output of this :class:`ParserElement`; useful to keep punctuation from + cluttering up returned output. + """ + return Suppress( self ) + + def leaveWhitespace( self ): + """ + Disables the skipping of whitespace before matching the characters in the + :class:`ParserElement`'s defined pattern. This is normally only used internally by + the pyparsing module, but may be needed in some whitespace-sensitive grammars. + """ + self.skipWhitespace = False + return self + + def setWhitespaceChars( self, chars ): + """ + Overrides the default whitespace chars + """ + self.skipWhitespace = True + self.whiteChars = chars + self.copyDefaultWhiteChars = False + return self + + def parseWithTabs( self ): + """ + Overrides default behavior to expand ``<TAB>``s to spaces before parsing the input string. + Must be called before ``parseString`` when the input grammar contains elements that + match ``<TAB>`` characters. + """ + self.keepTabs = True + return self + + def ignore( self, other ): + """ + Define expression to be ignored (e.g., comments) while doing pattern + matching; may be called repeatedly, to define multiple comment or other + ignorable patterns. + + Example:: + + patt = OneOrMore(Word(alphas)) + patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj'] + + patt.ignore(cStyleComment) + patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj', 'lskjd'] + """ + if isinstance(other, basestring): + other = Suppress(other) + + if isinstance( other, Suppress ): + if other not in self.ignoreExprs: + self.ignoreExprs.append(other) + else: + self.ignoreExprs.append( Suppress( other.copy() ) ) + return self + + def setDebugActions( self, startAction, successAction, exceptionAction ): + """ + Enable display of debugging messages while doing pattern matching. + """ + self.debugActions = (startAction or _defaultStartDebugAction, + successAction or _defaultSuccessDebugAction, + exceptionAction or _defaultExceptionDebugAction) + self.debug = True + return self + + def setDebug( self, flag=True ): + """ + Enable display of debugging messages while doing pattern matching. + Set ``flag`` to True to enable, False to disable. + + Example:: + + wd = Word(alphas).setName("alphaword") + integer = Word(nums).setName("numword") + term = wd | integer + + # turn on debugging for wd + wd.setDebug() + + OneOrMore(term).parseString("abc 123 xyz 890") + + prints:: + + Match alphaword at loc 0(1,1) + Matched alphaword -> ['abc'] + Match alphaword at loc 3(1,4) + Exception raised:Expected alphaword (at char 4), (line:1, col:5) + Match alphaword at loc 7(1,8) + Matched alphaword -> ['xyz'] + Match alphaword at loc 11(1,12) + Exception raised:Expected alphaword (at char 12), (line:1, col:13) + Match alphaword at loc 15(1,16) + Exception raised:Expected alphaword (at char 15), (line:1, col:16) + + The output shown is that produced by the default debug actions - custom debug actions can be + specified using :class:`setDebugActions`. Prior to attempting + to match the ``wd`` expression, the debugging message ``"Match <exprname> at loc <n>(<line>,<col>)"`` + is shown. Then if the parse succeeds, a ``"Matched"`` message is shown, or an ``"Exception raised"`` + message is shown. Also note the use of :class:`setName` to assign a human-readable name to the expression, + which makes debugging and exception messages easier to understand - for instance, the default + name created for the :class:`Word` expression without calling ``setName`` is ``"W:(ABCD...)"``. + """ + if flag: + self.setDebugActions( _defaultStartDebugAction, _defaultSuccessDebugAction, _defaultExceptionDebugAction ) + else: + self.debug = False + return self + + def __str__( self ): + return self.name + + def __repr__( self ): + return _ustr(self) + + def streamline( self ): + self.streamlined = True + self.strRepr = None + return self + + def checkRecursion( self, parseElementList ): + pass + + def validate( self, validateTrace=[] ): + """ + Check defined expressions for valid structure, check for infinite recursive definitions. + """ + self.checkRecursion( [] ) + + def parseFile( self, file_or_filename, parseAll=False ): + """ + Execute the parse expression on the given file or filename. + If a filename is specified (instead of a file object), + the entire file is opened, read, and closed before parsing. + """ + try: + file_contents = file_or_filename.read() + except AttributeError: + with open(file_or_filename, "r") as f: + file_contents = f.read() + try: + return self.parseString(file_contents, parseAll) + except ParseBaseException as exc: + if ParserElement.verbose_stacktrace: + raise + else: + # catch and re-raise exception from here, clears out pyparsing internal stack trace + raise exc + + def __eq__(self,other): + if isinstance(other, ParserElement): + return self is other or vars(self) == vars(other) + elif isinstance(other, basestring): + return self.matches(other) + else: + return super(ParserElement,self)==other + + def __ne__(self,other): + return not (self == other) + + def __hash__(self): + return hash(id(self)) + + def __req__(self,other): + return self == other + + def __rne__(self,other): + return not (self == other) + + def matches(self, testString, parseAll=True): + """ + Method for quick testing of a parser against a test string. Good for simple + inline microtests of sub expressions while building up larger parser. + + Parameters: + - testString - to test against this expression for a match + - parseAll - (default= ``True``) - flag to pass to :class:`parseString` when running tests + + Example:: + + expr = Word(nums) + assert expr.matches("100") + """ + try: + self.parseString(_ustr(testString), parseAll=parseAll) + return True + except ParseBaseException: + return False + + def runTests(self, tests, parseAll=True, comment='#', + fullDump=True, printResults=True, failureTests=False, postParse=None): + """ + Execute the parse expression on a series of test strings, showing each + test, the parsed results or where the parse failed. Quick and easy way to + run a parse expression against a list of sample strings. + + Parameters: + - tests - a list of separate test strings, or a multiline string of test strings + - parseAll - (default= ``True``) - flag to pass to :class:`parseString` when running tests + - comment - (default= ``'#'``) - expression for indicating embedded comments in the test + string; pass None to disable comment filtering + - fullDump - (default= ``True``) - dump results as list followed by results names in nested outline; + if False, only dump nested list + - printResults - (default= ``True``) prints test output to stdout + - failureTests - (default= ``False``) indicates if these tests are expected to fail parsing + - postParse - (default= ``None``) optional callback for successful parse results; called as + `fn(test_string, parse_results)` and returns a string to be added to the test output + + Returns: a (success, results) tuple, where success indicates that all tests succeeded + (or failed if ``failureTests`` is True), and the results contain a list of lines of each + test's output + + Example:: + + number_expr = pyparsing_common.number.copy() + + result = number_expr.runTests(''' + # unsigned integer + 100 + # negative integer + -100 + # float with scientific notation + 6.02e23 + # integer with scientific notation + 1e-12 + ''') + print("Success" if result[0] else "Failed!") + + result = number_expr.runTests(''' + # stray character + 100Z + # missing leading digit before '.' + -.100 + # too many '.' + 3.14.159 + ''', failureTests=True) + print("Success" if result[0] else "Failed!") + + prints:: + + # unsigned integer + 100 + [100] + + # negative integer + -100 + [-100] + + # float with scientific notation + 6.02e23 + [6.02e+23] + + # integer with scientific notation + 1e-12 + [1e-12] + + Success + + # stray character + 100Z + ^ + FAIL: Expected end of text (at char 3), (line:1, col:4) + + # missing leading digit before '.' + -.100 + ^ + FAIL: Expected {real number with scientific notation | real number | signed integer} (at char 0), (line:1, col:1) + + # too many '.' + 3.14.159 + ^ + FAIL: Expected end of text (at char 4), (line:1, col:5) + + Success + + Each test string must be on a single line. If you want to test a string that spans multiple + lines, create a test like this:: + + expr.runTest(r"this is a test\\n of strings that spans \\n 3 lines") + + (Note that this is a raw string literal, you must include the leading 'r'.) + """ + if isinstance(tests, basestring): + tests = list(map(str.strip, tests.rstrip().splitlines())) + if isinstance(comment, basestring): + comment = Literal(comment) + allResults = [] + comments = [] + success = True + for t in tests: + if comment is not None and comment.matches(t, False) or comments and not t: + comments.append(t) + continue + if not t: + continue + out = ['\n'.join(comments), t] + comments = [] + try: + # convert newline marks to actual newlines, and strip leading BOM if present + t = t.replace(r'\n','\n').lstrip('\ufeff') + result = self.parseString(t, parseAll=parseAll) + out.append(result.dump(full=fullDump)) + success = success and not failureTests + if postParse is not None: + try: + pp_value = postParse(t, result) + if pp_value is not None: + out.append(str(pp_value)) + except Exception as e: + out.append("{0} failed: {1}: {2}".format(postParse.__name__, type(e).__name__, e)) + except ParseBaseException as pe: + fatal = "(FATAL)" if isinstance(pe, ParseFatalException) else "" + if '\n' in t: + out.append(line(pe.loc, t)) + out.append(' '*(col(pe.loc,t)-1) + '^' + fatal) + else: + out.append(' '*pe.loc + '^' + fatal) + out.append("FAIL: " + str(pe)) + success = success and failureTests + result = pe + except Exception as exc: + out.append("FAIL-EXCEPTION: " + str(exc)) + success = success and failureTests + result = exc + + if printResults: + if fullDump: + out.append('') + print('\n'.join(out)) + + allResults.append((t, result)) + + return success, allResults + + +class Token(ParserElement): + """Abstract :class:`ParserElement` subclass, for defining atomic + matching patterns. + """ + def __init__( self ): + super(Token,self).__init__( savelist=False ) + + +class Empty(Token): + """An empty token, will always match. + """ + def __init__( self ): + super(Empty,self).__init__() + self.name = "Empty" + self.mayReturnEmpty = True + self.mayIndexError = False + + +class NoMatch(Token): + """A token that will never match. + """ + def __init__( self ): + super(NoMatch,self).__init__() + self.name = "NoMatch" + self.mayReturnEmpty = True + self.mayIndexError = False + self.errmsg = "Unmatchable token" + + def parseImpl( self, instring, loc, doActions=True ): + raise ParseException(instring, loc, self.errmsg, self) + + +class Literal(Token): + """Token to exactly match a specified string. + + Example:: + + Literal('blah').parseString('blah') # -> ['blah'] + Literal('blah').parseString('blahfooblah') # -> ['blah'] + Literal('blah').parseString('bla') # -> Exception: Expected "blah" + + For case-insensitive matching, use :class:`CaselessLiteral`. + + For keyword matching (force word break before and after the matched string), + use :class:`Keyword` or :class:`CaselessKeyword`. + """ + def __init__( self, matchString ): + super(Literal,self).__init__() + self.match = matchString + self.matchLen = len(matchString) + try: + self.firstMatchChar = matchString[0] + except IndexError: + warnings.warn("null string passed to Literal; use Empty() instead", + SyntaxWarning, stacklevel=2) + self.__class__ = Empty + self.name = '"%s"' % _ustr(self.match) + self.errmsg = "Expected " + self.name + self.mayReturnEmpty = False + self.mayIndexError = False + + # Performance tuning: this routine gets called a *lot* + # if this is a single character match string and the first character matches, + # short-circuit as quickly as possible, and avoid calling startswith + #~ @profile + def parseImpl( self, instring, loc, doActions=True ): + if (instring[loc] == self.firstMatchChar and + (self.matchLen==1 or instring.startswith(self.match,loc)) ): + return loc+self.matchLen, self.match + raise ParseException(instring, loc, self.errmsg, self) +_L = Literal +ParserElement._literalStringClass = Literal + +class Keyword(Token): + """Token to exactly match a specified string as a keyword, that is, + it must be immediately followed by a non-keyword character. Compare + with :class:`Literal`: + + - ``Literal("if")`` will match the leading ``'if'`` in + ``'ifAndOnlyIf'``. + - ``Keyword("if")`` will not; it will only match the leading + ``'if'`` in ``'if x=1'``, or ``'if(y==2)'`` + + Accepts two optional constructor arguments in addition to the + keyword string: + + - ``identChars`` is a string of characters that would be valid + identifier characters, defaulting to all alphanumerics + "_" and + "$" + - ``caseless`` allows case-insensitive matching, default is ``False``. + + Example:: + + Keyword("start").parseString("start") # -> ['start'] + Keyword("start").parseString("starting") # -> Exception + + For case-insensitive matching, use :class:`CaselessKeyword`. + """ + DEFAULT_KEYWORD_CHARS = alphanums+"_$" + + def __init__( self, matchString, identChars=None, caseless=False ): + super(Keyword,self).__init__() + if identChars is None: + identChars = Keyword.DEFAULT_KEYWORD_CHARS + self.match = matchString + self.matchLen = len(matchString) + try: + self.firstMatchChar = matchString[0] + except IndexError: + warnings.warn("null string passed to Keyword; use Empty() instead", + SyntaxWarning, stacklevel=2) + self.name = '"%s"' % self.match + self.errmsg = "Expected " + self.name + self.mayReturnEmpty = False + self.mayIndexError = False + self.caseless = caseless + if caseless: + self.caselessmatch = matchString.upper() + identChars = identChars.upper() + self.identChars = set(identChars) + + def parseImpl( self, instring, loc, doActions=True ): + if self.caseless: + if ( (instring[ loc:loc+self.matchLen ].upper() == self.caselessmatch) and + (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen].upper() not in self.identChars) and + (loc == 0 or instring[loc-1].upper() not in self.identChars) ): + return loc+self.matchLen, self.match + else: + if (instring[loc] == self.firstMatchChar and + (self.matchLen==1 or instring.startswith(self.match,loc)) and + (loc >= len(instring)-self.matchLen or instring[loc+self.matchLen] not in self.identChars) and + (loc == 0 or instring[loc-1] not in self.identChars) ): + return loc+self.matchLen, self.match + raise ParseException(instring, loc, self.errmsg, self) + + def copy(self): + c = super(Keyword,self).copy() + c.identChars = Keyword.DEFAULT_KEYWORD_CHARS + return c + + @staticmethod + def setDefaultKeywordChars( chars ): + """Overrides the default Keyword chars + """ + Keyword.DEFAULT_KEYWORD_CHARS = chars + +class CaselessLiteral(Literal): + """Token to match a specified string, ignoring case of letters. + Note: the matched results will always be in the case of the given + match string, NOT the case of the input text. + + Example:: + + OneOrMore(CaselessLiteral("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD', 'CMD'] + + (Contrast with example for :class:`CaselessKeyword`.) + """ + def __init__( self, matchString ): + super(CaselessLiteral,self).__init__( matchString.upper() ) + # Preserve the defining literal. + self.returnString = matchString + self.name = "'%s'" % self.returnString + self.errmsg = "Expected " + self.name + + def parseImpl( self, instring, loc, doActions=True ): + if instring[ loc:loc+self.matchLen ].upper() == self.match: + return loc+self.matchLen, self.returnString + raise ParseException(instring, loc, self.errmsg, self) + +class CaselessKeyword(Keyword): + """ + Caseless version of :class:`Keyword`. + + Example:: + + OneOrMore(CaselessKeyword("CMD")).parseString("cmd CMD Cmd10") # -> ['CMD', 'CMD'] + + (Contrast with example for :class:`CaselessLiteral`.) + """ + def __init__( self, matchString, identChars=None ): + super(CaselessKeyword,self).__init__( matchString, identChars, caseless=True ) + +class CloseMatch(Token): + """A variation on :class:`Literal` which matches "close" matches, + that is, strings with at most 'n' mismatching characters. + :class:`CloseMatch` takes parameters: + + - ``match_string`` - string to be matched + - ``maxMismatches`` - (``default=1``) maximum number of + mismatches allowed to count as a match + + The results from a successful parse will contain the matched text + from the input string and the following named results: + + - ``mismatches`` - a list of the positions within the + match_string where mismatches were found + - ``original`` - the original match_string used to compare + against the input string + + If ``mismatches`` is an empty list, then the match was an exact + match. + + Example:: + + patt = CloseMatch("ATCATCGAATGGA") + patt.parseString("ATCATCGAAXGGA") # -> (['ATCATCGAAXGGA'], {'mismatches': [[9]], 'original': ['ATCATCGAATGGA']}) + patt.parseString("ATCAXCGAAXGGA") # -> Exception: Expected 'ATCATCGAATGGA' (with up to 1 mismatches) (at char 0), (line:1, col:1) + + # exact match + patt.parseString("ATCATCGAATGGA") # -> (['ATCATCGAATGGA'], {'mismatches': [[]], 'original': ['ATCATCGAATGGA']}) + + # close match allowing up to 2 mismatches + patt = CloseMatch("ATCATCGAATGGA", maxMismatches=2) + patt.parseString("ATCAXCGAAXGGA") # -> (['ATCAXCGAAXGGA'], {'mismatches': [[4, 9]], 'original': ['ATCATCGAATGGA']}) + """ + def __init__(self, match_string, maxMismatches=1): + super(CloseMatch,self).__init__() + self.name = match_string + self.match_string = match_string + self.maxMismatches = maxMismatches + self.errmsg = "Expected %r (with up to %d mismatches)" % (self.match_string, self.maxMismatches) + self.mayIndexError = False + self.mayReturnEmpty = False + + def parseImpl( self, instring, loc, doActions=True ): + start = loc + instrlen = len(instring) + maxloc = start + len(self.match_string) + + if maxloc <= instrlen: + match_string = self.match_string + match_stringloc = 0 + mismatches = [] + maxMismatches = self.maxMismatches + + for match_stringloc,s_m in enumerate(zip(instring[loc:maxloc], self.match_string)): + src,mat = s_m + if src != mat: + mismatches.append(match_stringloc) + if len(mismatches) > maxMismatches: + break + else: + loc = match_stringloc + 1 + results = ParseResults([instring[start:loc]]) + results['original'] = self.match_string + results['mismatches'] = mismatches + return loc, results + + raise ParseException(instring, loc, self.errmsg, self) + + +class Word(Token): + """Token for matching words composed of allowed character sets. + Defined with string containing all allowed initial characters, an + optional string containing allowed body characters (if omitted, + defaults to the initial character set), and an optional minimum, + maximum, and/or exact length. The default value for ``min`` is + 1 (a minimum value < 1 is not valid); the default values for + ``max`` and ``exact`` are 0, meaning no maximum or exact + length restriction. An optional ``excludeChars`` parameter can + list characters that might be found in the input ``bodyChars`` + string; useful to define a word of all printables except for one or + two characters, for instance. + + :class:`srange` is useful for defining custom character set strings + for defining ``Word`` expressions, using range notation from + regular expression character sets. + + A common mistake is to use :class:`Word` to match a specific literal + string, as in ``Word("Address")``. Remember that :class:`Word` + uses the string argument to define *sets* of matchable characters. + This expression would match "Add", "AAA", "dAred", or any other word + made up of the characters 'A', 'd', 'r', 'e', and 's'. To match an + exact literal string, use :class:`Literal` or :class:`Keyword`. + + pyparsing includes helper strings for building Words: + + - :class:`alphas` + - :class:`nums` + - :class:`alphanums` + - :class:`hexnums` + - :class:`alphas8bit` (alphabetic characters in ASCII range 128-255 + - accented, tilded, umlauted, etc.) + - :class:`punc8bit` (non-alphabetic characters in ASCII range + 128-255 - currency, symbols, superscripts, diacriticals, etc.) + - :class:`printables` (any non-whitespace character) + + Example:: + + # a word composed of digits + integer = Word(nums) # equivalent to Word("0123456789") or Word(srange("0-9")) + + # a word with a leading capital, and zero or more lowercase + capital_word = Word(alphas.upper(), alphas.lower()) + + # hostnames are alphanumeric, with leading alpha, and '-' + hostname = Word(alphas, alphanums+'-') + + # roman numeral (not a strict parser, accepts invalid mix of characters) + roman = Word("IVXLCDM") + + # any string of non-whitespace characters, except for ',' + csv_value = Word(printables, excludeChars=",") + """ + def __init__( self, initChars, bodyChars=None, min=1, max=0, exact=0, asKeyword=False, excludeChars=None ): + super(Word,self).__init__() + if excludeChars: + initChars = ''.join(c for c in initChars if c not in excludeChars) + if bodyChars: + bodyChars = ''.join(c for c in bodyChars if c not in excludeChars) + self.initCharsOrig = initChars + self.initChars = set(initChars) + if bodyChars : + self.bodyCharsOrig = bodyChars + self.bodyChars = set(bodyChars) + else: + self.bodyCharsOrig = initChars + self.bodyChars = set(initChars) + + self.maxSpecified = max > 0 + + if min < 1: + raise ValueError("cannot specify a minimum length < 1; use Optional(Word()) if zero-length word is permitted") + + self.minLen = min + + if max > 0: + self.maxLen = max + else: + self.maxLen = _MAX_INT + + if exact > 0: + self.maxLen = exact + self.minLen = exact + + self.name = _ustr(self) + self.errmsg = "Expected " + self.name + self.mayIndexError = False + self.asKeyword = asKeyword + + if ' ' not in self.initCharsOrig+self.bodyCharsOrig and (min==1 and max==0 and exact==0): + if self.bodyCharsOrig == self.initCharsOrig: + self.reString = "[%s]+" % _escapeRegexRangeChars(self.initCharsOrig) + elif len(self.initCharsOrig) == 1: + self.reString = "%s[%s]*" % \ + (re.escape(self.initCharsOrig), + _escapeRegexRangeChars(self.bodyCharsOrig),) + else: + self.reString = "[%s][%s]*" % \ + (_escapeRegexRangeChars(self.initCharsOrig), + _escapeRegexRangeChars(self.bodyCharsOrig),) + if self.asKeyword: + self.reString = r"\b"+self.reString+r"\b" + try: + self.re = re.compile( self.reString ) + except Exception: + self.re = None + + def parseImpl( self, instring, loc, doActions=True ): + if self.re: + result = self.re.match(instring,loc) + if not result: + raise ParseException(instring, loc, self.errmsg, self) + + loc = result.end() + return loc, result.group() + + if not(instring[ loc ] in self.initChars): + raise ParseException(instring, loc, self.errmsg, self) + + start = loc + loc += 1 + instrlen = len(instring) + bodychars = self.bodyChars + maxloc = start + self.maxLen + maxloc = min( maxloc, instrlen ) + while loc < maxloc and instring[loc] in bodychars: + loc += 1 + + throwException = False + if loc - start < self.minLen: + throwException = True + if self.maxSpecified and loc < instrlen and instring[loc] in bodychars: + throwException = True + if self.asKeyword: + if (start>0 and instring[start-1] in bodychars) or (loc<instrlen and instring[loc] in bodychars): + throwException = True + + if throwException: + raise ParseException(instring, loc, self.errmsg, self) + + return loc, instring[start:loc] + + def __str__( self ): + try: + return super(Word,self).__str__() + except Exception: + pass + + + if self.strRepr is None: + + def charsAsStr(s): + if len(s)>4: + return s[:4]+"..." + else: + return s + + if ( self.initCharsOrig != self.bodyCharsOrig ): + self.strRepr = "W:(%s,%s)" % ( charsAsStr(self.initCharsOrig), charsAsStr(self.bodyCharsOrig) ) + else: + self.strRepr = "W:(%s)" % charsAsStr(self.initCharsOrig) + + return self.strRepr + + +class Char(Word): + """A short-cut class for defining ``Word(characters, exact=1)``, + when defining a match of any single character in a string of + characters. + """ + def __init__(self, charset): + super(Char, self).__init__(charset, exact=1) + self.reString = "[%s]" % _escapeRegexRangeChars(self.initCharsOrig) + self.re = re.compile( self.reString ) + + +class Regex(Token): + r"""Token for matching strings that match a given regular + expression. Defined with string specifying the regular expression in + a form recognized by the stdlib Python `re module <https://docs.python.org/3/library/re.html>`_. + If the given regex contains named groups (defined using ``(?P<name>...)``), + these will be preserved as named parse results. + + Example:: + + realnum = Regex(r"[+-]?\d+\.\d*") + date = Regex(r'(?P<year>\d{4})-(?P<month>\d\d?)-(?P<day>\d\d?)') + # ref: https://stackoverflow.com/questions/267399/how-do-you-match-only-valid-roman-numerals-with-a-regular-expression + roman = Regex(r"M{0,4}(CM|CD|D?{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})") + """ + compiledREtype = type(re.compile("[A-Z]")) + def __init__( self, pattern, flags=0, asGroupList=False, asMatch=False): + """The parameters ``pattern`` and ``flags`` are passed + to the ``re.compile()`` function as-is. See the Python + `re module <https://docs.python.org/3/library/re.html>`_ module for an + explanation of the acceptable patterns and flags. + """ + super(Regex,self).__init__() + + if isinstance(pattern, basestring): + if not pattern: + warnings.warn("null string passed to Regex; use Empty() instead", + SyntaxWarning, stacklevel=2) + + self.pattern = pattern + self.flags = flags + + try: + self.re = re.compile(self.pattern, self.flags) + self.reString = self.pattern + except sre_constants.error: + warnings.warn("invalid pattern (%s) passed to Regex" % pattern, + SyntaxWarning, stacklevel=2) + raise + + elif isinstance(pattern, Regex.compiledREtype): + self.re = pattern + self.pattern = \ + self.reString = str(pattern) + self.flags = flags + + else: + raise ValueError("Regex may only be constructed with a string or a compiled RE object") + + self.name = _ustr(self) + self.errmsg = "Expected " + self.name + self.mayIndexError = False + self.mayReturnEmpty = True + self.asGroupList = asGroupList + self.asMatch = asMatch + + def parseImpl( self, instring, loc, doActions=True ): + result = self.re.match(instring,loc) + if not result: + raise ParseException(instring, loc, self.errmsg, self) + + loc = result.end() + if self.asMatch: + ret = result + elif self.asGroupList: + ret = result.groups() + else: + ret = ParseResults(result.group()) + d = result.groupdict() + if d: + for k, v in d.items(): + ret[k] = v + return loc,ret + + def __str__( self ): + try: + return super(Regex,self).__str__() + except Exception: + pass + + if self.strRepr is None: + self.strRepr = "Re:(%s)" % repr(self.pattern) + + return self.strRepr + + def sub(self, repl): + """ + Return Regex with an attached parse action to transform the parsed + result as if called using `re.sub(expr, repl, string) <https://docs.python.org/3/library/re.html#re.sub>`_. + + Example:: + + make_html = Regex(r"(\w+):(.*?):").sub(r"<\1>\2</\1>") + print(make_html.transformString("h1:main title:")) + # prints "<h1>main title</h1>" + """ + if self.asGroupList: + warnings.warn("cannot use sub() with Regex(asGroupList=True)", + SyntaxWarning, stacklevel=2) + raise SyntaxError() + + if self.asMatch and callable(repl): + warnings.warn("cannot use sub() with a callable with Regex(asMatch=True)", + SyntaxWarning, stacklevel=2) + raise SyntaxError() + + if self.asMatch: + def pa(tokens): + return tokens[0].expand(repl) + else: + def pa(tokens): + return self.re.sub(repl, tokens[0]) + return self.addParseAction(pa) + +class QuotedString(Token): + r""" + Token for matching strings that are delimited by quoting characters. + + Defined with the following parameters: + + - quoteChar - string of one or more characters defining the + quote delimiting string + - escChar - character to escape quotes, typically backslash + (default= ``None`` ) + - escQuote - special quote sequence to escape an embedded quote + string (such as SQL's ``""`` to escape an embedded ``"``) + (default= ``None`` ) + - multiline - boolean indicating whether quotes can span + multiple lines (default= ``False`` ) + - unquoteResults - boolean indicating whether the matched text + should be unquoted (default= ``True`` ) + - endQuoteChar - string of one or more characters defining the + end of the quote delimited string (default= ``None`` => same as + quoteChar) + - convertWhitespaceEscapes - convert escaped whitespace + (``'\t'``, ``'\n'``, etc.) to actual whitespace + (default= ``True`` ) + + Example:: + + qs = QuotedString('"') + print(qs.searchString('lsjdf "This is the quote" sldjf')) + complex_qs = QuotedString('{{', endQuoteChar='}}') + print(complex_qs.searchString('lsjdf {{This is the "quote"}} sldjf')) + sql_qs = QuotedString('"', escQuote='""') + print(sql_qs.searchString('lsjdf "This is the quote with ""embedded"" quotes" sldjf')) + + prints:: + + [['This is the quote']] + [['This is the "quote"']] + [['This is the quote with "embedded" quotes']] + """ + def __init__( self, quoteChar, escChar=None, escQuote=None, multiline=False, unquoteResults=True, endQuoteChar=None, convertWhitespaceEscapes=True): + super(QuotedString,self).__init__() + + # remove white space from quote chars - wont work anyway + quoteChar = quoteChar.strip() + if not quoteChar: + warnings.warn("quoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) + raise SyntaxError() + + if endQuoteChar is None: + endQuoteChar = quoteChar + else: + endQuoteChar = endQuoteChar.strip() + if not endQuoteChar: + warnings.warn("endQuoteChar cannot be the empty string",SyntaxWarning,stacklevel=2) + raise SyntaxError() + + self.quoteChar = quoteChar + self.quoteCharLen = len(quoteChar) + self.firstQuoteChar = quoteChar[0] + self.endQuoteChar = endQuoteChar + self.endQuoteCharLen = len(endQuoteChar) + self.escChar = escChar + self.escQuote = escQuote + self.unquoteResults = unquoteResults + self.convertWhitespaceEscapes = convertWhitespaceEscapes + + if multiline: + self.flags = re.MULTILINE | re.DOTALL + self.pattern = r'%s(?:[^%s%s]' % \ + ( re.escape(self.quoteChar), + _escapeRegexRangeChars(self.endQuoteChar[0]), + (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) + else: + self.flags = 0 + self.pattern = r'%s(?:[^%s\n\r%s]' % \ + ( re.escape(self.quoteChar), + _escapeRegexRangeChars(self.endQuoteChar[0]), + (escChar is not None and _escapeRegexRangeChars(escChar) or '') ) + if len(self.endQuoteChar) > 1: + self.pattern += ( + '|(?:' + ')|(?:'.join("%s[^%s]" % (re.escape(self.endQuoteChar[:i]), + _escapeRegexRangeChars(self.endQuoteChar[i])) + for i in range(len(self.endQuoteChar)-1,0,-1)) + ')' + ) + if escQuote: + self.pattern += (r'|(?:%s)' % re.escape(escQuote)) + if escChar: + self.pattern += (r'|(?:%s.)' % re.escape(escChar)) + self.escCharReplacePattern = re.escape(self.escChar)+"(.)" + self.pattern += (r')*%s' % re.escape(self.endQuoteChar)) + + try: + self.re = re.compile(self.pattern, self.flags) + self.reString = self.pattern + except sre_constants.error: + warnings.warn("invalid pattern (%s) passed to Regex" % self.pattern, + SyntaxWarning, stacklevel=2) + raise + + self.name = _ustr(self) + self.errmsg = "Expected " + self.name + self.mayIndexError = False + self.mayReturnEmpty = True + + def parseImpl( self, instring, loc, doActions=True ): + result = instring[loc] == self.firstQuoteChar and self.re.match(instring,loc) or None + if not result: + raise ParseException(instring, loc, self.errmsg, self) + + loc = result.end() + ret = result.group() + + if self.unquoteResults: + + # strip off quotes + ret = ret[self.quoteCharLen:-self.endQuoteCharLen] + + if isinstance(ret,basestring): + # replace escaped whitespace + if '\\' in ret and self.convertWhitespaceEscapes: + ws_map = { + r'\t' : '\t', + r'\n' : '\n', + r'\f' : '\f', + r'\r' : '\r', + } + for wslit,wschar in ws_map.items(): + ret = ret.replace(wslit, wschar) + + # replace escaped characters + if self.escChar: + ret = re.sub(self.escCharReplacePattern, r"\g<1>", ret) + + # replace escaped quotes + if self.escQuote: + ret = ret.replace(self.escQuote, self.endQuoteChar) + + return loc, ret + + def __str__( self ): + try: + return super(QuotedString,self).__str__() + except Exception: + pass + + if self.strRepr is None: + self.strRepr = "quoted string, starting with %s ending with %s" % (self.quoteChar, self.endQuoteChar) + + return self.strRepr + + +class CharsNotIn(Token): + """Token for matching words composed of characters *not* in a given + set (will include whitespace in matched characters if not listed in + the provided exclusion set - see example). Defined with string + containing all disallowed characters, and an optional minimum, + maximum, and/or exact length. The default value for ``min`` is + 1 (a minimum value < 1 is not valid); the default values for + ``max`` and ``exact`` are 0, meaning no maximum or exact + length restriction. + + Example:: + + # define a comma-separated-value as anything that is not a ',' + csv_value = CharsNotIn(',') + print(delimitedList(csv_value).parseString("dkls,lsdkjf,s12 34,@!#,213")) + + prints:: + + ['dkls', 'lsdkjf', 's12 34', '@!#', '213'] + """ + def __init__( self, notChars, min=1, max=0, exact=0 ): + super(CharsNotIn,self).__init__() + self.skipWhitespace = False + self.notChars = notChars + + if min < 1: + raise ValueError( + "cannot specify a minimum length < 1; use " + + "Optional(CharsNotIn()) if zero-length char group is permitted") + + self.minLen = min + + if max > 0: + self.maxLen = max + else: + self.maxLen = _MAX_INT + + if exact > 0: + self.maxLen = exact + self.minLen = exact + + self.name = _ustr(self) + self.errmsg = "Expected " + self.name + self.mayReturnEmpty = ( self.minLen == 0 ) + self.mayIndexError = False + + def parseImpl( self, instring, loc, doActions=True ): + if instring[loc] in self.notChars: + raise ParseException(instring, loc, self.errmsg, self) + + start = loc + loc += 1 + notchars = self.notChars + maxlen = min( start+self.maxLen, len(instring) ) + while loc < maxlen and \ + (instring[loc] not in notchars): + loc += 1 + + if loc - start < self.minLen: + raise ParseException(instring, loc, self.errmsg, self) + + return loc, instring[start:loc] + + def __str__( self ): + try: + return super(CharsNotIn, self).__str__() + except Exception: + pass + + if self.strRepr is None: + if len(self.notChars) > 4: + self.strRepr = "!W:(%s...)" % self.notChars[:4] + else: + self.strRepr = "!W:(%s)" % self.notChars + + return self.strRepr + +class White(Token): + """Special matching class for matching whitespace. Normally, + whitespace is ignored by pyparsing grammars. This class is included + when some whitespace structures are significant. Define with + a string containing the whitespace characters to be matched; default + is ``" \\t\\r\\n"``. Also takes optional ``min``, + ``max``, and ``exact`` arguments, as defined for the + :class:`Word` class. + """ + whiteStrs = { + ' ' : '<SP>', + '\t': '<TAB>', + '\n': '<LF>', + '\r': '<CR>', + '\f': '<FF>', + 'u\00A0': '<NBSP>', + 'u\1680': '<OGHAM_SPACE_MARK>', + 'u\180E': '<MONGOLIAN_VOWEL_SEPARATOR>', + 'u\2000': '<EN_QUAD>', + 'u\2001': '<EM_QUAD>', + 'u\2002': '<EN_SPACE>', + 'u\2003': '<EM_SPACE>', + 'u\2004': '<THREE-PER-EM_SPACE>', + 'u\2005': '<FOUR-PER-EM_SPACE>', + 'u\2006': '<SIX-PER-EM_SPACE>', + 'u\2007': '<FIGURE_SPACE>', + 'u\2008': '<PUNCTUATION_SPACE>', + 'u\2009': '<THIN_SPACE>', + 'u\200A': '<HAIR_SPACE>', + 'u\200B': '<ZERO_WIDTH_SPACE>', + 'u\202F': '<NNBSP>', + 'u\205F': '<MMSP>', + 'u\3000': '<IDEOGRAPHIC_SPACE>', + } + def __init__(self, ws=" \t\r\n", min=1, max=0, exact=0): + super(White,self).__init__() + self.matchWhite = ws + self.setWhitespaceChars( "".join(c for c in self.whiteChars if c not in self.matchWhite) ) + #~ self.leaveWhitespace() + self.name = ("".join(White.whiteStrs[c] for c in self.matchWhite)) + self.mayReturnEmpty = True + self.errmsg = "Expected " + self.name + + self.minLen = min + + if max > 0: + self.maxLen = max + else: + self.maxLen = _MAX_INT + + if exact > 0: + self.maxLen = exact + self.minLen = exact + + def parseImpl( self, instring, loc, doActions=True ): + if not(instring[ loc ] in self.matchWhite): + raise ParseException(instring, loc, self.errmsg, self) + start = loc + loc += 1 + maxloc = start + self.maxLen + maxloc = min( maxloc, len(instring) ) + while loc < maxloc and instring[loc] in self.matchWhite: + loc += 1 + + if loc - start < self.minLen: + raise ParseException(instring, loc, self.errmsg, self) + + return loc, instring[start:loc] + + +class _PositionToken(Token): + def __init__( self ): + super(_PositionToken,self).__init__() + self.name=self.__class__.__name__ + self.mayReturnEmpty = True + self.mayIndexError = False + +class GoToColumn(_PositionToken): + """Token to advance to a specific column of input text; useful for + tabular report scraping. + """ + def __init__( self, colno ): + super(GoToColumn,self).__init__() + self.col = colno + + def preParse( self, instring, loc ): + if col(loc,instring) != self.col: + instrlen = len(instring) + if self.ignoreExprs: + loc = self._skipIgnorables( instring, loc ) + while loc < instrlen and instring[loc].isspace() and col( loc, instring ) != self.col : + loc += 1 + return loc + + def parseImpl( self, instring, loc, doActions=True ): + thiscol = col( loc, instring ) + if thiscol > self.col: + raise ParseException( instring, loc, "Text not in expected column", self ) + newloc = loc + self.col - thiscol + ret = instring[ loc: newloc ] + return newloc, ret + + +class LineStart(_PositionToken): + """Matches if current position is at the beginning of a line within + the parse string + + Example:: + + test = '''\ + AAA this line + AAA and this line + AAA but not this one + B AAA and definitely not this one + ''' + + for t in (LineStart() + 'AAA' + restOfLine).searchString(test): + print(t) + + prints:: + + ['AAA', ' this line'] + ['AAA', ' and this line'] + + """ + def __init__( self ): + super(LineStart,self).__init__() + self.errmsg = "Expected start of line" + + def parseImpl( self, instring, loc, doActions=True ): + if col(loc, instring) == 1: + return loc, [] + raise ParseException(instring, loc, self.errmsg, self) + +class LineEnd(_PositionToken): + """Matches if current position is at the end of a line within the + parse string + """ + def __init__( self ): + super(LineEnd,self).__init__() + self.setWhitespaceChars( ParserElement.DEFAULT_WHITE_CHARS.replace("\n","") ) + self.errmsg = "Expected end of line" + + def parseImpl( self, instring, loc, doActions=True ): + if loc<len(instring): + if instring[loc] == "\n": + return loc+1, "\n" + else: + raise ParseException(instring, loc, self.errmsg, self) + elif loc == len(instring): + return loc+1, [] + else: + raise ParseException(instring, loc, self.errmsg, self) + +class StringStart(_PositionToken): + """Matches if current position is at the beginning of the parse + string + """ + def __init__( self ): + super(StringStart,self).__init__() + self.errmsg = "Expected start of text" + + def parseImpl( self, instring, loc, doActions=True ): + if loc != 0: + # see if entire string up to here is just whitespace and ignoreables + if loc != self.preParse( instring, 0 ): + raise ParseException(instring, loc, self.errmsg, self) + return loc, [] + +class StringEnd(_PositionToken): + """Matches if current position is at the end of the parse string + """ + def __init__( self ): + super(StringEnd,self).__init__() + self.errmsg = "Expected end of text" + + def parseImpl( self, instring, loc, doActions=True ): + if loc < len(instring): + raise ParseException(instring, loc, self.errmsg, self) + elif loc == len(instring): + return loc+1, [] + elif loc > len(instring): + return loc, [] + else: + raise ParseException(instring, loc, self.errmsg, self) + +class WordStart(_PositionToken): + """Matches if the current position is at the beginning of a Word, + and is not preceded by any character in a given set of + ``wordChars`` (default= ``printables``). To emulate the + ``\b`` behavior of regular expressions, use + ``WordStart(alphanums)``. ``WordStart`` will also match at + the beginning of the string being parsed, or at the beginning of + a line. + """ + def __init__(self, wordChars = printables): + super(WordStart,self).__init__() + self.wordChars = set(wordChars) + self.errmsg = "Not at the start of a word" + + def parseImpl(self, instring, loc, doActions=True ): + if loc != 0: + if (instring[loc-1] in self.wordChars or + instring[loc] not in self.wordChars): + raise ParseException(instring, loc, self.errmsg, self) + return loc, [] + +class WordEnd(_PositionToken): + """Matches if the current position is at the end of a Word, and is + not followed by any character in a given set of ``wordChars`` + (default= ``printables``). To emulate the ``\b`` behavior of + regular expressions, use ``WordEnd(alphanums)``. ``WordEnd`` + will also match at the end of the string being parsed, or at the end + of a line. + """ + def __init__(self, wordChars = printables): + super(WordEnd,self).__init__() + self.wordChars = set(wordChars) + self.skipWhitespace = False + self.errmsg = "Not at the end of a word" + + def parseImpl(self, instring, loc, doActions=True ): + instrlen = len(instring) + if instrlen>0 and loc<instrlen: + if (instring[loc] in self.wordChars or + instring[loc-1] not in self.wordChars): + raise ParseException(instring, loc, self.errmsg, self) + return loc, [] + + +class ParseExpression(ParserElement): + """Abstract subclass of ParserElement, for combining and + post-processing parsed tokens. + """ + def __init__( self, exprs, savelist = False ): + super(ParseExpression,self).__init__(savelist) + if isinstance( exprs, _generatorType ): + exprs = list(exprs) + + if isinstance( exprs, basestring ): + self.exprs = [ ParserElement._literalStringClass( exprs ) ] + elif isinstance( exprs, Iterable ): + exprs = list(exprs) + # if sequence of strings provided, wrap with Literal + if all(isinstance(expr, basestring) for expr in exprs): + exprs = map(ParserElement._literalStringClass, exprs) + self.exprs = list(exprs) + else: + try: + self.exprs = list( exprs ) + except TypeError: + self.exprs = [ exprs ] + self.callPreparse = False + + def __getitem__( self, i ): + return self.exprs[i] + + def append( self, other ): + self.exprs.append( other ) + self.strRepr = None + return self + + def leaveWhitespace( self ): + """Extends ``leaveWhitespace`` defined in base class, and also invokes ``leaveWhitespace`` on + all contained expressions.""" + self.skipWhitespace = False + self.exprs = [ e.copy() for e in self.exprs ] + for e in self.exprs: + e.leaveWhitespace() + return self + + def ignore( self, other ): + if isinstance( other, Suppress ): + if other not in self.ignoreExprs: + super( ParseExpression, self).ignore( other ) + for e in self.exprs: + e.ignore( self.ignoreExprs[-1] ) + else: + super( ParseExpression, self).ignore( other ) + for e in self.exprs: + e.ignore( self.ignoreExprs[-1] ) + return self + + def __str__( self ): + try: + return super(ParseExpression,self).__str__() + except Exception: + pass + + if self.strRepr is None: + self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.exprs) ) + return self.strRepr + + def streamline( self ): + super(ParseExpression,self).streamline() + + for e in self.exprs: + e.streamline() + + # collapse nested And's of the form And( And( And( a,b), c), d) to And( a,b,c,d ) + # but only if there are no parse actions or resultsNames on the nested And's + # (likewise for Or's and MatchFirst's) + if ( len(self.exprs) == 2 ): + other = self.exprs[0] + if ( isinstance( other, self.__class__ ) and + not(other.parseAction) and + other.resultsName is None and + not other.debug ): + self.exprs = other.exprs[:] + [ self.exprs[1] ] + self.strRepr = None + self.mayReturnEmpty |= other.mayReturnEmpty + self.mayIndexError |= other.mayIndexError + + other = self.exprs[-1] + if ( isinstance( other, self.__class__ ) and + not(other.parseAction) and + other.resultsName is None and + not other.debug ): + self.exprs = self.exprs[:-1] + other.exprs[:] + self.strRepr = None + self.mayReturnEmpty |= other.mayReturnEmpty + self.mayIndexError |= other.mayIndexError + + self.errmsg = "Expected " + _ustr(self) + + return self + + def setResultsName( self, name, listAllMatches=False ): + ret = super(ParseExpression,self).setResultsName(name,listAllMatches) + return ret + + def validate( self, validateTrace=[] ): + tmp = validateTrace[:]+[self] + for e in self.exprs: + e.validate(tmp) + self.checkRecursion( [] ) + + def copy(self): + ret = super(ParseExpression,self).copy() + ret.exprs = [e.copy() for e in self.exprs] + return ret + +class And(ParseExpression): + """ + Requires all given :class:`ParseExpression` s to be found in the given order. + Expressions may be separated by whitespace. + May be constructed using the ``'+'`` operator. + May also be constructed using the ``'-'`` operator, which will + suppress backtracking. + + Example:: + + integer = Word(nums) + name_expr = OneOrMore(Word(alphas)) + + expr = And([integer("id"),name_expr("name"),integer("age")]) + # more easily written as: + expr = integer("id") + name_expr("name") + integer("age") + """ + + class _ErrorStop(Empty): + def __init__(self, *args, **kwargs): + super(And._ErrorStop,self).__init__(*args, **kwargs) + self.name = '-' + self.leaveWhitespace() + + def __init__( self, exprs, savelist = True ): + super(And,self).__init__(exprs, savelist) + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + self.setWhitespaceChars( self.exprs[0].whiteChars ) + self.skipWhitespace = self.exprs[0].skipWhitespace + self.callPreparse = True + + def streamline(self): + super(And, self).streamline() + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + return self + + def parseImpl( self, instring, loc, doActions=True ): + # pass False as last arg to _parse for first element, since we already + # pre-parsed the string as part of our And pre-parsing + loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False ) + errorStop = False + for e in self.exprs[1:]: + if isinstance(e, And._ErrorStop): + errorStop = True + continue + if errorStop: + try: + loc, exprtokens = e._parse( instring, loc, doActions ) + except ParseSyntaxException: + raise + except ParseBaseException as pe: + pe.__traceback__ = None + raise ParseSyntaxException._from_exception(pe) + except IndexError: + raise ParseSyntaxException(instring, len(instring), self.errmsg, self) + else: + loc, exprtokens = e._parse( instring, loc, doActions ) + if exprtokens or exprtokens.haskeys(): + resultlist += exprtokens + return loc, resultlist + + def __iadd__(self, other ): + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + return self.append( other ) #And( [ self, other ] ) + + def checkRecursion( self, parseElementList ): + subRecCheckList = parseElementList[:] + [ self ] + for e in self.exprs: + e.checkRecursion( subRecCheckList ) + if not e.mayReturnEmpty: + break + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + " ".join(_ustr(e) for e in self.exprs) + "}" + + return self.strRepr + + +class Or(ParseExpression): + """Requires that at least one :class:`ParseExpression` is found. If + two expressions match, the expression that matches the longest + string will be used. May be constructed using the ``'^'`` + operator. + + Example:: + + # construct Or using '^' operator + + number = Word(nums) ^ Combine(Word(nums) + '.' + Word(nums)) + print(number.searchString("123 3.1416 789")) + + prints:: + + [['123'], ['3.1416'], ['789']] + """ + def __init__( self, exprs, savelist = False ): + super(Or,self).__init__(exprs, savelist) + if self.exprs: + self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) + else: + self.mayReturnEmpty = True + + def streamline(self): + super(Or, self).streamline() + self.saveAsList = any(e.saveAsList for e in self.exprs) + return self + + def parseImpl( self, instring, loc, doActions=True ): + maxExcLoc = -1 + maxException = None + matches = [] + for e in self.exprs: + try: + loc2 = e.tryParse( instring, loc ) + except ParseException as err: + err.__traceback__ = None + if err.loc > maxExcLoc: + maxException = err + maxExcLoc = err.loc + except IndexError: + if len(instring) > maxExcLoc: + maxException = ParseException(instring,len(instring),e.errmsg,self) + maxExcLoc = len(instring) + else: + # save match among all matches, to retry longest to shortest + matches.append((loc2, e)) + + if matches: + matches.sort(key=lambda x: -x[0]) + for _,e in matches: + try: + return e._parse( instring, loc, doActions ) + except ParseException as err: + err.__traceback__ = None + if err.loc > maxExcLoc: + maxException = err + maxExcLoc = err.loc + + if maxException is not None: + maxException.msg = self.errmsg + raise maxException + else: + raise ParseException(instring, loc, "no defined alternatives to match", self) + + + def __ixor__(self, other ): + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + return self.append( other ) #Or( [ self, other ] ) + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + " ^ ".join(_ustr(e) for e in self.exprs) + "}" + + return self.strRepr + + def checkRecursion( self, parseElementList ): + subRecCheckList = parseElementList[:] + [ self ] + for e in self.exprs: + e.checkRecursion( subRecCheckList ) + + +class MatchFirst(ParseExpression): + """Requires that at least one :class:`ParseExpression` is found. If + two expressions match, the first one listed is the one that will + match. May be constructed using the ``'|'`` operator. + + Example:: + + # construct MatchFirst using '|' operator + + # watch the order of expressions to match + number = Word(nums) | Combine(Word(nums) + '.' + Word(nums)) + print(number.searchString("123 3.1416 789")) # Fail! -> [['123'], ['3'], ['1416'], ['789']] + + # put more selective expression first + number = Combine(Word(nums) + '.' + Word(nums)) | Word(nums) + print(number.searchString("123 3.1416 789")) # Better -> [['123'], ['3.1416'], ['789']] + """ + def __init__( self, exprs, savelist = False ): + super(MatchFirst,self).__init__(exprs, savelist) + if self.exprs: + self.mayReturnEmpty = any(e.mayReturnEmpty for e in self.exprs) + # self.saveAsList = any(e.saveAsList for e in self.exprs) + else: + self.mayReturnEmpty = True + + def streamline(self): + super(MatchFirst, self).streamline() + self.saveAsList = any(e.saveAsList for e in self.exprs) + return self + + def parseImpl( self, instring, loc, doActions=True ): + maxExcLoc = -1 + maxException = None + for e in self.exprs: + try: + ret = e._parse( instring, loc, doActions ) + return ret + except ParseException as err: + if err.loc > maxExcLoc: + maxException = err + maxExcLoc = err.loc + except IndexError: + if len(instring) > maxExcLoc: + maxException = ParseException(instring,len(instring),e.errmsg,self) + maxExcLoc = len(instring) + + # only got here if no expression matched, raise exception for match that made it the furthest + else: + if maxException is not None: + maxException.msg = self.errmsg + raise maxException + else: + raise ParseException(instring, loc, "no defined alternatives to match", self) + + def __ior__(self, other ): + if isinstance( other, basestring ): + other = ParserElement._literalStringClass( other ) + return self.append( other ) #MatchFirst( [ self, other ] ) + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + " | ".join(_ustr(e) for e in self.exprs) + "}" + + return self.strRepr + + def checkRecursion( self, parseElementList ): + subRecCheckList = parseElementList[:] + [ self ] + for e in self.exprs: + e.checkRecursion( subRecCheckList ) + + +class Each(ParseExpression): + """Requires all given :class:`ParseExpression` s to be found, but in + any order. Expressions may be separated by whitespace. + + May be constructed using the ``'&'`` operator. + + Example:: + + color = oneOf("RED ORANGE YELLOW GREEN BLUE PURPLE BLACK WHITE BROWN") + shape_type = oneOf("SQUARE CIRCLE TRIANGLE STAR HEXAGON OCTAGON") + integer = Word(nums) + shape_attr = "shape:" + shape_type("shape") + posn_attr = "posn:" + Group(integer("x") + ',' + integer("y"))("posn") + color_attr = "color:" + color("color") + size_attr = "size:" + integer("size") + + # use Each (using operator '&') to accept attributes in any order + # (shape and posn are required, color and size are optional) + shape_spec = shape_attr & posn_attr & Optional(color_attr) & Optional(size_attr) + + shape_spec.runTests(''' + shape: SQUARE color: BLACK posn: 100, 120 + shape: CIRCLE size: 50 color: BLUE posn: 50,80 + color:GREEN size:20 shape:TRIANGLE posn:20,40 + ''' + ) + + prints:: + + shape: SQUARE color: BLACK posn: 100, 120 + ['shape:', 'SQUARE', 'color:', 'BLACK', 'posn:', ['100', ',', '120']] + - color: BLACK + - posn: ['100', ',', '120'] + - x: 100 + - y: 120 + - shape: SQUARE + + + shape: CIRCLE size: 50 color: BLUE posn: 50,80 + ['shape:', 'CIRCLE', 'size:', '50', 'color:', 'BLUE', 'posn:', ['50', ',', '80']] + - color: BLUE + - posn: ['50', ',', '80'] + - x: 50 + - y: 80 + - shape: CIRCLE + - size: 50 + + + color: GREEN size: 20 shape: TRIANGLE posn: 20,40 + ['color:', 'GREEN', 'size:', '20', 'shape:', 'TRIANGLE', 'posn:', ['20', ',', '40']] + - color: GREEN + - posn: ['20', ',', '40'] + - x: 20 + - y: 40 + - shape: TRIANGLE + - size: 20 + """ + def __init__( self, exprs, savelist = True ): + super(Each,self).__init__(exprs, savelist) + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + self.skipWhitespace = True + self.initExprGroups = True + self.saveAsList = True + + def streamline(self): + super(Each, self).streamline() + self.mayReturnEmpty = all(e.mayReturnEmpty for e in self.exprs) + return self + + def parseImpl( self, instring, loc, doActions=True ): + if self.initExprGroups: + self.opt1map = dict((id(e.expr),e) for e in self.exprs if isinstance(e,Optional)) + opt1 = [ e.expr for e in self.exprs if isinstance(e,Optional) ] + opt2 = [ e for e in self.exprs if e.mayReturnEmpty and not isinstance(e,Optional)] + self.optionals = opt1 + opt2 + self.multioptionals = [ e.expr for e in self.exprs if isinstance(e,ZeroOrMore) ] + self.multirequired = [ e.expr for e in self.exprs if isinstance(e,OneOrMore) ] + self.required = [ e for e in self.exprs if not isinstance(e,(Optional,ZeroOrMore,OneOrMore)) ] + self.required += self.multirequired + self.initExprGroups = False + tmpLoc = loc + tmpReqd = self.required[:] + tmpOpt = self.optionals[:] + matchOrder = [] + + keepMatching = True + while keepMatching: + tmpExprs = tmpReqd + tmpOpt + self.multioptionals + self.multirequired + failed = [] + for e in tmpExprs: + try: + tmpLoc = e.tryParse( instring, tmpLoc ) + except ParseException: + failed.append(e) + else: + matchOrder.append(self.opt1map.get(id(e),e)) + if e in tmpReqd: + tmpReqd.remove(e) + elif e in tmpOpt: + tmpOpt.remove(e) + if len(failed) == len(tmpExprs): + keepMatching = False + + if tmpReqd: + missing = ", ".join(_ustr(e) for e in tmpReqd) + raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing ) + + # add any unmatched Optionals, in case they have default values defined + matchOrder += [e for e in self.exprs if isinstance(e,Optional) and e.expr in tmpOpt] + + resultlist = [] + for e in matchOrder: + loc,results = e._parse(instring,loc,doActions) + resultlist.append(results) + + finalResults = sum(resultlist, ParseResults([])) + return loc, finalResults + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + " & ".join(_ustr(e) for e in self.exprs) + "}" + + return self.strRepr + + def checkRecursion( self, parseElementList ): + subRecCheckList = parseElementList[:] + [ self ] + for e in self.exprs: + e.checkRecursion( subRecCheckList ) + + +class ParseElementEnhance(ParserElement): + """Abstract subclass of :class:`ParserElement`, for combining and + post-processing parsed tokens. + """ + def __init__( self, expr, savelist=False ): + super(ParseElementEnhance,self).__init__(savelist) + if isinstance( expr, basestring ): + if issubclass(ParserElement._literalStringClass, Token): + expr = ParserElement._literalStringClass(expr) + else: + expr = ParserElement._literalStringClass(Literal(expr)) + self.expr = expr + self.strRepr = None + if expr is not None: + self.mayIndexError = expr.mayIndexError + self.mayReturnEmpty = expr.mayReturnEmpty + self.setWhitespaceChars( expr.whiteChars ) + self.skipWhitespace = expr.skipWhitespace + self.saveAsList = expr.saveAsList + self.callPreparse = expr.callPreparse + self.ignoreExprs.extend(expr.ignoreExprs) + + def parseImpl( self, instring, loc, doActions=True ): + if self.expr is not None: + return self.expr._parse( instring, loc, doActions, callPreParse=False ) + else: + raise ParseException("",loc,self.errmsg,self) + + def leaveWhitespace( self ): + self.skipWhitespace = False + self.expr = self.expr.copy() + if self.expr is not None: + self.expr.leaveWhitespace() + return self + + def ignore( self, other ): + if isinstance( other, Suppress ): + if other not in self.ignoreExprs: + super( ParseElementEnhance, self).ignore( other ) + if self.expr is not None: + self.expr.ignore( self.ignoreExprs[-1] ) + else: + super( ParseElementEnhance, self).ignore( other ) + if self.expr is not None: + self.expr.ignore( self.ignoreExprs[-1] ) + return self + + def streamline( self ): + super(ParseElementEnhance,self).streamline() + if self.expr is not None: + self.expr.streamline() + return self + + def checkRecursion( self, parseElementList ): + if self in parseElementList: + raise RecursiveGrammarException( parseElementList+[self] ) + subRecCheckList = parseElementList[:] + [ self ] + if self.expr is not None: + self.expr.checkRecursion( subRecCheckList ) + + def validate( self, validateTrace=[] ): + tmp = validateTrace[:]+[self] + if self.expr is not None: + self.expr.validate(tmp) + self.checkRecursion( [] ) + + def __str__( self ): + try: + return super(ParseElementEnhance,self).__str__() + except Exception: + pass + + if self.strRepr is None and self.expr is not None: + self.strRepr = "%s:(%s)" % ( self.__class__.__name__, _ustr(self.expr) ) + return self.strRepr + + +class FollowedBy(ParseElementEnhance): + """Lookahead matching of the given parse expression. + ``FollowedBy`` does *not* advance the parsing position within + the input string, it only verifies that the specified parse + expression matches at the current position. ``FollowedBy`` + always returns a null token list. If any results names are defined + in the lookahead expression, those *will* be returned for access by + name. + + Example:: + + # use FollowedBy to match a label only if it is followed by a ':' + data_word = Word(alphas) + label = data_word + FollowedBy(':') + attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) + + OneOrMore(attr_expr).parseString("shape: SQUARE color: BLACK posn: upper left").pprint() + + prints:: + + [['shape', 'SQUARE'], ['color', 'BLACK'], ['posn', 'upper left']] + """ + def __init__( self, expr ): + super(FollowedBy,self).__init__(expr) + self.mayReturnEmpty = True + + def parseImpl( self, instring, loc, doActions=True ): + _, ret = self.expr._parse(instring, loc, doActions=doActions) + del ret[:] + return loc, ret + + +class PrecededBy(ParseElementEnhance): + """Lookbehind matching of the given parse expression. + ``PrecededBy`` does not advance the parsing position within the + input string, it only verifies that the specified parse expression + matches prior to the current position. ``PrecededBy`` always + returns a null token list, but if a results name is defined on the + given expression, it is returned. + + Parameters: + + - expr - expression that must match prior to the current parse + location + - retreat - (default= ``None``) - (int) maximum number of characters + to lookbehind prior to the current parse location + + If the lookbehind expression is a string, Literal, Keyword, or + a Word or CharsNotIn with a specified exact or maximum length, then + the retreat parameter is not required. Otherwise, retreat must be + specified to give a maximum number of characters to look back from + the current parse position for a lookbehind match. + + Example:: + + # VB-style variable names with type prefixes + int_var = PrecededBy("#") + pyparsing_common.identifier + str_var = PrecededBy("$") + pyparsing_common.identifier + + """ + def __init__(self, expr, retreat=None): + super(PrecededBy, self).__init__(expr) + self.expr = self.expr().leaveWhitespace() + self.mayReturnEmpty = True + self.mayIndexError = False + self.exact = False + if isinstance(expr, str): + retreat = len(expr) + self.exact = True + elif isinstance(expr, (Literal, Keyword)): + retreat = expr.matchLen + self.exact = True + elif isinstance(expr, (Word, CharsNotIn)) and expr.maxLen != _MAX_INT: + retreat = expr.maxLen + self.exact = True + elif isinstance(expr, _PositionToken): + retreat = 0 + self.exact = True + self.retreat = retreat + self.errmsg = "not preceded by " + str(expr) + self.skipWhitespace = False + + def parseImpl(self, instring, loc=0, doActions=True): + if self.exact: + if loc < self.retreat: + raise ParseException(instring, loc, self.errmsg) + start = loc - self.retreat + _, ret = self.expr._parse(instring, start) + else: + # retreat specified a maximum lookbehind window, iterate + test_expr = self.expr + StringEnd() + instring_slice = instring[:loc] + last_expr = ParseException(instring, loc, self.errmsg) + for offset in range(1, min(loc, self.retreat+1)): + try: + _, ret = test_expr._parse(instring_slice, loc-offset) + except ParseBaseException as pbe: + last_expr = pbe + else: + break + else: + raise last_expr + # return empty list of tokens, but preserve any defined results names + del ret[:] + return loc, ret + + +class NotAny(ParseElementEnhance): + """Lookahead to disallow matching with the given parse expression. + ``NotAny`` does *not* advance the parsing position within the + input string, it only verifies that the specified parse expression + does *not* match at the current position. Also, ``NotAny`` does + *not* skip over leading whitespace. ``NotAny`` always returns + a null token list. May be constructed using the '~' operator. + + Example:: + + AND, OR, NOT = map(CaselessKeyword, "AND OR NOT".split()) + + # take care not to mistake keywords for identifiers + ident = ~(AND | OR | NOT) + Word(alphas) + boolean_term = Optional(NOT) + ident + + # very crude boolean expression - to support parenthesis groups and + # operation hierarchy, use infixNotation + boolean_expr = boolean_term + ZeroOrMore((AND | OR) + boolean_term) + + # integers that are followed by "." are actually floats + integer = Word(nums) + ~Char(".") + """ + def __init__( self, expr ): + super(NotAny,self).__init__(expr) + #~ self.leaveWhitespace() + self.skipWhitespace = False # do NOT use self.leaveWhitespace(), don't want to propagate to exprs + self.mayReturnEmpty = True + self.errmsg = "Found unwanted token, "+_ustr(self.expr) + + def parseImpl( self, instring, loc, doActions=True ): + if self.expr.canParseNext(instring, loc): + raise ParseException(instring, loc, self.errmsg, self) + return loc, [] + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "~{" + _ustr(self.expr) + "}" + + return self.strRepr + +class _MultipleMatch(ParseElementEnhance): + def __init__( self, expr, stopOn=None): + super(_MultipleMatch, self).__init__(expr) + self.saveAsList = True + ender = stopOn + if isinstance(ender, basestring): + ender = ParserElement._literalStringClass(ender) + self.not_ender = ~ender if ender is not None else None + + def parseImpl( self, instring, loc, doActions=True ): + self_expr_parse = self.expr._parse + self_skip_ignorables = self._skipIgnorables + check_ender = self.not_ender is not None + if check_ender: + try_not_ender = self.not_ender.tryParse + + # must be at least one (but first see if we are the stopOn sentinel; + # if so, fail) + if check_ender: + try_not_ender(instring, loc) + loc, tokens = self_expr_parse( instring, loc, doActions, callPreParse=False ) + try: + hasIgnoreExprs = (not not self.ignoreExprs) + while 1: + if check_ender: + try_not_ender(instring, loc) + if hasIgnoreExprs: + preloc = self_skip_ignorables( instring, loc ) + else: + preloc = loc + loc, tmptokens = self_expr_parse( instring, preloc, doActions ) + if tmptokens or tmptokens.haskeys(): + tokens += tmptokens + except (ParseException,IndexError): + pass + + return loc, tokens + +class OneOrMore(_MultipleMatch): + """Repetition of one or more of the given expression. + + Parameters: + - expr - expression that must match one or more times + - stopOn - (default= ``None``) - expression for a terminating sentinel + (only required if the sentinel would ordinarily match the repetition + expression) + + Example:: + + data_word = Word(alphas) + label = data_word + FollowedBy(':') + attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) + + text = "shape: SQUARE posn: upper left color: BLACK" + OneOrMore(attr_expr).parseString(text).pprint() # Fail! read 'color' as data instead of next label -> [['shape', 'SQUARE color']] + + # use stopOn attribute for OneOrMore to avoid reading label string as part of the data + attr_expr = Group(label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) + OneOrMore(attr_expr).parseString(text).pprint() # Better -> [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'BLACK']] + + # could also be written as + (attr_expr * (1,)).parseString(text).pprint() + """ + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "{" + _ustr(self.expr) + "}..." + + return self.strRepr + +class ZeroOrMore(_MultipleMatch): + """Optional repetition of zero or more of the given expression. + + Parameters: + - expr - expression that must match zero or more times + - stopOn - (default= ``None``) - expression for a terminating sentinel + (only required if the sentinel would ordinarily match the repetition + expression) + + Example: similar to :class:`OneOrMore` + """ + def __init__( self, expr, stopOn=None): + super(ZeroOrMore,self).__init__(expr, stopOn=stopOn) + self.mayReturnEmpty = True + + def parseImpl( self, instring, loc, doActions=True ): + try: + return super(ZeroOrMore, self).parseImpl(instring, loc, doActions) + except (ParseException,IndexError): + return loc, [] + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "[" + _ustr(self.expr) + "]..." + + return self.strRepr + +class _NullToken(object): + def __bool__(self): + return False + __nonzero__ = __bool__ + def __str__(self): + return "" + +_optionalNotMatched = _NullToken() +class Optional(ParseElementEnhance): + """Optional matching of the given expression. + + Parameters: + - expr - expression that must match zero or more times + - default (optional) - value to be returned if the optional expression is not found. + + Example:: + + # US postal code can be a 5-digit zip, plus optional 4-digit qualifier + zip = Combine(Word(nums, exact=5) + Optional('-' + Word(nums, exact=4))) + zip.runTests(''' + # traditional ZIP code + 12345 + + # ZIP+4 form + 12101-0001 + + # invalid ZIP + 98765- + ''') + + prints:: + + # traditional ZIP code + 12345 + ['12345'] + + # ZIP+4 form + 12101-0001 + ['12101-0001'] + + # invalid ZIP + 98765- + ^ + FAIL: Expected end of text (at char 5), (line:1, col:6) + """ + def __init__( self, expr, default=_optionalNotMatched ): + super(Optional,self).__init__( expr, savelist=False ) + self.saveAsList = self.expr.saveAsList + self.defaultValue = default + self.mayReturnEmpty = True + + def parseImpl( self, instring, loc, doActions=True ): + try: + loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False ) + except (ParseException,IndexError): + if self.defaultValue is not _optionalNotMatched: + if self.expr.resultsName: + tokens = ParseResults([ self.defaultValue ]) + tokens[self.expr.resultsName] = self.defaultValue + else: + tokens = [ self.defaultValue ] + else: + tokens = [] + return loc, tokens + + def __str__( self ): + if hasattr(self,"name"): + return self.name + + if self.strRepr is None: + self.strRepr = "[" + _ustr(self.expr) + "]" + + return self.strRepr + +class SkipTo(ParseElementEnhance): + """Token for skipping over all undefined text until the matched + expression is found. + + Parameters: + - expr - target expression marking the end of the data to be skipped + - include - (default= ``False``) if True, the target expression is also parsed + (the skipped text and target expression are returned as a 2-element list). + - ignore - (default= ``None``) used to define grammars (typically quoted strings and + comments) that might contain false matches to the target expression + - failOn - (default= ``None``) define expressions that are not allowed to be + included in the skipped test; if found before the target expression is found, + the SkipTo is not a match + + Example:: + + report = ''' + Outstanding Issues Report - 1 Jan 2000 + + # | Severity | Description | Days Open + -----+----------+-------------------------------------------+----------- + 101 | Critical | Intermittent system crash | 6 + 94 | Cosmetic | Spelling error on Login ('log|n') | 14 + 79 | Minor | System slow when running too many reports | 47 + ''' + integer = Word(nums) + SEP = Suppress('|') + # use SkipTo to simply match everything up until the next SEP + # - ignore quoted strings, so that a '|' character inside a quoted string does not match + # - parse action will call token.strip() for each matched token, i.e., the description body + string_data = SkipTo(SEP, ignore=quotedString) + string_data.setParseAction(tokenMap(str.strip)) + ticket_expr = (integer("issue_num") + SEP + + string_data("sev") + SEP + + string_data("desc") + SEP + + integer("days_open")) + + for tkt in ticket_expr.searchString(report): + print tkt.dump() + + prints:: + + ['101', 'Critical', 'Intermittent system crash', '6'] + - days_open: 6 + - desc: Intermittent system crash + - issue_num: 101 + - sev: Critical + ['94', 'Cosmetic', "Spelling error on Login ('log|n')", '14'] + - days_open: 14 + - desc: Spelling error on Login ('log|n') + - issue_num: 94 + - sev: Cosmetic + ['79', 'Minor', 'System slow when running too many reports', '47'] + - days_open: 47 + - desc: System slow when running too many reports + - issue_num: 79 + - sev: Minor + """ + def __init__( self, other, include=False, ignore=None, failOn=None ): + super( SkipTo, self ).__init__( other ) + self.ignoreExpr = ignore + self.mayReturnEmpty = True + self.mayIndexError = False + self.includeMatch = include + self.saveAsList = False + if isinstance(failOn, basestring): + self.failOn = ParserElement._literalStringClass(failOn) + else: + self.failOn = failOn + self.errmsg = "No match found for "+_ustr(self.expr) + + def parseImpl( self, instring, loc, doActions=True ): + startloc = loc + instrlen = len(instring) + expr = self.expr + expr_parse = self.expr._parse + self_failOn_canParseNext = self.failOn.canParseNext if self.failOn is not None else None + self_ignoreExpr_tryParse = self.ignoreExpr.tryParse if self.ignoreExpr is not None else None + + tmploc = loc + while tmploc <= instrlen: + if self_failOn_canParseNext is not None: + # break if failOn expression matches + if self_failOn_canParseNext(instring, tmploc): + break + + if self_ignoreExpr_tryParse is not None: + # advance past ignore expressions + while 1: + try: + tmploc = self_ignoreExpr_tryParse(instring, tmploc) + except ParseBaseException: + break + + try: + expr_parse(instring, tmploc, doActions=False, callPreParse=False) + except (ParseException, IndexError): + # no match, advance loc in string + tmploc += 1 + else: + # matched skipto expr, done + break + + else: + # ran off the end of the input string without matching skipto expr, fail + raise ParseException(instring, loc, self.errmsg, self) + + # build up return values + loc = tmploc + skiptext = instring[startloc:loc] + skipresult = ParseResults(skiptext) + + if self.includeMatch: + loc, mat = expr_parse(instring,loc,doActions,callPreParse=False) + skipresult += mat + + return loc, skipresult + +class Forward(ParseElementEnhance): + """Forward declaration of an expression to be defined later - + used for recursive grammars, such as algebraic infix notation. + When the expression is known, it is assigned to the ``Forward`` + variable using the '<<' operator. + + Note: take care when assigning to ``Forward`` not to overlook + precedence of operators. + + Specifically, '|' has a lower precedence than '<<', so that:: + + fwdExpr << a | b | c + + will actually be evaluated as:: + + (fwdExpr << a) | b | c + + thereby leaving b and c out as parseable alternatives. It is recommended that you + explicitly group the values inserted into the ``Forward``:: + + fwdExpr << (a | b | c) + + Converting to use the '<<=' operator instead will avoid this problem. + + See :class:`ParseResults.pprint` for an example of a recursive + parser created using ``Forward``. + """ + def __init__( self, other=None ): + super(Forward,self).__init__( other, savelist=False ) + + def __lshift__( self, other ): + if isinstance( other, basestring ): + other = ParserElement._literalStringClass(other) + self.expr = other + self.strRepr = None + self.mayIndexError = self.expr.mayIndexError + self.mayReturnEmpty = self.expr.mayReturnEmpty + self.setWhitespaceChars( self.expr.whiteChars ) + self.skipWhitespace = self.expr.skipWhitespace + self.saveAsList = self.expr.saveAsList + self.ignoreExprs.extend(self.expr.ignoreExprs) + return self + + def __ilshift__(self, other): + return self << other + + def leaveWhitespace( self ): + self.skipWhitespace = False + return self + + def streamline( self ): + if not self.streamlined: + self.streamlined = True + if self.expr is not None: + self.expr.streamline() + return self + + def validate( self, validateTrace=[] ): + if self not in validateTrace: + tmp = validateTrace[:]+[self] + if self.expr is not None: + self.expr.validate(tmp) + self.checkRecursion([]) + + def __str__( self ): + if hasattr(self,"name"): + return self.name + return self.__class__.__name__ + ": ..." + + # stubbed out for now - creates awful memory and perf issues + self._revertClass = self.__class__ + self.__class__ = _ForwardNoRecurse + try: + if self.expr is not None: + retString = _ustr(self.expr) + else: + retString = "None" + finally: + self.__class__ = self._revertClass + return self.__class__.__name__ + ": " + retString + + def copy(self): + if self.expr is not None: + return super(Forward,self).copy() + else: + ret = Forward() + ret <<= self + return ret + +class _ForwardNoRecurse(Forward): + def __str__( self ): + return "..." + +class TokenConverter(ParseElementEnhance): + """ + Abstract subclass of :class:`ParseExpression`, for converting parsed results. + """ + def __init__( self, expr, savelist=False ): + super(TokenConverter,self).__init__( expr )#, savelist ) + self.saveAsList = False + +class Combine(TokenConverter): + """Converter to concatenate all matching tokens to a single string. + By default, the matching patterns must also be contiguous in the + input string; this can be disabled by specifying + ``'adjacent=False'`` in the constructor. + + Example:: + + real = Word(nums) + '.' + Word(nums) + print(real.parseString('3.1416')) # -> ['3', '.', '1416'] + # will also erroneously match the following + print(real.parseString('3. 1416')) # -> ['3', '.', '1416'] + + real = Combine(Word(nums) + '.' + Word(nums)) + print(real.parseString('3.1416')) # -> ['3.1416'] + # no match when there are internal spaces + print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...) + """ + def __init__( self, expr, joinString="", adjacent=True ): + super(Combine,self).__init__( expr ) + # suppress whitespace-stripping in contained parse expressions, but re-enable it on the Combine itself + if adjacent: + self.leaveWhitespace() + self.adjacent = adjacent + self.skipWhitespace = True + self.joinString = joinString + self.callPreparse = True + + def ignore( self, other ): + if self.adjacent: + ParserElement.ignore(self, other) + else: + super( Combine, self).ignore( other ) + return self + + def postParse( self, instring, loc, tokenlist ): + retToks = tokenlist.copy() + del retToks[:] + retToks += ParseResults([ "".join(tokenlist._asStringList(self.joinString)) ], modal=self.modalResults) + + if self.resultsName and retToks.haskeys(): + return [ retToks ] + else: + return retToks + +class Group(TokenConverter): + """Converter to return the matched tokens as a list - useful for + returning tokens of :class:`ZeroOrMore` and :class:`OneOrMore` expressions. + + Example:: + + ident = Word(alphas) + num = Word(nums) + term = ident | num + func = ident + Optional(delimitedList(term)) + print(func.parseString("fn a,b,100")) # -> ['fn', 'a', 'b', '100'] + + func = ident + Group(Optional(delimitedList(term))) + print(func.parseString("fn a,b,100")) # -> ['fn', ['a', 'b', '100']] + """ + def __init__( self, expr ): + super(Group,self).__init__( expr ) + self.saveAsList = expr.saveAsList + + def postParse( self, instring, loc, tokenlist ): + return [ tokenlist ] + +class Dict(TokenConverter): + """Converter to return a repetitive expression as a list, but also + as a dictionary. Each element can also be referenced using the first + token in the expression as its key. Useful for tabular report + scraping when the first column can be used as a item key. + + Example:: + + data_word = Word(alphas) + label = data_word + FollowedBy(':') + attr_expr = Group(label + Suppress(':') + OneOrMore(data_word).setParseAction(' '.join)) + + text = "shape: SQUARE posn: upper left color: light blue texture: burlap" + attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) + + # print attributes as plain groups + print(OneOrMore(attr_expr).parseString(text).dump()) + + # instead of OneOrMore(expr), parse using Dict(OneOrMore(Group(expr))) - Dict will auto-assign names + result = Dict(OneOrMore(Group(attr_expr))).parseString(text) + print(result.dump()) + + # access named fields as dict entries, or output as dict + print(result['shape']) + print(result.asDict()) + + prints:: + + ['shape', 'SQUARE', 'posn', 'upper left', 'color', 'light blue', 'texture', 'burlap'] + [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] + - color: light blue + - posn: upper left + - shape: SQUARE + - texture: burlap + SQUARE + {'color': 'light blue', 'posn': 'upper left', 'texture': 'burlap', 'shape': 'SQUARE'} + + See more examples at :class:`ParseResults` of accessing fields by results name. + """ + def __init__( self, expr ): + super(Dict,self).__init__( expr ) + self.saveAsList = True + + def postParse( self, instring, loc, tokenlist ): + for i,tok in enumerate(tokenlist): + if len(tok) == 0: + continue + ikey = tok[0] + if isinstance(ikey,int): + ikey = _ustr(tok[0]).strip() + if len(tok)==1: + tokenlist[ikey] = _ParseResultsWithOffset("",i) + elif len(tok)==2 and not isinstance(tok[1],ParseResults): + tokenlist[ikey] = _ParseResultsWithOffset(tok[1],i) + else: + dictvalue = tok.copy() #ParseResults(i) + del dictvalue[0] + if len(dictvalue)!= 1 or (isinstance(dictvalue,ParseResults) and dictvalue.haskeys()): + tokenlist[ikey] = _ParseResultsWithOffset(dictvalue,i) + else: + tokenlist[ikey] = _ParseResultsWithOffset(dictvalue[0],i) + + if self.resultsName: + return [ tokenlist ] + else: + return tokenlist + + +class Suppress(TokenConverter): + """Converter for ignoring the results of a parsed expression. + + Example:: + + source = "a, b, c,d" + wd = Word(alphas) + wd_list1 = wd + ZeroOrMore(',' + wd) + print(wd_list1.parseString(source)) + + # often, delimiters that are useful during parsing are just in the + # way afterward - use Suppress to keep them out of the parsed output + wd_list2 = wd + ZeroOrMore(Suppress(',') + wd) + print(wd_list2.parseString(source)) + + prints:: + + ['a', ',', 'b', ',', 'c', ',', 'd'] + ['a', 'b', 'c', 'd'] + + (See also :class:`delimitedList`.) + """ + def postParse( self, instring, loc, tokenlist ): + return [] + + def suppress( self ): + return self + + +class OnlyOnce(object): + """Wrapper for parse actions, to ensure they are only called once. + """ + def __init__(self, methodCall): + self.callable = _trim_arity(methodCall) + self.called = False + def __call__(self,s,l,t): + if not self.called: + results = self.callable(s,l,t) + self.called = True + return results + raise ParseException(s,l,"") + def reset(self): + self.called = False + +def traceParseAction(f): + """Decorator for debugging parse actions. + + When the parse action is called, this decorator will print + ``">> entering method-name(line:<current_source_line>, <parse_location>, <matched_tokens>)"``. + When the parse action completes, the decorator will print + ``"<<"`` followed by the returned value, or any exception that the parse action raised. + + Example:: + + wd = Word(alphas) + + @traceParseAction + def remove_duplicate_chars(tokens): + return ''.join(sorted(set(''.join(tokens)))) + + wds = OneOrMore(wd).setParseAction(remove_duplicate_chars) + print(wds.parseString("slkdjs sld sldd sdlf sdljf")) + + prints:: + + >>entering remove_duplicate_chars(line: 'slkdjs sld sldd sdlf sdljf', 0, (['slkdjs', 'sld', 'sldd', 'sdlf', 'sdljf'], {})) + <<leaving remove_duplicate_chars (ret: 'dfjkls') + ['dfjkls'] + """ + f = _trim_arity(f) + def z(*paArgs): + thisFunc = f.__name__ + s,l,t = paArgs[-3:] + if len(paArgs)>3: + thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc + sys.stderr.write( ">>entering %s(line: '%s', %d, %r)\n" % (thisFunc,line(l,s),l,t) ) + try: + ret = f(*paArgs) + except Exception as exc: + sys.stderr.write( "<<leaving %s (exception: %s)\n" % (thisFunc,exc) ) + raise + sys.stderr.write( "<<leaving %s (ret: %r)\n" % (thisFunc,ret) ) + return ret + try: + z.__name__ = f.__name__ + except AttributeError: + pass + return z + +# +# global helpers +# +def delimitedList( expr, delim=",", combine=False ): + """Helper to define a delimited list of expressions - the delimiter + defaults to ','. By default, the list elements and delimiters can + have intervening whitespace, and comments, but this can be + overridden by passing ``combine=True`` in the constructor. If + ``combine`` is set to ``True``, the matching tokens are + returned as a single token string, with the delimiters included; + otherwise, the matching tokens are returned as a list of tokens, + with the delimiters suppressed. + + Example:: + + delimitedList(Word(alphas)).parseString("aa,bb,cc") # -> ['aa', 'bb', 'cc'] + delimitedList(Word(hexnums), delim=':', combine=True).parseString("AA:BB:CC:DD:EE") # -> ['AA:BB:CC:DD:EE'] + """ + dlName = _ustr(expr)+" ["+_ustr(delim)+" "+_ustr(expr)+"]..." + if combine: + return Combine( expr + ZeroOrMore( delim + expr ) ).setName(dlName) + else: + return ( expr + ZeroOrMore( Suppress( delim ) + expr ) ).setName(dlName) + +def countedArray( expr, intExpr=None ): + """Helper to define a counted list of expressions. + + This helper defines a pattern of the form:: + + integer expr expr expr... + + where the leading integer tells how many expr expressions follow. + The matched tokens returns the array of expr tokens as a list - the + leading count token is suppressed. + + If ``intExpr`` is specified, it should be a pyparsing expression + that produces an integer value. + + Example:: + + countedArray(Word(alphas)).parseString('2 ab cd ef') # -> ['ab', 'cd'] + + # in this parser, the leading integer value is given in binary, + # '10' indicating that 2 values are in the array + binaryConstant = Word('01').setParseAction(lambda t: int(t[0], 2)) + countedArray(Word(alphas), intExpr=binaryConstant).parseString('10 ab cd ef') # -> ['ab', 'cd'] + """ + arrayExpr = Forward() + def countFieldParseAction(s,l,t): + n = t[0] + arrayExpr << (n and Group(And([expr]*n)) or Group(empty)) + return [] + if intExpr is None: + intExpr = Word(nums).setParseAction(lambda t:int(t[0])) + else: + intExpr = intExpr.copy() + intExpr.setName("arrayLen") + intExpr.addParseAction(countFieldParseAction, callDuringTry=True) + return ( intExpr + arrayExpr ).setName('(len) ' + _ustr(expr) + '...') + +def _flatten(L): + ret = [] + for i in L: + if isinstance(i,list): + ret.extend(_flatten(i)) + else: + ret.append(i) + return ret + +def matchPreviousLiteral(expr): + """Helper to define an expression that is indirectly defined from + the tokens matched in a previous expression, that is, it looks for + a 'repeat' of a previous expression. For example:: + + first = Word(nums) + second = matchPreviousLiteral(first) + matchExpr = first + ":" + second + + will match ``"1:1"``, but not ``"1:2"``. Because this + matches a previous literal, will also match the leading + ``"1:1"`` in ``"1:10"``. If this is not desired, use + :class:`matchPreviousExpr`. Do *not* use with packrat parsing + enabled. + """ + rep = Forward() + def copyTokenToRepeater(s,l,t): + if t: + if len(t) == 1: + rep << t[0] + else: + # flatten t tokens + tflat = _flatten(t.asList()) + rep << And(Literal(tt) for tt in tflat) + else: + rep << Empty() + expr.addParseAction(copyTokenToRepeater, callDuringTry=True) + rep.setName('(prev) ' + _ustr(expr)) + return rep + +def matchPreviousExpr(expr): + """Helper to define an expression that is indirectly defined from + the tokens matched in a previous expression, that is, it looks for + a 'repeat' of a previous expression. For example:: + + first = Word(nums) + second = matchPreviousExpr(first) + matchExpr = first + ":" + second + + will match ``"1:1"``, but not ``"1:2"``. Because this + matches by expressions, will *not* match the leading ``"1:1"`` + in ``"1:10"``; the expressions are evaluated first, and then + compared, so ``"1"`` is compared with ``"10"``. Do *not* use + with packrat parsing enabled. + """ + rep = Forward() + e2 = expr.copy() + rep <<= e2 + def copyTokenToRepeater(s,l,t): + matchTokens = _flatten(t.asList()) + def mustMatchTheseTokens(s,l,t): + theseTokens = _flatten(t.asList()) + if theseTokens != matchTokens: + raise ParseException("",0,"") + rep.setParseAction( mustMatchTheseTokens, callDuringTry=True ) + expr.addParseAction(copyTokenToRepeater, callDuringTry=True) + rep.setName('(prev) ' + _ustr(expr)) + return rep + +def _escapeRegexRangeChars(s): + #~ escape these chars: ^-] + for c in r"\^-]": + s = s.replace(c,_bslash+c) + s = s.replace("\n",r"\n") + s = s.replace("\t",r"\t") + return _ustr(s) + +def oneOf( strs, caseless=False, useRegex=True ): + """Helper to quickly define a set of alternative Literals, and makes + sure to do longest-first testing when there is a conflict, + regardless of the input order, but returns + a :class:`MatchFirst` for best performance. + + Parameters: + + - strs - a string of space-delimited literals, or a collection of + string literals + - caseless - (default= ``False``) - treat all literals as + caseless + - useRegex - (default= ``True``) - as an optimization, will + generate a Regex object; otherwise, will generate + a :class:`MatchFirst` object (if ``caseless=True``, or if + creating a :class:`Regex` raises an exception) + + Example:: + + comp_oper = oneOf("< = > <= >= !=") + var = Word(alphas) + number = Word(nums) + term = var | number + comparison_expr = term + comp_oper + term + print(comparison_expr.searchString("B = 12 AA=23 B<=AA AA>12")) + + prints:: + + [['B', '=', '12'], ['AA', '=', '23'], ['B', '<=', 'AA'], ['AA', '>', '12']] + """ + if caseless: + isequal = ( lambda a,b: a.upper() == b.upper() ) + masks = ( lambda a,b: b.upper().startswith(a.upper()) ) + parseElementClass = CaselessLiteral + else: + isequal = ( lambda a,b: a == b ) + masks = ( lambda a,b: b.startswith(a) ) + parseElementClass = Literal + + symbols = [] + if isinstance(strs,basestring): + symbols = strs.split() + elif isinstance(strs, Iterable): + symbols = list(strs) + else: + warnings.warn("Invalid argument to oneOf, expected string or iterable", + SyntaxWarning, stacklevel=2) + if not symbols: + return NoMatch() + + i = 0 + while i < len(symbols)-1: + cur = symbols[i] + for j,other in enumerate(symbols[i+1:]): + if ( isequal(other, cur) ): + del symbols[i+j+1] + break + elif ( masks(cur, other) ): + del symbols[i+j+1] + symbols.insert(i,other) + cur = other + break + else: + i += 1 + + if not caseless and useRegex: + #~ print (strs,"->", "|".join( [ _escapeRegexChars(sym) for sym in symbols] )) + try: + if len(symbols)==len("".join(symbols)): + return Regex( "[%s]" % "".join(_escapeRegexRangeChars(sym) for sym in symbols) ).setName(' | '.join(symbols)) + else: + return Regex( "|".join(re.escape(sym) for sym in symbols) ).setName(' | '.join(symbols)) + except Exception: + warnings.warn("Exception creating Regex for oneOf, building MatchFirst", + SyntaxWarning, stacklevel=2) + + + # last resort, just use MatchFirst + return MatchFirst(parseElementClass(sym) for sym in symbols).setName(' | '.join(symbols)) + +def dictOf( key, value ): + """Helper to easily and clearly define a dictionary by specifying + the respective patterns for the key and value. Takes care of + defining the :class:`Dict`, :class:`ZeroOrMore`, and + :class:`Group` tokens in the proper order. The key pattern + can include delimiting markers or punctuation, as long as they are + suppressed, thereby leaving the significant key text. The value + pattern can include named results, so that the :class:`Dict` results + can include named token fields. + + Example:: + + text = "shape: SQUARE posn: upper left color: light blue texture: burlap" + attr_expr = (label + Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join)) + print(OneOrMore(attr_expr).parseString(text).dump()) + + attr_label = label + attr_value = Suppress(':') + OneOrMore(data_word, stopOn=label).setParseAction(' '.join) + + # similar to Dict, but simpler call format + result = dictOf(attr_label, attr_value).parseString(text) + print(result.dump()) + print(result['shape']) + print(result.shape) # object attribute access works too + print(result.asDict()) + + prints:: + + [['shape', 'SQUARE'], ['posn', 'upper left'], ['color', 'light blue'], ['texture', 'burlap']] + - color: light blue + - posn: upper left + - shape: SQUARE + - texture: burlap + SQUARE + SQUARE + {'color': 'light blue', 'shape': 'SQUARE', 'posn': 'upper left', 'texture': 'burlap'} + """ + return Dict(OneOrMore(Group(key + value))) + +def originalTextFor(expr, asString=True): + """Helper to return the original, untokenized text for a given + expression. Useful to restore the parsed fields of an HTML start + tag into the raw tag text itself, or to revert separate tokens with + intervening whitespace back to the original matching input text. By + default, returns astring containing the original parsed text. + + If the optional ``asString`` argument is passed as + ``False``, then the return value is + a :class:`ParseResults` containing any results names that + were originally matched, and a single token containing the original + matched text from the input string. So if the expression passed to + :class:`originalTextFor` contains expressions with defined + results names, you must set ``asString`` to ``False`` if you + want to preserve those results name values. + + Example:: + + src = "this is test <b> bold <i>text</i> </b> normal text " + for tag in ("b","i"): + opener,closer = makeHTMLTags(tag) + patt = originalTextFor(opener + SkipTo(closer) + closer) + print(patt.searchString(src)[0]) + + prints:: + + ['<b> bold <i>text</i> </b>'] + ['<i>text</i>'] + """ + locMarker = Empty().setParseAction(lambda s,loc,t: loc) + endlocMarker = locMarker.copy() + endlocMarker.callPreparse = False + matchExpr = locMarker("_original_start") + expr + endlocMarker("_original_end") + if asString: + extractText = lambda s,l,t: s[t._original_start:t._original_end] + else: + def extractText(s,l,t): + t[:] = [s[t.pop('_original_start'):t.pop('_original_end')]] + matchExpr.setParseAction(extractText) + matchExpr.ignoreExprs = expr.ignoreExprs + return matchExpr + +def ungroup(expr): + """Helper to undo pyparsing's default grouping of And expressions, + even if all but one are non-empty. + """ + return TokenConverter(expr).setParseAction(lambda t:t[0]) + +def locatedExpr(expr): + """Helper to decorate a returned token with its starting and ending + locations in the input string. + + This helper adds the following results names: + + - locn_start = location where matched expression begins + - locn_end = location where matched expression ends + - value = the actual parsed results + + Be careful if the input text contains ``<TAB>`` characters, you + may want to call :class:`ParserElement.parseWithTabs` + + Example:: + + wd = Word(alphas) + for match in locatedExpr(wd).searchString("ljsdf123lksdjjf123lkkjj1222"): + print(match) + + prints:: + + [[0, 'ljsdf', 5]] + [[8, 'lksdjjf', 15]] + [[18, 'lkkjj', 23]] + """ + locator = Empty().setParseAction(lambda s,l,t: l) + return Group(locator("locn_start") + expr("value") + locator.copy().leaveWhitespace()("locn_end")) + + +# convenience constants for positional expressions +empty = Empty().setName("empty") +lineStart = LineStart().setName("lineStart") +lineEnd = LineEnd().setName("lineEnd") +stringStart = StringStart().setName("stringStart") +stringEnd = StringEnd().setName("stringEnd") + +_escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1]) +_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16))) +_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8))) +_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | CharsNotIn(r'\]', exact=1) +_charRange = Group(_singleChar + Suppress("-") + _singleChar) +_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]" + +def srange(s): + r"""Helper to easily define string ranges for use in Word + construction. Borrows syntax from regexp '[]' string range + definitions:: + + srange("[0-9]") -> "0123456789" + srange("[a-z]") -> "abcdefghijklmnopqrstuvwxyz" + srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_" + + The input string must be enclosed in []'s, and the returned string + is the expanded character set joined into a single string. The + values enclosed in the []'s may be: + + - a single character + - an escaped character with a leading backslash (such as ``\-`` + or ``\]``) + - an escaped hex character with a leading ``'\x'`` + (``\x21``, which is a ``'!'`` character) (``\0x##`` + is also supported for backwards compatibility) + - an escaped octal character with a leading ``'\0'`` + (``\041``, which is a ``'!'`` character) + - a range of any of the above, separated by a dash (``'a-z'``, + etc.) + - any combination of the above (``'aeiouy'``, + ``'a-zA-Z0-9_$'``, etc.) + """ + _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1)) + try: + return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body) + except Exception: + return "" + +def matchOnlyAtCol(n): + """Helper method for defining parse actions that require matching at + a specific column in the input text. + """ + def verifyCol(strg,locn,toks): + if col(locn,strg) != n: + raise ParseException(strg,locn,"matched token not at column %d" % n) + return verifyCol + +def replaceWith(replStr): + """Helper method for common parse actions that simply return + a literal value. Especially useful when used with + :class:`transformString<ParserElement.transformString>` (). + + Example:: + + num = Word(nums).setParseAction(lambda toks: int(toks[0])) + na = oneOf("N/A NA").setParseAction(replaceWith(math.nan)) + term = na | num + + OneOrMore(term).parseString("324 234 N/A 234") # -> [324, 234, nan, 234] + """ + return lambda s,l,t: [replStr] + +def removeQuotes(s,l,t): + """Helper parse action for removing quotation marks from parsed + quoted strings. + + Example:: + + # by default, quotation marks are included in parsed results + quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["'Now is the Winter of our Discontent'"] + + # use removeQuotes to strip quotation marks from parsed results + quotedString.setParseAction(removeQuotes) + quotedString.parseString("'Now is the Winter of our Discontent'") # -> ["Now is the Winter of our Discontent"] + """ + return t[0][1:-1] + +def tokenMap(func, *args): + """Helper to define a parse action by mapping a function to all + elements of a ParseResults list. If any additional args are passed, + they are forwarded to the given function as additional arguments + after the token, as in + ``hex_integer = Word(hexnums).setParseAction(tokenMap(int, 16))``, + which will convert the parsed data to an integer using base 16. + + Example (compare the last to example in :class:`ParserElement.transformString`:: + + hex_ints = OneOrMore(Word(hexnums)).setParseAction(tokenMap(int, 16)) + hex_ints.runTests(''' + 00 11 22 aa FF 0a 0d 1a + ''') + + upperword = Word(alphas).setParseAction(tokenMap(str.upper)) + OneOrMore(upperword).runTests(''' + my kingdom for a horse + ''') + + wd = Word(alphas).setParseAction(tokenMap(str.title)) + OneOrMore(wd).setParseAction(' '.join).runTests(''' + now is the winter of our discontent made glorious summer by this sun of york + ''') + + prints:: + + 00 11 22 aa FF 0a 0d 1a + [0, 17, 34, 170, 255, 10, 13, 26] + + my kingdom for a horse + ['MY', 'KINGDOM', 'FOR', 'A', 'HORSE'] + + now is the winter of our discontent made glorious summer by this sun of york + ['Now Is The Winter Of Our Discontent Made Glorious Summer By This Sun Of York'] + """ + def pa(s,l,t): + return [func(tokn, *args) for tokn in t] + + try: + func_name = getattr(func, '__name__', + getattr(func, '__class__').__name__) + except Exception: + func_name = str(func) + pa.__name__ = func_name + + return pa + +upcaseTokens = tokenMap(lambda t: _ustr(t).upper()) +"""(Deprecated) Helper parse action to convert tokens to upper case. +Deprecated in favor of :class:`pyparsing_common.upcaseTokens`""" + +downcaseTokens = tokenMap(lambda t: _ustr(t).lower()) +"""(Deprecated) Helper parse action to convert tokens to lower case. +Deprecated in favor of :class:`pyparsing_common.downcaseTokens`""" + +def _makeTags(tagStr, xml): + """Internal helper to construct opening and closing tag expressions, given a tag name""" + if isinstance(tagStr,basestring): + resname = tagStr + tagStr = Keyword(tagStr, caseless=not xml) + else: + resname = tagStr.name + + tagAttrName = Word(alphas,alphanums+"_-:") + if (xml): + tagAttrValue = dblQuotedString.copy().setParseAction( removeQuotes ) + openTag = Suppress("<") + tagStr("tag") + \ + Dict(ZeroOrMore(Group( tagAttrName + Suppress("=") + tagAttrValue ))) + \ + Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") + else: + printablesLessRAbrack = "".join(c for c in printables if c not in ">") + tagAttrValue = quotedString.copy().setParseAction( removeQuotes ) | Word(printablesLessRAbrack) + openTag = Suppress("<") + tagStr("tag") + \ + Dict(ZeroOrMore(Group( tagAttrName.setParseAction(downcaseTokens) + \ + Optional( Suppress("=") + tagAttrValue ) ))) + \ + Optional("/",default=[False]).setResultsName("empty").setParseAction(lambda s,l,t:t[0]=='/') + Suppress(">") + closeTag = Combine(_L("</") + tagStr + ">") + + openTag = openTag.setResultsName("start"+"".join(resname.replace(":"," ").title().split())).setName("<%s>" % resname) + closeTag = closeTag.setResultsName("end"+"".join(resname.replace(":"," ").title().split())).setName("</%s>" % resname) + openTag.tag = resname + closeTag.tag = resname + return openTag, closeTag + +def makeHTMLTags(tagStr): + """Helper to construct opening and closing tag expressions for HTML, + given a tag name. Matches tags in either upper or lower case, + attributes with namespaces and with quoted or unquoted values. + + Example:: + + text = '<td>More info at the <a href="https://github.com/pyparsing/pyparsing/wiki">pyparsing</a> wiki page</td>' + # makeHTMLTags returns pyparsing expressions for the opening and + # closing tags as a 2-tuple + a,a_end = makeHTMLTags("A") + link_expr = a + SkipTo(a_end)("link_text") + a_end + + for link in link_expr.searchString(text): + # attributes in the <A> tag (like "href" shown here) are + # also accessible as named results + print(link.link_text, '->', link.href) + + prints:: + + pyparsing -> https://github.com/pyparsing/pyparsing/wiki + """ + return _makeTags( tagStr, False ) + +def makeXMLTags(tagStr): + """Helper to construct opening and closing tag expressions for XML, + given a tag name. Matches tags only in the given upper/lower case. + + Example: similar to :class:`makeHTMLTags` + """ + return _makeTags( tagStr, True ) + +def withAttribute(*args,**attrDict): + """Helper to create a validating parse action to be used with start + tags created with :class:`makeXMLTags` or + :class:`makeHTMLTags`. Use ``withAttribute`` to qualify + a starting tag with a required attribute value, to avoid false + matches on common tags such as ``<TD>`` or ``<DIV>``. + + Call ``withAttribute`` with a series of attribute names and + values. Specify the list of filter attributes names and values as: + + - keyword arguments, as in ``(align="right")``, or + - as an explicit dict with ``**`` operator, when an attribute + name is also a Python reserved word, as in ``**{"class":"Customer", "align":"right"}`` + - a list of name-value tuples, as in ``(("ns1:class", "Customer"), ("ns2:align","right"))`` + + For attribute names with a namespace prefix, you must use the second + form. Attribute names are matched insensitive to upper/lower case. + + If just testing for ``class`` (with or without a namespace), use + :class:`withClass`. + + To verify that the attribute exists, but without specifying a value, + pass ``withAttribute.ANY_VALUE`` as the value. + + Example:: + + html = ''' + <div> + Some text + <div type="grid">1 4 0 1 0</div> + <div type="graph">1,3 2,3 1,1</div> + <div>this has no type</div> + </div> + + ''' + div,div_end = makeHTMLTags("div") + + # only match div tag having a type attribute with value "grid" + div_grid = div().setParseAction(withAttribute(type="grid")) + grid_expr = div_grid + SkipTo(div | div_end)("body") + for grid_header in grid_expr.searchString(html): + print(grid_header.body) + + # construct a match with any div tag having a type attribute, regardless of the value + div_any_type = div().setParseAction(withAttribute(type=withAttribute.ANY_VALUE)) + div_expr = div_any_type + SkipTo(div | div_end)("body") + for div_header in div_expr.searchString(html): + print(div_header.body) + + prints:: + + 1 4 0 1 0 + + 1 4 0 1 0 + 1,3 2,3 1,1 + """ + if args: + attrs = args[:] + else: + attrs = attrDict.items() + attrs = [(k,v) for k,v in attrs] + def pa(s,l,tokens): + for attrName,attrValue in attrs: + if attrName not in tokens: + raise ParseException(s,l,"no matching attribute " + attrName) + if attrValue != withAttribute.ANY_VALUE and tokens[attrName] != attrValue: + raise ParseException(s,l,"attribute '%s' has value '%s', must be '%s'" % + (attrName, tokens[attrName], attrValue)) + return pa +withAttribute.ANY_VALUE = object() + +def withClass(classname, namespace=''): + """Simplified version of :class:`withAttribute` when + matching on a div class - made difficult because ``class`` is + a reserved word in Python. + + Example:: + + html = ''' + <div> + Some text + <div class="grid">1 4 0 1 0</div> + <div class="graph">1,3 2,3 1,1</div> + <div>this <div> has no class</div> + </div> + + ''' + div,div_end = makeHTMLTags("div") + div_grid = div().setParseAction(withClass("grid")) + + grid_expr = div_grid + SkipTo(div | div_end)("body") + for grid_header in grid_expr.searchString(html): + print(grid_header.body) + + div_any_type = div().setParseAction(withClass(withAttribute.ANY_VALUE)) + div_expr = div_any_type + SkipTo(div | div_end)("body") + for div_header in div_expr.searchString(html): + print(div_header.body) + + prints:: + + 1 4 0 1 0 + + 1 4 0 1 0 + 1,3 2,3 1,1 + """ + classattr = "%s:class" % namespace if namespace else "class" + return withAttribute(**{classattr : classname}) + +opAssoc = SimpleNamespace() +opAssoc.LEFT = object() +opAssoc.RIGHT = object() + +def infixNotation( baseExpr, opList, lpar=Suppress('('), rpar=Suppress(')') ): + """Helper method for constructing grammars of expressions made up of + operators working in a precedence hierarchy. Operators may be unary + or binary, left- or right-associative. Parse actions can also be + attached to operator expressions. The generated parser will also + recognize the use of parentheses to override operator precedences + (see example below). + + Note: if you define a deep operator list, you may see performance + issues when using infixNotation. See + :class:`ParserElement.enablePackrat` for a mechanism to potentially + improve your parser performance. + + Parameters: + - baseExpr - expression representing the most basic element for the + nested + - opList - list of tuples, one for each operator precedence level + in the expression grammar; each tuple is of the form ``(opExpr, + numTerms, rightLeftAssoc, parseAction)``, where: + + - opExpr is the pyparsing expression for the operator; may also + be a string, which will be converted to a Literal; if numTerms + is 3, opExpr is a tuple of two expressions, for the two + operators separating the 3 terms + - numTerms is the number of terms for this operator (must be 1, + 2, or 3) + - rightLeftAssoc is the indicator whether the operator is right + or left associative, using the pyparsing-defined constants + ``opAssoc.RIGHT`` and ``opAssoc.LEFT``. + - parseAction is the parse action to be associated with + expressions matching this operator expression (the parse action + tuple member may be omitted); if the parse action is passed + a tuple or list of functions, this is equivalent to calling + ``setParseAction(*fn)`` + (:class:`ParserElement.setParseAction`) + - lpar - expression for matching left-parentheses + (default= ``Suppress('(')``) + - rpar - expression for matching right-parentheses + (default= ``Suppress(')')``) + + Example:: + + # simple example of four-function arithmetic with ints and + # variable names + integer = pyparsing_common.signed_integer + varname = pyparsing_common.identifier + + arith_expr = infixNotation(integer | varname, + [ + ('-', 1, opAssoc.RIGHT), + (oneOf('* /'), 2, opAssoc.LEFT), + (oneOf('+ -'), 2, opAssoc.LEFT), + ]) + + arith_expr.runTests(''' + 5+3*6 + (5+3)*6 + -2--11 + ''', fullDump=False) + + prints:: + + 5+3*6 + [[5, '+', [3, '*', 6]]] + + (5+3)*6 + [[[5, '+', 3], '*', 6]] + + -2--11 + [[['-', 2], '-', ['-', 11]]] + """ + # captive version of FollowedBy that does not do parse actions or capture results names + class _FB(FollowedBy): + def parseImpl(self, instring, loc, doActions=True): + self.expr.tryParse(instring, loc) + return loc, [] + + ret = Forward() + lastExpr = baseExpr | ( lpar + ret + rpar ) + for i,operDef in enumerate(opList): + opExpr,arity,rightLeftAssoc,pa = (operDef + (None,))[:4] + termName = "%s term" % opExpr if arity < 3 else "%s%s term" % opExpr + if arity == 3: + if opExpr is None or len(opExpr) != 2: + raise ValueError( + "if numterms=3, opExpr must be a tuple or list of two expressions") + opExpr1, opExpr2 = opExpr + thisExpr = Forward().setName(termName) + if rightLeftAssoc == opAssoc.LEFT: + if arity == 1: + matchExpr = _FB(lastExpr + opExpr) + Group( lastExpr + OneOrMore( opExpr ) ) + elif arity == 2: + if opExpr is not None: + matchExpr = _FB(lastExpr + opExpr + lastExpr) + Group( lastExpr + OneOrMore( opExpr + lastExpr ) ) + else: + matchExpr = _FB(lastExpr+lastExpr) + Group( lastExpr + OneOrMore(lastExpr) ) + elif arity == 3: + matchExpr = _FB(lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr) + \ + Group( lastExpr + opExpr1 + lastExpr + opExpr2 + lastExpr ) + else: + raise ValueError("operator must be unary (1), binary (2), or ternary (3)") + elif rightLeftAssoc == opAssoc.RIGHT: + if arity == 1: + # try to avoid LR with this extra test + if not isinstance(opExpr, Optional): + opExpr = Optional(opExpr) + matchExpr = _FB(opExpr.expr + thisExpr) + Group( opExpr + thisExpr ) + elif arity == 2: + if opExpr is not None: + matchExpr = _FB(lastExpr + opExpr + thisExpr) + Group( lastExpr + OneOrMore( opExpr + thisExpr ) ) + else: + matchExpr = _FB(lastExpr + thisExpr) + Group( lastExpr + OneOrMore( thisExpr ) ) + elif arity == 3: + matchExpr = _FB(lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr) + \ + Group( lastExpr + opExpr1 + thisExpr + opExpr2 + thisExpr ) + else: + raise ValueError("operator must be unary (1), binary (2), or ternary (3)") + else: + raise ValueError("operator must indicate right or left associativity") + if pa: + if isinstance(pa, (tuple, list)): + matchExpr.setParseAction(*pa) + else: + matchExpr.setParseAction(pa) + thisExpr <<= ( matchExpr.setName(termName) | lastExpr ) + lastExpr = thisExpr + ret <<= lastExpr + return ret + +operatorPrecedence = infixNotation +"""(Deprecated) Former name of :class:`infixNotation`, will be +dropped in a future release.""" + +dblQuotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"').setName("string enclosed in double quotes") +sglQuotedString = Combine(Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("string enclosed in single quotes") +quotedString = Combine(Regex(r'"(?:[^"\n\r\\]|(?:"")|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*')+'"'| + Regex(r"'(?:[^'\n\r\\]|(?:'')|(?:\\(?:[^x]|x[0-9a-fA-F]+)))*")+"'").setName("quotedString using single or double quotes") +unicodeString = Combine(_L('u') + quotedString.copy()).setName("unicode string literal") + +def nestedExpr(opener="(", closer=")", content=None, ignoreExpr=quotedString.copy()): + """Helper method for defining nested lists enclosed in opening and + closing delimiters ("(" and ")" are the default). + + Parameters: + - opener - opening character for a nested list + (default= ``"("``); can also be a pyparsing expression + - closer - closing character for a nested list + (default= ``")"``); can also be a pyparsing expression + - content - expression for items within the nested lists + (default= ``None``) + - ignoreExpr - expression for ignoring opening and closing + delimiters (default= :class:`quotedString`) + + If an expression is not provided for the content argument, the + nested expression will capture all whitespace-delimited content + between delimiters as a list of separate values. + + Use the ``ignoreExpr`` argument to define expressions that may + contain opening or closing characters that should not be treated as + opening or closing characters for nesting, such as quotedString or + a comment expression. Specify multiple expressions using an + :class:`Or` or :class:`MatchFirst`. The default is + :class:`quotedString`, but if no expressions are to be ignored, then + pass ``None`` for this argument. + + Example:: + + data_type = oneOf("void int short long char float double") + decl_data_type = Combine(data_type + Optional(Word('*'))) + ident = Word(alphas+'_', alphanums+'_') + number = pyparsing_common.number + arg = Group(decl_data_type + ident) + LPAR,RPAR = map(Suppress, "()") + + code_body = nestedExpr('{', '}', ignoreExpr=(quotedString | cStyleComment)) + + c_function = (decl_data_type("type") + + ident("name") + + LPAR + Optional(delimitedList(arg), [])("args") + RPAR + + code_body("body")) + c_function.ignore(cStyleComment) + + source_code = ''' + int is_odd(int x) { + return (x%2); + } + + int dec_to_hex(char hchar) { + if (hchar >= '0' && hchar <= '9') { + return (ord(hchar)-ord('0')); + } else { + return (10+ord(hchar)-ord('A')); + } + } + ''' + for func in c_function.searchString(source_code): + print("%(name)s (%(type)s) args: %(args)s" % func) + + + prints:: + + is_odd (int) args: [['int', 'x']] + dec_to_hex (int) args: [['char', 'hchar']] + """ + if opener == closer: + raise ValueError("opening and closing strings cannot be the same") + if content is None: + if isinstance(opener,basestring) and isinstance(closer,basestring): + if len(opener) == 1 and len(closer)==1: + if ignoreExpr is not None: + content = (Combine(OneOrMore(~ignoreExpr + + CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS,exact=1)) + ).setParseAction(lambda t:t[0].strip())) + else: + content = (empty.copy()+CharsNotIn(opener+closer+ParserElement.DEFAULT_WHITE_CHARS + ).setParseAction(lambda t:t[0].strip())) + else: + if ignoreExpr is not None: + content = (Combine(OneOrMore(~ignoreExpr + + ~Literal(opener) + ~Literal(closer) + + CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) + ).setParseAction(lambda t:t[0].strip())) + else: + content = (Combine(OneOrMore(~Literal(opener) + ~Literal(closer) + + CharsNotIn(ParserElement.DEFAULT_WHITE_CHARS,exact=1)) + ).setParseAction(lambda t:t[0].strip())) + else: + raise ValueError("opening and closing arguments must be strings if no content expression is given") + ret = Forward() + if ignoreExpr is not None: + ret <<= Group( Suppress(opener) + ZeroOrMore( ignoreExpr | ret | content ) + Suppress(closer) ) + else: + ret <<= Group( Suppress(opener) + ZeroOrMore( ret | content ) + Suppress(closer) ) + ret.setName('nested %s%s expression' % (opener,closer)) + return ret + +def indentedBlock(blockStatementExpr, indentStack, indent=True): + """Helper method for defining space-delimited indentation blocks, + such as those used to define block statements in Python source code. + + Parameters: + + - blockStatementExpr - expression defining syntax of statement that + is repeated within the indented block + - indentStack - list created by caller to manage indentation stack + (multiple statementWithIndentedBlock expressions within a single + grammar should share a common indentStack) + - indent - boolean indicating whether block must be indented beyond + the the current level; set to False for block of left-most + statements (default= ``True``) + + A valid block must contain at least one ``blockStatement``. + + Example:: + + data = ''' + def A(z): + A1 + B = 100 + G = A2 + A2 + A3 + B + def BB(a,b,c): + BB1 + def BBA(): + bba1 + bba2 + bba3 + C + D + def spam(x,y): + def eggs(z): + pass + ''' + + + indentStack = [1] + stmt = Forward() + + identifier = Word(alphas, alphanums) + funcDecl = ("def" + identifier + Group( "(" + Optional( delimitedList(identifier) ) + ")" ) + ":") + func_body = indentedBlock(stmt, indentStack) + funcDef = Group( funcDecl + func_body ) + + rvalue = Forward() + funcCall = Group(identifier + "(" + Optional(delimitedList(rvalue)) + ")") + rvalue << (funcCall | identifier | Word(nums)) + assignment = Group(identifier + "=" + rvalue) + stmt << ( funcDef | assignment | identifier ) + + module_body = OneOrMore(stmt) + + parseTree = module_body.parseString(data) + parseTree.pprint() + + prints:: + + [['def', + 'A', + ['(', 'z', ')'], + ':', + [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], + 'B', + ['def', + 'BB', + ['(', 'a', 'b', 'c', ')'], + ':', + [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], + 'C', + 'D', + ['def', + 'spam', + ['(', 'x', 'y', ')'], + ':', + [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] + """ + def checkPeerIndent(s,l,t): + if l >= len(s): return + curCol = col(l,s) + if curCol != indentStack[-1]: + if curCol > indentStack[-1]: + raise ParseFatalException(s,l,"illegal nesting") + raise ParseException(s,l,"not a peer entry") + + def checkSubIndent(s,l,t): + curCol = col(l,s) + if curCol > indentStack[-1]: + indentStack.append( curCol ) + else: + raise ParseException(s,l,"not a subentry") + + def checkUnindent(s,l,t): + if l >= len(s): return + curCol = col(l,s) + if not(indentStack and curCol < indentStack[-1] and curCol <= indentStack[-2]): + raise ParseException(s,l,"not an unindent") + indentStack.pop() + + NL = OneOrMore(LineEnd().setWhitespaceChars("\t ").suppress()) + INDENT = (Empty() + Empty().setParseAction(checkSubIndent)).setName('INDENT') + PEER = Empty().setParseAction(checkPeerIndent).setName('') + UNDENT = Empty().setParseAction(checkUnindent).setName('UNINDENT') + if indent: + smExpr = Group( Optional(NL) + + #~ FollowedBy(blockStatementExpr) + + INDENT + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) + UNDENT) + else: + smExpr = Group( Optional(NL) + + (OneOrMore( PEER + Group(blockStatementExpr) + Optional(NL) )) ) + blockStatementExpr.ignore(_bslash + LineEnd()) + return smExpr.setName('indented block') + +alphas8bit = srange(r"[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]") +punc8bit = srange(r"[\0xa1-\0xbf\0xd7\0xf7]") + +anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:").setName('any tag')) +_htmlEntityMap = dict(zip("gt lt amp nbsp quot apos".split(),'><& "\'')) +commonHTMLEntity = Regex('&(?P<entity>' + '|'.join(_htmlEntityMap.keys()) +");").setName("common HTML entity") +def replaceHTMLEntity(t): + """Helper parser action to replace common HTML entities with their special characters""" + return _htmlEntityMap.get(t.entity) + +# it's easy to get these comment structures wrong - they're very common, so may as well make them available +cStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/').setName("C style comment") +"Comment of the form ``/* ... */``" + +htmlComment = Regex(r"<!--[\s\S]*?-->").setName("HTML comment") +"Comment of the form ``<!-- ... -->``" + +restOfLine = Regex(r".*").leaveWhitespace().setName("rest of line") +dblSlashComment = Regex(r"//(?:\\\n|[^\n])*").setName("// comment") +"Comment of the form ``// ... (to end of line)``" + +cppStyleComment = Combine(Regex(r"/\*(?:[^*]|\*(?!/))*") + '*/'| dblSlashComment).setName("C++ style comment") +"Comment of either form :class:`cStyleComment` or :class:`dblSlashComment`" + +javaStyleComment = cppStyleComment +"Same as :class:`cppStyleComment`" + +pythonStyleComment = Regex(r"#.*").setName("Python style comment") +"Comment of the form ``# ... (to end of line)``" + +_commasepitem = Combine(OneOrMore(Word(printables, excludeChars=',') + + Optional( Word(" \t") + + ~Literal(",") + ~LineEnd() ) ) ).streamline().setName("commaItem") +commaSeparatedList = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("commaSeparatedList") +"""(Deprecated) Predefined expression of 1 or more printable words or +quoted strings, separated by commas. + +This expression is deprecated in favor of :class:`pyparsing_common.comma_separated_list`. +""" + +# some other useful expressions - using lower-case class name since we are really using this as a namespace +class pyparsing_common: + """Here are some common low-level expressions that may be useful in + jump-starting parser development: + + - numeric forms (:class:`integers<integer>`, :class:`reals<real>`, + :class:`scientific notation<sci_real>`) + - common :class:`programming identifiers<identifier>` + - network addresses (:class:`MAC<mac_address>`, + :class:`IPv4<ipv4_address>`, :class:`IPv6<ipv6_address>`) + - ISO8601 :class:`dates<iso8601_date>` and + :class:`datetime<iso8601_datetime>` + - :class:`UUID<uuid>` + - :class:`comma-separated list<comma_separated_list>` + + Parse actions: + + - :class:`convertToInteger` + - :class:`convertToFloat` + - :class:`convertToDate` + - :class:`convertToDatetime` + - :class:`stripHTMLTags` + - :class:`upcaseTokens` + - :class:`downcaseTokens` + + Example:: + + pyparsing_common.number.runTests(''' + # any int or real number, returned as the appropriate type + 100 + -100 + +100 + 3.14159 + 6.02e23 + 1e-12 + ''') + + pyparsing_common.fnumber.runTests(''' + # any int or real number, returned as float + 100 + -100 + +100 + 3.14159 + 6.02e23 + 1e-12 + ''') + + pyparsing_common.hex_integer.runTests(''' + # hex numbers + 100 + FF + ''') + + pyparsing_common.fraction.runTests(''' + # fractions + 1/2 + -3/4 + ''') + + pyparsing_common.mixed_integer.runTests(''' + # mixed fractions + 1 + 1/2 + -3/4 + 1-3/4 + ''') + + import uuid + pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) + pyparsing_common.uuid.runTests(''' + # uuid + 12345678-1234-5678-1234-567812345678 + ''') + + prints:: + + # any int or real number, returned as the appropriate type + 100 + [100] + + -100 + [-100] + + +100 + [100] + + 3.14159 + [3.14159] + + 6.02e23 + [6.02e+23] + + 1e-12 + [1e-12] + + # any int or real number, returned as float + 100 + [100.0] + + -100 + [-100.0] + + +100 + [100.0] + + 3.14159 + [3.14159] + + 6.02e23 + [6.02e+23] + + 1e-12 + [1e-12] + + # hex numbers + 100 + [256] + + FF + [255] + + # fractions + 1/2 + [0.5] + + -3/4 + [-0.75] + + # mixed fractions + 1 + [1] + + 1/2 + [0.5] + + -3/4 + [-0.75] + + 1-3/4 + [1.75] + + # uuid + 12345678-1234-5678-1234-567812345678 + [UUID('12345678-1234-5678-1234-567812345678')] + """ + + convertToInteger = tokenMap(int) + """ + Parse action for converting parsed integers to Python int + """ + + convertToFloat = tokenMap(float) + """ + Parse action for converting parsed numbers to Python float + """ + + integer = Word(nums).setName("integer").setParseAction(convertToInteger) + """expression that parses an unsigned integer, returns an int""" + + hex_integer = Word(hexnums).setName("hex integer").setParseAction(tokenMap(int,16)) + """expression that parses a hexadecimal integer, returns an int""" + + signed_integer = Regex(r'[+-]?\d+').setName("signed integer").setParseAction(convertToInteger) + """expression that parses an integer with optional leading sign, returns an int""" + + fraction = (signed_integer().setParseAction(convertToFloat) + '/' + signed_integer().setParseAction(convertToFloat)).setName("fraction") + """fractional expression of an integer divided by an integer, returns a float""" + fraction.addParseAction(lambda t: t[0]/t[-1]) + + mixed_integer = (fraction | signed_integer + Optional(Optional('-').suppress() + fraction)).setName("fraction or mixed integer-fraction") + """mixed integer of the form 'integer - fraction', with optional leading integer, returns float""" + mixed_integer.addParseAction(sum) + + real = Regex(r'[+-]?\d+\.\d*').setName("real number").setParseAction(convertToFloat) + """expression that parses a floating point number and returns a float""" + + sci_real = Regex(r'[+-]?\d+([eE][+-]?\d+|\.\d*([eE][+-]?\d+)?)').setName("real number with scientific notation").setParseAction(convertToFloat) + """expression that parses a floating point number with optional + scientific notation and returns a float""" + + # streamlining this expression makes the docs nicer-looking + number = (sci_real | real | signed_integer).streamline() + """any numeric expression, returns the corresponding Python type""" + + fnumber = Regex(r'[+-]?\d+\.?\d*([eE][+-]?\d+)?').setName("fnumber").setParseAction(convertToFloat) + """any int or real number, returned as float""" + + identifier = Word(alphas+'_', alphanums+'_').setName("identifier") + """typical code identifier (leading alpha or '_', followed by 0 or more alphas, nums, or '_')""" + + ipv4_address = Regex(r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})){3}').setName("IPv4 address") + "IPv4 address (``0.0.0.0 - 255.255.255.255``)" + + _ipv6_part = Regex(r'[0-9a-fA-F]{1,4}').setName("hex_integer") + _full_ipv6_address = (_ipv6_part + (':' + _ipv6_part)*7).setName("full IPv6 address") + _short_ipv6_address = (Optional(_ipv6_part + (':' + _ipv6_part)*(0,6)) + "::" + Optional(_ipv6_part + (':' + _ipv6_part)*(0,6))).setName("short IPv6 address") + _short_ipv6_address.addCondition(lambda t: sum(1 for tt in t if pyparsing_common._ipv6_part.matches(tt)) < 8) + _mixed_ipv6_address = ("::ffff:" + ipv4_address).setName("mixed IPv6 address") + ipv6_address = Combine((_full_ipv6_address | _mixed_ipv6_address | _short_ipv6_address).setName("IPv6 address")).setName("IPv6 address") + "IPv6 address (long, short, or mixed form)" + + mac_address = Regex(r'[0-9a-fA-F]{2}([:.-])[0-9a-fA-F]{2}(?:\1[0-9a-fA-F]{2}){4}').setName("MAC address") + "MAC address xx:xx:xx:xx:xx (may also have '-' or '.' delimiters)" + + @staticmethod + def convertToDate(fmt="%Y-%m-%d"): + """ + Helper to create a parse action for converting parsed date string to Python datetime.date + + Params - + - fmt - format to be passed to datetime.strptime (default= ``"%Y-%m-%d"``) + + Example:: + + date_expr = pyparsing_common.iso8601_date.copy() + date_expr.setParseAction(pyparsing_common.convertToDate()) + print(date_expr.parseString("1999-12-31")) + + prints:: + + [datetime.date(1999, 12, 31)] + """ + def cvt_fn(s,l,t): + try: + return datetime.strptime(t[0], fmt).date() + except ValueError as ve: + raise ParseException(s, l, str(ve)) + return cvt_fn + + @staticmethod + def convertToDatetime(fmt="%Y-%m-%dT%H:%M:%S.%f"): + """Helper to create a parse action for converting parsed + datetime string to Python datetime.datetime + + Params - + - fmt - format to be passed to datetime.strptime (default= ``"%Y-%m-%dT%H:%M:%S.%f"``) + + Example:: + + dt_expr = pyparsing_common.iso8601_datetime.copy() + dt_expr.setParseAction(pyparsing_common.convertToDatetime()) + print(dt_expr.parseString("1999-12-31T23:59:59.999")) + + prints:: + + [datetime.datetime(1999, 12, 31, 23, 59, 59, 999000)] + """ + def cvt_fn(s,l,t): + try: + return datetime.strptime(t[0], fmt) + except ValueError as ve: + raise ParseException(s, l, str(ve)) + return cvt_fn + + iso8601_date = Regex(r'(?P<year>\d{4})(?:-(?P<month>\d\d)(?:-(?P<day>\d\d))?)?').setName("ISO8601 date") + "ISO8601 date (``yyyy-mm-dd``)" + + iso8601_datetime = Regex(r'(?P<year>\d{4})-(?P<month>\d\d)-(?P<day>\d\d)[T ](?P<hour>\d\d):(?P<minute>\d\d)(:(?P<second>\d\d(\.\d*)?)?)?(?P<tz>Z|[+-]\d\d:?\d\d)?').setName("ISO8601 datetime") + "ISO8601 datetime (``yyyy-mm-ddThh:mm:ss.s(Z|+-00:00)``) - trailing seconds, milliseconds, and timezone optional; accepts separating ``'T'`` or ``' '``" + + uuid = Regex(r'[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}').setName("UUID") + "UUID (``xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx``)" + + _html_stripper = anyOpenTag.suppress() | anyCloseTag.suppress() + @staticmethod + def stripHTMLTags(s, l, tokens): + """Parse action to remove HTML tags from web page HTML source + + Example:: + + # strip HTML links from normal text + text = '<td>More info at the <a href="https://github.com/pyparsing/pyparsing/wiki">pyparsing</a> wiki page</td>' + td,td_end = makeHTMLTags("TD") + table_text = td + SkipTo(td_end).setParseAction(pyparsing_common.stripHTMLTags)("body") + td_end + print(table_text.parseString(text).body) + + Prints:: + + More info at the pyparsing wiki page + """ + return pyparsing_common._html_stripper.transformString(tokens[0]) + + _commasepitem = Combine(OneOrMore(~Literal(",") + ~LineEnd() + Word(printables, excludeChars=',') + + Optional( White(" \t") ) ) ).streamline().setName("commaItem") + comma_separated_list = delimitedList( Optional( quotedString.copy() | _commasepitem, default="") ).setName("comma separated list") + """Predefined expression of 1 or more printable words or quoted strings, separated by commas.""" + + upcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).upper())) + """Parse action to convert tokens to upper case.""" + + downcaseTokens = staticmethod(tokenMap(lambda t: _ustr(t).lower())) + """Parse action to convert tokens to lower case.""" + + +class _lazyclassproperty(object): + def __init__(self, fn): + self.fn = fn + self.__doc__ = fn.__doc__ + self.__name__ = fn.__name__ + + def __get__(self, obj, cls): + if cls is None: + cls = type(obj) + if not hasattr(cls, '_intern') or any(cls._intern is getattr(superclass, '_intern', []) for superclass in cls.__mro__[1:]): + cls._intern = {} + attrname = self.fn.__name__ + if attrname not in cls._intern: + cls._intern[attrname] = self.fn(cls) + return cls._intern[attrname] + + +class unicode_set(object): + """ + A set of Unicode characters, for language-specific strings for + ``alphas``, ``nums``, ``alphanums``, and ``printables``. + A unicode_set is defined by a list of ranges in the Unicode character + set, in a class attribute ``_ranges``, such as:: + + _ranges = [(0x0020, 0x007e), (0x00a0, 0x00ff),] + + A unicode set can also be defined using multiple inheritance of other unicode sets:: + + class CJK(Chinese, Japanese, Korean): + pass + """ + _ranges = [] + + @classmethod + def _get_chars_for_ranges(cls): + ret = [] + for cc in cls.__mro__: + if cc is unicode_set: + break + for rr in cc._ranges: + ret.extend(range(rr[0], rr[-1]+1)) + return [unichr(c) for c in sorted(set(ret))] + + @_lazyclassproperty + def printables(cls): + "all non-whitespace characters in this range" + return u''.join(filterfalse(unicode.isspace, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def alphas(cls): + "all alphabetic characters in this range" + return u''.join(filter(unicode.isalpha, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def nums(cls): + "all numeric digit characters in this range" + return u''.join(filter(unicode.isdigit, cls._get_chars_for_ranges())) + + @_lazyclassproperty + def alphanums(cls): + "all alphanumeric characters in this range" + return cls.alphas + cls.nums + + +class pyparsing_unicode(unicode_set): + """ + A namespace class for defining common language unicode_sets. + """ + _ranges = [(32, sys.maxunicode)] + + class Latin1(unicode_set): + "Unicode set for Latin-1 Unicode Character Range" + _ranges = [(0x0020, 0x007e), (0x00a0, 0x00ff),] + + class LatinA(unicode_set): + "Unicode set for Latin-A Unicode Character Range" + _ranges = [(0x0100, 0x017f),] + + class LatinB(unicode_set): + "Unicode set for Latin-B Unicode Character Range" + _ranges = [(0x0180, 0x024f),] + + class Greek(unicode_set): + "Unicode set for Greek Unicode Character Ranges" + _ranges = [ + (0x0370, 0x03ff), (0x1f00, 0x1f15), (0x1f18, 0x1f1d), (0x1f20, 0x1f45), (0x1f48, 0x1f4d), + (0x1f50, 0x1f57), (0x1f59,), (0x1f5b,), (0x1f5d,), (0x1f5f, 0x1f7d), (0x1f80, 0x1fb4), (0x1fb6, 0x1fc4), + (0x1fc6, 0x1fd3), (0x1fd6, 0x1fdb), (0x1fdd, 0x1fef), (0x1ff2, 0x1ff4), (0x1ff6, 0x1ffe), + ] + + class Cyrillic(unicode_set): + "Unicode set for Cyrillic Unicode Character Range" + _ranges = [(0x0400, 0x04ff)] + + class Chinese(unicode_set): + "Unicode set for Chinese Unicode Character Range" + _ranges = [(0x4e00, 0x9fff), (0x3000, 0x303f), ] + + class Japanese(unicode_set): + "Unicode set for Japanese Unicode Character Range, combining Kanji, Hiragana, and Katakana ranges" + _ranges = [ ] + + class Kanji(unicode_set): + "Unicode set for Kanji Unicode Character Range" + _ranges = [(0x4E00, 0x9Fbf), (0x3000, 0x303f), ] + + class Hiragana(unicode_set): + "Unicode set for Hiragana Unicode Character Range" + _ranges = [(0x3040, 0x309f), ] + + class Katakana(unicode_set): + "Unicode set for Katakana Unicode Character Range" + _ranges = [(0x30a0, 0x30ff), ] + + class Korean(unicode_set): + "Unicode set for Korean Unicode Character Range" + _ranges = [(0xac00, 0xd7af), (0x1100, 0x11ff), (0x3130, 0x318f), (0xa960, 0xa97f), (0xd7b0, 0xd7ff), (0x3000, 0x303f), ] + + class CJK(Chinese, Japanese, Korean): + "Unicode set for combined Chinese, Japanese, and Korean (CJK) Unicode Character Range" + pass + + class Thai(unicode_set): + "Unicode set for Thai Unicode Character Range" + _ranges = [(0x0e01, 0x0e3a), (0x0e3f, 0x0e5b), ] + + class Arabic(unicode_set): + "Unicode set for Arabic Unicode Character Range" + _ranges = [(0x0600, 0x061b), (0x061e, 0x06ff), (0x0700, 0x077f), ] + + class Hebrew(unicode_set): + "Unicode set for Hebrew Unicode Character Range" + _ranges = [(0x0590, 0x05ff), ] + + class Devanagari(unicode_set): + "Unicode set for Devanagari Unicode Character Range" + _ranges = [(0x0900, 0x097f), (0xa8e0, 0xa8ff)] + +pyparsing_unicode.Japanese._ranges = (pyparsing_unicode.Japanese.Kanji._ranges + + pyparsing_unicode.Japanese.Hiragana._ranges + + pyparsing_unicode.Japanese.Katakana._ranges) + +# define ranges in language character sets +if PY_3: + setattr(pyparsing_unicode, "العربية", pyparsing_unicode.Arabic) + setattr(pyparsing_unicode, "中文", pyparsing_unicode.Chinese) + setattr(pyparsing_unicode, "кириллица", pyparsing_unicode.Cyrillic) + setattr(pyparsing_unicode, "Ελληνικά", pyparsing_unicode.Greek) + setattr(pyparsing_unicode, "עִברִית", pyparsing_unicode.Hebrew) + setattr(pyparsing_unicode, "日本語", pyparsing_unicode.Japanese) + setattr(pyparsing_unicode.Japanese, "漢字", pyparsing_unicode.Japanese.Kanji) + setattr(pyparsing_unicode.Japanese, "カタカナ", pyparsing_unicode.Japanese.Katakana) + setattr(pyparsing_unicode.Japanese, "ひらがな", pyparsing_unicode.Japanese.Hiragana) + setattr(pyparsing_unicode, "한국어", pyparsing_unicode.Korean) + setattr(pyparsing_unicode, "ไทย", pyparsing_unicode.Thai) + setattr(pyparsing_unicode, "देवनागरी", pyparsing_unicode.Devanagari) + + +if __name__ == "__main__": + + selectToken = CaselessLiteral("select") + fromToken = CaselessLiteral("from") + + ident = Word(alphas, alphanums + "_$") + + columnName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) + columnNameList = Group(delimitedList(columnName)).setName("columns") + columnSpec = ('*' | columnNameList) + + tableName = delimitedList(ident, ".", combine=True).setParseAction(upcaseTokens) + tableNameList = Group(delimitedList(tableName)).setName("tables") + + simpleSQL = selectToken("command") + columnSpec("columns") + fromToken + tableNameList("tables") + + # demo runTests method, including embedded comments in test string + simpleSQL.runTests(""" + # '*' as column list and dotted table name + select * from SYS.XYZZY + + # caseless match on "SELECT", and casts back to "select" + SELECT * from XYZZY, ABC + + # list of column names, and mixed case SELECT keyword + Select AA,BB,CC from Sys.dual + + # multiple tables + Select A, B, C from Sys.dual, Table2 + + # invalid SELECT keyword - should fail + Xelect A, B, C from Sys.dual + + # incomplete command - should fail + Select + + # invalid column name - should fail + Select ^^^ frox Sys.dual + + """) + + pyparsing_common.number.runTests(""" + 100 + -100 + +100 + 3.14159 + 6.02e23 + 1e-12 + """) + + # any int or real number, returned as float + pyparsing_common.fnumber.runTests(""" + 100 + -100 + +100 + 3.14159 + 6.02e23 + 1e-12 + """) + + pyparsing_common.hex_integer.runTests(""" + 100 + FF + """) + + import uuid + pyparsing_common.uuid.setParseAction(tokenMap(uuid.UUID)) + pyparsing_common.uuid.runTests(""" + 12345678-1234-5678-1234-567812345678 + """) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/__init__.py new file mode 100644 index 0000000000..8ed060ff52 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/__init__.py @@ -0,0 +1,4 @@ +from .core import TomlError +from .parser import load, loads +from .test import translate_to_test +from .writer import dump, dumps \ No newline at end of file diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/core.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/core.py new file mode 100644 index 0000000000..c182734e1c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/core.py @@ -0,0 +1,13 @@ +class TomlError(RuntimeError): + def __init__(self, message, line, col, filename): + RuntimeError.__init__(self, message, line, col, filename) + self.message = message + self.line = line + self.col = col + self.filename = filename + + def __str__(self): + return '{}({}, {}): {}'.format(self.filename, self.line, self.col, self.message) + + def __repr__(self): + return 'TomlError({!r}, {!r}, {!r}, {!r})'.format(self.message, self.line, self.col, self.filename) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/parser.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/parser.py new file mode 100644 index 0000000000..3493aa644c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/parser.py @@ -0,0 +1,341 @@ +import string, re, sys, datetime +from .core import TomlError +from .utils import rfc3339_re, parse_rfc3339_re + +if sys.version_info[0] == 2: + _chr = unichr +else: + _chr = chr + +def load(fin, translate=lambda t, x, v: v, object_pairs_hook=dict): + return loads(fin.read(), translate=translate, object_pairs_hook=object_pairs_hook, filename=getattr(fin, 'name', repr(fin))) + +def loads(s, filename='<string>', translate=lambda t, x, v: v, object_pairs_hook=dict): + if isinstance(s, bytes): + s = s.decode('utf-8') + + s = s.replace('\r\n', '\n') + + root = object_pairs_hook() + tables = object_pairs_hook() + scope = root + + src = _Source(s, filename=filename) + ast = _p_toml(src, object_pairs_hook=object_pairs_hook) + + def error(msg): + raise TomlError(msg, pos[0], pos[1], filename) + + def process_value(v, object_pairs_hook): + kind, text, value, pos = v + if kind == 'str' and value.startswith('\n'): + value = value[1:] + if kind == 'array': + if value and any(k != value[0][0] for k, t, v, p in value[1:]): + error('array-type-mismatch') + value = [process_value(item, object_pairs_hook=object_pairs_hook) for item in value] + elif kind == 'table': + value = object_pairs_hook([(k, process_value(value[k], object_pairs_hook=object_pairs_hook)) for k in value]) + return translate(kind, text, value) + + for kind, value, pos in ast: + if kind == 'kv': + k, v = value + if k in scope: + error('duplicate_keys. Key "{0}" was used more than once.'.format(k)) + scope[k] = process_value(v, object_pairs_hook=object_pairs_hook) + else: + is_table_array = (kind == 'table_array') + cur = tables + for name in value[:-1]: + if isinstance(cur.get(name), list): + d, cur = cur[name][-1] + else: + d, cur = cur.setdefault(name, (None, object_pairs_hook())) + + scope = object_pairs_hook() + name = value[-1] + if name not in cur: + if is_table_array: + cur[name] = [(scope, object_pairs_hook())] + else: + cur[name] = (scope, object_pairs_hook()) + elif isinstance(cur[name], list): + if not is_table_array: + error('table_type_mismatch') + cur[name].append((scope, object_pairs_hook())) + else: + if is_table_array: + error('table_type_mismatch') + old_scope, next_table = cur[name] + if old_scope is not None: + error('duplicate_tables') + cur[name] = (scope, next_table) + + def merge_tables(scope, tables): + if scope is None: + scope = object_pairs_hook() + for k in tables: + if k in scope: + error('key_table_conflict') + v = tables[k] + if isinstance(v, list): + scope[k] = [merge_tables(sc, tbl) for sc, tbl in v] + else: + scope[k] = merge_tables(v[0], v[1]) + return scope + + return merge_tables(root, tables) + +class _Source: + def __init__(self, s, filename=None): + self.s = s + self._pos = (1, 1) + self._last = None + self._filename = filename + self.backtrack_stack = [] + + def last(self): + return self._last + + def pos(self): + return self._pos + + def fail(self): + return self._expect(None) + + def consume_dot(self): + if self.s: + self._last = self.s[0] + self.s = self[1:] + self._advance(self._last) + return self._last + return None + + def expect_dot(self): + return self._expect(self.consume_dot()) + + def consume_eof(self): + if not self.s: + self._last = '' + return True + return False + + def expect_eof(self): + return self._expect(self.consume_eof()) + + def consume(self, s): + if self.s.startswith(s): + self.s = self.s[len(s):] + self._last = s + self._advance(s) + return True + return False + + def expect(self, s): + return self._expect(self.consume(s)) + + def consume_re(self, re): + m = re.match(self.s) + if m: + self.s = self.s[len(m.group(0)):] + self._last = m + self._advance(m.group(0)) + return m + return None + + def expect_re(self, re): + return self._expect(self.consume_re(re)) + + def __enter__(self): + self.backtrack_stack.append((self.s, self._pos)) + + def __exit__(self, type, value, traceback): + if type is None: + self.backtrack_stack.pop() + else: + self.s, self._pos = self.backtrack_stack.pop() + return type == TomlError + + def commit(self): + self.backtrack_stack[-1] = (self.s, self._pos) + + def _expect(self, r): + if not r: + raise TomlError('msg', self._pos[0], self._pos[1], self._filename) + return r + + def _advance(self, s): + suffix_pos = s.rfind('\n') + if suffix_pos == -1: + self._pos = (self._pos[0], self._pos[1] + len(s)) + else: + self._pos = (self._pos[0] + s.count('\n'), len(s) - suffix_pos) + +_ews_re = re.compile(r'(?:[ \t]|#[^\n]*\n|#[^\n]*\Z|\n)*') +def _p_ews(s): + s.expect_re(_ews_re) + +_ws_re = re.compile(r'[ \t]*') +def _p_ws(s): + s.expect_re(_ws_re) + +_escapes = { 'b': '\b', 'n': '\n', 'r': '\r', 't': '\t', '"': '"', + '\\': '\\', 'f': '\f' } + +_basicstr_re = re.compile(r'[^"\\\000-\037]*') +_short_uni_re = re.compile(r'u([0-9a-fA-F]{4})') +_long_uni_re = re.compile(r'U([0-9a-fA-F]{8})') +_escapes_re = re.compile(r'[btnfr\"\\]') +_newline_esc_re = re.compile('\n[ \t\n]*') +def _p_basicstr_content(s, content=_basicstr_re): + res = [] + while True: + res.append(s.expect_re(content).group(0)) + if not s.consume('\\'): + break + if s.consume_re(_newline_esc_re): + pass + elif s.consume_re(_short_uni_re) or s.consume_re(_long_uni_re): + v = int(s.last().group(1), 16) + if 0xd800 <= v < 0xe000: + s.fail() + res.append(_chr(v)) + else: + s.expect_re(_escapes_re) + res.append(_escapes[s.last().group(0)]) + return ''.join(res) + +_key_re = re.compile(r'[0-9a-zA-Z-_]+') +def _p_key(s): + with s: + s.expect('"') + r = _p_basicstr_content(s, _basicstr_re) + s.expect('"') + return r + if s.consume('\''): + if s.consume('\'\''): + r = s.expect_re(_litstr_ml_re).group(0) + s.expect('\'\'\'') + else: + r = s.expect_re(_litstr_re).group(0) + s.expect('\'') + return r + return s.expect_re(_key_re).group(0) + +_float_re = re.compile(r'[+-]?(?:0|[1-9](?:_?\d)*)(?:\.\d(?:_?\d)*)?(?:[eE][+-]?(?:\d(?:_?\d)*))?') + +_basicstr_ml_re = re.compile(r'(?:""?(?!")|[^"\\\000-\011\013-\037])*') +_litstr_re = re.compile(r"[^'\000\010\012-\037]*") +_litstr_ml_re = re.compile(r"(?:(?:|'|'')(?:[^'\000-\010\013-\037]))*") +def _p_value(s, object_pairs_hook): + pos = s.pos() + + if s.consume('true'): + return 'bool', s.last(), True, pos + if s.consume('false'): + return 'bool', s.last(), False, pos + + if s.consume('"'): + if s.consume('""'): + r = _p_basicstr_content(s, _basicstr_ml_re) + s.expect('"""') + else: + r = _p_basicstr_content(s, _basicstr_re) + s.expect('"') + return 'str', r, r, pos + + if s.consume('\''): + if s.consume('\'\''): + r = s.expect_re(_litstr_ml_re).group(0) + s.expect('\'\'\'') + else: + r = s.expect_re(_litstr_re).group(0) + s.expect('\'') + return 'str', r, r, pos + + if s.consume_re(rfc3339_re): + m = s.last() + return 'datetime', m.group(0), parse_rfc3339_re(m), pos + + if s.consume_re(_float_re): + m = s.last().group(0) + r = m.replace('_','') + if '.' in m or 'e' in m or 'E' in m: + return 'float', m, float(r), pos + else: + return 'int', m, int(r, 10), pos + + if s.consume('['): + items = [] + with s: + while True: + _p_ews(s) + items.append(_p_value(s, object_pairs_hook=object_pairs_hook)) + s.commit() + _p_ews(s) + s.expect(',') + s.commit() + _p_ews(s) + s.expect(']') + return 'array', None, items, pos + + if s.consume('{'): + _p_ws(s) + items = object_pairs_hook() + if not s.consume('}'): + k = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + items[k] = _p_value(s, object_pairs_hook=object_pairs_hook) + _p_ws(s) + while s.consume(','): + _p_ws(s) + k = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + items[k] = _p_value(s, object_pairs_hook=object_pairs_hook) + _p_ws(s) + s.expect('}') + return 'table', None, items, pos + + s.fail() + +def _p_stmt(s, object_pairs_hook): + pos = s.pos() + if s.consume( '['): + is_array = s.consume('[') + _p_ws(s) + keys = [_p_key(s)] + _p_ws(s) + while s.consume('.'): + _p_ws(s) + keys.append(_p_key(s)) + _p_ws(s) + s.expect(']') + if is_array: + s.expect(']') + return 'table_array' if is_array else 'table', keys, pos + + key = _p_key(s) + _p_ws(s) + s.expect('=') + _p_ws(s) + value = _p_value(s, object_pairs_hook=object_pairs_hook) + return 'kv', (key, value), pos + +_stmtsep_re = re.compile(r'(?:[ \t]*(?:#[^\n]*)?\n)+[ \t]*') +def _p_toml(s, object_pairs_hook): + stmts = [] + _p_ews(s) + with s: + stmts.append(_p_stmt(s, object_pairs_hook=object_pairs_hook)) + while True: + s.commit() + s.expect_re(_stmtsep_re) + stmts.append(_p_stmt(s, object_pairs_hook=object_pairs_hook)) + _p_ews(s) + s.expect_eof() + return stmts diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/test.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/test.py new file mode 100644 index 0000000000..ec8abfc650 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/test.py @@ -0,0 +1,30 @@ +import datetime +from .utils import format_rfc3339 + +try: + _string_types = (str, unicode) + _int_types = (int, long) +except NameError: + _string_types = str + _int_types = int + +def translate_to_test(v): + if isinstance(v, dict): + return { k: translate_to_test(v) for k, v in v.items() } + if isinstance(v, list): + a = [translate_to_test(x) for x in v] + if v and isinstance(v[0], dict): + return a + else: + return {'type': 'array', 'value': a} + if isinstance(v, datetime.datetime): + return {'type': 'datetime', 'value': format_rfc3339(v)} + if isinstance(v, bool): + return {'type': 'bool', 'value': 'true' if v else 'false'} + if isinstance(v, _int_types): + return {'type': 'integer', 'value': str(v)} + if isinstance(v, float): + return {'type': 'float', 'value': '{:.17}'.format(v)} + if isinstance(v, _string_types): + return {'type': 'string', 'value': v} + raise RuntimeError('unexpected value: {!r}'.format(v)) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/utils.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/utils.py new file mode 100644 index 0000000000..636a680b06 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/utils.py @@ -0,0 +1,67 @@ +import datetime +import re + +rfc3339_re = re.compile(r'(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(\.\d+)?(?:Z|([+-]\d{2}):(\d{2}))') + +def parse_rfc3339(v): + m = rfc3339_re.match(v) + if not m or m.group(0) != v: + return None + return parse_rfc3339_re(m) + +def parse_rfc3339_re(m): + r = map(int, m.groups()[:6]) + if m.group(7): + micro = float(m.group(7)) + else: + micro = 0 + + if m.group(8): + g = int(m.group(8), 10) * 60 + int(m.group(9), 10) + tz = _TimeZone(datetime.timedelta(0, g * 60)) + else: + tz = _TimeZone(datetime.timedelta(0, 0)) + + y, m, d, H, M, S = r + return datetime.datetime(y, m, d, H, M, S, int(micro * 1000000), tz) + + +def format_rfc3339(v): + offs = v.utcoffset() + offs = int(offs.total_seconds()) // 60 if offs is not None else 0 + + if offs == 0: + suffix = 'Z' + else: + if offs > 0: + suffix = '+' + else: + suffix = '-' + offs = -offs + suffix = '{0}{1:02}:{2:02}'.format(suffix, offs // 60, offs % 60) + + if v.microsecond: + return v.strftime('%Y-%m-%dT%H:%M:%S.%f') + suffix + else: + return v.strftime('%Y-%m-%dT%H:%M:%S') + suffix + +class _TimeZone(datetime.tzinfo): + def __init__(self, offset): + self._offset = offset + + def utcoffset(self, dt): + return self._offset + + def dst(self, dt): + return None + + def tzname(self, dt): + m = self._offset.total_seconds() // 60 + if m < 0: + res = '-' + m = -m + else: + res = '+' + h = m // 60 + m = m - h * 60 + return '{}{:.02}{:.02}'.format(res, h, m) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/writer.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/writer.py new file mode 100644 index 0000000000..73b5089c24 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/pytoml/writer.py @@ -0,0 +1,106 @@ +from __future__ import unicode_literals +import io, datetime, math, string, sys + +from .utils import format_rfc3339 + +if sys.version_info[0] == 3: + long = int + unicode = str + + +def dumps(obj, sort_keys=False): + fout = io.StringIO() + dump(obj, fout, sort_keys=sort_keys) + return fout.getvalue() + + +_escapes = {'\n': 'n', '\r': 'r', '\\': '\\', '\t': 't', '\b': 'b', '\f': 'f', '"': '"'} + + +def _escape_string(s): + res = [] + start = 0 + + def flush(): + if start != i: + res.append(s[start:i]) + return i + 1 + + i = 0 + while i < len(s): + c = s[i] + if c in '"\\\n\r\t\b\f': + start = flush() + res.append('\\' + _escapes[c]) + elif ord(c) < 0x20: + start = flush() + res.append('\\u%04x' % ord(c)) + i += 1 + + flush() + return '"' + ''.join(res) + '"' + + +_key_chars = string.digits + string.ascii_letters + '-_' +def _escape_id(s): + if any(c not in _key_chars for c in s): + return _escape_string(s) + return s + + +def _format_value(v): + if isinstance(v, bool): + return 'true' if v else 'false' + if isinstance(v, int) or isinstance(v, long): + return unicode(v) + if isinstance(v, float): + if math.isnan(v) or math.isinf(v): + raise ValueError("{0} is not a valid TOML value".format(v)) + else: + return repr(v) + elif isinstance(v, unicode) or isinstance(v, bytes): + return _escape_string(v) + elif isinstance(v, datetime.datetime): + return format_rfc3339(v) + elif isinstance(v, list): + return '[{0}]'.format(', '.join(_format_value(obj) for obj in v)) + elif isinstance(v, dict): + return '{{{0}}}'.format(', '.join('{} = {}'.format(_escape_id(k), _format_value(obj)) for k, obj in v.items())) + else: + raise RuntimeError(v) + + +def dump(obj, fout, sort_keys=False): + tables = [((), obj, False)] + + while tables: + name, table, is_array = tables.pop() + if name: + section_name = '.'.join(_escape_id(c) for c in name) + if is_array: + fout.write('[[{0}]]\n'.format(section_name)) + else: + fout.write('[{0}]\n'.format(section_name)) + + table_keys = sorted(table.keys()) if sort_keys else table.keys() + new_tables = [] + has_kv = False + for k in table_keys: + v = table[k] + if isinstance(v, dict): + new_tables.append((name + (k,), v, False)) + elif isinstance(v, list) and v and all(isinstance(o, dict) for o in v): + new_tables.extend((name + (k,), d, True) for d in v) + elif v is None: + # based on mojombo's comment: https://github.com/toml-lang/toml/issues/146#issuecomment-25019344 + fout.write( + '#{} = null # To use: uncomment and replace null with value\n'.format(_escape_id(k))) + has_kv = True + else: + fout.write('{0} = {1}\n'.format(_escape_id(k), _format_value(v))) + has_kv = True + + tables.extend(reversed(new_tables)) + + if (name or has_kv) and tables: + fout.write('\n') diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/__init__.py new file mode 100644 index 0000000000..80c4ce1d21 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/__init__.py @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- + +# __ +# /__) _ _ _ _ _/ _ +# / ( (- (/ (/ (- _) / _) +# / + +""" +Requests HTTP Library +~~~~~~~~~~~~~~~~~~~~~ + +Requests is an HTTP library, written in Python, for human beings. Basic GET +usage: + + >>> import requests + >>> r = requests.get('https://www.python.org') + >>> r.status_code + 200 + >>> 'Python is a programming language' in r.content + True + +... or POST: + + >>> payload = dict(key1='value1', key2='value2') + >>> r = requests.post('https://httpbin.org/post', data=payload) + >>> print(r.text) + { + ... + "form": { + "key2": "value2", + "key1": "value1" + }, + ... + } + +The other HTTP methods are supported - see `requests.api`. Full documentation +is at <http://python-requests.org>. + +:copyright: (c) 2017 by Kenneth Reitz. +:license: Apache 2.0, see LICENSE for more details. +""" + +from pip._vendor import urllib3 +from pip._vendor import chardet +import warnings +from .exceptions import RequestsDependencyWarning + + +def check_compatibility(urllib3_version, chardet_version): + urllib3_version = urllib3_version.split('.') + assert urllib3_version != ['dev'] # Verify urllib3 isn't installed from git. + + # Sometimes, urllib3 only reports its version as 16.1. + if len(urllib3_version) == 2: + urllib3_version.append('0') + + # Check urllib3 for compatibility. + major, minor, patch = urllib3_version # noqa: F811 + major, minor, patch = int(major), int(minor), int(patch) + # urllib3 >= 1.21.1, <= 1.24 + assert major == 1 + assert minor >= 21 + assert minor <= 24 + + # Check chardet for compatibility. + major, minor, patch = chardet_version.split('.')[:3] + major, minor, patch = int(major), int(minor), int(patch) + # chardet >= 3.0.2, < 3.1.0 + assert major == 3 + assert minor < 1 + assert patch >= 2 + + +def _check_cryptography(cryptography_version): + # cryptography < 1.3.4 + try: + cryptography_version = list(map(int, cryptography_version.split('.'))) + except ValueError: + return + + if cryptography_version < [1, 3, 4]: + warning = 'Old version of cryptography ({}) may cause slowdown.'.format(cryptography_version) + warnings.warn(warning, RequestsDependencyWarning) + +# Check imported dependencies for compatibility. +try: + check_compatibility(urllib3.__version__, chardet.__version__) +except (AssertionError, ValueError): + warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported " + "version!".format(urllib3.__version__, chardet.__version__), + RequestsDependencyWarning) + +# Attempt to enable urllib3's SNI support, if possible +from pip._internal.utils.compat import WINDOWS +if not WINDOWS: + try: + from pip._vendor.urllib3.contrib import pyopenssl + pyopenssl.inject_into_urllib3() + + # Check cryptography version + from cryptography import __version__ as cryptography_version + _check_cryptography(cryptography_version) + except ImportError: + pass + +# urllib3's DependencyWarnings should be silenced. +from pip._vendor.urllib3.exceptions import DependencyWarning +warnings.simplefilter('ignore', DependencyWarning) + +from .__version__ import __title__, __description__, __url__, __version__ +from .__version__ import __build__, __author__, __author_email__, __license__ +from .__version__ import __copyright__, __cake__ + +from . import utils +from . import packages +from .models import Request, Response, PreparedRequest +from .api import request, get, head, post, patch, put, delete, options +from .sessions import session, Session +from .status_codes import codes +from .exceptions import ( + RequestException, Timeout, URLRequired, + TooManyRedirects, HTTPError, ConnectionError, + FileModeWarning, ConnectTimeout, ReadTimeout +) + +# Set default logging handler to avoid "No handler found" warnings. +import logging +from logging import NullHandler + +logging.getLogger(__name__).addHandler(NullHandler()) + +# FileModeWarnings go off per the default. +warnings.simplefilter('default', FileModeWarning, append=True) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/__version__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/__version__.py new file mode 100644 index 0000000000..f5b5d03671 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/__version__.py @@ -0,0 +1,14 @@ +# .-. .-. .-. . . .-. .-. .-. .-. +# |( |- |.| | | |- `-. | `-. +# ' ' `-' `-`.`-' `-' `-' ' `-' + +__title__ = 'requests' +__description__ = 'Python HTTP for Humans.' +__url__ = 'http://python-requests.org' +__version__ = '2.21.0' +__build__ = 0x022100 +__author__ = 'Kenneth Reitz' +__author_email__ = 'me@kennethreitz.org' +__license__ = 'Apache 2.0' +__copyright__ = 'Copyright 2018 Kenneth Reitz' +__cake__ = u'\u2728 \U0001f370 \u2728' diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/_internal_utils.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/_internal_utils.py new file mode 100644 index 0000000000..759d9a56ba --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/_internal_utils.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +""" +requests._internal_utils +~~~~~~~~~~~~~~ + +Provides utility functions that are consumed internally by Requests +which depend on extremely few external helpers (such as compat) +""" + +from .compat import is_py2, builtin_str, str + + +def to_native_string(string, encoding='ascii'): + """Given a string object, regardless of type, returns a representation of + that string in the native string type, encoding and decoding where + necessary. This assumes ASCII unless told otherwise. + """ + if isinstance(string, builtin_str): + out = string + else: + if is_py2: + out = string.encode(encoding) + else: + out = string.decode(encoding) + + return out + + +def unicode_is_ascii(u_string): + """Determine if unicode string only contains ASCII characters. + + :param str u_string: unicode string to check. Must be unicode + and not Python 2 `str`. + :rtype: bool + """ + assert isinstance(u_string, str) + try: + u_string.encode('ascii') + return True + except UnicodeEncodeError: + return False diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/adapters.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/adapters.py new file mode 100644 index 0000000000..c30e7c92dc --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/adapters.py @@ -0,0 +1,533 @@ +# -*- coding: utf-8 -*- + +""" +requests.adapters +~~~~~~~~~~~~~~~~~ + +This module contains the transport adapters that Requests uses to define +and maintain connections. +""" + +import os.path +import socket + +from pip._vendor.urllib3.poolmanager import PoolManager, proxy_from_url +from pip._vendor.urllib3.response import HTTPResponse +from pip._vendor.urllib3.util import parse_url +from pip._vendor.urllib3.util import Timeout as TimeoutSauce +from pip._vendor.urllib3.util.retry import Retry +from pip._vendor.urllib3.exceptions import ClosedPoolError +from pip._vendor.urllib3.exceptions import ConnectTimeoutError +from pip._vendor.urllib3.exceptions import HTTPError as _HTTPError +from pip._vendor.urllib3.exceptions import MaxRetryError +from pip._vendor.urllib3.exceptions import NewConnectionError +from pip._vendor.urllib3.exceptions import ProxyError as _ProxyError +from pip._vendor.urllib3.exceptions import ProtocolError +from pip._vendor.urllib3.exceptions import ReadTimeoutError +from pip._vendor.urllib3.exceptions import SSLError as _SSLError +from pip._vendor.urllib3.exceptions import ResponseError +from pip._vendor.urllib3.exceptions import LocationValueError + +from .models import Response +from .compat import urlparse, basestring +from .utils import (DEFAULT_CA_BUNDLE_PATH, extract_zipped_paths, + get_encoding_from_headers, prepend_scheme_if_needed, + get_auth_from_url, urldefragauth, select_proxy) +from .structures import CaseInsensitiveDict +from .cookies import extract_cookies_to_jar +from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError, + ProxyError, RetryError, InvalidSchema, InvalidProxyURL, + InvalidURL) +from .auth import _basic_auth_str + +try: + from pip._vendor.urllib3.contrib.socks import SOCKSProxyManager +except ImportError: + def SOCKSProxyManager(*args, **kwargs): + raise InvalidSchema("Missing dependencies for SOCKS support.") + +DEFAULT_POOLBLOCK = False +DEFAULT_POOLSIZE = 10 +DEFAULT_RETRIES = 0 +DEFAULT_POOL_TIMEOUT = None + + +class BaseAdapter(object): + """The Base Transport Adapter""" + + def __init__(self): + super(BaseAdapter, self).__init__() + + def send(self, request, stream=False, timeout=None, verify=True, + cert=None, proxies=None): + """Sends PreparedRequest object. Returns Response object. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param stream: (optional) Whether to stream the request content. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) <timeouts>` tuple. + :type timeout: float or tuple + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use + :param cert: (optional) Any user-provided SSL certificate to be trusted. + :param proxies: (optional) The proxies dictionary to apply to the request. + """ + raise NotImplementedError + + def close(self): + """Cleans up adapter specific items.""" + raise NotImplementedError + + +class HTTPAdapter(BaseAdapter): + """The built-in HTTP Adapter for urllib3. + + Provides a general-case interface for Requests sessions to contact HTTP and + HTTPS urls by implementing the Transport Adapter interface. This class will + usually be created by the :class:`Session <Session>` class under the + covers. + + :param pool_connections: The number of urllib3 connection pools to cache. + :param pool_maxsize: The maximum number of connections to save in the pool. + :param max_retries: The maximum number of retries each connection + should attempt. Note, this applies only to failed DNS lookups, socket + connections and connection timeouts, never to requests where data has + made it to the server. By default, Requests does not retry failed + connections. If you need granular control over the conditions under + which we retry a request, import urllib3's ``Retry`` class and pass + that instead. + :param pool_block: Whether the connection pool should block for connections. + + Usage:: + + >>> import requests + >>> s = requests.Session() + >>> a = requests.adapters.HTTPAdapter(max_retries=3) + >>> s.mount('http://', a) + """ + __attrs__ = ['max_retries', 'config', '_pool_connections', '_pool_maxsize', + '_pool_block'] + + def __init__(self, pool_connections=DEFAULT_POOLSIZE, + pool_maxsize=DEFAULT_POOLSIZE, max_retries=DEFAULT_RETRIES, + pool_block=DEFAULT_POOLBLOCK): + if max_retries == DEFAULT_RETRIES: + self.max_retries = Retry(0, read=False) + else: + self.max_retries = Retry.from_int(max_retries) + self.config = {} + self.proxy_manager = {} + + super(HTTPAdapter, self).__init__() + + self._pool_connections = pool_connections + self._pool_maxsize = pool_maxsize + self._pool_block = pool_block + + self.init_poolmanager(pool_connections, pool_maxsize, block=pool_block) + + def __getstate__(self): + return {attr: getattr(self, attr, None) for attr in self.__attrs__} + + def __setstate__(self, state): + # Can't handle by adding 'proxy_manager' to self.__attrs__ because + # self.poolmanager uses a lambda function, which isn't pickleable. + self.proxy_manager = {} + self.config = {} + + for attr, value in state.items(): + setattr(self, attr, value) + + self.init_poolmanager(self._pool_connections, self._pool_maxsize, + block=self._pool_block) + + def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK, **pool_kwargs): + """Initializes a urllib3 PoolManager. + + This method should not be called from user code, and is only + exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param connections: The number of urllib3 connection pools to cache. + :param maxsize: The maximum number of connections to save in the pool. + :param block: Block when no free connections are available. + :param pool_kwargs: Extra keyword arguments used to initialize the Pool Manager. + """ + # save these values for pickling + self._pool_connections = connections + self._pool_maxsize = maxsize + self._pool_block = block + + self.poolmanager = PoolManager(num_pools=connections, maxsize=maxsize, + block=block, strict=True, **pool_kwargs) + + def proxy_manager_for(self, proxy, **proxy_kwargs): + """Return urllib3 ProxyManager for the given proxy. + + This method should not be called from user code, and is only + exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param proxy: The proxy to return a urllib3 ProxyManager for. + :param proxy_kwargs: Extra keyword arguments used to configure the Proxy Manager. + :returns: ProxyManager + :rtype: urllib3.ProxyManager + """ + if proxy in self.proxy_manager: + manager = self.proxy_manager[proxy] + elif proxy.lower().startswith('socks'): + username, password = get_auth_from_url(proxy) + manager = self.proxy_manager[proxy] = SOCKSProxyManager( + proxy, + username=username, + password=password, + num_pools=self._pool_connections, + maxsize=self._pool_maxsize, + block=self._pool_block, + **proxy_kwargs + ) + else: + proxy_headers = self.proxy_headers(proxy) + manager = self.proxy_manager[proxy] = proxy_from_url( + proxy, + proxy_headers=proxy_headers, + num_pools=self._pool_connections, + maxsize=self._pool_maxsize, + block=self._pool_block, + **proxy_kwargs) + + return manager + + def cert_verify(self, conn, url, verify, cert): + """Verify a SSL certificate. This method should not be called from user + code, and is only exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param conn: The urllib3 connection object associated with the cert. + :param url: The requested URL. + :param verify: Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use + :param cert: The SSL certificate to verify. + """ + if url.lower().startswith('https') and verify: + + cert_loc = None + + # Allow self-specified cert location. + if verify is not True: + cert_loc = verify + + if not cert_loc: + cert_loc = extract_zipped_paths(DEFAULT_CA_BUNDLE_PATH) + + if not cert_loc or not os.path.exists(cert_loc): + raise IOError("Could not find a suitable TLS CA certificate bundle, " + "invalid path: {}".format(cert_loc)) + + conn.cert_reqs = 'CERT_REQUIRED' + + if not os.path.isdir(cert_loc): + conn.ca_certs = cert_loc + else: + conn.ca_cert_dir = cert_loc + else: + conn.cert_reqs = 'CERT_NONE' + conn.ca_certs = None + conn.ca_cert_dir = None + + if cert: + if not isinstance(cert, basestring): + conn.cert_file = cert[0] + conn.key_file = cert[1] + else: + conn.cert_file = cert + conn.key_file = None + if conn.cert_file and not os.path.exists(conn.cert_file): + raise IOError("Could not find the TLS certificate file, " + "invalid path: {}".format(conn.cert_file)) + if conn.key_file and not os.path.exists(conn.key_file): + raise IOError("Could not find the TLS key file, " + "invalid path: {}".format(conn.key_file)) + + def build_response(self, req, resp): + """Builds a :class:`Response <requests.Response>` object from a urllib3 + response. This should not be called from user code, and is only exposed + for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>` + + :param req: The :class:`PreparedRequest <PreparedRequest>` used to generate the response. + :param resp: The urllib3 response object. + :rtype: requests.Response + """ + response = Response() + + # Fallback to None if there's no status_code, for whatever reason. + response.status_code = getattr(resp, 'status', None) + + # Make headers case-insensitive. + response.headers = CaseInsensitiveDict(getattr(resp, 'headers', {})) + + # Set encoding. + response.encoding = get_encoding_from_headers(response.headers) + response.raw = resp + response.reason = response.raw.reason + + if isinstance(req.url, bytes): + response.url = req.url.decode('utf-8') + else: + response.url = req.url + + # Add new cookies from the server. + extract_cookies_to_jar(response.cookies, req, resp) + + # Give the Response some context. + response.request = req + response.connection = self + + return response + + def get_connection(self, url, proxies=None): + """Returns a urllib3 connection for the given URL. This should not be + called from user code, and is only exposed for use when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param url: The URL to connect to. + :param proxies: (optional) A Requests-style dictionary of proxies used on this request. + :rtype: urllib3.ConnectionPool + """ + proxy = select_proxy(url, proxies) + + if proxy: + proxy = prepend_scheme_if_needed(proxy, 'http') + proxy_url = parse_url(proxy) + if not proxy_url.host: + raise InvalidProxyURL("Please check proxy URL. It is malformed" + " and could be missing the host.") + proxy_manager = self.proxy_manager_for(proxy) + conn = proxy_manager.connection_from_url(url) + else: + # Only scheme should be lower case + parsed = urlparse(url) + url = parsed.geturl() + conn = self.poolmanager.connection_from_url(url) + + return conn + + def close(self): + """Disposes of any internal state. + + Currently, this closes the PoolManager and any active ProxyManager, + which closes any pooled connections. + """ + self.poolmanager.clear() + for proxy in self.proxy_manager.values(): + proxy.clear() + + def request_url(self, request, proxies): + """Obtain the url to use when making the final request. + + If the message is being sent through a HTTP proxy, the full URL has to + be used. Otherwise, we should only use the path portion of the URL. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs. + :rtype: str + """ + proxy = select_proxy(request.url, proxies) + scheme = urlparse(request.url).scheme + + is_proxied_http_request = (proxy and scheme != 'https') + using_socks_proxy = False + if proxy: + proxy_scheme = urlparse(proxy).scheme.lower() + using_socks_proxy = proxy_scheme.startswith('socks') + + url = request.path_url + if is_proxied_http_request and not using_socks_proxy: + url = urldefragauth(request.url) + + return url + + def add_headers(self, request, **kwargs): + """Add any headers needed by the connection. As of v2.0 this does + nothing by default, but is left for overriding by users that subclass + the :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param request: The :class:`PreparedRequest <PreparedRequest>` to add headers to. + :param kwargs: The keyword arguments from the call to send(). + """ + pass + + def proxy_headers(self, proxy): + """Returns a dictionary of the headers to add to any request sent + through a proxy. This works with urllib3 magic to ensure that they are + correctly sent to the proxy, rather than in a tunnelled request if + CONNECT is being used. + + This should not be called from user code, and is only exposed for use + when subclassing the + :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. + + :param proxy: The url of the proxy being used for this request. + :rtype: dict + """ + headers = {} + username, password = get_auth_from_url(proxy) + + if username: + headers['Proxy-Authorization'] = _basic_auth_str(username, + password) + + return headers + + def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None): + """Sends PreparedRequest object. Returns Response object. + + :param request: The :class:`PreparedRequest <PreparedRequest>` being sent. + :param stream: (optional) Whether to stream the request content. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) <timeouts>` tuple. + :type timeout: float or tuple or urllib3 Timeout object + :param verify: (optional) Either a boolean, in which case it controls whether + we verify the server's TLS certificate, or a string, in which case it + must be a path to a CA bundle to use + :param cert: (optional) Any user-provided SSL certificate to be trusted. + :param proxies: (optional) The proxies dictionary to apply to the request. + :rtype: requests.Response + """ + + try: + conn = self.get_connection(request.url, proxies) + except LocationValueError as e: + raise InvalidURL(e, request=request) + + self.cert_verify(conn, request.url, verify, cert) + url = self.request_url(request, proxies) + self.add_headers(request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies) + + chunked = not (request.body is None or 'Content-Length' in request.headers) + + if isinstance(timeout, tuple): + try: + connect, read = timeout + timeout = TimeoutSauce(connect=connect, read=read) + except ValueError as e: + # this may raise a string formatting error. + err = ("Invalid timeout {}. Pass a (connect, read) " + "timeout tuple, or a single float to set " + "both timeouts to the same value".format(timeout)) + raise ValueError(err) + elif isinstance(timeout, TimeoutSauce): + pass + else: + timeout = TimeoutSauce(connect=timeout, read=timeout) + + try: + if not chunked: + resp = conn.urlopen( + method=request.method, + url=url, + body=request.body, + headers=request.headers, + redirect=False, + assert_same_host=False, + preload_content=False, + decode_content=False, + retries=self.max_retries, + timeout=timeout + ) + + # Send the request. + else: + if hasattr(conn, 'proxy_pool'): + conn = conn.proxy_pool + + low_conn = conn._get_conn(timeout=DEFAULT_POOL_TIMEOUT) + + try: + low_conn.putrequest(request.method, + url, + skip_accept_encoding=True) + + for header, value in request.headers.items(): + low_conn.putheader(header, value) + + low_conn.endheaders() + + for i in request.body: + low_conn.send(hex(len(i))[2:].encode('utf-8')) + low_conn.send(b'\r\n') + low_conn.send(i) + low_conn.send(b'\r\n') + low_conn.send(b'0\r\n\r\n') + + # Receive the response from the server + try: + # For Python 2.7, use buffering of HTTP responses + r = low_conn.getresponse(buffering=True) + except TypeError: + # For compatibility with Python 3.3+ + r = low_conn.getresponse() + + resp = HTTPResponse.from_httplib( + r, + pool=conn, + connection=low_conn, + preload_content=False, + decode_content=False + ) + except: + # If we hit any problems here, clean up the connection. + # Then, reraise so that we can handle the actual exception. + low_conn.close() + raise + + except (ProtocolError, socket.error) as err: + raise ConnectionError(err, request=request) + + except MaxRetryError as e: + if isinstance(e.reason, ConnectTimeoutError): + # TODO: Remove this in 3.0.0: see #2811 + if not isinstance(e.reason, NewConnectionError): + raise ConnectTimeout(e, request=request) + + if isinstance(e.reason, ResponseError): + raise RetryError(e, request=request) + + if isinstance(e.reason, _ProxyError): + raise ProxyError(e, request=request) + + if isinstance(e.reason, _SSLError): + # This branch is for urllib3 v1.22 and later. + raise SSLError(e, request=request) + + raise ConnectionError(e, request=request) + + except ClosedPoolError as e: + raise ConnectionError(e, request=request) + + except _ProxyError as e: + raise ProxyError(e) + + except (_SSLError, _HTTPError) as e: + if isinstance(e, _SSLError): + # This branch is for urllib3 versions earlier than v1.22 + raise SSLError(e, request=request) + elif isinstance(e, ReadTimeoutError): + raise ReadTimeout(e, request=request) + else: + raise + + return self.build_response(request, resp) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/api.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/api.py new file mode 100644 index 0000000000..abada96d46 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/api.py @@ -0,0 +1,158 @@ +# -*- coding: utf-8 -*- + +""" +requests.api +~~~~~~~~~~~~ + +This module implements the Requests API. + +:copyright: (c) 2012 by Kenneth Reitz. +:license: Apache2, see LICENSE for more details. +""" + +from . import sessions + + +def request(method, url, **kwargs): + """Constructs and sends a :class:`Request <Request>`. + + :param method: method for the new :class:`Request` object. + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary, list of tuples or bytes to send + in the body of the :class:`Request`. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`. + :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`. + :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`. + :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``) for multipart encoding upload. + ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')`` + or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content-type'`` is a string + defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers + to add for the file. + :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth. + :param timeout: (optional) How many seconds to wait for the server to send data + before giving up, as a float, or a :ref:`(connect timeout, read + timeout) <timeouts>` tuple. + :type timeout: float or tuple + :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to ``True``. + :type allow_redirects: bool + :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy. + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use. Defaults to ``True``. + :param stream: (optional) if ``False``, the response content will be immediately downloaded. + :param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair. + :return: :class:`Response <Response>` object + :rtype: requests.Response + + Usage:: + + >>> import requests + >>> req = requests.request('GET', 'https://httpbin.org/get') + <Response [200]> + """ + + # By using the 'with' statement we are sure the session is closed, thus we + # avoid leaving sockets open which can trigger a ResourceWarning in some + # cases, and look like a memory leak in others. + with sessions.Session() as session: + return session.request(method=method, url=url, **kwargs) + + +def get(url, params=None, **kwargs): + r"""Sends a GET request. + + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary, list of tuples or bytes to send + in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return request('get', url, params=params, **kwargs) + + +def options(url, **kwargs): + r"""Sends an OPTIONS request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return request('options', url, **kwargs) + + +def head(url, **kwargs): + r"""Sends a HEAD request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', False) + return request('head', url, **kwargs) + + +def post(url, data=None, json=None, **kwargs): + r"""Sends a POST request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('post', url, data=data, json=json, **kwargs) + + +def put(url, data=None, **kwargs): + r"""Sends a PUT request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('put', url, data=data, **kwargs) + + +def patch(url, data=None, **kwargs): + r"""Sends a PATCH request. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json data to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('patch', url, data=data, **kwargs) + + +def delete(url, **kwargs): + r"""Sends a DELETE request. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :return: :class:`Response <Response>` object + :rtype: requests.Response + """ + + return request('delete', url, **kwargs) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/auth.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/auth.py new file mode 100644 index 0000000000..bdde51c7fd --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/auth.py @@ -0,0 +1,305 @@ +# -*- coding: utf-8 -*- + +""" +requests.auth +~~~~~~~~~~~~~ + +This module contains the authentication handlers for Requests. +""" + +import os +import re +import time +import hashlib +import threading +import warnings + +from base64 import b64encode + +from .compat import urlparse, str, basestring +from .cookies import extract_cookies_to_jar +from ._internal_utils import to_native_string +from .utils import parse_dict_header + +CONTENT_TYPE_FORM_URLENCODED = 'application/x-www-form-urlencoded' +CONTENT_TYPE_MULTI_PART = 'multipart/form-data' + + +def _basic_auth_str(username, password): + """Returns a Basic Auth string.""" + + # "I want us to put a big-ol' comment on top of it that + # says that this behaviour is dumb but we need to preserve + # it because people are relying on it." + # - Lukasa + # + # These are here solely to maintain backwards compatibility + # for things like ints. This will be removed in 3.0.0. + if not isinstance(username, basestring): + warnings.warn( + "Non-string usernames will no longer be supported in Requests " + "3.0.0. Please convert the object you've passed in ({!r}) to " + "a string or bytes object in the near future to avoid " + "problems.".format(username), + category=DeprecationWarning, + ) + username = str(username) + + if not isinstance(password, basestring): + warnings.warn( + "Non-string passwords will no longer be supported in Requests " + "3.0.0. Please convert the object you've passed in ({!r}) to " + "a string or bytes object in the near future to avoid " + "problems.".format(password), + category=DeprecationWarning, + ) + password = str(password) + # -- End Removal -- + + if isinstance(username, str): + username = username.encode('latin1') + + if isinstance(password, str): + password = password.encode('latin1') + + authstr = 'Basic ' + to_native_string( + b64encode(b':'.join((username, password))).strip() + ) + + return authstr + + +class AuthBase(object): + """Base class that all auth implementations derive from""" + + def __call__(self, r): + raise NotImplementedError('Auth hooks must be callable.') + + +class HTTPBasicAuth(AuthBase): + """Attaches HTTP Basic Authentication to the given Request object.""" + + def __init__(self, username, password): + self.username = username + self.password = password + + def __eq__(self, other): + return all([ + self.username == getattr(other, 'username', None), + self.password == getattr(other, 'password', None) + ]) + + def __ne__(self, other): + return not self == other + + def __call__(self, r): + r.headers['Authorization'] = _basic_auth_str(self.username, self.password) + return r + + +class HTTPProxyAuth(HTTPBasicAuth): + """Attaches HTTP Proxy Authentication to a given Request object.""" + + def __call__(self, r): + r.headers['Proxy-Authorization'] = _basic_auth_str(self.username, self.password) + return r + + +class HTTPDigestAuth(AuthBase): + """Attaches HTTP Digest Authentication to the given Request object.""" + + def __init__(self, username, password): + self.username = username + self.password = password + # Keep state in per-thread local storage + self._thread_local = threading.local() + + def init_per_thread_state(self): + # Ensure state is initialized just once per-thread + if not hasattr(self._thread_local, 'init'): + self._thread_local.init = True + self._thread_local.last_nonce = '' + self._thread_local.nonce_count = 0 + self._thread_local.chal = {} + self._thread_local.pos = None + self._thread_local.num_401_calls = None + + def build_digest_header(self, method, url): + """ + :rtype: str + """ + + realm = self._thread_local.chal['realm'] + nonce = self._thread_local.chal['nonce'] + qop = self._thread_local.chal.get('qop') + algorithm = self._thread_local.chal.get('algorithm') + opaque = self._thread_local.chal.get('opaque') + hash_utf8 = None + + if algorithm is None: + _algorithm = 'MD5' + else: + _algorithm = algorithm.upper() + # lambdas assume digest modules are imported at the top level + if _algorithm == 'MD5' or _algorithm == 'MD5-SESS': + def md5_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.md5(x).hexdigest() + hash_utf8 = md5_utf8 + elif _algorithm == 'SHA': + def sha_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha1(x).hexdigest() + hash_utf8 = sha_utf8 + elif _algorithm == 'SHA-256': + def sha256_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha256(x).hexdigest() + hash_utf8 = sha256_utf8 + elif _algorithm == 'SHA-512': + def sha512_utf8(x): + if isinstance(x, str): + x = x.encode('utf-8') + return hashlib.sha512(x).hexdigest() + hash_utf8 = sha512_utf8 + + KD = lambda s, d: hash_utf8("%s:%s" % (s, d)) + + if hash_utf8 is None: + return None + + # XXX not implemented yet + entdig = None + p_parsed = urlparse(url) + #: path is request-uri defined in RFC 2616 which should not be empty + path = p_parsed.path or "/" + if p_parsed.query: + path += '?' + p_parsed.query + + A1 = '%s:%s:%s' % (self.username, realm, self.password) + A2 = '%s:%s' % (method, path) + + HA1 = hash_utf8(A1) + HA2 = hash_utf8(A2) + + if nonce == self._thread_local.last_nonce: + self._thread_local.nonce_count += 1 + else: + self._thread_local.nonce_count = 1 + ncvalue = '%08x' % self._thread_local.nonce_count + s = str(self._thread_local.nonce_count).encode('utf-8') + s += nonce.encode('utf-8') + s += time.ctime().encode('utf-8') + s += os.urandom(8) + + cnonce = (hashlib.sha1(s).hexdigest()[:16]) + if _algorithm == 'MD5-SESS': + HA1 = hash_utf8('%s:%s:%s' % (HA1, nonce, cnonce)) + + if not qop: + respdig = KD(HA1, "%s:%s" % (nonce, HA2)) + elif qop == 'auth' or 'auth' in qop.split(','): + noncebit = "%s:%s:%s:%s:%s" % ( + nonce, ncvalue, cnonce, 'auth', HA2 + ) + respdig = KD(HA1, noncebit) + else: + # XXX handle auth-int. + return None + + self._thread_local.last_nonce = nonce + + # XXX should the partial digests be encoded too? + base = 'username="%s", realm="%s", nonce="%s", uri="%s", ' \ + 'response="%s"' % (self.username, realm, nonce, path, respdig) + if opaque: + base += ', opaque="%s"' % opaque + if algorithm: + base += ', algorithm="%s"' % algorithm + if entdig: + base += ', digest="%s"' % entdig + if qop: + base += ', qop="auth", nc=%s, cnonce="%s"' % (ncvalue, cnonce) + + return 'Digest %s' % (base) + + def handle_redirect(self, r, **kwargs): + """Reset num_401_calls counter on redirects.""" + if r.is_redirect: + self._thread_local.num_401_calls = 1 + + def handle_401(self, r, **kwargs): + """ + Takes the given response and tries digest-auth, if needed. + + :rtype: requests.Response + """ + + # If response is not 4xx, do not auth + # See https://github.com/requests/requests/issues/3772 + if not 400 <= r.status_code < 500: + self._thread_local.num_401_calls = 1 + return r + + if self._thread_local.pos is not None: + # Rewind the file position indicator of the body to where + # it was to resend the request. + r.request.body.seek(self._thread_local.pos) + s_auth = r.headers.get('www-authenticate', '') + + if 'digest' in s_auth.lower() and self._thread_local.num_401_calls < 2: + + self._thread_local.num_401_calls += 1 + pat = re.compile(r'digest ', flags=re.IGNORECASE) + self._thread_local.chal = parse_dict_header(pat.sub('', s_auth, count=1)) + + # Consume content and release the original connection + # to allow our new request to reuse the same one. + r.content + r.close() + prep = r.request.copy() + extract_cookies_to_jar(prep._cookies, r.request, r.raw) + prep.prepare_cookies(prep._cookies) + + prep.headers['Authorization'] = self.build_digest_header( + prep.method, prep.url) + _r = r.connection.send(prep, **kwargs) + _r.history.append(r) + _r.request = prep + + return _r + + self._thread_local.num_401_calls = 1 + return r + + def __call__(self, r): + # Initialize per-thread state, if needed + self.init_per_thread_state() + # If we have a saved nonce, skip the 401 + if self._thread_local.last_nonce: + r.headers['Authorization'] = self.build_digest_header(r.method, r.url) + try: + self._thread_local.pos = r.body.tell() + except AttributeError: + # In the case of HTTPDigestAuth being reused and the body of + # the previous request was a file-like object, pos has the + # file position of the previous body. Ensure it's set to + # None. + self._thread_local.pos = None + r.register_hook('response', self.handle_401) + r.register_hook('response', self.handle_redirect) + self._thread_local.num_401_calls = 1 + + return r + + def __eq__(self, other): + return all([ + self.username == getattr(other, 'username', None), + self.password == getattr(other, 'password', None) + ]) + + def __ne__(self, other): + return not self == other diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/certs.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/certs.py new file mode 100644 index 0000000000..06a594e58f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/certs.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +requests.certs +~~~~~~~~~~~~~~ + +This module returns the preferred default CA certificate bundle. There is +only one — the one from the certifi package. + +If you are packaging Requests, e.g., for a Linux distribution or a managed +environment, you can change the definition of where() to return a separately +packaged CA bundle. +""" +from pip._vendor.certifi import where + +if __name__ == '__main__': + print(where()) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/compat.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/compat.py new file mode 100644 index 0000000000..6a86893dc3 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/compat.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- + +""" +requests.compat +~~~~~~~~~~~~~~~ + +This module handles import compatibility issues between Python 2 and +Python 3. +""" + +from pip._vendor import chardet + +import sys + +# ------- +# Pythons +# ------- + +# Syntax sugar. +_ver = sys.version_info + +#: Python 2.x? +is_py2 = (_ver[0] == 2) + +#: Python 3.x? +is_py3 = (_ver[0] == 3) + +# Note: We've patched out simplejson support in pip because it prevents +# upgrading simplejson on Windows. +# try: +# import simplejson as json +# except (ImportError, SyntaxError): +# # simplejson does not support Python 3.2, it throws a SyntaxError +# # because of u'...' Unicode literals. +import json + +# --------- +# Specifics +# --------- + +if is_py2: + from urllib import ( + quote, unquote, quote_plus, unquote_plus, urlencode, getproxies, + proxy_bypass, proxy_bypass_environment, getproxies_environment) + from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag + from urllib2 import parse_http_list + import cookielib + from Cookie import Morsel + from StringIO import StringIO + from collections import Callable, Mapping, MutableMapping, OrderedDict + + + builtin_str = str + bytes = str + str = unicode + basestring = basestring + numeric_types = (int, long, float) + integer_types = (int, long) + +elif is_py3: + from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag + from urllib.request import parse_http_list, getproxies, proxy_bypass, proxy_bypass_environment, getproxies_environment + from http import cookiejar as cookielib + from http.cookies import Morsel + from io import StringIO + from collections import OrderedDict + from collections.abc import Callable, Mapping, MutableMapping + + builtin_str = str + str = str + bytes = bytes + basestring = (str, bytes) + numeric_types = (int, float) + integer_types = (int,) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/cookies.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/cookies.py new file mode 100644 index 0000000000..56fccd9c25 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/cookies.py @@ -0,0 +1,549 @@ +# -*- coding: utf-8 -*- + +""" +requests.cookies +~~~~~~~~~~~~~~~~ + +Compatibility code to be able to use `cookielib.CookieJar` with requests. + +requests.utils imports from here, so be careful with imports. +""" + +import copy +import time +import calendar + +from ._internal_utils import to_native_string +from .compat import cookielib, urlparse, urlunparse, Morsel, MutableMapping + +try: + import threading +except ImportError: + import dummy_threading as threading + + +class MockRequest(object): + """Wraps a `requests.Request` to mimic a `urllib2.Request`. + + The code in `cookielib.CookieJar` expects this interface in order to correctly + manage cookie policies, i.e., determine whether a cookie can be set, given the + domains of the request and the cookie. + + The original request object is read-only. The client is responsible for collecting + the new headers via `get_new_headers()` and interpreting them appropriately. You + probably want `get_cookie_header`, defined below. + """ + + def __init__(self, request): + self._r = request + self._new_headers = {} + self.type = urlparse(self._r.url).scheme + + def get_type(self): + return self.type + + def get_host(self): + return urlparse(self._r.url).netloc + + def get_origin_req_host(self): + return self.get_host() + + def get_full_url(self): + # Only return the response's URL if the user hadn't set the Host + # header + if not self._r.headers.get('Host'): + return self._r.url + # If they did set it, retrieve it and reconstruct the expected domain + host = to_native_string(self._r.headers['Host'], encoding='utf-8') + parsed = urlparse(self._r.url) + # Reconstruct the URL as we expect it + return urlunparse([ + parsed.scheme, host, parsed.path, parsed.params, parsed.query, + parsed.fragment + ]) + + def is_unverifiable(self): + return True + + def has_header(self, name): + return name in self._r.headers or name in self._new_headers + + def get_header(self, name, default=None): + return self._r.headers.get(name, self._new_headers.get(name, default)) + + def add_header(self, key, val): + """cookielib has no legitimate use for this method; add it back if you find one.""" + raise NotImplementedError("Cookie headers should be added with add_unredirected_header()") + + def add_unredirected_header(self, name, value): + self._new_headers[name] = value + + def get_new_headers(self): + return self._new_headers + + @property + def unverifiable(self): + return self.is_unverifiable() + + @property + def origin_req_host(self): + return self.get_origin_req_host() + + @property + def host(self): + return self.get_host() + + +class MockResponse(object): + """Wraps a `httplib.HTTPMessage` to mimic a `urllib.addinfourl`. + + ...what? Basically, expose the parsed HTTP headers from the server response + the way `cookielib` expects to see them. + """ + + def __init__(self, headers): + """Make a MockResponse for `cookielib` to read. + + :param headers: a httplib.HTTPMessage or analogous carrying the headers + """ + self._headers = headers + + def info(self): + return self._headers + + def getheaders(self, name): + self._headers.getheaders(name) + + +def extract_cookies_to_jar(jar, request, response): + """Extract the cookies from the response into a CookieJar. + + :param jar: cookielib.CookieJar (not necessarily a RequestsCookieJar) + :param request: our own requests.Request object + :param response: urllib3.HTTPResponse object + """ + if not (hasattr(response, '_original_response') and + response._original_response): + return + # the _original_response field is the wrapped httplib.HTTPResponse object, + req = MockRequest(request) + # pull out the HTTPMessage with the headers and put it in the mock: + res = MockResponse(response._original_response.msg) + jar.extract_cookies(res, req) + + +def get_cookie_header(jar, request): + """ + Produce an appropriate Cookie header string to be sent with `request`, or None. + + :rtype: str + """ + r = MockRequest(request) + jar.add_cookie_header(r) + return r.get_new_headers().get('Cookie') + + +def remove_cookie_by_name(cookiejar, name, domain=None, path=None): + """Unsets a cookie by name, by default over all domains and paths. + + Wraps CookieJar.clear(), is O(n). + """ + clearables = [] + for cookie in cookiejar: + if cookie.name != name: + continue + if domain is not None and domain != cookie.domain: + continue + if path is not None and path != cookie.path: + continue + clearables.append((cookie.domain, cookie.path, cookie.name)) + + for domain, path, name in clearables: + cookiejar.clear(domain, path, name) + + +class CookieConflictError(RuntimeError): + """There are two cookies that meet the criteria specified in the cookie jar. + Use .get and .set and include domain and path args in order to be more specific. + """ + + +class RequestsCookieJar(cookielib.CookieJar, MutableMapping): + """Compatibility class; is a cookielib.CookieJar, but exposes a dict + interface. + + This is the CookieJar we create by default for requests and sessions that + don't specify one, since some clients may expect response.cookies and + session.cookies to support dict operations. + + Requests does not use the dict interface internally; it's just for + compatibility with external client code. All requests code should work + out of the box with externally provided instances of ``CookieJar``, e.g. + ``LWPCookieJar`` and ``FileCookieJar``. + + Unlike a regular CookieJar, this class is pickleable. + + .. warning:: dictionary operations that are normally O(1) may be O(n). + """ + + def get(self, name, default=None, domain=None, path=None): + """Dict-like get() that also supports optional domain and path args in + order to resolve naming collisions from using one cookie jar over + multiple domains. + + .. warning:: operation is O(n), not O(1). + """ + try: + return self._find_no_duplicates(name, domain, path) + except KeyError: + return default + + def set(self, name, value, **kwargs): + """Dict-like set() that also supports optional domain and path args in + order to resolve naming collisions from using one cookie jar over + multiple domains. + """ + # support client code that unsets cookies by assignment of a None value: + if value is None: + remove_cookie_by_name(self, name, domain=kwargs.get('domain'), path=kwargs.get('path')) + return + + if isinstance(value, Morsel): + c = morsel_to_cookie(value) + else: + c = create_cookie(name, value, **kwargs) + self.set_cookie(c) + return c + + def iterkeys(self): + """Dict-like iterkeys() that returns an iterator of names of cookies + from the jar. + + .. seealso:: itervalues() and iteritems(). + """ + for cookie in iter(self): + yield cookie.name + + def keys(self): + """Dict-like keys() that returns a list of names of cookies from the + jar. + + .. seealso:: values() and items(). + """ + return list(self.iterkeys()) + + def itervalues(self): + """Dict-like itervalues() that returns an iterator of values of cookies + from the jar. + + .. seealso:: iterkeys() and iteritems(). + """ + for cookie in iter(self): + yield cookie.value + + def values(self): + """Dict-like values() that returns a list of values of cookies from the + jar. + + .. seealso:: keys() and items(). + """ + return list(self.itervalues()) + + def iteritems(self): + """Dict-like iteritems() that returns an iterator of name-value tuples + from the jar. + + .. seealso:: iterkeys() and itervalues(). + """ + for cookie in iter(self): + yield cookie.name, cookie.value + + def items(self): + """Dict-like items() that returns a list of name-value tuples from the + jar. Allows client-code to call ``dict(RequestsCookieJar)`` and get a + vanilla python dict of key value pairs. + + .. seealso:: keys() and values(). + """ + return list(self.iteritems()) + + def list_domains(self): + """Utility method to list all the domains in the jar.""" + domains = [] + for cookie in iter(self): + if cookie.domain not in domains: + domains.append(cookie.domain) + return domains + + def list_paths(self): + """Utility method to list all the paths in the jar.""" + paths = [] + for cookie in iter(self): + if cookie.path not in paths: + paths.append(cookie.path) + return paths + + def multiple_domains(self): + """Returns True if there are multiple domains in the jar. + Returns False otherwise. + + :rtype: bool + """ + domains = [] + for cookie in iter(self): + if cookie.domain is not None and cookie.domain in domains: + return True + domains.append(cookie.domain) + return False # there is only one domain in jar + + def get_dict(self, domain=None, path=None): + """Takes as an argument an optional domain and path and returns a plain + old Python dict of name-value pairs of cookies that meet the + requirements. + + :rtype: dict + """ + dictionary = {} + for cookie in iter(self): + if ( + (domain is None or cookie.domain == domain) and + (path is None or cookie.path == path) + ): + dictionary[cookie.name] = cookie.value + return dictionary + + def __contains__(self, name): + try: + return super(RequestsCookieJar, self).__contains__(name) + except CookieConflictError: + return True + + def __getitem__(self, name): + """Dict-like __getitem__() for compatibility with client code. Throws + exception if there are more than one cookie with name. In that case, + use the more explicit get() method instead. + + .. warning:: operation is O(n), not O(1). + """ + return self._find_no_duplicates(name) + + def __setitem__(self, name, value): + """Dict-like __setitem__ for compatibility with client code. Throws + exception if there is already a cookie of that name in the jar. In that + case, use the more explicit set() method instead. + """ + self.set(name, value) + + def __delitem__(self, name): + """Deletes a cookie given a name. Wraps ``cookielib.CookieJar``'s + ``remove_cookie_by_name()``. + """ + remove_cookie_by_name(self, name) + + def set_cookie(self, cookie, *args, **kwargs): + if hasattr(cookie.value, 'startswith') and cookie.value.startswith('"') and cookie.value.endswith('"'): + cookie.value = cookie.value.replace('\\"', '') + return super(RequestsCookieJar, self).set_cookie(cookie, *args, **kwargs) + + def update(self, other): + """Updates this jar with cookies from another CookieJar or dict-like""" + if isinstance(other, cookielib.CookieJar): + for cookie in other: + self.set_cookie(copy.copy(cookie)) + else: + super(RequestsCookieJar, self).update(other) + + def _find(self, name, domain=None, path=None): + """Requests uses this method internally to get cookie values. + + If there are conflicting cookies, _find arbitrarily chooses one. + See _find_no_duplicates if you want an exception thrown if there are + conflicting cookies. + + :param name: a string containing name of cookie + :param domain: (optional) string containing domain of cookie + :param path: (optional) string containing path of cookie + :return: cookie.value + """ + for cookie in iter(self): + if cookie.name == name: + if domain is None or cookie.domain == domain: + if path is None or cookie.path == path: + return cookie.value + + raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) + + def _find_no_duplicates(self, name, domain=None, path=None): + """Both ``__get_item__`` and ``get`` call this function: it's never + used elsewhere in Requests. + + :param name: a string containing name of cookie + :param domain: (optional) string containing domain of cookie + :param path: (optional) string containing path of cookie + :raises KeyError: if cookie is not found + :raises CookieConflictError: if there are multiple cookies + that match name and optionally domain and path + :return: cookie.value + """ + toReturn = None + for cookie in iter(self): + if cookie.name == name: + if domain is None or cookie.domain == domain: + if path is None or cookie.path == path: + if toReturn is not None: # if there are multiple cookies that meet passed in criteria + raise CookieConflictError('There are multiple cookies with name, %r' % (name)) + toReturn = cookie.value # we will eventually return this as long as no cookie conflict + + if toReturn: + return toReturn + raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) + + def __getstate__(self): + """Unlike a normal CookieJar, this class is pickleable.""" + state = self.__dict__.copy() + # remove the unpickleable RLock object + state.pop('_cookies_lock') + return state + + def __setstate__(self, state): + """Unlike a normal CookieJar, this class is pickleable.""" + self.__dict__.update(state) + if '_cookies_lock' not in self.__dict__: + self._cookies_lock = threading.RLock() + + def copy(self): + """Return a copy of this RequestsCookieJar.""" + new_cj = RequestsCookieJar() + new_cj.set_policy(self.get_policy()) + new_cj.update(self) + return new_cj + + def get_policy(self): + """Return the CookiePolicy instance used.""" + return self._policy + + +def _copy_cookie_jar(jar): + if jar is None: + return None + + if hasattr(jar, 'copy'): + # We're dealing with an instance of RequestsCookieJar + return jar.copy() + # We're dealing with a generic CookieJar instance + new_jar = copy.copy(jar) + new_jar.clear() + for cookie in jar: + new_jar.set_cookie(copy.copy(cookie)) + return new_jar + + +def create_cookie(name, value, **kwargs): + """Make a cookie from underspecified parameters. + + By default, the pair of `name` and `value` will be set for the domain '' + and sent on every request (this is sometimes called a "supercookie"). + """ + result = { + 'version': 0, + 'name': name, + 'value': value, + 'port': None, + 'domain': '', + 'path': '/', + 'secure': False, + 'expires': None, + 'discard': True, + 'comment': None, + 'comment_url': None, + 'rest': {'HttpOnly': None}, + 'rfc2109': False, + } + + badargs = set(kwargs) - set(result) + if badargs: + err = 'create_cookie() got unexpected keyword arguments: %s' + raise TypeError(err % list(badargs)) + + result.update(kwargs) + result['port_specified'] = bool(result['port']) + result['domain_specified'] = bool(result['domain']) + result['domain_initial_dot'] = result['domain'].startswith('.') + result['path_specified'] = bool(result['path']) + + return cookielib.Cookie(**result) + + +def morsel_to_cookie(morsel): + """Convert a Morsel object into a Cookie containing the one k/v pair.""" + + expires = None + if morsel['max-age']: + try: + expires = int(time.time() + int(morsel['max-age'])) + except ValueError: + raise TypeError('max-age: %s must be integer' % morsel['max-age']) + elif morsel['expires']: + time_template = '%a, %d-%b-%Y %H:%M:%S GMT' + expires = calendar.timegm( + time.strptime(morsel['expires'], time_template) + ) + return create_cookie( + comment=morsel['comment'], + comment_url=bool(morsel['comment']), + discard=False, + domain=morsel['domain'], + expires=expires, + name=morsel.key, + path=morsel['path'], + port=None, + rest={'HttpOnly': morsel['httponly']}, + rfc2109=False, + secure=bool(morsel['secure']), + value=morsel.value, + version=morsel['version'] or 0, + ) + + +def cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True): + """Returns a CookieJar from a key/value dictionary. + + :param cookie_dict: Dict of key/values to insert into CookieJar. + :param cookiejar: (optional) A cookiejar to add the cookies to. + :param overwrite: (optional) If False, will not replace cookies + already in the jar with new ones. + :rtype: CookieJar + """ + if cookiejar is None: + cookiejar = RequestsCookieJar() + + if cookie_dict is not None: + names_from_jar = [cookie.name for cookie in cookiejar] + for name in cookie_dict: + if overwrite or (name not in names_from_jar): + cookiejar.set_cookie(create_cookie(name, cookie_dict[name])) + + return cookiejar + + +def merge_cookies(cookiejar, cookies): + """Add cookies to cookiejar and returns a merged CookieJar. + + :param cookiejar: CookieJar object to add the cookies to. + :param cookies: Dictionary or CookieJar object to be added. + :rtype: CookieJar + """ + if not isinstance(cookiejar, cookielib.CookieJar): + raise ValueError('You can only merge into CookieJar') + + if isinstance(cookies, dict): + cookiejar = cookiejar_from_dict( + cookies, cookiejar=cookiejar, overwrite=False) + elif isinstance(cookies, cookielib.CookieJar): + try: + cookiejar.update(cookies) + except AttributeError: + for cookie_in_jar in cookies: + cookiejar.set_cookie(cookie_in_jar) + + return cookiejar diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/exceptions.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/exceptions.py new file mode 100644 index 0000000000..a91e1fd114 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/exceptions.py @@ -0,0 +1,126 @@ +# -*- coding: utf-8 -*- + +""" +requests.exceptions +~~~~~~~~~~~~~~~~~~~ + +This module contains the set of Requests' exceptions. +""" +from pip._vendor.urllib3.exceptions import HTTPError as BaseHTTPError + + +class RequestException(IOError): + """There was an ambiguous exception that occurred while handling your + request. + """ + + def __init__(self, *args, **kwargs): + """Initialize RequestException with `request` and `response` objects.""" + response = kwargs.pop('response', None) + self.response = response + self.request = kwargs.pop('request', None) + if (response is not None and not self.request and + hasattr(response, 'request')): + self.request = self.response.request + super(RequestException, self).__init__(*args, **kwargs) + + +class HTTPError(RequestException): + """An HTTP error occurred.""" + + +class ConnectionError(RequestException): + """A Connection error occurred.""" + + +class ProxyError(ConnectionError): + """A proxy error occurred.""" + + +class SSLError(ConnectionError): + """An SSL error occurred.""" + + +class Timeout(RequestException): + """The request timed out. + + Catching this error will catch both + :exc:`~requests.exceptions.ConnectTimeout` and + :exc:`~requests.exceptions.ReadTimeout` errors. + """ + + +class ConnectTimeout(ConnectionError, Timeout): + """The request timed out while trying to connect to the remote server. + + Requests that produced this error are safe to retry. + """ + + +class ReadTimeout(Timeout): + """The server did not send any data in the allotted amount of time.""" + + +class URLRequired(RequestException): + """A valid URL is required to make a request.""" + + +class TooManyRedirects(RequestException): + """Too many redirects.""" + + +class MissingSchema(RequestException, ValueError): + """The URL schema (e.g. http or https) is missing.""" + + +class InvalidSchema(RequestException, ValueError): + """See defaults.py for valid schemas.""" + + +class InvalidURL(RequestException, ValueError): + """The URL provided was somehow invalid.""" + + +class InvalidHeader(RequestException, ValueError): + """The header value provided was somehow invalid.""" + + +class InvalidProxyURL(InvalidURL): + """The proxy URL provided is invalid.""" + + +class ChunkedEncodingError(RequestException): + """The server declared chunked encoding but sent an invalid chunk.""" + + +class ContentDecodingError(RequestException, BaseHTTPError): + """Failed to decode response content""" + + +class StreamConsumedError(RequestException, TypeError): + """The content for this response was already consumed""" + + +class RetryError(RequestException): + """Custom retries logic failed""" + + +class UnrewindableBodyError(RequestException): + """Requests encountered an error when trying to rewind a body""" + +# Warnings + + +class RequestsWarning(Warning): + """Base warning for Requests.""" + pass + + +class FileModeWarning(RequestsWarning, DeprecationWarning): + """A file was opened in text mode, but Requests determined its binary length.""" + pass + + +class RequestsDependencyWarning(RequestsWarning): + """An imported dependency doesn't match the expected version range.""" + pass diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/help.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/help.py new file mode 100644 index 0000000000..3c3072ba14 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/help.py @@ -0,0 +1,119 @@ +"""Module containing bug report helper(s).""" +from __future__ import print_function + +import json +import platform +import sys +import ssl + +from pip._vendor import idna +from pip._vendor import urllib3 +from pip._vendor import chardet + +from . import __version__ as requests_version + +try: + from pip._vendor.urllib3.contrib import pyopenssl +except ImportError: + pyopenssl = None + OpenSSL = None + cryptography = None +else: + import OpenSSL + import cryptography + + +def _implementation(): + """Return a dict with the Python implementation and version. + + Provide both the name and the version of the Python implementation + currently running. For example, on CPython 2.7.5 it will return + {'name': 'CPython', 'version': '2.7.5'}. + + This function works best on CPython and PyPy: in particular, it probably + doesn't work for Jython or IronPython. Future investigation should be done + to work out the correct shape of the code for those platforms. + """ + implementation = platform.python_implementation() + + if implementation == 'CPython': + implementation_version = platform.python_version() + elif implementation == 'PyPy': + implementation_version = '%s.%s.%s' % (sys.pypy_version_info.major, + sys.pypy_version_info.minor, + sys.pypy_version_info.micro) + if sys.pypy_version_info.releaselevel != 'final': + implementation_version = ''.join([ + implementation_version, sys.pypy_version_info.releaselevel + ]) + elif implementation == 'Jython': + implementation_version = platform.python_version() # Complete Guess + elif implementation == 'IronPython': + implementation_version = platform.python_version() # Complete Guess + else: + implementation_version = 'Unknown' + + return {'name': implementation, 'version': implementation_version} + + +def info(): + """Generate information for a bug report.""" + try: + platform_info = { + 'system': platform.system(), + 'release': platform.release(), + } + except IOError: + platform_info = { + 'system': 'Unknown', + 'release': 'Unknown', + } + + implementation_info = _implementation() + urllib3_info = {'version': urllib3.__version__} + chardet_info = {'version': chardet.__version__} + + pyopenssl_info = { + 'version': None, + 'openssl_version': '', + } + if OpenSSL: + pyopenssl_info = { + 'version': OpenSSL.__version__, + 'openssl_version': '%x' % OpenSSL.SSL.OPENSSL_VERSION_NUMBER, + } + cryptography_info = { + 'version': getattr(cryptography, '__version__', ''), + } + idna_info = { + 'version': getattr(idna, '__version__', ''), + } + + system_ssl = ssl.OPENSSL_VERSION_NUMBER + system_ssl_info = { + 'version': '%x' % system_ssl if system_ssl is not None else '' + } + + return { + 'platform': platform_info, + 'implementation': implementation_info, + 'system_ssl': system_ssl_info, + 'using_pyopenssl': pyopenssl is not None, + 'pyOpenSSL': pyopenssl_info, + 'urllib3': urllib3_info, + 'chardet': chardet_info, + 'cryptography': cryptography_info, + 'idna': idna_info, + 'requests': { + 'version': requests_version, + }, + } + + +def main(): + """Pretty-print the bug information as JSON.""" + print(json.dumps(info(), sort_keys=True, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/hooks.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/hooks.py new file mode 100644 index 0000000000..7a51f212c8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/hooks.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- + +""" +requests.hooks +~~~~~~~~~~~~~~ + +This module provides the capabilities for the Requests hooks system. + +Available hooks: + +``response``: + The response generated from a Request. +""" +HOOKS = ['response'] + + +def default_hooks(): + return {event: [] for event in HOOKS} + +# TODO: response is the only one + + +def dispatch_hook(key, hooks, hook_data, **kwargs): + """Dispatches a hook dictionary on a given piece of data.""" + hooks = hooks or {} + hooks = hooks.get(key) + if hooks: + if hasattr(hooks, '__call__'): + hooks = [hooks] + for hook in hooks: + _hook_data = hook(hook_data, **kwargs) + if _hook_data is not None: + hook_data = _hook_data + return hook_data diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/models.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/models.py new file mode 100644 index 0000000000..0839957475 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/models.py @@ -0,0 +1,953 @@ +# -*- coding: utf-8 -*- + +""" +requests.models +~~~~~~~~~~~~~~~ + +This module contains the primary objects that power Requests. +""" + +import datetime +import sys + +# Import encoding now, to avoid implicit import later. +# Implicit import within threads may cause LookupError when standard library is in a ZIP, +# such as in Embedded Python. See https://github.com/requests/requests/issues/3578. +import encodings.idna + +from pip._vendor.urllib3.fields import RequestField +from pip._vendor.urllib3.filepost import encode_multipart_formdata +from pip._vendor.urllib3.util import parse_url +from pip._vendor.urllib3.exceptions import ( + DecodeError, ReadTimeoutError, ProtocolError, LocationParseError) + +from io import UnsupportedOperation +from .hooks import default_hooks +from .structures import CaseInsensitiveDict + +from .auth import HTTPBasicAuth +from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar +from .exceptions import ( + HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError, + ContentDecodingError, ConnectionError, StreamConsumedError) +from ._internal_utils import to_native_string, unicode_is_ascii +from .utils import ( + guess_filename, get_auth_from_url, requote_uri, + stream_decode_response_unicode, to_key_val_list, parse_header_links, + iter_slices, guess_json_utf, super_len, check_header_validity) +from .compat import ( + Callable, Mapping, + cookielib, urlunparse, urlsplit, urlencode, str, bytes, + is_py2, chardet, builtin_str, basestring) +from .compat import json as complexjson +from .status_codes import codes + +#: The set of HTTP status codes that indicate an automatically +#: processable redirect. +REDIRECT_STATI = ( + codes.moved, # 301 + codes.found, # 302 + codes.other, # 303 + codes.temporary_redirect, # 307 + codes.permanent_redirect, # 308 +) + +DEFAULT_REDIRECT_LIMIT = 30 +CONTENT_CHUNK_SIZE = 10 * 1024 +ITER_CHUNK_SIZE = 512 + + +class RequestEncodingMixin(object): + @property + def path_url(self): + """Build the path URL to use.""" + + url = [] + + p = urlsplit(self.url) + + path = p.path + if not path: + path = '/' + + url.append(path) + + query = p.query + if query: + url.append('?') + url.append(query) + + return ''.join(url) + + @staticmethod + def _encode_params(data): + """Encode parameters in a piece of data. + + Will successfully encode parameters when passed as a dict or a list of + 2-tuples. Order is retained if data is a list of 2-tuples but arbitrary + if parameters are supplied as a dict. + """ + + if isinstance(data, (str, bytes)): + return data + elif hasattr(data, 'read'): + return data + elif hasattr(data, '__iter__'): + result = [] + for k, vs in to_key_val_list(data): + if isinstance(vs, basestring) or not hasattr(vs, '__iter__'): + vs = [vs] + for v in vs: + if v is not None: + result.append( + (k.encode('utf-8') if isinstance(k, str) else k, + v.encode('utf-8') if isinstance(v, str) else v)) + return urlencode(result, doseq=True) + else: + return data + + @staticmethod + def _encode_files(files, data): + """Build the body for a multipart/form-data request. + + Will successfully encode files when passed as a dict or a list of + tuples. Order is retained if data is a list of tuples but arbitrary + if parameters are supplied as a dict. + The tuples may be 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype) + or 4-tuples (filename, fileobj, contentype, custom_headers). + """ + if (not files): + raise ValueError("Files must be provided.") + elif isinstance(data, basestring): + raise ValueError("Data must not be a string.") + + new_fields = [] + fields = to_key_val_list(data or {}) + files = to_key_val_list(files or {}) + + for field, val in fields: + if isinstance(val, basestring) or not hasattr(val, '__iter__'): + val = [val] + for v in val: + if v is not None: + # Don't call str() on bytestrings: in Py3 it all goes wrong. + if not isinstance(v, bytes): + v = str(v) + + new_fields.append( + (field.decode('utf-8') if isinstance(field, bytes) else field, + v.encode('utf-8') if isinstance(v, str) else v)) + + for (k, v) in files: + # support for explicit filename + ft = None + fh = None + if isinstance(v, (tuple, list)): + if len(v) == 2: + fn, fp = v + elif len(v) == 3: + fn, fp, ft = v + else: + fn, fp, ft, fh = v + else: + fn = guess_filename(v) or k + fp = v + + if isinstance(fp, (str, bytes, bytearray)): + fdata = fp + elif hasattr(fp, 'read'): + fdata = fp.read() + elif fp is None: + continue + else: + fdata = fp + + rf = RequestField(name=k, data=fdata, filename=fn, headers=fh) + rf.make_multipart(content_type=ft) + new_fields.append(rf) + + body, content_type = encode_multipart_formdata(new_fields) + + return body, content_type + + +class RequestHooksMixin(object): + def register_hook(self, event, hook): + """Properly register a hook.""" + + if event not in self.hooks: + raise ValueError('Unsupported event specified, with event name "%s"' % (event)) + + if isinstance(hook, Callable): + self.hooks[event].append(hook) + elif hasattr(hook, '__iter__'): + self.hooks[event].extend(h for h in hook if isinstance(h, Callable)) + + def deregister_hook(self, event, hook): + """Deregister a previously registered hook. + Returns True if the hook existed, False if not. + """ + + try: + self.hooks[event].remove(hook) + return True + except ValueError: + return False + + +class Request(RequestHooksMixin): + """A user-created :class:`Request <Request>` object. + + Used to prepare a :class:`PreparedRequest <PreparedRequest>`, which is sent to the server. + + :param method: HTTP method to use. + :param url: URL to send. + :param headers: dictionary of headers to send. + :param files: dictionary of {filename: fileobject} files to multipart upload. + :param data: the body to attach to the request. If a dictionary or + list of tuples ``[(key, value)]`` is provided, form-encoding will + take place. + :param json: json for the body to attach to the request (if files or data is not specified). + :param params: URL parameters to append to the URL. If a dictionary or + list of tuples ``[(key, value)]`` is provided, form-encoding will + take place. + :param auth: Auth handler or (user, pass) tuple. + :param cookies: dictionary or CookieJar of cookies to attach to this request. + :param hooks: dictionary of callback hooks, for internal usage. + + Usage:: + + >>> import requests + >>> req = requests.Request('GET', 'https://httpbin.org/get') + >>> req.prepare() + <PreparedRequest [GET]> + """ + + def __init__(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): + + # Default empty dicts for dict params. + data = [] if data is None else data + files = [] if files is None else files + headers = {} if headers is None else headers + params = {} if params is None else params + hooks = {} if hooks is None else hooks + + self.hooks = default_hooks() + for (k, v) in list(hooks.items()): + self.register_hook(event=k, hook=v) + + self.method = method + self.url = url + self.headers = headers + self.files = files + self.data = data + self.json = json + self.params = params + self.auth = auth + self.cookies = cookies + + def __repr__(self): + return '<Request [%s]>' % (self.method) + + def prepare(self): + """Constructs a :class:`PreparedRequest <PreparedRequest>` for transmission and returns it.""" + p = PreparedRequest() + p.prepare( + method=self.method, + url=self.url, + headers=self.headers, + files=self.files, + data=self.data, + json=self.json, + params=self.params, + auth=self.auth, + cookies=self.cookies, + hooks=self.hooks, + ) + return p + + +class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): + """The fully mutable :class:`PreparedRequest <PreparedRequest>` object, + containing the exact bytes that will be sent to the server. + + Generated from either a :class:`Request <Request>` object or manually. + + Usage:: + + >>> import requests + >>> req = requests.Request('GET', 'https://httpbin.org/get') + >>> r = req.prepare() + <PreparedRequest [GET]> + + >>> s = requests.Session() + >>> s.send(r) + <Response [200]> + """ + + def __init__(self): + #: HTTP verb to send to the server. + self.method = None + #: HTTP URL to send the request to. + self.url = None + #: dictionary of HTTP headers. + self.headers = None + # The `CookieJar` used to create the Cookie header will be stored here + # after prepare_cookies is called + self._cookies = None + #: request body to send to the server. + self.body = None + #: dictionary of callback hooks, for internal usage. + self.hooks = default_hooks() + #: integer denoting starting position of a readable file-like body. + self._body_position = None + + def prepare(self, + method=None, url=None, headers=None, files=None, data=None, + params=None, auth=None, cookies=None, hooks=None, json=None): + """Prepares the entire request with the given parameters.""" + + self.prepare_method(method) + self.prepare_url(url, params) + self.prepare_headers(headers) + self.prepare_cookies(cookies) + self.prepare_body(data, files, json) + self.prepare_auth(auth, url) + + # Note that prepare_auth must be last to enable authentication schemes + # such as OAuth to work on a fully prepared request. + + # This MUST go after prepare_auth. Authenticators could add a hook + self.prepare_hooks(hooks) + + def __repr__(self): + return '<PreparedRequest [%s]>' % (self.method) + + def copy(self): + p = PreparedRequest() + p.method = self.method + p.url = self.url + p.headers = self.headers.copy() if self.headers is not None else None + p._cookies = _copy_cookie_jar(self._cookies) + p.body = self.body + p.hooks = self.hooks + p._body_position = self._body_position + return p + + def prepare_method(self, method): + """Prepares the given HTTP method.""" + self.method = method + if self.method is not None: + self.method = to_native_string(self.method.upper()) + + @staticmethod + def _get_idna_encoded_host(host): + from pip._vendor import idna + + try: + host = idna.encode(host, uts46=True).decode('utf-8') + except idna.IDNAError: + raise UnicodeError + return host + + def prepare_url(self, url, params): + """Prepares the given HTTP URL.""" + #: Accept objects that have string representations. + #: We're unable to blindly call unicode/str functions + #: as this will include the bytestring indicator (b'') + #: on python 3.x. + #: https://github.com/requests/requests/pull/2238 + if isinstance(url, bytes): + url = url.decode('utf8') + else: + url = unicode(url) if is_py2 else str(url) + + # Remove leading whitespaces from url + url = url.lstrip() + + # Don't do any URL preparation for non-HTTP schemes like `mailto`, + # `data` etc to work around exceptions from `url_parse`, which + # handles RFC 3986 only. + if ':' in url and not url.lower().startswith('http'): + self.url = url + return + + # Support for unicode domain names and paths. + try: + scheme, auth, host, port, path, query, fragment = parse_url(url) + except LocationParseError as e: + raise InvalidURL(*e.args) + + if not scheme: + error = ("Invalid URL {0!r}: No schema supplied. Perhaps you meant http://{0}?") + error = error.format(to_native_string(url, 'utf8')) + + raise MissingSchema(error) + + if not host: + raise InvalidURL("Invalid URL %r: No host supplied" % url) + + # In general, we want to try IDNA encoding the hostname if the string contains + # non-ASCII characters. This allows users to automatically get the correct IDNA + # behaviour. For strings containing only ASCII characters, we need to also verify + # it doesn't start with a wildcard (*), before allowing the unencoded hostname. + if not unicode_is_ascii(host): + try: + host = self._get_idna_encoded_host(host) + except UnicodeError: + raise InvalidURL('URL has an invalid label.') + elif host.startswith(u'*'): + raise InvalidURL('URL has an invalid label.') + + # Carefully reconstruct the network location + netloc = auth or '' + if netloc: + netloc += '@' + netloc += host + if port: + netloc += ':' + str(port) + + # Bare domains aren't valid URLs. + if not path: + path = '/' + + if is_py2: + if isinstance(scheme, str): + scheme = scheme.encode('utf-8') + if isinstance(netloc, str): + netloc = netloc.encode('utf-8') + if isinstance(path, str): + path = path.encode('utf-8') + if isinstance(query, str): + query = query.encode('utf-8') + if isinstance(fragment, str): + fragment = fragment.encode('utf-8') + + if isinstance(params, (str, bytes)): + params = to_native_string(params) + + enc_params = self._encode_params(params) + if enc_params: + if query: + query = '%s&%s' % (query, enc_params) + else: + query = enc_params + + url = requote_uri(urlunparse([scheme, netloc, path, None, query, fragment])) + self.url = url + + def prepare_headers(self, headers): + """Prepares the given HTTP headers.""" + + self.headers = CaseInsensitiveDict() + if headers: + for header in headers.items(): + # Raise exception on invalid header value. + check_header_validity(header) + name, value = header + self.headers[to_native_string(name)] = value + + def prepare_body(self, data, files, json=None): + """Prepares the given HTTP body data.""" + + # Check if file, fo, generator, iterator. + # If not, run through normal process. + + # Nottin' on you. + body = None + content_type = None + + if not data and json is not None: + # urllib3 requires a bytes-like body. Python 2's json.dumps + # provides this natively, but Python 3 gives a Unicode string. + content_type = 'application/json' + body = complexjson.dumps(json) + if not isinstance(body, bytes): + body = body.encode('utf-8') + + is_stream = all([ + hasattr(data, '__iter__'), + not isinstance(data, (basestring, list, tuple, Mapping)) + ]) + + try: + length = super_len(data) + except (TypeError, AttributeError, UnsupportedOperation): + length = None + + if is_stream: + body = data + + if getattr(body, 'tell', None) is not None: + # Record the current file position before reading. + # This will allow us to rewind a file in the event + # of a redirect. + try: + self._body_position = body.tell() + except (IOError, OSError): + # This differentiates from None, allowing us to catch + # a failed `tell()` later when trying to rewind the body + self._body_position = object() + + if files: + raise NotImplementedError('Streamed bodies and files are mutually exclusive.') + + if length: + self.headers['Content-Length'] = builtin_str(length) + else: + self.headers['Transfer-Encoding'] = 'chunked' + else: + # Multi-part file uploads. + if files: + (body, content_type) = self._encode_files(files, data) + else: + if data: + body = self._encode_params(data) + if isinstance(data, basestring) or hasattr(data, 'read'): + content_type = None + else: + content_type = 'application/x-www-form-urlencoded' + + self.prepare_content_length(body) + + # Add content-type if it wasn't explicitly provided. + if content_type and ('content-type' not in self.headers): + self.headers['Content-Type'] = content_type + + self.body = body + + def prepare_content_length(self, body): + """Prepare Content-Length header based on request method and body""" + if body is not None: + length = super_len(body) + if length: + # If length exists, set it. Otherwise, we fallback + # to Transfer-Encoding: chunked. + self.headers['Content-Length'] = builtin_str(length) + elif self.method not in ('GET', 'HEAD') and self.headers.get('Content-Length') is None: + # Set Content-Length to 0 for methods that can have a body + # but don't provide one. (i.e. not GET or HEAD) + self.headers['Content-Length'] = '0' + + def prepare_auth(self, auth, url=''): + """Prepares the given HTTP auth data.""" + + # If no Auth is explicitly provided, extract it from the URL first. + if auth is None: + url_auth = get_auth_from_url(self.url) + auth = url_auth if any(url_auth) else None + + if auth: + if isinstance(auth, tuple) and len(auth) == 2: + # special-case basic HTTP auth + auth = HTTPBasicAuth(*auth) + + # Allow auth to make its changes. + r = auth(self) + + # Update self to reflect the auth changes. + self.__dict__.update(r.__dict__) + + # Recompute Content-Length + self.prepare_content_length(self.body) + + def prepare_cookies(self, cookies): + """Prepares the given HTTP cookie data. + + This function eventually generates a ``Cookie`` header from the + given cookies using cookielib. Due to cookielib's design, the header + will not be regenerated if it already exists, meaning this function + can only be called once for the life of the + :class:`PreparedRequest <PreparedRequest>` object. Any subsequent calls + to ``prepare_cookies`` will have no actual effect, unless the "Cookie" + header is removed beforehand. + """ + if isinstance(cookies, cookielib.CookieJar): + self._cookies = cookies + else: + self._cookies = cookiejar_from_dict(cookies) + + cookie_header = get_cookie_header(self._cookies, self) + if cookie_header is not None: + self.headers['Cookie'] = cookie_header + + def prepare_hooks(self, hooks): + """Prepares the given hooks.""" + # hooks can be passed as None to the prepare method and to this + # method. To prevent iterating over None, simply use an empty list + # if hooks is False-y + hooks = hooks or [] + for event in hooks: + self.register_hook(event, hooks[event]) + + +class Response(object): + """The :class:`Response <Response>` object, which contains a + server's response to an HTTP request. + """ + + __attrs__ = [ + '_content', 'status_code', 'headers', 'url', 'history', + 'encoding', 'reason', 'cookies', 'elapsed', 'request' + ] + + def __init__(self): + self._content = False + self._content_consumed = False + self._next = None + + #: Integer Code of responded HTTP Status, e.g. 404 or 200. + self.status_code = None + + #: Case-insensitive Dictionary of Response Headers. + #: For example, ``headers['content-encoding']`` will return the + #: value of a ``'Content-Encoding'`` response header. + self.headers = CaseInsensitiveDict() + + #: File-like object representation of response (for advanced usage). + #: Use of ``raw`` requires that ``stream=True`` be set on the request. + # This requirement does not apply for use internally to Requests. + self.raw = None + + #: Final URL location of Response. + self.url = None + + #: Encoding to decode with when accessing r.text. + self.encoding = None + + #: A list of :class:`Response <Response>` objects from + #: the history of the Request. Any redirect responses will end + #: up here. The list is sorted from the oldest to the most recent request. + self.history = [] + + #: Textual reason of responded HTTP Status, e.g. "Not Found" or "OK". + self.reason = None + + #: A CookieJar of Cookies the server sent back. + self.cookies = cookiejar_from_dict({}) + + #: The amount of time elapsed between sending the request + #: and the arrival of the response (as a timedelta). + #: This property specifically measures the time taken between sending + #: the first byte of the request and finishing parsing the headers. It + #: is therefore unaffected by consuming the response content or the + #: value of the ``stream`` keyword argument. + self.elapsed = datetime.timedelta(0) + + #: The :class:`PreparedRequest <PreparedRequest>` object to which this + #: is a response. + self.request = None + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def __getstate__(self): + # Consume everything; accessing the content attribute makes + # sure the content has been fully read. + if not self._content_consumed: + self.content + + return {attr: getattr(self, attr, None) for attr in self.__attrs__} + + def __setstate__(self, state): + for name, value in state.items(): + setattr(self, name, value) + + # pickled objects do not have .raw + setattr(self, '_content_consumed', True) + setattr(self, 'raw', None) + + def __repr__(self): + return '<Response [%s]>' % (self.status_code) + + def __bool__(self): + """Returns True if :attr:`status_code` is less than 400. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code, is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + return self.ok + + def __nonzero__(self): + """Returns True if :attr:`status_code` is less than 400. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code, is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + return self.ok + + def __iter__(self): + """Allows you to use a response as an iterator.""" + return self.iter_content(128) + + @property + def ok(self): + """Returns True if :attr:`status_code` is less than 400, False if not. + + This attribute checks if the status code of the response is between + 400 and 600 to see if there was a client error or a server error. If + the status code is between 200 and 400, this will return True. This + is **not** a check to see if the response code is ``200 OK``. + """ + try: + self.raise_for_status() + except HTTPError: + return False + return True + + @property + def is_redirect(self): + """True if this Response is a well-formed HTTP redirect that could have + been processed automatically (by :meth:`Session.resolve_redirects`). + """ + return ('location' in self.headers and self.status_code in REDIRECT_STATI) + + @property + def is_permanent_redirect(self): + """True if this Response one of the permanent versions of redirect.""" + return ('location' in self.headers and self.status_code in (codes.moved_permanently, codes.permanent_redirect)) + + @property + def next(self): + """Returns a PreparedRequest for the next request in a redirect chain, if there is one.""" + return self._next + + @property + def apparent_encoding(self): + """The apparent encoding, provided by the chardet library.""" + return chardet.detect(self.content)['encoding'] + + def iter_content(self, chunk_size=1, decode_unicode=False): + """Iterates over the response data. When stream=True is set on the + request, this avoids reading the content at once into memory for + large responses. The chunk size is the number of bytes it should + read into memory. This is not necessarily the length of each item + returned as decoding can take place. + + chunk_size must be of type int or None. A value of None will + function differently depending on the value of `stream`. + stream=True will read data as it arrives in whatever size the + chunks are received. If stream=False, data is returned as + a single chunk. + + If decode_unicode is True, content will be decoded using the best + available encoding based on the response. + """ + + def generate(): + # Special case for urllib3. + if hasattr(self.raw, 'stream'): + try: + for chunk in self.raw.stream(chunk_size, decode_content=True): + yield chunk + except ProtocolError as e: + raise ChunkedEncodingError(e) + except DecodeError as e: + raise ContentDecodingError(e) + except ReadTimeoutError as e: + raise ConnectionError(e) + else: + # Standard file-like object. + while True: + chunk = self.raw.read(chunk_size) + if not chunk: + break + yield chunk + + self._content_consumed = True + + if self._content_consumed and isinstance(self._content, bool): + raise StreamConsumedError() + elif chunk_size is not None and not isinstance(chunk_size, int): + raise TypeError("chunk_size must be an int, it is instead a %s." % type(chunk_size)) + # simulate reading small chunks of the content + reused_chunks = iter_slices(self._content, chunk_size) + + stream_chunks = generate() + + chunks = reused_chunks if self._content_consumed else stream_chunks + + if decode_unicode: + chunks = stream_decode_response_unicode(chunks, self) + + return chunks + + def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=False, delimiter=None): + """Iterates over the response data, one line at a time. When + stream=True is set on the request, this avoids reading the + content at once into memory for large responses. + + .. note:: This method is not reentrant safe. + """ + + pending = None + + for chunk in self.iter_content(chunk_size=chunk_size, decode_unicode=decode_unicode): + + if pending is not None: + chunk = pending + chunk + + if delimiter: + lines = chunk.split(delimiter) + else: + lines = chunk.splitlines() + + if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: + pending = lines.pop() + else: + pending = None + + for line in lines: + yield line + + if pending is not None: + yield pending + + @property + def content(self): + """Content of the response, in bytes.""" + + if self._content is False: + # Read the contents. + if self._content_consumed: + raise RuntimeError( + 'The content for this response was already consumed') + + if self.status_code == 0 or self.raw is None: + self._content = None + else: + self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b'' + + self._content_consumed = True + # don't need to release the connection; that's been handled by urllib3 + # since we exhausted the data. + return self._content + + @property + def text(self): + """Content of the response, in unicode. + + If Response.encoding is None, encoding will be guessed using + ``chardet``. + + The encoding of the response content is determined based solely on HTTP + headers, following RFC 2616 to the letter. If you can take advantage of + non-HTTP knowledge to make a better guess at the encoding, you should + set ``r.encoding`` appropriately before accessing this property. + """ + + # Try charset from content-type + content = None + encoding = self.encoding + + if not self.content: + return str('') + + # Fallback to auto-detected encoding. + if self.encoding is None: + encoding = self.apparent_encoding + + # Decode unicode from given encoding. + try: + content = str(self.content, encoding, errors='replace') + except (LookupError, TypeError): + # A LookupError is raised if the encoding was not found which could + # indicate a misspelling or similar mistake. + # + # A TypeError can be raised if encoding is None + # + # So we try blindly encoding. + content = str(self.content, errors='replace') + + return content + + def json(self, **kwargs): + r"""Returns the json-encoded content of a response, if any. + + :param \*\*kwargs: Optional arguments that ``json.loads`` takes. + :raises ValueError: If the response body does not contain valid json. + """ + + if not self.encoding and self.content and len(self.content) > 3: + # No encoding set. JSON RFC 4627 section 3 states we should expect + # UTF-8, -16 or -32. Detect which one to use; If the detection or + # decoding fails, fall back to `self.text` (using chardet to make + # a best guess). + encoding = guess_json_utf(self.content) + if encoding is not None: + try: + return complexjson.loads( + self.content.decode(encoding), **kwargs + ) + except UnicodeDecodeError: + # Wrong UTF codec detected; usually because it's not UTF-8 + # but some other 8-bit codec. This is an RFC violation, + # and the server didn't bother to tell us what codec *was* + # used. + pass + return complexjson.loads(self.text, **kwargs) + + @property + def links(self): + """Returns the parsed header links of the response, if any.""" + + header = self.headers.get('link') + + # l = MultiDict() + l = {} + + if header: + links = parse_header_links(header) + + for link in links: + key = link.get('rel') or link.get('url') + l[key] = link + + return l + + def raise_for_status(self): + """Raises stored :class:`HTTPError`, if one occurred.""" + + http_error_msg = '' + if isinstance(self.reason, bytes): + # We attempt to decode utf-8 first because some servers + # choose to localize their reason strings. If the string + # isn't utf-8, we fall back to iso-8859-1 for all other + # encodings. (See PR #3538) + try: + reason = self.reason.decode('utf-8') + except UnicodeDecodeError: + reason = self.reason.decode('iso-8859-1') + else: + reason = self.reason + + if 400 <= self.status_code < 500: + http_error_msg = u'%s Client Error: %s for url: %s' % (self.status_code, reason, self.url) + + elif 500 <= self.status_code < 600: + http_error_msg = u'%s Server Error: %s for url: %s' % (self.status_code, reason, self.url) + + if http_error_msg: + raise HTTPError(http_error_msg, response=self) + + def close(self): + """Releases the connection back to the pool. Once this method has been + called the underlying ``raw`` object must not be accessed again. + + *Note: Should not normally need to be called explicitly.* + """ + if not self._content_consumed: + self.raw.close() + + release_conn = getattr(self.raw, 'release_conn', None) + if release_conn is not None: + release_conn() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/packages.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/packages.py new file mode 100644 index 0000000000..9582fa730f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/packages.py @@ -0,0 +1,16 @@ +import sys + +# This code exists for backwards compatibility reasons. +# I don't like it either. Just look the other way. :) + +for package in ('urllib3', 'idna', 'chardet'): + vendored_package = "pip._vendor." + package + locals()[package] = __import__(vendored_package) + # This traversal is apparently necessary such that the identities are + # preserved (requests.packages.urllib3.* is urllib3.*) + for mod in list(sys.modules): + if mod == vendored_package or mod.startswith(vendored_package + '.'): + unprefixed_mod = mod[len("pip._vendor."):] + sys.modules['pip._vendor.requests.packages.' + unprefixed_mod] = sys.modules[mod] + +# Kinda cool, though, right? diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/sessions.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/sessions.py new file mode 100644 index 0000000000..d73d700fa6 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/sessions.py @@ -0,0 +1,770 @@ +# -*- coding: utf-8 -*- + +""" +requests.session +~~~~~~~~~~~~~~~~ + +This module provides a Session object to manage and persist settings across +requests (cookies, auth, proxies). +""" +import os +import sys +import time +from datetime import timedelta + +from .auth import _basic_auth_str +from .compat import cookielib, is_py3, OrderedDict, urljoin, urlparse, Mapping +from .cookies import ( + cookiejar_from_dict, extract_cookies_to_jar, RequestsCookieJar, merge_cookies) +from .models import Request, PreparedRequest, DEFAULT_REDIRECT_LIMIT +from .hooks import default_hooks, dispatch_hook +from ._internal_utils import to_native_string +from .utils import to_key_val_list, default_headers, DEFAULT_PORTS +from .exceptions import ( + TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError) + +from .structures import CaseInsensitiveDict +from .adapters import HTTPAdapter + +from .utils import ( + requote_uri, get_environ_proxies, get_netrc_auth, should_bypass_proxies, + get_auth_from_url, rewind_body +) + +from .status_codes import codes + +# formerly defined here, reexposed here for backward compatibility +from .models import REDIRECT_STATI + +# Preferred clock, based on which one is more accurate on a given system. +if sys.platform == 'win32': + try: # Python 3.4+ + preferred_clock = time.perf_counter + except AttributeError: # Earlier than Python 3. + preferred_clock = time.clock +else: + preferred_clock = time.time + + +def merge_setting(request_setting, session_setting, dict_class=OrderedDict): + """Determines appropriate setting for a given request, taking into account + the explicit setting on that request, and the setting in the session. If a + setting is a dictionary, they will be merged together using `dict_class` + """ + + if session_setting is None: + return request_setting + + if request_setting is None: + return session_setting + + # Bypass if not a dictionary (e.g. verify) + if not ( + isinstance(session_setting, Mapping) and + isinstance(request_setting, Mapping) + ): + return request_setting + + merged_setting = dict_class(to_key_val_list(session_setting)) + merged_setting.update(to_key_val_list(request_setting)) + + # Remove keys that are set to None. Extract keys first to avoid altering + # the dictionary during iteration. + none_keys = [k for (k, v) in merged_setting.items() if v is None] + for key in none_keys: + del merged_setting[key] + + return merged_setting + + +def merge_hooks(request_hooks, session_hooks, dict_class=OrderedDict): + """Properly merges both requests and session hooks. + + This is necessary because when request_hooks == {'response': []}, the + merge breaks Session hooks entirely. + """ + if session_hooks is None or session_hooks.get('response') == []: + return request_hooks + + if request_hooks is None or request_hooks.get('response') == []: + return session_hooks + + return merge_setting(request_hooks, session_hooks, dict_class) + + +class SessionRedirectMixin(object): + + def get_redirect_target(self, resp): + """Receives a Response. Returns a redirect URI or ``None``""" + # Due to the nature of how requests processes redirects this method will + # be called at least once upon the original response and at least twice + # on each subsequent redirect response (if any). + # If a custom mixin is used to handle this logic, it may be advantageous + # to cache the redirect location onto the response object as a private + # attribute. + if resp.is_redirect: + location = resp.headers['location'] + # Currently the underlying http module on py3 decode headers + # in latin1, but empirical evidence suggests that latin1 is very + # rarely used with non-ASCII characters in HTTP headers. + # It is more likely to get UTF8 header rather than latin1. + # This causes incorrect handling of UTF8 encoded location headers. + # To solve this, we re-encode the location in latin1. + if is_py3: + location = location.encode('latin1') + return to_native_string(location, 'utf8') + return None + + def should_strip_auth(self, old_url, new_url): + """Decide whether Authorization header should be removed when redirecting""" + old_parsed = urlparse(old_url) + new_parsed = urlparse(new_url) + if old_parsed.hostname != new_parsed.hostname: + return True + # Special case: allow http -> https redirect when using the standard + # ports. This isn't specified by RFC 7235, but is kept to avoid + # breaking backwards compatibility with older versions of requests + # that allowed any redirects on the same host. + if (old_parsed.scheme == 'http' and old_parsed.port in (80, None) + and new_parsed.scheme == 'https' and new_parsed.port in (443, None)): + return False + + # Handle default port usage corresponding to scheme. + changed_port = old_parsed.port != new_parsed.port + changed_scheme = old_parsed.scheme != new_parsed.scheme + default_port = (DEFAULT_PORTS.get(old_parsed.scheme, None), None) + if (not changed_scheme and old_parsed.port in default_port + and new_parsed.port in default_port): + return False + + # Standard case: root URI must match + return changed_port or changed_scheme + + def resolve_redirects(self, resp, req, stream=False, timeout=None, + verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs): + """Receives a Response. Returns a generator of Responses or Requests.""" + + hist = [] # keep track of history + + url = self.get_redirect_target(resp) + previous_fragment = urlparse(req.url).fragment + while url: + prepared_request = req.copy() + + # Update history and keep track of redirects. + # resp.history must ignore the original request in this loop + hist.append(resp) + resp.history = hist[1:] + + try: + resp.content # Consume socket so it can be released + except (ChunkedEncodingError, ContentDecodingError, RuntimeError): + resp.raw.read(decode_content=False) + + if len(resp.history) >= self.max_redirects: + raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects, response=resp) + + # Release the connection back into the pool. + resp.close() + + # Handle redirection without scheme (see: RFC 1808 Section 4) + if url.startswith('//'): + parsed_rurl = urlparse(resp.url) + url = '%s:%s' % (to_native_string(parsed_rurl.scheme), url) + + # Normalize url case and attach previous fragment if needed (RFC 7231 7.1.2) + parsed = urlparse(url) + if parsed.fragment == '' and previous_fragment: + parsed = parsed._replace(fragment=previous_fragment) + elif parsed.fragment: + previous_fragment = parsed.fragment + url = parsed.geturl() + + # Facilitate relative 'location' headers, as allowed by RFC 7231. + # (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource') + # Compliant with RFC3986, we percent encode the url. + if not parsed.netloc: + url = urljoin(resp.url, requote_uri(url)) + else: + url = requote_uri(url) + + prepared_request.url = to_native_string(url) + + self.rebuild_method(prepared_request, resp) + + # https://github.com/requests/requests/issues/1084 + if resp.status_code not in (codes.temporary_redirect, codes.permanent_redirect): + # https://github.com/requests/requests/issues/3490 + purged_headers = ('Content-Length', 'Content-Type', 'Transfer-Encoding') + for header in purged_headers: + prepared_request.headers.pop(header, None) + prepared_request.body = None + + headers = prepared_request.headers + try: + del headers['Cookie'] + except KeyError: + pass + + # Extract any cookies sent on the response to the cookiejar + # in the new request. Because we've mutated our copied prepared + # request, use the old one that we haven't yet touched. + extract_cookies_to_jar(prepared_request._cookies, req, resp.raw) + merge_cookies(prepared_request._cookies, self.cookies) + prepared_request.prepare_cookies(prepared_request._cookies) + + # Rebuild auth and proxy information. + proxies = self.rebuild_proxies(prepared_request, proxies) + self.rebuild_auth(prepared_request, resp) + + # A failed tell() sets `_body_position` to `object()`. This non-None + # value ensures `rewindable` will be True, allowing us to raise an + # UnrewindableBodyError, instead of hanging the connection. + rewindable = ( + prepared_request._body_position is not None and + ('Content-Length' in headers or 'Transfer-Encoding' in headers) + ) + + # Attempt to rewind consumed file-like object. + if rewindable: + rewind_body(prepared_request) + + # Override the original request. + req = prepared_request + + if yield_requests: + yield req + else: + + resp = self.send( + req, + stream=stream, + timeout=timeout, + verify=verify, + cert=cert, + proxies=proxies, + allow_redirects=False, + **adapter_kwargs + ) + + extract_cookies_to_jar(self.cookies, prepared_request, resp.raw) + + # extract redirect url, if any, for the next loop + url = self.get_redirect_target(resp) + yield resp + + def rebuild_auth(self, prepared_request, response): + """When being redirected we may want to strip authentication from the + request to avoid leaking credentials. This method intelligently removes + and reapplies authentication where possible to avoid credential loss. + """ + headers = prepared_request.headers + url = prepared_request.url + + if 'Authorization' in headers and self.should_strip_auth(response.request.url, url): + # If we get redirected to a new host, we should strip out any + # authentication headers. + del headers['Authorization'] + + # .netrc might have more auth for us on our new host. + new_auth = get_netrc_auth(url) if self.trust_env else None + if new_auth is not None: + prepared_request.prepare_auth(new_auth) + + return + + def rebuild_proxies(self, prepared_request, proxies): + """This method re-evaluates the proxy configuration by considering the + environment variables. If we are redirected to a URL covered by + NO_PROXY, we strip the proxy configuration. Otherwise, we set missing + proxy keys for this URL (in case they were stripped by a previous + redirect). + + This method also replaces the Proxy-Authorization header where + necessary. + + :rtype: dict + """ + proxies = proxies if proxies is not None else {} + headers = prepared_request.headers + url = prepared_request.url + scheme = urlparse(url).scheme + new_proxies = proxies.copy() + no_proxy = proxies.get('no_proxy') + + bypass_proxy = should_bypass_proxies(url, no_proxy=no_proxy) + if self.trust_env and not bypass_proxy: + environ_proxies = get_environ_proxies(url, no_proxy=no_proxy) + + proxy = environ_proxies.get(scheme, environ_proxies.get('all')) + + if proxy: + new_proxies.setdefault(scheme, proxy) + + if 'Proxy-Authorization' in headers: + del headers['Proxy-Authorization'] + + try: + username, password = get_auth_from_url(new_proxies[scheme]) + except KeyError: + username, password = None, None + + if username and password: + headers['Proxy-Authorization'] = _basic_auth_str(username, password) + + return new_proxies + + def rebuild_method(self, prepared_request, response): + """When being redirected we may want to change the method of the request + based on certain specs or browser behavior. + """ + method = prepared_request.method + + # https://tools.ietf.org/html/rfc7231#section-6.4.4 + if response.status_code == codes.see_other and method != 'HEAD': + method = 'GET' + + # Do what the browsers do, despite standards... + # First, turn 302s into GETs. + if response.status_code == codes.found and method != 'HEAD': + method = 'GET' + + # Second, if a POST is responded to with a 301, turn it into a GET. + # This bizarre behaviour is explained in Issue 1704. + if response.status_code == codes.moved and method == 'POST': + method = 'GET' + + prepared_request.method = method + + +class Session(SessionRedirectMixin): + """A Requests session. + + Provides cookie persistence, connection-pooling, and configuration. + + Basic Usage:: + + >>> import requests + >>> s = requests.Session() + >>> s.get('https://httpbin.org/get') + <Response [200]> + + Or as a context manager:: + + >>> with requests.Session() as s: + >>> s.get('https://httpbin.org/get') + <Response [200]> + """ + + __attrs__ = [ + 'headers', 'cookies', 'auth', 'proxies', 'hooks', 'params', 'verify', + 'cert', 'prefetch', 'adapters', 'stream', 'trust_env', + 'max_redirects', + ] + + def __init__(self): + + #: A case-insensitive dictionary of headers to be sent on each + #: :class:`Request <Request>` sent from this + #: :class:`Session <Session>`. + self.headers = default_headers() + + #: Default Authentication tuple or object to attach to + #: :class:`Request <Request>`. + self.auth = None + + #: Dictionary mapping protocol or protocol and host to the URL of the proxy + #: (e.g. {'http': 'foo.bar:3128', 'http://host.name': 'foo.bar:4012'}) to + #: be used on each :class:`Request <Request>`. + self.proxies = {} + + #: Event-handling hooks. + self.hooks = default_hooks() + + #: Dictionary of querystring data to attach to each + #: :class:`Request <Request>`. The dictionary values may be lists for + #: representing multivalued query parameters. + self.params = {} + + #: Stream response content default. + self.stream = False + + #: SSL Verification default. + self.verify = True + + #: SSL client certificate default, if String, path to ssl client + #: cert file (.pem). If Tuple, ('cert', 'key') pair. + self.cert = None + + #: Maximum number of redirects allowed. If the request exceeds this + #: limit, a :class:`TooManyRedirects` exception is raised. + #: This defaults to requests.models.DEFAULT_REDIRECT_LIMIT, which is + #: 30. + self.max_redirects = DEFAULT_REDIRECT_LIMIT + + #: Trust environment settings for proxy configuration, default + #: authentication and similar. + self.trust_env = True + + #: A CookieJar containing all currently outstanding cookies set on this + #: session. By default it is a + #: :class:`RequestsCookieJar <requests.cookies.RequestsCookieJar>`, but + #: may be any other ``cookielib.CookieJar`` compatible object. + self.cookies = cookiejar_from_dict({}) + + # Default connection adapters. + self.adapters = OrderedDict() + self.mount('https://', HTTPAdapter()) + self.mount('http://', HTTPAdapter()) + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def prepare_request(self, request): + """Constructs a :class:`PreparedRequest <PreparedRequest>` for + transmission and returns it. The :class:`PreparedRequest` has settings + merged from the :class:`Request <Request>` instance and those of the + :class:`Session`. + + :param request: :class:`Request` instance to prepare with this + session's settings. + :rtype: requests.PreparedRequest + """ + cookies = request.cookies or {} + + # Bootstrap CookieJar. + if not isinstance(cookies, cookielib.CookieJar): + cookies = cookiejar_from_dict(cookies) + + # Merge with session cookies + merged_cookies = merge_cookies( + merge_cookies(RequestsCookieJar(), self.cookies), cookies) + + # Set environment's basic authentication if not explicitly set. + auth = request.auth + if self.trust_env and not auth and not self.auth: + auth = get_netrc_auth(request.url) + + p = PreparedRequest() + p.prepare( + method=request.method.upper(), + url=request.url, + files=request.files, + data=request.data, + json=request.json, + headers=merge_setting(request.headers, self.headers, dict_class=CaseInsensitiveDict), + params=merge_setting(request.params, self.params), + auth=merge_setting(auth, self.auth), + cookies=merged_cookies, + hooks=merge_hooks(request.hooks, self.hooks), + ) + return p + + def request(self, method, url, + params=None, data=None, headers=None, cookies=None, files=None, + auth=None, timeout=None, allow_redirects=True, proxies=None, + hooks=None, stream=None, verify=None, cert=None, json=None): + """Constructs a :class:`Request <Request>`, prepares it and sends it. + Returns :class:`Response <Response>` object. + + :param method: method for the new :class:`Request` object. + :param url: URL for the new :class:`Request` object. + :param params: (optional) Dictionary or bytes to be sent in the query + string for the :class:`Request`. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json to send in the body of the + :class:`Request`. + :param headers: (optional) Dictionary of HTTP Headers to send with the + :class:`Request`. + :param cookies: (optional) Dict or CookieJar object to send with the + :class:`Request`. + :param files: (optional) Dictionary of ``'filename': file-like-objects`` + for multipart encoding upload. + :param auth: (optional) Auth tuple or callable to enable + Basic/Digest/Custom HTTP Auth. + :param timeout: (optional) How long to wait for the server to send + data before giving up, as a float, or a :ref:`(connect timeout, + read timeout) <timeouts>` tuple. + :type timeout: float or tuple + :param allow_redirects: (optional) Set to True by default. + :type allow_redirects: bool + :param proxies: (optional) Dictionary mapping protocol or protocol and + hostname to the URL of the proxy. + :param stream: (optional) whether to immediately download the response + content. Defaults to ``False``. + :param verify: (optional) Either a boolean, in which case it controls whether we verify + the server's TLS certificate, or a string, in which case it must be a path + to a CA bundle to use. Defaults to ``True``. + :param cert: (optional) if String, path to ssl client cert file (.pem). + If Tuple, ('cert', 'key') pair. + :rtype: requests.Response + """ + # Create the Request. + req = Request( + method=method.upper(), + url=url, + headers=headers, + files=files, + data=data or {}, + json=json, + params=params or {}, + auth=auth, + cookies=cookies, + hooks=hooks, + ) + prep = self.prepare_request(req) + + proxies = proxies or {} + + settings = self.merge_environment_settings( + prep.url, proxies, stream, verify, cert + ) + + # Send the request. + send_kwargs = { + 'timeout': timeout, + 'allow_redirects': allow_redirects, + } + send_kwargs.update(settings) + resp = self.send(prep, **send_kwargs) + + return resp + + def get(self, url, **kwargs): + r"""Sends a GET request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return self.request('GET', url, **kwargs) + + def options(self, url, **kwargs): + r"""Sends a OPTIONS request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', True) + return self.request('OPTIONS', url, **kwargs) + + def head(self, url, **kwargs): + r"""Sends a HEAD request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + kwargs.setdefault('allow_redirects', False) + return self.request('HEAD', url, **kwargs) + + def post(self, url, data=None, json=None, **kwargs): + r"""Sends a POST request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param json: (optional) json to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('POST', url, data=data, json=json, **kwargs) + + def put(self, url, data=None, **kwargs): + r"""Sends a PUT request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('PUT', url, data=data, **kwargs) + + def patch(self, url, data=None, **kwargs): + r"""Sends a PATCH request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param data: (optional) Dictionary, list of tuples, bytes, or file-like + object to send in the body of the :class:`Request`. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('PATCH', url, data=data, **kwargs) + + def delete(self, url, **kwargs): + r"""Sends a DELETE request. Returns :class:`Response` object. + + :param url: URL for the new :class:`Request` object. + :param \*\*kwargs: Optional arguments that ``request`` takes. + :rtype: requests.Response + """ + + return self.request('DELETE', url, **kwargs) + + def send(self, request, **kwargs): + """Send a given PreparedRequest. + + :rtype: requests.Response + """ + # Set defaults that the hooks can utilize to ensure they always have + # the correct parameters to reproduce the previous request. + kwargs.setdefault('stream', self.stream) + kwargs.setdefault('verify', self.verify) + kwargs.setdefault('cert', self.cert) + kwargs.setdefault('proxies', self.proxies) + + # It's possible that users might accidentally send a Request object. + # Guard against that specific failure case. + if isinstance(request, Request): + raise ValueError('You can only send PreparedRequests.') + + # Set up variables needed for resolve_redirects and dispatching of hooks + allow_redirects = kwargs.pop('allow_redirects', True) + stream = kwargs.get('stream') + hooks = request.hooks + + # Get the appropriate adapter to use + adapter = self.get_adapter(url=request.url) + + # Start time (approximately) of the request + start = preferred_clock() + + # Send the request + r = adapter.send(request, **kwargs) + + # Total elapsed time of the request (approximately) + elapsed = preferred_clock() - start + r.elapsed = timedelta(seconds=elapsed) + + # Response manipulation hooks + r = dispatch_hook('response', hooks, r, **kwargs) + + # Persist cookies + if r.history: + + # If the hooks create history then we want those cookies too + for resp in r.history: + extract_cookies_to_jar(self.cookies, resp.request, resp.raw) + + extract_cookies_to_jar(self.cookies, request, r.raw) + + # Redirect resolving generator. + gen = self.resolve_redirects(r, request, **kwargs) + + # Resolve redirects if allowed. + history = [resp for resp in gen] if allow_redirects else [] + + # Shuffle things around if there's history. + if history: + # Insert the first (original) request at the start + history.insert(0, r) + # Get the last request made + r = history.pop() + r.history = history + + # If redirects aren't being followed, store the response on the Request for Response.next(). + if not allow_redirects: + try: + r._next = next(self.resolve_redirects(r, request, yield_requests=True, **kwargs)) + except StopIteration: + pass + + if not stream: + r.content + + return r + + def merge_environment_settings(self, url, proxies, stream, verify, cert): + """ + Check the environment and merge it with some settings. + + :rtype: dict + """ + # Gather clues from the surrounding environment. + if self.trust_env: + # Set environment's proxies. + no_proxy = proxies.get('no_proxy') if proxies is not None else None + env_proxies = get_environ_proxies(url, no_proxy=no_proxy) + for (k, v) in env_proxies.items(): + proxies.setdefault(k, v) + + # Look for requests environment configuration and be compatible + # with cURL. + if verify is True or verify is None: + verify = (os.environ.get('REQUESTS_CA_BUNDLE') or + os.environ.get('CURL_CA_BUNDLE')) + + # Merge all the kwargs. + proxies = merge_setting(proxies, self.proxies) + stream = merge_setting(stream, self.stream) + verify = merge_setting(verify, self.verify) + cert = merge_setting(cert, self.cert) + + return {'verify': verify, 'proxies': proxies, 'stream': stream, + 'cert': cert} + + def get_adapter(self, url): + """ + Returns the appropriate connection adapter for the given URL. + + :rtype: requests.adapters.BaseAdapter + """ + for (prefix, adapter) in self.adapters.items(): + + if url.lower().startswith(prefix.lower()): + return adapter + + # Nothing matches :-/ + raise InvalidSchema("No connection adapters were found for '%s'" % url) + + def close(self): + """Closes all adapters and as such the session""" + for v in self.adapters.values(): + v.close() + + def mount(self, prefix, adapter): + """Registers a connection adapter to a prefix. + + Adapters are sorted in descending order by prefix length. + """ + self.adapters[prefix] = adapter + keys_to_move = [k for k in self.adapters if len(k) < len(prefix)] + + for key in keys_to_move: + self.adapters[key] = self.adapters.pop(key) + + def __getstate__(self): + state = {attr: getattr(self, attr, None) for attr in self.__attrs__} + return state + + def __setstate__(self, state): + for attr, value in state.items(): + setattr(self, attr, value) + + +def session(): + """ + Returns a :class:`Session` for context-management. + + .. deprecated:: 1.0.0 + + This method has been deprecated since version 1.0.0 and is only kept for + backwards compatibility. New code should use :class:`~requests.sessions.Session` + to create a session. This may be removed at a future date. + + :rtype: Session + """ + return Session() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/status_codes.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/status_codes.py new file mode 100644 index 0000000000..813e8c4e62 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/status_codes.py @@ -0,0 +1,120 @@ +# -*- coding: utf-8 -*- + +r""" +The ``codes`` object defines a mapping from common names for HTTP statuses +to their numerical codes, accessible either as attributes or as dictionary +items. + +>>> requests.codes['temporary_redirect'] +307 +>>> requests.codes.teapot +418 +>>> requests.codes['\o/'] +200 + +Some codes have multiple names, and both upper- and lower-case versions of +the names are allowed. For example, ``codes.ok``, ``codes.OK``, and +``codes.okay`` all correspond to the HTTP status code 200. +""" + +from .structures import LookupDict + +_codes = { + + # Informational. + 100: ('continue',), + 101: ('switching_protocols',), + 102: ('processing',), + 103: ('checkpoint',), + 122: ('uri_too_long', 'request_uri_too_long'), + 200: ('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '✓'), + 201: ('created',), + 202: ('accepted',), + 203: ('non_authoritative_info', 'non_authoritative_information'), + 204: ('no_content',), + 205: ('reset_content', 'reset'), + 206: ('partial_content', 'partial'), + 207: ('multi_status', 'multiple_status', 'multi_stati', 'multiple_stati'), + 208: ('already_reported',), + 226: ('im_used',), + + # Redirection. + 300: ('multiple_choices',), + 301: ('moved_permanently', 'moved', '\\o-'), + 302: ('found',), + 303: ('see_other', 'other'), + 304: ('not_modified',), + 305: ('use_proxy',), + 306: ('switch_proxy',), + 307: ('temporary_redirect', 'temporary_moved', 'temporary'), + 308: ('permanent_redirect', + 'resume_incomplete', 'resume',), # These 2 to be removed in 3.0 + + # Client Error. + 400: ('bad_request', 'bad'), + 401: ('unauthorized',), + 402: ('payment_required', 'payment'), + 403: ('forbidden',), + 404: ('not_found', '-o-'), + 405: ('method_not_allowed', 'not_allowed'), + 406: ('not_acceptable',), + 407: ('proxy_authentication_required', 'proxy_auth', 'proxy_authentication'), + 408: ('request_timeout', 'timeout'), + 409: ('conflict',), + 410: ('gone',), + 411: ('length_required',), + 412: ('precondition_failed', 'precondition'), + 413: ('request_entity_too_large',), + 414: ('request_uri_too_large',), + 415: ('unsupported_media_type', 'unsupported_media', 'media_type'), + 416: ('requested_range_not_satisfiable', 'requested_range', 'range_not_satisfiable'), + 417: ('expectation_failed',), + 418: ('im_a_teapot', 'teapot', 'i_am_a_teapot'), + 421: ('misdirected_request',), + 422: ('unprocessable_entity', 'unprocessable'), + 423: ('locked',), + 424: ('failed_dependency', 'dependency'), + 425: ('unordered_collection', 'unordered'), + 426: ('upgrade_required', 'upgrade'), + 428: ('precondition_required', 'precondition'), + 429: ('too_many_requests', 'too_many'), + 431: ('header_fields_too_large', 'fields_too_large'), + 444: ('no_response', 'none'), + 449: ('retry_with', 'retry'), + 450: ('blocked_by_windows_parental_controls', 'parental_controls'), + 451: ('unavailable_for_legal_reasons', 'legal_reasons'), + 499: ('client_closed_request',), + + # Server Error. + 500: ('internal_server_error', 'server_error', '/o\\', '✗'), + 501: ('not_implemented',), + 502: ('bad_gateway',), + 503: ('service_unavailable', 'unavailable'), + 504: ('gateway_timeout',), + 505: ('http_version_not_supported', 'http_version'), + 506: ('variant_also_negotiates',), + 507: ('insufficient_storage',), + 509: ('bandwidth_limit_exceeded', 'bandwidth'), + 510: ('not_extended',), + 511: ('network_authentication_required', 'network_auth', 'network_authentication'), +} + +codes = LookupDict(name='status_codes') + +def _init(): + for code, titles in _codes.items(): + for title in titles: + setattr(codes, title, code) + if not title.startswith(('\\', '/')): + setattr(codes, title.upper(), code) + + def doc(code): + names = ', '.join('``%s``' % n for n in _codes[code]) + return '* %d: %s' % (code, names) + + global __doc__ + __doc__ = (__doc__ + '\n' + + '\n'.join(doc(code) for code in sorted(_codes)) + if __doc__ is not None else None) + +_init() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/structures.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/structures.py new file mode 100644 index 0000000000..da930e2852 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/structures.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- + +""" +requests.structures +~~~~~~~~~~~~~~~~~~~ + +Data structures that power Requests. +""" + +from .compat import OrderedDict, Mapping, MutableMapping + + +class CaseInsensitiveDict(MutableMapping): + """A case-insensitive ``dict``-like object. + + Implements all methods and operations of + ``MutableMapping`` as well as dict's ``copy``. Also + provides ``lower_items``. + + All keys are expected to be strings. The structure remembers the + case of the last key to be set, and ``iter(instance)``, + ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()`` + will contain case-sensitive keys. However, querying and contains + testing is case insensitive:: + + cid = CaseInsensitiveDict() + cid['Accept'] = 'application/json' + cid['aCCEPT'] == 'application/json' # True + list(cid) == ['Accept'] # True + + For example, ``headers['content-encoding']`` will return the + value of a ``'Content-Encoding'`` response header, regardless + of how the header name was originally stored. + + If the constructor, ``.update``, or equality comparison + operations are given keys that have equal ``.lower()``s, the + behavior is undefined. + """ + + def __init__(self, data=None, **kwargs): + self._store = OrderedDict() + if data is None: + data = {} + self.update(data, **kwargs) + + def __setitem__(self, key, value): + # Use the lowercased key for lookups, but store the actual + # key alongside the value. + self._store[key.lower()] = (key, value) + + def __getitem__(self, key): + return self._store[key.lower()][1] + + def __delitem__(self, key): + del self._store[key.lower()] + + def __iter__(self): + return (casedkey for casedkey, mappedvalue in self._store.values()) + + def __len__(self): + return len(self._store) + + def lower_items(self): + """Like iteritems(), but with all lowercase keys.""" + return ( + (lowerkey, keyval[1]) + for (lowerkey, keyval) + in self._store.items() + ) + + def __eq__(self, other): + if isinstance(other, Mapping): + other = CaseInsensitiveDict(other) + else: + return NotImplemented + # Compare insensitively + return dict(self.lower_items()) == dict(other.lower_items()) + + # Copy is required + def copy(self): + return CaseInsensitiveDict(self._store.values()) + + def __repr__(self): + return str(dict(self.items())) + + +class LookupDict(dict): + """Dictionary lookup object.""" + + def __init__(self, name=None): + self.name = name + super(LookupDict, self).__init__() + + def __repr__(self): + return '<lookup \'%s\'>' % (self.name) + + def __getitem__(self, key): + # We allow fall-through here, so values default to None + + return self.__dict__.get(key, None) + + def get(self, key, default=None): + return self.__dict__.get(key, default) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/utils.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/utils.py new file mode 100644 index 0000000000..8170a8d2c4 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/requests/utils.py @@ -0,0 +1,977 @@ +# -*- coding: utf-8 -*- + +""" +requests.utils +~~~~~~~~~~~~~~ + +This module provides utility functions that are used within Requests +that are also useful for external consumption. +""" + +import codecs +import contextlib +import io +import os +import re +import socket +import struct +import sys +import tempfile +import warnings +import zipfile + +from .__version__ import __version__ +from . import certs +# to_native_string is unused here, but imported here for backwards compatibility +from ._internal_utils import to_native_string +from .compat import parse_http_list as _parse_list_header +from .compat import ( + quote, urlparse, bytes, str, OrderedDict, unquote, getproxies, + proxy_bypass, urlunparse, basestring, integer_types, is_py3, + proxy_bypass_environment, getproxies_environment, Mapping) +from .cookies import cookiejar_from_dict +from .structures import CaseInsensitiveDict +from .exceptions import ( + InvalidURL, InvalidHeader, FileModeWarning, UnrewindableBodyError) + +NETRC_FILES = ('.netrc', '_netrc') + +DEFAULT_CA_BUNDLE_PATH = certs.where() + +DEFAULT_PORTS = {'http': 80, 'https': 443} + + +if sys.platform == 'win32': + # provide a proxy_bypass version on Windows without DNS lookups + + def proxy_bypass_registry(host): + try: + if is_py3: + import winreg + else: + import _winreg as winreg + except ImportError: + return False + + try: + internetSettings = winreg.OpenKey(winreg.HKEY_CURRENT_USER, + r'Software\Microsoft\Windows\CurrentVersion\Internet Settings') + # ProxyEnable could be REG_SZ or REG_DWORD, normalizing it + proxyEnable = int(winreg.QueryValueEx(internetSettings, + 'ProxyEnable')[0]) + # ProxyOverride is almost always a string + proxyOverride = winreg.QueryValueEx(internetSettings, + 'ProxyOverride')[0] + except OSError: + return False + if not proxyEnable or not proxyOverride: + return False + + # make a check value list from the registry entry: replace the + # '<local>' string by the localhost entry and the corresponding + # canonical entry. + proxyOverride = proxyOverride.split(';') + # now check if we match one of the registry values. + for test in proxyOverride: + if test == '<local>': + if '.' not in host: + return True + test = test.replace(".", r"\.") # mask dots + test = test.replace("*", r".*") # change glob sequence + test = test.replace("?", r".") # change glob char + if re.match(test, host, re.I): + return True + return False + + def proxy_bypass(host): # noqa + """Return True, if the host should be bypassed. + + Checks proxy settings gathered from the environment, if specified, + or the registry. + """ + if getproxies_environment(): + return proxy_bypass_environment(host) + else: + return proxy_bypass_registry(host) + + +def dict_to_sequence(d): + """Returns an internal sequence dictionary update.""" + + if hasattr(d, 'items'): + d = d.items() + + return d + + +def super_len(o): + total_length = None + current_position = 0 + + if hasattr(o, '__len__'): + total_length = len(o) + + elif hasattr(o, 'len'): + total_length = o.len + + elif hasattr(o, 'fileno'): + try: + fileno = o.fileno() + except io.UnsupportedOperation: + pass + else: + total_length = os.fstat(fileno).st_size + + # Having used fstat to determine the file length, we need to + # confirm that this file was opened up in binary mode. + if 'b' not in o.mode: + warnings.warn(( + "Requests has determined the content-length for this " + "request using the binary size of the file: however, the " + "file has been opened in text mode (i.e. without the 'b' " + "flag in the mode). This may lead to an incorrect " + "content-length. In Requests 3.0, support will be removed " + "for files in text mode."), + FileModeWarning + ) + + if hasattr(o, 'tell'): + try: + current_position = o.tell() + except (OSError, IOError): + # This can happen in some weird situations, such as when the file + # is actually a special file descriptor like stdin. In this + # instance, we don't know what the length is, so set it to zero and + # let requests chunk it instead. + if total_length is not None: + current_position = total_length + else: + if hasattr(o, 'seek') and total_length is None: + # StringIO and BytesIO have seek but no useable fileno + try: + # seek to end of file + o.seek(0, 2) + total_length = o.tell() + + # seek back to current position to support + # partially read file-like objects + o.seek(current_position or 0) + except (OSError, IOError): + total_length = 0 + + if total_length is None: + total_length = 0 + + return max(0, total_length - current_position) + + +def get_netrc_auth(url, raise_errors=False): + """Returns the Requests tuple auth for a given url from netrc.""" + + try: + from netrc import netrc, NetrcParseError + + netrc_path = None + + for f in NETRC_FILES: + try: + loc = os.path.expanduser('~/{}'.format(f)) + except KeyError: + # os.path.expanduser can fail when $HOME is undefined and + # getpwuid fails. See https://bugs.python.org/issue20164 & + # https://github.com/requests/requests/issues/1846 + return + + if os.path.exists(loc): + netrc_path = loc + break + + # Abort early if there isn't one. + if netrc_path is None: + return + + ri = urlparse(url) + + # Strip port numbers from netloc. This weird `if...encode`` dance is + # used for Python 3.2, which doesn't support unicode literals. + splitstr = b':' + if isinstance(url, str): + splitstr = splitstr.decode('ascii') + host = ri.netloc.split(splitstr)[0] + + try: + _netrc = netrc(netrc_path).authenticators(host) + if _netrc: + # Return with login / password + login_i = (0 if _netrc[0] else 1) + return (_netrc[login_i], _netrc[2]) + except (NetrcParseError, IOError): + # If there was a parsing error or a permissions issue reading the file, + # we'll just skip netrc auth unless explicitly asked to raise errors. + if raise_errors: + raise + + # AppEngine hackiness. + except (ImportError, AttributeError): + pass + + +def guess_filename(obj): + """Tries to guess the filename of the given object.""" + name = getattr(obj, 'name', None) + if (name and isinstance(name, basestring) and name[0] != '<' and + name[-1] != '>'): + return os.path.basename(name) + + +def extract_zipped_paths(path): + """Replace nonexistent paths that look like they refer to a member of a zip + archive with the location of an extracted copy of the target, or else + just return the provided path unchanged. + """ + if os.path.exists(path): + # this is already a valid path, no need to do anything further + return path + + # find the first valid part of the provided path and treat that as a zip archive + # assume the rest of the path is the name of a member in the archive + archive, member = os.path.split(path) + while archive and not os.path.exists(archive): + archive, prefix = os.path.split(archive) + member = '/'.join([prefix, member]) + + if not zipfile.is_zipfile(archive): + return path + + zip_file = zipfile.ZipFile(archive) + if member not in zip_file.namelist(): + return path + + # we have a valid zip archive and a valid member of that archive + tmp = tempfile.gettempdir() + extracted_path = os.path.join(tmp, *member.split('/')) + if not os.path.exists(extracted_path): + extracted_path = zip_file.extract(member, path=tmp) + + return extracted_path + + +def from_key_val_list(value): + """Take an object and test to see if it can be represented as a + dictionary. Unless it can not be represented as such, return an + OrderedDict, e.g., + + :: + + >>> from_key_val_list([('key', 'val')]) + OrderedDict([('key', 'val')]) + >>> from_key_val_list('string') + ValueError: cannot encode objects that are not 2-tuples + >>> from_key_val_list({'key': 'val'}) + OrderedDict([('key', 'val')]) + + :rtype: OrderedDict + """ + if value is None: + return None + + if isinstance(value, (str, bytes, bool, int)): + raise ValueError('cannot encode objects that are not 2-tuples') + + return OrderedDict(value) + + +def to_key_val_list(value): + """Take an object and test to see if it can be represented as a + dictionary. If it can be, return a list of tuples, e.g., + + :: + + >>> to_key_val_list([('key', 'val')]) + [('key', 'val')] + >>> to_key_val_list({'key': 'val'}) + [('key', 'val')] + >>> to_key_val_list('string') + ValueError: cannot encode objects that are not 2-tuples. + + :rtype: list + """ + if value is None: + return None + + if isinstance(value, (str, bytes, bool, int)): + raise ValueError('cannot encode objects that are not 2-tuples') + + if isinstance(value, Mapping): + value = value.items() + + return list(value) + + +# From mitsuhiko/werkzeug (used with permission). +def parse_list_header(value): + """Parse lists as described by RFC 2068 Section 2. + + In particular, parse comma-separated lists where the elements of + the list may include quoted-strings. A quoted-string could + contain a comma. A non-quoted string could have quotes in the + middle. Quotes are removed automatically after parsing. + + It basically works like :func:`parse_set_header` just that items + may appear multiple times and case sensitivity is preserved. + + The return value is a standard :class:`list`: + + >>> parse_list_header('token, "quoted value"') + ['token', 'quoted value'] + + To create a header from the :class:`list` again, use the + :func:`dump_header` function. + + :param value: a string with a list header. + :return: :class:`list` + :rtype: list + """ + result = [] + for item in _parse_list_header(value): + if item[:1] == item[-1:] == '"': + item = unquote_header_value(item[1:-1]) + result.append(item) + return result + + +# From mitsuhiko/werkzeug (used with permission). +def parse_dict_header(value): + """Parse lists of key, value pairs as described by RFC 2068 Section 2 and + convert them into a python dict: + + >>> d = parse_dict_header('foo="is a fish", bar="as well"') + >>> type(d) is dict + True + >>> sorted(d.items()) + [('bar', 'as well'), ('foo', 'is a fish')] + + If there is no value for a key it will be `None`: + + >>> parse_dict_header('key_without_value') + {'key_without_value': None} + + To create a header from the :class:`dict` again, use the + :func:`dump_header` function. + + :param value: a string with a dict header. + :return: :class:`dict` + :rtype: dict + """ + result = {} + for item in _parse_list_header(value): + if '=' not in item: + result[item] = None + continue + name, value = item.split('=', 1) + if value[:1] == value[-1:] == '"': + value = unquote_header_value(value[1:-1]) + result[name] = value + return result + + +# From mitsuhiko/werkzeug (used with permission). +def unquote_header_value(value, is_filename=False): + r"""Unquotes a header value. (Reversal of :func:`quote_header_value`). + This does not use the real unquoting but what browsers are actually + using for quoting. + + :param value: the header value to unquote. + :rtype: str + """ + if value and value[0] == value[-1] == '"': + # this is not the real unquoting, but fixing this so that the + # RFC is met will result in bugs with internet explorer and + # probably some other browsers as well. IE for example is + # uploading files with "C:\foo\bar.txt" as filename + value = value[1:-1] + + # if this is a filename and the starting characters look like + # a UNC path, then just return the value without quotes. Using the + # replace sequence below on a UNC path has the effect of turning + # the leading double slash into a single slash and then + # _fix_ie_filename() doesn't work correctly. See #458. + if not is_filename or value[:2] != '\\\\': + return value.replace('\\\\', '\\').replace('\\"', '"') + return value + + +def dict_from_cookiejar(cj): + """Returns a key/value dictionary from a CookieJar. + + :param cj: CookieJar object to extract cookies from. + :rtype: dict + """ + + cookie_dict = {} + + for cookie in cj: + cookie_dict[cookie.name] = cookie.value + + return cookie_dict + + +def add_dict_to_cookiejar(cj, cookie_dict): + """Returns a CookieJar from a key/value dictionary. + + :param cj: CookieJar to insert cookies into. + :param cookie_dict: Dict of key/values to insert into CookieJar. + :rtype: CookieJar + """ + + return cookiejar_from_dict(cookie_dict, cj) + + +def get_encodings_from_content(content): + """Returns encodings from given content string. + + :param content: bytestring to extract encodings from. + """ + warnings.warn(( + 'In requests 3.0, get_encodings_from_content will be removed. For ' + 'more information, please see the discussion on issue #2266. (This' + ' warning should only appear once.)'), + DeprecationWarning) + + charset_re = re.compile(r'<meta.*?charset=["\']*(.+?)["\'>]', flags=re.I) + pragma_re = re.compile(r'<meta.*?content=["\']*;?charset=(.+?)["\'>]', flags=re.I) + xml_re = re.compile(r'^<\?xml.*?encoding=["\']*(.+?)["\'>]') + + return (charset_re.findall(content) + + pragma_re.findall(content) + + xml_re.findall(content)) + + +def _parse_content_type_header(header): + """Returns content type and parameters from given header + + :param header: string + :return: tuple containing content type and dictionary of + parameters + """ + + tokens = header.split(';') + content_type, params = tokens[0].strip(), tokens[1:] + params_dict = {} + items_to_strip = "\"' " + + for param in params: + param = param.strip() + if param: + key, value = param, True + index_of_equals = param.find("=") + if index_of_equals != -1: + key = param[:index_of_equals].strip(items_to_strip) + value = param[index_of_equals + 1:].strip(items_to_strip) + params_dict[key.lower()] = value + return content_type, params_dict + + +def get_encoding_from_headers(headers): + """Returns encodings from given HTTP Header Dict. + + :param headers: dictionary to extract encoding from. + :rtype: str + """ + + content_type = headers.get('content-type') + + if not content_type: + return None + + content_type, params = _parse_content_type_header(content_type) + + if 'charset' in params: + return params['charset'].strip("'\"") + + if 'text' in content_type: + return 'ISO-8859-1' + + +def stream_decode_response_unicode(iterator, r): + """Stream decodes a iterator.""" + + if r.encoding is None: + for item in iterator: + yield item + return + + decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace') + for chunk in iterator: + rv = decoder.decode(chunk) + if rv: + yield rv + rv = decoder.decode(b'', final=True) + if rv: + yield rv + + +def iter_slices(string, slice_length): + """Iterate over slices of a string.""" + pos = 0 + if slice_length is None or slice_length <= 0: + slice_length = len(string) + while pos < len(string): + yield string[pos:pos + slice_length] + pos += slice_length + + +def get_unicode_from_response(r): + """Returns the requested content back in unicode. + + :param r: Response object to get unicode content from. + + Tried: + + 1. charset from content-type + 2. fall back and replace all unicode characters + + :rtype: str + """ + warnings.warn(( + 'In requests 3.0, get_unicode_from_response will be removed. For ' + 'more information, please see the discussion on issue #2266. (This' + ' warning should only appear once.)'), + DeprecationWarning) + + tried_encodings = [] + + # Try charset from content-type + encoding = get_encoding_from_headers(r.headers) + + if encoding: + try: + return str(r.content, encoding) + except UnicodeError: + tried_encodings.append(encoding) + + # Fall back: + try: + return str(r.content, encoding, errors='replace') + except TypeError: + return r.content + + +# The unreserved URI characters (RFC 3986) +UNRESERVED_SET = frozenset( + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + "0123456789-._~") + + +def unquote_unreserved(uri): + """Un-escape any percent-escape sequences in a URI that are unreserved + characters. This leaves all reserved, illegal and non-ASCII bytes encoded. + + :rtype: str + """ + parts = uri.split('%') + for i in range(1, len(parts)): + h = parts[i][0:2] + if len(h) == 2 and h.isalnum(): + try: + c = chr(int(h, 16)) + except ValueError: + raise InvalidURL("Invalid percent-escape sequence: '%s'" % h) + + if c in UNRESERVED_SET: + parts[i] = c + parts[i][2:] + else: + parts[i] = '%' + parts[i] + else: + parts[i] = '%' + parts[i] + return ''.join(parts) + + +def requote_uri(uri): + """Re-quote the given URI. + + This function passes the given URI through an unquote/quote cycle to + ensure that it is fully and consistently quoted. + + :rtype: str + """ + safe_with_percent = "!#$%&'()*+,/:;=?@[]~" + safe_without_percent = "!#$&'()*+,/:;=?@[]~" + try: + # Unquote only the unreserved characters + # Then quote only illegal characters (do not quote reserved, + # unreserved, or '%') + return quote(unquote_unreserved(uri), safe=safe_with_percent) + except InvalidURL: + # We couldn't unquote the given URI, so let's try quoting it, but + # there may be unquoted '%'s in the URI. We need to make sure they're + # properly quoted so they do not cause issues elsewhere. + return quote(uri, safe=safe_without_percent) + + +def address_in_network(ip, net): + """This function allows you to check if an IP belongs to a network subnet + + Example: returns True if ip = 192.168.1.1 and net = 192.168.1.0/24 + returns False if ip = 192.168.1.1 and net = 192.168.100.0/24 + + :rtype: bool + """ + ipaddr = struct.unpack('=L', socket.inet_aton(ip))[0] + netaddr, bits = net.split('/') + netmask = struct.unpack('=L', socket.inet_aton(dotted_netmask(int(bits))))[0] + network = struct.unpack('=L', socket.inet_aton(netaddr))[0] & netmask + return (ipaddr & netmask) == (network & netmask) + + +def dotted_netmask(mask): + """Converts mask from /xx format to xxx.xxx.xxx.xxx + + Example: if mask is 24 function returns 255.255.255.0 + + :rtype: str + """ + bits = 0xffffffff ^ (1 << 32 - mask) - 1 + return socket.inet_ntoa(struct.pack('>I', bits)) + + +def is_ipv4_address(string_ip): + """ + :rtype: bool + """ + try: + socket.inet_aton(string_ip) + except socket.error: + return False + return True + + +def is_valid_cidr(string_network): + """ + Very simple check of the cidr format in no_proxy variable. + + :rtype: bool + """ + if string_network.count('/') == 1: + try: + mask = int(string_network.split('/')[1]) + except ValueError: + return False + + if mask < 1 or mask > 32: + return False + + try: + socket.inet_aton(string_network.split('/')[0]) + except socket.error: + return False + else: + return False + return True + + +@contextlib.contextmanager +def set_environ(env_name, value): + """Set the environment variable 'env_name' to 'value' + + Save previous value, yield, and then restore the previous value stored in + the environment variable 'env_name'. + + If 'value' is None, do nothing""" + value_changed = value is not None + if value_changed: + old_value = os.environ.get(env_name) + os.environ[env_name] = value + try: + yield + finally: + if value_changed: + if old_value is None: + del os.environ[env_name] + else: + os.environ[env_name] = old_value + + +def should_bypass_proxies(url, no_proxy): + """ + Returns whether we should bypass proxies or not. + + :rtype: bool + """ + # Prioritize lowercase environment variables over uppercase + # to keep a consistent behaviour with other http projects (curl, wget). + get_proxy = lambda k: os.environ.get(k) or os.environ.get(k.upper()) + + # First check whether no_proxy is defined. If it is, check that the URL + # we're getting isn't in the no_proxy list. + no_proxy_arg = no_proxy + if no_proxy is None: + no_proxy = get_proxy('no_proxy') + parsed = urlparse(url) + + if parsed.hostname is None: + # URLs don't always have hostnames, e.g. file:/// urls. + return True + + if no_proxy: + # We need to check whether we match here. We need to see if we match + # the end of the hostname, both with and without the port. + no_proxy = ( + host for host in no_proxy.replace(' ', '').split(',') if host + ) + + if is_ipv4_address(parsed.hostname): + for proxy_ip in no_proxy: + if is_valid_cidr(proxy_ip): + if address_in_network(parsed.hostname, proxy_ip): + return True + elif parsed.hostname == proxy_ip: + # If no_proxy ip was defined in plain IP notation instead of cidr notation & + # matches the IP of the index + return True + else: + host_with_port = parsed.hostname + if parsed.port: + host_with_port += ':{}'.format(parsed.port) + + for host in no_proxy: + if parsed.hostname.endswith(host) or host_with_port.endswith(host): + # The URL does match something in no_proxy, so we don't want + # to apply the proxies on this URL. + return True + + with set_environ('no_proxy', no_proxy_arg): + # parsed.hostname can be `None` in cases such as a file URI. + try: + bypass = proxy_bypass(parsed.hostname) + except (TypeError, socket.gaierror): + bypass = False + + if bypass: + return True + + return False + + +def get_environ_proxies(url, no_proxy=None): + """ + Return a dict of environment proxies. + + :rtype: dict + """ + if should_bypass_proxies(url, no_proxy=no_proxy): + return {} + else: + return getproxies() + + +def select_proxy(url, proxies): + """Select a proxy for the url, if applicable. + + :param url: The url being for the request + :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs + """ + proxies = proxies or {} + urlparts = urlparse(url) + if urlparts.hostname is None: + return proxies.get(urlparts.scheme, proxies.get('all')) + + proxy_keys = [ + urlparts.scheme + '://' + urlparts.hostname, + urlparts.scheme, + 'all://' + urlparts.hostname, + 'all', + ] + proxy = None + for proxy_key in proxy_keys: + if proxy_key in proxies: + proxy = proxies[proxy_key] + break + + return proxy + + +def default_user_agent(name="python-requests"): + """ + Return a string representing the default user agent. + + :rtype: str + """ + return '%s/%s' % (name, __version__) + + +def default_headers(): + """ + :rtype: requests.structures.CaseInsensitiveDict + """ + return CaseInsensitiveDict({ + 'User-Agent': default_user_agent(), + 'Accept-Encoding': ', '.join(('gzip', 'deflate')), + 'Accept': '*/*', + 'Connection': 'keep-alive', + }) + + +def parse_header_links(value): + """Return a list of parsed link headers proxies. + + i.e. Link: <http:/.../front.jpeg>; rel=front; type="image/jpeg",<http://.../back.jpeg>; rel=back;type="image/jpeg" + + :rtype: list + """ + + links = [] + + replace_chars = ' \'"' + + value = value.strip(replace_chars) + if not value: + return links + + for val in re.split(', *<', value): + try: + url, params = val.split(';', 1) + except ValueError: + url, params = val, '' + + link = {'url': url.strip('<> \'"')} + + for param in params.split(';'): + try: + key, value = param.split('=') + except ValueError: + break + + link[key.strip(replace_chars)] = value.strip(replace_chars) + + links.append(link) + + return links + + +# Null bytes; no need to recreate these on each call to guess_json_utf +_null = '\x00'.encode('ascii') # encoding to ASCII for Python 3 +_null2 = _null * 2 +_null3 = _null * 3 + + +def guess_json_utf(data): + """ + :rtype: str + """ + # JSON always starts with two ASCII characters, so detection is as + # easy as counting the nulls and from their location and count + # determine the encoding. Also detect a BOM, if present. + sample = data[:4] + if sample in (codecs.BOM_UTF32_LE, codecs.BOM_UTF32_BE): + return 'utf-32' # BOM included + if sample[:3] == codecs.BOM_UTF8: + return 'utf-8-sig' # BOM included, MS style (discouraged) + if sample[:2] in (codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE): + return 'utf-16' # BOM included + nullcount = sample.count(_null) + if nullcount == 0: + return 'utf-8' + if nullcount == 2: + if sample[::2] == _null2: # 1st and 3rd are null + return 'utf-16-be' + if sample[1::2] == _null2: # 2nd and 4th are null + return 'utf-16-le' + # Did not detect 2 valid UTF-16 ascii-range characters + if nullcount == 3: + if sample[:3] == _null3: + return 'utf-32-be' + if sample[1:] == _null3: + return 'utf-32-le' + # Did not detect a valid UTF-32 ascii-range character + return None + + +def prepend_scheme_if_needed(url, new_scheme): + """Given a URL that may or may not have a scheme, prepend the given scheme. + Does not replace a present scheme with the one provided as an argument. + + :rtype: str + """ + scheme, netloc, path, params, query, fragment = urlparse(url, new_scheme) + + # urlparse is a finicky beast, and sometimes decides that there isn't a + # netloc present. Assume that it's being over-cautious, and switch netloc + # and path if urlparse decided there was no netloc. + if not netloc: + netloc, path = path, netloc + + return urlunparse((scheme, netloc, path, params, query, fragment)) + + +def get_auth_from_url(url): + """Given a url with authentication components, extract them into a tuple of + username,password. + + :rtype: (str,str) + """ + parsed = urlparse(url) + + try: + auth = (unquote(parsed.username), unquote(parsed.password)) + except (AttributeError, TypeError): + auth = ('', '') + + return auth + + +# Moved outside of function to avoid recompile every call +_CLEAN_HEADER_REGEX_BYTE = re.compile(b'^\\S[^\\r\\n]*$|^$') +_CLEAN_HEADER_REGEX_STR = re.compile(r'^\S[^\r\n]*$|^$') + + +def check_header_validity(header): + """Verifies that header value is a string which doesn't contain + leading whitespace or return characters. This prevents unintended + header injection. + + :param header: tuple, in the format (name, value). + """ + name, value = header + + if isinstance(value, bytes): + pat = _CLEAN_HEADER_REGEX_BYTE + else: + pat = _CLEAN_HEADER_REGEX_STR + try: + if not pat.match(value): + raise InvalidHeader("Invalid return character or leading space in header: %s" % name) + except TypeError: + raise InvalidHeader("Value for header {%s: %s} must be of type str or " + "bytes, not %s" % (name, value, type(value))) + + +def urldefragauth(url): + """ + Given a url remove the fragment and the authentication part. + + :rtype: str + """ + scheme, netloc, path, params, query, fragment = urlparse(url) + + # see func:`prepend_scheme_if_needed` + if not netloc: + netloc, path = path, netloc + + netloc = netloc.rsplit('@', 1)[-1] + + return urlunparse((scheme, netloc, path, params, query, '')) + + +def rewind_body(prepared_request): + """Move file pointer back to its recorded starting position + so it can be read again on redirect. + """ + body_seek = getattr(prepared_request.body, 'seek', None) + if body_seek is not None and isinstance(prepared_request._body_position, integer_types): + try: + body_seek(prepared_request._body_position) + except (IOError, OSError): + raise UnrewindableBodyError("An error occurred when rewinding request " + "body for redirect.") + else: + raise UnrewindableBodyError("Unable to rewind request body for redirect.") diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/retrying.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/retrying.py new file mode 100644 index 0000000000..6d1e627aae --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/retrying.py @@ -0,0 +1,267 @@ +## Copyright 2013-2014 Ray Holder +## +## 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. + +import random +from pip._vendor import six +import sys +import time +import traceback + + +# sys.maxint / 2, since Python 3.2 doesn't have a sys.maxint... +MAX_WAIT = 1073741823 + + +def retry(*dargs, **dkw): + """ + Decorator function that instantiates the Retrying object + @param *dargs: positional arguments passed to Retrying object + @param **dkw: keyword arguments passed to the Retrying object + """ + # support both @retry and @retry() as valid syntax + if len(dargs) == 1 and callable(dargs[0]): + def wrap_simple(f): + + @six.wraps(f) + def wrapped_f(*args, **kw): + return Retrying().call(f, *args, **kw) + + return wrapped_f + + return wrap_simple(dargs[0]) + + else: + def wrap(f): + + @six.wraps(f) + def wrapped_f(*args, **kw): + return Retrying(*dargs, **dkw).call(f, *args, **kw) + + return wrapped_f + + return wrap + + +class Retrying(object): + + def __init__(self, + stop=None, wait=None, + stop_max_attempt_number=None, + stop_max_delay=None, + wait_fixed=None, + wait_random_min=None, wait_random_max=None, + wait_incrementing_start=None, wait_incrementing_increment=None, + wait_exponential_multiplier=None, wait_exponential_max=None, + retry_on_exception=None, + retry_on_result=None, + wrap_exception=False, + stop_func=None, + wait_func=None, + wait_jitter_max=None): + + self._stop_max_attempt_number = 5 if stop_max_attempt_number is None else stop_max_attempt_number + self._stop_max_delay = 100 if stop_max_delay is None else stop_max_delay + self._wait_fixed = 1000 if wait_fixed is None else wait_fixed + self._wait_random_min = 0 if wait_random_min is None else wait_random_min + self._wait_random_max = 1000 if wait_random_max is None else wait_random_max + self._wait_incrementing_start = 0 if wait_incrementing_start is None else wait_incrementing_start + self._wait_incrementing_increment = 100 if wait_incrementing_increment is None else wait_incrementing_increment + self._wait_exponential_multiplier = 1 if wait_exponential_multiplier is None else wait_exponential_multiplier + self._wait_exponential_max = MAX_WAIT if wait_exponential_max is None else wait_exponential_max + self._wait_jitter_max = 0 if wait_jitter_max is None else wait_jitter_max + + # TODO add chaining of stop behaviors + # stop behavior + stop_funcs = [] + if stop_max_attempt_number is not None: + stop_funcs.append(self.stop_after_attempt) + + if stop_max_delay is not None: + stop_funcs.append(self.stop_after_delay) + + if stop_func is not None: + self.stop = stop_func + + elif stop is None: + self.stop = lambda attempts, delay: any(f(attempts, delay) for f in stop_funcs) + + else: + self.stop = getattr(self, stop) + + # TODO add chaining of wait behaviors + # wait behavior + wait_funcs = [lambda *args, **kwargs: 0] + if wait_fixed is not None: + wait_funcs.append(self.fixed_sleep) + + if wait_random_min is not None or wait_random_max is not None: + wait_funcs.append(self.random_sleep) + + if wait_incrementing_start is not None or wait_incrementing_increment is not None: + wait_funcs.append(self.incrementing_sleep) + + if wait_exponential_multiplier is not None or wait_exponential_max is not None: + wait_funcs.append(self.exponential_sleep) + + if wait_func is not None: + self.wait = wait_func + + elif wait is None: + self.wait = lambda attempts, delay: max(f(attempts, delay) for f in wait_funcs) + + else: + self.wait = getattr(self, wait) + + # retry on exception filter + if retry_on_exception is None: + self._retry_on_exception = self.always_reject + else: + self._retry_on_exception = retry_on_exception + + # TODO simplify retrying by Exception types + # retry on result filter + if retry_on_result is None: + self._retry_on_result = self.never_reject + else: + self._retry_on_result = retry_on_result + + self._wrap_exception = wrap_exception + + def stop_after_attempt(self, previous_attempt_number, delay_since_first_attempt_ms): + """Stop after the previous attempt >= stop_max_attempt_number.""" + return previous_attempt_number >= self._stop_max_attempt_number + + def stop_after_delay(self, previous_attempt_number, delay_since_first_attempt_ms): + """Stop after the time from the first attempt >= stop_max_delay.""" + return delay_since_first_attempt_ms >= self._stop_max_delay + + def no_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + """Don't sleep at all before retrying.""" + return 0 + + def fixed_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + """Sleep a fixed amount of time between each retry.""" + return self._wait_fixed + + def random_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + """Sleep a random amount of time between wait_random_min and wait_random_max""" + return random.randint(self._wait_random_min, self._wait_random_max) + + def incrementing_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + """ + Sleep an incremental amount of time after each attempt, starting at + wait_incrementing_start and incrementing by wait_incrementing_increment + """ + result = self._wait_incrementing_start + (self._wait_incrementing_increment * (previous_attempt_number - 1)) + if result < 0: + result = 0 + return result + + def exponential_sleep(self, previous_attempt_number, delay_since_first_attempt_ms): + exp = 2 ** previous_attempt_number + result = self._wait_exponential_multiplier * exp + if result > self._wait_exponential_max: + result = self._wait_exponential_max + if result < 0: + result = 0 + return result + + def never_reject(self, result): + return False + + def always_reject(self, result): + return True + + def should_reject(self, attempt): + reject = False + if attempt.has_exception: + reject |= self._retry_on_exception(attempt.value[1]) + else: + reject |= self._retry_on_result(attempt.value) + + return reject + + def call(self, fn, *args, **kwargs): + start_time = int(round(time.time() * 1000)) + attempt_number = 1 + while True: + try: + attempt = Attempt(fn(*args, **kwargs), attempt_number, False) + except: + tb = sys.exc_info() + attempt = Attempt(tb, attempt_number, True) + + if not self.should_reject(attempt): + return attempt.get(self._wrap_exception) + + delay_since_first_attempt_ms = int(round(time.time() * 1000)) - start_time + if self.stop(attempt_number, delay_since_first_attempt_ms): + if not self._wrap_exception and attempt.has_exception: + # get() on an attempt with an exception should cause it to be raised, but raise just in case + raise attempt.get() + else: + raise RetryError(attempt) + else: + sleep = self.wait(attempt_number, delay_since_first_attempt_ms) + if self._wait_jitter_max: + jitter = random.random() * self._wait_jitter_max + sleep = sleep + max(0, jitter) + time.sleep(sleep / 1000.0) + + attempt_number += 1 + + +class Attempt(object): + """ + An Attempt encapsulates a call to a target function that may end as a + normal return value from the function or an Exception depending on what + occurred during the execution. + """ + + def __init__(self, value, attempt_number, has_exception): + self.value = value + self.attempt_number = attempt_number + self.has_exception = has_exception + + def get(self, wrap_exception=False): + """ + Return the return value of this Attempt instance or raise an Exception. + If wrap_exception is true, this Attempt is wrapped inside of a + RetryError before being raised. + """ + if self.has_exception: + if wrap_exception: + raise RetryError(self) + else: + six.reraise(self.value[0], self.value[1], self.value[2]) + else: + return self.value + + def __repr__(self): + if self.has_exception: + return "Attempts: {0}, Error:\n{1}".format(self.attempt_number, "".join(traceback.format_tb(self.value[2]))) + else: + return "Attempts: {0}, Value: {1}".format(self.attempt_number, self.value) + + +class RetryError(Exception): + """ + A RetryError encapsulates the last Attempt instance right before giving up. + """ + + def __init__(self, last_attempt): + self.last_attempt = last_attempt + + def __str__(self): + return "RetryError[{0}]".format(self.last_attempt) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/six.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/six.py new file mode 100644 index 0000000000..89b2188fd6 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/six.py @@ -0,0 +1,952 @@ +# Copyright (c) 2010-2018 Benjamin Peterson +# +# 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. + +"""Utilities for writing code that runs on Python 2 and 3""" + +from __future__ import absolute_import + +import functools +import itertools +import operator +import sys +import types + +__author__ = "Benjamin Peterson <benjamin@python.org>" +__version__ = "1.12.0" + + +# Useful for very coarse version differentiation. +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 +PY34 = sys.version_info[0:2] >= (3, 4) + +if PY3: + string_types = str, + integer_types = int, + class_types = type, + text_type = str + binary_type = bytes + + MAXSIZE = sys.maxsize +else: + string_types = basestring, + integer_types = (int, long) + class_types = (type, types.ClassType) + text_type = unicode + binary_type = str + + if sys.platform.startswith("java"): + # Jython always uses 32 bits. + MAXSIZE = int((1 << 31) - 1) + else: + # It's possible to have sizeof(long) != sizeof(Py_ssize_t). + class X(object): + + def __len__(self): + return 1 << 31 + try: + len(X()) + except OverflowError: + # 32-bit + MAXSIZE = int((1 << 31) - 1) + else: + # 64-bit + MAXSIZE = int((1 << 63) - 1) + del X + + +def _add_doc(func, doc): + """Add documentation to a function.""" + func.__doc__ = doc + + +def _import_module(name): + """Import module, returning the module after the last dot.""" + __import__(name) + return sys.modules[name] + + +class _LazyDescr(object): + + def __init__(self, name): + self.name = name + + def __get__(self, obj, tp): + result = self._resolve() + setattr(obj, self.name, result) # Invokes __set__. + try: + # This is a bit ugly, but it avoids running this again by + # removing this descriptor. + delattr(obj.__class__, self.name) + except AttributeError: + pass + return result + + +class MovedModule(_LazyDescr): + + def __init__(self, name, old, new=None): + super(MovedModule, self).__init__(name) + if PY3: + if new is None: + new = name + self.mod = new + else: + self.mod = old + + def _resolve(self): + return _import_module(self.mod) + + def __getattr__(self, attr): + _module = self._resolve() + value = getattr(_module, attr) + setattr(self, attr, value) + return value + + +class _LazyModule(types.ModuleType): + + def __init__(self, name): + super(_LazyModule, self).__init__(name) + self.__doc__ = self.__class__.__doc__ + + def __dir__(self): + attrs = ["__doc__", "__name__"] + attrs += [attr.name for attr in self._moved_attributes] + return attrs + + # Subclasses should override this + _moved_attributes = [] + + +class MovedAttribute(_LazyDescr): + + def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): + super(MovedAttribute, self).__init__(name) + if PY3: + if new_mod is None: + new_mod = name + self.mod = new_mod + if new_attr is None: + if old_attr is None: + new_attr = name + else: + new_attr = old_attr + self.attr = new_attr + else: + self.mod = old_mod + if old_attr is None: + old_attr = name + self.attr = old_attr + + def _resolve(self): + module = _import_module(self.mod) + return getattr(module, self.attr) + + +class _SixMetaPathImporter(object): + + """ + A meta path importer to import six.moves and its submodules. + + This class implements a PEP302 finder and loader. It should be compatible + with Python 2.5 and all existing versions of Python3 + """ + + def __init__(self, six_module_name): + self.name = six_module_name + self.known_modules = {} + + def _add_module(self, mod, *fullnames): + for fullname in fullnames: + self.known_modules[self.name + "." + fullname] = mod + + def _get_module(self, fullname): + return self.known_modules[self.name + "." + fullname] + + def find_module(self, fullname, path=None): + if fullname in self.known_modules: + return self + return None + + def __get_module(self, fullname): + try: + return self.known_modules[fullname] + except KeyError: + raise ImportError("This loader does not know module " + fullname) + + def load_module(self, fullname): + try: + # in case of a reload + return sys.modules[fullname] + except KeyError: + pass + mod = self.__get_module(fullname) + if isinstance(mod, MovedModule): + mod = mod._resolve() + else: + mod.__loader__ = self + sys.modules[fullname] = mod + return mod + + def is_package(self, fullname): + """ + Return true, if the named module is a package. + + We need this method to get correct spec objects with + Python 3.4 (see PEP451) + """ + return hasattr(self.__get_module(fullname), "__path__") + + def get_code(self, fullname): + """Return None + + Required, if is_package is implemented""" + self.__get_module(fullname) # eventually raises ImportError + return None + get_source = get_code # same as get_code + +_importer = _SixMetaPathImporter(__name__) + + +class _MovedItems(_LazyModule): + + """Lazy loading of moved objects""" + __path__ = [] # mark as package + + +_moved_attributes = [ + MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), + MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), + MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), + MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), + MovedAttribute("intern", "__builtin__", "sys"), + MovedAttribute("map", "itertools", "builtins", "imap", "map"), + MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), + MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), + MovedAttribute("getoutput", "commands", "subprocess"), + MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), + MovedAttribute("reduce", "__builtin__", "functools"), + MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), + MovedAttribute("StringIO", "StringIO", "io"), + MovedAttribute("UserDict", "UserDict", "collections"), + MovedAttribute("UserList", "UserList", "collections"), + MovedAttribute("UserString", "UserString", "collections"), + MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), + MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), + MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), + MovedModule("html_parser", "HTMLParser", "html.parser"), + MovedModule("http_client", "httplib", "http.client"), + MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), + MovedModule("email_mime_image", "email.MIMEImage", "email.mime.image"), + MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), + MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), + MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), + MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), + MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), + MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), + MovedModule("cPickle", "cPickle", "pickle"), + MovedModule("queue", "Queue"), + MovedModule("reprlib", "repr"), + MovedModule("socketserver", "SocketServer"), + MovedModule("_thread", "thread", "_thread"), + MovedModule("tkinter", "Tkinter"), + MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), + MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), + MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), + MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), + MovedModule("tkinter_tix", "Tix", "tkinter.tix"), + MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), + MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), + MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), + MovedModule("tkinter_colorchooser", "tkColorChooser", + "tkinter.colorchooser"), + MovedModule("tkinter_commondialog", "tkCommonDialog", + "tkinter.commondialog"), + MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), + MovedModule("tkinter_font", "tkFont", "tkinter.font"), + MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), + MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", + "tkinter.simpledialog"), + MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), + MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), + MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), + MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), + MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), + MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), +] +# Add windows specific modules. +if sys.platform == "win32": + _moved_attributes += [ + MovedModule("winreg", "_winreg"), + ] + +for attr in _moved_attributes: + setattr(_MovedItems, attr.name, attr) + if isinstance(attr, MovedModule): + _importer._add_module(attr, "moves." + attr.name) +del attr + +_MovedItems._moved_attributes = _moved_attributes + +moves = _MovedItems(__name__ + ".moves") +_importer._add_module(moves, "moves") + + +class Module_six_moves_urllib_parse(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_parse""" + + +_urllib_parse_moved_attributes = [ + MovedAttribute("ParseResult", "urlparse", "urllib.parse"), + MovedAttribute("SplitResult", "urlparse", "urllib.parse"), + MovedAttribute("parse_qs", "urlparse", "urllib.parse"), + MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), + MovedAttribute("urldefrag", "urlparse", "urllib.parse"), + MovedAttribute("urljoin", "urlparse", "urllib.parse"), + MovedAttribute("urlparse", "urlparse", "urllib.parse"), + MovedAttribute("urlsplit", "urlparse", "urllib.parse"), + MovedAttribute("urlunparse", "urlparse", "urllib.parse"), + MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), + MovedAttribute("quote", "urllib", "urllib.parse"), + MovedAttribute("quote_plus", "urllib", "urllib.parse"), + MovedAttribute("unquote", "urllib", "urllib.parse"), + MovedAttribute("unquote_plus", "urllib", "urllib.parse"), + MovedAttribute("unquote_to_bytes", "urllib", "urllib.parse", "unquote", "unquote_to_bytes"), + MovedAttribute("urlencode", "urllib", "urllib.parse"), + MovedAttribute("splitquery", "urllib", "urllib.parse"), + MovedAttribute("splittag", "urllib", "urllib.parse"), + MovedAttribute("splituser", "urllib", "urllib.parse"), + MovedAttribute("splitvalue", "urllib", "urllib.parse"), + MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), + MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), + MovedAttribute("uses_params", "urlparse", "urllib.parse"), + MovedAttribute("uses_query", "urlparse", "urllib.parse"), + MovedAttribute("uses_relative", "urlparse", "urllib.parse"), +] +for attr in _urllib_parse_moved_attributes: + setattr(Module_six_moves_urllib_parse, attr.name, attr) +del attr + +Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes + +_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), + "moves.urllib_parse", "moves.urllib.parse") + + +class Module_six_moves_urllib_error(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_error""" + + +_urllib_error_moved_attributes = [ + MovedAttribute("URLError", "urllib2", "urllib.error"), + MovedAttribute("HTTPError", "urllib2", "urllib.error"), + MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), +] +for attr in _urllib_error_moved_attributes: + setattr(Module_six_moves_urllib_error, attr.name, attr) +del attr + +Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes + +_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), + "moves.urllib_error", "moves.urllib.error") + + +class Module_six_moves_urllib_request(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_request""" + + +_urllib_request_moved_attributes = [ + MovedAttribute("urlopen", "urllib2", "urllib.request"), + MovedAttribute("install_opener", "urllib2", "urllib.request"), + MovedAttribute("build_opener", "urllib2", "urllib.request"), + MovedAttribute("pathname2url", "urllib", "urllib.request"), + MovedAttribute("url2pathname", "urllib", "urllib.request"), + MovedAttribute("getproxies", "urllib", "urllib.request"), + MovedAttribute("Request", "urllib2", "urllib.request"), + MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), + MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), + MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), + MovedAttribute("BaseHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), + MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), + MovedAttribute("FileHandler", "urllib2", "urllib.request"), + MovedAttribute("FTPHandler", "urllib2", "urllib.request"), + MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), + MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), + MovedAttribute("urlretrieve", "urllib", "urllib.request"), + MovedAttribute("urlcleanup", "urllib", "urllib.request"), + MovedAttribute("URLopener", "urllib", "urllib.request"), + MovedAttribute("FancyURLopener", "urllib", "urllib.request"), + MovedAttribute("proxy_bypass", "urllib", "urllib.request"), + MovedAttribute("parse_http_list", "urllib2", "urllib.request"), + MovedAttribute("parse_keqv_list", "urllib2", "urllib.request"), +] +for attr in _urllib_request_moved_attributes: + setattr(Module_six_moves_urllib_request, attr.name, attr) +del attr + +Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes + +_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), + "moves.urllib_request", "moves.urllib.request") + + +class Module_six_moves_urllib_response(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_response""" + + +_urllib_response_moved_attributes = [ + MovedAttribute("addbase", "urllib", "urllib.response"), + MovedAttribute("addclosehook", "urllib", "urllib.response"), + MovedAttribute("addinfo", "urllib", "urllib.response"), + MovedAttribute("addinfourl", "urllib", "urllib.response"), +] +for attr in _urllib_response_moved_attributes: + setattr(Module_six_moves_urllib_response, attr.name, attr) +del attr + +Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes + +_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), + "moves.urllib_response", "moves.urllib.response") + + +class Module_six_moves_urllib_robotparser(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_robotparser""" + + +_urllib_robotparser_moved_attributes = [ + MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), +] +for attr in _urllib_robotparser_moved_attributes: + setattr(Module_six_moves_urllib_robotparser, attr.name, attr) +del attr + +Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes + +_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), + "moves.urllib_robotparser", "moves.urllib.robotparser") + + +class Module_six_moves_urllib(types.ModuleType): + + """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" + __path__ = [] # mark as package + parse = _importer._get_module("moves.urllib_parse") + error = _importer._get_module("moves.urllib_error") + request = _importer._get_module("moves.urllib_request") + response = _importer._get_module("moves.urllib_response") + robotparser = _importer._get_module("moves.urllib_robotparser") + + def __dir__(self): + return ['parse', 'error', 'request', 'response', 'robotparser'] + +_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), + "moves.urllib") + + +def add_move(move): + """Add an item to six.moves.""" + setattr(_MovedItems, move.name, move) + + +def remove_move(name): + """Remove item from six.moves.""" + try: + delattr(_MovedItems, name) + except AttributeError: + try: + del moves.__dict__[name] + except KeyError: + raise AttributeError("no such move, %r" % (name,)) + + +if PY3: + _meth_func = "__func__" + _meth_self = "__self__" + + _func_closure = "__closure__" + _func_code = "__code__" + _func_defaults = "__defaults__" + _func_globals = "__globals__" +else: + _meth_func = "im_func" + _meth_self = "im_self" + + _func_closure = "func_closure" + _func_code = "func_code" + _func_defaults = "func_defaults" + _func_globals = "func_globals" + + +try: + advance_iterator = next +except NameError: + def advance_iterator(it): + return it.next() +next = advance_iterator + + +try: + callable = callable +except NameError: + def callable(obj): + return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) + + +if PY3: + def get_unbound_function(unbound): + return unbound + + create_bound_method = types.MethodType + + def create_unbound_method(func, cls): + return func + + Iterator = object +else: + def get_unbound_function(unbound): + return unbound.im_func + + def create_bound_method(func, obj): + return types.MethodType(func, obj, obj.__class__) + + def create_unbound_method(func, cls): + return types.MethodType(func, None, cls) + + class Iterator(object): + + def next(self): + return type(self).__next__(self) + + callable = callable +_add_doc(get_unbound_function, + """Get the function out of a possibly unbound function""") + + +get_method_function = operator.attrgetter(_meth_func) +get_method_self = operator.attrgetter(_meth_self) +get_function_closure = operator.attrgetter(_func_closure) +get_function_code = operator.attrgetter(_func_code) +get_function_defaults = operator.attrgetter(_func_defaults) +get_function_globals = operator.attrgetter(_func_globals) + + +if PY3: + def iterkeys(d, **kw): + return iter(d.keys(**kw)) + + def itervalues(d, **kw): + return iter(d.values(**kw)) + + def iteritems(d, **kw): + return iter(d.items(**kw)) + + def iterlists(d, **kw): + return iter(d.lists(**kw)) + + viewkeys = operator.methodcaller("keys") + + viewvalues = operator.methodcaller("values") + + viewitems = operator.methodcaller("items") +else: + def iterkeys(d, **kw): + return d.iterkeys(**kw) + + def itervalues(d, **kw): + return d.itervalues(**kw) + + def iteritems(d, **kw): + return d.iteritems(**kw) + + def iterlists(d, **kw): + return d.iterlists(**kw) + + viewkeys = operator.methodcaller("viewkeys") + + viewvalues = operator.methodcaller("viewvalues") + + viewitems = operator.methodcaller("viewitems") + +_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") +_add_doc(itervalues, "Return an iterator over the values of a dictionary.") +_add_doc(iteritems, + "Return an iterator over the (key, value) pairs of a dictionary.") +_add_doc(iterlists, + "Return an iterator over the (key, [values]) pairs of a dictionary.") + + +if PY3: + def b(s): + return s.encode("latin-1") + + def u(s): + return s + unichr = chr + import struct + int2byte = struct.Struct(">B").pack + del struct + byte2int = operator.itemgetter(0) + indexbytes = operator.getitem + iterbytes = iter + import io + StringIO = io.StringIO + BytesIO = io.BytesIO + _assertCountEqual = "assertCountEqual" + if sys.version_info[1] <= 1: + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" + else: + _assertRaisesRegex = "assertRaisesRegex" + _assertRegex = "assertRegex" +else: + def b(s): + return s + # Workaround for standalone backslash + + def u(s): + return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") + unichr = unichr + int2byte = chr + + def byte2int(bs): + return ord(bs[0]) + + def indexbytes(buf, i): + return ord(buf[i]) + iterbytes = functools.partial(itertools.imap, ord) + import StringIO + StringIO = BytesIO = StringIO.StringIO + _assertCountEqual = "assertItemsEqual" + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" +_add_doc(b, """Byte literal""") +_add_doc(u, """Text literal""") + + +def assertCountEqual(self, *args, **kwargs): + return getattr(self, _assertCountEqual)(*args, **kwargs) + + +def assertRaisesRegex(self, *args, **kwargs): + return getattr(self, _assertRaisesRegex)(*args, **kwargs) + + +def assertRegex(self, *args, **kwargs): + return getattr(self, _assertRegex)(*args, **kwargs) + + +if PY3: + exec_ = getattr(moves.builtins, "exec") + + def reraise(tp, value, tb=None): + try: + if value is None: + value = tp() + if value.__traceback__ is not tb: + raise value.with_traceback(tb) + raise value + finally: + value = None + tb = None + +else: + def exec_(_code_, _globs_=None, _locs_=None): + """Execute code in a namespace.""" + if _globs_ is None: + frame = sys._getframe(1) + _globs_ = frame.f_globals + if _locs_ is None: + _locs_ = frame.f_locals + del frame + elif _locs_ is None: + _locs_ = _globs_ + exec("""exec _code_ in _globs_, _locs_""") + + exec_("""def reraise(tp, value, tb=None): + try: + raise tp, value, tb + finally: + tb = None +""") + + +if sys.version_info[:2] == (3, 2): + exec_("""def raise_from(value, from_value): + try: + if from_value is None: + raise value + raise value from from_value + finally: + value = None +""") +elif sys.version_info[:2] > (3, 2): + exec_("""def raise_from(value, from_value): + try: + raise value from from_value + finally: + value = None +""") +else: + def raise_from(value, from_value): + raise value + + +print_ = getattr(moves.builtins, "print", None) +if print_ is None: + def print_(*args, **kwargs): + """The new-style print function for Python 2.4 and 2.5.""" + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + + def write(data): + if not isinstance(data, basestring): + data = str(data) + # If the file has an encoding, encode unicode with it. + if (isinstance(fp, file) and + isinstance(data, unicode) and + fp.encoding is not None): + errors = getattr(fp, "errors", None) + if errors is None: + errors = "strict" + data = data.encode(fp.encoding, errors) + fp.write(data) + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) +if sys.version_info[:2] < (3, 3): + _print = print_ + + def print_(*args, **kwargs): + fp = kwargs.get("file", sys.stdout) + flush = kwargs.pop("flush", False) + _print(*args, **kwargs) + if flush and fp is not None: + fp.flush() + +_add_doc(reraise, """Reraise an exception.""") + +if sys.version_info[0:2] < (3, 4): + def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES): + def wrapper(f): + f = functools.wraps(wrapped, assigned, updated)(f) + f.__wrapped__ = wrapped + return f + return wrapper +else: + wraps = functools.wraps + + +def with_metaclass(meta, *bases): + """Create a base class with a metaclass.""" + # This requires a bit of explanation: the basic idea is to make a dummy + # metaclass for one level of class instantiation that replaces itself with + # the actual metaclass. + class metaclass(type): + + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + + @classmethod + def __prepare__(cls, name, this_bases): + return meta.__prepare__(name, bases) + return type.__new__(metaclass, 'temporary_class', (), {}) + + +def add_metaclass(metaclass): + """Class decorator for creating a class with a metaclass.""" + def wrapper(cls): + orig_vars = cls.__dict__.copy() + slots = orig_vars.get('__slots__') + if slots is not None: + if isinstance(slots, str): + slots = [slots] + for slots_var in slots: + orig_vars.pop(slots_var) + orig_vars.pop('__dict__', None) + orig_vars.pop('__weakref__', None) + if hasattr(cls, '__qualname__'): + orig_vars['__qualname__'] = cls.__qualname__ + return metaclass(cls.__name__, cls.__bases__, orig_vars) + return wrapper + + +def ensure_binary(s, encoding='utf-8', errors='strict'): + """Coerce **s** to six.binary_type. + + For Python 2: + - `unicode` -> encoded to `str` + - `str` -> `str` + + For Python 3: + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ + if isinstance(s, text_type): + return s.encode(encoding, errors) + elif isinstance(s, binary_type): + return s + else: + raise TypeError("not expecting type '%s'" % type(s)) + + +def ensure_str(s, encoding='utf-8', errors='strict'): + """Coerce *s* to `str`. + + For Python 2: + - `unicode` -> encoded to `str` + - `str` -> `str` + + For Python 3: + - `str` -> `str` + - `bytes` -> decoded to `str` + """ + if not isinstance(s, (text_type, binary_type)): + raise TypeError("not expecting type '%s'" % type(s)) + if PY2 and isinstance(s, text_type): + s = s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): + s = s.decode(encoding, errors) + return s + + +def ensure_text(s, encoding='utf-8', errors='strict'): + """Coerce *s* to six.text_type. + + For Python 2: + - `unicode` -> `unicode` + - `str` -> `unicode` + + For Python 3: + - `str` -> `str` + - `bytes` -> decoded to `str` + """ + if isinstance(s, binary_type): + return s.decode(encoding, errors) + elif isinstance(s, text_type): + return s + else: + raise TypeError("not expecting type '%s'" % type(s)) + + + +def python_2_unicode_compatible(klass): + """ + A decorator that defines __unicode__ and __str__ methods under Python 2. + Under Python 3 it does nothing. + + To support Python 2 and 3 with a single code base, define a __str__ method + returning text and apply this decorator to the class. + """ + if PY2: + if '__str__' not in klass.__dict__: + raise ValueError("@python_2_unicode_compatible cannot be applied " + "to %s because it doesn't define __str__()." % + klass.__name__) + klass.__unicode__ = klass.__str__ + klass.__str__ = lambda self: self.__unicode__().encode('utf-8') + return klass + + +# Complete the moves implementation. +# This code is at the end of this module to speed up module loading. +# Turn this module into a package. +__path__ = [] # required for PEP 302 and PEP 451 +__package__ = __name__ # see PEP 366 @ReservedAssignment +if globals().get("__spec__") is not None: + __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable +# Remove other six meta path importers, since they cause problems. This can +# happen if six is removed from sys.modules and then reloaded. (Setuptools does +# this for some reason.) +if sys.meta_path: + for i, importer in enumerate(sys.meta_path): + # Here's some real nastiness: Another "instance" of the six module might + # be floating around. Therefore, we can't use isinstance() to check for + # the six meta path importer, since the other six instance will have + # inserted an importer with different class. + if (type(importer).__name__ == "_SixMetaPathImporter" and + importer.name == __name__): + del sys.meta_path[i] + break + del i, importer +# Finally, add the importer to the meta path import hook. +sys.meta_path.append(_importer) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/__init__.py new file mode 100644 index 0000000000..148a9c31a7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/__init__.py @@ -0,0 +1,92 @@ +""" +urllib3 - Thread-safe connection pooling and re-using. +""" + +from __future__ import absolute_import +import warnings + +from .connectionpool import ( + HTTPConnectionPool, + HTTPSConnectionPool, + connection_from_url +) + +from . import exceptions +from .filepost import encode_multipart_formdata +from .poolmanager import PoolManager, ProxyManager, proxy_from_url +from .response import HTTPResponse +from .util.request import make_headers +from .util.url import get_host +from .util.timeout import Timeout +from .util.retry import Retry + + +# Set default logging handler to avoid "No handler found" warnings. +import logging +from logging import NullHandler + +__author__ = 'Andrey Petrov (andrey.petrov@shazow.net)' +__license__ = 'MIT' +__version__ = '1.24.1' + +__all__ = ( + 'HTTPConnectionPool', + 'HTTPSConnectionPool', + 'PoolManager', + 'ProxyManager', + 'HTTPResponse', + 'Retry', + 'Timeout', + 'add_stderr_logger', + 'connection_from_url', + 'disable_warnings', + 'encode_multipart_formdata', + 'get_host', + 'make_headers', + 'proxy_from_url', +) + +logging.getLogger(__name__).addHandler(NullHandler()) + + +def add_stderr_logger(level=logging.DEBUG): + """ + Helper for quickly adding a StreamHandler to the logger. Useful for + debugging. + + Returns the handler after adding it. + """ + # This method needs to be in this __init__.py to get the __name__ correct + # even if urllib3 is vendored within another package. + logger = logging.getLogger(__name__) + handler = logging.StreamHandler() + handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s')) + logger.addHandler(handler) + logger.setLevel(level) + logger.debug('Added a stderr logging handler to logger: %s', __name__) + return handler + + +# ... Clean up. +del NullHandler + + +# All warning filters *must* be appended unless you're really certain that they +# shouldn't be: otherwise, it's very hard for users to use most Python +# mechanisms to silence them. +# SecurityWarning's always go off by default. +warnings.simplefilter('always', exceptions.SecurityWarning, append=True) +# SubjectAltNameWarning's should go off once per host +warnings.simplefilter('default', exceptions.SubjectAltNameWarning, append=True) +# InsecurePlatformWarning's don't vary between requests, so we keep it default. +warnings.simplefilter('default', exceptions.InsecurePlatformWarning, + append=True) +# SNIMissingWarnings should go off only once. +warnings.simplefilter('default', exceptions.SNIMissingWarning, append=True) + + +def disable_warnings(category=exceptions.HTTPWarning): + """ + Helper for quickly disabling all urllib3 warnings. + """ + warnings.simplefilter('ignore', category) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/_collections.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/_collections.py new file mode 100644 index 0000000000..34f23811c6 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/_collections.py @@ -0,0 +1,329 @@ +from __future__ import absolute_import +try: + from collections.abc import Mapping, MutableMapping +except ImportError: + from collections import Mapping, MutableMapping +try: + from threading import RLock +except ImportError: # Platform-specific: No threads available + class RLock: + def __enter__(self): + pass + + def __exit__(self, exc_type, exc_value, traceback): + pass + + +from collections import OrderedDict +from .exceptions import InvalidHeader +from .packages.six import iterkeys, itervalues, PY3 + + +__all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict'] + + +_Null = object() + + +class RecentlyUsedContainer(MutableMapping): + """ + Provides a thread-safe dict-like container which maintains up to + ``maxsize`` keys while throwing away the least-recently-used keys beyond + ``maxsize``. + + :param maxsize: + Maximum number of recent elements to retain. + + :param dispose_func: + Every time an item is evicted from the container, + ``dispose_func(value)`` is called. Callback which will get called + """ + + ContainerCls = OrderedDict + + def __init__(self, maxsize=10, dispose_func=None): + self._maxsize = maxsize + self.dispose_func = dispose_func + + self._container = self.ContainerCls() + self.lock = RLock() + + def __getitem__(self, key): + # Re-insert the item, moving it to the end of the eviction line. + with self.lock: + item = self._container.pop(key) + self._container[key] = item + return item + + def __setitem__(self, key, value): + evicted_value = _Null + with self.lock: + # Possibly evict the existing value of 'key' + evicted_value = self._container.get(key, _Null) + self._container[key] = value + + # If we didn't evict an existing value, we might have to evict the + # least recently used item from the beginning of the container. + if len(self._container) > self._maxsize: + _key, evicted_value = self._container.popitem(last=False) + + if self.dispose_func and evicted_value is not _Null: + self.dispose_func(evicted_value) + + def __delitem__(self, key): + with self.lock: + value = self._container.pop(key) + + if self.dispose_func: + self.dispose_func(value) + + def __len__(self): + with self.lock: + return len(self._container) + + def __iter__(self): + raise NotImplementedError('Iteration over this class is unlikely to be threadsafe.') + + def clear(self): + with self.lock: + # Copy pointers to all values, then wipe the mapping + values = list(itervalues(self._container)) + self._container.clear() + + if self.dispose_func: + for value in values: + self.dispose_func(value) + + def keys(self): + with self.lock: + return list(iterkeys(self._container)) + + +class HTTPHeaderDict(MutableMapping): + """ + :param headers: + An iterable of field-value pairs. Must not contain multiple field names + when compared case-insensitively. + + :param kwargs: + Additional field-value pairs to pass in to ``dict.update``. + + A ``dict`` like container for storing HTTP Headers. + + Field names are stored and compared case-insensitively in compliance with + RFC 7230. Iteration provides the first case-sensitive key seen for each + case-insensitive pair. + + Using ``__setitem__`` syntax overwrites fields that compare equal + case-insensitively in order to maintain ``dict``'s api. For fields that + compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add`` + in a loop. + + If multiple fields that are equal case-insensitively are passed to the + constructor or ``.update``, the behavior is undefined and some will be + lost. + + >>> headers = HTTPHeaderDict() + >>> headers.add('Set-Cookie', 'foo=bar') + >>> headers.add('set-cookie', 'baz=quxx') + >>> headers['content-length'] = '7' + >>> headers['SET-cookie'] + 'foo=bar, baz=quxx' + >>> headers['Content-Length'] + '7' + """ + + def __init__(self, headers=None, **kwargs): + super(HTTPHeaderDict, self).__init__() + self._container = OrderedDict() + if headers is not None: + if isinstance(headers, HTTPHeaderDict): + self._copy_from(headers) + else: + self.extend(headers) + if kwargs: + self.extend(kwargs) + + def __setitem__(self, key, val): + self._container[key.lower()] = [key, val] + return self._container[key.lower()] + + def __getitem__(self, key): + val = self._container[key.lower()] + return ', '.join(val[1:]) + + def __delitem__(self, key): + del self._container[key.lower()] + + def __contains__(self, key): + return key.lower() in self._container + + def __eq__(self, other): + if not isinstance(other, Mapping) and not hasattr(other, 'keys'): + return False + if not isinstance(other, type(self)): + other = type(self)(other) + return (dict((k.lower(), v) for k, v in self.itermerged()) == + dict((k.lower(), v) for k, v in other.itermerged())) + + def __ne__(self, other): + return not self.__eq__(other) + + if not PY3: # Python 2 + iterkeys = MutableMapping.iterkeys + itervalues = MutableMapping.itervalues + + __marker = object() + + def __len__(self): + return len(self._container) + + def __iter__(self): + # Only provide the originally cased names + for vals in self._container.values(): + yield vals[0] + + def pop(self, key, default=__marker): + '''D.pop(k[,d]) -> v, remove specified key and return the corresponding value. + If key is not found, d is returned if given, otherwise KeyError is raised. + ''' + # Using the MutableMapping function directly fails due to the private marker. + # Using ordinary dict.pop would expose the internal structures. + # So let's reinvent the wheel. + try: + value = self[key] + except KeyError: + if default is self.__marker: + raise + return default + else: + del self[key] + return value + + def discard(self, key): + try: + del self[key] + except KeyError: + pass + + def add(self, key, val): + """Adds a (name, value) pair, doesn't overwrite the value if it already + exists. + + >>> headers = HTTPHeaderDict(foo='bar') + >>> headers.add('Foo', 'baz') + >>> headers['foo'] + 'bar, baz' + """ + key_lower = key.lower() + new_vals = [key, val] + # Keep the common case aka no item present as fast as possible + vals = self._container.setdefault(key_lower, new_vals) + if new_vals is not vals: + vals.append(val) + + def extend(self, *args, **kwargs): + """Generic import function for any type of header-like object. + Adapted version of MutableMapping.update in order to insert items + with self.add instead of self.__setitem__ + """ + if len(args) > 1: + raise TypeError("extend() takes at most 1 positional " + "arguments ({0} given)".format(len(args))) + other = args[0] if len(args) >= 1 else () + + if isinstance(other, HTTPHeaderDict): + for key, val in other.iteritems(): + self.add(key, val) + elif isinstance(other, Mapping): + for key in other: + self.add(key, other[key]) + elif hasattr(other, "keys"): + for key in other.keys(): + self.add(key, other[key]) + else: + for key, value in other: + self.add(key, value) + + for key, value in kwargs.items(): + self.add(key, value) + + def getlist(self, key, default=__marker): + """Returns a list of all the values for the named field. Returns an + empty list if the key doesn't exist.""" + try: + vals = self._container[key.lower()] + except KeyError: + if default is self.__marker: + return [] + return default + else: + return vals[1:] + + # Backwards compatibility for httplib + getheaders = getlist + getallmatchingheaders = getlist + iget = getlist + + # Backwards compatibility for http.cookiejar + get_all = getlist + + def __repr__(self): + return "%s(%s)" % (type(self).__name__, dict(self.itermerged())) + + def _copy_from(self, other): + for key in other: + val = other.getlist(key) + if isinstance(val, list): + # Don't need to convert tuples + val = list(val) + self._container[key.lower()] = [key] + val + + def copy(self): + clone = type(self)() + clone._copy_from(self) + return clone + + def iteritems(self): + """Iterate over all header lines, including duplicate ones.""" + for key in self: + vals = self._container[key.lower()] + for val in vals[1:]: + yield vals[0], val + + def itermerged(self): + """Iterate over all headers, merging duplicate ones together.""" + for key in self: + val = self._container[key.lower()] + yield val[0], ', '.join(val[1:]) + + def items(self): + return list(self.iteritems()) + + @classmethod + def from_httplib(cls, message): # Python 2 + """Read headers from a Python 2 httplib message object.""" + # python2.7 does not expose a proper API for exporting multiheaders + # efficiently. This function re-reads raw lines from the message + # object and extracts the multiheaders properly. + obs_fold_continued_leaders = (' ', '\t') + headers = [] + + for line in message.headers: + if line.startswith(obs_fold_continued_leaders): + if not headers: + # We received a header line that starts with OWS as described + # in RFC-7230 S3.2.4. This indicates a multiline header, but + # there exists no previous header to which we can attach it. + raise InvalidHeader( + 'Header continuation with no previous header: %s' % line + ) + else: + key, value = headers[-1] + headers[-1] = (key, value + ' ' + line.strip()) + continue + + key, value = line.split(':', 1) + headers.append((key, value.strip())) + + return cls(headers) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/connection.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/connection.py new file mode 100644 index 0000000000..02b36654bd --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/connection.py @@ -0,0 +1,391 @@ +from __future__ import absolute_import +import datetime +import logging +import os +import socket +from socket import error as SocketError, timeout as SocketTimeout +import warnings +from .packages import six +from .packages.six.moves.http_client import HTTPConnection as _HTTPConnection +from .packages.six.moves.http_client import HTTPException # noqa: F401 + +try: # Compiled with SSL? + import ssl + BaseSSLError = ssl.SSLError +except (ImportError, AttributeError): # Platform-specific: No SSL. + ssl = None + + class BaseSSLError(BaseException): + pass + + +try: # Python 3: + # Not a no-op, we're adding this to the namespace so it can be imported. + ConnectionError = ConnectionError +except NameError: # Python 2: + class ConnectionError(Exception): + pass + + +from .exceptions import ( + NewConnectionError, + ConnectTimeoutError, + SubjectAltNameWarning, + SystemTimeWarning, +) +from .packages.ssl_match_hostname import match_hostname, CertificateError + +from .util.ssl_ import ( + resolve_cert_reqs, + resolve_ssl_version, + assert_fingerprint, + create_urllib3_context, + ssl_wrap_socket +) + + +from .util import connection + +from ._collections import HTTPHeaderDict + +log = logging.getLogger(__name__) + +port_by_scheme = { + 'http': 80, + 'https': 443, +} + +# When updating RECENT_DATE, move it to within two years of the current date, +# and not less than 6 months ago. +# Example: if Today is 2018-01-01, then RECENT_DATE should be any date on or +# after 2016-01-01 (today - 2 years) AND before 2017-07-01 (today - 6 months) +RECENT_DATE = datetime.date(2017, 6, 30) + + +class DummyConnection(object): + """Used to detect a failed ConnectionCls import.""" + pass + + +class HTTPConnection(_HTTPConnection, object): + """ + Based on httplib.HTTPConnection but provides an extra constructor + backwards-compatibility layer between older and newer Pythons. + + Additional keyword parameters are used to configure attributes of the connection. + Accepted parameters include: + + - ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool` + - ``source_address``: Set the source address for the current connection. + - ``socket_options``: Set specific options on the underlying socket. If not specified, then + defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling + Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy. + + For example, if you wish to enable TCP Keep Alive in addition to the defaults, + you might pass:: + + HTTPConnection.default_socket_options + [ + (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1), + ] + + Or you may want to disable the defaults by passing an empty list (e.g., ``[]``). + """ + + default_port = port_by_scheme['http'] + + #: Disable Nagle's algorithm by default. + #: ``[(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)]`` + default_socket_options = [(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)] + + #: Whether this connection verifies the host's certificate. + is_verified = False + + def __init__(self, *args, **kw): + if six.PY3: # Python 3 + kw.pop('strict', None) + + # Pre-set source_address. + self.source_address = kw.get('source_address') + + #: The socket options provided by the user. If no options are + #: provided, we use the default options. + self.socket_options = kw.pop('socket_options', self.default_socket_options) + + _HTTPConnection.__init__(self, *args, **kw) + + @property + def host(self): + """ + Getter method to remove any trailing dots that indicate the hostname is an FQDN. + + In general, SSL certificates don't include the trailing dot indicating a + fully-qualified domain name, and thus, they don't validate properly when + checked against a domain name that includes the dot. In addition, some + servers may not expect to receive the trailing dot when provided. + + However, the hostname with trailing dot is critical to DNS resolution; doing a + lookup with the trailing dot will properly only resolve the appropriate FQDN, + whereas a lookup without a trailing dot will search the system's search domain + list. Thus, it's important to keep the original host around for use only in + those cases where it's appropriate (i.e., when doing DNS lookup to establish the + actual TCP connection across which we're going to send HTTP requests). + """ + return self._dns_host.rstrip('.') + + @host.setter + def host(self, value): + """ + Setter for the `host` property. + + We assume that only urllib3 uses the _dns_host attribute; httplib itself + only uses `host`, and it seems reasonable that other libraries follow suit. + """ + self._dns_host = value + + def _new_conn(self): + """ Establish a socket connection and set nodelay settings on it. + + :return: New socket connection. + """ + extra_kw = {} + if self.source_address: + extra_kw['source_address'] = self.source_address + + if self.socket_options: + extra_kw['socket_options'] = self.socket_options + + try: + conn = connection.create_connection( + (self._dns_host, self.port), self.timeout, **extra_kw) + + except SocketTimeout as e: + raise ConnectTimeoutError( + self, "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout)) + + except SocketError as e: + raise NewConnectionError( + self, "Failed to establish a new connection: %s" % e) + + return conn + + def _prepare_conn(self, conn): + self.sock = conn + if self._tunnel_host: + # TODO: Fix tunnel so it doesn't depend on self.sock state. + self._tunnel() + # Mark this connection as not reusable + self.auto_open = 0 + + def connect(self): + conn = self._new_conn() + self._prepare_conn(conn) + + def request_chunked(self, method, url, body=None, headers=None): + """ + Alternative to the common request method, which sends the + body with chunked encoding and not as one block + """ + headers = HTTPHeaderDict(headers if headers is not None else {}) + skip_accept_encoding = 'accept-encoding' in headers + skip_host = 'host' in headers + self.putrequest( + method, + url, + skip_accept_encoding=skip_accept_encoding, + skip_host=skip_host + ) + for header, value in headers.items(): + self.putheader(header, value) + if 'transfer-encoding' not in headers: + self.putheader('Transfer-Encoding', 'chunked') + self.endheaders() + + if body is not None: + stringish_types = six.string_types + (bytes,) + if isinstance(body, stringish_types): + body = (body,) + for chunk in body: + if not chunk: + continue + if not isinstance(chunk, bytes): + chunk = chunk.encode('utf8') + len_str = hex(len(chunk))[2:] + self.send(len_str.encode('utf-8')) + self.send(b'\r\n') + self.send(chunk) + self.send(b'\r\n') + + # After the if clause, to always have a closed body + self.send(b'0\r\n\r\n') + + +class HTTPSConnection(HTTPConnection): + default_port = port_by_scheme['https'] + + ssl_version = None + + def __init__(self, host, port=None, key_file=None, cert_file=None, + strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + ssl_context=None, server_hostname=None, **kw): + + HTTPConnection.__init__(self, host, port, strict=strict, + timeout=timeout, **kw) + + self.key_file = key_file + self.cert_file = cert_file + self.ssl_context = ssl_context + self.server_hostname = server_hostname + + # Required property for Google AppEngine 1.9.0 which otherwise causes + # HTTPS requests to go out as HTTP. (See Issue #356) + self._protocol = 'https' + + def connect(self): + conn = self._new_conn() + self._prepare_conn(conn) + + if self.ssl_context is None: + self.ssl_context = create_urllib3_context( + ssl_version=resolve_ssl_version(None), + cert_reqs=resolve_cert_reqs(None), + ) + + self.sock = ssl_wrap_socket( + sock=conn, + keyfile=self.key_file, + certfile=self.cert_file, + ssl_context=self.ssl_context, + server_hostname=self.server_hostname + ) + + +class VerifiedHTTPSConnection(HTTPSConnection): + """ + Based on httplib.HTTPSConnection but wraps the socket with + SSL certification. + """ + cert_reqs = None + ca_certs = None + ca_cert_dir = None + ssl_version = None + assert_fingerprint = None + + def set_cert(self, key_file=None, cert_file=None, + cert_reqs=None, ca_certs=None, + assert_hostname=None, assert_fingerprint=None, + ca_cert_dir=None): + """ + This method should only be called once, before the connection is used. + """ + # If cert_reqs is not provided, we can try to guess. If the user gave + # us a cert database, we assume they want to use it: otherwise, if + # they gave us an SSL Context object we should use whatever is set for + # it. + if cert_reqs is None: + if ca_certs or ca_cert_dir: + cert_reqs = 'CERT_REQUIRED' + elif self.ssl_context is not None: + cert_reqs = self.ssl_context.verify_mode + + self.key_file = key_file + self.cert_file = cert_file + self.cert_reqs = cert_reqs + self.assert_hostname = assert_hostname + self.assert_fingerprint = assert_fingerprint + self.ca_certs = ca_certs and os.path.expanduser(ca_certs) + self.ca_cert_dir = ca_cert_dir and os.path.expanduser(ca_cert_dir) + + def connect(self): + # Add certificate verification + conn = self._new_conn() + hostname = self.host + + if self._tunnel_host: + self.sock = conn + # Calls self._set_hostport(), so self.host is + # self._tunnel_host below. + self._tunnel() + # Mark this connection as not reusable + self.auto_open = 0 + + # Override the host with the one we're requesting data from. + hostname = self._tunnel_host + + server_hostname = hostname + if self.server_hostname is not None: + server_hostname = self.server_hostname + + is_time_off = datetime.date.today() < RECENT_DATE + if is_time_off: + warnings.warn(( + 'System time is way off (before {0}). This will probably ' + 'lead to SSL verification errors').format(RECENT_DATE), + SystemTimeWarning + ) + + # Wrap socket using verification with the root certs in + # trusted_root_certs + if self.ssl_context is None: + self.ssl_context = create_urllib3_context( + ssl_version=resolve_ssl_version(self.ssl_version), + cert_reqs=resolve_cert_reqs(self.cert_reqs), + ) + + context = self.ssl_context + context.verify_mode = resolve_cert_reqs(self.cert_reqs) + self.sock = ssl_wrap_socket( + sock=conn, + keyfile=self.key_file, + certfile=self.cert_file, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, + server_hostname=server_hostname, + ssl_context=context) + + if self.assert_fingerprint: + assert_fingerprint(self.sock.getpeercert(binary_form=True), + self.assert_fingerprint) + elif context.verify_mode != ssl.CERT_NONE \ + and not getattr(context, 'check_hostname', False) \ + and self.assert_hostname is not False: + # While urllib3 attempts to always turn off hostname matching from + # the TLS library, this cannot always be done. So we check whether + # the TLS Library still thinks it's matching hostnames. + cert = self.sock.getpeercert() + if not cert.get('subjectAltName', ()): + warnings.warn(( + 'Certificate for {0} has no `subjectAltName`, falling back to check for a ' + '`commonName` for now. This feature is being removed by major browsers and ' + 'deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 ' + 'for details.)'.format(hostname)), + SubjectAltNameWarning + ) + _match_hostname(cert, self.assert_hostname or server_hostname) + + self.is_verified = ( + context.verify_mode == ssl.CERT_REQUIRED or + self.assert_fingerprint is not None + ) + + +def _match_hostname(cert, asserted_hostname): + try: + match_hostname(cert, asserted_hostname) + except CertificateError as e: + log.error( + 'Certificate did not match expected hostname: %s. ' + 'Certificate: %s', asserted_hostname, cert + ) + # Add cert to exception and reraise so client code can inspect + # the cert when catching the exception, if they want to + e._peer_cert = cert + raise + + +if ssl: + # Make a copy for testing. + UnverifiedHTTPSConnection = HTTPSConnection + HTTPSConnection = VerifiedHTTPSConnection +else: + HTTPSConnection = DummyConnection diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/connectionpool.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/connectionpool.py new file mode 100644 index 0000000000..f7a8f193d1 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/connectionpool.py @@ -0,0 +1,896 @@ +from __future__ import absolute_import +import errno +import logging +import sys +import warnings + +from socket import error as SocketError, timeout as SocketTimeout +import socket + + +from .exceptions import ( + ClosedPoolError, + ProtocolError, + EmptyPoolError, + HeaderParsingError, + HostChangedError, + LocationValueError, + MaxRetryError, + ProxyError, + ReadTimeoutError, + SSLError, + TimeoutError, + InsecureRequestWarning, + NewConnectionError, +) +from .packages.ssl_match_hostname import CertificateError +from .packages import six +from .packages.six.moves import queue +from .connection import ( + port_by_scheme, + DummyConnection, + HTTPConnection, HTTPSConnection, VerifiedHTTPSConnection, + HTTPException, BaseSSLError, +) +from .request import RequestMethods +from .response import HTTPResponse + +from .util.connection import is_connection_dropped +from .util.request import set_file_position +from .util.response import assert_header_parsing +from .util.retry import Retry +from .util.timeout import Timeout +from .util.url import get_host, Url, NORMALIZABLE_SCHEMES +from .util.queue import LifoQueue + + +xrange = six.moves.xrange + +log = logging.getLogger(__name__) + +_Default = object() + + +# Pool objects +class ConnectionPool(object): + """ + Base class for all connection pools, such as + :class:`.HTTPConnectionPool` and :class:`.HTTPSConnectionPool`. + """ + + scheme = None + QueueCls = LifoQueue + + def __init__(self, host, port=None): + if not host: + raise LocationValueError("No host specified.") + + self.host = _ipv6_host(host, self.scheme) + self._proxy_host = host.lower() + self.port = port + + def __str__(self): + return '%s(host=%r, port=%r)' % (type(self).__name__, + self.host, self.port) + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + # Return False to re-raise any potential exceptions + return False + + def close(self): + """ + Close all pooled connections and disable the pool. + """ + pass + + +# This is taken from http://hg.python.org/cpython/file/7aaba721ebc0/Lib/socket.py#l252 +_blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} + + +class HTTPConnectionPool(ConnectionPool, RequestMethods): + """ + Thread-safe connection pool for one host. + + :param host: + Host used for this HTTP Connection (e.g. "localhost"), passed into + :class:`httplib.HTTPConnection`. + + :param port: + Port used for this HTTP Connection (None is equivalent to 80), passed + into :class:`httplib.HTTPConnection`. + + :param strict: + Causes BadStatusLine to be raised if the status line can't be parsed + as a valid HTTP/1.0 or 1.1 status line, passed into + :class:`httplib.HTTPConnection`. + + .. note:: + Only works in Python 2. This parameter is ignored in Python 3. + + :param timeout: + Socket timeout in seconds for each individual connection. This can + be a float or integer, which sets the timeout for the HTTP request, + or an instance of :class:`urllib3.util.Timeout` which gives you more + fine-grained control over request timeouts. After the constructor has + been parsed, this is always a `urllib3.util.Timeout` object. + + :param maxsize: + Number of connections to save that can be reused. More than 1 is useful + in multithreaded situations. If ``block`` is set to False, more + connections will be created but they will not be saved once they've + been used. + + :param block: + If set to True, no more than ``maxsize`` connections will be used at + a time. When no free connections are available, the call will block + until a connection has been released. This is a useful side effect for + particular multithreaded situations where one does not want to use more + than maxsize connections per host to prevent flooding. + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + + :param retries: + Retry configuration to use by default with requests in this pool. + + :param _proxy: + Parsed proxy URL, should not be used directly, instead, see + :class:`urllib3.connectionpool.ProxyManager`" + + :param _proxy_headers: + A dictionary with proxy headers, should not be used directly, + instead, see :class:`urllib3.connectionpool.ProxyManager`" + + :param \\**conn_kw: + Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`, + :class:`urllib3.connection.HTTPSConnection` instances. + """ + + scheme = 'http' + ConnectionCls = HTTPConnection + ResponseCls = HTTPResponse + + def __init__(self, host, port=None, strict=False, + timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, block=False, + headers=None, retries=None, + _proxy=None, _proxy_headers=None, + **conn_kw): + ConnectionPool.__init__(self, host, port) + RequestMethods.__init__(self, headers) + + self.strict = strict + + if not isinstance(timeout, Timeout): + timeout = Timeout.from_float(timeout) + + if retries is None: + retries = Retry.DEFAULT + + self.timeout = timeout + self.retries = retries + + self.pool = self.QueueCls(maxsize) + self.block = block + + self.proxy = _proxy + self.proxy_headers = _proxy_headers or {} + + # Fill the queue up so that doing get() on it will block properly + for _ in xrange(maxsize): + self.pool.put(None) + + # These are mostly for testing and debugging purposes. + self.num_connections = 0 + self.num_requests = 0 + self.conn_kw = conn_kw + + if self.proxy: + # Enable Nagle's algorithm for proxies, to avoid packet fragmentation. + # We cannot know if the user has added default socket options, so we cannot replace the + # list. + self.conn_kw.setdefault('socket_options', []) + + def _new_conn(self): + """ + Return a fresh :class:`HTTPConnection`. + """ + self.num_connections += 1 + log.debug("Starting new HTTP connection (%d): %s:%s", + self.num_connections, self.host, self.port or "80") + + conn = self.ConnectionCls(host=self.host, port=self.port, + timeout=self.timeout.connect_timeout, + strict=self.strict, **self.conn_kw) + return conn + + def _get_conn(self, timeout=None): + """ + Get a connection. Will return a pooled connection if one is available. + + If no connections are available and :prop:`.block` is ``False``, then a + fresh connection is returned. + + :param timeout: + Seconds to wait before giving up and raising + :class:`urllib3.exceptions.EmptyPoolError` if the pool is empty and + :prop:`.block` is ``True``. + """ + conn = None + try: + conn = self.pool.get(block=self.block, timeout=timeout) + + except AttributeError: # self.pool is None + raise ClosedPoolError(self, "Pool is closed.") + + except queue.Empty: + if self.block: + raise EmptyPoolError(self, + "Pool reached maximum size and no more " + "connections are allowed.") + pass # Oh well, we'll create a new connection then + + # If this is a persistent connection, check if it got disconnected + if conn and is_connection_dropped(conn): + log.debug("Resetting dropped connection: %s", self.host) + conn.close() + if getattr(conn, 'auto_open', 1) == 0: + # This is a proxied connection that has been mutated by + # httplib._tunnel() and cannot be reused (since it would + # attempt to bypass the proxy) + conn = None + + return conn or self._new_conn() + + def _put_conn(self, conn): + """ + Put a connection back into the pool. + + :param conn: + Connection object for the current host and port as returned by + :meth:`._new_conn` or :meth:`._get_conn`. + + If the pool is already full, the connection is closed and discarded + because we exceeded maxsize. If connections are discarded frequently, + then maxsize should be increased. + + If the pool is closed, then the connection will be closed and discarded. + """ + try: + self.pool.put(conn, block=False) + return # Everything is dandy, done. + except AttributeError: + # self.pool is None. + pass + except queue.Full: + # This should never happen if self.block == True + log.warning( + "Connection pool is full, discarding connection: %s", + self.host) + + # Connection never got put back into the pool, close it. + if conn: + conn.close() + + def _validate_conn(self, conn): + """ + Called right before a request is made, after the socket is created. + """ + pass + + def _prepare_proxy(self, conn): + # Nothing to do for HTTP connections. + pass + + def _get_timeout(self, timeout): + """ Helper that always returns a :class:`urllib3.util.Timeout` """ + if timeout is _Default: + return self.timeout.clone() + + if isinstance(timeout, Timeout): + return timeout.clone() + else: + # User passed us an int/float. This is for backwards compatibility, + # can be removed later + return Timeout.from_float(timeout) + + def _raise_timeout(self, err, url, timeout_value): + """Is the error actually a timeout? Will raise a ReadTimeout or pass""" + + if isinstance(err, SocketTimeout): + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + # See the above comment about EAGAIN in Python 3. In Python 2 we have + # to specifically catch it and throw the timeout error + if hasattr(err, 'errno') and err.errno in _blocking_errnos: + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + # Catch possible read timeouts thrown as SSL errors. If not the + # case, rethrow the original. We need to do this because of: + # http://bugs.python.org/issue10272 + if 'timed out' in str(err) or 'did not complete (read)' in str(err): # Python < 2.7.4 + raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) + + def _make_request(self, conn, method, url, timeout=_Default, chunked=False, + **httplib_request_kw): + """ + Perform a request on a given urllib connection object taken from our + pool. + + :param conn: + a connection from one of our connection pools + + :param timeout: + Socket timeout in seconds for the request. This can be a + float or integer, which will set the same timeout value for + the socket connect and the socket read, or an instance of + :class:`urllib3.util.Timeout`, which gives you more fine-grained + control over your timeouts. + """ + self.num_requests += 1 + + timeout_obj = self._get_timeout(timeout) + timeout_obj.start_connect() + conn.timeout = timeout_obj.connect_timeout + + # Trigger any extra validation we need to do. + try: + self._validate_conn(conn) + except (SocketTimeout, BaseSSLError) as e: + # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout. + self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) + raise + + # conn.request() calls httplib.*.request, not the method in + # urllib3.request. It also calls makefile (recv) on the socket. + if chunked: + conn.request_chunked(method, url, **httplib_request_kw) + else: + conn.request(method, url, **httplib_request_kw) + + # Reset the timeout for the recv() on the socket + read_timeout = timeout_obj.read_timeout + + # App Engine doesn't have a sock attr + if getattr(conn, 'sock', None): + # In Python 3 socket.py will catch EAGAIN and return None when you + # try and read into the file pointer created by http.client, which + # instead raises a BadStatusLine exception. Instead of catching + # the exception and assuming all BadStatusLine exceptions are read + # timeouts, check for a zero timeout before making the request. + if read_timeout == 0: + raise ReadTimeoutError( + self, url, "Read timed out. (read timeout=%s)" % read_timeout) + if read_timeout is Timeout.DEFAULT_TIMEOUT: + conn.sock.settimeout(socket.getdefaulttimeout()) + else: # None or a value + conn.sock.settimeout(read_timeout) + + # Receive the response from the server + try: + try: # Python 2.7, use buffering of HTTP responses + httplib_response = conn.getresponse(buffering=True) + except TypeError: # Python 3 + try: + httplib_response = conn.getresponse() + except Exception as e: + # Remove the TypeError from the exception chain in Python 3; + # otherwise it looks like a programming error was the cause. + six.raise_from(e, None) + except (SocketTimeout, BaseSSLError, SocketError) as e: + self._raise_timeout(err=e, url=url, timeout_value=read_timeout) + raise + + # AppEngine doesn't have a version attr. + http_version = getattr(conn, '_http_vsn_str', 'HTTP/?') + log.debug("%s://%s:%s \"%s %s %s\" %s %s", self.scheme, self.host, self.port, + method, url, http_version, httplib_response.status, + httplib_response.length) + + try: + assert_header_parsing(httplib_response.msg) + except (HeaderParsingError, TypeError) as hpe: # Platform-specific: Python 3 + log.warning( + 'Failed to parse headers (url=%s): %s', + self._absolute_url(url), hpe, exc_info=True) + + return httplib_response + + def _absolute_url(self, path): + return Url(scheme=self.scheme, host=self.host, port=self.port, path=path).url + + def close(self): + """ + Close all pooled connections and disable the pool. + """ + if self.pool is None: + return + # Disable access to the pool + old_pool, self.pool = self.pool, None + + try: + while True: + conn = old_pool.get(block=False) + if conn: + conn.close() + + except queue.Empty: + pass # Done. + + def is_same_host(self, url): + """ + Check if the given ``url`` is a member of the same host as this + connection pool. + """ + if url.startswith('/'): + return True + + # TODO: Add optional support for socket.gethostbyname checking. + scheme, host, port = get_host(url) + + host = _ipv6_host(host, self.scheme) + + # Use explicit default port for comparison when none is given + if self.port and not port: + port = port_by_scheme.get(scheme) + elif not self.port and port == port_by_scheme.get(scheme): + port = None + + return (scheme, host, port) == (self.scheme, self.host, self.port) + + def urlopen(self, method, url, body=None, headers=None, retries=None, + redirect=True, assert_same_host=True, timeout=_Default, + pool_timeout=None, release_conn=None, chunked=False, + body_pos=None, **response_kw): + """ + Get a connection from the pool and perform an HTTP request. This is the + lowest level call for making a request, so you'll need to specify all + the raw details. + + .. note:: + + More commonly, it's appropriate to use a convenience method provided + by :class:`.RequestMethods`, such as :meth:`request`. + + .. note:: + + `release_conn` will only behave as expected if + `preload_content=False` because we want to make + `preload_content=False` the default behaviour someday soon without + breaking backwards compatibility. + + :param method: + HTTP request method (such as GET, POST, PUT, etc.) + + :param body: + Data to send in the request body (useful for creating + POST requests, see HTTPConnectionPool.post_url for + more convenience). + + :param headers: + Dictionary of custom headers to send, such as User-Agent, + If-None-Match, etc. If None, pool headers are used. If provided, + these headers completely replace any pool-specific headers. + + :param retries: + Configure the number of retries to allow before raising a + :class:`~urllib3.exceptions.MaxRetryError` exception. + + Pass ``None`` to retry until you receive a response. Pass a + :class:`~urllib3.util.retry.Retry` object for fine-grained control + over different types of retries. + Pass an integer number to retry connection errors that many times, + but no other types of errors. Pass zero to never retry. + + If ``False``, then retries are disabled and any exception is raised + immediately. Also, instead of raising a MaxRetryError on redirects, + the redirect response will be returned. + + :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. + + :param redirect: + If True, automatically handle redirects (status codes 301, 302, + 303, 307, 308). Each redirect counts as a retry. Disabling retries + will disable redirect, too. + + :param assert_same_host: + If ``True``, will make sure that the host of the pool requests is + consistent else will raise HostChangedError. When False, you can + use the pool on an HTTP proxy and request foreign hosts. + + :param timeout: + If specified, overrides the default timeout for this one + request. It may be a float (in seconds) or an instance of + :class:`urllib3.util.Timeout`. + + :param pool_timeout: + If set and the pool is set to block=True, then this method will + block for ``pool_timeout`` seconds and raise EmptyPoolError if no + connection is available within the time period. + + :param release_conn: + If False, then the urlopen call will not release the connection + back into the pool once a response is received (but will release if + you read the entire contents of the response such as when + `preload_content=True`). This is useful if you're not preloading + the response's content immediately. You will need to call + ``r.release_conn()`` on the response ``r`` to return the connection + back into the pool. If None, it takes the value of + ``response_kw.get('preload_content', True)``. + + :param chunked: + If True, urllib3 will send the body using chunked transfer + encoding. Otherwise, urllib3 will send the body using the standard + content-length form. Defaults to False. + + :param int body_pos: + Position to seek to in file-like body in the event of a retry or + redirect. Typically this won't need to be set because urllib3 will + auto-populate the value when needed. + + :param \\**response_kw: + Additional parameters are passed to + :meth:`urllib3.response.HTTPResponse.from_httplib` + """ + if headers is None: + headers = self.headers + + if not isinstance(retries, Retry): + retries = Retry.from_int(retries, redirect=redirect, default=self.retries) + + if release_conn is None: + release_conn = response_kw.get('preload_content', True) + + # Check host + if assert_same_host and not self.is_same_host(url): + raise HostChangedError(self, url, retries) + + conn = None + + # Track whether `conn` needs to be released before + # returning/raising/recursing. Update this variable if necessary, and + # leave `release_conn` constant throughout the function. That way, if + # the function recurses, the original value of `release_conn` will be + # passed down into the recursive call, and its value will be respected. + # + # See issue #651 [1] for details. + # + # [1] <https://github.com/shazow/urllib3/issues/651> + release_this_conn = release_conn + + # Merge the proxy headers. Only do this in HTTP. We have to copy the + # headers dict so we can safely change it without those changes being + # reflected in anyone else's copy. + if self.scheme == 'http': + headers = headers.copy() + headers.update(self.proxy_headers) + + # Must keep the exception bound to a separate variable or else Python 3 + # complains about UnboundLocalError. + err = None + + # Keep track of whether we cleanly exited the except block. This + # ensures we do proper cleanup in finally. + clean_exit = False + + # Rewind body position, if needed. Record current position + # for future rewinds in the event of a redirect/retry. + body_pos = set_file_position(body, body_pos) + + try: + # Request a connection from the queue. + timeout_obj = self._get_timeout(timeout) + conn = self._get_conn(timeout=pool_timeout) + + conn.timeout = timeout_obj.connect_timeout + + is_new_proxy_conn = self.proxy is not None and not getattr(conn, 'sock', None) + if is_new_proxy_conn: + self._prepare_proxy(conn) + + # Make the request on the httplib connection object. + httplib_response = self._make_request(conn, method, url, + timeout=timeout_obj, + body=body, headers=headers, + chunked=chunked) + + # If we're going to release the connection in ``finally:``, then + # the response doesn't need to know about the connection. Otherwise + # it will also try to release it and we'll have a double-release + # mess. + response_conn = conn if not release_conn else None + + # Pass method to Response for length checking + response_kw['request_method'] = method + + # Import httplib's response into our own wrapper object + response = self.ResponseCls.from_httplib(httplib_response, + pool=self, + connection=response_conn, + retries=retries, + **response_kw) + + # Everything went great! + clean_exit = True + + except queue.Empty: + # Timed out by queue. + raise EmptyPoolError(self, "No pool connections are available.") + + except (TimeoutError, HTTPException, SocketError, ProtocolError, + BaseSSLError, SSLError, CertificateError) as e: + # Discard the connection for these exceptions. It will be + # replaced during the next _get_conn() call. + clean_exit = False + if isinstance(e, (BaseSSLError, CertificateError)): + e = SSLError(e) + elif isinstance(e, (SocketError, NewConnectionError)) and self.proxy: + e = ProxyError('Cannot connect to proxy.', e) + elif isinstance(e, (SocketError, HTTPException)): + e = ProtocolError('Connection aborted.', e) + + retries = retries.increment(method, url, error=e, _pool=self, + _stacktrace=sys.exc_info()[2]) + retries.sleep() + + # Keep track of the error for the retry warning. + err = e + + finally: + if not clean_exit: + # We hit some kind of exception, handled or otherwise. We need + # to throw the connection away unless explicitly told not to. + # Close the connection, set the variable to None, and make sure + # we put the None back in the pool to avoid leaking it. + conn = conn and conn.close() + release_this_conn = True + + if release_this_conn: + # Put the connection back to be reused. If the connection is + # expired then it will be None, which will get replaced with a + # fresh connection during _get_conn. + self._put_conn(conn) + + if not conn: + # Try again + log.warning("Retrying (%r) after connection " + "broken by '%r': %s", retries, err, url) + return self.urlopen(method, url, body, headers, retries, + redirect, assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, body_pos=body_pos, + **response_kw) + + def drain_and_release_conn(response): + try: + # discard any remaining response body, the connection will be + # released back to the pool once the entire response is read + response.read() + except (TimeoutError, HTTPException, SocketError, ProtocolError, + BaseSSLError, SSLError) as e: + pass + + # Handle redirect? + redirect_location = redirect and response.get_redirect_location() + if redirect_location: + if response.status == 303: + method = 'GET' + + try: + retries = retries.increment(method, url, response=response, _pool=self) + except MaxRetryError: + if retries.raise_on_redirect: + # Drain and release the connection for this response, since + # we're not returning it to be released manually. + drain_and_release_conn(response) + raise + return response + + # drain and return the connection to the pool before recursing + drain_and_release_conn(response) + + retries.sleep_for_retry(response) + log.debug("Redirecting %s -> %s", url, redirect_location) + return self.urlopen( + method, redirect_location, body, headers, + retries=retries, redirect=redirect, + assert_same_host=assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, body_pos=body_pos, + **response_kw) + + # Check if we should retry the HTTP response. + has_retry_after = bool(response.getheader('Retry-After')) + if retries.is_retry(method, response.status, has_retry_after): + try: + retries = retries.increment(method, url, response=response, _pool=self) + except MaxRetryError: + if retries.raise_on_status: + # Drain and release the connection for this response, since + # we're not returning it to be released manually. + drain_and_release_conn(response) + raise + return response + + # drain and return the connection to the pool before recursing + drain_and_release_conn(response) + + retries.sleep(response) + log.debug("Retry: %s", url) + return self.urlopen( + method, url, body, headers, + retries=retries, redirect=redirect, + assert_same_host=assert_same_host, + timeout=timeout, pool_timeout=pool_timeout, + release_conn=release_conn, + body_pos=body_pos, **response_kw) + + return response + + +class HTTPSConnectionPool(HTTPConnectionPool): + """ + Same as :class:`.HTTPConnectionPool`, but HTTPS. + + When Python is compiled with the :mod:`ssl` module, then + :class:`.VerifiedHTTPSConnection` is used, which *can* verify certificates, + instead of :class:`.HTTPSConnection`. + + :class:`.VerifiedHTTPSConnection` uses one of ``assert_fingerprint``, + ``assert_hostname`` and ``host`` in this order to verify connections. + If ``assert_hostname`` is False, no verification is done. + + The ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``, + ``ca_cert_dir``, and ``ssl_version`` are only used if :mod:`ssl` is + available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade + the connection socket into an SSL socket. + """ + + scheme = 'https' + ConnectionCls = HTTPSConnection + + def __init__(self, host, port=None, + strict=False, timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, + block=False, headers=None, retries=None, + _proxy=None, _proxy_headers=None, + key_file=None, cert_file=None, cert_reqs=None, + ca_certs=None, ssl_version=None, + assert_hostname=None, assert_fingerprint=None, + ca_cert_dir=None, **conn_kw): + + HTTPConnectionPool.__init__(self, host, port, strict, timeout, maxsize, + block, headers, retries, _proxy, _proxy_headers, + **conn_kw) + + if ca_certs and cert_reqs is None: + cert_reqs = 'CERT_REQUIRED' + + self.key_file = key_file + self.cert_file = cert_file + self.cert_reqs = cert_reqs + self.ca_certs = ca_certs + self.ca_cert_dir = ca_cert_dir + self.ssl_version = ssl_version + self.assert_hostname = assert_hostname + self.assert_fingerprint = assert_fingerprint + + def _prepare_conn(self, conn): + """ + Prepare the ``connection`` for :meth:`urllib3.util.ssl_wrap_socket` + and establish the tunnel if proxy is used. + """ + + if isinstance(conn, VerifiedHTTPSConnection): + conn.set_cert(key_file=self.key_file, + cert_file=self.cert_file, + cert_reqs=self.cert_reqs, + ca_certs=self.ca_certs, + ca_cert_dir=self.ca_cert_dir, + assert_hostname=self.assert_hostname, + assert_fingerprint=self.assert_fingerprint) + conn.ssl_version = self.ssl_version + return conn + + def _prepare_proxy(self, conn): + """ + Establish tunnel connection early, because otherwise httplib + would improperly set Host: header to proxy's IP:port. + """ + conn.set_tunnel(self._proxy_host, self.port, self.proxy_headers) + conn.connect() + + def _new_conn(self): + """ + Return a fresh :class:`httplib.HTTPSConnection`. + """ + self.num_connections += 1 + log.debug("Starting new HTTPS connection (%d): %s:%s", + self.num_connections, self.host, self.port or "443") + + if not self.ConnectionCls or self.ConnectionCls is DummyConnection: + raise SSLError("Can't connect to HTTPS URL because the SSL " + "module is not available.") + + actual_host = self.host + actual_port = self.port + if self.proxy is not None: + actual_host = self.proxy.host + actual_port = self.proxy.port + + conn = self.ConnectionCls(host=actual_host, port=actual_port, + timeout=self.timeout.connect_timeout, + strict=self.strict, **self.conn_kw) + + return self._prepare_conn(conn) + + def _validate_conn(self, conn): + """ + Called right before a request is made, after the socket is created. + """ + super(HTTPSConnectionPool, self)._validate_conn(conn) + + # Force connect early to allow us to validate the connection. + if not getattr(conn, 'sock', None): # AppEngine might not have `.sock` + conn.connect() + + if not conn.is_verified: + warnings.warn(( + 'Unverified HTTPS request is being made. ' + 'Adding certificate verification is strongly advised. See: ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings'), + InsecureRequestWarning) + + +def connection_from_url(url, **kw): + """ + Given a url, return an :class:`.ConnectionPool` instance of its host. + + This is a shortcut for not having to parse out the scheme, host, and port + of the url before creating an :class:`.ConnectionPool` instance. + + :param url: + Absolute URL string that must include the scheme. Port is optional. + + :param \\**kw: + Passes additional parameters to the constructor of the appropriate + :class:`.ConnectionPool`. Useful for specifying things like + timeout, maxsize, headers, etc. + + Example:: + + >>> conn = connection_from_url('http://google.com/') + >>> r = conn.request('GET', '/') + """ + scheme, host, port = get_host(url) + port = port or port_by_scheme.get(scheme, 80) + if scheme == 'https': + return HTTPSConnectionPool(host, port=port, **kw) + else: + return HTTPConnectionPool(host, port=port, **kw) + + +def _ipv6_host(host, scheme): + """ + Process IPv6 address literals + """ + + # httplib doesn't like it when we include brackets in IPv6 addresses + # Specifically, if we include brackets but also pass the port then + # httplib crazily doubles up the square brackets on the Host header. + # Instead, we need to make sure we never pass ``None`` as the port. + # However, for backward compatibility reasons we can't actually + # *assert* that. See http://bugs.python.org/issue28539 + # + # Also if an IPv6 address literal has a zone identifier, the + # percent sign might be URIencoded, convert it back into ASCII + if host.startswith('[') and host.endswith(']'): + host = host.replace('%25', '%').strip('[]') + if scheme in NORMALIZABLE_SCHEMES: + host = host.lower() + return host diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py new file mode 100644 index 0000000000..f3e00942cb --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_appengine_environ.py @@ -0,0 +1,30 @@ +""" +This module provides means to detect the App Engine environment. +""" + +import os + + +def is_appengine(): + return (is_local_appengine() or + is_prod_appengine() or + is_prod_appengine_mvms()) + + +def is_appengine_sandbox(): + return is_appengine() and not is_prod_appengine_mvms() + + +def is_local_appengine(): + return ('APPENGINE_RUNTIME' in os.environ and + 'Development/' in os.environ['SERVER_SOFTWARE']) + + +def is_prod_appengine(): + return ('APPENGINE_RUNTIME' in os.environ and + 'Google App Engine/' in os.environ['SERVER_SOFTWARE'] and + not is_prod_appengine_mvms()) + + +def is_prod_appengine_mvms(): + return os.environ.get('GAE_VM', False) == 'true' diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py new file mode 100644 index 0000000000..bcf41c02b2 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/bindings.py @@ -0,0 +1,593 @@ +""" +This module uses ctypes to bind a whole bunch of functions and constants from +SecureTransport. The goal here is to provide the low-level API to +SecureTransport. These are essentially the C-level functions and constants, and +they're pretty gross to work with. + +This code is a bastardised version of the code found in Will Bond's oscrypto +library. An enormous debt is owed to him for blazing this trail for us. For +that reason, this code should be considered to be covered both by urllib3's +license and by oscrypto's: + + Copyright (c) 2015-2016 Will Bond <will@wbond.net> + + 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. +""" +from __future__ import absolute_import + +import platform +from ctypes.util import find_library +from ctypes import ( + c_void_p, c_int32, c_char_p, c_size_t, c_byte, c_uint32, c_ulong, c_long, + c_bool +) +from ctypes import CDLL, POINTER, CFUNCTYPE + + +security_path = find_library('Security') +if not security_path: + raise ImportError('The library Security could not be found') + + +core_foundation_path = find_library('CoreFoundation') +if not core_foundation_path: + raise ImportError('The library CoreFoundation could not be found') + + +version = platform.mac_ver()[0] +version_info = tuple(map(int, version.split('.'))) +if version_info < (10, 8): + raise OSError( + 'Only OS X 10.8 and newer are supported, not %s.%s' % ( + version_info[0], version_info[1] + ) + ) + +Security = CDLL(security_path, use_errno=True) +CoreFoundation = CDLL(core_foundation_path, use_errno=True) + +Boolean = c_bool +CFIndex = c_long +CFStringEncoding = c_uint32 +CFData = c_void_p +CFString = c_void_p +CFArray = c_void_p +CFMutableArray = c_void_p +CFDictionary = c_void_p +CFError = c_void_p +CFType = c_void_p +CFTypeID = c_ulong + +CFTypeRef = POINTER(CFType) +CFAllocatorRef = c_void_p + +OSStatus = c_int32 + +CFDataRef = POINTER(CFData) +CFStringRef = POINTER(CFString) +CFArrayRef = POINTER(CFArray) +CFMutableArrayRef = POINTER(CFMutableArray) +CFDictionaryRef = POINTER(CFDictionary) +CFArrayCallBacks = c_void_p +CFDictionaryKeyCallBacks = c_void_p +CFDictionaryValueCallBacks = c_void_p + +SecCertificateRef = POINTER(c_void_p) +SecExternalFormat = c_uint32 +SecExternalItemType = c_uint32 +SecIdentityRef = POINTER(c_void_p) +SecItemImportExportFlags = c_uint32 +SecItemImportExportKeyParameters = c_void_p +SecKeychainRef = POINTER(c_void_p) +SSLProtocol = c_uint32 +SSLCipherSuite = c_uint32 +SSLContextRef = POINTER(c_void_p) +SecTrustRef = POINTER(c_void_p) +SSLConnectionRef = c_uint32 +SecTrustResultType = c_uint32 +SecTrustOptionFlags = c_uint32 +SSLProtocolSide = c_uint32 +SSLConnectionType = c_uint32 +SSLSessionOption = c_uint32 + + +try: + Security.SecItemImport.argtypes = [ + CFDataRef, + CFStringRef, + POINTER(SecExternalFormat), + POINTER(SecExternalItemType), + SecItemImportExportFlags, + POINTER(SecItemImportExportKeyParameters), + SecKeychainRef, + POINTER(CFArrayRef), + ] + Security.SecItemImport.restype = OSStatus + + Security.SecCertificateGetTypeID.argtypes = [] + Security.SecCertificateGetTypeID.restype = CFTypeID + + Security.SecIdentityGetTypeID.argtypes = [] + Security.SecIdentityGetTypeID.restype = CFTypeID + + Security.SecKeyGetTypeID.argtypes = [] + Security.SecKeyGetTypeID.restype = CFTypeID + + Security.SecCertificateCreateWithData.argtypes = [ + CFAllocatorRef, + CFDataRef + ] + Security.SecCertificateCreateWithData.restype = SecCertificateRef + + Security.SecCertificateCopyData.argtypes = [ + SecCertificateRef + ] + Security.SecCertificateCopyData.restype = CFDataRef + + Security.SecCopyErrorMessageString.argtypes = [ + OSStatus, + c_void_p + ] + Security.SecCopyErrorMessageString.restype = CFStringRef + + Security.SecIdentityCreateWithCertificate.argtypes = [ + CFTypeRef, + SecCertificateRef, + POINTER(SecIdentityRef) + ] + Security.SecIdentityCreateWithCertificate.restype = OSStatus + + Security.SecKeychainCreate.argtypes = [ + c_char_p, + c_uint32, + c_void_p, + Boolean, + c_void_p, + POINTER(SecKeychainRef) + ] + Security.SecKeychainCreate.restype = OSStatus + + Security.SecKeychainDelete.argtypes = [ + SecKeychainRef + ] + Security.SecKeychainDelete.restype = OSStatus + + Security.SecPKCS12Import.argtypes = [ + CFDataRef, + CFDictionaryRef, + POINTER(CFArrayRef) + ] + Security.SecPKCS12Import.restype = OSStatus + + SSLReadFunc = CFUNCTYPE(OSStatus, SSLConnectionRef, c_void_p, POINTER(c_size_t)) + SSLWriteFunc = CFUNCTYPE(OSStatus, SSLConnectionRef, POINTER(c_byte), POINTER(c_size_t)) + + Security.SSLSetIOFuncs.argtypes = [ + SSLContextRef, + SSLReadFunc, + SSLWriteFunc + ] + Security.SSLSetIOFuncs.restype = OSStatus + + Security.SSLSetPeerID.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t + ] + Security.SSLSetPeerID.restype = OSStatus + + Security.SSLSetCertificate.argtypes = [ + SSLContextRef, + CFArrayRef + ] + Security.SSLSetCertificate.restype = OSStatus + + Security.SSLSetCertificateAuthorities.argtypes = [ + SSLContextRef, + CFTypeRef, + Boolean + ] + Security.SSLSetCertificateAuthorities.restype = OSStatus + + Security.SSLSetConnection.argtypes = [ + SSLContextRef, + SSLConnectionRef + ] + Security.SSLSetConnection.restype = OSStatus + + Security.SSLSetPeerDomainName.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t + ] + Security.SSLSetPeerDomainName.restype = OSStatus + + Security.SSLHandshake.argtypes = [ + SSLContextRef + ] + Security.SSLHandshake.restype = OSStatus + + Security.SSLRead.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t, + POINTER(c_size_t) + ] + Security.SSLRead.restype = OSStatus + + Security.SSLWrite.argtypes = [ + SSLContextRef, + c_char_p, + c_size_t, + POINTER(c_size_t) + ] + Security.SSLWrite.restype = OSStatus + + Security.SSLClose.argtypes = [ + SSLContextRef + ] + Security.SSLClose.restype = OSStatus + + Security.SSLGetNumberSupportedCiphers.argtypes = [ + SSLContextRef, + POINTER(c_size_t) + ] + Security.SSLGetNumberSupportedCiphers.restype = OSStatus + + Security.SSLGetSupportedCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + POINTER(c_size_t) + ] + Security.SSLGetSupportedCiphers.restype = OSStatus + + Security.SSLSetEnabledCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + c_size_t + ] + Security.SSLSetEnabledCiphers.restype = OSStatus + + Security.SSLGetNumberEnabledCiphers.argtype = [ + SSLContextRef, + POINTER(c_size_t) + ] + Security.SSLGetNumberEnabledCiphers.restype = OSStatus + + Security.SSLGetEnabledCiphers.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite), + POINTER(c_size_t) + ] + Security.SSLGetEnabledCiphers.restype = OSStatus + + Security.SSLGetNegotiatedCipher.argtypes = [ + SSLContextRef, + POINTER(SSLCipherSuite) + ] + Security.SSLGetNegotiatedCipher.restype = OSStatus + + Security.SSLGetNegotiatedProtocolVersion.argtypes = [ + SSLContextRef, + POINTER(SSLProtocol) + ] + Security.SSLGetNegotiatedProtocolVersion.restype = OSStatus + + Security.SSLCopyPeerTrust.argtypes = [ + SSLContextRef, + POINTER(SecTrustRef) + ] + Security.SSLCopyPeerTrust.restype = OSStatus + + Security.SecTrustSetAnchorCertificates.argtypes = [ + SecTrustRef, + CFArrayRef + ] + Security.SecTrustSetAnchorCertificates.restype = OSStatus + + Security.SecTrustSetAnchorCertificatesOnly.argstypes = [ + SecTrustRef, + Boolean + ] + Security.SecTrustSetAnchorCertificatesOnly.restype = OSStatus + + Security.SecTrustEvaluate.argtypes = [ + SecTrustRef, + POINTER(SecTrustResultType) + ] + Security.SecTrustEvaluate.restype = OSStatus + + Security.SecTrustGetCertificateCount.argtypes = [ + SecTrustRef + ] + Security.SecTrustGetCertificateCount.restype = CFIndex + + Security.SecTrustGetCertificateAtIndex.argtypes = [ + SecTrustRef, + CFIndex + ] + Security.SecTrustGetCertificateAtIndex.restype = SecCertificateRef + + Security.SSLCreateContext.argtypes = [ + CFAllocatorRef, + SSLProtocolSide, + SSLConnectionType + ] + Security.SSLCreateContext.restype = SSLContextRef + + Security.SSLSetSessionOption.argtypes = [ + SSLContextRef, + SSLSessionOption, + Boolean + ] + Security.SSLSetSessionOption.restype = OSStatus + + Security.SSLSetProtocolVersionMin.argtypes = [ + SSLContextRef, + SSLProtocol + ] + Security.SSLSetProtocolVersionMin.restype = OSStatus + + Security.SSLSetProtocolVersionMax.argtypes = [ + SSLContextRef, + SSLProtocol + ] + Security.SSLSetProtocolVersionMax.restype = OSStatus + + Security.SecCopyErrorMessageString.argtypes = [ + OSStatus, + c_void_p + ] + Security.SecCopyErrorMessageString.restype = CFStringRef + + Security.SSLReadFunc = SSLReadFunc + Security.SSLWriteFunc = SSLWriteFunc + Security.SSLContextRef = SSLContextRef + Security.SSLProtocol = SSLProtocol + Security.SSLCipherSuite = SSLCipherSuite + Security.SecIdentityRef = SecIdentityRef + Security.SecKeychainRef = SecKeychainRef + Security.SecTrustRef = SecTrustRef + Security.SecTrustResultType = SecTrustResultType + Security.SecExternalFormat = SecExternalFormat + Security.OSStatus = OSStatus + + Security.kSecImportExportPassphrase = CFStringRef.in_dll( + Security, 'kSecImportExportPassphrase' + ) + Security.kSecImportItemIdentity = CFStringRef.in_dll( + Security, 'kSecImportItemIdentity' + ) + + # CoreFoundation time! + CoreFoundation.CFRetain.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFRetain.restype = CFTypeRef + + CoreFoundation.CFRelease.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFRelease.restype = None + + CoreFoundation.CFGetTypeID.argtypes = [ + CFTypeRef + ] + CoreFoundation.CFGetTypeID.restype = CFTypeID + + CoreFoundation.CFStringCreateWithCString.argtypes = [ + CFAllocatorRef, + c_char_p, + CFStringEncoding + ] + CoreFoundation.CFStringCreateWithCString.restype = CFStringRef + + CoreFoundation.CFStringGetCStringPtr.argtypes = [ + CFStringRef, + CFStringEncoding + ] + CoreFoundation.CFStringGetCStringPtr.restype = c_char_p + + CoreFoundation.CFStringGetCString.argtypes = [ + CFStringRef, + c_char_p, + CFIndex, + CFStringEncoding + ] + CoreFoundation.CFStringGetCString.restype = c_bool + + CoreFoundation.CFDataCreate.argtypes = [ + CFAllocatorRef, + c_char_p, + CFIndex + ] + CoreFoundation.CFDataCreate.restype = CFDataRef + + CoreFoundation.CFDataGetLength.argtypes = [ + CFDataRef + ] + CoreFoundation.CFDataGetLength.restype = CFIndex + + CoreFoundation.CFDataGetBytePtr.argtypes = [ + CFDataRef + ] + CoreFoundation.CFDataGetBytePtr.restype = c_void_p + + CoreFoundation.CFDictionaryCreate.argtypes = [ + CFAllocatorRef, + POINTER(CFTypeRef), + POINTER(CFTypeRef), + CFIndex, + CFDictionaryKeyCallBacks, + CFDictionaryValueCallBacks + ] + CoreFoundation.CFDictionaryCreate.restype = CFDictionaryRef + + CoreFoundation.CFDictionaryGetValue.argtypes = [ + CFDictionaryRef, + CFTypeRef + ] + CoreFoundation.CFDictionaryGetValue.restype = CFTypeRef + + CoreFoundation.CFArrayCreate.argtypes = [ + CFAllocatorRef, + POINTER(CFTypeRef), + CFIndex, + CFArrayCallBacks, + ] + CoreFoundation.CFArrayCreate.restype = CFArrayRef + + CoreFoundation.CFArrayCreateMutable.argtypes = [ + CFAllocatorRef, + CFIndex, + CFArrayCallBacks + ] + CoreFoundation.CFArrayCreateMutable.restype = CFMutableArrayRef + + CoreFoundation.CFArrayAppendValue.argtypes = [ + CFMutableArrayRef, + c_void_p + ] + CoreFoundation.CFArrayAppendValue.restype = None + + CoreFoundation.CFArrayGetCount.argtypes = [ + CFArrayRef + ] + CoreFoundation.CFArrayGetCount.restype = CFIndex + + CoreFoundation.CFArrayGetValueAtIndex.argtypes = [ + CFArrayRef, + CFIndex + ] + CoreFoundation.CFArrayGetValueAtIndex.restype = c_void_p + + CoreFoundation.kCFAllocatorDefault = CFAllocatorRef.in_dll( + CoreFoundation, 'kCFAllocatorDefault' + ) + CoreFoundation.kCFTypeArrayCallBacks = c_void_p.in_dll(CoreFoundation, 'kCFTypeArrayCallBacks') + CoreFoundation.kCFTypeDictionaryKeyCallBacks = c_void_p.in_dll( + CoreFoundation, 'kCFTypeDictionaryKeyCallBacks' + ) + CoreFoundation.kCFTypeDictionaryValueCallBacks = c_void_p.in_dll( + CoreFoundation, 'kCFTypeDictionaryValueCallBacks' + ) + + CoreFoundation.CFTypeRef = CFTypeRef + CoreFoundation.CFArrayRef = CFArrayRef + CoreFoundation.CFStringRef = CFStringRef + CoreFoundation.CFDictionaryRef = CFDictionaryRef + +except (AttributeError): + raise ImportError('Error initializing ctypes') + + +class CFConst(object): + """ + A class object that acts as essentially a namespace for CoreFoundation + constants. + """ + kCFStringEncodingUTF8 = CFStringEncoding(0x08000100) + + +class SecurityConst(object): + """ + A class object that acts as essentially a namespace for Security constants. + """ + kSSLSessionOptionBreakOnServerAuth = 0 + + kSSLProtocol2 = 1 + kSSLProtocol3 = 2 + kTLSProtocol1 = 4 + kTLSProtocol11 = 7 + kTLSProtocol12 = 8 + + kSSLClientSide = 1 + kSSLStreamType = 0 + + kSecFormatPEMSequence = 10 + + kSecTrustResultInvalid = 0 + kSecTrustResultProceed = 1 + # This gap is present on purpose: this was kSecTrustResultConfirm, which + # is deprecated. + kSecTrustResultDeny = 3 + kSecTrustResultUnspecified = 4 + kSecTrustResultRecoverableTrustFailure = 5 + kSecTrustResultFatalTrustFailure = 6 + kSecTrustResultOtherError = 7 + + errSSLProtocol = -9800 + errSSLWouldBlock = -9803 + errSSLClosedGraceful = -9805 + errSSLClosedNoNotify = -9816 + errSSLClosedAbort = -9806 + + errSSLXCertChainInvalid = -9807 + errSSLCrypto = -9809 + errSSLInternal = -9810 + errSSLCertExpired = -9814 + errSSLCertNotYetValid = -9815 + errSSLUnknownRootCert = -9812 + errSSLNoRootCert = -9813 + errSSLHostNameMismatch = -9843 + errSSLPeerHandshakeFail = -9824 + errSSLPeerUserCancelled = -9839 + errSSLWeakPeerEphemeralDHKey = -9850 + errSSLServerAuthCompleted = -9841 + errSSLRecordOverflow = -9847 + + errSecVerifyFailed = -67808 + errSecNoTrustSettings = -25263 + errSecItemNotFound = -25300 + errSecInvalidTrustSettings = -25262 + + # Cipher suites. We only pick the ones our default cipher string allows. + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 0xC02C + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 0xC030 + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 0xC02B + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 0xC02F + TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 = 0x00A3 + TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 0x009F + TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 = 0x00A2 + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 0x009E + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 = 0xC024 + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 = 0xC028 + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA = 0xC00A + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA = 0xC014 + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B + TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x006A + TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x0039 + TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x0038 + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 = 0xC023 + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 = 0xC027 + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA = 0xC009 + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA = 0xC013 + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067 + TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x0040 + TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033 + TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032 + TLS_RSA_WITH_AES_256_GCM_SHA384 = 0x009D + TLS_RSA_WITH_AES_128_GCM_SHA256 = 0x009C + TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D + TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C + TLS_RSA_WITH_AES_256_CBC_SHA = 0x0035 + TLS_RSA_WITH_AES_128_CBC_SHA = 0x002F + TLS_AES_128_GCM_SHA256 = 0x1301 + TLS_AES_256_GCM_SHA384 = 0x1302 + TLS_CHACHA20_POLY1305_SHA256 = 0x1303 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py new file mode 100644 index 0000000000..b13cd9e72c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/_securetransport/low_level.py @@ -0,0 +1,346 @@ +""" +Low-level helpers for the SecureTransport bindings. + +These are Python functions that are not directly related to the high-level APIs +but are necessary to get them to work. They include a whole bunch of low-level +CoreFoundation messing about and memory management. The concerns in this module +are almost entirely about trying to avoid memory leaks and providing +appropriate and useful assistance to the higher-level code. +""" +import base64 +import ctypes +import itertools +import re +import os +import ssl +import tempfile + +from .bindings import Security, CoreFoundation, CFConst + + +# This regular expression is used to grab PEM data out of a PEM bundle. +_PEM_CERTS_RE = re.compile( + b"-----BEGIN CERTIFICATE-----\n(.*?)\n-----END CERTIFICATE-----", re.DOTALL +) + + +def _cf_data_from_bytes(bytestring): + """ + Given a bytestring, create a CFData object from it. This CFData object must + be CFReleased by the caller. + """ + return CoreFoundation.CFDataCreate( + CoreFoundation.kCFAllocatorDefault, bytestring, len(bytestring) + ) + + +def _cf_dictionary_from_tuples(tuples): + """ + Given a list of Python tuples, create an associated CFDictionary. + """ + dictionary_size = len(tuples) + + # We need to get the dictionary keys and values out in the same order. + keys = (t[0] for t in tuples) + values = (t[1] for t in tuples) + cf_keys = (CoreFoundation.CFTypeRef * dictionary_size)(*keys) + cf_values = (CoreFoundation.CFTypeRef * dictionary_size)(*values) + + return CoreFoundation.CFDictionaryCreate( + CoreFoundation.kCFAllocatorDefault, + cf_keys, + cf_values, + dictionary_size, + CoreFoundation.kCFTypeDictionaryKeyCallBacks, + CoreFoundation.kCFTypeDictionaryValueCallBacks, + ) + + +def _cf_string_to_unicode(value): + """ + Creates a Unicode string from a CFString object. Used entirely for error + reporting. + + Yes, it annoys me quite a lot that this function is this complex. + """ + value_as_void_p = ctypes.cast(value, ctypes.POINTER(ctypes.c_void_p)) + + string = CoreFoundation.CFStringGetCStringPtr( + value_as_void_p, + CFConst.kCFStringEncodingUTF8 + ) + if string is None: + buffer = ctypes.create_string_buffer(1024) + result = CoreFoundation.CFStringGetCString( + value_as_void_p, + buffer, + 1024, + CFConst.kCFStringEncodingUTF8 + ) + if not result: + raise OSError('Error copying C string from CFStringRef') + string = buffer.value + if string is not None: + string = string.decode('utf-8') + return string + + +def _assert_no_error(error, exception_class=None): + """ + Checks the return code and throws an exception if there is an error to + report + """ + if error == 0: + return + + cf_error_string = Security.SecCopyErrorMessageString(error, None) + output = _cf_string_to_unicode(cf_error_string) + CoreFoundation.CFRelease(cf_error_string) + + if output is None or output == u'': + output = u'OSStatus %s' % error + + if exception_class is None: + exception_class = ssl.SSLError + + raise exception_class(output) + + +def _cert_array_from_pem(pem_bundle): + """ + Given a bundle of certs in PEM format, turns them into a CFArray of certs + that can be used to validate a cert chain. + """ + # Normalize the PEM bundle's line endings. + pem_bundle = pem_bundle.replace(b"\r\n", b"\n") + + der_certs = [ + base64.b64decode(match.group(1)) + for match in _PEM_CERTS_RE.finditer(pem_bundle) + ] + if not der_certs: + raise ssl.SSLError("No root certificates specified") + + cert_array = CoreFoundation.CFArrayCreateMutable( + CoreFoundation.kCFAllocatorDefault, + 0, + ctypes.byref(CoreFoundation.kCFTypeArrayCallBacks) + ) + if not cert_array: + raise ssl.SSLError("Unable to allocate memory!") + + try: + for der_bytes in der_certs: + certdata = _cf_data_from_bytes(der_bytes) + if not certdata: + raise ssl.SSLError("Unable to allocate memory!") + cert = Security.SecCertificateCreateWithData( + CoreFoundation.kCFAllocatorDefault, certdata + ) + CoreFoundation.CFRelease(certdata) + if not cert: + raise ssl.SSLError("Unable to build cert object!") + + CoreFoundation.CFArrayAppendValue(cert_array, cert) + CoreFoundation.CFRelease(cert) + except Exception: + # We need to free the array before the exception bubbles further. + # We only want to do that if an error occurs: otherwise, the caller + # should free. + CoreFoundation.CFRelease(cert_array) + + return cert_array + + +def _is_cert(item): + """ + Returns True if a given CFTypeRef is a certificate. + """ + expected = Security.SecCertificateGetTypeID() + return CoreFoundation.CFGetTypeID(item) == expected + + +def _is_identity(item): + """ + Returns True if a given CFTypeRef is an identity. + """ + expected = Security.SecIdentityGetTypeID() + return CoreFoundation.CFGetTypeID(item) == expected + + +def _temporary_keychain(): + """ + This function creates a temporary Mac keychain that we can use to work with + credentials. This keychain uses a one-time password and a temporary file to + store the data. We expect to have one keychain per socket. The returned + SecKeychainRef must be freed by the caller, including calling + SecKeychainDelete. + + Returns a tuple of the SecKeychainRef and the path to the temporary + directory that contains it. + """ + # Unfortunately, SecKeychainCreate requires a path to a keychain. This + # means we cannot use mkstemp to use a generic temporary file. Instead, + # we're going to create a temporary directory and a filename to use there. + # This filename will be 8 random bytes expanded into base64. We also need + # some random bytes to password-protect the keychain we're creating, so we + # ask for 40 random bytes. + random_bytes = os.urandom(40) + filename = base64.b16encode(random_bytes[:8]).decode('utf-8') + password = base64.b16encode(random_bytes[8:]) # Must be valid UTF-8 + tempdirectory = tempfile.mkdtemp() + + keychain_path = os.path.join(tempdirectory, filename).encode('utf-8') + + # We now want to create the keychain itself. + keychain = Security.SecKeychainRef() + status = Security.SecKeychainCreate( + keychain_path, + len(password), + password, + False, + None, + ctypes.byref(keychain) + ) + _assert_no_error(status) + + # Having created the keychain, we want to pass it off to the caller. + return keychain, tempdirectory + + +def _load_items_from_file(keychain, path): + """ + Given a single file, loads all the trust objects from it into arrays and + the keychain. + Returns a tuple of lists: the first list is a list of identities, the + second a list of certs. + """ + certificates = [] + identities = [] + result_array = None + + with open(path, 'rb') as f: + raw_filedata = f.read() + + try: + filedata = CoreFoundation.CFDataCreate( + CoreFoundation.kCFAllocatorDefault, + raw_filedata, + len(raw_filedata) + ) + result_array = CoreFoundation.CFArrayRef() + result = Security.SecItemImport( + filedata, # cert data + None, # Filename, leaving it out for now + None, # What the type of the file is, we don't care + None, # what's in the file, we don't care + 0, # import flags + None, # key params, can include passphrase in the future + keychain, # The keychain to insert into + ctypes.byref(result_array) # Results + ) + _assert_no_error(result) + + # A CFArray is not very useful to us as an intermediary + # representation, so we are going to extract the objects we want + # and then free the array. We don't need to keep hold of keys: the + # keychain already has them! + result_count = CoreFoundation.CFArrayGetCount(result_array) + for index in range(result_count): + item = CoreFoundation.CFArrayGetValueAtIndex( + result_array, index + ) + item = ctypes.cast(item, CoreFoundation.CFTypeRef) + + if _is_cert(item): + CoreFoundation.CFRetain(item) + certificates.append(item) + elif _is_identity(item): + CoreFoundation.CFRetain(item) + identities.append(item) + finally: + if result_array: + CoreFoundation.CFRelease(result_array) + + CoreFoundation.CFRelease(filedata) + + return (identities, certificates) + + +def _load_client_cert_chain(keychain, *paths): + """ + Load certificates and maybe keys from a number of files. Has the end goal + of returning a CFArray containing one SecIdentityRef, and then zero or more + SecCertificateRef objects, suitable for use as a client certificate trust + chain. + """ + # Ok, the strategy. + # + # This relies on knowing that macOS will not give you a SecIdentityRef + # unless you have imported a key into a keychain. This is a somewhat + # artificial limitation of macOS (for example, it doesn't necessarily + # affect iOS), but there is nothing inside Security.framework that lets you + # get a SecIdentityRef without having a key in a keychain. + # + # So the policy here is we take all the files and iterate them in order. + # Each one will use SecItemImport to have one or more objects loaded from + # it. We will also point at a keychain that macOS can use to work with the + # private key. + # + # Once we have all the objects, we'll check what we actually have. If we + # already have a SecIdentityRef in hand, fab: we'll use that. Otherwise, + # we'll take the first certificate (which we assume to be our leaf) and + # ask the keychain to give us a SecIdentityRef with that cert's associated + # key. + # + # We'll then return a CFArray containing the trust chain: one + # SecIdentityRef and then zero-or-more SecCertificateRef objects. The + # responsibility for freeing this CFArray will be with the caller. This + # CFArray must remain alive for the entire connection, so in practice it + # will be stored with a single SSLSocket, along with the reference to the + # keychain. + certificates = [] + identities = [] + + # Filter out bad paths. + paths = (path for path in paths if path) + + try: + for file_path in paths: + new_identities, new_certs = _load_items_from_file( + keychain, file_path + ) + identities.extend(new_identities) + certificates.extend(new_certs) + + # Ok, we have everything. The question is: do we have an identity? If + # not, we want to grab one from the first cert we have. + if not identities: + new_identity = Security.SecIdentityRef() + status = Security.SecIdentityCreateWithCertificate( + keychain, + certificates[0], + ctypes.byref(new_identity) + ) + _assert_no_error(status) + identities.append(new_identity) + + # We now want to release the original certificate, as we no longer + # need it. + CoreFoundation.CFRelease(certificates.pop(0)) + + # We now need to build a new CFArray that holds the trust chain. + trust_chain = CoreFoundation.CFArrayCreateMutable( + CoreFoundation.kCFAllocatorDefault, + 0, + ctypes.byref(CoreFoundation.kCFTypeArrayCallBacks), + ) + for item in itertools.chain(identities, certificates): + # ArrayAppendValue does a CFRetain on the item. That's fine, + # because the finally block will release our other refs to them. + CoreFoundation.CFArrayAppendValue(trust_chain, item) + + return trust_chain + finally: + for obj in itertools.chain(identities, certificates): + CoreFoundation.CFRelease(obj) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/appengine.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/appengine.py new file mode 100644 index 0000000000..9b42952d7b --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/appengine.py @@ -0,0 +1,289 @@ +""" +This module provides a pool manager that uses Google App Engine's +`URLFetch Service <https://cloud.google.com/appengine/docs/python/urlfetch>`_. + +Example usage:: + + from pip._vendor.urllib3 import PoolManager + from pip._vendor.urllib3.contrib.appengine import AppEngineManager, is_appengine_sandbox + + if is_appengine_sandbox(): + # AppEngineManager uses AppEngine's URLFetch API behind the scenes + http = AppEngineManager() + else: + # PoolManager uses a socket-level API behind the scenes + http = PoolManager() + + r = http.request('GET', 'https://google.com/') + +There are `limitations <https://cloud.google.com/appengine/docs/python/\ +urlfetch/#Python_Quotas_and_limits>`_ to the URLFetch service and it may not be +the best choice for your application. There are three options for using +urllib3 on Google App Engine: + +1. You can use :class:`AppEngineManager` with URLFetch. URLFetch is + cost-effective in many circumstances as long as your usage is within the + limitations. +2. You can use a normal :class:`~urllib3.PoolManager` by enabling sockets. + Sockets also have `limitations and restrictions + <https://cloud.google.com/appengine/docs/python/sockets/\ + #limitations-and-restrictions>`_ and have a lower free quota than URLFetch. + To use sockets, be sure to specify the following in your ``app.yaml``:: + + env_variables: + GAE_USE_SOCKETS_HTTPLIB : 'true' + +3. If you are using `App Engine Flexible +<https://cloud.google.com/appengine/docs/flexible/>`_, you can use the standard +:class:`PoolManager` without any configuration or special environment variables. +""" + +from __future__ import absolute_import +import io +import logging +import warnings +from ..packages.six.moves.urllib.parse import urljoin + +from ..exceptions import ( + HTTPError, + HTTPWarning, + MaxRetryError, + ProtocolError, + TimeoutError, + SSLError +) + +from ..request import RequestMethods +from ..response import HTTPResponse +from ..util.timeout import Timeout +from ..util.retry import Retry +from . import _appengine_environ + +try: + from google.appengine.api import urlfetch +except ImportError: + urlfetch = None + + +log = logging.getLogger(__name__) + + +class AppEnginePlatformWarning(HTTPWarning): + pass + + +class AppEnginePlatformError(HTTPError): + pass + + +class AppEngineManager(RequestMethods): + """ + Connection manager for Google App Engine sandbox applications. + + This manager uses the URLFetch service directly instead of using the + emulated httplib, and is subject to URLFetch limitations as described in + the App Engine documentation `here + <https://cloud.google.com/appengine/docs/python/urlfetch>`_. + + Notably it will raise an :class:`AppEnginePlatformError` if: + * URLFetch is not available. + * If you attempt to use this on App Engine Flexible, as full socket + support is available. + * If a request size is more than 10 megabytes. + * If a response size is more than 32 megabtyes. + * If you use an unsupported request method such as OPTIONS. + + Beyond those cases, it will raise normal urllib3 errors. + """ + + def __init__(self, headers=None, retries=None, validate_certificate=True, + urlfetch_retries=True): + if not urlfetch: + raise AppEnginePlatformError( + "URLFetch is not available in this environment.") + + if is_prod_appengine_mvms(): + raise AppEnginePlatformError( + "Use normal urllib3.PoolManager instead of AppEngineManager" + "on Managed VMs, as using URLFetch is not necessary in " + "this environment.") + + warnings.warn( + "urllib3 is using URLFetch on Google App Engine sandbox instead " + "of sockets. To use sockets directly instead of URLFetch see " + "https://urllib3.readthedocs.io/en/latest/reference/urllib3.contrib.html.", + AppEnginePlatformWarning) + + RequestMethods.__init__(self, headers) + self.validate_certificate = validate_certificate + self.urlfetch_retries = urlfetch_retries + + self.retries = retries or Retry.DEFAULT + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + # Return False to re-raise any potential exceptions + return False + + def urlopen(self, method, url, body=None, headers=None, + retries=None, redirect=True, timeout=Timeout.DEFAULT_TIMEOUT, + **response_kw): + + retries = self._get_retries(retries, redirect) + + try: + follow_redirects = ( + redirect and + retries.redirect != 0 and + retries.total) + response = urlfetch.fetch( + url, + payload=body, + method=method, + headers=headers or {}, + allow_truncated=False, + follow_redirects=self.urlfetch_retries and follow_redirects, + deadline=self._get_absolute_timeout(timeout), + validate_certificate=self.validate_certificate, + ) + except urlfetch.DeadlineExceededError as e: + raise TimeoutError(self, e) + + except urlfetch.InvalidURLError as e: + if 'too large' in str(e): + raise AppEnginePlatformError( + "URLFetch request too large, URLFetch only " + "supports requests up to 10mb in size.", e) + raise ProtocolError(e) + + except urlfetch.DownloadError as e: + if 'Too many redirects' in str(e): + raise MaxRetryError(self, url, reason=e) + raise ProtocolError(e) + + except urlfetch.ResponseTooLargeError as e: + raise AppEnginePlatformError( + "URLFetch response too large, URLFetch only supports" + "responses up to 32mb in size.", e) + + except urlfetch.SSLCertificateError as e: + raise SSLError(e) + + except urlfetch.InvalidMethodError as e: + raise AppEnginePlatformError( + "URLFetch does not support method: %s" % method, e) + + http_response = self._urlfetch_response_to_http_response( + response, retries=retries, **response_kw) + + # Handle redirect? + redirect_location = redirect and http_response.get_redirect_location() + if redirect_location: + # Check for redirect response + if (self.urlfetch_retries and retries.raise_on_redirect): + raise MaxRetryError(self, url, "too many redirects") + else: + if http_response.status == 303: + method = 'GET' + + try: + retries = retries.increment(method, url, response=http_response, _pool=self) + except MaxRetryError: + if retries.raise_on_redirect: + raise MaxRetryError(self, url, "too many redirects") + return http_response + + retries.sleep_for_retry(http_response) + log.debug("Redirecting %s -> %s", url, redirect_location) + redirect_url = urljoin(url, redirect_location) + return self.urlopen( + method, redirect_url, body, headers, + retries=retries, redirect=redirect, + timeout=timeout, **response_kw) + + # Check if we should retry the HTTP response. + has_retry_after = bool(http_response.getheader('Retry-After')) + if retries.is_retry(method, http_response.status, has_retry_after): + retries = retries.increment( + method, url, response=http_response, _pool=self) + log.debug("Retry: %s", url) + retries.sleep(http_response) + return self.urlopen( + method, url, + body=body, headers=headers, + retries=retries, redirect=redirect, + timeout=timeout, **response_kw) + + return http_response + + def _urlfetch_response_to_http_response(self, urlfetch_resp, **response_kw): + + if is_prod_appengine(): + # Production GAE handles deflate encoding automatically, but does + # not remove the encoding header. + content_encoding = urlfetch_resp.headers.get('content-encoding') + + if content_encoding == 'deflate': + del urlfetch_resp.headers['content-encoding'] + + transfer_encoding = urlfetch_resp.headers.get('transfer-encoding') + # We have a full response's content, + # so let's make sure we don't report ourselves as chunked data. + if transfer_encoding == 'chunked': + encodings = transfer_encoding.split(",") + encodings.remove('chunked') + urlfetch_resp.headers['transfer-encoding'] = ','.join(encodings) + + original_response = HTTPResponse( + # In order for decoding to work, we must present the content as + # a file-like object. + body=io.BytesIO(urlfetch_resp.content), + msg=urlfetch_resp.header_msg, + headers=urlfetch_resp.headers, + status=urlfetch_resp.status_code, + **response_kw + ) + + return HTTPResponse( + body=io.BytesIO(urlfetch_resp.content), + headers=urlfetch_resp.headers, + status=urlfetch_resp.status_code, + original_response=original_response, + **response_kw + ) + + def _get_absolute_timeout(self, timeout): + if timeout is Timeout.DEFAULT_TIMEOUT: + return None # Defer to URLFetch's default. + if isinstance(timeout, Timeout): + if timeout._read is not None or timeout._connect is not None: + warnings.warn( + "URLFetch does not support granular timeout settings, " + "reverting to total or default URLFetch timeout.", + AppEnginePlatformWarning) + return timeout.total + return timeout + + def _get_retries(self, retries, redirect): + if not isinstance(retries, Retry): + retries = Retry.from_int( + retries, redirect=redirect, default=self.retries) + + if retries.connect or retries.read or retries.redirect: + warnings.warn( + "URLFetch only supports total retries and does not " + "recognize connect, read, or redirect retry parameters.", + AppEnginePlatformWarning) + + return retries + + +# Alias methods from _appengine_environ to maintain public API interface. + +is_appengine = _appengine_environ.is_appengine +is_appengine_sandbox = _appengine_environ.is_appengine_sandbox +is_local_appengine = _appengine_environ.is_local_appengine +is_prod_appengine = _appengine_environ.is_prod_appengine +is_prod_appengine_mvms = _appengine_environ.is_prod_appengine_mvms diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/ntlmpool.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/ntlmpool.py new file mode 100644 index 0000000000..8ea127c583 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/ntlmpool.py @@ -0,0 +1,111 @@ +""" +NTLM authenticating pool, contributed by erikcederstran + +Issue #10, see: http://code.google.com/p/urllib3/issues/detail?id=10 +""" +from __future__ import absolute_import + +from logging import getLogger +from ntlm import ntlm + +from .. import HTTPSConnectionPool +from ..packages.six.moves.http_client import HTTPSConnection + + +log = getLogger(__name__) + + +class NTLMConnectionPool(HTTPSConnectionPool): + """ + Implements an NTLM authentication version of an urllib3 connection pool + """ + + scheme = 'https' + + def __init__(self, user, pw, authurl, *args, **kwargs): + """ + authurl is a random URL on the server that is protected by NTLM. + user is the Windows user, probably in the DOMAIN\\username format. + pw is the password for the user. + """ + super(NTLMConnectionPool, self).__init__(*args, **kwargs) + self.authurl = authurl + self.rawuser = user + user_parts = user.split('\\', 1) + self.domain = user_parts[0].upper() + self.user = user_parts[1] + self.pw = pw + + def _new_conn(self): + # Performs the NTLM handshake that secures the connection. The socket + # must be kept open while requests are performed. + self.num_connections += 1 + log.debug('Starting NTLM HTTPS connection no. %d: https://%s%s', + self.num_connections, self.host, self.authurl) + + headers = {'Connection': 'Keep-Alive'} + req_header = 'Authorization' + resp_header = 'www-authenticate' + + conn = HTTPSConnection(host=self.host, port=self.port) + + # Send negotiation message + headers[req_header] = ( + 'NTLM %s' % ntlm.create_NTLM_NEGOTIATE_MESSAGE(self.rawuser)) + log.debug('Request headers: %s', headers) + conn.request('GET', self.authurl, None, headers) + res = conn.getresponse() + reshdr = dict(res.getheaders()) + log.debug('Response status: %s %s', res.status, res.reason) + log.debug('Response headers: %s', reshdr) + log.debug('Response data: %s [...]', res.read(100)) + + # Remove the reference to the socket, so that it can not be closed by + # the response object (we want to keep the socket open) + res.fp = None + + # Server should respond with a challenge message + auth_header_values = reshdr[resp_header].split(', ') + auth_header_value = None + for s in auth_header_values: + if s[:5] == 'NTLM ': + auth_header_value = s[5:] + if auth_header_value is None: + raise Exception('Unexpected %s response header: %s' % + (resp_header, reshdr[resp_header])) + + # Send authentication message + ServerChallenge, NegotiateFlags = \ + ntlm.parse_NTLM_CHALLENGE_MESSAGE(auth_header_value) + auth_msg = ntlm.create_NTLM_AUTHENTICATE_MESSAGE(ServerChallenge, + self.user, + self.domain, + self.pw, + NegotiateFlags) + headers[req_header] = 'NTLM %s' % auth_msg + log.debug('Request headers: %s', headers) + conn.request('GET', self.authurl, None, headers) + res = conn.getresponse() + log.debug('Response status: %s %s', res.status, res.reason) + log.debug('Response headers: %s', dict(res.getheaders())) + log.debug('Response data: %s [...]', res.read()[:100]) + if res.status != 200: + if res.status == 401: + raise Exception('Server rejected request: wrong ' + 'username or password') + raise Exception('Wrong server response: %s %s' % + (res.status, res.reason)) + + res.fp = None + log.debug('Connection established') + return conn + + def urlopen(self, method, url, body=None, headers=None, retries=3, + redirect=True, assert_same_host=True): + if headers is None: + headers = {} + headers['Connection'] = 'Keep-Alive' + return super(NTLMConnectionPool, self).urlopen(method, url, body, + headers, retries, + redirect, + assert_same_host) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/pyopenssl.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/pyopenssl.py new file mode 100644 index 0000000000..363667cb56 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/pyopenssl.py @@ -0,0 +1,466 @@ +""" +SSL with SNI_-support for Python 2. Follow these instructions if you would +like to verify SSL certificates in Python 2. Note, the default libraries do +*not* do certificate checking; you need to do additional work to validate +certificates yourself. + +This needs the following packages installed: + +* pyOpenSSL (tested with 16.0.0) +* cryptography (minimum 1.3.4, from pyopenssl) +* idna (minimum 2.0, from cryptography) + +However, pyopenssl depends on cryptography, which depends on idna, so while we +use all three directly here we end up having relatively few packages required. + +You can install them with the following command: + + pip install pyopenssl cryptography idna + +To activate certificate checking, call +:func:`~urllib3.contrib.pyopenssl.inject_into_urllib3` from your Python code +before you begin making HTTP requests. This can be done in a ``sitecustomize`` +module, or at any other time before your application begins using ``urllib3``, +like this:: + + try: + import urllib3.contrib.pyopenssl + urllib3.contrib.pyopenssl.inject_into_urllib3() + except ImportError: + pass + +Now you can use :mod:`urllib3` as you normally would, and it will support SNI +when the required modules are installed. + +Activating this module also has the positive side effect of disabling SSL/TLS +compression in Python 2 (see `CRIME attack`_). + +If you want to configure the default list of supported cipher suites, you can +set the ``urllib3.contrib.pyopenssl.DEFAULT_SSL_CIPHER_LIST`` variable. + +.. _sni: https://en.wikipedia.org/wiki/Server_Name_Indication +.. _crime attack: https://en.wikipedia.org/wiki/CRIME_(security_exploit) +""" +from __future__ import absolute_import + +import OpenSSL.SSL +from cryptography import x509 +from cryptography.hazmat.backends.openssl import backend as openssl_backend +from cryptography.hazmat.backends.openssl.x509 import _Certificate +try: + from cryptography.x509 import UnsupportedExtension +except ImportError: + # UnsupportedExtension is gone in cryptography >= 2.1.0 + class UnsupportedExtension(Exception): + pass + +from socket import timeout, error as SocketError +from io import BytesIO + +try: # Platform-specific: Python 2 + from socket import _fileobject +except ImportError: # Platform-specific: Python 3 + _fileobject = None + from ..packages.backports.makefile import backport_makefile + +import logging +import ssl +from ..packages import six +import sys + +from .. import util + +__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] + +# SNI always works. +HAS_SNI = True + +# Map from urllib3 to PyOpenSSL compatible parameter-values. +_openssl_versions = { + ssl.PROTOCOL_SSLv23: OpenSSL.SSL.SSLv23_METHOD, + ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, +} + +if hasattr(ssl, 'PROTOCOL_TLSv1_1') and hasattr(OpenSSL.SSL, 'TLSv1_1_METHOD'): + _openssl_versions[ssl.PROTOCOL_TLSv1_1] = OpenSSL.SSL.TLSv1_1_METHOD + +if hasattr(ssl, 'PROTOCOL_TLSv1_2') and hasattr(OpenSSL.SSL, 'TLSv1_2_METHOD'): + _openssl_versions[ssl.PROTOCOL_TLSv1_2] = OpenSSL.SSL.TLSv1_2_METHOD + +try: + _openssl_versions.update({ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD}) +except AttributeError: + pass + +_stdlib_to_openssl_verify = { + ssl.CERT_NONE: OpenSSL.SSL.VERIFY_NONE, + ssl.CERT_OPTIONAL: OpenSSL.SSL.VERIFY_PEER, + ssl.CERT_REQUIRED: + OpenSSL.SSL.VERIFY_PEER + OpenSSL.SSL.VERIFY_FAIL_IF_NO_PEER_CERT, +} +_openssl_to_stdlib_verify = dict( + (v, k) for k, v in _stdlib_to_openssl_verify.items() +) + +# OpenSSL will only write 16K at a time +SSL_WRITE_BLOCKSIZE = 16384 + +orig_util_HAS_SNI = util.HAS_SNI +orig_util_SSLContext = util.ssl_.SSLContext + + +log = logging.getLogger(__name__) + + +def inject_into_urllib3(): + 'Monkey-patch urllib3 with PyOpenSSL-backed SSL-support.' + + _validate_dependencies_met() + + util.ssl_.SSLContext = PyOpenSSLContext + util.HAS_SNI = HAS_SNI + util.ssl_.HAS_SNI = HAS_SNI + util.IS_PYOPENSSL = True + util.ssl_.IS_PYOPENSSL = True + + +def extract_from_urllib3(): + 'Undo monkey-patching by :func:`inject_into_urllib3`.' + + util.ssl_.SSLContext = orig_util_SSLContext + util.HAS_SNI = orig_util_HAS_SNI + util.ssl_.HAS_SNI = orig_util_HAS_SNI + util.IS_PYOPENSSL = False + util.ssl_.IS_PYOPENSSL = False + + +def _validate_dependencies_met(): + """ + Verifies that PyOpenSSL's package-level dependencies have been met. + Throws `ImportError` if they are not met. + """ + # Method added in `cryptography==1.1`; not available in older versions + from cryptography.x509.extensions import Extensions + if getattr(Extensions, "get_extension_for_class", None) is None: + raise ImportError("'cryptography' module missing required functionality. " + "Try upgrading to v1.3.4 or newer.") + + # pyOpenSSL 0.14 and above use cryptography for OpenSSL bindings. The _x509 + # attribute is only present on those versions. + from OpenSSL.crypto import X509 + x509 = X509() + if getattr(x509, "_x509", None) is None: + raise ImportError("'pyOpenSSL' module missing required functionality. " + "Try upgrading to v0.14 or newer.") + + +def _dnsname_to_stdlib(name): + """ + Converts a dNSName SubjectAlternativeName field to the form used by the + standard library on the given Python version. + + Cryptography produces a dNSName as a unicode string that was idna-decoded + from ASCII bytes. We need to idna-encode that string to get it back, and + then on Python 3 we also need to convert to unicode via UTF-8 (the stdlib + uses PyUnicode_FromStringAndSize on it, which decodes via UTF-8). + + If the name cannot be idna-encoded then we return None signalling that + the name given should be skipped. + """ + def idna_encode(name): + """ + Borrowed wholesale from the Python Cryptography Project. It turns out + that we can't just safely call `idna.encode`: it can explode for + wildcard names. This avoids that problem. + """ + from pip._vendor import idna + + try: + for prefix in [u'*.', u'.']: + if name.startswith(prefix): + name = name[len(prefix):] + return prefix.encode('ascii') + idna.encode(name) + return idna.encode(name) + except idna.core.IDNAError: + return None + + name = idna_encode(name) + if name is None: + return None + elif sys.version_info >= (3, 0): + name = name.decode('utf-8') + return name + + +def get_subj_alt_name(peer_cert): + """ + Given an PyOpenSSL certificate, provides all the subject alternative names. + """ + # Pass the cert to cryptography, which has much better APIs for this. + if hasattr(peer_cert, "to_cryptography"): + cert = peer_cert.to_cryptography() + else: + # This is technically using private APIs, but should work across all + # relevant versions before PyOpenSSL got a proper API for this. + cert = _Certificate(openssl_backend, peer_cert._x509) + + # We want to find the SAN extension. Ask Cryptography to locate it (it's + # faster than looping in Python) + try: + ext = cert.extensions.get_extension_for_class( + x509.SubjectAlternativeName + ).value + except x509.ExtensionNotFound: + # No such extension, return the empty list. + return [] + except (x509.DuplicateExtension, UnsupportedExtension, + x509.UnsupportedGeneralNameType, UnicodeError) as e: + # A problem has been found with the quality of the certificate. Assume + # no SAN field is present. + log.warning( + "A problem was encountered with the certificate that prevented " + "urllib3 from finding the SubjectAlternativeName field. This can " + "affect certificate validation. The error was %s", + e, + ) + return [] + + # We want to return dNSName and iPAddress fields. We need to cast the IPs + # back to strings because the match_hostname function wants them as + # strings. + # Sadly the DNS names need to be idna encoded and then, on Python 3, UTF-8 + # decoded. This is pretty frustrating, but that's what the standard library + # does with certificates, and so we need to attempt to do the same. + # We also want to skip over names which cannot be idna encoded. + names = [ + ('DNS', name) for name in map(_dnsname_to_stdlib, ext.get_values_for_type(x509.DNSName)) + if name is not None + ] + names.extend( + ('IP Address', str(name)) + for name in ext.get_values_for_type(x509.IPAddress) + ) + + return names + + +class WrappedSocket(object): + '''API-compatibility wrapper for Python OpenSSL's Connection-class. + + Note: _makefile_refs, _drop() and _reuse() are needed for the garbage + collector of pypy. + ''' + + def __init__(self, connection, socket, suppress_ragged_eofs=True): + self.connection = connection + self.socket = socket + self.suppress_ragged_eofs = suppress_ragged_eofs + self._makefile_refs = 0 + self._closed = False + + def fileno(self): + return self.socket.fileno() + + # Copy-pasted from Python 3.5 source code + def _decref_socketios(self): + if self._makefile_refs > 0: + self._makefile_refs -= 1 + if self._closed: + self.close() + + def recv(self, *args, **kwargs): + try: + data = self.connection.recv(*args, **kwargs) + except OpenSSL.SSL.SysCallError as e: + if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): + return b'' + else: + raise SocketError(str(e)) + except OpenSSL.SSL.ZeroReturnError as e: + if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: + return b'' + else: + raise + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(self.socket, self.socket.gettimeout()): + raise timeout('The read operation timed out') + else: + return self.recv(*args, **kwargs) + else: + return data + + def recv_into(self, *args, **kwargs): + try: + return self.connection.recv_into(*args, **kwargs) + except OpenSSL.SSL.SysCallError as e: + if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): + return 0 + else: + raise SocketError(str(e)) + except OpenSSL.SSL.ZeroReturnError as e: + if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: + return 0 + else: + raise + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(self.socket, self.socket.gettimeout()): + raise timeout('The read operation timed out') + else: + return self.recv_into(*args, **kwargs) + + def settimeout(self, timeout): + return self.socket.settimeout(timeout) + + def _send_until_done(self, data): + while True: + try: + return self.connection.send(data) + except OpenSSL.SSL.WantWriteError: + if not util.wait_for_write(self.socket, self.socket.gettimeout()): + raise timeout() + continue + except OpenSSL.SSL.SysCallError as e: + raise SocketError(str(e)) + + def sendall(self, data): + total_sent = 0 + while total_sent < len(data): + sent = self._send_until_done(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) + total_sent += sent + + def shutdown(self): + # FIXME rethrow compatible exceptions should we ever use this + self.connection.shutdown() + + def close(self): + if self._makefile_refs < 1: + try: + self._closed = True + return self.connection.close() + except OpenSSL.SSL.Error: + return + else: + self._makefile_refs -= 1 + + def getpeercert(self, binary_form=False): + x509 = self.connection.get_peer_certificate() + + if not x509: + return x509 + + if binary_form: + return OpenSSL.crypto.dump_certificate( + OpenSSL.crypto.FILETYPE_ASN1, + x509) + + return { + 'subject': ( + (('commonName', x509.get_subject().CN),), + ), + 'subjectAltName': get_subj_alt_name(x509) + } + + def _reuse(self): + self._makefile_refs += 1 + + def _drop(self): + if self._makefile_refs < 1: + self.close() + else: + self._makefile_refs -= 1 + + +if _fileobject: # Platform-specific: Python 2 + def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) +else: # Platform-specific: Python 3 + makefile = backport_makefile + +WrappedSocket.makefile = makefile + + +class PyOpenSSLContext(object): + """ + I am a wrapper class for the PyOpenSSL ``Context`` object. I am responsible + for translating the interface of the standard library ``SSLContext`` object + to calls into PyOpenSSL. + """ + def __init__(self, protocol): + self.protocol = _openssl_versions[protocol] + self._ctx = OpenSSL.SSL.Context(self.protocol) + self._options = 0 + self.check_hostname = False + + @property + def options(self): + return self._options + + @options.setter + def options(self, value): + self._options = value + self._ctx.set_options(value) + + @property + def verify_mode(self): + return _openssl_to_stdlib_verify[self._ctx.get_verify_mode()] + + @verify_mode.setter + def verify_mode(self, value): + self._ctx.set_verify( + _stdlib_to_openssl_verify[value], + _verify_callback + ) + + def set_default_verify_paths(self): + self._ctx.set_default_verify_paths() + + def set_ciphers(self, ciphers): + if isinstance(ciphers, six.text_type): + ciphers = ciphers.encode('utf-8') + self._ctx.set_cipher_list(ciphers) + + def load_verify_locations(self, cafile=None, capath=None, cadata=None): + if cafile is not None: + cafile = cafile.encode('utf-8') + if capath is not None: + capath = capath.encode('utf-8') + self._ctx.load_verify_locations(cafile, capath) + if cadata is not None: + self._ctx.load_verify_locations(BytesIO(cadata)) + + def load_cert_chain(self, certfile, keyfile=None, password=None): + self._ctx.use_certificate_chain_file(certfile) + if password is not None: + self._ctx.set_passwd_cb(lambda max_length, prompt_twice, userdata: password) + self._ctx.use_privatekey_file(keyfile or certfile) + + def wrap_socket(self, sock, server_side=False, + do_handshake_on_connect=True, suppress_ragged_eofs=True, + server_hostname=None): + cnx = OpenSSL.SSL.Connection(self._ctx, sock) + + if isinstance(server_hostname, six.text_type): # Platform-specific: Python 3 + server_hostname = server_hostname.encode('utf-8') + + if server_hostname is not None: + cnx.set_tlsext_host_name(server_hostname) + + cnx.set_connect_state() + + while True: + try: + cnx.do_handshake() + except OpenSSL.SSL.WantReadError: + if not util.wait_for_read(sock, sock.gettimeout()): + raise timeout('select timed out') + continue + except OpenSSL.SSL.Error as e: + raise ssl.SSLError('bad handshake: %r' % e) + break + + return WrappedSocket(cnx, sock) + + +def _verify_callback(cnx, x509, err_no, err_depth, return_code): + return err_no == 0 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/securetransport.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/securetransport.py new file mode 100644 index 0000000000..77cb59ed71 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/securetransport.py @@ -0,0 +1,804 @@ +""" +SecureTranport support for urllib3 via ctypes. + +This makes platform-native TLS available to urllib3 users on macOS without the +use of a compiler. This is an important feature because the Python Package +Index is moving to become a TLSv1.2-or-higher server, and the default OpenSSL +that ships with macOS is not capable of doing TLSv1.2. The only way to resolve +this is to give macOS users an alternative solution to the problem, and that +solution is to use SecureTransport. + +We use ctypes here because this solution must not require a compiler. That's +because pip is not allowed to require a compiler either. + +This is not intended to be a seriously long-term solution to this problem. +The hope is that PEP 543 will eventually solve this issue for us, at which +point we can retire this contrib module. But in the short term, we need to +solve the impending tire fire that is Python on Mac without this kind of +contrib module. So...here we are. + +To use this module, simply import and inject it:: + + import urllib3.contrib.securetransport + urllib3.contrib.securetransport.inject_into_urllib3() + +Happy TLSing! +""" +from __future__ import absolute_import + +import contextlib +import ctypes +import errno +import os.path +import shutil +import socket +import ssl +import threading +import weakref + +from .. import util +from ._securetransport.bindings import ( + Security, SecurityConst, CoreFoundation +) +from ._securetransport.low_level import ( + _assert_no_error, _cert_array_from_pem, _temporary_keychain, + _load_client_cert_chain +) + +try: # Platform-specific: Python 2 + from socket import _fileobject +except ImportError: # Platform-specific: Python 3 + _fileobject = None + from ..packages.backports.makefile import backport_makefile + +__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] + +# SNI always works +HAS_SNI = True + +orig_util_HAS_SNI = util.HAS_SNI +orig_util_SSLContext = util.ssl_.SSLContext + +# This dictionary is used by the read callback to obtain a handle to the +# calling wrapped socket. This is a pretty silly approach, but for now it'll +# do. I feel like I should be able to smuggle a handle to the wrapped socket +# directly in the SSLConnectionRef, but for now this approach will work I +# guess. +# +# We need to lock around this structure for inserts, but we don't do it for +# reads/writes in the callbacks. The reasoning here goes as follows: +# +# 1. It is not possible to call into the callbacks before the dictionary is +# populated, so once in the callback the id must be in the dictionary. +# 2. The callbacks don't mutate the dictionary, they only read from it, and +# so cannot conflict with any of the insertions. +# +# This is good: if we had to lock in the callbacks we'd drastically slow down +# the performance of this code. +_connection_refs = weakref.WeakValueDictionary() +_connection_ref_lock = threading.Lock() + +# Limit writes to 16kB. This is OpenSSL's limit, but we'll cargo-cult it over +# for no better reason than we need *a* limit, and this one is right there. +SSL_WRITE_BLOCKSIZE = 16384 + +# This is our equivalent of util.ssl_.DEFAULT_CIPHERS, but expanded out to +# individual cipher suites. We need to do this because this is how +# SecureTransport wants them. +CIPHER_SUITES = [ + SecurityConst.TLS_AES_256_GCM_SHA384, + SecurityConst.TLS_CHACHA20_POLY1305_SHA256, + SecurityConst.TLS_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_DHE_DSS_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_DHE_RSA_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_DHE_DSS_WITH_AES_128_CBC_SHA, + SecurityConst.TLS_RSA_WITH_AES_256_GCM_SHA384, + SecurityConst.TLS_RSA_WITH_AES_128_GCM_SHA256, + SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA256, + SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA256, + SecurityConst.TLS_RSA_WITH_AES_256_CBC_SHA, + SecurityConst.TLS_RSA_WITH_AES_128_CBC_SHA, +] + +# Basically this is simple: for PROTOCOL_SSLv23 we turn it into a low of +# TLSv1 and a high of TLSv1.2. For everything else, we pin to that version. +_protocol_to_min_max = { + ssl.PROTOCOL_SSLv23: (SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol12), +} + +if hasattr(ssl, "PROTOCOL_SSLv2"): + _protocol_to_min_max[ssl.PROTOCOL_SSLv2] = ( + SecurityConst.kSSLProtocol2, SecurityConst.kSSLProtocol2 + ) +if hasattr(ssl, "PROTOCOL_SSLv3"): + _protocol_to_min_max[ssl.PROTOCOL_SSLv3] = ( + SecurityConst.kSSLProtocol3, SecurityConst.kSSLProtocol3 + ) +if hasattr(ssl, "PROTOCOL_TLSv1"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1] = ( + SecurityConst.kTLSProtocol1, SecurityConst.kTLSProtocol1 + ) +if hasattr(ssl, "PROTOCOL_TLSv1_1"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1_1] = ( + SecurityConst.kTLSProtocol11, SecurityConst.kTLSProtocol11 + ) +if hasattr(ssl, "PROTOCOL_TLSv1_2"): + _protocol_to_min_max[ssl.PROTOCOL_TLSv1_2] = ( + SecurityConst.kTLSProtocol12, SecurityConst.kTLSProtocol12 + ) +if hasattr(ssl, "PROTOCOL_TLS"): + _protocol_to_min_max[ssl.PROTOCOL_TLS] = _protocol_to_min_max[ssl.PROTOCOL_SSLv23] + + +def inject_into_urllib3(): + """ + Monkey-patch urllib3 with SecureTransport-backed SSL-support. + """ + util.ssl_.SSLContext = SecureTransportContext + util.HAS_SNI = HAS_SNI + util.ssl_.HAS_SNI = HAS_SNI + util.IS_SECURETRANSPORT = True + util.ssl_.IS_SECURETRANSPORT = True + + +def extract_from_urllib3(): + """ + Undo monkey-patching by :func:`inject_into_urllib3`. + """ + util.ssl_.SSLContext = orig_util_SSLContext + util.HAS_SNI = orig_util_HAS_SNI + util.ssl_.HAS_SNI = orig_util_HAS_SNI + util.IS_SECURETRANSPORT = False + util.ssl_.IS_SECURETRANSPORT = False + + +def _read_callback(connection_id, data_buffer, data_length_pointer): + """ + SecureTransport read callback. This is called by ST to request that data + be returned from the socket. + """ + wrapped_socket = None + try: + wrapped_socket = _connection_refs.get(connection_id) + if wrapped_socket is None: + return SecurityConst.errSSLInternal + base_socket = wrapped_socket.socket + + requested_length = data_length_pointer[0] + + timeout = wrapped_socket.gettimeout() + error = None + read_count = 0 + + try: + while read_count < requested_length: + if timeout is None or timeout >= 0: + if not util.wait_for_read(base_socket, timeout): + raise socket.error(errno.EAGAIN, 'timed out') + + remaining = requested_length - read_count + buffer = (ctypes.c_char * remaining).from_address( + data_buffer + read_count + ) + chunk_size = base_socket.recv_into(buffer, remaining) + read_count += chunk_size + if not chunk_size: + if not read_count: + return SecurityConst.errSSLClosedGraceful + break + except (socket.error) as e: + error = e.errno + + if error is not None and error != errno.EAGAIN: + data_length_pointer[0] = read_count + if error == errno.ECONNRESET or error == errno.EPIPE: + return SecurityConst.errSSLClosedAbort + raise + + data_length_pointer[0] = read_count + + if read_count != requested_length: + return SecurityConst.errSSLWouldBlock + + return 0 + except Exception as e: + if wrapped_socket is not None: + wrapped_socket._exception = e + return SecurityConst.errSSLInternal + + +def _write_callback(connection_id, data_buffer, data_length_pointer): + """ + SecureTransport write callback. This is called by ST to request that data + actually be sent on the network. + """ + wrapped_socket = None + try: + wrapped_socket = _connection_refs.get(connection_id) + if wrapped_socket is None: + return SecurityConst.errSSLInternal + base_socket = wrapped_socket.socket + + bytes_to_write = data_length_pointer[0] + data = ctypes.string_at(data_buffer, bytes_to_write) + + timeout = wrapped_socket.gettimeout() + error = None + sent = 0 + + try: + while sent < bytes_to_write: + if timeout is None or timeout >= 0: + if not util.wait_for_write(base_socket, timeout): + raise socket.error(errno.EAGAIN, 'timed out') + chunk_sent = base_socket.send(data) + sent += chunk_sent + + # This has some needless copying here, but I'm not sure there's + # much value in optimising this data path. + data = data[chunk_sent:] + except (socket.error) as e: + error = e.errno + + if error is not None and error != errno.EAGAIN: + data_length_pointer[0] = sent + if error == errno.ECONNRESET or error == errno.EPIPE: + return SecurityConst.errSSLClosedAbort + raise + + data_length_pointer[0] = sent + + if sent != bytes_to_write: + return SecurityConst.errSSLWouldBlock + + return 0 + except Exception as e: + if wrapped_socket is not None: + wrapped_socket._exception = e + return SecurityConst.errSSLInternal + + +# We need to keep these two objects references alive: if they get GC'd while +# in use then SecureTransport could attempt to call a function that is in freed +# memory. That would be...uh...bad. Yeah, that's the word. Bad. +_read_callback_pointer = Security.SSLReadFunc(_read_callback) +_write_callback_pointer = Security.SSLWriteFunc(_write_callback) + + +class WrappedSocket(object): + """ + API-compatibility wrapper for Python's OpenSSL wrapped socket object. + + Note: _makefile_refs, _drop(), and _reuse() are needed for the garbage + collector of PyPy. + """ + def __init__(self, socket): + self.socket = socket + self.context = None + self._makefile_refs = 0 + self._closed = False + self._exception = None + self._keychain = None + self._keychain_dir = None + self._client_cert_chain = None + + # We save off the previously-configured timeout and then set it to + # zero. This is done because we use select and friends to handle the + # timeouts, but if we leave the timeout set on the lower socket then + # Python will "kindly" call select on that socket again for us. Avoid + # that by forcing the timeout to zero. + self._timeout = self.socket.gettimeout() + self.socket.settimeout(0) + + @contextlib.contextmanager + def _raise_on_error(self): + """ + A context manager that can be used to wrap calls that do I/O from + SecureTransport. If any of the I/O callbacks hit an exception, this + context manager will correctly propagate the exception after the fact. + This avoids silently swallowing those exceptions. + + It also correctly forces the socket closed. + """ + self._exception = None + + # We explicitly don't catch around this yield because in the unlikely + # event that an exception was hit in the block we don't want to swallow + # it. + yield + if self._exception is not None: + exception, self._exception = self._exception, None + self.close() + raise exception + + def _set_ciphers(self): + """ + Sets up the allowed ciphers. By default this matches the set in + util.ssl_.DEFAULT_CIPHERS, at least as supported by macOS. This is done + custom and doesn't allow changing at this time, mostly because parsing + OpenSSL cipher strings is going to be a freaking nightmare. + """ + ciphers = (Security.SSLCipherSuite * len(CIPHER_SUITES))(*CIPHER_SUITES) + result = Security.SSLSetEnabledCiphers( + self.context, ciphers, len(CIPHER_SUITES) + ) + _assert_no_error(result) + + def _custom_validate(self, verify, trust_bundle): + """ + Called when we have set custom validation. We do this in two cases: + first, when cert validation is entirely disabled; and second, when + using a custom trust DB. + """ + # If we disabled cert validation, just say: cool. + if not verify: + return + + # We want data in memory, so load it up. + if os.path.isfile(trust_bundle): + with open(trust_bundle, 'rb') as f: + trust_bundle = f.read() + + cert_array = None + trust = Security.SecTrustRef() + + try: + # Get a CFArray that contains the certs we want. + cert_array = _cert_array_from_pem(trust_bundle) + + # Ok, now the hard part. We want to get the SecTrustRef that ST has + # created for this connection, shove our CAs into it, tell ST to + # ignore everything else it knows, and then ask if it can build a + # chain. This is a buuuunch of code. + result = Security.SSLCopyPeerTrust( + self.context, ctypes.byref(trust) + ) + _assert_no_error(result) + if not trust: + raise ssl.SSLError("Failed to copy trust reference") + + result = Security.SecTrustSetAnchorCertificates(trust, cert_array) + _assert_no_error(result) + + result = Security.SecTrustSetAnchorCertificatesOnly(trust, True) + _assert_no_error(result) + + trust_result = Security.SecTrustResultType() + result = Security.SecTrustEvaluate( + trust, ctypes.byref(trust_result) + ) + _assert_no_error(result) + finally: + if trust: + CoreFoundation.CFRelease(trust) + + if cert_array is not None: + CoreFoundation.CFRelease(cert_array) + + # Ok, now we can look at what the result was. + successes = ( + SecurityConst.kSecTrustResultUnspecified, + SecurityConst.kSecTrustResultProceed + ) + if trust_result.value not in successes: + raise ssl.SSLError( + "certificate verify failed, error code: %d" % + trust_result.value + ) + + def handshake(self, + server_hostname, + verify, + trust_bundle, + min_version, + max_version, + client_cert, + client_key, + client_key_passphrase): + """ + Actually performs the TLS handshake. This is run automatically by + wrapped socket, and shouldn't be needed in user code. + """ + # First, we do the initial bits of connection setup. We need to create + # a context, set its I/O funcs, and set the connection reference. + self.context = Security.SSLCreateContext( + None, SecurityConst.kSSLClientSide, SecurityConst.kSSLStreamType + ) + result = Security.SSLSetIOFuncs( + self.context, _read_callback_pointer, _write_callback_pointer + ) + _assert_no_error(result) + + # Here we need to compute the handle to use. We do this by taking the + # id of self modulo 2**31 - 1. If this is already in the dictionary, we + # just keep incrementing by one until we find a free space. + with _connection_ref_lock: + handle = id(self) % 2147483647 + while handle in _connection_refs: + handle = (handle + 1) % 2147483647 + _connection_refs[handle] = self + + result = Security.SSLSetConnection(self.context, handle) + _assert_no_error(result) + + # If we have a server hostname, we should set that too. + if server_hostname: + if not isinstance(server_hostname, bytes): + server_hostname = server_hostname.encode('utf-8') + + result = Security.SSLSetPeerDomainName( + self.context, server_hostname, len(server_hostname) + ) + _assert_no_error(result) + + # Setup the ciphers. + self._set_ciphers() + + # Set the minimum and maximum TLS versions. + result = Security.SSLSetProtocolVersionMin(self.context, min_version) + _assert_no_error(result) + result = Security.SSLSetProtocolVersionMax(self.context, max_version) + _assert_no_error(result) + + # If there's a trust DB, we need to use it. We do that by telling + # SecureTransport to break on server auth. We also do that if we don't + # want to validate the certs at all: we just won't actually do any + # authing in that case. + if not verify or trust_bundle is not None: + result = Security.SSLSetSessionOption( + self.context, + SecurityConst.kSSLSessionOptionBreakOnServerAuth, + True + ) + _assert_no_error(result) + + # If there's a client cert, we need to use it. + if client_cert: + self._keychain, self._keychain_dir = _temporary_keychain() + self._client_cert_chain = _load_client_cert_chain( + self._keychain, client_cert, client_key + ) + result = Security.SSLSetCertificate( + self.context, self._client_cert_chain + ) + _assert_no_error(result) + + while True: + with self._raise_on_error(): + result = Security.SSLHandshake(self.context) + + if result == SecurityConst.errSSLWouldBlock: + raise socket.timeout("handshake timed out") + elif result == SecurityConst.errSSLServerAuthCompleted: + self._custom_validate(verify, trust_bundle) + continue + else: + _assert_no_error(result) + break + + def fileno(self): + return self.socket.fileno() + + # Copy-pasted from Python 3.5 source code + def _decref_socketios(self): + if self._makefile_refs > 0: + self._makefile_refs -= 1 + if self._closed: + self.close() + + def recv(self, bufsiz): + buffer = ctypes.create_string_buffer(bufsiz) + bytes_read = self.recv_into(buffer, bufsiz) + data = buffer[:bytes_read] + return data + + def recv_into(self, buffer, nbytes=None): + # Read short on EOF. + if self._closed: + return 0 + + if nbytes is None: + nbytes = len(buffer) + + buffer = (ctypes.c_char * nbytes).from_buffer(buffer) + processed_bytes = ctypes.c_size_t(0) + + with self._raise_on_error(): + result = Security.SSLRead( + self.context, buffer, nbytes, ctypes.byref(processed_bytes) + ) + + # There are some result codes that we want to treat as "not always + # errors". Specifically, those are errSSLWouldBlock, + # errSSLClosedGraceful, and errSSLClosedNoNotify. + if (result == SecurityConst.errSSLWouldBlock): + # If we didn't process any bytes, then this was just a time out. + # However, we can get errSSLWouldBlock in situations when we *did* + # read some data, and in those cases we should just read "short" + # and return. + if processed_bytes.value == 0: + # Timed out, no data read. + raise socket.timeout("recv timed out") + elif result in (SecurityConst.errSSLClosedGraceful, SecurityConst.errSSLClosedNoNotify): + # The remote peer has closed this connection. We should do so as + # well. Note that we don't actually return here because in + # principle this could actually be fired along with return data. + # It's unlikely though. + self.close() + else: + _assert_no_error(result) + + # Ok, we read and probably succeeded. We should return whatever data + # was actually read. + return processed_bytes.value + + def settimeout(self, timeout): + self._timeout = timeout + + def gettimeout(self): + return self._timeout + + def send(self, data): + processed_bytes = ctypes.c_size_t(0) + + with self._raise_on_error(): + result = Security.SSLWrite( + self.context, data, len(data), ctypes.byref(processed_bytes) + ) + + if result == SecurityConst.errSSLWouldBlock and processed_bytes.value == 0: + # Timed out + raise socket.timeout("send timed out") + else: + _assert_no_error(result) + + # We sent, and probably succeeded. Tell them how much we sent. + return processed_bytes.value + + def sendall(self, data): + total_sent = 0 + while total_sent < len(data): + sent = self.send(data[total_sent:total_sent + SSL_WRITE_BLOCKSIZE]) + total_sent += sent + + def shutdown(self): + with self._raise_on_error(): + Security.SSLClose(self.context) + + def close(self): + # TODO: should I do clean shutdown here? Do I have to? + if self._makefile_refs < 1: + self._closed = True + if self.context: + CoreFoundation.CFRelease(self.context) + self.context = None + if self._client_cert_chain: + CoreFoundation.CFRelease(self._client_cert_chain) + self._client_cert_chain = None + if self._keychain: + Security.SecKeychainDelete(self._keychain) + CoreFoundation.CFRelease(self._keychain) + shutil.rmtree(self._keychain_dir) + self._keychain = self._keychain_dir = None + return self.socket.close() + else: + self._makefile_refs -= 1 + + def getpeercert(self, binary_form=False): + # Urgh, annoying. + # + # Here's how we do this: + # + # 1. Call SSLCopyPeerTrust to get hold of the trust object for this + # connection. + # 2. Call SecTrustGetCertificateAtIndex for index 0 to get the leaf. + # 3. To get the CN, call SecCertificateCopyCommonName and process that + # string so that it's of the appropriate type. + # 4. To get the SAN, we need to do something a bit more complex: + # a. Call SecCertificateCopyValues to get the data, requesting + # kSecOIDSubjectAltName. + # b. Mess about with this dictionary to try to get the SANs out. + # + # This is gross. Really gross. It's going to be a few hundred LoC extra + # just to repeat something that SecureTransport can *already do*. So my + # operating assumption at this time is that what we want to do is + # instead to just flag to urllib3 that it shouldn't do its own hostname + # validation when using SecureTransport. + if not binary_form: + raise ValueError( + "SecureTransport only supports dumping binary certs" + ) + trust = Security.SecTrustRef() + certdata = None + der_bytes = None + + try: + # Grab the trust store. + result = Security.SSLCopyPeerTrust( + self.context, ctypes.byref(trust) + ) + _assert_no_error(result) + if not trust: + # Probably we haven't done the handshake yet. No biggie. + return None + + cert_count = Security.SecTrustGetCertificateCount(trust) + if not cert_count: + # Also a case that might happen if we haven't handshaked. + # Handshook? Handshaken? + return None + + leaf = Security.SecTrustGetCertificateAtIndex(trust, 0) + assert leaf + + # Ok, now we want the DER bytes. + certdata = Security.SecCertificateCopyData(leaf) + assert certdata + + data_length = CoreFoundation.CFDataGetLength(certdata) + data_buffer = CoreFoundation.CFDataGetBytePtr(certdata) + der_bytes = ctypes.string_at(data_buffer, data_length) + finally: + if certdata: + CoreFoundation.CFRelease(certdata) + if trust: + CoreFoundation.CFRelease(trust) + + return der_bytes + + def _reuse(self): + self._makefile_refs += 1 + + def _drop(self): + if self._makefile_refs < 1: + self.close() + else: + self._makefile_refs -= 1 + + +if _fileobject: # Platform-specific: Python 2 + def makefile(self, mode, bufsize=-1): + self._makefile_refs += 1 + return _fileobject(self, mode, bufsize, close=True) +else: # Platform-specific: Python 3 + def makefile(self, mode="r", buffering=None, *args, **kwargs): + # We disable buffering with SecureTransport because it conflicts with + # the buffering that ST does internally (see issue #1153 for more). + buffering = 0 + return backport_makefile(self, mode, buffering, *args, **kwargs) + +WrappedSocket.makefile = makefile + + +class SecureTransportContext(object): + """ + I am a wrapper class for the SecureTransport library, to translate the + interface of the standard library ``SSLContext`` object to calls into + SecureTransport. + """ + def __init__(self, protocol): + self._min_version, self._max_version = _protocol_to_min_max[protocol] + self._options = 0 + self._verify = False + self._trust_bundle = None + self._client_cert = None + self._client_key = None + self._client_key_passphrase = None + + @property + def check_hostname(self): + """ + SecureTransport cannot have its hostname checking disabled. For more, + see the comment on getpeercert() in this file. + """ + return True + + @check_hostname.setter + def check_hostname(self, value): + """ + SecureTransport cannot have its hostname checking disabled. For more, + see the comment on getpeercert() in this file. + """ + pass + + @property + def options(self): + # TODO: Well, crap. + # + # So this is the bit of the code that is the most likely to cause us + # trouble. Essentially we need to enumerate all of the SSL options that + # users might want to use and try to see if we can sensibly translate + # them, or whether we should just ignore them. + return self._options + + @options.setter + def options(self, value): + # TODO: Update in line with above. + self._options = value + + @property + def verify_mode(self): + return ssl.CERT_REQUIRED if self._verify else ssl.CERT_NONE + + @verify_mode.setter + def verify_mode(self, value): + self._verify = True if value == ssl.CERT_REQUIRED else False + + def set_default_verify_paths(self): + # So, this has to do something a bit weird. Specifically, what it does + # is nothing. + # + # This means that, if we had previously had load_verify_locations + # called, this does not undo that. We need to do that because it turns + # out that the rest of the urllib3 code will attempt to load the + # default verify paths if it hasn't been told about any paths, even if + # the context itself was sometime earlier. We resolve that by just + # ignoring it. + pass + + def load_default_certs(self): + return self.set_default_verify_paths() + + def set_ciphers(self, ciphers): + # For now, we just require the default cipher string. + if ciphers != util.ssl_.DEFAULT_CIPHERS: + raise ValueError( + "SecureTransport doesn't support custom cipher strings" + ) + + def load_verify_locations(self, cafile=None, capath=None, cadata=None): + # OK, we only really support cadata and cafile. + if capath is not None: + raise ValueError( + "SecureTransport does not support cert directories" + ) + + self._trust_bundle = cafile or cadata + + def load_cert_chain(self, certfile, keyfile=None, password=None): + self._client_cert = certfile + self._client_key = keyfile + self._client_cert_passphrase = password + + def wrap_socket(self, sock, server_side=False, + do_handshake_on_connect=True, suppress_ragged_eofs=True, + server_hostname=None): + # So, what do we do here? Firstly, we assert some properties. This is a + # stripped down shim, so there is some functionality we don't support. + # See PEP 543 for the real deal. + assert not server_side + assert do_handshake_on_connect + assert suppress_ragged_eofs + + # Ok, we're good to go. Now we want to create the wrapped socket object + # and store it in the appropriate place. + wrapped_socket = WrappedSocket(sock) + + # Now we can handshake + wrapped_socket.handshake( + server_hostname, self._verify, self._trust_bundle, + self._min_version, self._max_version, self._client_cert, + self._client_key, self._client_key_passphrase + ) + return wrapped_socket diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/socks.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/socks.py new file mode 100644 index 0000000000..811e312ec8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/contrib/socks.py @@ -0,0 +1,192 @@ +# -*- coding: utf-8 -*- +""" +This module contains provisional support for SOCKS proxies from within +urllib3. This module supports SOCKS4 (specifically the SOCKS4A variant) and +SOCKS5. To enable its functionality, either install PySocks or install this +module with the ``socks`` extra. + +The SOCKS implementation supports the full range of urllib3 features. It also +supports the following SOCKS features: + +- SOCKS4 +- SOCKS4a +- SOCKS5 +- Usernames and passwords for the SOCKS proxy + +Known Limitations: + +- Currently PySocks does not support contacting remote websites via literal + IPv6 addresses. Any such connection attempt will fail. You must use a domain + name. +- Currently PySocks does not support IPv6 connections to the SOCKS proxy. Any + such connection attempt will fail. +""" +from __future__ import absolute_import + +try: + import socks +except ImportError: + import warnings + from ..exceptions import DependencyWarning + + warnings.warn(( + 'SOCKS support in urllib3 requires the installation of optional ' + 'dependencies: specifically, PySocks. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/contrib.html#socks-proxies' + ), + DependencyWarning + ) + raise + +from socket import error as SocketError, timeout as SocketTimeout + +from ..connection import ( + HTTPConnection, HTTPSConnection +) +from ..connectionpool import ( + HTTPConnectionPool, HTTPSConnectionPool +) +from ..exceptions import ConnectTimeoutError, NewConnectionError +from ..poolmanager import PoolManager +from ..util.url import parse_url + +try: + import ssl +except ImportError: + ssl = None + + +class SOCKSConnection(HTTPConnection): + """ + A plain-text HTTP connection that connects via a SOCKS proxy. + """ + def __init__(self, *args, **kwargs): + self._socks_options = kwargs.pop('_socks_options') + super(SOCKSConnection, self).__init__(*args, **kwargs) + + def _new_conn(self): + """ + Establish a new connection via the SOCKS proxy. + """ + extra_kw = {} + if self.source_address: + extra_kw['source_address'] = self.source_address + + if self.socket_options: + extra_kw['socket_options'] = self.socket_options + + try: + conn = socks.create_connection( + (self.host, self.port), + proxy_type=self._socks_options['socks_version'], + proxy_addr=self._socks_options['proxy_host'], + proxy_port=self._socks_options['proxy_port'], + proxy_username=self._socks_options['username'], + proxy_password=self._socks_options['password'], + proxy_rdns=self._socks_options['rdns'], + timeout=self.timeout, + **extra_kw + ) + + except SocketTimeout as e: + raise ConnectTimeoutError( + self, "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout)) + + except socks.ProxyError as e: + # This is fragile as hell, but it seems to be the only way to raise + # useful errors here. + if e.socket_err: + error = e.socket_err + if isinstance(error, SocketTimeout): + raise ConnectTimeoutError( + self, + "Connection to %s timed out. (connect timeout=%s)" % + (self.host, self.timeout) + ) + else: + raise NewConnectionError( + self, + "Failed to establish a new connection: %s" % error + ) + else: + raise NewConnectionError( + self, + "Failed to establish a new connection: %s" % e + ) + + except SocketError as e: # Defensive: PySocks should catch all these. + raise NewConnectionError( + self, "Failed to establish a new connection: %s" % e) + + return conn + + +# We don't need to duplicate the Verified/Unverified distinction from +# urllib3/connection.py here because the HTTPSConnection will already have been +# correctly set to either the Verified or Unverified form by that module. This +# means the SOCKSHTTPSConnection will automatically be the correct type. +class SOCKSHTTPSConnection(SOCKSConnection, HTTPSConnection): + pass + + +class SOCKSHTTPConnectionPool(HTTPConnectionPool): + ConnectionCls = SOCKSConnection + + +class SOCKSHTTPSConnectionPool(HTTPSConnectionPool): + ConnectionCls = SOCKSHTTPSConnection + + +class SOCKSProxyManager(PoolManager): + """ + A version of the urllib3 ProxyManager that routes connections via the + defined SOCKS proxy. + """ + pool_classes_by_scheme = { + 'http': SOCKSHTTPConnectionPool, + 'https': SOCKSHTTPSConnectionPool, + } + + def __init__(self, proxy_url, username=None, password=None, + num_pools=10, headers=None, **connection_pool_kw): + parsed = parse_url(proxy_url) + + if username is None and password is None and parsed.auth is not None: + split = parsed.auth.split(':') + if len(split) == 2: + username, password = split + if parsed.scheme == 'socks5': + socks_version = socks.PROXY_TYPE_SOCKS5 + rdns = False + elif parsed.scheme == 'socks5h': + socks_version = socks.PROXY_TYPE_SOCKS5 + rdns = True + elif parsed.scheme == 'socks4': + socks_version = socks.PROXY_TYPE_SOCKS4 + rdns = False + elif parsed.scheme == 'socks4a': + socks_version = socks.PROXY_TYPE_SOCKS4 + rdns = True + else: + raise ValueError( + "Unable to determine SOCKS version from %s" % proxy_url + ) + + self.proxy_url = proxy_url + + socks_options = { + 'socks_version': socks_version, + 'proxy_host': parsed.host, + 'proxy_port': parsed.port, + 'username': username, + 'password': password, + 'rdns': rdns + } + connection_pool_kw['_socks_options'] = socks_options + + super(SOCKSProxyManager, self).__init__( + num_pools, headers, **connection_pool_kw + ) + + self.pool_classes_by_scheme = SOCKSProxyManager.pool_classes_by_scheme diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/exceptions.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/exceptions.py new file mode 100644 index 0000000000..7bbaa9871f --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/exceptions.py @@ -0,0 +1,246 @@ +from __future__ import absolute_import +from .packages.six.moves.http_client import ( + IncompleteRead as httplib_IncompleteRead +) +# Base Exceptions + + +class HTTPError(Exception): + "Base exception used by this module." + pass + + +class HTTPWarning(Warning): + "Base warning used by this module." + pass + + +class PoolError(HTTPError): + "Base exception for errors caused within a pool." + def __init__(self, pool, message): + self.pool = pool + HTTPError.__init__(self, "%s: %s" % (pool, message)) + + def __reduce__(self): + # For pickling purposes. + return self.__class__, (None, None) + + +class RequestError(PoolError): + "Base exception for PoolErrors that have associated URLs." + def __init__(self, pool, url, message): + self.url = url + PoolError.__init__(self, pool, message) + + def __reduce__(self): + # For pickling purposes. + return self.__class__, (None, self.url, None) + + +class SSLError(HTTPError): + "Raised when SSL certificate fails in an HTTPS connection." + pass + + +class ProxyError(HTTPError): + "Raised when the connection to a proxy fails." + pass + + +class DecodeError(HTTPError): + "Raised when automatic decoding based on Content-Type fails." + pass + + +class ProtocolError(HTTPError): + "Raised when something unexpected happens mid-request/response." + pass + + +#: Renamed to ProtocolError but aliased for backwards compatibility. +ConnectionError = ProtocolError + + +# Leaf Exceptions + +class MaxRetryError(RequestError): + """Raised when the maximum number of retries is exceeded. + + :param pool: The connection pool + :type pool: :class:`~urllib3.connectionpool.HTTPConnectionPool` + :param string url: The requested Url + :param exceptions.Exception reason: The underlying error + + """ + + def __init__(self, pool, url, reason=None): + self.reason = reason + + message = "Max retries exceeded with url: %s (Caused by %r)" % ( + url, reason) + + RequestError.__init__(self, pool, url, message) + + +class HostChangedError(RequestError): + "Raised when an existing pool gets a request for a foreign host." + + def __init__(self, pool, url, retries=3): + message = "Tried to open a foreign host with url: %s" % url + RequestError.__init__(self, pool, url, message) + self.retries = retries + + +class TimeoutStateError(HTTPError): + """ Raised when passing an invalid state to a timeout """ + pass + + +class TimeoutError(HTTPError): + """ Raised when a socket timeout error occurs. + + Catching this error will catch both :exc:`ReadTimeoutErrors + <ReadTimeoutError>` and :exc:`ConnectTimeoutErrors <ConnectTimeoutError>`. + """ + pass + + +class ReadTimeoutError(TimeoutError, RequestError): + "Raised when a socket timeout occurs while receiving data from a server" + pass + + +# This timeout error does not have a URL attached and needs to inherit from the +# base HTTPError +class ConnectTimeoutError(TimeoutError): + "Raised when a socket timeout occurs while connecting to a server" + pass + + +class NewConnectionError(ConnectTimeoutError, PoolError): + "Raised when we fail to establish a new connection. Usually ECONNREFUSED." + pass + + +class EmptyPoolError(PoolError): + "Raised when a pool runs out of connections and no more are allowed." + pass + + +class ClosedPoolError(PoolError): + "Raised when a request enters a pool after the pool has been closed." + pass + + +class LocationValueError(ValueError, HTTPError): + "Raised when there is something wrong with a given URL input." + pass + + +class LocationParseError(LocationValueError): + "Raised when get_host or similar fails to parse the URL input." + + def __init__(self, location): + message = "Failed to parse: %s" % location + HTTPError.__init__(self, message) + + self.location = location + + +class ResponseError(HTTPError): + "Used as a container for an error reason supplied in a MaxRetryError." + GENERIC_ERROR = 'too many error responses' + SPECIFIC_ERROR = 'too many {status_code} error responses' + + +class SecurityWarning(HTTPWarning): + "Warned when performing security reducing actions" + pass + + +class SubjectAltNameWarning(SecurityWarning): + "Warned when connecting to a host with a certificate missing a SAN." + pass + + +class InsecureRequestWarning(SecurityWarning): + "Warned when making an unverified HTTPS request." + pass + + +class SystemTimeWarning(SecurityWarning): + "Warned when system time is suspected to be wrong" + pass + + +class InsecurePlatformWarning(SecurityWarning): + "Warned when certain SSL configuration is not available on a platform." + pass + + +class SNIMissingWarning(HTTPWarning): + "Warned when making a HTTPS request without SNI available." + pass + + +class DependencyWarning(HTTPWarning): + """ + Warned when an attempt is made to import a module with missing optional + dependencies. + """ + pass + + +class ResponseNotChunked(ProtocolError, ValueError): + "Response needs to be chunked in order to read it as chunks." + pass + + +class BodyNotHttplibCompatible(HTTPError): + """ + Body should be httplib.HTTPResponse like (have an fp attribute which + returns raw chunks) for read_chunked(). + """ + pass + + +class IncompleteRead(HTTPError, httplib_IncompleteRead): + """ + Response length doesn't match expected Content-Length + + Subclass of http_client.IncompleteRead to allow int value + for `partial` to avoid creating large objects on streamed + reads. + """ + def __init__(self, partial, expected): + super(IncompleteRead, self).__init__(partial, expected) + + def __repr__(self): + return ('IncompleteRead(%i bytes read, ' + '%i more expected)' % (self.partial, self.expected)) + + +class InvalidHeader(HTTPError): + "The header provided was somehow invalid." + pass + + +class ProxySchemeUnknown(AssertionError, ValueError): + "ProxyManager does not support the supplied scheme" + # TODO(t-8ch): Stop inheriting from AssertionError in v2.0. + + def __init__(self, scheme): + message = "Not supported proxy scheme %s" % scheme + super(ProxySchemeUnknown, self).__init__(message) + + +class HeaderParsingError(HTTPError): + "Raised by assert_header_parsing, but we convert it to a log.warning statement." + def __init__(self, defects, unparsed_data): + message = '%s, unparsed data: %r' % (defects or 'Unknown', unparsed_data) + super(HeaderParsingError, self).__init__(message) + + +class UnrewindableBodyError(HTTPError): + "urllib3 encountered an error when trying to rewind a body" + pass diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/fields.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/fields.py new file mode 100644 index 0000000000..37fe64a3e8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/fields.py @@ -0,0 +1,178 @@ +from __future__ import absolute_import +import email.utils +import mimetypes + +from .packages import six + + +def guess_content_type(filename, default='application/octet-stream'): + """ + Guess the "Content-Type" of a file. + + :param filename: + The filename to guess the "Content-Type" of using :mod:`mimetypes`. + :param default: + If no "Content-Type" can be guessed, default to `default`. + """ + if filename: + return mimetypes.guess_type(filename)[0] or default + return default + + +def format_header_param(name, value): + """ + Helper function to format and quote a single header parameter. + + Particularly useful for header parameters which might contain + non-ASCII values, like file names. This follows RFC 2231, as + suggested by RFC 2388 Section 4.4. + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as a unicode string. + """ + if not any(ch in value for ch in '"\\\r\n'): + result = '%s="%s"' % (name, value) + try: + result.encode('ascii') + except (UnicodeEncodeError, UnicodeDecodeError): + pass + else: + return result + if not six.PY3 and isinstance(value, six.text_type): # Python 2: + value = value.encode('utf-8') + value = email.utils.encode_rfc2231(value, 'utf-8') + value = '%s*=%s' % (name, value) + return value + + +class RequestField(object): + """ + A data container for request body parameters. + + :param name: + The name of this request field. + :param data: + The data/value body. + :param filename: + An optional filename of the request field. + :param headers: + An optional dict-like object of headers to initially use for the field. + """ + def __init__(self, name, data, filename=None, headers=None): + self._name = name + self._filename = filename + self.data = data + self.headers = {} + if headers: + self.headers = dict(headers) + + @classmethod + def from_tuples(cls, fieldname, value): + """ + A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters. + + Supports constructing :class:`~urllib3.fields.RequestField` from + parameter of key/value strings AND key/filetuple. A filetuple is a + (filename, data, MIME type) tuple where the MIME type is optional. + For example:: + + 'foo': 'bar', + 'fakefile': ('foofile.txt', 'contents of foofile'), + 'realfile': ('barfile.txt', open('realfile').read()), + 'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'), + 'nonamefile': 'contents of nonamefile field', + + Field names and filenames must be unicode. + """ + if isinstance(value, tuple): + if len(value) == 3: + filename, data, content_type = value + else: + filename, data = value + content_type = guess_content_type(filename) + else: + filename = None + content_type = None + data = value + + request_param = cls(fieldname, data, filename=filename) + request_param.make_multipart(content_type=content_type) + + return request_param + + def _render_part(self, name, value): + """ + Overridable helper function to format a single header parameter. + + :param name: + The name of the parameter, a string expected to be ASCII only. + :param value: + The value of the parameter, provided as a unicode string. + """ + return format_header_param(name, value) + + def _render_parts(self, header_parts): + """ + Helper function to format and quote a single header. + + Useful for single headers that are composed of multiple items. E.g., + 'Content-Disposition' fields. + + :param header_parts: + A sequence of (k, v) tuples or a :class:`dict` of (k, v) to format + as `k1="v1"; k2="v2"; ...`. + """ + parts = [] + iterable = header_parts + if isinstance(header_parts, dict): + iterable = header_parts.items() + + for name, value in iterable: + if value is not None: + parts.append(self._render_part(name, value)) + + return '; '.join(parts) + + def render_headers(self): + """ + Renders the headers for this request field. + """ + lines = [] + + sort_keys = ['Content-Disposition', 'Content-Type', 'Content-Location'] + for sort_key in sort_keys: + if self.headers.get(sort_key, False): + lines.append('%s: %s' % (sort_key, self.headers[sort_key])) + + for header_name, header_value in self.headers.items(): + if header_name not in sort_keys: + if header_value: + lines.append('%s: %s' % (header_name, header_value)) + + lines.append('\r\n') + return '\r\n'.join(lines) + + def make_multipart(self, content_disposition=None, content_type=None, + content_location=None): + """ + Makes this request field into a multipart request field. + + This method overrides "Content-Disposition", "Content-Type" and + "Content-Location" headers to the request parameter. + + :param content_type: + The 'Content-Type' of the request body. + :param content_location: + The 'Content-Location' of the request body. + + """ + self.headers['Content-Disposition'] = content_disposition or 'form-data' + self.headers['Content-Disposition'] += '; '.join([ + '', self._render_parts( + (('name', self._name), ('filename', self._filename)) + ) + ]) + self.headers['Content-Type'] = content_type + self.headers['Content-Location'] = content_location diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/filepost.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/filepost.py new file mode 100644 index 0000000000..78f1e19b0e --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/filepost.py @@ -0,0 +1,98 @@ +from __future__ import absolute_import +import binascii +import codecs +import os + +from io import BytesIO + +from .packages import six +from .packages.six import b +from .fields import RequestField + +writer = codecs.lookup('utf-8')[3] + + +def choose_boundary(): + """ + Our embarrassingly-simple replacement for mimetools.choose_boundary. + """ + boundary = binascii.hexlify(os.urandom(16)) + if six.PY3: + boundary = boundary.decode('ascii') + return boundary + + +def iter_field_objects(fields): + """ + Iterate over fields. + + Supports list of (k, v) tuples and dicts, and lists of + :class:`~urllib3.fields.RequestField`. + + """ + if isinstance(fields, dict): + i = six.iteritems(fields) + else: + i = iter(fields) + + for field in i: + if isinstance(field, RequestField): + yield field + else: + yield RequestField.from_tuples(*field) + + +def iter_fields(fields): + """ + .. deprecated:: 1.6 + + Iterate over fields. + + The addition of :class:`~urllib3.fields.RequestField` makes this function + obsolete. Instead, use :func:`iter_field_objects`, which returns + :class:`~urllib3.fields.RequestField` objects. + + Supports list of (k, v) tuples and dicts. + """ + if isinstance(fields, dict): + return ((k, v) for k, v in six.iteritems(fields)) + + return ((k, v) for k, v in fields) + + +def encode_multipart_formdata(fields, boundary=None): + """ + Encode a dictionary of ``fields`` using the multipart/form-data MIME format. + + :param fields: + Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`). + + :param boundary: + If not specified, then a random boundary will be generated using + :func:`urllib3.filepost.choose_boundary`. + """ + body = BytesIO() + if boundary is None: + boundary = choose_boundary() + + for field in iter_field_objects(fields): + body.write(b('--%s\r\n' % (boundary))) + + writer(body).write(field.render_headers()) + data = field.data + + if isinstance(data, int): + data = str(data) # Backwards compatibility + + if isinstance(data, six.text_type): + writer(body).write(data) + else: + body.write(data) + + body.write(b'\r\n') + + body.write(b('--%s--\r\n' % (boundary))) + + content_type = str('multipart/form-data; boundary=%s' % boundary) + + return body.getvalue(), content_type diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/__init__.py new file mode 100644 index 0000000000..170e974c15 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/__init__.py @@ -0,0 +1,5 @@ +from __future__ import absolute_import + +from . import ssl_match_hostname + +__all__ = ('ssl_match_hostname', ) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/backports/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/backports/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/backports/makefile.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/backports/makefile.py new file mode 100644 index 0000000000..740db377d9 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/backports/makefile.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +""" +backports.makefile +~~~~~~~~~~~~~~~~~~ + +Backports the Python 3 ``socket.makefile`` method for use with anything that +wants to create a "fake" socket object. +""" +import io + +from socket import SocketIO + + +def backport_makefile(self, mode="r", buffering=None, encoding=None, + errors=None, newline=None): + """ + Backport of ``socket.makefile`` from Python 3.5. + """ + if not set(mode) <= {"r", "w", "b"}: + raise ValueError( + "invalid mode %r (only r, w, b allowed)" % (mode,) + ) + writing = "w" in mode + reading = "r" in mode or not writing + assert reading or writing + binary = "b" in mode + rawmode = "" + if reading: + rawmode += "r" + if writing: + rawmode += "w" + raw = SocketIO(self, rawmode) + self._makefile_refs += 1 + if buffering is None: + buffering = -1 + if buffering < 0: + buffering = io.DEFAULT_BUFFER_SIZE + if buffering == 0: + if not binary: + raise ValueError("unbuffered streams must be binary") + return raw + if reading and writing: + buffer = io.BufferedRWPair(raw, raw, buffering) + elif reading: + buffer = io.BufferedReader(raw, buffering) + else: + assert writing + buffer = io.BufferedWriter(raw, buffering) + if binary: + return buffer + text = io.TextIOWrapper(buffer, encoding, errors, newline) + text.mode = mode + return text diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/six.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/six.py new file mode 100644 index 0000000000..190c0239cd --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/six.py @@ -0,0 +1,868 @@ +"""Utilities for writing code that runs on Python 2 and 3""" + +# Copyright (c) 2010-2015 Benjamin Peterson +# +# 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. + +from __future__ import absolute_import + +import functools +import itertools +import operator +import sys +import types + +__author__ = "Benjamin Peterson <benjamin@python.org>" +__version__ = "1.10.0" + + +# Useful for very coarse version differentiation. +PY2 = sys.version_info[0] == 2 +PY3 = sys.version_info[0] == 3 +PY34 = sys.version_info[0:2] >= (3, 4) + +if PY3: + string_types = str, + integer_types = int, + class_types = type, + text_type = str + binary_type = bytes + + MAXSIZE = sys.maxsize +else: + string_types = basestring, + integer_types = (int, long) + class_types = (type, types.ClassType) + text_type = unicode + binary_type = str + + if sys.platform.startswith("java"): + # Jython always uses 32 bits. + MAXSIZE = int((1 << 31) - 1) + else: + # It's possible to have sizeof(long) != sizeof(Py_ssize_t). + class X(object): + + def __len__(self): + return 1 << 31 + try: + len(X()) + except OverflowError: + # 32-bit + MAXSIZE = int((1 << 31) - 1) + else: + # 64-bit + MAXSIZE = int((1 << 63) - 1) + del X + + +def _add_doc(func, doc): + """Add documentation to a function.""" + func.__doc__ = doc + + +def _import_module(name): + """Import module, returning the module after the last dot.""" + __import__(name) + return sys.modules[name] + + +class _LazyDescr(object): + + def __init__(self, name): + self.name = name + + def __get__(self, obj, tp): + result = self._resolve() + setattr(obj, self.name, result) # Invokes __set__. + try: + # This is a bit ugly, but it avoids running this again by + # removing this descriptor. + delattr(obj.__class__, self.name) + except AttributeError: + pass + return result + + +class MovedModule(_LazyDescr): + + def __init__(self, name, old, new=None): + super(MovedModule, self).__init__(name) + if PY3: + if new is None: + new = name + self.mod = new + else: + self.mod = old + + def _resolve(self): + return _import_module(self.mod) + + def __getattr__(self, attr): + _module = self._resolve() + value = getattr(_module, attr) + setattr(self, attr, value) + return value + + +class _LazyModule(types.ModuleType): + + def __init__(self, name): + super(_LazyModule, self).__init__(name) + self.__doc__ = self.__class__.__doc__ + + def __dir__(self): + attrs = ["__doc__", "__name__"] + attrs += [attr.name for attr in self._moved_attributes] + return attrs + + # Subclasses should override this + _moved_attributes = [] + + +class MovedAttribute(_LazyDescr): + + def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): + super(MovedAttribute, self).__init__(name) + if PY3: + if new_mod is None: + new_mod = name + self.mod = new_mod + if new_attr is None: + if old_attr is None: + new_attr = name + else: + new_attr = old_attr + self.attr = new_attr + else: + self.mod = old_mod + if old_attr is None: + old_attr = name + self.attr = old_attr + + def _resolve(self): + module = _import_module(self.mod) + return getattr(module, self.attr) + + +class _SixMetaPathImporter(object): + + """ + A meta path importer to import six.moves and its submodules. + + This class implements a PEP302 finder and loader. It should be compatible + with Python 2.5 and all existing versions of Python3 + """ + + def __init__(self, six_module_name): + self.name = six_module_name + self.known_modules = {} + + def _add_module(self, mod, *fullnames): + for fullname in fullnames: + self.known_modules[self.name + "." + fullname] = mod + + def _get_module(self, fullname): + return self.known_modules[self.name + "." + fullname] + + def find_module(self, fullname, path=None): + if fullname in self.known_modules: + return self + return None + + def __get_module(self, fullname): + try: + return self.known_modules[fullname] + except KeyError: + raise ImportError("This loader does not know module " + fullname) + + def load_module(self, fullname): + try: + # in case of a reload + return sys.modules[fullname] + except KeyError: + pass + mod = self.__get_module(fullname) + if isinstance(mod, MovedModule): + mod = mod._resolve() + else: + mod.__loader__ = self + sys.modules[fullname] = mod + return mod + + def is_package(self, fullname): + """ + Return true, if the named module is a package. + + We need this method to get correct spec objects with + Python 3.4 (see PEP451) + """ + return hasattr(self.__get_module(fullname), "__path__") + + def get_code(self, fullname): + """Return None + + Required, if is_package is implemented""" + self.__get_module(fullname) # eventually raises ImportError + return None + get_source = get_code # same as get_code + +_importer = _SixMetaPathImporter(__name__) + + +class _MovedItems(_LazyModule): + + """Lazy loading of moved objects""" + __path__ = [] # mark as package + + +_moved_attributes = [ + MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), + MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), + MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), + MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), + MovedAttribute("intern", "__builtin__", "sys"), + MovedAttribute("map", "itertools", "builtins", "imap", "map"), + MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), + MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), + MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), + MovedAttribute("reduce", "__builtin__", "functools"), + MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), + MovedAttribute("StringIO", "StringIO", "io"), + MovedAttribute("UserDict", "UserDict", "collections"), + MovedAttribute("UserList", "UserList", "collections"), + MovedAttribute("UserString", "UserString", "collections"), + MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), + MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), + MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), + MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), + MovedModule("html_parser", "HTMLParser", "html.parser"), + MovedModule("http_client", "httplib", "http.client"), + MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), + MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), + MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), + MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), + MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), + MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), + MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), + MovedModule("cPickle", "cPickle", "pickle"), + MovedModule("queue", "Queue"), + MovedModule("reprlib", "repr"), + MovedModule("socketserver", "SocketServer"), + MovedModule("_thread", "thread", "_thread"), + MovedModule("tkinter", "Tkinter"), + MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), + MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), + MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), + MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), + MovedModule("tkinter_tix", "Tix", "tkinter.tix"), + MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), + MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), + MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), + MovedModule("tkinter_colorchooser", "tkColorChooser", + "tkinter.colorchooser"), + MovedModule("tkinter_commondialog", "tkCommonDialog", + "tkinter.commondialog"), + MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), + MovedModule("tkinter_font", "tkFont", "tkinter.font"), + MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), + MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", + "tkinter.simpledialog"), + MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), + MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), + MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), + MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), + MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), + MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), +] +# Add windows specific modules. +if sys.platform == "win32": + _moved_attributes += [ + MovedModule("winreg", "_winreg"), + ] + +for attr in _moved_attributes: + setattr(_MovedItems, attr.name, attr) + if isinstance(attr, MovedModule): + _importer._add_module(attr, "moves." + attr.name) +del attr + +_MovedItems._moved_attributes = _moved_attributes + +moves = _MovedItems(__name__ + ".moves") +_importer._add_module(moves, "moves") + + +class Module_six_moves_urllib_parse(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_parse""" + + +_urllib_parse_moved_attributes = [ + MovedAttribute("ParseResult", "urlparse", "urllib.parse"), + MovedAttribute("SplitResult", "urlparse", "urllib.parse"), + MovedAttribute("parse_qs", "urlparse", "urllib.parse"), + MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), + MovedAttribute("urldefrag", "urlparse", "urllib.parse"), + MovedAttribute("urljoin", "urlparse", "urllib.parse"), + MovedAttribute("urlparse", "urlparse", "urllib.parse"), + MovedAttribute("urlsplit", "urlparse", "urllib.parse"), + MovedAttribute("urlunparse", "urlparse", "urllib.parse"), + MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), + MovedAttribute("quote", "urllib", "urllib.parse"), + MovedAttribute("quote_plus", "urllib", "urllib.parse"), + MovedAttribute("unquote", "urllib", "urllib.parse"), + MovedAttribute("unquote_plus", "urllib", "urllib.parse"), + MovedAttribute("urlencode", "urllib", "urllib.parse"), + MovedAttribute("splitquery", "urllib", "urllib.parse"), + MovedAttribute("splittag", "urllib", "urllib.parse"), + MovedAttribute("splituser", "urllib", "urllib.parse"), + MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), + MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), + MovedAttribute("uses_params", "urlparse", "urllib.parse"), + MovedAttribute("uses_query", "urlparse", "urllib.parse"), + MovedAttribute("uses_relative", "urlparse", "urllib.parse"), +] +for attr in _urllib_parse_moved_attributes: + setattr(Module_six_moves_urllib_parse, attr.name, attr) +del attr + +Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes + +_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), + "moves.urllib_parse", "moves.urllib.parse") + + +class Module_six_moves_urllib_error(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_error""" + + +_urllib_error_moved_attributes = [ + MovedAttribute("URLError", "urllib2", "urllib.error"), + MovedAttribute("HTTPError", "urllib2", "urllib.error"), + MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), +] +for attr in _urllib_error_moved_attributes: + setattr(Module_six_moves_urllib_error, attr.name, attr) +del attr + +Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes + +_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), + "moves.urllib_error", "moves.urllib.error") + + +class Module_six_moves_urllib_request(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_request""" + + +_urllib_request_moved_attributes = [ + MovedAttribute("urlopen", "urllib2", "urllib.request"), + MovedAttribute("install_opener", "urllib2", "urllib.request"), + MovedAttribute("build_opener", "urllib2", "urllib.request"), + MovedAttribute("pathname2url", "urllib", "urllib.request"), + MovedAttribute("url2pathname", "urllib", "urllib.request"), + MovedAttribute("getproxies", "urllib", "urllib.request"), + MovedAttribute("Request", "urllib2", "urllib.request"), + MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), + MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), + MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), + MovedAttribute("BaseHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), + MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), + MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), + MovedAttribute("FileHandler", "urllib2", "urllib.request"), + MovedAttribute("FTPHandler", "urllib2", "urllib.request"), + MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), + MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), + MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), + MovedAttribute("urlretrieve", "urllib", "urllib.request"), + MovedAttribute("urlcleanup", "urllib", "urllib.request"), + MovedAttribute("URLopener", "urllib", "urllib.request"), + MovedAttribute("FancyURLopener", "urllib", "urllib.request"), + MovedAttribute("proxy_bypass", "urllib", "urllib.request"), +] +for attr in _urllib_request_moved_attributes: + setattr(Module_six_moves_urllib_request, attr.name, attr) +del attr + +Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes + +_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), + "moves.urllib_request", "moves.urllib.request") + + +class Module_six_moves_urllib_response(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_response""" + + +_urllib_response_moved_attributes = [ + MovedAttribute("addbase", "urllib", "urllib.response"), + MovedAttribute("addclosehook", "urllib", "urllib.response"), + MovedAttribute("addinfo", "urllib", "urllib.response"), + MovedAttribute("addinfourl", "urllib", "urllib.response"), +] +for attr in _urllib_response_moved_attributes: + setattr(Module_six_moves_urllib_response, attr.name, attr) +del attr + +Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes + +_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), + "moves.urllib_response", "moves.urllib.response") + + +class Module_six_moves_urllib_robotparser(_LazyModule): + + """Lazy loading of moved objects in six.moves.urllib_robotparser""" + + +_urllib_robotparser_moved_attributes = [ + MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), +] +for attr in _urllib_robotparser_moved_attributes: + setattr(Module_six_moves_urllib_robotparser, attr.name, attr) +del attr + +Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes + +_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), + "moves.urllib_robotparser", "moves.urllib.robotparser") + + +class Module_six_moves_urllib(types.ModuleType): + + """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" + __path__ = [] # mark as package + parse = _importer._get_module("moves.urllib_parse") + error = _importer._get_module("moves.urllib_error") + request = _importer._get_module("moves.urllib_request") + response = _importer._get_module("moves.urllib_response") + robotparser = _importer._get_module("moves.urllib_robotparser") + + def __dir__(self): + return ['parse', 'error', 'request', 'response', 'robotparser'] + +_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), + "moves.urllib") + + +def add_move(move): + """Add an item to six.moves.""" + setattr(_MovedItems, move.name, move) + + +def remove_move(name): + """Remove item from six.moves.""" + try: + delattr(_MovedItems, name) + except AttributeError: + try: + del moves.__dict__[name] + except KeyError: + raise AttributeError("no such move, %r" % (name,)) + + +if PY3: + _meth_func = "__func__" + _meth_self = "__self__" + + _func_closure = "__closure__" + _func_code = "__code__" + _func_defaults = "__defaults__" + _func_globals = "__globals__" +else: + _meth_func = "im_func" + _meth_self = "im_self" + + _func_closure = "func_closure" + _func_code = "func_code" + _func_defaults = "func_defaults" + _func_globals = "func_globals" + + +try: + advance_iterator = next +except NameError: + def advance_iterator(it): + return it.next() +next = advance_iterator + + +try: + callable = callable +except NameError: + def callable(obj): + return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) + + +if PY3: + def get_unbound_function(unbound): + return unbound + + create_bound_method = types.MethodType + + def create_unbound_method(func, cls): + return func + + Iterator = object +else: + def get_unbound_function(unbound): + return unbound.im_func + + def create_bound_method(func, obj): + return types.MethodType(func, obj, obj.__class__) + + def create_unbound_method(func, cls): + return types.MethodType(func, None, cls) + + class Iterator(object): + + def next(self): + return type(self).__next__(self) + + callable = callable +_add_doc(get_unbound_function, + """Get the function out of a possibly unbound function""") + + +get_method_function = operator.attrgetter(_meth_func) +get_method_self = operator.attrgetter(_meth_self) +get_function_closure = operator.attrgetter(_func_closure) +get_function_code = operator.attrgetter(_func_code) +get_function_defaults = operator.attrgetter(_func_defaults) +get_function_globals = operator.attrgetter(_func_globals) + + +if PY3: + def iterkeys(d, **kw): + return iter(d.keys(**kw)) + + def itervalues(d, **kw): + return iter(d.values(**kw)) + + def iteritems(d, **kw): + return iter(d.items(**kw)) + + def iterlists(d, **kw): + return iter(d.lists(**kw)) + + viewkeys = operator.methodcaller("keys") + + viewvalues = operator.methodcaller("values") + + viewitems = operator.methodcaller("items") +else: + def iterkeys(d, **kw): + return d.iterkeys(**kw) + + def itervalues(d, **kw): + return d.itervalues(**kw) + + def iteritems(d, **kw): + return d.iteritems(**kw) + + def iterlists(d, **kw): + return d.iterlists(**kw) + + viewkeys = operator.methodcaller("viewkeys") + + viewvalues = operator.methodcaller("viewvalues") + + viewitems = operator.methodcaller("viewitems") + +_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") +_add_doc(itervalues, "Return an iterator over the values of a dictionary.") +_add_doc(iteritems, + "Return an iterator over the (key, value) pairs of a dictionary.") +_add_doc(iterlists, + "Return an iterator over the (key, [values]) pairs of a dictionary.") + + +if PY3: + def b(s): + return s.encode("latin-1") + + def u(s): + return s + unichr = chr + import struct + int2byte = struct.Struct(">B").pack + del struct + byte2int = operator.itemgetter(0) + indexbytes = operator.getitem + iterbytes = iter + import io + StringIO = io.StringIO + BytesIO = io.BytesIO + _assertCountEqual = "assertCountEqual" + if sys.version_info[1] <= 1: + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" + else: + _assertRaisesRegex = "assertRaisesRegex" + _assertRegex = "assertRegex" +else: + def b(s): + return s + # Workaround for standalone backslash + + def u(s): + return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") + unichr = unichr + int2byte = chr + + def byte2int(bs): + return ord(bs[0]) + + def indexbytes(buf, i): + return ord(buf[i]) + iterbytes = functools.partial(itertools.imap, ord) + import StringIO + StringIO = BytesIO = StringIO.StringIO + _assertCountEqual = "assertItemsEqual" + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" +_add_doc(b, """Byte literal""") +_add_doc(u, """Text literal""") + + +def assertCountEqual(self, *args, **kwargs): + return getattr(self, _assertCountEqual)(*args, **kwargs) + + +def assertRaisesRegex(self, *args, **kwargs): + return getattr(self, _assertRaisesRegex)(*args, **kwargs) + + +def assertRegex(self, *args, **kwargs): + return getattr(self, _assertRegex)(*args, **kwargs) + + +if PY3: + exec_ = getattr(moves.builtins, "exec") + + def reraise(tp, value, tb=None): + if value is None: + value = tp() + if value.__traceback__ is not tb: + raise value.with_traceback(tb) + raise value + +else: + def exec_(_code_, _globs_=None, _locs_=None): + """Execute code in a namespace.""" + if _globs_ is None: + frame = sys._getframe(1) + _globs_ = frame.f_globals + if _locs_ is None: + _locs_ = frame.f_locals + del frame + elif _locs_ is None: + _locs_ = _globs_ + exec("""exec _code_ in _globs_, _locs_""") + + exec_("""def reraise(tp, value, tb=None): + raise tp, value, tb +""") + + +if sys.version_info[:2] == (3, 2): + exec_("""def raise_from(value, from_value): + if from_value is None: + raise value + raise value from from_value +""") +elif sys.version_info[:2] > (3, 2): + exec_("""def raise_from(value, from_value): + raise value from from_value +""") +else: + def raise_from(value, from_value): + raise value + + +print_ = getattr(moves.builtins, "print", None) +if print_ is None: + def print_(*args, **kwargs): + """The new-style print function for Python 2.4 and 2.5.""" + fp = kwargs.pop("file", sys.stdout) + if fp is None: + return + + def write(data): + if not isinstance(data, basestring): + data = str(data) + # If the file has an encoding, encode unicode with it. + if (isinstance(fp, file) and + isinstance(data, unicode) and + fp.encoding is not None): + errors = getattr(fp, "errors", None) + if errors is None: + errors = "strict" + data = data.encode(fp.encoding, errors) + fp.write(data) + want_unicode = False + sep = kwargs.pop("sep", None) + if sep is not None: + if isinstance(sep, unicode): + want_unicode = True + elif not isinstance(sep, str): + raise TypeError("sep must be None or a string") + end = kwargs.pop("end", None) + if end is not None: + if isinstance(end, unicode): + want_unicode = True + elif not isinstance(end, str): + raise TypeError("end must be None or a string") + if kwargs: + raise TypeError("invalid keyword arguments to print()") + if not want_unicode: + for arg in args: + if isinstance(arg, unicode): + want_unicode = True + break + if want_unicode: + newline = unicode("\n") + space = unicode(" ") + else: + newline = "\n" + space = " " + if sep is None: + sep = space + if end is None: + end = newline + for i, arg in enumerate(args): + if i: + write(sep) + write(arg) + write(end) +if sys.version_info[:2] < (3, 3): + _print = print_ + + def print_(*args, **kwargs): + fp = kwargs.get("file", sys.stdout) + flush = kwargs.pop("flush", False) + _print(*args, **kwargs) + if flush and fp is not None: + fp.flush() + +_add_doc(reraise, """Reraise an exception.""") + +if sys.version_info[0:2] < (3, 4): + def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES): + def wrapper(f): + f = functools.wraps(wrapped, assigned, updated)(f) + f.__wrapped__ = wrapped + return f + return wrapper +else: + wraps = functools.wraps + + +def with_metaclass(meta, *bases): + """Create a base class with a metaclass.""" + # This requires a bit of explanation: the basic idea is to make a dummy + # metaclass for one level of class instantiation that replaces itself with + # the actual metaclass. + class metaclass(meta): + + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + return type.__new__(metaclass, 'temporary_class', (), {}) + + +def add_metaclass(metaclass): + """Class decorator for creating a class with a metaclass.""" + def wrapper(cls): + orig_vars = cls.__dict__.copy() + slots = orig_vars.get('__slots__') + if slots is not None: + if isinstance(slots, str): + slots = [slots] + for slots_var in slots: + orig_vars.pop(slots_var) + orig_vars.pop('__dict__', None) + orig_vars.pop('__weakref__', None) + return metaclass(cls.__name__, cls.__bases__, orig_vars) + return wrapper + + +def python_2_unicode_compatible(klass): + """ + A decorator that defines __unicode__ and __str__ methods under Python 2. + Under Python 3 it does nothing. + + To support Python 2 and 3 with a single code base, define a __str__ method + returning text and apply this decorator to the class. + """ + if PY2: + if '__str__' not in klass.__dict__: + raise ValueError("@python_2_unicode_compatible cannot be applied " + "to %s because it doesn't define __str__()." % + klass.__name__) + klass.__unicode__ = klass.__str__ + klass.__str__ = lambda self: self.__unicode__().encode('utf-8') + return klass + + +# Complete the moves implementation. +# This code is at the end of this module to speed up module loading. +# Turn this module into a package. +__path__ = [] # required for PEP 302 and PEP 451 +__package__ = __name__ # see PEP 366 @ReservedAssignment +if globals().get("__spec__") is not None: + __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable +# Remove other six meta path importers, since they cause problems. This can +# happen if six is removed from sys.modules and then reloaded. (Setuptools does +# this for some reason.) +if sys.meta_path: + for i, importer in enumerate(sys.meta_path): + # Here's some real nastiness: Another "instance" of the six module might + # be floating around. Therefore, we can't use isinstance() to check for + # the six meta path importer, since the other six instance will have + # inserted an importer with different class. + if (type(importer).__name__ == "_SixMetaPathImporter" and + importer.name == __name__): + del sys.meta_path[i] + break + del i, importer +# Finally, add the importer to the meta path import hook. +sys.meta_path.append(_importer) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py new file mode 100644 index 0000000000..d6594eb264 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py @@ -0,0 +1,19 @@ +import sys + +try: + # Our match_hostname function is the same as 3.5's, so we only want to + # import the match_hostname function if it's at least that good. + if sys.version_info < (3, 5): + raise ImportError("Fallback to vendored code") + + from ssl import CertificateError, match_hostname +except ImportError: + try: + # Backport of the function from a pypi module + from backports.ssl_match_hostname import CertificateError, match_hostname + except ImportError: + # Our vendored copy + from ._implementation import CertificateError, match_hostname + +# Not needed, but documenting what we provide. +__all__ = ('CertificateError', 'match_hostname') diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py new file mode 100644 index 0000000000..970cf653e7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py @@ -0,0 +1,156 @@ +"""The match_hostname() function from Python 3.3.3, essential when using SSL.""" + +# Note: This file is under the PSF license as the code comes from the python +# stdlib. http://docs.python.org/3/license.html + +import re +import sys + +# ipaddress has been backported to 2.6+ in pypi. If it is installed on the +# system, use it to handle IPAddress ServerAltnames (this was added in +# python-3.5) otherwise only do DNS matching. This allows +# backports.ssl_match_hostname to continue to be used in Python 2.7. +try: + from pip._vendor import ipaddress +except ImportError: + ipaddress = None + +__version__ = '3.5.0.1' + + +class CertificateError(ValueError): + pass + + +def _dnsname_match(dn, hostname, max_wildcards=1): + """Matching according to RFC 6125, section 6.4.3 + + http://tools.ietf.org/html/rfc6125#section-6.4.3 + """ + pats = [] + if not dn: + return False + + # Ported from python3-syntax: + # leftmost, *remainder = dn.split(r'.') + parts = dn.split(r'.') + leftmost = parts[0] + remainder = parts[1:] + + wildcards = leftmost.count('*') + if wildcards > max_wildcards: + # Issue #17980: avoid denials of service by refusing more + # than one wildcard per fragment. A survey of established + # policy among SSL implementations showed it to be a + # reasonable choice. + raise CertificateError( + "too many wildcards in certificate DNS name: " + repr(dn)) + + # speed up common case w/o wildcards + if not wildcards: + return dn.lower() == hostname.lower() + + # RFC 6125, section 6.4.3, subitem 1. + # The client SHOULD NOT attempt to match a presented identifier in which + # the wildcard character comprises a label other than the left-most label. + if leftmost == '*': + # When '*' is a fragment by itself, it matches a non-empty dotless + # fragment. + pats.append('[^.]+') + elif leftmost.startswith('xn--') or hostname.startswith('xn--'): + # RFC 6125, section 6.4.3, subitem 3. + # The client SHOULD NOT attempt to match a presented identifier + # where the wildcard character is embedded within an A-label or + # U-label of an internationalized domain name. + pats.append(re.escape(leftmost)) + else: + # Otherwise, '*' matches any dotless string, e.g. www* + pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) + + # add the remaining fragments, ignore any wildcards + for frag in remainder: + pats.append(re.escape(frag)) + + pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) + return pat.match(hostname) + + +def _to_unicode(obj): + if isinstance(obj, str) and sys.version_info < (3,): + obj = unicode(obj, encoding='ascii', errors='strict') + return obj + +def _ipaddress_match(ipname, host_ip): + """Exact matching of IP addresses. + + RFC 6125 explicitly doesn't define an algorithm for this + (section 1.7.2 - "Out of Scope"). + """ + # OpenSSL may add a trailing newline to a subjectAltName's IP address + # Divergence from upstream: ipaddress can't handle byte str + ip = ipaddress.ip_address(_to_unicode(ipname).rstrip()) + return ip == host_ip + + +def match_hostname(cert, hostname): + """Verify that *cert* (in decoded format as returned by + SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 + rules are followed, but IP addresses are not accepted for *hostname*. + + CertificateError is raised on failure. On success, the function + returns nothing. + """ + if not cert: + raise ValueError("empty or no certificate, match_hostname needs a " + "SSL socket or SSL context with either " + "CERT_OPTIONAL or CERT_REQUIRED") + try: + # Divergence from upstream: ipaddress can't handle byte str + host_ip = ipaddress.ip_address(_to_unicode(hostname)) + except ValueError: + # Not an IP address (common case) + host_ip = None + except UnicodeError: + # Divergence from upstream: Have to deal with ipaddress not taking + # byte strings. addresses should be all ascii, so we consider it not + # an ipaddress in this case + host_ip = None + except AttributeError: + # Divergence from upstream: Make ipaddress library optional + if ipaddress is None: + host_ip = None + else: + raise + dnsnames = [] + san = cert.get('subjectAltName', ()) + for key, value in san: + if key == 'DNS': + if host_ip is None and _dnsname_match(value, hostname): + return + dnsnames.append(value) + elif key == 'IP Address': + if host_ip is not None and _ipaddress_match(value, host_ip): + return + dnsnames.append(value) + if not dnsnames: + # The subject is only checked when there is no dNSName entry + # in subjectAltName + for sub in cert.get('subject', ()): + for key, value in sub: + # XXX according to RFC 2818, the most specific Common Name + # must be used. + if key == 'commonName': + if _dnsname_match(value, hostname): + return + dnsnames.append(value) + if len(dnsnames) > 1: + raise CertificateError("hostname %r " + "doesn't match either of %s" + % (hostname, ', '.join(map(repr, dnsnames)))) + elif len(dnsnames) == 1: + raise CertificateError("hostname %r " + "doesn't match %r" + % (hostname, dnsnames[0])) + else: + raise CertificateError("no appropriate commonName or " + "subjectAltName fields were found") diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/poolmanager.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/poolmanager.py new file mode 100644 index 0000000000..fe5491cfda --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/poolmanager.py @@ -0,0 +1,450 @@ +from __future__ import absolute_import +import collections +import functools +import logging + +from ._collections import RecentlyUsedContainer +from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool +from .connectionpool import port_by_scheme +from .exceptions import LocationValueError, MaxRetryError, ProxySchemeUnknown +from .packages.six.moves.urllib.parse import urljoin +from .request import RequestMethods +from .util.url import parse_url +from .util.retry import Retry + + +__all__ = ['PoolManager', 'ProxyManager', 'proxy_from_url'] + + +log = logging.getLogger(__name__) + +SSL_KEYWORDS = ('key_file', 'cert_file', 'cert_reqs', 'ca_certs', + 'ssl_version', 'ca_cert_dir', 'ssl_context') + +# All known keyword arguments that could be provided to the pool manager, its +# pools, or the underlying connections. This is used to construct a pool key. +_key_fields = ( + 'key_scheme', # str + 'key_host', # str + 'key_port', # int + 'key_timeout', # int or float or Timeout + 'key_retries', # int or Retry + 'key_strict', # bool + 'key_block', # bool + 'key_source_address', # str + 'key_key_file', # str + 'key_cert_file', # str + 'key_cert_reqs', # str + 'key_ca_certs', # str + 'key_ssl_version', # str + 'key_ca_cert_dir', # str + 'key_ssl_context', # instance of ssl.SSLContext or urllib3.util.ssl_.SSLContext + 'key_maxsize', # int + 'key_headers', # dict + 'key__proxy', # parsed proxy url + 'key__proxy_headers', # dict + 'key_socket_options', # list of (level (int), optname (int), value (int or str)) tuples + 'key__socks_options', # dict + 'key_assert_hostname', # bool or string + 'key_assert_fingerprint', # str + 'key_server_hostname', #str +) + +#: The namedtuple class used to construct keys for the connection pool. +#: All custom key schemes should include the fields in this key at a minimum. +PoolKey = collections.namedtuple('PoolKey', _key_fields) + + +def _default_key_normalizer(key_class, request_context): + """ + Create a pool key out of a request context dictionary. + + According to RFC 3986, both the scheme and host are case-insensitive. + Therefore, this function normalizes both before constructing the pool + key for an HTTPS request. If you wish to change this behaviour, provide + alternate callables to ``key_fn_by_scheme``. + + :param key_class: + The class to use when constructing the key. This should be a namedtuple + with the ``scheme`` and ``host`` keys at a minimum. + :type key_class: namedtuple + :param request_context: + A dictionary-like object that contain the context for a request. + :type request_context: dict + + :return: A namedtuple that can be used as a connection pool key. + :rtype: PoolKey + """ + # Since we mutate the dictionary, make a copy first + context = request_context.copy() + context['scheme'] = context['scheme'].lower() + context['host'] = context['host'].lower() + + # These are both dictionaries and need to be transformed into frozensets + for key in ('headers', '_proxy_headers', '_socks_options'): + if key in context and context[key] is not None: + context[key] = frozenset(context[key].items()) + + # The socket_options key may be a list and needs to be transformed into a + # tuple. + socket_opts = context.get('socket_options') + if socket_opts is not None: + context['socket_options'] = tuple(socket_opts) + + # Map the kwargs to the names in the namedtuple - this is necessary since + # namedtuples can't have fields starting with '_'. + for key in list(context.keys()): + context['key_' + key] = context.pop(key) + + # Default to ``None`` for keys missing from the context + for field in key_class._fields: + if field not in context: + context[field] = None + + return key_class(**context) + + +#: A dictionary that maps a scheme to a callable that creates a pool key. +#: This can be used to alter the way pool keys are constructed, if desired. +#: Each PoolManager makes a copy of this dictionary so they can be configured +#: globally here, or individually on the instance. +key_fn_by_scheme = { + 'http': functools.partial(_default_key_normalizer, PoolKey), + 'https': functools.partial(_default_key_normalizer, PoolKey), +} + +pool_classes_by_scheme = { + 'http': HTTPConnectionPool, + 'https': HTTPSConnectionPool, +} + + +class PoolManager(RequestMethods): + """ + Allows for arbitrary requests while transparently keeping track of + necessary connection pools for you. + + :param num_pools: + Number of connection pools to cache before discarding the least + recently used pool. + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + + :param \\**connection_pool_kw: + Additional parameters are used to create fresh + :class:`urllib3.connectionpool.ConnectionPool` instances. + + Example:: + + >>> manager = PoolManager(num_pools=2) + >>> r = manager.request('GET', 'http://google.com/') + >>> r = manager.request('GET', 'http://google.com/mail') + >>> r = manager.request('GET', 'http://yahoo.com/') + >>> len(manager.pools) + 2 + + """ + + proxy = None + + def __init__(self, num_pools=10, headers=None, **connection_pool_kw): + RequestMethods.__init__(self, headers) + self.connection_pool_kw = connection_pool_kw + self.pools = RecentlyUsedContainer(num_pools, + dispose_func=lambda p: p.close()) + + # Locally set the pool classes and keys so other PoolManagers can + # override them. + self.pool_classes_by_scheme = pool_classes_by_scheme + self.key_fn_by_scheme = key_fn_by_scheme.copy() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.clear() + # Return False to re-raise any potential exceptions + return False + + def _new_pool(self, scheme, host, port, request_context=None): + """ + Create a new :class:`ConnectionPool` based on host, port, scheme, and + any additional pool keyword arguments. + + If ``request_context`` is provided, it is provided as keyword arguments + to the pool class used. This method is used to actually create the + connection pools handed out by :meth:`connection_from_url` and + companion methods. It is intended to be overridden for customization. + """ + pool_cls = self.pool_classes_by_scheme[scheme] + if request_context is None: + request_context = self.connection_pool_kw.copy() + + # Although the context has everything necessary to create the pool, + # this function has historically only used the scheme, host, and port + # in the positional args. When an API change is acceptable these can + # be removed. + for key in ('scheme', 'host', 'port'): + request_context.pop(key, None) + + if scheme == 'http': + for kw in SSL_KEYWORDS: + request_context.pop(kw, None) + + return pool_cls(host, port, **request_context) + + def clear(self): + """ + Empty our store of pools and direct them all to close. + + This will not affect in-flight connections, but they will not be + re-used after completion. + """ + self.pools.clear() + + def connection_from_host(self, host, port=None, scheme='http', pool_kwargs=None): + """ + Get a :class:`ConnectionPool` based on the host, port, and scheme. + + If ``port`` isn't given, it will be derived from the ``scheme`` using + ``urllib3.connectionpool.port_by_scheme``. If ``pool_kwargs`` is + provided, it is merged with the instance's ``connection_pool_kw`` + variable and used to create the new connection pool, if one is + needed. + """ + + if not host: + raise LocationValueError("No host specified.") + + request_context = self._merge_pool_kwargs(pool_kwargs) + request_context['scheme'] = scheme or 'http' + if not port: + port = port_by_scheme.get(request_context['scheme'].lower(), 80) + request_context['port'] = port + request_context['host'] = host + + return self.connection_from_context(request_context) + + def connection_from_context(self, request_context): + """ + Get a :class:`ConnectionPool` based on the request context. + + ``request_context`` must at least contain the ``scheme`` key and its + value must be a key in ``key_fn_by_scheme`` instance variable. + """ + scheme = request_context['scheme'].lower() + pool_key_constructor = self.key_fn_by_scheme[scheme] + pool_key = pool_key_constructor(request_context) + + return self.connection_from_pool_key(pool_key, request_context=request_context) + + def connection_from_pool_key(self, pool_key, request_context=None): + """ + Get a :class:`ConnectionPool` based on the provided pool key. + + ``pool_key`` should be a namedtuple that only contains immutable + objects. At a minimum it must have the ``scheme``, ``host``, and + ``port`` fields. + """ + with self.pools.lock: + # If the scheme, host, or port doesn't match existing open + # connections, open a new ConnectionPool. + pool = self.pools.get(pool_key) + if pool: + return pool + + # Make a fresh ConnectionPool of the desired type + scheme = request_context['scheme'] + host = request_context['host'] + port = request_context['port'] + pool = self._new_pool(scheme, host, port, request_context=request_context) + self.pools[pool_key] = pool + + return pool + + def connection_from_url(self, url, pool_kwargs=None): + """ + Similar to :func:`urllib3.connectionpool.connection_from_url`. + + If ``pool_kwargs`` is not provided and a new pool needs to be + constructed, ``self.connection_pool_kw`` is used to initialize + the :class:`urllib3.connectionpool.ConnectionPool`. If ``pool_kwargs`` + is provided, it is used instead. Note that if a new pool does not + need to be created for the request, the provided ``pool_kwargs`` are + not used. + """ + u = parse_url(url) + return self.connection_from_host(u.host, port=u.port, scheme=u.scheme, + pool_kwargs=pool_kwargs) + + def _merge_pool_kwargs(self, override): + """ + Merge a dictionary of override values for self.connection_pool_kw. + + This does not modify self.connection_pool_kw and returns a new dict. + Any keys in the override dictionary with a value of ``None`` are + removed from the merged dictionary. + """ + base_pool_kwargs = self.connection_pool_kw.copy() + if override: + for key, value in override.items(): + if value is None: + try: + del base_pool_kwargs[key] + except KeyError: + pass + else: + base_pool_kwargs[key] = value + return base_pool_kwargs + + def urlopen(self, method, url, redirect=True, **kw): + """ + Same as :meth:`urllib3.connectionpool.HTTPConnectionPool.urlopen` + with custom cross-host redirect logic and only sends the request-uri + portion of the ``url``. + + The given ``url`` parameter must be absolute, such that an appropriate + :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. + """ + u = parse_url(url) + conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) + + kw['assert_same_host'] = False + kw['redirect'] = False + + if 'headers' not in kw: + kw['headers'] = self.headers.copy() + + if self.proxy is not None and u.scheme == "http": + response = conn.urlopen(method, url, **kw) + else: + response = conn.urlopen(method, u.request_uri, **kw) + + redirect_location = redirect and response.get_redirect_location() + if not redirect_location: + return response + + # Support relative URLs for redirecting. + redirect_location = urljoin(url, redirect_location) + + # RFC 7231, Section 6.4.4 + if response.status == 303: + method = 'GET' + + retries = kw.get('retries') + if not isinstance(retries, Retry): + retries = Retry.from_int(retries, redirect=redirect) + + # Strip headers marked as unsafe to forward to the redirected location. + # Check remove_headers_on_redirect to avoid a potential network call within + # conn.is_same_host() which may use socket.gethostbyname() in the future. + if (retries.remove_headers_on_redirect + and not conn.is_same_host(redirect_location)): + for header in retries.remove_headers_on_redirect: + kw['headers'].pop(header, None) + + try: + retries = retries.increment(method, url, response=response, _pool=conn) + except MaxRetryError: + if retries.raise_on_redirect: + raise + return response + + kw['retries'] = retries + kw['redirect'] = redirect + + log.info("Redirecting %s -> %s", url, redirect_location) + return self.urlopen(method, redirect_location, **kw) + + +class ProxyManager(PoolManager): + """ + Behaves just like :class:`PoolManager`, but sends all requests through + the defined proxy, using the CONNECT method for HTTPS URLs. + + :param proxy_url: + The URL of the proxy to be used. + + :param proxy_headers: + A dictionary containing headers that will be sent to the proxy. In case + of HTTP they are being sent with each request, while in the + HTTPS/CONNECT case they are sent only once. Could be used for proxy + authentication. + + Example: + >>> proxy = urllib3.ProxyManager('http://localhost:3128/') + >>> r1 = proxy.request('GET', 'http://google.com/') + >>> r2 = proxy.request('GET', 'http://httpbin.org/') + >>> len(proxy.pools) + 1 + >>> r3 = proxy.request('GET', 'https://httpbin.org/') + >>> r4 = proxy.request('GET', 'https://twitter.com/') + >>> len(proxy.pools) + 3 + + """ + + def __init__(self, proxy_url, num_pools=10, headers=None, + proxy_headers=None, **connection_pool_kw): + + if isinstance(proxy_url, HTTPConnectionPool): + proxy_url = '%s://%s:%i' % (proxy_url.scheme, proxy_url.host, + proxy_url.port) + proxy = parse_url(proxy_url) + if not proxy.port: + port = port_by_scheme.get(proxy.scheme, 80) + proxy = proxy._replace(port=port) + + if proxy.scheme not in ("http", "https"): + raise ProxySchemeUnknown(proxy.scheme) + + self.proxy = proxy + self.proxy_headers = proxy_headers or {} + + connection_pool_kw['_proxy'] = self.proxy + connection_pool_kw['_proxy_headers'] = self.proxy_headers + + super(ProxyManager, self).__init__( + num_pools, headers, **connection_pool_kw) + + def connection_from_host(self, host, port=None, scheme='http', pool_kwargs=None): + if scheme == "https": + return super(ProxyManager, self).connection_from_host( + host, port, scheme, pool_kwargs=pool_kwargs) + + return super(ProxyManager, self).connection_from_host( + self.proxy.host, self.proxy.port, self.proxy.scheme, pool_kwargs=pool_kwargs) + + def _set_proxy_headers(self, url, headers=None): + """ + Sets headers needed by proxies: specifically, the Accept and Host + headers. Only sets headers not provided by the user. + """ + headers_ = {'Accept': '*/*'} + + netloc = parse_url(url).netloc + if netloc: + headers_['Host'] = netloc + + if headers: + headers_.update(headers) + return headers_ + + def urlopen(self, method, url, redirect=True, **kw): + "Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute." + u = parse_url(url) + + if u.scheme == "http": + # For proxied HTTPS requests, httplib sets the necessary headers + # on the CONNECT to the proxy. For HTTP, we'll definitely + # need to set 'Host' at the very least. + headers = kw.get('headers', self.headers) + kw['headers'] = self._set_proxy_headers(url, headers) + + return super(ProxyManager, self).urlopen(method, url, redirect=redirect, **kw) + + +def proxy_from_url(url, **kw): + return ProxyManager(proxy_url=url, **kw) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/request.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/request.py new file mode 100644 index 0000000000..8f2f44bb21 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/request.py @@ -0,0 +1,150 @@ +from __future__ import absolute_import + +from .filepost import encode_multipart_formdata +from .packages.six.moves.urllib.parse import urlencode + + +__all__ = ['RequestMethods'] + + +class RequestMethods(object): + """ + Convenience mixin for classes who implement a :meth:`urlopen` method, such + as :class:`~urllib3.connectionpool.HTTPConnectionPool` and + :class:`~urllib3.poolmanager.PoolManager`. + + Provides behavior for making common types of HTTP request methods and + decides which type of request field encoding to use. + + Specifically, + + :meth:`.request_encode_url` is for sending requests whose fields are + encoded in the URL (such as GET, HEAD, DELETE). + + :meth:`.request_encode_body` is for sending requests whose fields are + encoded in the *body* of the request using multipart or www-form-urlencoded + (such as for POST, PUT, PATCH). + + :meth:`.request` is for making any kind of request, it will look up the + appropriate encoding format and use one of the above two methods to make + the request. + + Initializer parameters: + + :param headers: + Headers to include with all requests, unless other headers are given + explicitly. + """ + + _encode_url_methods = {'DELETE', 'GET', 'HEAD', 'OPTIONS'} + + def __init__(self, headers=None): + self.headers = headers or {} + + def urlopen(self, method, url, body=None, headers=None, + encode_multipart=True, multipart_boundary=None, + **kw): # Abstract + raise NotImplementedError("Classes extending RequestMethods must implement " + "their own ``urlopen`` method.") + + def request(self, method, url, fields=None, headers=None, **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the appropriate encoding of + ``fields`` based on the ``method`` used. + + This is a convenience method that requires the least amount of manual + effort. It can be used in most situations, while still having the + option to drop down to more specific methods when necessary, such as + :meth:`request_encode_url`, :meth:`request_encode_body`, + or even the lowest level :meth:`urlopen`. + """ + method = method.upper() + + urlopen_kw['request_url'] = url + + if method in self._encode_url_methods: + return self.request_encode_url(method, url, fields=fields, + headers=headers, + **urlopen_kw) + else: + return self.request_encode_body(method, url, fields=fields, + headers=headers, + **urlopen_kw) + + def request_encode_url(self, method, url, fields=None, headers=None, + **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the ``fields`` encoded in + the url. This is useful for request methods like GET, HEAD, DELETE, etc. + """ + if headers is None: + headers = self.headers + + extra_kw = {'headers': headers} + extra_kw.update(urlopen_kw) + + if fields: + url += '?' + urlencode(fields) + + return self.urlopen(method, url, **extra_kw) + + def request_encode_body(self, method, url, fields=None, headers=None, + encode_multipart=True, multipart_boundary=None, + **urlopen_kw): + """ + Make a request using :meth:`urlopen` with the ``fields`` encoded in + the body. This is useful for request methods like POST, PUT, PATCH, etc. + + When ``encode_multipart=True`` (default), then + :meth:`urllib3.filepost.encode_multipart_formdata` is used to encode + the payload with the appropriate content type. Otherwise + :meth:`urllib.urlencode` is used with the + 'application/x-www-form-urlencoded' content type. + + Multipart encoding must be used when posting files, and it's reasonably + safe to use it in other times too. However, it may break request + signing, such as with OAuth. + + Supports an optional ``fields`` parameter of key/value strings AND + key/filetuple. A filetuple is a (filename, data, MIME type) tuple where + the MIME type is optional. For example:: + + fields = { + 'foo': 'bar', + 'fakefile': ('foofile.txt', 'contents of foofile'), + 'realfile': ('barfile.txt', open('realfile').read()), + 'typedfile': ('bazfile.bin', open('bazfile').read(), + 'image/jpeg'), + 'nonamefile': 'contents of nonamefile field', + } + + When uploading a file, providing a filename (the first parameter of the + tuple) is optional but recommended to best mimic behavior of browsers. + + Note that if ``headers`` are supplied, the 'Content-Type' header will + be overwritten because it depends on the dynamic random boundary string + which is used to compose the body of the request. The random boundary + string can be explicitly set with the ``multipart_boundary`` parameter. + """ + if headers is None: + headers = self.headers + + extra_kw = {'headers': {}} + + if fields: + if 'body' in urlopen_kw: + raise TypeError( + "request got values for both 'fields' and 'body', can only specify one.") + + if encode_multipart: + body, content_type = encode_multipart_formdata(fields, boundary=multipart_boundary) + else: + body, content_type = urlencode(fields), 'application/x-www-form-urlencoded' + + extra_kw['body'] = body + extra_kw['headers'] = {'Content-Type': content_type} + + extra_kw['headers'].update(headers) + extra_kw.update(urlopen_kw) + + return self.urlopen(method, url, **extra_kw) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/response.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/response.py new file mode 100644 index 0000000000..c112690b0a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/response.py @@ -0,0 +1,705 @@ +from __future__ import absolute_import +from contextlib import contextmanager +import zlib +import io +import logging +from socket import timeout as SocketTimeout +from socket import error as SocketError + +from ._collections import HTTPHeaderDict +from .exceptions import ( + BodyNotHttplibCompatible, ProtocolError, DecodeError, ReadTimeoutError, + ResponseNotChunked, IncompleteRead, InvalidHeader +) +from .packages.six import string_types as basestring, PY3 +from .packages.six.moves import http_client as httplib +from .connection import HTTPException, BaseSSLError +from .util.response import is_fp_closed, is_response_to_head + +log = logging.getLogger(__name__) + + +class DeflateDecoder(object): + + def __init__(self): + self._first_try = True + self._data = b'' + self._obj = zlib.decompressobj() + + def __getattr__(self, name): + return getattr(self._obj, name) + + def decompress(self, data): + if not data: + return data + + if not self._first_try: + return self._obj.decompress(data) + + self._data += data + try: + decompressed = self._obj.decompress(data) + if decompressed: + self._first_try = False + self._data = None + return decompressed + except zlib.error: + self._first_try = False + self._obj = zlib.decompressobj(-zlib.MAX_WBITS) + try: + return self.decompress(self._data) + finally: + self._data = None + + +class GzipDecoderState(object): + + FIRST_MEMBER = 0 + OTHER_MEMBERS = 1 + SWALLOW_DATA = 2 + + +class GzipDecoder(object): + + def __init__(self): + self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) + self._state = GzipDecoderState.FIRST_MEMBER + + def __getattr__(self, name): + return getattr(self._obj, name) + + def decompress(self, data): + ret = bytearray() + if self._state == GzipDecoderState.SWALLOW_DATA or not data: + return bytes(ret) + while True: + try: + ret += self._obj.decompress(data) + except zlib.error: + previous_state = self._state + # Ignore data after the first error + self._state = GzipDecoderState.SWALLOW_DATA + if previous_state == GzipDecoderState.OTHER_MEMBERS: + # Allow trailing garbage acceptable in other gzip clients + return bytes(ret) + raise + data = self._obj.unused_data + if not data: + return bytes(ret) + self._state = GzipDecoderState.OTHER_MEMBERS + self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) + + +class MultiDecoder(object): + """ + From RFC7231: + If one or more encodings have been applied to a representation, the + sender that applied the encodings MUST generate a Content-Encoding + header field that lists the content codings in the order in which + they were applied. + """ + + def __init__(self, modes): + self._decoders = [_get_decoder(m.strip()) for m in modes.split(',')] + + def flush(self): + return self._decoders[0].flush() + + def decompress(self, data): + for d in reversed(self._decoders): + data = d.decompress(data) + return data + + +def _get_decoder(mode): + if ',' in mode: + return MultiDecoder(mode) + + if mode == 'gzip': + return GzipDecoder() + + return DeflateDecoder() + + +class HTTPResponse(io.IOBase): + """ + HTTP Response container. + + Backwards-compatible to httplib's HTTPResponse but the response ``body`` is + loaded and decoded on-demand when the ``data`` property is accessed. This + class is also compatible with the Python standard library's :mod:`io` + module, and can hence be treated as a readable object in the context of that + framework. + + Extra parameters for behaviour not present in httplib.HTTPResponse: + + :param preload_content: + If True, the response's body will be preloaded during construction. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + + :param original_response: + When this HTTPResponse wrapper is generated from an httplib.HTTPResponse + object, it's convenient to include the original for debug purposes. It's + otherwise unused. + + :param retries: + The retries contains the last :class:`~urllib3.util.retry.Retry` that + was used during the request. + + :param enforce_content_length: + Enforce content length checking. Body returned by server must match + value of Content-Length header, if present. Otherwise, raise error. + """ + + CONTENT_DECODERS = ['gzip', 'deflate'] + REDIRECT_STATUSES = [301, 302, 303, 307, 308] + + def __init__(self, body='', headers=None, status=0, version=0, reason=None, + strict=0, preload_content=True, decode_content=True, + original_response=None, pool=None, connection=None, msg=None, + retries=None, enforce_content_length=False, + request_method=None, request_url=None): + + if isinstance(headers, HTTPHeaderDict): + self.headers = headers + else: + self.headers = HTTPHeaderDict(headers) + self.status = status + self.version = version + self.reason = reason + self.strict = strict + self.decode_content = decode_content + self.retries = retries + self.enforce_content_length = enforce_content_length + + self._decoder = None + self._body = None + self._fp = None + self._original_response = original_response + self._fp_bytes_read = 0 + self.msg = msg + self._request_url = request_url + + if body and isinstance(body, (basestring, bytes)): + self._body = body + + self._pool = pool + self._connection = connection + + if hasattr(body, 'read'): + self._fp = body + + # Are we using the chunked-style of transfer encoding? + self.chunked = False + self.chunk_left = None + tr_enc = self.headers.get('transfer-encoding', '').lower() + # Don't incur the penalty of creating a list and then discarding it + encodings = (enc.strip() for enc in tr_enc.split(",")) + if "chunked" in encodings: + self.chunked = True + + # Determine length of response + self.length_remaining = self._init_length(request_method) + + # If requested, preload the body. + if preload_content and not self._body: + self._body = self.read(decode_content=decode_content) + + def get_redirect_location(self): + """ + Should we redirect and where to? + + :returns: Truthy redirect location string if we got a redirect status + code and valid location. ``None`` if redirect status and no + location. ``False`` if not a redirect status code. + """ + if self.status in self.REDIRECT_STATUSES: + return self.headers.get('location') + + return False + + def release_conn(self): + if not self._pool or not self._connection: + return + + self._pool._put_conn(self._connection) + self._connection = None + + @property + def data(self): + # For backwords-compat with earlier urllib3 0.4 and earlier. + if self._body: + return self._body + + if self._fp: + return self.read(cache_content=True) + + @property + def connection(self): + return self._connection + + def isclosed(self): + return is_fp_closed(self._fp) + + def tell(self): + """ + Obtain the number of bytes pulled over the wire so far. May differ from + the amount of content returned by :meth:``HTTPResponse.read`` if bytes + are encoded on the wire (e.g, compressed). + """ + return self._fp_bytes_read + + def _init_length(self, request_method): + """ + Set initial length value for Response content if available. + """ + length = self.headers.get('content-length') + + if length is not None: + if self.chunked: + # This Response will fail with an IncompleteRead if it can't be + # received as chunked. This method falls back to attempt reading + # the response before raising an exception. + log.warning("Received response with both Content-Length and " + "Transfer-Encoding set. This is expressly forbidden " + "by RFC 7230 sec 3.3.2. Ignoring Content-Length and " + "attempting to process response as Transfer-Encoding: " + "chunked.") + return None + + try: + # RFC 7230 section 3.3.2 specifies multiple content lengths can + # be sent in a single Content-Length header + # (e.g. Content-Length: 42, 42). This line ensures the values + # are all valid ints and that as long as the `set` length is 1, + # all values are the same. Otherwise, the header is invalid. + lengths = set([int(val) for val in length.split(',')]) + if len(lengths) > 1: + raise InvalidHeader("Content-Length contained multiple " + "unmatching values (%s)" % length) + length = lengths.pop() + except ValueError: + length = None + else: + if length < 0: + length = None + + # Convert status to int for comparison + # In some cases, httplib returns a status of "_UNKNOWN" + try: + status = int(self.status) + except ValueError: + status = 0 + + # Check for responses that shouldn't include a body + if status in (204, 304) or 100 <= status < 200 or request_method == 'HEAD': + length = 0 + + return length + + def _init_decoder(self): + """ + Set-up the _decoder attribute if necessary. + """ + # Note: content-encoding value should be case-insensitive, per RFC 7230 + # Section 3.2 + content_encoding = self.headers.get('content-encoding', '').lower() + if self._decoder is None: + if content_encoding in self.CONTENT_DECODERS: + self._decoder = _get_decoder(content_encoding) + elif ',' in content_encoding: + encodings = [e.strip() for e in content_encoding.split(',') if e.strip() in self.CONTENT_DECODERS] + if len(encodings): + self._decoder = _get_decoder(content_encoding) + + def _decode(self, data, decode_content, flush_decoder): + """ + Decode the data passed in and potentially flush the decoder. + """ + try: + if decode_content and self._decoder: + data = self._decoder.decompress(data) + except (IOError, zlib.error) as e: + content_encoding = self.headers.get('content-encoding', '').lower() + raise DecodeError( + "Received response with content-encoding: %s, but " + "failed to decode it." % content_encoding, e) + + if flush_decoder and decode_content: + data += self._flush_decoder() + + return data + + def _flush_decoder(self): + """ + Flushes the decoder. Should only be called if the decoder is actually + being used. + """ + if self._decoder: + buf = self._decoder.decompress(b'') + return buf + self._decoder.flush() + + return b'' + + @contextmanager + def _error_catcher(self): + """ + Catch low-level python exceptions, instead re-raising urllib3 + variants, so that low-level exceptions are not leaked in the + high-level api. + + On exit, release the connection back to the pool. + """ + clean_exit = False + + try: + try: + yield + + except SocketTimeout: + # FIXME: Ideally we'd like to include the url in the ReadTimeoutError but + # there is yet no clean way to get at it from this context. + raise ReadTimeoutError(self._pool, None, 'Read timed out.') + + except BaseSSLError as e: + # FIXME: Is there a better way to differentiate between SSLErrors? + if 'read operation timed out' not in str(e): # Defensive: + # This shouldn't happen but just in case we're missing an edge + # case, let's avoid swallowing SSL errors. + raise + + raise ReadTimeoutError(self._pool, None, 'Read timed out.') + + except (HTTPException, SocketError) as e: + # This includes IncompleteRead. + raise ProtocolError('Connection broken: %r' % e, e) + + # If no exception is thrown, we should avoid cleaning up + # unnecessarily. + clean_exit = True + finally: + # If we didn't terminate cleanly, we need to throw away our + # connection. + if not clean_exit: + # The response may not be closed but we're not going to use it + # anymore so close it now to ensure that the connection is + # released back to the pool. + if self._original_response: + self._original_response.close() + + # Closing the response may not actually be sufficient to close + # everything, so if we have a hold of the connection close that + # too. + if self._connection: + self._connection.close() + + # If we hold the original response but it's closed now, we should + # return the connection back to the pool. + if self._original_response and self._original_response.isclosed(): + self.release_conn() + + def read(self, amt=None, decode_content=None, cache_content=False): + """ + Similar to :meth:`httplib.HTTPResponse.read`, but with two additional + parameters: ``decode_content`` and ``cache_content``. + + :param amt: + How much of the content to read. If specified, caching is skipped + because it doesn't make sense to cache partial content as the full + response. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + + :param cache_content: + If True, will save the returned data such that the same result is + returned despite of the state of the underlying file object. This + is useful if you want the ``.data`` property to continue working + after having ``.read()`` the file object. (Overridden if ``amt`` is + set.) + """ + self._init_decoder() + if decode_content is None: + decode_content = self.decode_content + + if self._fp is None: + return + + flush_decoder = False + data = None + + with self._error_catcher(): + if amt is None: + # cStringIO doesn't like amt=None + data = self._fp.read() + flush_decoder = True + else: + cache_content = False + data = self._fp.read(amt) + if amt != 0 and not data: # Platform-specific: Buggy versions of Python. + # Close the connection when no data is returned + # + # This is redundant to what httplib/http.client _should_ + # already do. However, versions of python released before + # December 15, 2012 (http://bugs.python.org/issue16298) do + # not properly close the connection in all cases. There is + # no harm in redundantly calling close. + self._fp.close() + flush_decoder = True + if self.enforce_content_length and self.length_remaining not in (0, None): + # This is an edge case that httplib failed to cover due + # to concerns of backward compatibility. We're + # addressing it here to make sure IncompleteRead is + # raised during streaming, so all calls with incorrect + # Content-Length are caught. + raise IncompleteRead(self._fp_bytes_read, self.length_remaining) + + if data: + self._fp_bytes_read += len(data) + if self.length_remaining is not None: + self.length_remaining -= len(data) + + data = self._decode(data, decode_content, flush_decoder) + + if cache_content: + self._body = data + + return data + + def stream(self, amt=2**16, decode_content=None): + """ + A generator wrapper for the read() method. A call will block until + ``amt`` bytes have been read from the connection or until the + connection is closed. + + :param amt: + How much of the content to read. The generator will return up to + much data per iteration, but may return less. This is particularly + likely when using compressed data. However, the empty string will + never be returned. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + """ + if self.chunked and self.supports_chunked_reads(): + for line in self.read_chunked(amt, decode_content=decode_content): + yield line + else: + while not is_fp_closed(self._fp): + data = self.read(amt=amt, decode_content=decode_content) + + if data: + yield data + + @classmethod + def from_httplib(ResponseCls, r, **response_kw): + """ + Given an :class:`httplib.HTTPResponse` instance ``r``, return a + corresponding :class:`urllib3.response.HTTPResponse` object. + + Remaining parameters are passed to the HTTPResponse constructor, along + with ``original_response=r``. + """ + headers = r.msg + + if not isinstance(headers, HTTPHeaderDict): + if PY3: # Python 3 + headers = HTTPHeaderDict(headers.items()) + else: # Python 2 + headers = HTTPHeaderDict.from_httplib(headers) + + # HTTPResponse objects in Python 3 don't have a .strict attribute + strict = getattr(r, 'strict', 0) + resp = ResponseCls(body=r, + headers=headers, + status=r.status, + version=r.version, + reason=r.reason, + strict=strict, + original_response=r, + **response_kw) + return resp + + # Backwards-compatibility methods for httplib.HTTPResponse + def getheaders(self): + return self.headers + + def getheader(self, name, default=None): + return self.headers.get(name, default) + + # Backwards compatibility for http.cookiejar + def info(self): + return self.headers + + # Overrides from io.IOBase + def close(self): + if not self.closed: + self._fp.close() + + if self._connection: + self._connection.close() + + @property + def closed(self): + if self._fp is None: + return True + elif hasattr(self._fp, 'isclosed'): + return self._fp.isclosed() + elif hasattr(self._fp, 'closed'): + return self._fp.closed + else: + return True + + def fileno(self): + if self._fp is None: + raise IOError("HTTPResponse has no file to get a fileno from") + elif hasattr(self._fp, "fileno"): + return self._fp.fileno() + else: + raise IOError("The file-like object this HTTPResponse is wrapped " + "around has no file descriptor") + + def flush(self): + if self._fp is not None and hasattr(self._fp, 'flush'): + return self._fp.flush() + + def readable(self): + # This method is required for `io` module compatibility. + return True + + def readinto(self, b): + # This method is required for `io` module compatibility. + temp = self.read(len(b)) + if len(temp) == 0: + return 0 + else: + b[:len(temp)] = temp + return len(temp) + + def supports_chunked_reads(self): + """ + Checks if the underlying file-like object looks like a + httplib.HTTPResponse object. We do this by testing for the fp + attribute. If it is present we assume it returns raw chunks as + processed by read_chunked(). + """ + return hasattr(self._fp, 'fp') + + def _update_chunk_length(self): + # First, we'll figure out length of a chunk and then + # we'll try to read it from socket. + if self.chunk_left is not None: + return + line = self._fp.fp.readline() + line = line.split(b';', 1)[0] + try: + self.chunk_left = int(line, 16) + except ValueError: + # Invalid chunked protocol response, abort. + self.close() + raise httplib.IncompleteRead(line) + + def _handle_chunk(self, amt): + returned_chunk = None + if amt is None: + chunk = self._fp._safe_read(self.chunk_left) + returned_chunk = chunk + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + elif amt < self.chunk_left: + value = self._fp._safe_read(amt) + self.chunk_left = self.chunk_left - amt + returned_chunk = value + elif amt == self.chunk_left: + value = self._fp._safe_read(amt) + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + returned_chunk = value + else: # amt > self.chunk_left + returned_chunk = self._fp._safe_read(self.chunk_left) + self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. + self.chunk_left = None + return returned_chunk + + def read_chunked(self, amt=None, decode_content=None): + """ + Similar to :meth:`HTTPResponse.read`, but with an additional + parameter: ``decode_content``. + + :param amt: + How much of the content to read. If specified, caching is skipped + because it doesn't make sense to cache partial content as the full + response. + + :param decode_content: + If True, will attempt to decode the body based on the + 'content-encoding' header. + """ + self._init_decoder() + # FIXME: Rewrite this method and make it a class with a better structured logic. + if not self.chunked: + raise ResponseNotChunked( + "Response is not chunked. " + "Header 'transfer-encoding: chunked' is missing.") + if not self.supports_chunked_reads(): + raise BodyNotHttplibCompatible( + "Body should be httplib.HTTPResponse like. " + "It should have have an fp attribute which returns raw chunks.") + + with self._error_catcher(): + # Don't bother reading the body of a HEAD request. + if self._original_response and is_response_to_head(self._original_response): + self._original_response.close() + return + + # If a response is already read and closed + # then return immediately. + if self._fp.fp is None: + return + + while True: + self._update_chunk_length() + if self.chunk_left == 0: + break + chunk = self._handle_chunk(amt) + decoded = self._decode(chunk, decode_content=decode_content, + flush_decoder=False) + if decoded: + yield decoded + + if decode_content: + # On CPython and PyPy, we should never need to flush the + # decoder. However, on Jython we *might* need to, so + # lets defensively do it anyway. + decoded = self._flush_decoder() + if decoded: # Platform-specific: Jython. + yield decoded + + # Chunk content ends with \r\n: discard it. + while True: + line = self._fp.fp.readline() + if not line: + # Some sites may not end with '\r\n'. + break + if line == b'\r\n': + break + + # We read everything; close the "file". + if self._original_response: + self._original_response.close() + + def geturl(self): + """ + Returns the URL that was the source of this response. + If the request that generated this response redirected, this method + will return the final redirect location. + """ + if self.retries is not None and len(self.retries.history): + return self.retries.history[-1].redirect_location + else: + return self._request_url diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/__init__.py new file mode 100644 index 0000000000..2f2770b622 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/__init__.py @@ -0,0 +1,54 @@ +from __future__ import absolute_import +# For backwards compatibility, provide imports that used to be here. +from .connection import is_connection_dropped +from .request import make_headers +from .response import is_fp_closed +from .ssl_ import ( + SSLContext, + HAS_SNI, + IS_PYOPENSSL, + IS_SECURETRANSPORT, + assert_fingerprint, + resolve_cert_reqs, + resolve_ssl_version, + ssl_wrap_socket, +) +from .timeout import ( + current_time, + Timeout, +) + +from .retry import Retry +from .url import ( + get_host, + parse_url, + split_first, + Url, +) +from .wait import ( + wait_for_read, + wait_for_write +) + +__all__ = ( + 'HAS_SNI', + 'IS_PYOPENSSL', + 'IS_SECURETRANSPORT', + 'SSLContext', + 'Retry', + 'Timeout', + 'Url', + 'assert_fingerprint', + 'current_time', + 'is_connection_dropped', + 'is_fp_closed', + 'get_host', + 'parse_url', + 'make_headers', + 'resolve_cert_reqs', + 'resolve_ssl_version', + 'split_first', + 'ssl_wrap_socket', + 'wait_for_read', + 'wait_for_write' +) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/connection.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/connection.py new file mode 100644 index 0000000000..5ad70b2f1c --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/connection.py @@ -0,0 +1,134 @@ +from __future__ import absolute_import +import socket +from .wait import NoWayToWaitForSocketError, wait_for_read +from ..contrib import _appengine_environ + + +def is_connection_dropped(conn): # Platform-specific + """ + Returns True if the connection is dropped and should be closed. + + :param conn: + :class:`httplib.HTTPConnection` object. + + Note: For platforms like AppEngine, this will always return ``False`` to + let the platform handle connection recycling transparently for us. + """ + sock = getattr(conn, 'sock', False) + if sock is False: # Platform-specific: AppEngine + return False + if sock is None: # Connection already closed (such as by httplib). + return True + try: + # Returns True if readable, which here means it's been dropped + return wait_for_read(sock, timeout=0.0) + except NoWayToWaitForSocketError: # Platform-specific: AppEngine + return False + + +# This function is copied from socket.py in the Python 2.7 standard +# library test suite. Added to its signature is only `socket_options`. +# One additional modification is that we avoid binding to IPv6 servers +# discovered in DNS if the system doesn't have IPv6 functionality. +def create_connection(address, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + source_address=None, socket_options=None): + """Connect to *address* and return the socket object. + + Convenience function. Connect to *address* (a 2-tuple ``(host, + port)``) and return the socket object. Passing the optional + *timeout* parameter will set the timeout on the socket instance + before attempting to connect. If no *timeout* is supplied, the + global default timeout setting returned by :func:`getdefaulttimeout` + is used. If *source_address* is set it must be a tuple of (host, port) + for the socket to bind as a source address before making the connection. + An host of '' or port 0 tells the OS to use the default. + """ + + host, port = address + if host.startswith('['): + host = host.strip('[]') + err = None + + # Using the value from allowed_gai_family() in the context of getaddrinfo lets + # us select whether to work with IPv4 DNS records, IPv6 records, or both. + # The original create_connection function always returns all records. + family = allowed_gai_family() + + for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): + af, socktype, proto, canonname, sa = res + sock = None + try: + sock = socket.socket(af, socktype, proto) + + # If provided, set socket level options before connecting. + _set_socket_options(sock, socket_options) + + if timeout is not socket._GLOBAL_DEFAULT_TIMEOUT: + sock.settimeout(timeout) + if source_address: + sock.bind(source_address) + sock.connect(sa) + return sock + + except socket.error as e: + err = e + if sock is not None: + sock.close() + sock = None + + if err is not None: + raise err + + raise socket.error("getaddrinfo returns an empty list") + + +def _set_socket_options(sock, options): + if options is None: + return + + for opt in options: + sock.setsockopt(*opt) + + +def allowed_gai_family(): + """This function is designed to work in the context of + getaddrinfo, where family=socket.AF_UNSPEC is the default and + will perform a DNS search for both IPv6 and IPv4 records.""" + + family = socket.AF_INET + if HAS_IPV6: + family = socket.AF_UNSPEC + return family + + +def _has_ipv6(host): + """ Returns True if the system can bind an IPv6 address. """ + sock = None + has_ipv6 = False + + # App Engine doesn't support IPV6 sockets and actually has a quota on the + # number of sockets that can be used, so just early out here instead of + # creating a socket needlessly. + # See https://github.com/urllib3/urllib3/issues/1446 + if _appengine_environ.is_appengine_sandbox(): + return False + + if socket.has_ipv6: + # has_ipv6 returns true if cPython was compiled with IPv6 support. + # It does not tell us if the system has IPv6 support enabled. To + # determine that we must bind to an IPv6 address. + # https://github.com/shazow/urllib3/pull/611 + # https://bugs.python.org/issue658327 + try: + sock = socket.socket(socket.AF_INET6) + sock.bind((host, 0)) + has_ipv6 = True + except Exception: + pass + + if sock: + sock.close() + return has_ipv6 + + +HAS_IPV6 = _has_ipv6('::1') diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/queue.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/queue.py new file mode 100644 index 0000000000..d3d379a199 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/queue.py @@ -0,0 +1,21 @@ +import collections +from ..packages import six +from ..packages.six.moves import queue + +if six.PY2: + # Queue is imported for side effects on MS Windows. See issue #229. + import Queue as _unused_module_Queue # noqa: F401 + + +class LifoQueue(queue.Queue): + def _init(self, _): + self.queue = collections.deque() + + def _qsize(self, len=len): + return len(self.queue) + + def _put(self, item): + self.queue.append(item) + + def _get(self): + return self.queue.pop() diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/request.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/request.py new file mode 100644 index 0000000000..3ddfcd5594 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/request.py @@ -0,0 +1,118 @@ +from __future__ import absolute_import +from base64 import b64encode + +from ..packages.six import b, integer_types +from ..exceptions import UnrewindableBodyError + +ACCEPT_ENCODING = 'gzip,deflate' +_FAILEDTELL = object() + + +def make_headers(keep_alive=None, accept_encoding=None, user_agent=None, + basic_auth=None, proxy_basic_auth=None, disable_cache=None): + """ + Shortcuts for generating request headers. + + :param keep_alive: + If ``True``, adds 'connection: keep-alive' header. + + :param accept_encoding: + Can be a boolean, list, or string. + ``True`` translates to 'gzip,deflate'. + List will get joined by comma. + String will be used as provided. + + :param user_agent: + String representing the user-agent you want, such as + "python-urllib3/0.6" + + :param basic_auth: + Colon-separated username:password string for 'authorization: basic ...' + auth header. + + :param proxy_basic_auth: + Colon-separated username:password string for 'proxy-authorization: basic ...' + auth header. + + :param disable_cache: + If ``True``, adds 'cache-control: no-cache' header. + + Example:: + + >>> make_headers(keep_alive=True, user_agent="Batman/1.0") + {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'} + >>> make_headers(accept_encoding=True) + {'accept-encoding': 'gzip,deflate'} + """ + headers = {} + if accept_encoding: + if isinstance(accept_encoding, str): + pass + elif isinstance(accept_encoding, list): + accept_encoding = ','.join(accept_encoding) + else: + accept_encoding = ACCEPT_ENCODING + headers['accept-encoding'] = accept_encoding + + if user_agent: + headers['user-agent'] = user_agent + + if keep_alive: + headers['connection'] = 'keep-alive' + + if basic_auth: + headers['authorization'] = 'Basic ' + \ + b64encode(b(basic_auth)).decode('utf-8') + + if proxy_basic_auth: + headers['proxy-authorization'] = 'Basic ' + \ + b64encode(b(proxy_basic_auth)).decode('utf-8') + + if disable_cache: + headers['cache-control'] = 'no-cache' + + return headers + + +def set_file_position(body, pos): + """ + If a position is provided, move file to that point. + Otherwise, we'll attempt to record a position for future use. + """ + if pos is not None: + rewind_body(body, pos) + elif getattr(body, 'tell', None) is not None: + try: + pos = body.tell() + except (IOError, OSError): + # This differentiates from None, allowing us to catch + # a failed `tell()` later when trying to rewind the body. + pos = _FAILEDTELL + + return pos + + +def rewind_body(body, body_pos): + """ + Attempt to rewind body to a certain position. + Primarily used for request redirects and retries. + + :param body: + File-like object that supports seek. + + :param int pos: + Position to seek to in file. + """ + body_seek = getattr(body, 'seek', None) + if body_seek is not None and isinstance(body_pos, integer_types): + try: + body_seek(body_pos) + except (IOError, OSError): + raise UnrewindableBodyError("An error occurred when rewinding request " + "body for redirect/retry.") + elif body_pos is _FAILEDTELL: + raise UnrewindableBodyError("Unable to record file position for rewinding " + "request body during a redirect/retry.") + else: + raise ValueError("body_pos must be of type integer, " + "instead it was %s." % type(body_pos)) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/response.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/response.py new file mode 100644 index 0000000000..3d5486485a --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/response.py @@ -0,0 +1,87 @@ +from __future__ import absolute_import +from ..packages.six.moves import http_client as httplib + +from ..exceptions import HeaderParsingError + + +def is_fp_closed(obj): + """ + Checks whether a given file-like object is closed. + + :param obj: + The file-like object to check. + """ + + try: + # Check `isclosed()` first, in case Python3 doesn't set `closed`. + # GH Issue #928 + return obj.isclosed() + except AttributeError: + pass + + try: + # Check via the official file-like-object way. + return obj.closed + except AttributeError: + pass + + try: + # Check if the object is a container for another file-like object that + # gets released on exhaustion (e.g. HTTPResponse). + return obj.fp is None + except AttributeError: + pass + + raise ValueError("Unable to determine whether fp is closed.") + + +def assert_header_parsing(headers): + """ + Asserts whether all headers have been successfully parsed. + Extracts encountered errors from the result of parsing headers. + + Only works on Python 3. + + :param headers: Headers to verify. + :type headers: `httplib.HTTPMessage`. + + :raises urllib3.exceptions.HeaderParsingError: + If parsing errors are found. + """ + + # This will fail silently if we pass in the wrong kind of parameter. + # To make debugging easier add an explicit check. + if not isinstance(headers, httplib.HTTPMessage): + raise TypeError('expected httplib.Message, got {0}.'.format( + type(headers))) + + defects = getattr(headers, 'defects', None) + get_payload = getattr(headers, 'get_payload', None) + + unparsed_data = None + if get_payload: + # get_payload is actually email.message.Message.get_payload; + # we're only interested in the result if it's not a multipart message + if not headers.is_multipart(): + payload = get_payload() + + if isinstance(payload, (bytes, str)): + unparsed_data = payload + + if defects or unparsed_data: + raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data) + + +def is_response_to_head(response): + """ + Checks whether the request of a response has been a HEAD-request. + Handles the quirks of AppEngine. + + :param conn: + :type conn: :class:`httplib.HTTPResponse` + """ + # FIXME: Can we do this somehow without accessing private httplib _method? + method = response._method + if isinstance(method, int): # Platform-specific: Appengine + return method == 3 + return method.upper() == 'HEAD' diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/retry.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/retry.py new file mode 100644 index 0000000000..e7d0abd610 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/retry.py @@ -0,0 +1,411 @@ +from __future__ import absolute_import +import time +import logging +from collections import namedtuple +from itertools import takewhile +import email +import re + +from ..exceptions import ( + ConnectTimeoutError, + MaxRetryError, + ProtocolError, + ReadTimeoutError, + ResponseError, + InvalidHeader, +) +from ..packages import six + + +log = logging.getLogger(__name__) + + +# Data structure for representing the metadata of requests that result in a retry. +RequestHistory = namedtuple('RequestHistory', ["method", "url", "error", + "status", "redirect_location"]) + + +class Retry(object): + """ Retry configuration. + + Each retry attempt will create a new Retry object with updated values, so + they can be safely reused. + + Retries can be defined as a default for a pool:: + + retries = Retry(connect=5, read=2, redirect=5) + http = PoolManager(retries=retries) + response = http.request('GET', 'http://example.com/') + + Or per-request (which overrides the default for the pool):: + + response = http.request('GET', 'http://example.com/', retries=Retry(10)) + + Retries can be disabled by passing ``False``:: + + response = http.request('GET', 'http://example.com/', retries=False) + + Errors will be wrapped in :class:`~urllib3.exceptions.MaxRetryError` unless + retries are disabled, in which case the causing exception will be raised. + + :param int total: + Total number of retries to allow. Takes precedence over other counts. + + Set to ``None`` to remove this constraint and fall back on other + counts. It's a good idea to set this to some sensibly-high value to + account for unexpected edge cases and avoid infinite retry loops. + + Set to ``0`` to fail on the first retry. + + Set to ``False`` to disable and imply ``raise_on_redirect=False``. + + :param int connect: + How many connection-related errors to retry on. + + These are errors raised before the request is sent to the remote server, + which we assume has not triggered the server to process the request. + + Set to ``0`` to fail on the first retry of this type. + + :param int read: + How many times to retry on read errors. + + These errors are raised after the request was sent to the server, so the + request may have side-effects. + + Set to ``0`` to fail on the first retry of this type. + + :param int redirect: + How many redirects to perform. Limit this to avoid infinite redirect + loops. + + A redirect is a HTTP response with a status code 301, 302, 303, 307 or + 308. + + Set to ``0`` to fail on the first retry of this type. + + Set to ``False`` to disable and imply ``raise_on_redirect=False``. + + :param int status: + How many times to retry on bad status codes. + + These are retries made on responses, where status code matches + ``status_forcelist``. + + Set to ``0`` to fail on the first retry of this type. + + :param iterable method_whitelist: + Set of uppercased HTTP method verbs that we should retry on. + + By default, we only retry on methods which are considered to be + idempotent (multiple requests with the same parameters end with the + same state). See :attr:`Retry.DEFAULT_METHOD_WHITELIST`. + + Set to a ``False`` value to retry on any verb. + + :param iterable status_forcelist: + A set of integer HTTP status codes that we should force a retry on. + A retry is initiated if the request method is in ``method_whitelist`` + and the response status code is in ``status_forcelist``. + + By default, this is disabled with ``None``. + + :param float backoff_factor: + A backoff factor to apply between attempts after the second try + (most errors are resolved immediately by a second try without a + delay). urllib3 will sleep for:: + + {backoff factor} * (2 ** ({number of total retries} - 1)) + + seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep + for [0.0s, 0.2s, 0.4s, ...] between retries. It will never be longer + than :attr:`Retry.BACKOFF_MAX`. + + By default, backoff is disabled (set to 0). + + :param bool raise_on_redirect: Whether, if the number of redirects is + exhausted, to raise a MaxRetryError, or to return a response with a + response code in the 3xx range. + + :param bool raise_on_status: Similar meaning to ``raise_on_redirect``: + whether we should raise an exception, or return a response, + if status falls in ``status_forcelist`` range and retries have + been exhausted. + + :param tuple history: The history of the request encountered during + each call to :meth:`~Retry.increment`. The list is in the order + the requests occurred. Each list item is of class :class:`RequestHistory`. + + :param bool respect_retry_after_header: + Whether to respect Retry-After header on status codes defined as + :attr:`Retry.RETRY_AFTER_STATUS_CODES` or not. + + :param iterable remove_headers_on_redirect: + Sequence of headers to remove from the request when a response + indicating a redirect is returned before firing off the redirected + request. + """ + + DEFAULT_METHOD_WHITELIST = frozenset([ + 'HEAD', 'GET', 'PUT', 'DELETE', 'OPTIONS', 'TRACE']) + + RETRY_AFTER_STATUS_CODES = frozenset([413, 429, 503]) + + DEFAULT_REDIRECT_HEADERS_BLACKLIST = frozenset(['Authorization']) + + #: Maximum backoff time. + BACKOFF_MAX = 120 + + def __init__(self, total=10, connect=None, read=None, redirect=None, status=None, + method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None, + backoff_factor=0, raise_on_redirect=True, raise_on_status=True, + history=None, respect_retry_after_header=True, + remove_headers_on_redirect=DEFAULT_REDIRECT_HEADERS_BLACKLIST): + + self.total = total + self.connect = connect + self.read = read + self.status = status + + if redirect is False or total is False: + redirect = 0 + raise_on_redirect = False + + self.redirect = redirect + self.status_forcelist = status_forcelist or set() + self.method_whitelist = method_whitelist + self.backoff_factor = backoff_factor + self.raise_on_redirect = raise_on_redirect + self.raise_on_status = raise_on_status + self.history = history or tuple() + self.respect_retry_after_header = respect_retry_after_header + self.remove_headers_on_redirect = remove_headers_on_redirect + + def new(self, **kw): + params = dict( + total=self.total, + connect=self.connect, read=self.read, redirect=self.redirect, status=self.status, + method_whitelist=self.method_whitelist, + status_forcelist=self.status_forcelist, + backoff_factor=self.backoff_factor, + raise_on_redirect=self.raise_on_redirect, + raise_on_status=self.raise_on_status, + history=self.history, + remove_headers_on_redirect=self.remove_headers_on_redirect + ) + params.update(kw) + return type(self)(**params) + + @classmethod + def from_int(cls, retries, redirect=True, default=None): + """ Backwards-compatibility for the old retries format.""" + if retries is None: + retries = default if default is not None else cls.DEFAULT + + if isinstance(retries, Retry): + return retries + + redirect = bool(redirect) and None + new_retries = cls(retries, redirect=redirect) + log.debug("Converted retries value: %r -> %r", retries, new_retries) + return new_retries + + def get_backoff_time(self): + """ Formula for computing the current backoff + + :rtype: float + """ + # We want to consider only the last consecutive errors sequence (Ignore redirects). + consecutive_errors_len = len(list(takewhile(lambda x: x.redirect_location is None, + reversed(self.history)))) + if consecutive_errors_len <= 1: + return 0 + + backoff_value = self.backoff_factor * (2 ** (consecutive_errors_len - 1)) + return min(self.BACKOFF_MAX, backoff_value) + + def parse_retry_after(self, retry_after): + # Whitespace: https://tools.ietf.org/html/rfc7230#section-3.2.4 + if re.match(r"^\s*[0-9]+\s*$", retry_after): + seconds = int(retry_after) + else: + retry_date_tuple = email.utils.parsedate(retry_after) + if retry_date_tuple is None: + raise InvalidHeader("Invalid Retry-After header: %s" % retry_after) + retry_date = time.mktime(retry_date_tuple) + seconds = retry_date - time.time() + + if seconds < 0: + seconds = 0 + + return seconds + + def get_retry_after(self, response): + """ Get the value of Retry-After in seconds. """ + + retry_after = response.getheader("Retry-After") + + if retry_after is None: + return None + + return self.parse_retry_after(retry_after) + + def sleep_for_retry(self, response=None): + retry_after = self.get_retry_after(response) + if retry_after: + time.sleep(retry_after) + return True + + return False + + def _sleep_backoff(self): + backoff = self.get_backoff_time() + if backoff <= 0: + return + time.sleep(backoff) + + def sleep(self, response=None): + """ Sleep between retry attempts. + + This method will respect a server's ``Retry-After`` response header + and sleep the duration of the time requested. If that is not present, it + will use an exponential backoff. By default, the backoff factor is 0 and + this method will return immediately. + """ + + if response: + slept = self.sleep_for_retry(response) + if slept: + return + + self._sleep_backoff() + + def _is_connection_error(self, err): + """ Errors when we're fairly sure that the server did not receive the + request, so it should be safe to retry. + """ + return isinstance(err, ConnectTimeoutError) + + def _is_read_error(self, err): + """ Errors that occur after the request has been started, so we should + assume that the server began processing it. + """ + return isinstance(err, (ReadTimeoutError, ProtocolError)) + + def _is_method_retryable(self, method): + """ Checks if a given HTTP method should be retried upon, depending if + it is included on the method whitelist. + """ + if self.method_whitelist and method.upper() not in self.method_whitelist: + return False + + return True + + def is_retry(self, method, status_code, has_retry_after=False): + """ Is this method/status code retryable? (Based on whitelists and control + variables such as the number of total retries to allow, whether to + respect the Retry-After header, whether this header is present, and + whether the returned status code is on the list of status codes to + be retried upon on the presence of the aforementioned header) + """ + if not self._is_method_retryable(method): + return False + + if self.status_forcelist and status_code in self.status_forcelist: + return True + + return (self.total and self.respect_retry_after_header and + has_retry_after and (status_code in self.RETRY_AFTER_STATUS_CODES)) + + def is_exhausted(self): + """ Are we out of retries? """ + retry_counts = (self.total, self.connect, self.read, self.redirect, self.status) + retry_counts = list(filter(None, retry_counts)) + if not retry_counts: + return False + + return min(retry_counts) < 0 + + def increment(self, method=None, url=None, response=None, error=None, + _pool=None, _stacktrace=None): + """ Return a new Retry object with incremented retry counters. + + :param response: A response object, or None, if the server did not + return a response. + :type response: :class:`~urllib3.response.HTTPResponse` + :param Exception error: An error encountered during the request, or + None if the response was received successfully. + + :return: A new ``Retry`` object. + """ + if self.total is False and error: + # Disabled, indicate to re-raise the error. + raise six.reraise(type(error), error, _stacktrace) + + total = self.total + if total is not None: + total -= 1 + + connect = self.connect + read = self.read + redirect = self.redirect + status_count = self.status + cause = 'unknown' + status = None + redirect_location = None + + if error and self._is_connection_error(error): + # Connect retry? + if connect is False: + raise six.reraise(type(error), error, _stacktrace) + elif connect is not None: + connect -= 1 + + elif error and self._is_read_error(error): + # Read retry? + if read is False or not self._is_method_retryable(method): + raise six.reraise(type(error), error, _stacktrace) + elif read is not None: + read -= 1 + + elif response and response.get_redirect_location(): + # Redirect retry? + if redirect is not None: + redirect -= 1 + cause = 'too many redirects' + redirect_location = response.get_redirect_location() + status = response.status + + else: + # Incrementing because of a server error like a 500 in + # status_forcelist and a the given method is in the whitelist + cause = ResponseError.GENERIC_ERROR + if response and response.status: + if status_count is not None: + status_count -= 1 + cause = ResponseError.SPECIFIC_ERROR.format( + status_code=response.status) + status = response.status + + history = self.history + (RequestHistory(method, url, error, status, redirect_location),) + + new_retry = self.new( + total=total, + connect=connect, read=read, redirect=redirect, status=status_count, + history=history) + + if new_retry.is_exhausted(): + raise MaxRetryError(_pool, url, error or ResponseError(cause)) + + log.debug("Incremented Retry for (url='%s'): %r", url, new_retry) + + return new_retry + + def __repr__(self): + return ('{cls.__name__}(total={self.total}, connect={self.connect}, ' + 'read={self.read}, redirect={self.redirect}, status={self.status})').format( + cls=type(self), self=self) + + +# For backwards compatibility (equivalent to pre-v1.9): +Retry.DEFAULT = Retry(3) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/ssl_.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/ssl_.py new file mode 100644 index 0000000000..dfc553ff41 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/ssl_.py @@ -0,0 +1,381 @@ +from __future__ import absolute_import +import errno +import warnings +import hmac +import socket + +from binascii import hexlify, unhexlify +from hashlib import md5, sha1, sha256 + +from ..exceptions import SSLError, InsecurePlatformWarning, SNIMissingWarning +from ..packages import six + + +SSLContext = None +HAS_SNI = False +IS_PYOPENSSL = False +IS_SECURETRANSPORT = False + +# Maps the length of a digest to a possible hash function producing this digest +HASHFUNC_MAP = { + 32: md5, + 40: sha1, + 64: sha256, +} + + +def _const_compare_digest_backport(a, b): + """ + Compare two digests of equal length in constant time. + + The digests must be of type str/bytes. + Returns True if the digests match, and False otherwise. + """ + result = abs(len(a) - len(b)) + for l, r in zip(bytearray(a), bytearray(b)): + result |= l ^ r + return result == 0 + + +_const_compare_digest = getattr(hmac, 'compare_digest', + _const_compare_digest_backport) + + +try: # Test for SSL features + import ssl + from ssl import wrap_socket, CERT_NONE, PROTOCOL_SSLv23 + from ssl import HAS_SNI # Has SNI? +except ImportError: + pass + + +try: + from ssl import OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION +except ImportError: + OP_NO_SSLv2, OP_NO_SSLv3 = 0x1000000, 0x2000000 + OP_NO_COMPRESSION = 0x20000 + + +# Python 2.7 doesn't have inet_pton on non-Linux so we fallback on inet_aton in +# those cases. This means that we can only detect IPv4 addresses in this case. +if hasattr(socket, 'inet_pton'): + inet_pton = socket.inet_pton +else: + # Maybe we can use ipaddress if the user has urllib3[secure]? + try: + from pip._vendor import ipaddress + + def inet_pton(_, host): + if isinstance(host, bytes): + host = host.decode('ascii') + return ipaddress.ip_address(host) + + except ImportError: # Platform-specific: Non-Linux + def inet_pton(_, host): + return socket.inet_aton(host) + + +# A secure default. +# Sources for more information on TLS ciphers: +# +# - https://wiki.mozilla.org/Security/Server_Side_TLS +# - https://www.ssllabs.com/projects/best-practices/index.html +# - https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ +# +# The general intent is: +# - Prefer TLS 1.3 cipher suites +# - prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE), +# - prefer ECDHE over DHE for better performance, +# - prefer any AES-GCM and ChaCha20 over any AES-CBC for better performance and +# security, +# - prefer AES-GCM over ChaCha20 because hardware-accelerated AES is common, +# - disable NULL authentication, MD5 MACs and DSS for security reasons. +DEFAULT_CIPHERS = ':'.join([ + 'TLS13-AES-256-GCM-SHA384', + 'TLS13-CHACHA20-POLY1305-SHA256', + 'TLS13-AES-128-GCM-SHA256', + 'ECDH+AESGCM', + 'ECDH+CHACHA20', + 'DH+AESGCM', + 'DH+CHACHA20', + 'ECDH+AES256', + 'DH+AES256', + 'ECDH+AES128', + 'DH+AES', + 'RSA+AESGCM', + 'RSA+AES', + '!aNULL', + '!eNULL', + '!MD5', +]) + +try: + from ssl import SSLContext # Modern SSL? +except ImportError: + import sys + + class SSLContext(object): # Platform-specific: Python 2 + def __init__(self, protocol_version): + self.protocol = protocol_version + # Use default values from a real SSLContext + self.check_hostname = False + self.verify_mode = ssl.CERT_NONE + self.ca_certs = None + self.options = 0 + self.certfile = None + self.keyfile = None + self.ciphers = None + + def load_cert_chain(self, certfile, keyfile): + self.certfile = certfile + self.keyfile = keyfile + + def load_verify_locations(self, cafile=None, capath=None): + self.ca_certs = cafile + + if capath is not None: + raise SSLError("CA directories not supported in older Pythons") + + def set_ciphers(self, cipher_suite): + self.ciphers = cipher_suite + + def wrap_socket(self, socket, server_hostname=None, server_side=False): + warnings.warn( + 'A true SSLContext object is not available. This prevents ' + 'urllib3 from configuring SSL appropriately and may cause ' + 'certain SSL connections to fail. You can upgrade to a newer ' + 'version of Python to solve this. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings', + InsecurePlatformWarning + ) + kwargs = { + 'keyfile': self.keyfile, + 'certfile': self.certfile, + 'ca_certs': self.ca_certs, + 'cert_reqs': self.verify_mode, + 'ssl_version': self.protocol, + 'server_side': server_side, + } + return wrap_socket(socket, ciphers=self.ciphers, **kwargs) + + +def assert_fingerprint(cert, fingerprint): + """ + Checks if given fingerprint matches the supplied certificate. + + :param cert: + Certificate as bytes object. + :param fingerprint: + Fingerprint as string of hexdigits, can be interspersed by colons. + """ + + fingerprint = fingerprint.replace(':', '').lower() + digest_length = len(fingerprint) + hashfunc = HASHFUNC_MAP.get(digest_length) + if not hashfunc: + raise SSLError( + 'Fingerprint of invalid length: {0}'.format(fingerprint)) + + # We need encode() here for py32; works on py2 and p33. + fingerprint_bytes = unhexlify(fingerprint.encode()) + + cert_digest = hashfunc(cert).digest() + + if not _const_compare_digest(cert_digest, fingerprint_bytes): + raise SSLError('Fingerprints did not match. Expected "{0}", got "{1}".' + .format(fingerprint, hexlify(cert_digest))) + + +def resolve_cert_reqs(candidate): + """ + Resolves the argument to a numeric constant, which can be passed to + the wrap_socket function/method from the ssl module. + Defaults to :data:`ssl.CERT_NONE`. + If given a string it is assumed to be the name of the constant in the + :mod:`ssl` module or its abbreviation. + (So you can specify `REQUIRED` instead of `CERT_REQUIRED`. + If it's neither `None` nor a string we assume it is already the numeric + constant which can directly be passed to wrap_socket. + """ + if candidate is None: + return CERT_NONE + + if isinstance(candidate, str): + res = getattr(ssl, candidate, None) + if res is None: + res = getattr(ssl, 'CERT_' + candidate) + return res + + return candidate + + +def resolve_ssl_version(candidate): + """ + like resolve_cert_reqs + """ + if candidate is None: + return PROTOCOL_SSLv23 + + if isinstance(candidate, str): + res = getattr(ssl, candidate, None) + if res is None: + res = getattr(ssl, 'PROTOCOL_' + candidate) + return res + + return candidate + + +def create_urllib3_context(ssl_version=None, cert_reqs=None, + options=None, ciphers=None): + """All arguments have the same meaning as ``ssl_wrap_socket``. + + By default, this function does a lot of the same work that + ``ssl.create_default_context`` does on Python 3.4+. It: + + - Disables SSLv2, SSLv3, and compression + - Sets a restricted set of server ciphers + + If you wish to enable SSLv3, you can do:: + + from pip._vendor.urllib3.util import ssl_ + context = ssl_.create_urllib3_context() + context.options &= ~ssl_.OP_NO_SSLv3 + + You can do the same to enable compression (substituting ``COMPRESSION`` + for ``SSLv3`` in the last line above). + + :param ssl_version: + The desired protocol version to use. This will default to + PROTOCOL_SSLv23 which will negotiate the highest protocol that both + the server and your installation of OpenSSL support. + :param cert_reqs: + Whether to require the certificate verification. This defaults to + ``ssl.CERT_REQUIRED``. + :param options: + Specific OpenSSL options. These default to ``ssl.OP_NO_SSLv2``, + ``ssl.OP_NO_SSLv3``, ``ssl.OP_NO_COMPRESSION``. + :param ciphers: + Which cipher suites to allow the server to select. + :returns: + Constructed SSLContext object with specified options + :rtype: SSLContext + """ + context = SSLContext(ssl_version or ssl.PROTOCOL_SSLv23) + + context.set_ciphers(ciphers or DEFAULT_CIPHERS) + + # Setting the default here, as we may have no ssl module on import + cert_reqs = ssl.CERT_REQUIRED if cert_reqs is None else cert_reqs + + if options is None: + options = 0 + # SSLv2 is easily broken and is considered harmful and dangerous + options |= OP_NO_SSLv2 + # SSLv3 has several problems and is now dangerous + options |= OP_NO_SSLv3 + # Disable compression to prevent CRIME attacks for OpenSSL 1.0+ + # (issue #309) + options |= OP_NO_COMPRESSION + + context.options |= options + + context.verify_mode = cert_reqs + if getattr(context, 'check_hostname', None) is not None: # Platform-specific: Python 3.2 + # We do our own verification, including fingerprints and alternative + # hostnames. So disable it here + context.check_hostname = False + return context + + +def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, + ca_certs=None, server_hostname=None, + ssl_version=None, ciphers=None, ssl_context=None, + ca_cert_dir=None): + """ + All arguments except for server_hostname, ssl_context, and ca_cert_dir have + the same meaning as they do when using :func:`ssl.wrap_socket`. + + :param server_hostname: + When SNI is supported, the expected hostname of the certificate + :param ssl_context: + A pre-made :class:`SSLContext` object. If none is provided, one will + be created using :func:`create_urllib3_context`. + :param ciphers: + A string of ciphers we wish the client to support. + :param ca_cert_dir: + A directory containing CA certificates in multiple separate files, as + supported by OpenSSL's -CApath flag or the capath argument to + SSLContext.load_verify_locations(). + """ + context = ssl_context + if context is None: + # Note: This branch of code and all the variables in it are no longer + # used by urllib3 itself. We should consider deprecating and removing + # this code. + context = create_urllib3_context(ssl_version, cert_reqs, + ciphers=ciphers) + + if ca_certs or ca_cert_dir: + try: + context.load_verify_locations(ca_certs, ca_cert_dir) + except IOError as e: # Platform-specific: Python 2.7 + raise SSLError(e) + # Py33 raises FileNotFoundError which subclasses OSError + # These are not equivalent unless we check the errno attribute + except OSError as e: # Platform-specific: Python 3.3 and beyond + if e.errno == errno.ENOENT: + raise SSLError(e) + raise + elif getattr(context, 'load_default_certs', None) is not None: + # try to load OS default certs; works well on Windows (require Python3.4+) + context.load_default_certs() + + if certfile: + context.load_cert_chain(certfile, keyfile) + + # If we detect server_hostname is an IP address then the SNI + # extension should not be used according to RFC3546 Section 3.1 + # We shouldn't warn the user if SNI isn't available but we would + # not be using SNI anyways due to IP address for server_hostname. + if ((server_hostname is not None and not is_ipaddress(server_hostname)) + or IS_SECURETRANSPORT): + if HAS_SNI and server_hostname is not None: + return context.wrap_socket(sock, server_hostname=server_hostname) + + warnings.warn( + 'An HTTPS request has been made, but the SNI (Server Name ' + 'Indication) extension to TLS is not available on this platform. ' + 'This may cause the server to present an incorrect TLS ' + 'certificate, which can cause validation failures. You can upgrade to ' + 'a newer version of Python to solve this. For more information, see ' + 'https://urllib3.readthedocs.io/en/latest/advanced-usage.html' + '#ssl-warnings', + SNIMissingWarning + ) + + return context.wrap_socket(sock) + + +def is_ipaddress(hostname): + """Detects whether the hostname given is an IP address. + + :param str hostname: Hostname to examine. + :return: True if the hostname is an IP address, False otherwise. + """ + if six.PY3 and isinstance(hostname, bytes): + # IDN A-label bytes are ASCII compatible. + hostname = hostname.decode('ascii') + + families = [socket.AF_INET] + if hasattr(socket, 'AF_INET6'): + families.append(socket.AF_INET6) + + for af in families: + try: + inet_pton(af, hostname) + except (socket.error, ValueError, OSError): + pass + else: + return True + return False diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/timeout.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/timeout.py new file mode 100644 index 0000000000..cec817e6ef --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/timeout.py @@ -0,0 +1,242 @@ +from __future__ import absolute_import +# The default socket timeout, used by httplib to indicate that no timeout was +# specified by the user +from socket import _GLOBAL_DEFAULT_TIMEOUT +import time + +from ..exceptions import TimeoutStateError + +# A sentinel value to indicate that no timeout was specified by the user in +# urllib3 +_Default = object() + + +# Use time.monotonic if available. +current_time = getattr(time, "monotonic", time.time) + + +class Timeout(object): + """ Timeout configuration. + + Timeouts can be defined as a default for a pool:: + + timeout = Timeout(connect=2.0, read=7.0) + http = PoolManager(timeout=timeout) + response = http.request('GET', 'http://example.com/') + + Or per-request (which overrides the default for the pool):: + + response = http.request('GET', 'http://example.com/', timeout=Timeout(10)) + + Timeouts can be disabled by setting all the parameters to ``None``:: + + no_timeout = Timeout(connect=None, read=None) + response = http.request('GET', 'http://example.com/, timeout=no_timeout) + + + :param total: + This combines the connect and read timeouts into one; the read timeout + will be set to the time leftover from the connect attempt. In the + event that both a connect timeout and a total are specified, or a read + timeout and a total are specified, the shorter timeout will be applied. + + Defaults to None. + + :type total: integer, float, or None + + :param connect: + The maximum amount of time to wait for a connection attempt to a server + to succeed. Omitting the parameter will default the connect timeout to + the system default, probably `the global default timeout in socket.py + <http://hg.python.org/cpython/file/603b4d593758/Lib/socket.py#l535>`_. + None will set an infinite timeout for connection attempts. + + :type connect: integer, float, or None + + :param read: + The maximum amount of time to wait between consecutive + read operations for a response from the server. Omitting + the parameter will default the read timeout to the system + default, probably `the global default timeout in socket.py + <http://hg.python.org/cpython/file/603b4d593758/Lib/socket.py#l535>`_. + None will set an infinite timeout. + + :type read: integer, float, or None + + .. note:: + + Many factors can affect the total amount of time for urllib3 to return + an HTTP response. + + For example, Python's DNS resolver does not obey the timeout specified + on the socket. Other factors that can affect total request time include + high CPU load, high swap, the program running at a low priority level, + or other behaviors. + + In addition, the read and total timeouts only measure the time between + read operations on the socket connecting the client and the server, + not the total amount of time for the request to return a complete + response. For most requests, the timeout is raised because the server + has not sent the first byte in the specified time. This is not always + the case; if a server streams one byte every fifteen seconds, a timeout + of 20 seconds will not trigger, even though the request will take + several minutes to complete. + + If your goal is to cut off any request after a set amount of wall clock + time, consider having a second "watcher" thread to cut off a slow + request. + """ + + #: A sentinel object representing the default timeout value + DEFAULT_TIMEOUT = _GLOBAL_DEFAULT_TIMEOUT + + def __init__(self, total=None, connect=_Default, read=_Default): + self._connect = self._validate_timeout(connect, 'connect') + self._read = self._validate_timeout(read, 'read') + self.total = self._validate_timeout(total, 'total') + self._start_connect = None + + def __str__(self): + return '%s(connect=%r, read=%r, total=%r)' % ( + type(self).__name__, self._connect, self._read, self.total) + + @classmethod + def _validate_timeout(cls, value, name): + """ Check that a timeout attribute is valid. + + :param value: The timeout value to validate + :param name: The name of the timeout attribute to validate. This is + used to specify in error messages. + :return: The validated and casted version of the given value. + :raises ValueError: If it is a numeric value less than or equal to + zero, or the type is not an integer, float, or None. + """ + if value is _Default: + return cls.DEFAULT_TIMEOUT + + if value is None or value is cls.DEFAULT_TIMEOUT: + return value + + if isinstance(value, bool): + raise ValueError("Timeout cannot be a boolean value. It must " + "be an int, float or None.") + try: + float(value) + except (TypeError, ValueError): + raise ValueError("Timeout value %s was %s, but it must be an " + "int, float or None." % (name, value)) + + try: + if value <= 0: + raise ValueError("Attempted to set %s timeout to %s, but the " + "timeout cannot be set to a value less " + "than or equal to 0." % (name, value)) + except TypeError: # Python 3 + raise ValueError("Timeout value %s was %s, but it must be an " + "int, float or None." % (name, value)) + + return value + + @classmethod + def from_float(cls, timeout): + """ Create a new Timeout from a legacy timeout value. + + The timeout value used by httplib.py sets the same timeout on the + connect(), and recv() socket requests. This creates a :class:`Timeout` + object that sets the individual timeouts to the ``timeout`` value + passed to this function. + + :param timeout: The legacy timeout value. + :type timeout: integer, float, sentinel default object, or None + :return: Timeout object + :rtype: :class:`Timeout` + """ + return Timeout(read=timeout, connect=timeout) + + def clone(self): + """ Create a copy of the timeout object + + Timeout properties are stored per-pool but each request needs a fresh + Timeout object to ensure each one has its own start/stop configured. + + :return: a copy of the timeout object + :rtype: :class:`Timeout` + """ + # We can't use copy.deepcopy because that will also create a new object + # for _GLOBAL_DEFAULT_TIMEOUT, which socket.py uses as a sentinel to + # detect the user default. + return Timeout(connect=self._connect, read=self._read, + total=self.total) + + def start_connect(self): + """ Start the timeout clock, used during a connect() attempt + + :raises urllib3.exceptions.TimeoutStateError: if you attempt + to start a timer that has been started already. + """ + if self._start_connect is not None: + raise TimeoutStateError("Timeout timer has already been started.") + self._start_connect = current_time() + return self._start_connect + + def get_connect_duration(self): + """ Gets the time elapsed since the call to :meth:`start_connect`. + + :return: Elapsed time. + :rtype: float + :raises urllib3.exceptions.TimeoutStateError: if you attempt + to get duration for a timer that hasn't been started. + """ + if self._start_connect is None: + raise TimeoutStateError("Can't get connect duration for timer " + "that has not started.") + return current_time() - self._start_connect + + @property + def connect_timeout(self): + """ Get the value to use when setting a connection timeout. + + This will be a positive float or integer, the value None + (never timeout), or the default system timeout. + + :return: Connect timeout. + :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None + """ + if self.total is None: + return self._connect + + if self._connect is None or self._connect is self.DEFAULT_TIMEOUT: + return self.total + + return min(self._connect, self.total) + + @property + def read_timeout(self): + """ Get the value for the read timeout. + + This assumes some time has elapsed in the connection timeout and + computes the read timeout appropriately. + + If self.total is set, the read timeout is dependent on the amount of + time taken by the connect timeout. If the connection time has not been + established, a :exc:`~urllib3.exceptions.TimeoutStateError` will be + raised. + + :return: Value to use for the read timeout. + :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None + :raises urllib3.exceptions.TimeoutStateError: If :meth:`start_connect` + has not yet been called on this object. + """ + if (self.total is not None and + self.total is not self.DEFAULT_TIMEOUT and + self._read is not None and + self._read is not self.DEFAULT_TIMEOUT): + # In case the connect timeout has not yet been established. + if self._start_connect is None: + return self._read + return max(0, min(self.total - self.get_connect_duration(), + self._read)) + elif self.total is not None and self.total is not self.DEFAULT_TIMEOUT: + return max(0, self.total - self.get_connect_duration()) + else: + return self._read diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/url.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/url.py new file mode 100644 index 0000000000..6b6f9968d7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/url.py @@ -0,0 +1,230 @@ +from __future__ import absolute_import +from collections import namedtuple + +from ..exceptions import LocationParseError + + +url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] + +# We only want to normalize urls with an HTTP(S) scheme. +# urllib3 infers URLs without a scheme (None) to be http. +NORMALIZABLE_SCHEMES = ('http', 'https', None) + + +class Url(namedtuple('Url', url_attrs)): + """ + Datastructure for representing an HTTP URL. Used as a return value for + :func:`parse_url`. Both the scheme and host are normalized as they are + both case-insensitive according to RFC 3986. + """ + __slots__ = () + + def __new__(cls, scheme=None, auth=None, host=None, port=None, path=None, + query=None, fragment=None): + if path and not path.startswith('/'): + path = '/' + path + if scheme: + scheme = scheme.lower() + if host and scheme in NORMALIZABLE_SCHEMES: + host = host.lower() + return super(Url, cls).__new__(cls, scheme, auth, host, port, path, + query, fragment) + + @property + def hostname(self): + """For backwards-compatibility with urlparse. We're nice like that.""" + return self.host + + @property + def request_uri(self): + """Absolute path including the query string.""" + uri = self.path or '/' + + if self.query is not None: + uri += '?' + self.query + + return uri + + @property + def netloc(self): + """Network location including host and port""" + if self.port: + return '%s:%d' % (self.host, self.port) + return self.host + + @property + def url(self): + """ + Convert self into a url + + This function should more or less round-trip with :func:`.parse_url`. The + returned url may not be exactly the same as the url inputted to + :func:`.parse_url`, but it should be equivalent by the RFC (e.g., urls + with a blank port will have : removed). + + Example: :: + + >>> U = parse_url('http://google.com/mail/') + >>> U.url + 'http://google.com/mail/' + >>> Url('http', 'username:password', 'host.com', 80, + ... '/path', 'query', 'fragment').url + 'http://username:password@host.com:80/path?query#fragment' + """ + scheme, auth, host, port, path, query, fragment = self + url = '' + + # We use "is not None" we want things to happen with empty strings (or 0 port) + if scheme is not None: + url += scheme + '://' + if auth is not None: + url += auth + '@' + if host is not None: + url += host + if port is not None: + url += ':' + str(port) + if path is not None: + url += path + if query is not None: + url += '?' + query + if fragment is not None: + url += '#' + fragment + + return url + + def __str__(self): + return self.url + + +def split_first(s, delims): + """ + Given a string and an iterable of delimiters, split on the first found + delimiter. Return two split parts and the matched delimiter. + + If not found, then the first part is the full input string. + + Example:: + + >>> split_first('foo/bar?baz', '?/=') + ('foo', 'bar?baz', '/') + >>> split_first('foo/bar?baz', '123') + ('foo/bar?baz', '', None) + + Scales linearly with number of delims. Not ideal for large number of delims. + """ + min_idx = None + min_delim = None + for d in delims: + idx = s.find(d) + if idx < 0: + continue + + if min_idx is None or idx < min_idx: + min_idx = idx + min_delim = d + + if min_idx is None or min_idx < 0: + return s, '', None + + return s[:min_idx], s[min_idx + 1:], min_delim + + +def parse_url(url): + """ + Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is + performed to parse incomplete urls. Fields not provided will be None. + + Partly backwards-compatible with :mod:`urlparse`. + + Example:: + + >>> parse_url('http://google.com/mail/') + Url(scheme='http', host='google.com', port=None, path='/mail/', ...) + >>> parse_url('google.com:80') + Url(scheme=None, host='google.com', port=80, path=None, ...) + >>> parse_url('/foo?bar') + Url(scheme=None, host=None, port=None, path='/foo', query='bar', ...) + """ + + # While this code has overlap with stdlib's urlparse, it is much + # simplified for our needs and less annoying. + # Additionally, this implementations does silly things to be optimal + # on CPython. + + if not url: + # Empty + return Url() + + scheme = None + auth = None + host = None + port = None + path = None + fragment = None + query = None + + # Scheme + if '://' in url: + scheme, url = url.split('://', 1) + + # Find the earliest Authority Terminator + # (http://tools.ietf.org/html/rfc3986#section-3.2) + url, path_, delim = split_first(url, ['/', '?', '#']) + + if delim: + # Reassemble the path + path = delim + path_ + + # Auth + if '@' in url: + # Last '@' denotes end of auth part + auth, url = url.rsplit('@', 1) + + # IPv6 + if url and url[0] == '[': + host, url = url.split(']', 1) + host += ']' + + # Port + if ':' in url: + _host, port = url.split(':', 1) + + if not host: + host = _host + + if port: + # If given, ports must be integers. No whitespace, no plus or + # minus prefixes, no non-integer digits such as ^2 (superscript). + if not port.isdigit(): + raise LocationParseError(url) + try: + port = int(port) + except ValueError: + raise LocationParseError(url) + else: + # Blank ports are cool, too. (rfc3986#section-3.2.3) + port = None + + elif not host and url: + host = url + + if not path: + return Url(scheme, auth, host, port, path, query, fragment) + + # Fragment + if '#' in path: + path, fragment = path.split('#', 1) + + # Query + if '?' in path: + path, query = path.split('?', 1) + + return Url(scheme, auth, host, port, path, query, fragment) + + +def get_host(url): + """ + Deprecated. Use :func:`parse_url` instead. + """ + p = parse_url(url) + return p.scheme or 'http', p.hostname, p.port diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/wait.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/wait.py new file mode 100644 index 0000000000..4db71bafd8 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/urllib3/util/wait.py @@ -0,0 +1,150 @@ +import errno +from functools import partial +import select +import sys +try: + from time import monotonic +except ImportError: + from time import time as monotonic + +__all__ = ["NoWayToWaitForSocketError", "wait_for_read", "wait_for_write"] + + +class NoWayToWaitForSocketError(Exception): + pass + + +# How should we wait on sockets? +# +# There are two types of APIs you can use for waiting on sockets: the fancy +# modern stateful APIs like epoll/kqueue, and the older stateless APIs like +# select/poll. The stateful APIs are more efficient when you have a lots of +# sockets to keep track of, because you can set them up once and then use them +# lots of times. But we only ever want to wait on a single socket at a time +# and don't want to keep track of state, so the stateless APIs are actually +# more efficient. So we want to use select() or poll(). +# +# Now, how do we choose between select() and poll()? On traditional Unixes, +# select() has a strange calling convention that makes it slow, or fail +# altogether, for high-numbered file descriptors. The point of poll() is to fix +# that, so on Unixes, we prefer poll(). +# +# On Windows, there is no poll() (or at least Python doesn't provide a wrapper +# for it), but that's OK, because on Windows, select() doesn't have this +# strange calling convention; plain select() works fine. +# +# So: on Windows we use select(), and everywhere else we use poll(). We also +# fall back to select() in case poll() is somehow broken or missing. + +if sys.version_info >= (3, 5): + # Modern Python, that retries syscalls by default + def _retry_on_intr(fn, timeout): + return fn(timeout) +else: + # Old and broken Pythons. + def _retry_on_intr(fn, timeout): + if timeout is None: + deadline = float("inf") + else: + deadline = monotonic() + timeout + + while True: + try: + return fn(timeout) + # OSError for 3 <= pyver < 3.5, select.error for pyver <= 2.7 + except (OSError, select.error) as e: + # 'e.args[0]' incantation works for both OSError and select.error + if e.args[0] != errno.EINTR: + raise + else: + timeout = deadline - monotonic() + if timeout < 0: + timeout = 0 + if timeout == float("inf"): + timeout = None + continue + + +def select_wait_for_socket(sock, read=False, write=False, timeout=None): + if not read and not write: + raise RuntimeError("must specify at least one of read=True, write=True") + rcheck = [] + wcheck = [] + if read: + rcheck.append(sock) + if write: + wcheck.append(sock) + # When doing a non-blocking connect, most systems signal success by + # marking the socket writable. Windows, though, signals success by marked + # it as "exceptional". We paper over the difference by checking the write + # sockets for both conditions. (The stdlib selectors module does the same + # thing.) + fn = partial(select.select, rcheck, wcheck, wcheck) + rready, wready, xready = _retry_on_intr(fn, timeout) + return bool(rready or wready or xready) + + +def poll_wait_for_socket(sock, read=False, write=False, timeout=None): + if not read and not write: + raise RuntimeError("must specify at least one of read=True, write=True") + mask = 0 + if read: + mask |= select.POLLIN + if write: + mask |= select.POLLOUT + poll_obj = select.poll() + poll_obj.register(sock, mask) + + # For some reason, poll() takes timeout in milliseconds + def do_poll(t): + if t is not None: + t *= 1000 + return poll_obj.poll(t) + + return bool(_retry_on_intr(do_poll, timeout)) + + +def null_wait_for_socket(*args, **kwargs): + raise NoWayToWaitForSocketError("no select-equivalent available") + + +def _have_working_poll(): + # Apparently some systems have a select.poll that fails as soon as you try + # to use it, either due to strange configuration or broken monkeypatching + # from libraries like eventlet/greenlet. + try: + poll_obj = select.poll() + _retry_on_intr(poll_obj.poll, 0) + except (AttributeError, OSError): + return False + else: + return True + + +def wait_for_socket(*args, **kwargs): + # We delay choosing which implementation to use until the first time we're + # called. We could do it at import time, but then we might make the wrong + # decision if someone goes wild with monkeypatching select.poll after + # we're imported. + global wait_for_socket + if _have_working_poll(): + wait_for_socket = poll_wait_for_socket + elif hasattr(select, "select"): + wait_for_socket = select_wait_for_socket + else: # Platform-specific: Appengine. + wait_for_socket = null_wait_for_socket + return wait_for_socket(*args, **kwargs) + + +def wait_for_read(sock, timeout=None): + """ Waits for reading to be available on a given socket. + Returns True if the socket is readable, or False if the timeout expired. + """ + return wait_for_socket(sock, read=True, timeout=timeout) + + +def wait_for_write(sock, timeout=None): + """ Waits for writing to be available on a given socket. + Returns True if the socket is readable, or False if the timeout expired. + """ + return wait_for_socket(sock, write=True, timeout=timeout) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/__init__.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/__init__.py new file mode 100644 index 0000000000..d21d697c88 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/__init__.py @@ -0,0 +1,342 @@ +# coding: utf-8 +""" + + webencodings + ~~~~~~~~~~~~ + + This is a Python implementation of the `WHATWG Encoding standard + <http://encoding.spec.whatwg.org/>`. See README for details. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +from __future__ import unicode_literals + +import codecs + +from .labels import LABELS + + +VERSION = '0.5.1' + + +# Some names in Encoding are not valid Python aliases. Remap these. +PYTHON_NAMES = { + 'iso-8859-8-i': 'iso-8859-8', + 'x-mac-cyrillic': 'mac-cyrillic', + 'macintosh': 'mac-roman', + 'windows-874': 'cp874'} + +CACHE = {} + + +def ascii_lower(string): + r"""Transform (only) ASCII letters to lower case: A-Z is mapped to a-z. + + :param string: An Unicode string. + :returns: A new Unicode string. + + This is used for `ASCII case-insensitive + <http://encoding.spec.whatwg.org/#ascii-case-insensitive>`_ + matching of encoding labels. + The same matching is also used, among other things, + for `CSS keywords <http://dev.w3.org/csswg/css-values/#keywords>`_. + + This is different from the :meth:`~py:str.lower` method of Unicode strings + which also affect non-ASCII characters, + sometimes mapping them into the ASCII range: + + >>> keyword = u'Bac\N{KELVIN SIGN}ground' + >>> assert keyword.lower() == u'background' + >>> assert ascii_lower(keyword) != keyword.lower() + >>> assert ascii_lower(keyword) == u'bac\N{KELVIN SIGN}ground' + + """ + # This turns out to be faster than unicode.translate() + return string.encode('utf8').lower().decode('utf8') + + +def lookup(label): + """ + Look for an encoding by its label. + This is the spec’s `get an encoding + <http://encoding.spec.whatwg.org/#concept-encoding-get>`_ algorithm. + Supported labels are listed there. + + :param label: A string. + :returns: + An :class:`Encoding` object, or :obj:`None` for an unknown label. + + """ + # Only strip ASCII whitespace: U+0009, U+000A, U+000C, U+000D, and U+0020. + label = ascii_lower(label.strip('\t\n\f\r ')) + name = LABELS.get(label) + if name is None: + return None + encoding = CACHE.get(name) + if encoding is None: + if name == 'x-user-defined': + from .x_user_defined import codec_info + else: + python_name = PYTHON_NAMES.get(name, name) + # Any python_name value that gets to here should be valid. + codec_info = codecs.lookup(python_name) + encoding = Encoding(name, codec_info) + CACHE[name] = encoding + return encoding + + +def _get_encoding(encoding_or_label): + """ + Accept either an encoding object or label. + + :param encoding: An :class:`Encoding` object or a label string. + :returns: An :class:`Encoding` object. + :raises: :exc:`~exceptions.LookupError` for an unknown label. + + """ + if hasattr(encoding_or_label, 'codec_info'): + return encoding_or_label + + encoding = lookup(encoding_or_label) + if encoding is None: + raise LookupError('Unknown encoding label: %r' % encoding_or_label) + return encoding + + +class Encoding(object): + """Reresents a character encoding such as UTF-8, + that can be used for decoding or encoding. + + .. attribute:: name + + Canonical name of the encoding + + .. attribute:: codec_info + + The actual implementation of the encoding, + a stdlib :class:`~codecs.CodecInfo` object. + See :func:`codecs.register`. + + """ + def __init__(self, name, codec_info): + self.name = name + self.codec_info = codec_info + + def __repr__(self): + return '<Encoding %s>' % self.name + + +#: The UTF-8 encoding. Should be used for new content and formats. +UTF8 = lookup('utf-8') + +_UTF16LE = lookup('utf-16le') +_UTF16BE = lookup('utf-16be') + + +def decode(input, fallback_encoding, errors='replace'): + """ + Decode a single string. + + :param input: A byte string + :param fallback_encoding: + An :class:`Encoding` object or a label string. + The encoding to use if :obj:`input` does note have a BOM. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + :return: + A ``(output, encoding)`` tuple of an Unicode string + and an :obj:`Encoding`. + + """ + # Fail early if `encoding` is an invalid label. + fallback_encoding = _get_encoding(fallback_encoding) + bom_encoding, input = _detect_bom(input) + encoding = bom_encoding or fallback_encoding + return encoding.codec_info.decode(input, errors)[0], encoding + + +def _detect_bom(input): + """Return (bom_encoding, input), with any BOM removed from the input.""" + if input.startswith(b'\xFF\xFE'): + return _UTF16LE, input[2:] + if input.startswith(b'\xFE\xFF'): + return _UTF16BE, input[2:] + if input.startswith(b'\xEF\xBB\xBF'): + return UTF8, input[3:] + return None, input + + +def encode(input, encoding=UTF8, errors='strict'): + """ + Encode a single string. + + :param input: An Unicode string. + :param encoding: An :class:`Encoding` object or a label string. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + :return: A byte string. + + """ + return _get_encoding(encoding).codec_info.encode(input, errors)[0] + + +def iter_decode(input, fallback_encoding, errors='replace'): + """ + "Pull"-based decoder. + + :param input: + An iterable of byte strings. + + The input is first consumed just enough to determine the encoding + based on the precense of a BOM, + then consumed on demand when the return value is. + :param fallback_encoding: + An :class:`Encoding` object or a label string. + The encoding to use if :obj:`input` does note have a BOM. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + :returns: + An ``(output, encoding)`` tuple. + :obj:`output` is an iterable of Unicode strings, + :obj:`encoding` is the :obj:`Encoding` that is being used. + + """ + + decoder = IncrementalDecoder(fallback_encoding, errors) + generator = _iter_decode_generator(input, decoder) + encoding = next(generator) + return generator, encoding + + +def _iter_decode_generator(input, decoder): + """Return a generator that first yields the :obj:`Encoding`, + then yields output chukns as Unicode strings. + + """ + decode = decoder.decode + input = iter(input) + for chunck in input: + output = decode(chunck) + if output: + assert decoder.encoding is not None + yield decoder.encoding + yield output + break + else: + # Input exhausted without determining the encoding + output = decode(b'', final=True) + assert decoder.encoding is not None + yield decoder.encoding + if output: + yield output + return + + for chunck in input: + output = decode(chunck) + if output: + yield output + output = decode(b'', final=True) + if output: + yield output + + +def iter_encode(input, encoding=UTF8, errors='strict'): + """ + “Pull”-based encoder. + + :param input: An iterable of Unicode strings. + :param encoding: An :class:`Encoding` object or a label string. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + :returns: An iterable of byte strings. + + """ + # Fail early if `encoding` is an invalid label. + encode = IncrementalEncoder(encoding, errors).encode + return _iter_encode_generator(input, encode) + + +def _iter_encode_generator(input, encode): + for chunck in input: + output = encode(chunck) + if output: + yield output + output = encode('', final=True) + if output: + yield output + + +class IncrementalDecoder(object): + """ + “Push”-based decoder. + + :param fallback_encoding: + An :class:`Encoding` object or a label string. + The encoding to use if :obj:`input` does note have a BOM. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + + """ + def __init__(self, fallback_encoding, errors='replace'): + # Fail early if `encoding` is an invalid label. + self._fallback_encoding = _get_encoding(fallback_encoding) + self._errors = errors + self._buffer = b'' + self._decoder = None + #: The actual :class:`Encoding` that is being used, + #: or :obj:`None` if that is not determined yet. + #: (Ie. if there is not enough input yet to determine + #: if there is a BOM.) + self.encoding = None # Not known yet. + + def decode(self, input, final=False): + """Decode one chunk of the input. + + :param input: A byte string. + :param final: + Indicate that no more input is available. + Must be :obj:`True` if this is the last call. + :returns: An Unicode string. + + """ + decoder = self._decoder + if decoder is not None: + return decoder(input, final) + + input = self._buffer + input + encoding, input = _detect_bom(input) + if encoding is None: + if len(input) < 3 and not final: # Not enough data yet. + self._buffer = input + return '' + else: # No BOM + encoding = self._fallback_encoding + decoder = encoding.codec_info.incrementaldecoder(self._errors).decode + self._decoder = decoder + self.encoding = encoding + return decoder(input, final) + + +class IncrementalEncoder(object): + """ + “Push”-based encoder. + + :param encoding: An :class:`Encoding` object or a label string. + :param errors: Type of error handling. See :func:`codecs.register`. + :raises: :exc:`~exceptions.LookupError` for an unknown encoding label. + + .. method:: encode(input, final=False) + + :param input: An Unicode string. + :param final: + Indicate that no more input is available. + Must be :obj:`True` if this is the last call. + :returns: A byte string. + + """ + def __init__(self, encoding=UTF8, errors='strict'): + encoding = _get_encoding(encoding) + self.encode = encoding.codec_info.incrementalencoder(errors).encode diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/labels.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/labels.py new file mode 100644 index 0000000000..29cbf91ef7 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/labels.py @@ -0,0 +1,231 @@ +""" + + webencodings.labels + ~~~~~~~~~~~~~~~~~~~ + + Map encoding labels to their name. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +# XXX Do not edit! +# This file is automatically generated by mklabels.py + +LABELS = { + 'unicode-1-1-utf-8': 'utf-8', + 'utf-8': 'utf-8', + 'utf8': 'utf-8', + '866': 'ibm866', + 'cp866': 'ibm866', + 'csibm866': 'ibm866', + 'ibm866': 'ibm866', + 'csisolatin2': 'iso-8859-2', + 'iso-8859-2': 'iso-8859-2', + 'iso-ir-101': 'iso-8859-2', + 'iso8859-2': 'iso-8859-2', + 'iso88592': 'iso-8859-2', + 'iso_8859-2': 'iso-8859-2', + 'iso_8859-2:1987': 'iso-8859-2', + 'l2': 'iso-8859-2', + 'latin2': 'iso-8859-2', + 'csisolatin3': 'iso-8859-3', + 'iso-8859-3': 'iso-8859-3', + 'iso-ir-109': 'iso-8859-3', + 'iso8859-3': 'iso-8859-3', + 'iso88593': 'iso-8859-3', + 'iso_8859-3': 'iso-8859-3', + 'iso_8859-3:1988': 'iso-8859-3', + 'l3': 'iso-8859-3', + 'latin3': 'iso-8859-3', + 'csisolatin4': 'iso-8859-4', + 'iso-8859-4': 'iso-8859-4', + 'iso-ir-110': 'iso-8859-4', + 'iso8859-4': 'iso-8859-4', + 'iso88594': 'iso-8859-4', + 'iso_8859-4': 'iso-8859-4', + 'iso_8859-4:1988': 'iso-8859-4', + 'l4': 'iso-8859-4', + 'latin4': 'iso-8859-4', + 'csisolatincyrillic': 'iso-8859-5', + 'cyrillic': 'iso-8859-5', + 'iso-8859-5': 'iso-8859-5', + 'iso-ir-144': 'iso-8859-5', + 'iso8859-5': 'iso-8859-5', + 'iso88595': 'iso-8859-5', + 'iso_8859-5': 'iso-8859-5', + 'iso_8859-5:1988': 'iso-8859-5', + 'arabic': 'iso-8859-6', + 'asmo-708': 'iso-8859-6', + 'csiso88596e': 'iso-8859-6', + 'csiso88596i': 'iso-8859-6', + 'csisolatinarabic': 'iso-8859-6', + 'ecma-114': 'iso-8859-6', + 'iso-8859-6': 'iso-8859-6', + 'iso-8859-6-e': 'iso-8859-6', + 'iso-8859-6-i': 'iso-8859-6', + 'iso-ir-127': 'iso-8859-6', + 'iso8859-6': 'iso-8859-6', + 'iso88596': 'iso-8859-6', + 'iso_8859-6': 'iso-8859-6', + 'iso_8859-6:1987': 'iso-8859-6', + 'csisolatingreek': 'iso-8859-7', + 'ecma-118': 'iso-8859-7', + 'elot_928': 'iso-8859-7', + 'greek': 'iso-8859-7', + 'greek8': 'iso-8859-7', + 'iso-8859-7': 'iso-8859-7', + 'iso-ir-126': 'iso-8859-7', + 'iso8859-7': 'iso-8859-7', + 'iso88597': 'iso-8859-7', + 'iso_8859-7': 'iso-8859-7', + 'iso_8859-7:1987': 'iso-8859-7', + 'sun_eu_greek': 'iso-8859-7', + 'csiso88598e': 'iso-8859-8', + 'csisolatinhebrew': 'iso-8859-8', + 'hebrew': 'iso-8859-8', + 'iso-8859-8': 'iso-8859-8', + 'iso-8859-8-e': 'iso-8859-8', + 'iso-ir-138': 'iso-8859-8', + 'iso8859-8': 'iso-8859-8', + 'iso88598': 'iso-8859-8', + 'iso_8859-8': 'iso-8859-8', + 'iso_8859-8:1988': 'iso-8859-8', + 'visual': 'iso-8859-8', + 'csiso88598i': 'iso-8859-8-i', + 'iso-8859-8-i': 'iso-8859-8-i', + 'logical': 'iso-8859-8-i', + 'csisolatin6': 'iso-8859-10', + 'iso-8859-10': 'iso-8859-10', + 'iso-ir-157': 'iso-8859-10', + 'iso8859-10': 'iso-8859-10', + 'iso885910': 'iso-8859-10', + 'l6': 'iso-8859-10', + 'latin6': 'iso-8859-10', + 'iso-8859-13': 'iso-8859-13', + 'iso8859-13': 'iso-8859-13', + 'iso885913': 'iso-8859-13', + 'iso-8859-14': 'iso-8859-14', + 'iso8859-14': 'iso-8859-14', + 'iso885914': 'iso-8859-14', + 'csisolatin9': 'iso-8859-15', + 'iso-8859-15': 'iso-8859-15', + 'iso8859-15': 'iso-8859-15', + 'iso885915': 'iso-8859-15', + 'iso_8859-15': 'iso-8859-15', + 'l9': 'iso-8859-15', + 'iso-8859-16': 'iso-8859-16', + 'cskoi8r': 'koi8-r', + 'koi': 'koi8-r', + 'koi8': 'koi8-r', + 'koi8-r': 'koi8-r', + 'koi8_r': 'koi8-r', + 'koi8-u': 'koi8-u', + 'csmacintosh': 'macintosh', + 'mac': 'macintosh', + 'macintosh': 'macintosh', + 'x-mac-roman': 'macintosh', + 'dos-874': 'windows-874', + 'iso-8859-11': 'windows-874', + 'iso8859-11': 'windows-874', + 'iso885911': 'windows-874', + 'tis-620': 'windows-874', + 'windows-874': 'windows-874', + 'cp1250': 'windows-1250', + 'windows-1250': 'windows-1250', + 'x-cp1250': 'windows-1250', + 'cp1251': 'windows-1251', + 'windows-1251': 'windows-1251', + 'x-cp1251': 'windows-1251', + 'ansi_x3.4-1968': 'windows-1252', + 'ascii': 'windows-1252', + 'cp1252': 'windows-1252', + 'cp819': 'windows-1252', + 'csisolatin1': 'windows-1252', + 'ibm819': 'windows-1252', + 'iso-8859-1': 'windows-1252', + 'iso-ir-100': 'windows-1252', + 'iso8859-1': 'windows-1252', + 'iso88591': 'windows-1252', + 'iso_8859-1': 'windows-1252', + 'iso_8859-1:1987': 'windows-1252', + 'l1': 'windows-1252', + 'latin1': 'windows-1252', + 'us-ascii': 'windows-1252', + 'windows-1252': 'windows-1252', + 'x-cp1252': 'windows-1252', + 'cp1253': 'windows-1253', + 'windows-1253': 'windows-1253', + 'x-cp1253': 'windows-1253', + 'cp1254': 'windows-1254', + 'csisolatin5': 'windows-1254', + 'iso-8859-9': 'windows-1254', + 'iso-ir-148': 'windows-1254', + 'iso8859-9': 'windows-1254', + 'iso88599': 'windows-1254', + 'iso_8859-9': 'windows-1254', + 'iso_8859-9:1989': 'windows-1254', + 'l5': 'windows-1254', + 'latin5': 'windows-1254', + 'windows-1254': 'windows-1254', + 'x-cp1254': 'windows-1254', + 'cp1255': 'windows-1255', + 'windows-1255': 'windows-1255', + 'x-cp1255': 'windows-1255', + 'cp1256': 'windows-1256', + 'windows-1256': 'windows-1256', + 'x-cp1256': 'windows-1256', + 'cp1257': 'windows-1257', + 'windows-1257': 'windows-1257', + 'x-cp1257': 'windows-1257', + 'cp1258': 'windows-1258', + 'windows-1258': 'windows-1258', + 'x-cp1258': 'windows-1258', + 'x-mac-cyrillic': 'x-mac-cyrillic', + 'x-mac-ukrainian': 'x-mac-cyrillic', + 'chinese': 'gbk', + 'csgb2312': 'gbk', + 'csiso58gb231280': 'gbk', + 'gb2312': 'gbk', + 'gb_2312': 'gbk', + 'gb_2312-80': 'gbk', + 'gbk': 'gbk', + 'iso-ir-58': 'gbk', + 'x-gbk': 'gbk', + 'gb18030': 'gb18030', + 'hz-gb-2312': 'hz-gb-2312', + 'big5': 'big5', + 'big5-hkscs': 'big5', + 'cn-big5': 'big5', + 'csbig5': 'big5', + 'x-x-big5': 'big5', + 'cseucpkdfmtjapanese': 'euc-jp', + 'euc-jp': 'euc-jp', + 'x-euc-jp': 'euc-jp', + 'csiso2022jp': 'iso-2022-jp', + 'iso-2022-jp': 'iso-2022-jp', + 'csshiftjis': 'shift_jis', + 'ms_kanji': 'shift_jis', + 'shift-jis': 'shift_jis', + 'shift_jis': 'shift_jis', + 'sjis': 'shift_jis', + 'windows-31j': 'shift_jis', + 'x-sjis': 'shift_jis', + 'cseuckr': 'euc-kr', + 'csksc56011987': 'euc-kr', + 'euc-kr': 'euc-kr', + 'iso-ir-149': 'euc-kr', + 'korean': 'euc-kr', + 'ks_c_5601-1987': 'euc-kr', + 'ks_c_5601-1989': 'euc-kr', + 'ksc5601': 'euc-kr', + 'ksc_5601': 'euc-kr', + 'windows-949': 'euc-kr', + 'csiso2022kr': 'iso-2022-kr', + 'iso-2022-kr': 'iso-2022-kr', + 'utf-16be': 'utf-16be', + 'utf-16': 'utf-16le', + 'utf-16le': 'utf-16le', + 'x-user-defined': 'x-user-defined', +} diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/mklabels.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/mklabels.py new file mode 100644 index 0000000000..295dc928ba --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/mklabels.py @@ -0,0 +1,59 @@ +""" + + webencodings.mklabels + ~~~~~~~~~~~~~~~~~~~~~ + + Regenarate the webencodings.labels module. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +import json +try: + from urllib import urlopen +except ImportError: + from urllib.request import urlopen + + +def assert_lower(string): + assert string == string.lower() + return string + + +def generate(url): + parts = ['''\ +""" + + webencodings.labels + ~~~~~~~~~~~~~~~~~~~ + + Map encoding labels to their name. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +# XXX Do not edit! +# This file is automatically generated by mklabels.py + +LABELS = { +'''] + labels = [ + (repr(assert_lower(label)).lstrip('u'), + repr(encoding['name']).lstrip('u')) + for category in json.loads(urlopen(url).read().decode('ascii')) + for encoding in category['encodings'] + for label in encoding['labels']] + max_len = max(len(label) for label, name in labels) + parts.extend( + ' %s:%s %s,\n' % (label, ' ' * (max_len - len(label)), name) + for label, name in labels) + parts.append('}') + return ''.join(parts) + + +if __name__ == '__main__': + print(generate('http://encoding.spec.whatwg.org/encodings.json')) diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/tests.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/tests.py new file mode 100644 index 0000000000..e12c10d033 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/tests.py @@ -0,0 +1,153 @@ +# coding: utf-8 +""" + + webencodings.tests + ~~~~~~~~~~~~~~~~~~ + + A basic test suite for Encoding. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +from __future__ import unicode_literals + +from . import (lookup, LABELS, decode, encode, iter_decode, iter_encode, + IncrementalDecoder, IncrementalEncoder, UTF8) + + +def assert_raises(exception, function, *args, **kwargs): + try: + function(*args, **kwargs) + except exception: + return + else: # pragma: no cover + raise AssertionError('Did not raise %s.' % exception) + + +def test_labels(): + assert lookup('utf-8').name == 'utf-8' + assert lookup('Utf-8').name == 'utf-8' + assert lookup('UTF-8').name == 'utf-8' + assert lookup('utf8').name == 'utf-8' + assert lookup('utf8').name == 'utf-8' + assert lookup('utf8 ').name == 'utf-8' + assert lookup(' \r\nutf8\t').name == 'utf-8' + assert lookup('u8') is None # Python label. + assert lookup('utf-8 ') is None # Non-ASCII white space. + + assert lookup('US-ASCII').name == 'windows-1252' + assert lookup('iso-8859-1').name == 'windows-1252' + assert lookup('latin1').name == 'windows-1252' + assert lookup('LATIN1').name == 'windows-1252' + assert lookup('latin-1') is None + assert lookup('LATİN1') is None # ASCII-only case insensitivity. + + +def test_all_labels(): + for label in LABELS: + assert decode(b'', label) == ('', lookup(label)) + assert encode('', label) == b'' + for repeat in [0, 1, 12]: + output, _ = iter_decode([b''] * repeat, label) + assert list(output) == [] + assert list(iter_encode([''] * repeat, label)) == [] + decoder = IncrementalDecoder(label) + assert decoder.decode(b'') == '' + assert decoder.decode(b'', final=True) == '' + encoder = IncrementalEncoder(label) + assert encoder.encode('') == b'' + assert encoder.encode('', final=True) == b'' + # All encoding names are valid labels too: + for name in set(LABELS.values()): + assert lookup(name).name == name + + +def test_invalid_label(): + assert_raises(LookupError, decode, b'\xEF\xBB\xBF\xc3\xa9', 'invalid') + assert_raises(LookupError, encode, 'é', 'invalid') + assert_raises(LookupError, iter_decode, [], 'invalid') + assert_raises(LookupError, iter_encode, [], 'invalid') + assert_raises(LookupError, IncrementalDecoder, 'invalid') + assert_raises(LookupError, IncrementalEncoder, 'invalid') + + +def test_decode(): + assert decode(b'\x80', 'latin1') == ('€', lookup('latin1')) + assert decode(b'\x80', lookup('latin1')) == ('€', lookup('latin1')) + assert decode(b'\xc3\xa9', 'utf8') == ('é', lookup('utf8')) + assert decode(b'\xc3\xa9', UTF8) == ('é', lookup('utf8')) + assert decode(b'\xc3\xa9', 'ascii') == ('é', lookup('ascii')) + assert decode(b'\xEF\xBB\xBF\xc3\xa9', 'ascii') == ('é', lookup('utf8')) # UTF-8 with BOM + + assert decode(b'\xFE\xFF\x00\xe9', 'ascii') == ('é', lookup('utf-16be')) # UTF-16-BE with BOM + assert decode(b'\xFF\xFE\xe9\x00', 'ascii') == ('é', lookup('utf-16le')) # UTF-16-LE with BOM + assert decode(b'\xFE\xFF\xe9\x00', 'ascii') == ('\ue900', lookup('utf-16be')) + assert decode(b'\xFF\xFE\x00\xe9', 'ascii') == ('\ue900', lookup('utf-16le')) + + assert decode(b'\x00\xe9', 'UTF-16BE') == ('é', lookup('utf-16be')) + assert decode(b'\xe9\x00', 'UTF-16LE') == ('é', lookup('utf-16le')) + assert decode(b'\xe9\x00', 'UTF-16') == ('é', lookup('utf-16le')) + + assert decode(b'\xe9\x00', 'UTF-16BE') == ('\ue900', lookup('utf-16be')) + assert decode(b'\x00\xe9', 'UTF-16LE') == ('\ue900', lookup('utf-16le')) + assert decode(b'\x00\xe9', 'UTF-16') == ('\ue900', lookup('utf-16le')) + + +def test_encode(): + assert encode('é', 'latin1') == b'\xe9' + assert encode('é', 'utf8') == b'\xc3\xa9' + assert encode('é', 'utf8') == b'\xc3\xa9' + assert encode('é', 'utf-16') == b'\xe9\x00' + assert encode('é', 'utf-16le') == b'\xe9\x00' + assert encode('é', 'utf-16be') == b'\x00\xe9' + + +def test_iter_decode(): + def iter_decode_to_string(input, fallback_encoding): + output, _encoding = iter_decode(input, fallback_encoding) + return ''.join(output) + assert iter_decode_to_string([], 'latin1') == '' + assert iter_decode_to_string([b''], 'latin1') == '' + assert iter_decode_to_string([b'\xe9'], 'latin1') == 'é' + assert iter_decode_to_string([b'hello'], 'latin1') == 'hello' + assert iter_decode_to_string([b'he', b'llo'], 'latin1') == 'hello' + assert iter_decode_to_string([b'hell', b'o'], 'latin1') == 'hello' + assert iter_decode_to_string([b'\xc3\xa9'], 'latin1') == 'é' + assert iter_decode_to_string([b'\xEF\xBB\xBF\xc3\xa9'], 'latin1') == 'é' + assert iter_decode_to_string([ + b'\xEF\xBB\xBF', b'\xc3', b'\xa9'], 'latin1') == 'é' + assert iter_decode_to_string([ + b'\xEF\xBB\xBF', b'a', b'\xc3'], 'latin1') == 'a\uFFFD' + assert iter_decode_to_string([ + b'', b'\xEF', b'', b'', b'\xBB\xBF\xc3', b'\xa9'], 'latin1') == 'é' + assert iter_decode_to_string([b'\xEF\xBB\xBF'], 'latin1') == '' + assert iter_decode_to_string([b'\xEF\xBB'], 'latin1') == 'ï»' + assert iter_decode_to_string([b'\xFE\xFF\x00\xe9'], 'latin1') == 'é' + assert iter_decode_to_string([b'\xFF\xFE\xe9\x00'], 'latin1') == 'é' + assert iter_decode_to_string([ + b'', b'\xFF', b'', b'', b'\xFE\xe9', b'\x00'], 'latin1') == 'é' + assert iter_decode_to_string([ + b'', b'h\xe9', b'llo'], 'x-user-defined') == 'h\uF7E9llo' + + +def test_iter_encode(): + assert b''.join(iter_encode([], 'latin1')) == b'' + assert b''.join(iter_encode([''], 'latin1')) == b'' + assert b''.join(iter_encode(['é'], 'latin1')) == b'\xe9' + assert b''.join(iter_encode(['', 'é', '', ''], 'latin1')) == b'\xe9' + assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16')) == b'\xe9\x00' + assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16le')) == b'\xe9\x00' + assert b''.join(iter_encode(['', 'é', '', ''], 'utf-16be')) == b'\x00\xe9' + assert b''.join(iter_encode([ + '', 'h\uF7E9', '', 'llo'], 'x-user-defined')) == b'h\xe9llo' + + +def test_x_user_defined(): + encoded = b'2,\x0c\x0b\x1aO\xd9#\xcb\x0f\xc9\xbbt\xcf\xa8\xca' + decoded = '2,\x0c\x0b\x1aO\uf7d9#\uf7cb\x0f\uf7c9\uf7bbt\uf7cf\uf7a8\uf7ca' + encoded = b'aa' + decoded = 'aa' + assert decode(encoded, 'x-user-defined') == (decoded, lookup('x-user-defined')) + assert encode(decoded, 'x-user-defined') == encoded diff --git a/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/x_user_defined.py b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/x_user_defined.py new file mode 100644 index 0000000000..d16e326024 --- /dev/null +++ b/venv/lib/python3.5/site-packages/pip-19.0.3-py3.5.egg/pip/_vendor/webencodings/x_user_defined.py @@ -0,0 +1,325 @@ +# coding: utf-8 +""" + + webencodings.x_user_defined + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + An implementation of the x-user-defined encoding. + + :copyright: Copyright 2012 by Simon Sapin + :license: BSD, see LICENSE for details. + +""" + +from __future__ import unicode_literals + +import codecs + + +### Codec APIs + +class Codec(codecs.Codec): + + def encode(self, input, errors='strict'): + return codecs.charmap_encode(input, errors, encoding_table) + + def decode(self, input, errors='strict'): + return codecs.charmap_decode(input, errors, decoding_table) + + +class IncrementalEncoder(codecs.IncrementalEncoder): + def encode(self, input, final=False): + return codecs.charmap_encode(input, self.errors, encoding_table)[0] + + +class IncrementalDecoder(codecs.IncrementalDecoder): + def decode(self, input, final=False): + return codecs.charmap_decode(input, self.errors, decoding_table)[0] + + +class StreamWriter(Codec, codecs.StreamWriter): + pass + + +class StreamReader(Codec, codecs.StreamReader): + pass + + +### encodings module API + +codec_info = codecs.CodecInfo( + name='x-user-defined', + encode=Codec().encode, + decode=Codec().decode, + incrementalencoder=IncrementalEncoder, + incrementaldecoder=IncrementalDecoder, + streamreader=StreamReader, + streamwriter=StreamWriter, +) + + +### Decoding Table + +# Python 3: +# for c in range(256): print(' %r' % chr(c if c < 128 else c + 0xF700)) +decoding_table = ( + '\x00' + '\x01' + '\x02' + '\x03' + '\x04' + '\x05' + '\x06' + '\x07' + '\x08' + '\t' + '\n' + '\x0b' + '\x0c' + '\r' + '\x0e' + '\x0f' + '\x10' + '\x11' + '\x12' + '\x13' + '\x14' + '\x15' + '\x16' + '\x17' + '\x18' + '\x19' + '\x1a' + '\x1b' + '\x1c' + '\x1d' + '\x1e' + '\x1f' + ' ' + '!' + '"' + '#' + '$' + '%' + '&' + "'" + '(' + ')' + '*' + '+' + ',' + '-' + '.' + '/' + '0' + '1' + '2' + '3' + '4' + '5' + '6' + '7' + '8' + '9' + ':' + ';' + '<' + '=' + '>' + '?' + '@' + 'A' + 'B' + 'C' + 'D' + 'E' + 'F' + 'G' + 'H' + 'I' + 'J' + 'K' + 'L' + 'M' + 'N' + 'O' + 'P' + 'Q' + 'R' + 'S' + 'T' + 'U' + 'V' + 'W' + 'X' + 'Y' + 'Z' + '[' + '\\' + ']' + '^' + '_' + '`' + 'a' + 'b' + 'c' + 'd' + 'e' + 'f' + 'g' + 'h' + 'i' + 'j' + 'k' + 'l' + 'm' + 'n' + 'o' + 'p' + 'q' + 'r' + 's' + 't' + 'u' + 'v' + 'w' + 'x' + 'y' + 'z' + '{' + '|' + '}' + '~' + '\x7f' + '\uf780' + '\uf781' + '\uf782' + '\uf783' + '\uf784' + '\uf785' + '\uf786' + '\uf787' + '\uf788' + '\uf789' + '\uf78a' + '\uf78b' + '\uf78c' + '\uf78d' + '\uf78e' + '\uf78f' + '\uf790' + '\uf791' + '\uf792' + '\uf793' + '\uf794' + '\uf795' + '\uf796' + '\uf797' + '\uf798' + '\uf799' + '\uf79a' + '\uf79b' + '\uf79c' + '\uf79d' + '\uf79e' + '\uf79f' + '\uf7a0' + '\uf7a1' + '\uf7a2' + '\uf7a3' + '\uf7a4' + '\uf7a5' + '\uf7a6' + '\uf7a7' + '\uf7a8' + '\uf7a9' + '\uf7aa' + '\uf7ab' + '\uf7ac' + '\uf7ad' + '\uf7ae' + '\uf7af' + '\uf7b0' + '\uf7b1' + '\uf7b2' + '\uf7b3' + '\uf7b4' + '\uf7b5' + '\uf7b6' + '\uf7b7' + '\uf7b8' + '\uf7b9' + '\uf7ba' + '\uf7bb' + '\uf7bc' + '\uf7bd' + '\uf7be' + '\uf7bf' + '\uf7c0' + '\uf7c1' + '\uf7c2' + '\uf7c3' + '\uf7c4' + '\uf7c5' + '\uf7c6' + '\uf7c7' + '\uf7c8' + '\uf7c9' + '\uf7ca' + '\uf7cb' + '\uf7cc' + '\uf7cd' + '\uf7ce' + '\uf7cf' + '\uf7d0' + '\uf7d1' + '\uf7d2' + '\uf7d3' + '\uf7d4' + '\uf7d5' + '\uf7d6' + '\uf7d7' + '\uf7d8' + '\uf7d9' + '\uf7da' + '\uf7db' + '\uf7dc' + '\uf7dd' + '\uf7de' + '\uf7df' + '\uf7e0' + '\uf7e1' + '\uf7e2' + '\uf7e3' + '\uf7e4' + '\uf7e5' + '\uf7e6' + '\uf7e7' + '\uf7e8' + '\uf7e9' + '\uf7ea' + '\uf7eb' + '\uf7ec' + '\uf7ed' + '\uf7ee' + '\uf7ef' + '\uf7f0' + '\uf7f1' + '\uf7f2' + '\uf7f3' + '\uf7f4' + '\uf7f5' + '\uf7f6' + '\uf7f7' + '\uf7f8' + '\uf7f9' + '\uf7fa' + '\uf7fb' + '\uf7fc' + '\uf7fd' + '\uf7fe' + '\uf7ff' +) + +### Encoding table +encoding_table = codecs.charmap_build(decoding_table) diff --git a/venv/lib/python3.5/site-packages/setuptools-40.8.0-py3.5.egg b/venv/lib/python3.5/site-packages/setuptools-40.8.0-py3.5.egg new file mode 100644 index 0000000000000000000000000000000000000000..df9a6afeb28e6c62541ea803c6c89e584ff0ad2b GIT binary patch literal 571891 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�|&dmFJ$RQMZMrLJzYg+Q~I4r4=I@PK}Z77^D4 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%0D<6!k%<kj^N+O{zl`8 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 Ls*6z&tVmgrT(+zo?<zR?rf$0u? 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⪚r4#7<B<L=5yk3rELbP5 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 literal 0 HcmV?d00001 diff --git a/venv/lib/python3.5/site-packages/setuptools.pth b/venv/lib/python3.5/site-packages/setuptools.pth new file mode 100644 index 0000000000..f9d4a023b5 --- /dev/null +++ b/venv/lib/python3.5/site-packages/setuptools.pth @@ -0,0 +1 @@ +./setuptools-40.8.0-py3.5.egg diff --git a/venv/lib64 b/venv/lib64 new file mode 120000 index 0000000000..7951405f85 --- /dev/null +++ b/venv/lib64 @@ -0,0 +1 @@ +lib \ No newline at end of file diff --git a/venv/pyvenv.cfg b/venv/pyvenv.cfg new file mode 100644 index 0000000000..20ac621a7a --- /dev/null +++ b/venv/pyvenv.cfg @@ -0,0 +1,3 @@ +home = /usr/bin +include-system-site-packages = false +version = 3.5.2

    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

  • 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