From 48cad4007ac4d448a90b57172dbf9147ed82eff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sa=C5=82aban?= Date: Wed, 26 Jun 2019 20:01:43 +0200 Subject: [PATCH] Add `sweep_all()` method, close #20 --- monero/account.py | 40 +- monero/backends/jsonrpc.py | 35 +- monero/wallet.py | 54 +- .../test_sweep_all-00-get_accounts.json | 122 ++ .../test_sweep_all-10-getbalance.json | 1072 +++++++++++++++++ .../test_sweep_all-20-sweep_all.json | 23 + tests/test_jsonrpcwallet.py | 20 + 7 files changed, 1346 insertions(+), 20 deletions(-) create mode 100644 tests/data/test_jsonrpcwallet/test_sweep_all-00-get_accounts.json create mode 100644 tests/data/test_jsonrpcwallet/test_sweep_all-10-getbalance.json create mode 100644 tests/data/test_jsonrpcwallet/test_sweep_all-20-sweep_all.json diff --git a/monero/account.py b/monero/account.py index 47f3fcd..dd1e2b9 100644 --- a/monero/account.py +++ b/monero/account.py @@ -108,13 +108,14 @@ class Account(object): from 1 to 4 (unimportant, normal, elevated, priority) or a constant from `monero.prio`. :param payment_id: ID for the payment (must be None if - :class:`IntegratedAddress ` - is used as the destination) + :class:`IntegratedAddress ` + is used as the destination) :param unlock_time: the extra unlock delay :param relay: if `True`, the wallet will relay the transaction(s) to the network - immediately; when `False`, it will only return the transaction(s) - so they might be broadcasted later - :rtype: list of :class:`Transaction ` + immediately; when `False`, it will only return the transaction(s) + so they might be broadcast later + :rtype: list of transaction and amount pairs: + [(:class:`Transaction `, `Decimal`), ...] """ return self._backend.transfer( destinations, @@ -123,3 +124,32 @@ class Account(object): unlock_time, account=self.index, relay=relay) + + def sweep_all(self, address, priority=prio.NORMAL, payment_id=None, + subaddr_indices=None, unlock_time=0, relay=True): + """ + Sends all unlocked balance to an address. Returns a list of resulting transactions. + + :param address: destination :class:`Address ` or subtype + :param priority: transaction priority, implies fee. The priority can be a number + from 1 to 4 (unimportant, normal, elevated, priority) or a constant + from `monero.prio`. + :param payment_id: ID for the payment (must be None if + :class:`IntegratedAddress ` + is used as the destination) + :param subaddr_indices: a sequence of subaddress indices to sweep from. Empty sequence + or `None` means sweep all positive balances. + :param unlock_time: the extra unlock delay + :param relay: if `True`, the wallet will relay the transaction(s) to the network + immediately; when `False`, it will only return the transaction(s) + so they might be broadcast later + :rtype: list of :class:`Transaction ` + """ + return self._backend.sweep_all( + address, + priority, + payment_id, + subaddr_indices, + unlock_time, + account=self.index, + relay=relay) diff --git a/monero/backends/jsonrpc.py b/monero/backends/jsonrpc.py index 91519ce..c79f692 100644 --- a/monero/backends/jsonrpc.py +++ b/monero/backends/jsonrpc.py @@ -106,8 +106,6 @@ class JSONRPCDaemon(object): return result['result'] - - class JSONRPCWallet(object): """ JSON RPC backend for Monero wallet (``monero-wallet-rpc``) @@ -121,7 +119,6 @@ class JSONRPCWallet(object): :param timeout: request timeout """ _master_address = None - _addresses = None def __init__(self, protocol='http', host='127.0.0.1', port=18088, path='/json_rpc', user='', password='', timeout=30): @@ -313,6 +310,38 @@ class JSONRPCWallet(object): d['payment_id'] = payment_id return [self._tx(data) for data in _pertx] + def sweep_all(self, destination, priority, payment_id=None, subaddr_indices=None, + unlock_time=0, account=0, relay=True): + if not subaddr_indices: + # retrieve indices of all subaddresses with positive unlocked balance + bals = self.raw_request('get_balance', {'account_index': account}) + subaddr_indices = [] + for subaddr in bals['per_subaddress']: + if subaddr.get('unlocked_balance', 0): + subaddr_indices.append(subaddr['address_index']) + data = { + 'account_index': account, + 'address': str(address(destination)), + 'subaddr_indices': list(subaddr_indices), + 'priority': priority, + 'unlock_time': 0, + 'get_tx_keys': True, + 'get_tx_hex': True, + 'do_not_relay': not relay, + } + if payment_id is not None: + data['payment_id'] = str(PaymentID(payment_id)) + _transfers = self.raw_request('sweep_all', data) + _pertx = [dict(_tx) for _tx in map( + lambda vs: zip(('txid', 'amount', 'fee', 'key', 'blob', 'payment_id'), vs), + zip(*[_transfers[k] for k in ( + 'tx_hash_list', 'amount_list', 'fee_list', 'tx_key_list', 'tx_blob_list')]))] + for d in _pertx: + d['payment_id'] = payment_id + return list(zip( + [self._tx(data) for data in _pertx], + map(from_atomic, _transfers['amount_list']))) + def raw_request(self, method, params=None, squelch_error_logging=False): hdr = {'Content-Type': 'application/json'} data = {'jsonrpc': '2.0', 'id': 0, 'method': method, 'params': params or {}} diff --git a/monero/wallet.py b/monero/wallet.py index f14bbd7..d910769 100644 --- a/monero/wallet.py +++ b/monero/wallet.py @@ -242,12 +242,12 @@ class Wallet(object): from 1 to 4 (unimportant, normal, elevated, priority) or a constant from `monero.prio`. :param payment_id: ID for the payment (must be None if - :class:`IntegratedAddress ` - is used as the destination) + :class:`IntegratedAddress ` + is used as the destination) :param unlock_time: the extra unlock delay :param relay: if `True`, the wallet will relay the transaction(s) to the network - immediately; when `False`, it will only return the transaction(s) - so they might be broadcasted later + immediately; when `False`, it will only return the transaction(s) + so they might be broadcast later :rtype: list of :class:`Transaction ` """ return self.accounts[0].transfer( @@ -263,20 +263,21 @@ class Wallet(object): relay=True): """ Sends a batch of transfers from the default account. Returns a list of resulting - transactions. + transactions and amounts. :param destinations: a list of destination and amount pairs: [(address, amount), ...] :param priority: transaction priority, implies fee. The priority can be a number - from 1 to 4 (unimportant, normal, elevated, priority) or a constant - from `monero.prio`. + from 1 to 4 (unimportant, normal, elevated, priority) or a constant + from `monero.prio`. :param payment_id: ID for the payment (must be None if - :class:`IntegratedAddress ` - is used as a destination) + :class:`IntegratedAddress ` + is used as a destination) :param unlock_time: the extra unlock delay :param relay: if `True`, the wallet will relay the transaction(s) to the network - immediately; when `False`, it will only return the transaction(s) - so they might be broadcasted later - :rtype: list of :class:`Transaction ` + immediately; when `False`, it will only return the transaction(s) + so they might be broadcast later + :rtype: list of transaction and amount pairs: + [(:class:`Transaction `, `Decimal`), ...] """ return self.accounts[0].transfer_multiple( destinations, @@ -284,3 +285,32 @@ class Wallet(object): payment_id=payment_id, unlock_time=unlock_time, relay=relay) + + def sweep_all(self, address, priority=prio.NORMAL, payment_id=None, + subaddr_indices=None, unlock_time=0, relay=True): + """ + Sends all unlocked balance from the default account to an address. + Returns a list of resulting transactions. + + :param address: destination :class:`Address ` or subtype + :param priority: transaction priority, implies fee. The priority can be a number + from 1 to 4 (unimportant, normal, elevated, priority) or a constant + from `monero.prio`. + :param payment_id: ID for the payment (must be None if + :class:`IntegratedAddress ` + is used as the destination) + :param subaddr_indices: a sequence of subaddress indices to sweep from. Empty sequence + or `None` means sweep all positive balances. + :param unlock_time: the extra unlock delay + :param relay: if `True`, the wallet will relay the transaction(s) to the network + immediately; when `False`, it will only return the transaction(s) + so they might be broadcast later + :rtype: list of :class:`Transaction ` + """ + return self.accounts[0].sweep_all( + address, + priority=priority, + payment_id=payment_id, + subaddr_indices=subaddr_indices, + unlock_time=unlock_time, + relay=relay) diff --git a/tests/data/test_jsonrpcwallet/test_sweep_all-00-get_accounts.json b/tests/data/test_jsonrpcwallet/test_sweep_all-00-get_accounts.json new file mode 100644 index 0000000..3024c77 --- /dev/null +++ b/tests/data/test_jsonrpcwallet/test_sweep_all-00-get_accounts.json @@ -0,0 +1,122 @@ +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "subaddress_accounts": [ + { + "account_index": 0, + "balance": 111141601989972, + "base_address": "56cXYWG13YKaT9z1aEy2hb9TZNnxrW3zE9S4nTQVDux5Qq7UYsmjuux3Zstxkorj9HAufyWLU3FwHW4uERQF6tkeUVogGN3", + "label": "Primary account", + "tag": "", + "unlocked_balance": 111141601989972 + }, + { + "account_index": 1, + "balance": 1000000000000, + "base_address": "79kTZg96pMf2Dt9rLEWnLzTUB8XC1wMhxaJyxa79hJu6bK9CfFnfbSL1GJNZbqhv9xPqJhRj2Yfb7QUWa2zeEw56H4KiUfN", + "label": "Untitled account", + "tag": "", + "unlocked_balance": 1000000000000 + }, + { + "account_index": 2, + "balance": 0, + "base_address": "73WHDaR3q9D6x8mpUrP8Ux5t2LhF5Mcq9URJ3nRjhkUfAwkLxLFVvkebG8baqxbsrMjHv549rPYsKc6nZGZo5wad1pGRr2J", + "label": "", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 3, + "balance": 0, + "base_address": "73BEwtAeC3pCJwK5cmJLAy4vwCkLLKmfgXW2XsCC7dsZPFwMtA7Sr7ZQWFTAYDFzQFXzcVNTm5jXGb4GqTzJGB7AE7DfwJn", + "label": "test", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 4, + "balance": 0, + "base_address": "75WFcdiyf3z9hvMDu1RDmMFVgRaes41p7GftarFtPet5A9srdWuJpoJCiJyNMAq2oMfyUHLhCDmw4g6Typks3rVw4ipBiK1", + "label": "", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 5, + "balance": 0, + "base_address": "79YfcwoWUBebbnR31sD4Q1FryHUrxExNqjAKukfAnvisLKtyZTVFqwtNcb33hsfrUF58esU7isA831SvWfx6PpDX2mpMPmR", + "label": "test", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 6, + "balance": 0, + "base_address": "79khAXM9X3g6wWv7PBJVsUWqA8kmgGwXiicTsN1856uo17V4ijXTGVfGA3stnB5ur6a3M5rm1Nvdjacj5wM4NzHA6WGyLCT", + "label": "", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 7, + "balance": 0, + "base_address": "78ZoiX5PoxHNLosKUbu8tv3nWSEhT6g1iam5weemsWvPCRPKGSpFJYRirbBz3hJs49R5QM7CpHSnwCwCPX9Qf4PGSachsDh", + "label": "test", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 8, + "balance": 0, + "base_address": "72RBtJcgdtcXWHoWUijK6qfBCRRw2LSJGAeCgfe1eAFZ1Bjtrwwu1GZTQSV3muhhtMjXsAnSYT8mg8CGSCM9B5cT9CeCP2t", + "label": "index 8", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 9, + "balance": 0, + "base_address": "77zDStiZ6XRGGMQ2nKhZi6ewQpaaJhWviQoz9pMrmRvd4yPRJhDurmB74B74pj2oLjcmpta56JFRaAYYBC2hzF8yCpQ7tXA", + "label": "index 9", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 10, + "balance": 0, + "base_address": "7B35hT7MnqUP1uQJaUEZSVWmkcZAUVxXzX3JqKDhhjGv4AVSVWw6AiTJ39a1AjtdWPgGCp1JkgPiDMKM9ktgU7Dx5pGfbdY", + "label": "index 10", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 11, + "balance": 0, + "base_address": "7BraWKhjmaW8ckBYVVmiVbQ3J3cFeKs5JBPTkGcECrHnAq8TwPDRoQe3iv4UDC3Woc7NvVTKZFVNeAQjJws9JEQeVHyoApz", + "label": "index 11", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 12, + "balance": 0, + "base_address": "7Bwqgh7k9w1Xujaxg6v2j4bc73UQKxPq6UiZnh5B7pir5zDws2RunYTN7p8mhbLX6s3M7umCmYvMKSGmfaL5ecMsMBtYFVW", + "label": "index 12", + "tag": "", + "unlocked_balance": 0 + }, + { + "account_index": 13, + "balance": 0, + "base_address": "73dhJABxD5sgcuAW3yiQbGLYQWx8SHxK4EmzmuCanRDBJpBR9Ste3BiZU2ZpPyqWbYer1a63N5NFdVWz7LxWxLoJFD9ozp1", + "label": "index 13", + "tag": "", + "unlocked_balance": 0 + } + ], + "total_balance": 112141601989972, + "total_unlocked_balance": 112141601989972 + } +} diff --git a/tests/data/test_jsonrpcwallet/test_sweep_all-10-getbalance.json b/tests/data/test_jsonrpcwallet/test_sweep_all-10-getbalance.json new file mode 100644 index 0000000..e2c346f --- /dev/null +++ b/tests/data/test_jsonrpcwallet/test_sweep_all-10-getbalance.json @@ -0,0 +1,1072 @@ +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "balance": 111141601989972, + "blocks_to_unlock": 0, + "multisig_import_needed": false, + "per_subaddress": [ + { + "account_index": 0, + "address": "56cXYWG13YKaT9z1aEy2hb9TZNnxrW3zE9S4nTQVDux5Qq7UYsmjuux3Zstxkorj9HAufyWLU3FwHW4uERQF6tkeUVogGN3", + "address_index": 0, + "balance": 141601990025, + "blocks_to_unlock": 0, + "label": "Primary account", + "num_unspent_outputs": 2, + "unlocked_balance": 141601990025 + }, + { + "account_index": 0, + "address": "77j7VqBncvCPoy5Bo5sGAqKVQQ4mnuWPk66X4E5jJYzMPnW2pJbCyCaF3adZMiz58ZD1xHph3642kVmW3ZZAZqXV8wd78Mo", + "address_index": 6, + "balance": 1, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1 + }, + { + "account_index": 0, + "address": "74JkRV4Z7hzPMPYd6MpQFYHLhxgRLQuLMKqDTHBYuuPMRG2WxBhx6RJBx7C1BphYEZYKBwnfvcbybT5k5wuW2un435iRPFJ", + "address_index": 18, + "balance": 3000000000000, + "blocks_to_unlock": 0, + "label": "(Untitled address)", + "num_unspent_outputs": 1, + "unlocked_balance": 3000000000000 + }, + { + "account_index": 0, + "address": "75KvcRUYkRAVNt68LXLgXYL55Q4ZzsMYFLQxtB3SBKHvdHmhzncBPJZZMVyVJ7HADQTtt3hRYVbB2CemJFPpzKVaLmn9f6z", + "address_index": 21, + "balance": 1000000000000, + "blocks_to_unlock": 0, + "label": "(Untitled address)", + "num_unspent_outputs": 1, + "unlocked_balance": 1000000000000 + }, + { + "account_index": 0, + "address": "72Noz3joUVBCrBSRL1StgBCdDLR2w74nLh8Kd99LbaEnALXNxqWZnfoGUNWr9zDUMF7R8UJWgAX51CHDvajqGGJDKUcAqYb", + "address_index": 22, + "balance": 7000000000000, + "blocks_to_unlock": 0, + "label": "(Untitled address)", + "num_unspent_outputs": 1, + "unlocked_balance": 7000000000000 + }, + { + "account_index": 0, + "address": "78EMQMF7jZgYWosw8TxLZL7KjaSZmBYbfGNUcS7ftY3Taj7ZTE5CbipWeLMtY9UQXp7tWDyEFc328aJcT25nNcYyC279FRY", + "address_index": 128, + "balance": 491250732606, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 491250732606 + }, + { + "account_index": 0, + "address": "7BQaCXKhpsB1ZSZiWT6pE9WNedB6ozEySWqNZm2cdrAnbMdv31xUfCdG34m7FbRmSER8W8PCT3MbkSFzd9sJCcSUAMX2qQ3", + "address_index": 129, + "balance": 865265334390, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 865265334390 + }, + { + "account_index": 0, + "address": "72PHuai4rchK8zb39ghSkG8RyuktXuuBV12qWR26wXmm9yeXoCLG73oS18ocJA2MYM4PS5tfePNBESz6gjvNkq9k8mPVR8J", + "address_index": 130, + "balance": 1951521664363, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1951521664363 + }, + { + "account_index": 0, + "address": "75Nt1pVKa4yQs8XQVDK7yzJb6cMAVhAaiX4A42UGJn947TEdYosdVE5ctAGbDnDNu8GPamMdiFzy27MDuQJAVdjzVKYTmPd", + "address_index": 131, + "balance": 357107600874, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 357107600874 + }, + { + "account_index": 0, + "address": "77M9ubHhoBvjKQvVSQHBwnYXCDX3e7PBWUhKq2oyaeaRj5tmduEiPWz75uh78TFfTT5dVnxPSMowniJfic2fDLfdHUjMHyJ", + "address_index": 132, + "balance": 633958895487, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 633958895487 + }, + { + "account_index": 0, + "address": "7332JMuJFNn3Fx6o4T3AJqTYoP7ZcYMJQLrkHX54QQksU1cA2YBWMuS35aNJEf3A8aQj2mU4qVM5s8aoqAKMyaV3HLnGqnM", + "address_index": 133, + "balance": 1583261713515, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1583261713515 + }, + { + "account_index": 0, + "address": "7AniTNaPQs3NG81hHdqFp8HMa2ePVwYNSZCyrRnwTRjkUL9fXUo7dcXBXwPV6F4vP11vdKwarRpPbat3M1wdUDuaC2Uv9Z6", + "address_index": 134, + "balance": 1199204921589, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1199204921589 + }, + { + "account_index": 0, + "address": "773wLmpNm2KNkVqYtXVtdWePzKwSuUXrgafsAjyzDKsJcchRmuTd6EpdFHrUN4FRr383bVRgoADmCdn2XXfivAKG6dKnZuE", + "address_index": 135, + "balance": 280999371067, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 280999371067 + }, + { + "account_index": 0, + "address": "72RjbBm2AzJV3Ut7AfbDVgLvLW3izBTDYFqPtd84MGdrbPBqkpAsSFkHS1FQxgvBtxKKDK4tMHyNoFYgfbTJnJQi4uCskVh", + "address_index": 136, + "balance": 812386110056, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 812386110056 + }, + { + "account_index": 0, + "address": "74ycsHHrcS3Ma7a3qN8JVCWXLtscf2Cqw9kj315ywGM1QURAm6xBgcWEMbPwzdfz9HVf286H4AkFPGwGtv1ZfYXYDbPjXCH", + "address_index": 137, + "balance": 228053710105, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 228053710105 + }, + { + "account_index": 0, + "address": "76Qmg4nahtDhM2s53b78pR7j7YShy7DyZ5cZ411mse1Yi9J8WxkGqGU2yrjHKfDs9BYWp5E85H8zybFvoVPaysrKVcx6mVZ", + "address_index": 138, + "balance": 1166101211810, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1166101211810 + }, + { + "account_index": 0, + "address": "74nn7ws9RbsJrq8DCwdoot18EnohMLbi4guaoMata1fjZG1Ds5AHL33JB4vrWavTarWdqro9ruM9aZ8TKMkgnb7VBznZYv6", + "address_index": 139, + "balance": 699615677665, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 699615677665 + }, + { + "account_index": 0, + "address": "76n6emTvJdre9psUWJgVAGEqweNwvemNxeonbtbQhBHnd3K87bgVFcHEN8iRxNr8EcPTs3bSVcKPnEviiTsnewc85ErFpQo", + "address_index": 140, + "balance": 1627486272125, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1627486272125 + }, + { + "account_index": 0, + "address": "789z2S4nLVuV9qRboPjkwB4M2xzm9tqyvjm8o25sfj9q65YM347WhhAi4tA27Q4zYycuBqC9C4gYiPtirRXXWNEoS13ugjf", + "address_index": 141, + "balance": 1042569740814, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1042569740814 + }, + { + "account_index": 0, + "address": "79FyHWwATQyHN3tFfDNNeYVKdDjT2KcLJhBnSyNmgS5N1GFN5AHX2yCDaauU7a6Z56ceWz9LSniqhfGmCKauUPLYHCEPNTB", + "address_index": 142, + "balance": 370498509128, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 370498509128 + }, + { + "account_index": 0, + "address": "77MWtj7BPZ7cgZtBocbDTy6FPnJ2QfJpoGKCkJxuQVyEKuCu6FJmft9h4oh9rUHkShCq8ciSdEjstSoJMjVDPySBH8iLgMZ", + "address_index": 143, + "balance": 1017519142604, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1017519142604 + }, + { + "account_index": 0, + "address": "79ki53UWoYxUfPgje1QxP2EfNbfebDqqVGXZQV8ZEjkPQXRiTDeEz6ziZJ8NBiMU3J55P1zJwXd85et6byHijYsNMFEncmh", + "address_index": 144, + "balance": 1932984224042, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1932984224042 + }, + { + "account_index": 0, + "address": "75yPNPDcRhoDWc2ksgNs69FYTaZTK46QteRbh3qxGXYoV6cKpP9K5EiApEPLud5nGiLAt4v1nBRyDeCwUwVzD35c2iT4Xcp", + "address_index": 145, + "balance": 1167543489743, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1167543489743 + }, + { + "account_index": 0, + "address": "78oQWYj9Jcne5UPbaRYqap4MeDC4vDfa7TyDdaL9MZRPCwMtVZjoR3GaykdENZgPDnRjYFqjLybHNYaDGbW8zmvVEpQLeHu", + "address_index": 146, + "balance": 1285375687942, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1285375687942 + }, + { + "account_index": 0, + "address": "78WGqeVMnmv4M4DMDqHDdHAFHyTnThmKnSi4uGu4vFnRRCP31PpuqV2KVLvDuBKjk6h5oiXVadEmFM5bpprFcsLs6FJECUr", + "address_index": 147, + "balance": 119975240525, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 119975240525 + }, + { + "account_index": 0, + "address": "74xMnYCXXVu4udTEZkLsXKCv7WeAnz2BTQfJ4NjzZLP1dRKdJXBzmDkGuVjtQ2r4mUU76of6pZTH1dNhE9zi4akjSGUpZAG", + "address_index": 148, + "balance": 1370937214245, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1370937214245 + }, + { + "account_index": 0, + "address": "77dvd7ziPGvKMyLpTHjcwhPs2EE4EasL7h7vTjoGWuxuaGAYWvggzBpNAMAxRZLhoSX37RTDnCGX1B3wAHyika5j4jwTEf3", + "address_index": 149, + "balance": 550767711586, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 550767711586 + }, + { + "account_index": 0, + "address": "7Brvt9jSSffPsbuL7rfmGHB6JQS1NZQYFZD4pVCdUsd69SCfZrDioMo47RPnW5z67zdcn95B4sXuXi7WcTn1N9zi3PPkuMh", + "address_index": 150, + "balance": 1571796271781, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1571796271781 + }, + { + "account_index": 0, + "address": "747NH7QjBrhKMQevKPT8bfSDScF231X5RD2LFtVbjBHd1tu6hDVr8R7jBKSvApD2EzQnZb1ZbDkY8Zm8DbRdGARiAd2ZPSM", + "address_index": 151, + "balance": 1267582733799, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1267582733799 + }, + { + "account_index": 0, + "address": "78ihPAzpWkXbUrBJP2Si8HNTi7nrqVYmFJBARAcp358jisiJq4VGwgbBMZLgTbNPCsf8LLFZz99NWevGnzaaVxVbV5ccZmP", + "address_index": 152, + "balance": 1750213063494, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1750213063494 + }, + { + "account_index": 0, + "address": "7AqLmYgXv9P35A1ipovWk3JZ9nXVVY1dMHUadukkYiqxARoasfbMYhyAc1aS73LCTFChXf1nidCSLRfUsNKWmNKrU7CRb4H", + "address_index": 153, + "balance": 1345092410082, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1345092410082 + }, + { + "account_index": 0, + "address": "73k9VNT3cmU5awBwoU1bS3VNPWpuzrWbT1tLoNxQicEoArfQApwj5qLWSJiWqNCpHdB689qmGzRxqXQX5UrvcnV5NvZXnAq", + "address_index": 154, + "balance": 1582781388698, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1582781388698 + }, + { + "account_index": 0, + "address": "76YJTaBMK9kDNyVRHtU9oMKwY9xxhdDQXhetZ3eKqvyaMiiMe6memCZPfb4sALAxwCgqh8CsjVZTG8KeeyX8eK964c24dDj", + "address_index": 155, + "balance": 1145587765349, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1145587765349 + }, + { + "account_index": 0, + "address": "792ksXqKjWcLXrJ69JqebMH1RRxppLuJhh92eJYYfnHJ6y6kCDuYC1t1nVfBxVJz4J895YZK84K9BYXYWBwjM1KCQxd7khN", + "address_index": 156, + "balance": 1750080821642, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1750080821642 + }, + { + "account_index": 0, + "address": "73U3cUCg7W88DJq1XYB4csdX4bNUZwh9sAP5qFgDtVAoKPSNfSES4KuRZfLe7rFc57MDyfU488SMQ8WcGZF81gddFvMccdn", + "address_index": 157, + "balance": 1274262749640, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1274262749640 + }, + { + "account_index": 0, + "address": "78ZanwpacxCJ1fSHEqAzd8FjwMn2Lvnri1aPz4aDFx1e49re5yaUjCbTHsu89QuDVnKdtNN5dxZUnHTsXcmzja1pRYathsP", + "address_index": 158, + "balance": 117704673731, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 117704673731 + }, + { + "account_index": 0, + "address": "79ndc2fgwWNQCDu9TNpmMoh14Gsa22N7P5j5eGYytmisH25QLMjZvMTVnx8LnWxjeBSHF8ge9UB9QZK6rihxEjGfLKeB7PA", + "address_index": 159, + "balance": 1802587414049, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1802587414049 + }, + { + "account_index": 0, + "address": "793yEhEHYXwBgRgeuuQ3AnYHewKTdstAJ2pjkLWjDKb9R1ZP7MJvsaCRcJxvMYVgFe88PttsTNyapcPDevHWQXo53jmgu7m", + "address_index": 160, + "balance": 827313906984, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 827313906984 + }, + { + "account_index": 0, + "address": "72sra9xzz8aLxC6acJqDedCREkourAVCQgnrGtjXw9YDSPERkrvHgoaYqLxZuv4EhjedrxtsnvM3PW2dBQSskdCQLJLhK7d", + "address_index": 161, + "balance": 289212843363, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 289212843363 + }, + { + "account_index": 0, + "address": "72uzfZJYvcLhew8iRVPV8KaWMDKEV3KSD9cXjaVgASYFSyXGTQM9ZTvaU5Kbm22uNWNvSZPnCFvvXEefxfYCKP7HLWGckuM", + "address_index": 162, + "balance": 586502652291, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 586502652291 + }, + { + "account_index": 0, + "address": "76cmmXvTT9zZqSNtbeDwM6UdiqQBD3s2e4L8k6mAPrBJG5265PGf26rFZwdXHMFf5y4gKAB4oYgyhfhpWPEFiSSsJt9V7MR", + "address_index": 163, + "balance": 614331511976, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 614331511976 + }, + { + "account_index": 0, + "address": "7BjN22Nmi5BQ4GwpZ7Bk6rA1XMtFDaGzXbbg74E5vPGo5K123ekGYiG2qDp9gNKGqKfLoCtPcKdRDQGcM8Hw3xki9BUy7Qw", + "address_index": 164, + "balance": 1376569453220, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1376569453220 + }, + { + "account_index": 0, + "address": "79DJmYhAhzrLWwnprdjVBWS7X2SFGdwf7SK7LKyocq9427rYxiDHsrr8XWhQbiRqXGGinMFZET9fkVZARpULmjYb2pt7RLY", + "address_index": 165, + "balance": 1502960283214, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1502960283214 + }, + { + "account_index": 0, + "address": "79NWpMyGUeRNBV2LoTChMRKJBSQCnHP12CAwV4Gzeh94dYFHPKz8DjfRXAjwRCRYUQ2kLrEi615RRXsvzBKUgUKXSEyGFeY", + "address_index": 166, + "balance": 1056895596830, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1056895596830 + }, + { + "account_index": 0, + "address": "74wBs4EJsH1h1MiVzo3pzo6AUupTzRpLK7NFArDq1UH3NircNinUjeNJFaUqNwuhEgHa94B7X95KAerad5MoFV3vEddQb3y", + "address_index": 167, + "balance": 1567361759895, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1567361759895 + }, + { + "account_index": 0, + "address": "79LPeHQ1y493Xtrs1AjRmvinXwiDHmFWP5p5ocGnbSXfU7vGBTCTfVWinLijhsKZ2Ch2hMdBM4ioDejzTDsTHUoA54Lx9U3", + "address_index": 168, + "balance": 1464492338332, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1464492338332 + }, + { + "account_index": 0, + "address": "73rAxPaFnYCA5TtezLdw1PcqB2AhxtnzUBsGag42Uzj4Ta53pJrAdqqEko1ts78giAgFYwGaBRW8jZvqRNEdCCdq89Ycjmp", + "address_index": 169, + "balance": 15800637694, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 15800637694 + }, + { + "account_index": 0, + "address": "79KAgTqt4QQ3HDWfLGo68zFc6uaRgV5TU6DxmFYsRiJF1W3iv4SYcSv1iGMMrVbrruUtfPX7mZ8L1iTdyJ6rBoFSSw9gge4", + "address_index": 170, + "balance": 384166462480, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 384166462480 + }, + { + "account_index": 0, + "address": "77XGjpF8DgjSjgXRUfpj3f9ZDkm5E9FYeH5xNyPGPGrsdXCFbN6YCQGdjx9HhkvDKKC1kj1KGLremQ1mkayWbmoPSk3VtiR", + "address_index": 171, + "balance": 499508842989, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 499508842989 + }, + { + "account_index": 0, + "address": "74oqZs5HjznCV98FQjEHEsfevtvgpH6dbKF2majtkWUAGGutsrzUDfPbSsnDATq2YyGbe1WomCiWsdRARmaXZgYBLiUDyNv", + "address_index": 172, + "balance": 427493143876, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 427493143876 + }, + { + "account_index": 0, + "address": "73Sr4atEFo8eVskvBnmCEmPDadWNQ1GZGH3b7FekhbhoBrSBzgdaEm97KMsbauHvDHZLzdVp9RExKXoxyadDpsryNXerosq", + "address_index": 173, + "balance": 1457998689843, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1457998689843 + }, + { + "account_index": 0, + "address": "7AkKBHhuRS2VVRcwekWHjXZJThGX8pW3ggudAi8nM2pnQ7wGed5MmdqaQ93MFx5Gm2SPHeUdba9ajRTNuV1FBUT5VFsLsBt", + "address_index": 174, + "balance": 1958666346908, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1958666346908 + }, + { + "account_index": 0, + "address": "74d4pXyUfdLKjceNukxMAP24MYP8yk3VbDDG8ExuikooP4YnEZiaUPYV2WcwscD6s2PaHspe6HGVM6sooSjCxLLiKpWsszB", + "address_index": 175, + "balance": 499586911590, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 499586911590 + }, + { + "account_index": 0, + "address": "72wKnE7o1K76AA3Kperg7zhsmAkyuyj9LNXf6xEPeU97BjvbjCDWRhmTNfjXUq2fiSbLGeoS6oHP41sPHQL3LcE3KTACZPK", + "address_index": 176, + "balance": 223881954454, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 223881954454 + }, + { + "account_index": 0, + "address": "7B7hjwWmVuvi8ftfXtJiv7XFeUUkLJpRQ8B3THytxvXM4tK2LsvFvckX7nDJQWS2eAPXiQoN5zVNVFXYqYwZ6YC4FuTc6mk", + "address_index": 177, + "balance": 554697082825, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 554697082825 + }, + { + "account_index": 0, + "address": "74LsiNSe3mAfPrxZp7kXnRJQq74c4wuXDYMUEryxYgjh8LgB5egpPECP9mWzZsaP4LCMEkqPZazQNghJEEx1CA7kKaF7GNN", + "address_index": 178, + "balance": 15438357787, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 15438357787 + }, + { + "account_index": 0, + "address": "76LdBXjUmdL9jGd4epbnTRAsGTvLBz1MVibqhKxWKkqg8U8cnucLVQQJv7YmawGCyVfnp1GTkduWkBGYa44iQRPk46gEhH4", + "address_index": 179, + "balance": 384380867809, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 384380867809 + }, + { + "account_index": 0, + "address": "79WjgXrS6q1Zeih2MRUykjGXRZ5qSVcG4664nD888J5D3NUha9RTEdVUQ83m9c1gQRBHhrHyxeQ48EyXTnFEHwX9UyfaAjV", + "address_index": 180, + "balance": 1308918923990, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1308918923990 + }, + { + "account_index": 0, + "address": "75xkSrFz4AN7euNGV59KZ2bXfAFGAcmngfh41u2AsdSt1WiC43cYP7Q2aqqhLP1Vo1KoZi9BHwdeL437uLvgCyEj95bFguH", + "address_index": 181, + "balance": 1498943133440, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1498943133440 + }, + { + "account_index": 0, + "address": "79PekBnC5wSaqrDXEiHHsZ2ZjuXDNvqcZaU8GBPUxHdgjDxYzfFSfWy8oPatATP8WiaVhCJN5dpPFiUHvbrSDHUNUymyxHq", + "address_index": 182, + "balance": 205288970114, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 205288970114 + }, + { + "account_index": 0, + "address": "78zCXjn3n5nN5nUVm5ptiLGebFZJV3tEQM6mn6UFNrbe5agtxRYFkhU4ANgBaEwu2peCm8ZjiEJkZisZLZjhYK4Z97M2FhP", + "address_index": 183, + "balance": 1907356590283, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1907356590283 + }, + { + "account_index": 0, + "address": "75P1qQsudxgiUw3XanMQyQQBRNwXPkpwWasCqrmAmdrbN2cMKU46mH3ZRp3UeuY4HGYUoA3GPUDPiYSH7GxDZygm8nBok2d", + "address_index": 184, + "balance": 882196414564, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 882196414564 + }, + { + "account_index": 0, + "address": "7BPCk2TpLJsfhtJhgjRBNFMwckYCW5BxLQXgBssLKWMTWuGsnc1tz3sAaLfS5BJjCLbQA9rcaPz8kBvP9pY7P3G4MVfERys", + "address_index": 185, + "balance": 1809702880129, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1809702880129 + }, + { + "account_index": 0, + "address": "74SBDnDVrcs8DPRduzMQXiDp7nizWtSsCQQZr1Za4JAS7VTDivAPAdqUyV41rWz1FkHM4U7pvu3AYgiwLY6cqZZRA8rbm9x", + "address_index": 186, + "balance": 1815847341090, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1815847341090 + }, + { + "account_index": 0, + "address": "76ahccbztXP8NKyQYyaPqQ3DGDBAi7DBcihU3Nk7dyjX4Z8Y7bpCrWQgiRqVh6SQPFZMa9kTKeeDSf8ty5LAXdrHUyJe7DP", + "address_index": 187, + "balance": 1017720840768, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1017720840768 + }, + { + "account_index": 0, + "address": "72jn2M6xyjrfuYu5uXP66YQGVbUbLkJBjatCaEE68jSvRi5hznNXbp7EbnQ31fJJWxdsG58sa8WyBev5ZE78f52vTiSkZo2", + "address_index": 188, + "balance": 328386806338, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 328386806338 + }, + { + "account_index": 0, + "address": "77WcWyuBfe8TrTCaoSwcGhbhXUHWUFZTHjPi6ktqF8gj1ugpkZn1Wu1G8H4pDNviAufrY3ED84FRQ86RAkmAnaD99jU5qVA", + "address_index": 189, + "balance": 472709505474, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 472709505474 + }, + { + "account_index": 0, + "address": "75XUraAFNyiFbkorsqJdgwA8moRtABQpiKToe769fZTZjnLtCycNyrLirizUu8jent3HMU8vDFQu4F3bFeucki3AGf341sL", + "address_index": 190, + "balance": 497441626864, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 497441626864 + }, + { + "account_index": 0, + "address": "7Bw4ov1BPNaVcvxJQQBrxkdrGdTyykanLJDsqMaYn3NTQvMvoo7BqEPjQQrz5MiyaiiuXM929V2jT6GkUKqqStfjJSs51KC", + "address_index": 191, + "balance": 1943134087680, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1943134087680 + }, + { + "account_index": 0, + "address": "76KXa1QjepcAGybEbpd9cRCw8vtyQgM24RkdKPZqtWVG1AWQ6x2r5MCEYH3XMnNLzhiGGPPr8D8BXBoFTkSYqdWQNiCAQkk", + "address_index": 192, + "balance": 1933346382494, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1933346382494 + }, + { + "account_index": 0, + "address": "73Kyc2gy91EMGay4ZNDhjDC5JDDev2SiWC9tfyVwRDFKLuGTn8HQwHmi1utBSBsCQxfStxVAv2LD13jYK7LptvQvQcDG5qR", + "address_index": 193, + "balance": 138471939315, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 138471939315 + }, + { + "account_index": 0, + "address": "79jCDq3rE6PCUJSaejQ4zWMKEi7A3c7fNis1KtWyfFrrX3qrhYg2WeyXMRSBheRVveNVgVnqPSifgCmZs4gpefMFDPMPqdD", + "address_index": 194, + "balance": 1425282746785, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1425282746785 + }, + { + "account_index": 0, + "address": "73j3tNLdt5KXBkswqpEvSW6DeJd6hgLTkNckNM93kn7fZciZXKXh8bWLhGiVmH2UVHeTsQqJBUZBj7XcUDAzr1Ag1NmSg8a", + "address_index": 195, + "balance": 350277954567, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 350277954567 + }, + { + "account_index": 0, + "address": "75PXdEwMU7dEghgDnxkYtWRg8VPixD9qaKmH451iiV7bdvgL4vHjdq3S2xcGbAisxkevyC9w7tipWMWvN7c6jSX9D21w1Ut", + "address_index": 196, + "balance": 150910788559, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 150910788559 + }, + { + "account_index": 0, + "address": "78vjCdM5tYKfWZd3a736CeShkuQ9YHDKL34T4Tm2be4vfoix7bpCG4y63mbyApe5prgdp6vDiMUpdXdPKyep2CoDQhtEd3T", + "address_index": 197, + "balance": 1989298273751, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1989298273751 + }, + { + "account_index": 0, + "address": "76Te9HK7AHYX1ZwhriQp5nHRB3VvfkeZn3ZAePDMgWT5Yg8AX6X7ja2gR5sjeK4a3BFobKRGMtXw1S2TH6frpWis4WkP5iW", + "address_index": 198, + "balance": 1980155786176, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1980155786176 + }, + { + "account_index": 0, + "address": "76PZxNHFhUgUgseMuJ3gifPhRZnxwAMbdN9DVQixp74h3XAhmZ7uLNTEvxZjDe7Kx85aBjTGrTHEzT6upyLfaYgXNGp9aCb", + "address_index": 199, + "balance": 953491078706, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 953491078706 + }, + { + "account_index": 0, + "address": "76Bk4CEz4Lh5CKsCFXJajpTyxshAuKh84YtSE4kQzhKX3zsgu3tSdNyaLDv6ZvMxvJ2VufaM8oNg4i4MXGD1shSC4BEw2Td", + "address_index": 200, + "balance": 176205960976, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 176205960976 + }, + { + "account_index": 0, + "address": "7AiEwgXPhmJdj4LA2KqKWTUnG9M4pDuFtVxNxqKXHfed6hcBdfymW1JWiTJ5M5p7QwRjGgLTBcqD8USCrBFru3cRVczvBJD", + "address_index": 201, + "balance": 560636940286, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 560636940286 + }, + { + "account_index": 0, + "address": "75ZqoiG22vQ6sydcU1MzSwLjDS7GsDzTWKaMht5HdLYxS43te4Riw1HDSF28icKVt3XqcLobFHKMCdqXQxHUcss69baRVp8", + "address_index": 202, + "balance": 1464884391456, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1464884391456 + }, + { + "account_index": 0, + "address": "74ofHsceSGrTbrS6jjM24J8ZgHHuJ2bAvQeBxLADkBiMWn1PnARpT6n9b3qgrWeiww8ndvMVapEteDAT5ijawV7iGfuMexi", + "address_index": 203, + "balance": 1375992059587, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1375992059587 + }, + { + "account_index": 0, + "address": "77ZTauywZhs8z7rAsi57t3KSvptcJBp5cQapPpznkH9nLumiiRoDK9LevQCTM5A4cVjZUov1skVAJLBfkTSehWLcDMoZqaF", + "address_index": 204, + "balance": 1364343169220, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1364343169220 + }, + { + "account_index": 0, + "address": "73TRuyWEX1diqKoTbNJdKfDghFuQJmEV367iAsSBfiMNThS4XNk75c8YdiGkGnLgRX4uuuKN1EN8SD55DC7Jr6r31t2BAmw", + "address_index": 205, + "balance": 1769735041977, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1769735041977 + }, + { + "account_index": 0, + "address": "78DoYBMLATo1DVJeRT2UKS83Km23Spskeh29ye4XokX6eaMtp2gUpX9aC6FWvKtj9xMR4fPBWRSooLbQS4FdhcffRrVsJQd", + "address_index": 206, + "balance": 457560812756, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 457560812756 + }, + { + "account_index": 0, + "address": "77CENQ2Xinr2oFEBW3NCPXMnhcTccy7WXiQa3DSitwxq2DdzHynsXxS6c4x9VWM2xMMX5VdvTngk22AhXKbAkQsmK791RRA", + "address_index": 207, + "balance": 172719211201, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 172719211201 + }, + { + "account_index": 0, + "address": "7ArkCoNqggBhxcxFB9m9DXQf77KUQa187Jt2svdefsu9XFgS7rTTAUV74SFAPdb7AjBHar8v2cur4dawk8wd4fgLHg1P7K3", + "address_index": 208, + "balance": 524382933892, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 524382933892 + }, + { + "account_index": 0, + "address": "78oSsKFkPpnj4viNFSbQKwfwLniYpxayXRmXFGDiEJx5QFTqSUg617GUXw3GyHFeK7XbZ8p7XVFT6P9E3t9ZqCnd9xrU235", + "address_index": 209, + "balance": 1783056747270, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1783056747270 + }, + { + "account_index": 0, + "address": "7AHQUuPZ9m84U5UCXK32UYDGyWsUHAVy9crtpA2HpsW5AMbd38HEHZe2v3zb6nsd1EjCHuFrAwTFuXP6WhjthCJmGi5E1Kr", + "address_index": 210, + "balance": 894728382780, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 894728382780 + }, + { + "account_index": 0, + "address": "79GiRBqYkprMK1YeLxhTj1UCBkEu8V4FoS8GZPu9qkeBhuxfTYwE8MraaUx4nQ76EMUJgDnXRZ31RM9T3hEq13JcDnngTgA", + "address_index": 211, + "balance": 1298076476722, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1298076476722 + }, + { + "account_index": 0, + "address": "72FucnWRbbSAXd4erxSvxgSDsPrVN5KRiK4ZSzwpShPtASVgtxvndFEHNhoTLND9Cjjdgvt1jSBCgG4X6Dkq9fKRBcEuVcf", + "address_index": 212, + "balance": 1687830451476, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1687830451476 + }, + { + "account_index": 0, + "address": "78TUCymJngpQbfxJJJsbitdR1Y6ZozvADijMcU5sL5A2ZSkQucXvibXTvQ1fcD7WUWQu7LFY4PkoviDQSU6duMGF42qHaAm", + "address_index": 213, + "balance": 584549713682, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 584549713682 + }, + { + "account_index": 0, + "address": "73ZPKRMknGhYKwZav87cjXCnTkQigwnDnWyJ4T8s2X8YKzVMTXWzJJ3AgCWRXCsBEo2tg2uXEcxAsCNctp2cMsgXGd2bGBg", + "address_index": 214, + "balance": 792064364547, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 792064364547 + }, + { + "account_index": 0, + "address": "7AwvoYFUqmHRdKJkzd33u1WoMEMVK1rx8Py1JozUTjZUKLeUSvxH47fBEJzzsFrssEiY7WKFpc2naRGPdRxtQKaU9rdGXMU", + "address_index": 215, + "balance": 225104185169, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 225104185169 + }, + { + "account_index": 0, + "address": "79qxTtvQt5pU8YrSrAXaU9UXBaNZkoWsmiKRRiHLXExDYtUT4ZHGprGc1RKQLHeftThmSzXAx91zLjAZxD1QDMaaBJq7mvk", + "address_index": 216, + "balance": 361226985881, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 361226985881 + }, + { + "account_index": 0, + "address": "76pWCJUsvHYYipRKsoLCN7DYKLxpDktWQLu26uAdcc9iDfeY2gumM4tK2tBFACU5ECiUnnG886vKDa5LgVFGsYX7UGc35gt", + "address_index": 217, + "balance": 934191927735, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 934191927735 + }, + { + "account_index": 0, + "address": "74rK2ZF4ybTDkQXtFKhLwp9mL6YzvdBiJZksThuER3JTG85qTTEBdn12dWPSk8H33d4JDtiQSfXve4LAapPKi7zzFijD9rN", + "address_index": 218, + "balance": 1566199575377, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1566199575377 + }, + { + "account_index": 0, + "address": "7BjNY2JgUfRSWeKoKNjVUK4Go6xEzufRVcR7s77V4rkXAXBPrWtyi79VccR1zUVswWZT3zM1vbyxDNJQksVXka41BsWK1Ed", + "address_index": 219, + "balance": 1636372238825, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1636372238825 + }, + { + "account_index": 0, + "address": "79YehxmqFgeS6igHYF362e4mdjXabhThmY8PLcJeTG4eJNkJ28EV9LMWJZbciEeoVtKa4SoX2azeyBSmoFnr7ikWCHiHSKg", + "address_index": 220, + "balance": 23851580805, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 23851580805 + }, + { + "account_index": 0, + "address": "73F9Z3YKq643cDxLdsfrrLX94T2rcRGHmWPg4mzieAXn9FaotdzADn97W2sxCvTLWUKtmnaXu87f7VexZprFAde39CsLNcz", + "address_index": 221, + "balance": 1153560121285, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1153560121285 + }, + { + "account_index": 0, + "address": "73zCnkWttTETXMrcRvx9xqBKWrjLcSciA8YfTNUdftnc3GPfCpdUExAVGvPdqL3GRYFAJufHwHB9GASgvmSyDzPUSHcw2to", + "address_index": 222, + "balance": 1097408375283, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1097408375283 + }, + { + "account_index": 0, + "address": "7BXKa1moCfkFu6sqLdcHq2CCew6UcWeVXNaCzSVj9caEatPtvncVKhGRXA1v3KN1tuFLGrmZWdnFCPF2MLMd4cymPFEq4ko", + "address_index": 223, + "balance": 1269518205606, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1269518205606 + }, + { + "account_index": 0, + "address": "74j7yRnNQ5shUZAre9mLLMhbbVUYq8LSDHZWbgH6UwtAV9vTcuS65ZXRzpM7EaM2eJEF3dEnf8XtijDyoVkXgkUGVajzTt2", + "address_index": 224, + "balance": 1277624676972, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1277624676972 + }, + { + "account_index": 0, + "address": "72o6aQTXG7oNHyQYXiZbLpBfAmadb5PHX7Kt96sXcsi9DxuDCycQPyVG5i4F2677FpQ9MpLCdvhUT34NbN6ChtiKQGYCSCz", + "address_index": 225, + "balance": 252547730115, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 252547730115 + }, + { + "account_index": 0, + "address": "75284QczoQbiRuahkCuWYEiBNRWe3PaNdGRKJbDXSA2EW3SMvMLXp5VYiEY8iemiUvhnodf8bMeVhabMN5FwuMaYLvwy2Xk", + "address_index": 226, + "balance": 1185604572730, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 1185604572730 + }, + { + "account_index": 0, + "address": "7Ao51n44evZWuRg1cGdiGrCbkTVovUs9YSjrgQ2Nd6ZRSXqrAj7dkPtT1mRzwFnSdh6ULMbjzezPk9G8LxkEsHac42ghFtZ", + "address_index": 227, + "balance": 903157843525, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 903157843525 + }, + { + "account_index": 0, + "address": "78YpyxkyXdQ88MkbsB2GKH8ATL95kMGSJDMLXvZvomxFXuQkxZdSo9yMi6LwzHXmLWRizmDxzSaxfASbR9Ka1KJaCGeqYo7", + "address_index": 228, + "balance": 528650138817, + "blocks_to_unlock": 0, + "label": "", + "num_unspent_outputs": 1, + "unlocked_balance": 528650138817 + } + ], + "unlocked_balance": 111141601989972 + } +} diff --git a/tests/data/test_jsonrpcwallet/test_sweep_all-20-sweep_all.json b/tests/data/test_jsonrpcwallet/test_sweep_all-20-sweep_all.json new file mode 100644 index 0000000..bcfcf42 --- /dev/null +++ b/tests/data/test_jsonrpcwallet/test_sweep_all-20-sweep_all.json @@ -0,0 +1,23 @@ +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "amount_list": [ + 111086545699972 + ], + "fee_list": [ + 55056290000 + ], + "multisig_txset": "", + "tx_blob_list": [ + "02006b02000bfc8744b7b709ff3d95c4018f2cab23c3522b6d5dd601ff6654a4875ddb159731b63202d6de5f61c33b3810f34361654aa54e8a107c3b02000b9de84add6eb08302a3f801ab16d34fa5099119f308456aff3ac50bf326b40ea20d07fa71a12081b2b15a82b45cc067c5350cd05b0ec54502000bbbdb0f98f13ee59201da38a33edb078d067f185d45fef6f45d266c618c268827fbb3f2abb43d90be7cac7cd83aadb5e56c990d932402000bb887419df70ca68a01991af49101c719e4049408cd07d90226f8e5ebe8d1509e07713d6da7814c88673de8c98eaf7116a9bef55f0ecb5b0f7902000b9cdb0bad863bcde705de8501e2ed01de8d01e20ac80f337f62f7de4017139c340cdb1be9508318ec0f59451d8afe624c1468ff0bce4f32849502000badbe30bd9616cbb503abe001d2a404a749c606a6038002c1014bf5c1babd19a4fecc29637e11159255a8d2993699d215668d33cdef755e0ba12602000baa854af89f01f2ab05ee040bc305ac03f603a9021d10eedbc3ee86d3a1ad66be6c88482a3e0d4a603ce770cdf68fbbe78a4872a5165202000bf3ba49d1f2018bda018b7ece9c02a92a961766535d2aec1aa7f7189e7220726136871949eae75f1610d58ab24309ee6bfd74b93d50cf02000befe44e8e90019117d32f8b09c711890b3eff034a2ce8f7217e83ecf18d6cc94a3d99370b6cf05fcac79585911f37c4386e0435e3f602000b8d853fa9be07c6ac099055dd01d116a7057cf7015f17e6b3e2cee62aca9417e2d6a8c45767a8c49848b1d25e2c529da363365259789102000bb78150ca14ef07861be50ab10fa00c40d7038a017ce39d4bb05d1a66aae8b42ae7777c662db92fffaa7df060da6d562985ca49333a02000b92cc2ce7cc1ddcd502c98402a07f996aa705533a04e602e1d31fc1c6d4a63c544290920cc6a52e7dc6bf8cd5ade0cd6909c8fbbc27cfe702000bd2a148bb930485d602c204b115ddba0190049c0183016422e0cec986351303604313a63c8fba1fbf0d5259a02cfc530d2eef295b47d039c702000befc633849617eef302876cd29202cb02940fb10108de031adf71daeacc30c9808ba1b252d5c531f4ac08e773fb8564b346c1a45e0986fc1402000bd8cd4c998f03d30ac725e72bb8119005ca0d3bfb0835dea74c6082c9a6d57273efcac532e4354f9d2d0c3719c3aeef58c3ac9c2b296b02000bacf4448df004eed505834bf0248c24830c950793029c01e401de9f2372fc84ec9aae1bf2301239fbe7f8de5c060110eeaf5758f6642a08da3802000beef74e9b8701ad10f610af0d9e11ad09fc09a1078807af05dd7c8c09ef9be9409fbf42bc9aaa37404780769b313d22efbd5819928f6840a002000bbea34ea6ea01ab1baf19850aff0a56d701ea08c50231db27b679286636a7bcb22b190d8c9c5b3f0b32076c40f08be24a18642030354802000bfdb03fe1a70b908e04ec83018e55ea10d80ec802387efe02d857212c161fcbfe4580e2dd1f6397ddf7f2f6f85f2002c745078d683c54172802000bb4fb4b885bc2f5029b77c915ca059c028504f2011f08d8305b63a3de1ae7fc4fbdab000827dac5e3508a59b8e776232fc26b8a9856b002000bb7ca3f8bda0a80c401d1ad018a9d02fe2cf656bc02ae09b010a012d552742f8cadcc0891651b320514c01fc469d35568bde556256dbad0d5cf7ad102000bc7d62282b229f1d503c9558d09a21dfa088601de0183010fd485955099de30cd7e63a03a7cfb86d81cd33a1cd5779b80ae6a91ec8d830f0d02000bf98129d0ca19e4e608ecb904c551d40985049f14b6024aff01d3dc8dc9f312dc2dd34b35a78512b78d97fc2672d41ca77262036996cf23668802000b80de2bd2e70fe2c40af5a408c6c001af4bfc1d6ae305ea03b102ce121b2c9c4e2566eaaee748b2119ade8b44d146f7c015c73208db79de8094ac02000bd0b34db8fa01c338dc1ddc0ee54cd304605c3f09cdd3988cc09b4dac0971220dff9ef57aa3c37a99798cde132f41180bf7b8a22b02000b8db34cf447ae8e03ec0bbc34a10cd80698083c4035cdabcdd19352b57f6a0628b3c4440e95fb5a2ccd3a39f662250704cab7867f7202000b988845c79b09c4048c2ce28a02a60312900184020a36ca527ac2c197368d294b3d3bf4d85796bbce8133473f22fb2846a2d8096269ca02000b90eb3ecd8d06e8ea08c2fd01f643bb23cd16b606594e41c6c26baf775e92ce67f9806a97bf730a9b314ffebed2a5a71a44baab11a654bb02000bb7a545c19202c9c905adef01f4a501dc29fd0eb21095054d68c5a694d0e3a67c6abc251728c01c4321062e2052eb7e86d6b7ed9edfb8ebdeb102000b819534d2c916d702e2c703dcd401ce5587068909d0024f8d01c5124109f35e966a1768dba3f660481d68a619cedf574e3a2f47a1c97e3832c902000bccdf059ea345a5e403ea44a5578e29c2049416f80cd41227c3f44de625e7b94ef8ceaca255cfb76efb1b4f82ade621dfbc98102c6bb247ab02000bc0b54be7eb02dae601e831ec0afd1043e90e095a56c37ae46473be869b7cad412d5c1b26490305fd4e95c2e9f799e8508b2ced727c02000badbd4e811ef41ceeae01d706ac02b02cc003a8029903dc01c12e934c12902cc9ddd4e3e504f51ab38a6050da57403b464a01bb057ad3724202000bccc94593a404d8a6019a9305fd21de0d9504a10382063e8202be92bcde7472521e15200f424f8903ea12cf946595606d4a01843e907bcd373202000b85a435fed617c64bb545a7f6018d22bf16910aa520012dbcc85131e607d9843b4f1dda0d4e50eb8853904f400e17f96c45f37144aec5f702000bf0bc4fa504f207828001039f05ef079801ab0955ca03b99d20d1ecdd2ff52373d711f57673bca0fd4b6c934a91ce38cef6fd8271cc3b02000bcad61cbea131d7b802c3055286169711c903840407bd01b5f48b6a708134f6d19ebf07c9ec16e3d12298e48a0f440bca4ca2693a2ab1dd02000b90a94eeb45bb4cb98001e817d9041bd005c804aa027ab59f2f6a076875bc47fe03eb3a01b52d67d6f547f76bcb660d743fa390ebf2c502000bbcee40b7ba09a068e066f5ef01d0ba028d0cf02fcb070b09b480924e25c53206f868eb9d6d2bc8fa2957506a162ac7e90fd077378e1626c202000b918138dec815adb7029a3c830afb0a8c0ed001b803121fb43be7b536a96eeae094574cf972ce91aa3c0ac9c7206ce32cdb29e92238cefa02000bb5c74bb6af03dc258f398534a44ea107b901ea046c03b37b400d08392f141915d881bae451ce44f4cbea5bd05ddb081fa9f3136f94db02000bdbbe22bf9b0b83bf07f799199fb801f236c02fec09d7086ea501b2ff6c6b9b9bc1d0ba230267261244d9eee2b6d404eecdac98896d974cabd37d02000bc9e74ed171cb59c20ae004e911ae0b8703cb027617b057ff438ab388c11e9b0aa2c59a887d6192cb98be68a207c2bba3dcba46738e02000bc1f54ad4c105950fd910f303b206aa018d01747906afed26846b50d22c07651875a3ecbb49fce5cadc2897ea77165cc86d38eae09c02000bc8fb4dcaf901b2198807dd4c83034b225b041aaca3ae754a8421bf09b9358f6b9c7efd2625691642955640fb72395dc9e218e902000bd5c04bb8a201c5c202f122b7528226ec11db11b101710fa928f243860b85b3b264f99aba694911647671ffd2ff667f8d4d80b6f9222e1302000bafb04cb1b4018e5cf818a049d78d018f17a512810b7232a6435b0af26b7ab20da90282af0c8ae7c9afe62ce7da6560f3dff2bc735ea82c02000bd7e82bcdc819d09408bb53f68802d9049828ff0cfb068a030fa5ddc5aa4471a251e23c1fdadbe5b59314a530c9f34d49acb168305cb964ddf302000bbfc834fbdb04d89a15e552ef6bec14cf1fc50eb1233fa201a1c7de0f77dc93e7f7c8b2ef08f5aca5dbdcb428d49cfe2418f1b4219902ef4602000ba8e84dbdba01ca6bbc20d41bce0e8304be01b5049501ae01a17c34824d186a8a4943d2dac0e3f0c8bf713e6a14ab336828b7c1de2f315adf02000b99b4469a4ee2a202b9d901f3e504e1669915ae0187029a025ba070759f9641f2666763edb2573f85052943d142c1546c0a7a25122bc8e20cd402000baf8c0dfce720e0d21df18e02e98503de03b804c9016a0c41998b9242d0d5c87df5883cc7fc1424c69b40522430b7b3f8705c47dfb5459a9f02000bc9b849b78e06d409dd53dc1ab1038305fb028c05f20ac50b98e6f33bd4ff4ecb40f6c133620a2f223e8a5fb1358e388c3b14d30061c40a1b02000ba4b11ddf960d8eee0cc8a217b765e06be906cc25c10d19ad02908a824d354b0b5784cd125c49edd5ed046451375e5e70f7a32cdc8b64adaad402000bdb8a16d0853a89239806f303a41ae105b7067a482f8ba7dba08c2099be0fe4a0a1950aa59ff55a12a3263baf14658e597195456c0602000bd08c41e6da0a90d002818202bb1b0602a502c00c1392028ba00824d9d7bbb7a2f03b241afe2aa226d0c119b6ec5d96c648ea1dc20d1ed602000b93e63ccbef1186ef01aa0ee907ad0672aa016369228777c866ab061c3250cbb80f3f8ed336c5e8fa5b05c904145c7fd3b0bd2c7e9402000b93b24ce09103ec14b474cc08c00557a305db02980248815edbddd5329b87741777a08fad483fed2e39c5f27bc32064163358142deed502000bbda04f886adb0b9910be10ab229702a2085e3c86017bbcf72b497fb3124683c4f4b75bba94ea94e9815609190972b620cb5a3c999702000bcaa84094b005c905908f068d9d049d0ff9108216ed1fd001f4037ac859fd463cd092ae74668921f5d2acb5cfa1671f2a726f58475076898f161002000ba3de4ea0ab018930a00a950bf90ac303c704a40271277a49e563f127197fc77970452695d935b21fbc07983b5f6527ef4fa7101e33ab02000b82eb4f9f1b8f0e991aab22df058a05c102c005cc0169775e922cbc906ef8233d03841a85752dbf6234fbd5c91ec6ba0091ad2c71135702000bec9b2ee8f31ecbff01866cd50ea223ad2cf701c90868a501771578e57c2227b14f591c9988d70411cb14417772f8e746eae684a8dcc6720b02000be4cd4daeb102af388621f4040f9301d001c002a0020a753e1bf0f313ef25dae5eb4cb0b312ded6af2d4be51a18e4804496d00249c6a602000bbeb914ceac2cc39902a7e50ba748a52bdb23f52add2db00b9105700c0e61892806aaeaf8bf99c0510e2b68b4ecd724a56df5461accea6ced204202000bbdda399467bfae158816f014ac208118ab02e50a62a6046fd91d7e1249716b7b742e8a108b97a65fc594ad1c5894d8b0150e751e13ee6902000bd1dd0bae9b2dcc8216f927df8f01ad07aa08d207d3149306176bbcd6471aae171e794e032adbe68d99d0cf0a08c9d730ecdd498d084e4b428502000b8ad346c9d906db8702b07cb614fb059d09a6058d08c7026a69acb02620cadfb9c95d3ac92b744f4c00ac4eb3c9e7d6d7d3c9ef91f2a8bce802000bb2b625c1e728975e817eeb0c9610a403fb12ee30a903d303696aa4b97c01485304a07f5fd85c44d491faee25c654b3fc85f7bb3cf48a9b0602000b85d147e48203fd8401f08e01f88202e5d70134b71af1055fc8026968a6ad4d4528f2bb382a4989ba32fcb3c784683a2b41f7fb1aff564e24d47102000bc19c45f5a602abe007a07fbd0389149603fa0bff18628f03690da91d66e8e39088fcd588aa1cc82650fc0c5a4c816ef65698e8b3e0fad9d702000baecc3fc19004d34faac50bfb0ff62a80088125c808b2037568a34671d4db2ddd8db0666c8c8a155e42c6eb2d72c5fe42f256a4a9c1381a1802000bf4e50ba4f628b4e9118ad308cd97018d10d30ed1059e1130186342bcf76a4d62139a40dc0a614f487490361a708037af43bda6dc12dbc8201802000bbfd84ff41af523c016f610cf189f03a1043ecd02c9025e1f9781bcaf9742fdbe16b9f73fff67a6acc33fa4724400d8c530a0d96398c502000b8ead3d80fc05e9a603a7c801ff9f05c18c03f50ebc04e706d80494025c0cb4e83f288923f195e5940116703633c419e3349b18452524a98e47258b1b02000bd2f52c9db314bfca0cc28501e69101940aba3bcc039c04df0d245b27758cd7a539dfb943c943564c7ab3137b0e91ec8167eca136a89dc498a6ab02000bdef126af8e279d279e8a01b021f64bce15f501d225c001cc0955484af9c02a0b4311215db86a8029dbb568946240324609e81ef1e08f92068902000bddcb40dbc908b489058cb102c30dad0202800403dd017f54f2fee4211b6efd60da123b8e43e0248fae05e16c9ada225ef2c5d649b53f3702000bd3c22bcc9b1bfdcd03d0cf02b4cf02af708e03ce11ee12c601d50153a11792e29fe22b2d17f916e188c7b6c2860ceeb30ca526f468468b3ad671be02000bada53fd6f607d706b1b40281e6058c7ef109b90ae21266920353410c7a4e2e1efb376a2f219b2deba729dfedea7d9e98d8df1194553cd6278a02000bf2934e868401b18101f01ead0ab003ad0b9404b501c50790074f78a14bff1781debcbe6e9aa56cf693a951c7033b84852a708ce6d947e1a8ba02000bfbc04ee429b3378545be568901f81c9a0794024883014b1f5ef9f6c26dd2c411109fd2fbda7ef35480fc6e3c95972a32aa65b30a429902000bee9038defb12801cb3eb01b4e101e4d801d4118b03920130cf014a184797be9d8cde319c2cccc297c6db75163cad710322824c3d45d10e3e071102000bf2ad4783a602e9cb06b73126e004a3059c01ce08333148682040e786b63641dbbc5f9b01154c69e787ecef8115a6fbc46797f4fd2ebf02000b9fd615c3ce23839914c98301acc401ea0fa8398f12ab03f9016e4843e91559063d1cc1aece074ae84fcac269d9b68cf68d68ec38bc90e0cbfde302000bb9ed41c7a30292a60c8d1c5bd00224cd02f403e90875457bff55d0591aaad88aafe25c362837b6775230c32eecf89da7c7444cad9d4d02000bc7f303ecd1229cdd13f1801481f401c52a73e303e60daa0b9f0544db4c348b1cfebb9f00e941c9c3b3e9ca75218e23ced759383174ddce20cc9d02000b83eb32eb9a1db507ec3aa711e50282029e049d01b50273434b669e424dab265c100db66c2af89995e8b2173cd4b4d68677ae642797a5fd02000b9ad44da144cb8901ed63f20a8a1ad525920da404bb030a423d8ab5a59479fa6a8fdac3298e7f15038e69037f508aa5ea959edda7fa7d0002000bebcb3bc4f50edebb05c304de40860afb095cdc01fb07bc053fbe4659f6ac9d299659dce993d93cffbeb4c78004e64e03555f2c856f78169802000ba1e147b807d7e003829902b3a8028e038705d649c805b304013b7ce10deb30c69026e31a0db9b15c49be716210fdb2bdf080827c7c3e9e7e5502000bf3fc20e48326a640e890089239f1048d26a3132afe04f6163ae477817abd3be275f3932c36b8e864d17aee5ad69351a30ba709143664d2aa02000bc1ac4990af04a347c5e601af4af603c20a92014ed9010d38d7f46001d352e1b8925af9504393d97a9400eba523ed629b1d3d45c5a2c65802000bd3e74cb1df02e369e225a001a70d5f04073c5737915da4d62671697b69c71c4e2a9697c45be2bd015ee80473b1b646416e32cf02000baabd4b8f1880e602ef4ced54f576a50e491b769d01345484326100b792192fc1d1d80ad5322235c8b0f9b389495a8598b859f8faf202000bdace1cbdfc03a6d424f8870bdd14b91ee0090fb801a6011b2e573265a16a56f57b55ba1ef9dbecb381999f5646d766bca5af92b425acc14802000bb1b83ea1c60dcfff02e070db6bbd097208215f392dc69e67eddf1858021d575080987371057fa671f2ed0988a7ae60bc5a28831702000bf8c327d39826db9401d00cb15df25bd00cc301f712a50acc022a2a28c2cd943da1c393978e2a5221f949473574f89f2915314dfc8b8c1026a802000b94bd07c1c641cf48efe802bcbe03962dbf3d2b8c0189068701293d1e5c092c656ef2b8230c9408fe15444e37c2d68a9475864c0ac671902cbc02000b8ab84aebb201958f04ca40a611fb04ee07f603c604eb01b202270549be7766edb8aaf88a5f4db8d7940992bb7453978c199ac888d9fdefc14a02000bb9bc328fe018a923a7cc039a9d01dd0e960af30b811557b402256ffa101c2e67bebb88a6e6765991d5ce232c86b2dd21b843ab9d0c58aad48d02000bb1c54ec1fd01b3023cd60cb901910cee01cd01b9025025350c1af29564ea2168fe8d9dee904e5ba87af356ee2cd0deb71d556a79adc102000bf6ba0489ba4bef30ed29e902db029904a20c05164d20487a19d4c910bf845f7046ccd36dad70a71c23f2280dd5a55ff3541993e31302000bb7c443c0e60bd567a405dc1a8f19d206d804d205cc07bd011026e00c06cde7dc5776568e7f27f295b0d0d9c59de4e2325dc9c783f07b744102000bf98b0cdce743f907e919ed07ef08b621a70983089c0c5b0e11375e97bc24f6d6768e4fd71cc1a7b2851ebec4bfbe11509911d83a50e22f02000be1fb47a4f001858405e98901fe41a813900bd806d7018303620aaa6134762a21912a1744fb5db7dbcd40a9779a45e6850e08160409984e6b2b02000b859d4cf6b502de73b01aa459e40a9c1d708302a6015d033b4ea60f825cfae42a6904fdfef309be8a5701bdc338a1bb6c50be49b254f4020002d58681bd1966cbd587b4ee981e2ac2679e1dd44f2eb0e297ba668e61e81540cb00024eb61c073752c46ef81fef3549bd2210f2cb0e99313ce4b63d7da21b0fe7ff3f2c01dd111a4feca5d0120327f0695453436ea7c5ad6c9dc7233f393f2aa9dfe59e48020901ecb8acce0f0766a404d0a1f18ccd01996da5e04fdd69a8586813f05128882e2d95adc8fb81dc6cc98f1871eba018136d23005c6c055122bb66870c368b17ebacb9e22b127e128cf98899844a6bb3595af334e82e7acc842bdc625591a67ceb0195507e97b970d36df142e5664a4a2d5a69a8d3fa031a1b9782de43c3dc10175b7ae53dd77202111cdcf0108d051e17ac0d40aa1a69d68eb9727f2863a421d569f4cedd749b1ff11f8cf82eaf227397da3d57a909e736bbb388053010b7edb2001baafdc25fae0bb47d4c93e4c80b954f9000629a1eb6be3b7852357fa491c7e6d0509e8e1f66b9069495569434afab905e407bcca855a47b799b0492dbc0d40997a6e173864bc6811715461c64471a821e58876487e0b9919fa71e0edf05630c07cb584c8fbc6627122f712e0a110030d71d89068377f06b4d26c4d8a89da4c06f4de56abb88e63b20c4b7ab0dbd6e8d138ce68aba11437d7e35e9a3d1e398affd33a27fd7289dee155563c9f4800a91d4c36b9773d596687965e6d268501468a92ff4935d2c733c1f9ad7eb23a97c514879d03deb29d5690becf8288607742bec901651274a90fb1e427e3a427a9abdf9923128ad707c3b69d47307dbfff28f455f25355491b23fbf54a350ec1ad33e9983a775a6f15b44628960b9f1e2f2111694c9b66b1490d2539930ae32cd52a9f0d87683978a4d2de43c9586d9c2d9ca3407fa9836807c5e693313cf08929d85ec9a47fffcbf0af586c1efd0875fb1e65369fe7f753a360ab021a24119c608aabc15147e1047ea69fd430e084f51d3d6f6c61abb188aa20a750ef493defc3997dd8ffe21253d96654feb18a84e0c771c1958747f21118a2d290e6998924dc1b5bb0e6a941a8663edd3fc227a67ff89f99eff75bf2f15af6ca232410ba29fa1aab4de27e23d3fbaf9bd76c2f12db4777cbdfdbc24c35368ca08deac6021934c68b94d4b52d6e4a6053bf87f81a53ea486fc54fba9669b3f273db9d2937f62393ef71c4a5f53d519cbbf8716169f809a34f68cfe30f9f3810bab996235e2790261e73db99c4b826b7ae9fc32e5a4574f2fe20804ed896beac7879a7bce2d3a5292fcf43f898fd05bd7819b4add5d34934c97000cdb1ed1b69122fb3e94ece6e09eb5c75249e3bfea613bf784d261de997b980cdad9c2fdc73d7213a7e88a8c87dc927f12c35a0f8079cc4ebff9a1d8e154f203e762ad9ef288cadba15d4430bf6e22b3d38905e247f962f914922d7c31344d04839cbee2e7f66438fe31185a747f96414e690615107accf8050c2ee75a138405d1a21f957f7f24145aef7fc4441bbf02cbe472ef18511d69c9b68c4a0bbef00621e75f79246dc3ea0c049483a223a9a5b4a0ff1d559f77ae502805e8b1d58604424ae0d2cada7ad105294ac7295b0e06a2ce37548e9b383181d877c8e4226d0bb84afe839977076034a719a1bceb5811ea8342333c2b7e061626a1bb94866f04168e52d63d395f420cf6b70400d01c81db7ba0625b4ceca1dc82a3801e924f04079e76944007c94a45c193d1a315ce65c71b494ab0dded17c8600a6cc6b88b0049c4e08339efd02af4a479a25ade3ad4724d348835aa9d0f1b01a8431c1f3b0a72c9abd061dbd94d2adf27767168ad80662688b816d74aac0c2dd6ef2a1c9f039ff72c8574a86ea17fde4bd94ec50bdb447a3aef43ee62d7a988746f981fce05d5559249952ba3e2560bf3633b6997ba6c74e91206e0ca625d8a557e395372059026ae07ca21eba2caeec79f78b88ae4972ef29d6c18115ba746b046f932f309771a4e2c5484e8d4e663d262c45197c04bfc6622bbaa309f9b5a89cab32ddb0b52cfd7f8551088677a4de9bbff12c9d0f091a21a381f7c0ca9b36ed1a50a050055531894c57d779b2f6c574c9cc1bd48de0c298eef4ecb9149647d34ed42fb0423eb8e2e8b7ef22795df5b205ad3824cbf61ed3b54f6dd770336cdd375e02200ff556772f08d4c6841e4e74cd6eb675c40abc4aa40d3b9a77f8d6f043cccc50ab7fdea69a93718f440d116b86e0c523520e2bf72c67abec33b3e241911e2080c99277d958194aaaabe5a6da7cd09f48860b92efc1e6da371f9b0d2228850ab0a5dedcbad93e812fefd3f201f4072532ab25539995f020882c6f91f92a2eb090d5a4d96e5478e565e724c86e002a6ba7b2a42a9fe7a320ae176a9c97462db2a04ffdf27b1db50400a8d0607702a9c67efa96166c692b7db017b7301428a06bf016e696312f82d1026c4ae7d9f6075145d43e04b084c26818ff91f619014711a0ac722fe2ebd9cfb038c0c391a6fcca5cbcd4f68ea207db7c70e1e4b041fce3f033448aa669963e7df7d01ce2fa239b85c6d43a4d5de187870781dec71a6300902681b37f21e288fcb47a47a3df90f9a758914ed80919fdb82b7ffbc7a052f1f0306c9df8a7264ad990b0045de8ba530bcc5db8f9592a7b81471d4dc0327c52e0b0c4a20e50de79dcc933a8859cc2be521ad938100c2d302b29da064626b36780b9bae39bb4c121b691bbf6a2f443f11f5c70950aa74749fc9a7a3200e45e3b50a9a1dc212ca4220f062f160c6a9655c9ed1be60113686c2b26fd241b6eb38ab00d3d738eff5ae2feafa187e2d6a84da98c4364e4c25aff75e2bc8ad565848e70e49137505ede871c127d8a2594870d0a78ee0fd1ee8721cc0fec513a8781dc00564051604147580311163069d147a7b632d88d9df6298005b1ff4cfd3a98d2e0245cc6dcb53630632f9d6d2bfe765d435da0360fc9ec82c390e1dd6769afc90039ee6a7846c359fda291782df716f7e5c208bcb8141282a4dc7c80c9e59c845028bcc485abbcb707cec487feefef522bb6d6b987f62833b340310fbe4bd3a5a09ba2814fe01679e1f498c5f61e3142a0f0b3164edd67171303326202395b15107d9e47d63d8c9868ce47dac6741942a03f28d621102fbec9ebe89dc0a7aa0f1044e0f76ed621c6c430073c9734c54db03adfb59abcc11019e6c9627de210b7801e16fccf4682c8de8db624e2514f3e9c335fb861c30911503e7471fd41aa7550a0c9eed618b218adc7b77532ccb4f61734d8749e7a517d7d95b1bff44ce4a320ed24080355ce664594d666caf6b221db7bc1b962d12e197e9ee4a9f1b47efa70758b400ffd1a9c53c5f4686f16c08503b18c27a898b9e6549a080a6c2d31f28061f033b7396a97fe63a29713dd8762147f119288e5166fbb6e5d80ee56981da04ce4f847182d586974c1e029e850b24bd3b3aa385c7671e46c24713179ae3c00f7c86c732f9660f4381cd882a35352936bfe2ae8c9993969ca2994b83d55dcd01b0f0fe8acd6f03420f7576673504c2fd078ccd5fc437195d04914368d992dd06b2a45c6c57562cdbccac660ed0c5df8545bbb57bfa1d474a91fca0cbae97ad0aee7f748a300d55661154bcc2a6040b180762216d71f9c76b107ddfbe35cff40079dae59ccb6a13a56f05c0ae861a0f00008701dbba0649cf1f1f93084517840c55e5d14fb2c841827be4aaff895fbd16343db660dc4b7f6c3c7649123e6ff409ab8ff85022dd188facde0712b3336f6d84187adcc5c439a10df082892ae21706ff61ab274aaf1d2596225e1ed7d7517ef923da74fdada173fc88f223e612db03699333d5eca3dbf1eec4e9b752fb584c01c34a07c880fa67a0d00c4fa1af2e012e04937c97133732291bd3cc01e08acc2e5f584c67f0038c879e0a1ef5c2760fcaa72050244e98a4be851f3c63dea0682168ef0b914cf816b0d842d1c9ef590f6375b09e17d51ebc47907ef058cab0f2f9818630de31af8836a47cd8db6ed304ccf2bc062ddadf672730f87e9a4c2d74994c1fa120673cbbe4998e30779d280bd109a7b24988cb5de4cd8c1f38a1847442b9077f8606a0130f5bd1d9b091670d7af604926f392464eb0f4db456db11ef21639a940708ed1efa74a23ca71b87047da8890b3530f453de50f7ef5870a0a5105de30e15990ecda0de121cb37b8607eda65177ba953d7239bcd17ae0052d237fc6d9dbca7a491e473c1c2b2a562c057c001f529085be626c1f00a192b4de8c9f4f829df936120d3f0a8d5a41103002e88665505a9726f556dfc98a5015a20b177122a0a2bd938f710332d9660dd8032193a2e5b31b04f7d92ea00838bedac45121936731e827db37954f35feba370edd43d256eeaee4cede9a037aaec6aed524fc6a49684a4357b911625feeed66096821fa6325b77252de965ea4224045d1e926f2c55e78f4a3233f08941a70c9002e472812ef0d1837e558be9feb7dba150e2741fbec66d2e6a48c08a34ef0cd08392a63b86d3cdbeed667f5b5af6c37f028360ec9bd09f02512fbdf40cac8d9086d21737a68410f1924c978ebdf669f18c46921901f03d16eff71e61d86b45b061a9bdff9ecc5e73b090698771595e19f2c5c90baf3edd2d49772755e4a73f20439a8dc7a519e44922678b5546d1ff0ee9079b28963f6f68c4a967794191c6b05f4c39b12d640f48b87ec1b44388b2cb988ac1c65ed42122a6da366b59b4f2e07b03f36551a3bbc0acb1d25ab71886aeaff802a32e0a4829c81ab4782ca5ce70c4bfa0832c2fc5a30bc5e3fa29a4645c1bdfc57c1de2f5c878b1fd938d935da0745694175486e326d36a6f5b76fa7b7df9bca4d99cdc4ef3491fccee317f80409891ee2d5ed5f15b6e0b8d9ac2f1f5ff06b86539e8671e8c37e5757383f1621089289e0f44d3105a698920ba7471ed772ddbbffb85ea8a066ba28e92734978604d87f20294f3d0c80008f55bf1b2646be71feabdda1bc4117f2853332ef56880d0fe39145355630550820598bc6009a0cf5bf82befb92cc561a1d93998272af07009e57405e1bc81df1417a63f0773cf60928e528a623c0b1594638536ca1510e376f7a25381bbcd8082fbfe055ebc477df2081c2254e8e32b5163407dcd53e0be9d18aa4a907310a7c7751a34cecde64e98b29da5e033658dd3ea6564439990164a59188deed236e9a06df388489cba06b334f4a63605031641c9e40d2684a043b52640f5e6f09bfb899063634509a2ed277da429ba9c252611780b1ae54c805996c20cf1fa77e3ba1e123094c99bcc2cad2656097bd549a526a19566646f602bc14c0efa53747b37691cfbcc7e7a07bd09026aea7ba2d150a738349d712f10a83296842bb9d1ba168a291e6461c70457fc7e519b37a83bb95acddb3f9b74a060ef2511a86a44ac7272d961a381f79b16b4d5363481c949026928cc72a048705b5665b2a0253c1f837a7a79818596a2425dc515649aa449ba3a3e837e58a900a82dbf391c1c2a57da382967ca82e6cf23930e8de783299726f7fc2322b197702b0ecb8d13cbd4d665e8b65bb1b968e1884ee69aa979728236be679dd4adad30b092cfc2d42340dd1fb1dc305f4007e9a823fd98c8e720a516695d7d3b1260605bde7a879c904726bacfbac72b3537e224ee2b0a3f99bfde287eed054a3b563060d411e6a1b482969cee695e0bd093930c7ea01bd491b6a27c46ead1dafe57d0359b228aa245a1d1fbc4557e0a2f9a66596a0e671aea7be061dce1f88ed4512096872d0668a1810e7c13704b240143f7bcca6fecea50a4948f4fb3399d31f680cf2acb1c252a9299cdd6fa60c9fe2be7090b2e05c6cca1177748ebbb2737960003e2d6730bbdd072f730f82a9b753b3d2bcb586ebad23fe7db671d94e41f515018818b39cea43a4b87329bb6b8a74cac360051604c4f97bd516e6cabc6c6dc806b80bd4b7b823c5156b681c8d1510961f612bc54557f472543b2a92471974fd0b352429fb37fa24edaed642835f310894913e05dfabe4b37a571f1fbd4541dc0c8c5bb0dabb55edc03437dfce2f626d6abc62c8a15d77f5ce5ce1735edaaa4503eb08cb47a4cdbad0c0d6916a9a28002ec031502a67ac616ac42939550e387405c17d98e58438ab8e7e2480ea9e59ef65dd2bcc8235a74031e872d749ee5afd03f13b6a772dc027b8f6ae6e2354e21c742528d0d5fd0c1282564a72facbec0205e8904b077269bf17a44e0fde043c7d087e6b11a1e61274f284d1d6ccc580570468dea4a424695fb8eecb96873cbf643ecebdb3c8cd72558ab6e4d401ec488f07704e764caee6f03cae3596d12d52bc9e7c7ebd0f218a891ce3535e7ab5f6530abbea91be2c353fc2c185ec2196a58b05c6e7162b4e089fd8ecb82a39a32a1709921e958e5d59a4af93148adbf363065e870516b5568b57b1e77c5f7b7b37e50e500b91a97e0d6d06dd6da923efbef24210805279e676982be055cda3d375d40490d4c36c73e25f5190b72356aae720e21714e629892d148bf47877306aeb9e05b05830d21675146b0c4efd6648a3bbc6efae32da42fd4900b36bde8103ab5d05396e2c099fe0d0a7fd8d9f79b60bc19f85c2b1da7c336912195294539c320b09f3eab97fa5ccf569ed9dd509a343a7e89abd054d2dc0f613c282151770ed5f023108eee1f1467e3a89fc9633d576c108dbc3c1a23bee26ac0bd9475ac3906902350cd71a2bae33c3a5a579c66e4fcddb35cad314c156f98f31afc33609512d01f1d6a25ebe4dbab133948de2663c1fd8936e55da075e771eb7f502fb997490077d4e152c356e1047d6accf54b636fa21cfd8e5e3d1bd66f3bf41547e5b19580aa1262f1f398a2adfa9581ca3248443e9fb30538c6711d43db796cc18f6e5d60706312c6f1f2b00a391fe9e32cc8ad6e0e52c9402ae060c6e24bc0aec76e95d0a887ea568fac2e9b4538cb6aa15b6937074296be2db4c4600ae6ac59a4639030cccf8739da74c1c6f7f7d6fd47d10597dd85a8b105c9a1214f00141049b95b70a0d2d47afb64155d38a19c262fd46fde3156627201297c1e540e8131162942d018eb1728ad891671e4c552e60a16d420a6d1c03681cd916973e5331105bc90e0e18d42ce09b29834f61a1fa2051e7f8d9cffd8fd1d2ec7b7ff759c1a7f0152d090c87ea512ea411b976d659cbb8895b358565dedd00d8acb82884c7797fca4c0d2fc92a5f5c1ff3fc44cdd2e1ea5076b50f34ad92cb159212a48f4d2ea1037f0eccd6aac93595d6c227d2cc14f505bf06126750c5c150cbbe225ff03f3dd936094f2832b342235a6c0af97e7d3bceb420a51ea86a0c21cd79ae00a53339924d0de14b4cefe4eeb793a4f5086cddda3f983b92dae01f10acce793889b5d1015d05fb18817ac6228de589cb7e5e974c7c1bcae70a5481562faf600133761da83603083bab1f94135a6e4f4557bd9dba8271c10e2f2cbbd38d9328840927ba0f790ef8cdd6040eb1b147f03d8c9ad8060b9f4d04e0646da0d2f32f9c61dd6c167f01f8b83c3ecff202ce8b3e37744f1dbb3cab3a0fc5936f99a7d210a76e1e88380c2ccd7ac4fe30a89d21e277037f279def0b0b87ceed96e160a5c7716ada68820a80fe7891019faa118b753564217098f0acf4efb00091c569831c9b26dd4f8f0f3ce918cbe961f26e86221ef92eefdc483b6098d6bc705e03b2f9503c0462c60356d98b27e18302ff49bf814118b9a0ce388ecb98b33df7edc4f7bde954ec090a56ee01f85f3f63a327c99590eef77e49931ef86c689121fc24e6eb26b738e004e214c008cfd5f9ae538a055cb9fa662fe32304667b40dd04bf5ba6f87ef88b03e53a3df7d80027c522c8fe959289a0e557f00b2b2f2361cb1e362900a0b72c0dcf50fc6d7ee0efa7aeb6c2f6e9741b0f21fb1064bb8ac5d53ed2c42608401a00c9b11eb503f0fa443866ccfa0bb9381448ea096ba95451664777310e43a3230850a2d14fc427249399ccaaf372faa28a35ca6e48d99fbfaf7ece7d0f0607c7091a44d0813bf28e0301833a5618398cc7f2c79e1d50309771b63c3e922a246a0b7e6fa714b87002338d753bb1b2c9d812e2de90b7dface6dea263694b3f05f703370c9c51ef4331e2dff701a04defb99e2d65798b8538a831352364bbf88ebe0fdbdaa6a320ba745c11430bdb9892d7c0c84b7c0f4686da1981c6bea216fbd800bc3ee33d66372f5e3c32bda8de42a4215d4c92bb3337c0763c729e62102f1f08f93ff44a1abb167f983d4cd8cc8e8af27d830a9b8b14327442aec5f2fafbab0f5725ada5275b05acd9cadd5eac3d8d832593d07beaca111ad28e03447d8d6d085d1d95802acc81fba8e5f069b7a157b3cd3f4bc01060340d8890d6068b661a08f2cd95221e221e33bfee4f187ee3831c28255cb691b3fe1596ae83404ce3a40465af6c029163d9b8c33f4f0157ed4e56f0cfceb69835bc110c13f122f8940f0fb009d417d489028e402e1a7148c87ff1360944fb610bc55cf37b4163cf025403b96af55eaa3a59616605491661ee0094e7981f4990f41e99c1754e6997cc8607bbb9ef44ae68300cd9a79a4c81c908063ce72a9928b4767e7044b8c1c393bb067f8dd0772ac11de7f62f9ebee67060636eb3a40dc1b3d6f59681318c4b8bbd0bfbaba5017e9291708b3acdf23cfdc57839b336fb8bae4ce74f1f9d8866980c0dbc378cb345c17448a3daecb448a99b9ec791000775dfc9e49ab3772fb39e470bb078f1bcc0782f6ea7814c7e6cd8a37ec16cb64ca4bb54b6206486c854906000ddd457f5079ec0156f0ee6700fe532a3c7a04d460387e91f43e1bbf3280b470681536c64f7e869e4b5cdf4bf396d238a46207e1fdc5aae6bfa07a17044130a01bb1607e1285d646505938030425cc1bcdbe2e3b8b89997c8f7326c1dc816140969ece0e26d08313b2c860cd9d8032a08b97317f42b5a5cefd2b12a7a670054035986bf7dfe4cdb2ded7bb591f3d065bb71e6ea2dc4a30442b1d7ba563b01bf05f61ec2788b9428ed65cae0c439ff26a2a3d6f6a6df8f361de3b575c1234d53086fb2139ea299ca844ce7f6b439f8fa58e7e9683bb45d149264a1e3d6617e6206ce031952e0e8020df0c6599dac3dfe97e90b5c3b5d844f4d4a90bceab131b804677dab48bf7fcc8b5f3d2cb6589dfd9f045964a9bcec106166095fd522cc92076548532de12332fe447568cd92c48147218e7b1bed4ce41037a14e119eb4da0d79ee178aef267bae99865855e04d478e89e651a7f24c3e4102a373c3a7fe4004c8954d2238a128febc50f7f52004dcac5986bb171e17a643446ce6eaa7377104184e1ccd86fad79847eedaed22f354a63b8cf5003f2ea47632686e93f7c29a069be91a1bf2aeb8aaded9d1b6cf1cdd7d0289d59894d1c8fc3aca225088d21e009374aa975350bded4d471cd3d4f150091f5a90e0878f8a9a451816ab02b8350cd594605547a25810ccfac9b60a04b6acd43bf83be239fa263ded756ff409d40c170134ee28cf2b1bcf23b019ddff7d1999d04c9c6cb2ac97103104e3d8b7c302991230b0cfd5105390bee5e3c0e4b5a35aad47651c00c915ac069f99146f1d067cc755e18fc881751de2672960a604a2003da3eb520bcc2db7a71afffb89820a23818c01d0b5ac1a86e181a2f42dc8c4bce7620b0a214d16ce2fc22a49f8b503a4a5598c397041cb5b52aedc354efc94bac8a6d314f582d153c61286c1a0d70e1921302bc3234b87f0cdeb93259b86eef1dc4711f2e2d97984e31dc2ec9cc101ac8a43f1399d306aa8dc292e5f4a967fa2d4210f5c628b9f3b4bd1ebc48fa00d3b241fdc67dbd9664e01342bc63c26cc4e87d819a202307a12f9bdb4329d9c0ed18e6af0231d180766b2dd971a3dfe88be61fb650c7d1d4c0e8ca24515139504403a547786995259a74c0cdc370ef622646ed10bcde03546d7c0e55b386e550e9d2b2db7020a252d096ea6a10c3908f19f77fb569d1f9592f8e02137be0bf30bfafa9ff74c706a959e124f6336025ef429b3de07394854a4bd3e6b1a498bb00c683b1dbff19c448b7824b0dd1ee08246f39b14800bee3b15f7a105f18b651109ff2768985564e6e7d164952e894ace09f39897d12b8b1cec09e1e46064a3c707379e31fa168f0321370fb95a02defe19f5ac3048680f137c2b4ea6239415c90d0114fb7802971d4ebebb3723a9fa49f9d17dc96d4b46dba88d10539cf6142e0b57f4fa686c519b5632f07b9a2b28f14d298ae3f1871eb540e5766f7b9db08201fa4e86f4ba91c255abbb805668af45def6f598a37c2a1eee45de152a5c1bfa0d17cb7c83514cf78f32c139f9823fc672323f4da8654cf50baed5246c9d8c840e1278730a40d4ff34e5f11a524a08cc2fa227cc54e9ebc0d244d4d55bd190af0ee4dfd19b5d867c9d52a526561a38d32011f8db8f48fa14ba662d2352e904790b6cb9fc8e015a9ea810ae295940ee4b1386e63caa31fd2aacac2591ad56f8df0fb4341249657c0d1f4bcb2a5d5c409bbdc55ef4560d36624991f9115c7d29c80d29802dd973489563c7aaa8675e81e73a8dd1008f886f2b727c016031d024c80e62132c93797fbe081edeac5bf57e04c79e2b6ba9908792a963ee953317b8830e91bce3ade62c6b01f3d0768baf3d8330fb0abfcb89591550a85bf39389e07f0fefddfc53a51ee92f9452bebfd2a58e799c1006e349730ceec0c1c4aaa9ad270f5cc31b2c0bb0bd7e30bd41d0fabb7c58caaa29998e730ba04d418444f96a1003eef8db3bcae2ee9ad7fa18aafbc5d832bb696355a92c97acd3a31aca9ac7b20973c597a6efa76968480c6d04a52a6870a7a8fe9a525d5178b4286fcd412ce30faac1d04c15bc800066734bee57be579f6a7df6542ec02f0aa59ab8aee1296202c0e83dc078beb0cf839fc6e63e02491dfa99dec2b4d53629b438c88bdf438802bd3fc81d717d0b1836c278c9df18c309785b267e3b6a23a8fe241e987efcb80fb415d57bc56a6f71523403279a9e6b18145c3618db2a899a57fba694f9b4b60d52359546d715ffd46072b7d01da5f2a3afc22c086dc5de79699857f04071be06648a29f7f005b8458fd0d5e5da9aa7138ea862b05a97d14b170101e33074410c1a3d453056245c7631676230c15fbb8b51ec45029a7006469194585bd140ed09fbbebf428d77cfe576e716145ec9e482fb22ef0984e81a90ce573db9c978cd04312c556cc378267f85149ca92499bd0ab1910a722f55a78560c9b0b68a26ac0fdd94c1b342ca8b22cf90249a864d616cb3332eb2ac7e5d995dbf90a48406630103fdd9cf7867fdfa4e1fdaa99f4d9391f49e53f72670f0ead6dff35f5e491d0df6e8639b86b74bed1c1061ab3dc4b9a1e85765265008fc932205fe35d6886e0ae3905837dc41d5188a3fa2488fa369cdabdf15296226c555683c542a59b2160443d653e9e94cbff03045e549f112bfea5f1c478f0e4972c1ed1009124821180ea5c95b81e42ce46ab5dff681843fd872098438ecef70ad0ee0f285ab7e59f303a5f61b58c1bccc54227365696355cb8cbfffddea28b7fbc8dba7fd77d332c807cdf97ae5553cb4964a7dd02cb0b6e7c7c6bd132781228aff05009256dd930807ae6a8325a29c13ff04a6a2d307fed1ee2d54bd364274c3a2c7f6e7fa7157e00e69641dde24dce78d22f3d32c410616390fb8e46034c9beb694849cf531425b074c1ec4821a01f23adb63f648487fdcd440ba0c36ca207bcc9876a8f4b5717403037a43722256ae793dd013fdf071219fbd56fed57d4164da09d3a9294b0686097f810fdbc82bb60276be9687b9079d13254e52a0d4cdd507bab826d32154ca0ff919bb28a80842806fb6b0b8bf9acb38d18c0fa007a6edbf3852c6e36d07cc0772de3be8aba8a6b6d0fccf9da8c919e31d7aa2a7b6381ee8f1905baa9b04610c560d0089c7581787467b62fc48682e9a7dd3de090d941fa7ec44255807957305c22da801b8904e790eea7817b5e4807e161f1e1928c8e3039987c14c822ca10158d9222c16a3bf277b7dc7b41823de5370ca90824ae541d2b96fbd38e5918b089c2b5322af977b40b773a794c80f8d357f6a50911916600e2dbfb369c33b11094a883d8198068fcd7f690db24648216e4d250984431bad527da3b98708aa5208c0b42372e21c7805211f6e33df72f900efc4e19ddbf9d586645f9a2d1d605d0899c0ed86a8acbd45631c49228a2cd2c42b4845d3fe7731ffc12bb9139273960ed7c59e3a1e34842ef58bafa12165697e35c7704066548d07331a11646a86b10c977e550fda7d7e864ccd090f3c2bdff16d43aecf4f63d2910282b2103be3ca075ded4a330163aac0c512f22631c059ec98d37f6c76376cb319b402a23edf560b4d9627b23c737d2b19b08c298150383b709e810a20b5cb2673b3616dc32b680793fe419296afb665021f76fd88c4b4303e6070e9bfbf434e4cfce2baef529a0cab401c09d8049d4ee2bbb65fe40dbb08b0335e59934d702c9b6c89e5de153a0aa1874656140b6988fe8294d84b01c2ad76b6044ce55ed1ca7ef1ee299fe78a0af4e61a997247a730e3dd5c02f9a624a745ead2c8c7c0562d6d1cce12a8966d0032084e276255d42b1b4662e1b0432a1ba999e545cc0c8cb7e8cdaa592881cc0c5f3c24f7fc645800b0f06dc955a54489e212c8f9d6d98c0dcb5dc207ddecbc0d1d382d60d091d94e46f947728bb57450e5dc9d31a9e2a3ad8ea0a7211c253c0d600b7dc9953d4cd073f8400a0e70e8a962f017a43cff430dd29e02dd71633e01741fbd78625e74a7392de4b616e20b7b31559221daa27ca39b43c87ac2b58a09a729d9520455c6f3f3a573dffa541b0aed351787a30afa87918ee1e23b3e5b07858d2ceec8062d5024138882b9ef72f1b14326458c5acb2e49131244461bc10039c1ad18c0e1c5bf7af851c752ad3b231073cbf02192fb25831944af3604590e68b15c2839cbec829523fce87b86235e24a112a33b015997889f2953fea51e03584ff524227c39c39ae0d990430ef785331c48dd3a4d24ce355942b3baf38905abea16f47fe6b5fc3bdd5c3a1b634edb85c6cee79fa61bae48f928a4a6498509ddcc620b555af3b534d0c08c9b12cc07cf2d8023669a53571cbe9b6d68ff930bfcf103dc03f6a14ef41f9803f3a19b5c73324aa6066239ea056915da100cb00fa3885cca6696abd899804cabb505e16586ee18086f0be5e11dbf3ed2f24e2f052877e97db147eaa638745ca8699dd514204513f51784e5878c9205a635f319045898e57d02a7914d178f67e2b8a1145e7c655c40cb01e8f82bbb4c5421fb9e0512dda5af702c80c5b154a7e523b6f55da3e7c5c2353f9bcacb06a4aa32c7b0025856189a362ad2974640d90b5e93ee12ac37618401fc0060b872775de8a6980c3f936be89e1b788f7c1c9bf108c51740cdb153891d5e7e048a705b14d57262023d563b18bbee5e201b60205ed311c6a8fbd3eb4bfabfb4b51d35e7e1b2d56a0c2486c9b433fcb737d12a6c50de7a357d990b4fec23c472cdd1caa90355ad390d75e242aa2174fc33b0c2671c2385215c90112a361c232d383fd33d6627853103618b643783e9019e7aa7c3f5599e743d0e188d5c05eab826d5cc83f702d03f0a6fa548f4f9f3326487f0ad85db0cd721b4694fe3fa4a929ab7242188594a9f0928ef694fbc7193497c49374f6a5cbb8271fcac569b4c7765c5fa9ec575885a08c0efc3b1b8d4bbdf4029d571817c60a0c278153a50aedc4227c0aa1b659f850d23afa23d13e07de60a95fb57f0b3f2a11fb7d43705444c114a57bded094f2e0f9d21595a2eda854936c3490c09935649ae3930b2f987be615ffd009a5206130ce32f02736cd2f5c9c0aaf6a9ef249690f91d9ae2e2dd780d3c60f413fb11910b0bfec40af911115de63e40cadcc744cfd01a17aab0e826341d6582894760d604448cdb70d5099d96679fd2a9ca27f32ac31a72e76788f64f7f590881f2c66e0b90f489a3a1ec6d011840b07b18d754dbf8b5fe204b03181ff1dbd8cbbfa374024a5ccfb0ef650bf2beec21dac663f54e4b59292264f81463a30c666b39a1eb0c7476d7dc2e1bb57c3d44dd37f9c4b91cf938cffc3f5982b49757c93f64e0bf05f44a2dcd0065c67773819682b6cd34f43da590f198042c77bd5161179093ad093f6ae4a05f8fb1ee5c18ccaa204db5e3da8b0f489cb059ea21a2f7a91b6d9a00bda77e0f4b6859404cfde739e90ab620fdef91d4746378456776cbd9ce889008f34d054f88c7683960d2b5134bc61f106e93f63af179d85fae36a71dd89db2096d35129fd89e7351c1d47965be8763f066291c69478b260afcf9bb2751a37f0a31df54c7aeee20cef19051cb4bfb236bdd18245d50728fc733912f6011b01f03e74cf176aa6c52f7e7f86218284720c64062f1a47014a9214e95f15ca3d0e80447ae079b40a4dbc7b298756baf48d1723392d095b26ac2549bea117d99903e09a1400bdc895f7c4f5585bda77b5ef60d1b94355a6771dd695eda7a3e111fcc0ecfd822a8525d98c705b9e9ba5fb685081cd88c85914ba932386552943cef810f162985a9e4f9973623043e6f415bac499ca38f037f119715c17b8eac4b5559007f1674aedbabe7165a7b5b0d98aba276c02ffadc1fa3663f692014ebe56f9701982ff6917179a637be3dd25e1ecd5fa16c8bb0b1d9e19b68b42e631f8459a60a506a8b2f32a39e3046e4cf5c4f6b8531c20956d70f97ddbc24038be9202f9e065d5aa61b321f9554af00987010abf136e0bd029f04306be9583efca30737510bff8f9df4c21c2fea2073ded6a2e146a6628023320e4b04c6b87375b5b074800e4fbfd4044e1f7e598e0db273f153fd9cf8d997a8da98211dd486fd18f6ff0307a6cee2822f477a857b42324ebe96cd540fee1ab6ac930279eda8cd520a59ec06b93c9091c502aa163cb91273d949b260dd9d9744ddb3e79a4e2e299a6d0aea045758c45c39bf49b778d2607fac2a7aef01f9222e7ab66ab2e54a6a44edb61802490a879dfeeafc832bbe87d051fbfcba492dc800b4472359f9841fd89b6a480e8e5cf403cd5aa12a388663d20a580383280b5587133a7590bd042330d69ce708becac69fffbd36b09773685979a61a4d0eda941448cb4d1518caad18f0ce1109e3c4b9968eba69f59b90e73ee59bd56b68208c134e541a8c4d9b6cb2ce8a3604dc8a0476e2d0291407f7d185b75b2d757c90f7cc6b5752fd93b0329ba59a290046f6441f700423631b89cbf0f77e1af6bc610b6a6480673a3712588aa793d20dfdabcd52f091e00d2c28c5950c15893e2fdc0efb0fd954b53686130b1ef0a30b9501ddd4d2c901da32bbd9f4710073458db246220c980c38d75b851d268a740ecc8eb94cc5d4b31f164e4803069345d3d7e3dc1daf7af74454077983101e690a69c66cce8d1410c775cb6d7edcd2360a3e08940c865fd64a1ff3948c42f93e0b1dcf7c1e84e678bc3d012c1bd69b5015b57fd293566a9c537652f3523ebaf30a96b146241269dde999cc42f2d6ffd42446ec7b70bc40a346127a70fcffe88c09a05a23d5ea4e910a9800474dd79a01ed52df5356012b401d1b63b41594561b009c20b3384c70dac01f7aacc66fb458c273a58a03e27ed38a98389e44e067c001098644b0f3d0e28cb339dbb5448e043b11f8d1eba1753c361e231adfaad9900e005ff3e4b59a109ed9148abf31d39c8f14679c95c45b70cff12844287d9d07096bc459729f4c4e52e4ef1d9b4a517df41efaf99340c9dd8826b2661e46284104684eef37021b5b49008b45143b48fe6eaea93679108b8949982faa1e518aa4000471c1c5981c5e0a1747617e58dcb555991ccb83026e8a870f8caa0b042c70045f1300ea6ee23a54c6d6cf8651b3d29ef139fd0c8a56c3cc44b336ec5e96e60a0ac4867aa9187ce6c1a0bc2ae5353c5dd77b6eec10172f312accd19ddde50e008304e68ef1cf102c832df4cd96f8e3865feee4027b7e8f2ab74d2ab84a3c1d01d6d5e799caeba48133a63d91810879537f311da7305b928dcb998ecea53b200afc59b699d24d2e194335d8e3036cfd8f144ef1345c11fcf74a48a79fa1ab4905f81e11e64d4ebb6e73fce85aa4e4e7008cd0d56662c283fdb93b104e9ca74c04dab10bd816ffb6c15bf70ee96e4ec45e4599fcf3231d748f28f5ef4a9905c50e67df0601814c182e59d70071d2cf450de7cdc02f9b128122f6207efa7cfae40fc64fb791a762d1907056561ad9964c972770e10cdc191604286253afc94dbd0c34a298290bbc6b1f0c826aa5b839f057deafb86bc1fdc140166b685148deb40ef7ea921e5608d618f40318c6e6814a655944fdcf4f4f6cd4c08bb569f6af180aace763c7034c4f8134afd05eea5903e29cbfc4bd55f87a4777cc01233f0c1202d8e8106b1e36c55fac70f439bc3b87f6a97b1bf73539896793d70bf0da40440d646f35c3b4cd07200351aef220d0adc1702db6e6ea1869d6712a864eeaaf3a0f250e00577085618369d83b3e260115345694c57816d870a43e25a18934004703aa795a1cbe0a23e58b4f7d5ce471084ef0d0462f09b57e9f89b20a82746bbb05fc61f4c7f2e9df35d55950b4869a7e1a852d7c84e58b01c54b38d6a1a1ed6f0b6288fbf608948174dd5a61ee4420cdaa1fadf0ce41b47d7220f3c7bae28cf601fb7b3ef01a97c449e1bf1b5a0506a68601a4854608553189a01e65ee3fef8808f1aa9d11a60fc5c2880ef54b44cc5b8cd570e745e97584f5c643d784ed52980e14b01994917bf0e8418c8cc62f8816b689d3da1841999c36c53c6e5e7095920330caf6db95a424fbb055610b136e04ba24a74cb7bf0dd2b07e2f4720efa49c061cc37113e4a3a3be56ce00787f9d136aeeb3f1c270450694c2ca531e1a73d50545ae1feefd34a3ac47b3ec515bd207d821ed1ad703f5205f047879fa681a9e00329c6a2f90d54deb1de243ecd3aafcb2501a8fb287425b4edc69e00ba4b8930ea032e322a16ebf7b2f3cf0ee905996b964a37a15313e2659cbb5df40c5a382082a52e940e788d34b6ebad4d3887a5215996ae6c69794a36792be5f5dcf11420423fb6cdf2b9a3ac9f3c52029cb9680af61cf5b91de2c9c650589b96afd062a0cfd386dd3f06ec6e043b58a45f23503b25d85979b134c1d6c9f1e3d669ca339075f1bc819e86bf1d169f0a424ab9bd3e8600da4b920c3061f709a8e0b3d9def01c2d4aae271d5e1c499f796bb97d3477c6c9cd284c7e906d9eb6352e9e8b59c0ddb0e95d170c286ea19fd398235bc7f6d54f15443d566fe19a6afcad9217d950743f3285ff0d5caa2b80b98198c186c8ed2a92e61e6058f8d72d8521ad237e401898a3e4e2f933ad2fab5eee938a9f71399a3a899103a435c82aad158a982b804891454b07559e8db945c4e405bc72cf5656c2fa41914dc52a08290cff1c7d209a0b149e46e23522a7ae7283e8299d2f80d55ccc5f7cbdd1e92ebd177e6e82b0ac777f2473b4320f129e2be387101a9646ae3b6beb9c73b2b9b96548b8443a1051cc025d04f8ef6ffdf44d44b9d2e5a829f3ca020f19602f0aaf27b3eb845e703ca965f11733b7a2407176a4fe5d3dc1bc9b3bb7ea026b0dd3a2f9a36ebfe4e06c5be54bac7aa8dc4d7495bb53cff39338036427136173fcb513873c285862b0615e7c033643e740251a0e168a2d902917edaf2734b7342100d16d7d0ffdd970d3edd9556c2b8817392329d97a9f9b41d0730a2d9120410533ea2237b70497a016bf08ce0e498a0b51ff91beb844f790533308b3e7bdf5cae18352ef40583d10f82bf4dfb386c583632730349a85623ee0ae3d255c0c76dc6bb23393ab8405a01df913a603d624b50b8eaf26b5758069545d6f70646b7171d10de7aa4f67f5403a0da3b7d39bbf647785951c7b27914aba28c6da56db125b98480277deb814a06f653d97dc25e992144af3e029d90cb5cffc5b3862cc7b629e09012b00e4e9c01388144eb1090dd5eb9b0f54565be9a0e0f053f309123f0b4ac7b726a1d927e0e14773f68fc6b344dbc1c2a55195456f3818c092ff2db084c33d4550f738e7707bb972e7c9d6ac13a273b5607172d023847ad267629d7047e0ca4ace1a01c7508dfa052f0882740533f80ee71f7784749d408504b9b14928208f1fe38e0f79f0f461613fba076ecff6dd29f0ddb2dce7e05ef3731df385b5cb9d9910783b619058b028dc7e07fd71ac3556af1fb9d99da8ebbe567cc7dd4349123d67018c5480b3921cadf82ca16f15107a3af77c3de02833f60c3a57c5841202d9c859dc8720d3942035edae026906a8f4adef40352c95104916a9f2eb26d300ac9463dd96707d9d3a52344ed7487bb2fa2084ba44d2e6df6a8371367fc4c00df74ec1ce5ba0bfb9aada34bcaf9e22f13df980c176b2210eeac920d39939b0eda3a0ad994fc0b93275013df158f716be775a69b4cdb507262980c8564b17516fea513312eb706fd5b87f45cb747c5d4d49a9fdba61805219783bb1bf8ae7430d23ccee36dbe0513a9fd68f222a7d0f7e7ab971579e68c286cb36cb32432bc7375d8cfe473800c47bc77f7df228cd657c811368fb8f263a1c28922ab4fee32536b7c1006bd8108a829b038c68d24883c36e92538541fc3da972d57b5d63b427ea90d644d999e0eac06fbb4868d4679f77f5d3b703abe8823ff0439795d2b2d1ad4c856a7e0e60709831c1559193ca9411459a371c747e4068067b3f2904b63808cc2bab830c50b62f035dfb2eac5f8fdc615bfae231bffc0bc504603d9672ca188935dff94d70f30136e28ae3e998cb25ede570360f482114be0764c9fdfc496e4188bd8cd4d0b48174b475bb2f829d2eab6144fb783413d8e6503b437a35e20bcb160b801e00eb370f762979b3982e83415381582763b218a59ccc620bde56067add8adbf8e0129521c291402c20c577b95dbc80a0f745598695f85be68bcf81d0be273655204268a8461701b66398f90c96f25a72abb145335a27cf5754c38d9c2383f0766072d692272a8d2633574d00eedd20b91b6ac050d8351cbd646a76a18e60f0a410f9d6dcd088d2f7e34950079428989cba9880024069d63a6071ce64412b50b170e8f2d2a46867338fd27f509a0d2f8ae9969b8162a5e9d87b36ce51831c229090c81f77154edf34e7204b349de2025963b00046d97e784274a1dd92af75ceef20cf7051bed70377222a8c9eeb6b19c9b4be8c813491bd2a05647cd1fd8ccc1c00c3ab40bb1f710422808bb7b59194878043e4c2d1f308aa2cfc928187a505f050d9cad71c944e5489f8f92926b03d0247c59400c80005e7e795a0adc7d607eb60702864edcf4eec96965a6e51eac2fc82ea49d82b89d5c99a157351cc21faf520fe581b7d475cbea87465046de5e573d590507e6521cc3041254e75f3de42c7303c29c7442ecb6c4c37f753f04e0e997aa461c332e77623bba7be1533f4e762b06f48648e23c04daf00bef13641ff0db9b05fb385c515cbd4da9f3e24c2a5b3b042a37f6c0c5d99e4e301532c3d0c31d8c4bd3aaf5697e00653d97566d476d7902028282eec1a85995b30cfa7b6da900d4a5fb832d077f6645f73077aa0e0b050f8db7a548b3457e982a16c8ef6c704621e88f954e1ce00561ae0934a257be93002d572a1b1f09a828d378153958eb973152b79b86d34e5cda6c3686ad5c130b0b4fa39eb0af08921170874a9d69c0fb07ef2ac9434bec2545482964a0543c090bdfe2973844da3491f37bb617d1620872495afe261690f91d47dcfcb517641d0f5745ec73e41d7457a0d3dedab610021f9b3fe239b1d31a3ddf83364931a76103f663282c646f3fb2988b660793254f4c8d8d1ce88266efb72d45513617c8bf03b5276479c9ea81d0e681def448086aa6e7c7fdd5c8634644c93ad4aeed58fd08c0e4b377017ff24710faf88140fd1731b2951afb9bf752d18ba2f2aed61699018186810f4ea120189618101ea98b65ebbabfb5482a143196b16ce84138c24505cb6f7e283a50a3b4be896e24ad8195401619eae8fc2ca3c70c1ae2c2530d060ba226c8ed4c528a1be871bf7fd3499952d09d0abe3037046065c7960393d8c709e67fd60e000f41d74ff3b7b5c050577f17f673d142a4e29cab5c9fa71601bf09ec4bb8d98f0cd005d3017db931165004c8847b2d0c93cb78ccef2b33aedfa80074d9cc3c84dc7d6d8c311974758db432b4b98032bd3670f3bd7e450ed06f5d02dac4ec11ba22b753ec8249ba97da0767ff0b5b7892be983ce0e5723a04f70a01238e3145de24777692f9559ea9bef203e341c7d74c5a866fc6be6edb210d77019f7437c827e9b0dd95873d3c33a4f02d283974e252093581149bbcaba682140b5ce611c696f5f98cea13d6b633cdd3529b7b55a7790a2c1bd4456dfb2bf17904ebf80c134fa8542d5a0dba63f77a43426cf995b0b5310c0c0e3ea75f7595b5019e20ff3f38ca2e0d97ca8979c1f313496f11a48fe5f12702e0ea801c065fca0e570b34e74c5929a14dbfe2924e46d57e24a877b90ecea90a15aeb33992f6c40ce73cadb6689d5ffc6b02623b7314a05c8ed38f43fed174a5a65430b21b6fff0633d90ab3030bc040b18772c8648a409933f98b1fd414786828744288e2d87c03af43fbfef51e416ec2ebc2bc907de8c2e417866806b72eac71ab8cf9739b70037603569a3120bd6679e2d6aeb1edd2f667251c0898bbaa0d9b3092b9791f790604f8957deb767b3acde1d93435cdcd54fe225c5c78e6fe395e35de63cc1f06052fe8471e5e904a42a9e5b4a7df662dfb38c60c796bec7f2fb0e4236dae326b0eccdd88d8c18914ced80fe1650781ba294df33e39e3a308e983fd27223f32af0af04c89c60664ca78b079ae925e34322e65043bd51e3081c00ec9210e6becdc0cb1a87b96f4c82683b218224dfa5d4221fa6bc12e39214c69c462ae11df6a2e07ebb5dc7e75d191353e27feb3f0251c2760327a0e1bccabbe214a862c493a420edaf8936d71a9d1f09cadb84af6ef05918d3e313d2d5e6deb96fc76a2545a5e0f5fd1e2d5609daadc8d8fe64ea96a9f3024ec5029131628cdc3f5a5a47279bd0488075fdaac2197b3e042a938899c9660eaf3978759a5d6578b8264cdb121580606844469f82764c104707057aa75b1afa303a956f9b8d6e92fcb345a58f4690733091c720021d69a76bea228c542d3f1218f31be1b8e38ab8aa0d11e83f1f90ecd8497834684213dd351bcd88036839ecaefaf5915f7d1c4eaba9b7e4a3b3f030260843f35d04f00379570fe3c84548d5ec2f6e92004e8b09e374462f2919f0f7e833327c4f1fda16ca8035dde5ce6b878d672ada11af4f348aac619576fa30e243e68c1d6ad2a82b10389223bed937f110cd9854ffc27d992b419d429879102c1da636313fe33dd639ca463fa4ea35f6e6f8b69dfc2b051773b2841e93f750b267fb69a66a653b02853beb6d870c3d1d2502a7f8a31e7bb660c7ad6b3ab1908049157df972de7a0b29ea7ecd289b77bcd0f6d1c7a408bbc1bf566791e1794036d17a1d4f2543fa4c2bd9d9e961a6094fa1734f77250c660b12cf718ee8f110286922a19337df08f6e1c18199d4f1d04d76f5905da4e10d8a30df0fefe845000c15a2c86599c9305cfb673a1881acf0b42f39c60727ab82e523842ed7debcd02f6835530188a3b7d7a325545a88a7913cbd014d5d8490767eae715a17bfac702ceaa1cabe316fb112a865fed7123ed26fcb39a36b8aa95e6abede5f99ac69b0a69ab31f75072e25b895c2de19f1395f7f7044ca1a66daa21966b85b35f5dfc00314ccd678c096f25d0af3994fb739f1eb98ac139dae780e32e0dd152fb4eb7034c4fb4a1abd3190b5e2157cc69fba211f692c84c1f084d6593e5418b3c1ccf0ec9f52e2c5ee163a922ea13fbf80cf32eeb36f65efedbb84556949e778bbb250984862241b8a01f6beb600ae460e072cb4c0cac0b1364291382bd3bf13e7a6502bf49463f5ea42e156cccda6b512c3498ad647af9cb284e98f1aca8d008b08a0a2d4b3e4107a97a858b510a64809a8e43cd7bd953287548dbdfd8dd74d6e06d0c448aed112b8dafb349ebc09dc27cbbc63c4fc6cca611fbb1296cc9d5c6274b0682d2eaca58f16ae76dc9fd9a7f690d244c4cd04ae2075d40133904c0a929de073e6327c577020804e8db54ddbc3ee7aca6554b0770320c5a3e7fb332eb61250bc0a4d4c69904d37c33ae3b7f117b43923b737d458bebe900ab73dc52e357370386c9c0f46f4a41fa85980c4242059c1df30898c290c14e1499fca5beff456c06991838bf928985558230a92cbce451f15806add29f375950a88270f3034297010f993f52429bf555987aac1996fd6a177401e98454699d6b8364b6e9e7888901e520254489a04bf5ecfe8c38007a6d5b15d3ecbbb4237bba2eecd182909ef9026bd4a6d124b7bf94b6a9ceaef674855797105239ff84b43ecc39424cef685b08af798fd07accf28937a275a46738dd90539d7158ee98faf23c9cdb331aa830026ea128c28b407db1a9e38b3d9d46a2b3e86725894856579f89a7ea1f93e4130806f388fe9c2bffb1baf9bc0a99b37f2f0f83a4446ffba382211f65d3f9fc8d0207a352f1203209023253fd3275f6ce95ea97404b2114103c8a56ff3400e6f80a2afe12ec4b1e514a3dda68cd014264d480c500038be0e2461ea3db6b148de201838806430bbb2e95253370e1f43107376f0bb1c84aea4435a4858afa226f9804f8e8f63dbb4d3e6d8d4576090cd13b974125924f87ed7321ed0d52b01bf5070ebafde716e5a2bc4de70094c3580cae5ab96b2f37391d570477849a23ddfb300b50ac912330fba63c5378e206801ec900810ff33bbf0caa6c4bf8491960575f03dd9c486d22afe4eeed4b91c6918bf5f3b9a8f500c3dd67bbc53ea568cf701e012e087d2d1d8ae991e956befc7d712accee6bc670026abc63f7be2e26547ed30eb1d84c2a877f07d8b73a2f104e773af4546f5b008eb8f6dfbb5728241c9ec70535ccd6e7f370b62ee28d98e8ca33af8a2a8a0daff3997ec314ba64a14a4daa047370b0c08045bbcfb3ecbdecbdd3626ec76df57e414f9ffea40217d11f551f09f3e98bb9409db661a37d6c6a9192449374fcd10b27a7272d576299dfd41a0108fad218a772020a18cde6648702bea07c39c6b081646475e7410680b8e3c9e004454a5edecc0025ccc7bead343956265b40a59b2bc4268ceea5973a7ada40d70f4b36a188633947d760c014b80803fa668449d409952dfae56bbeba20d33b740c580517e770af2660f17eeabb080688a6da9477c67ad30d824d31996fc4cd3c0be5d4cac69f1de31046d74f88cf0403239022f293519fac437e53f62b2cc3c100de7425fbcd558f2d2078544c4606faabfe8aeaf8d944f6e690eb5fd23ff7b90ae2eccf1b84220927dbd29cce13e625823011be55616da42cafdf51dbaffba400b6adfc3f7e25344ac4ec5fd74ba5b3995b8ba6e60d468477f9606fcdbc4cb702a8c80ed39c79d231bafccc6c329e74ff29a77bd1ff031d2d1455f18b1d3f8501a50f85beada66eb85720215d434fb7e23bc13240cd725a93f06025d30d795e02b2b4638e27a4c3292ff639c45ef4a19fc3349461c7fdf01d61c5c98a9a97fc07ab6a622f803ea7011bbead665ae718bee31bae7ac3cf45a8d9b1df50644f0e03e1821219639df6cb91c2e5ffb62d861a87734aab182f3120d0029b4cee967f0469c8ce0454720f864d7999870e028bda6af7a0663291a19c2432c21da03d3a0722b0ba0523a2a10c9eccd2c9e973af43199adf42ebf5752d7cb03258082fc90560ffd78d5e7a14e558321de568db7a4c1f7965c75b088ff713df757cbdb87a0872308e438932f7684d4dbf2897d26384f22c56354f12b978555f3d3fc311ba08172f93e4b274ef184b7705ca7d27cf0ffb57558f51f1cf1fd5f8056ca3010f0defaf7ba7edd490d3458d207e30bec137256f0c6aad45c2a02723280779fa4505127c9b6cc39d5acabba6bdcc3beb3fc60756d782b9ff3b933d4fa0941e4f3d07f32d78ee7d1f307d1cf5109ca1c2481e5ac2e9d2fa8e89466e2f560a85d43a04fe4aee18022b65edd486b28cce1436aca81f325ec5d61f8709b4d9c29620a702f25675c73d75a1f4f3bc351adaa74731d3912d62d350e35d8042761fd12dcf044c5ff65ef7e71d71a0897401015104569a8fe104ea45d4217a8aa9ef82ee6905dda31fbebde0480b5348fb114365c008dc5c78ffa7b2c4e6ea00677ce05efe09bb0b112faf2d95a991ea417f4b0a806d107d4936dd1b327d3fa83a7fb6ce420d3af819b50d9f3ffd8de89d29e9b7d003c8fa3bf8d4d62738ab1bee8565d32a0fae673120dc78faee4e2ef4c213a710b323106c487171fa78b6e2609078966902929514c5b7a5f1453bd7c15a05cbb8191114a4c86bdc3d70e2da58c0aab94d0e5423ecc156db93f1a326901c7a9acb2ee3e6e3d97cc2fbd35e99c1a57f8c98048367f265202e7492d81f44dc74422c1d02742ff8f690326c233bb4475879d202a865ab882bf114a555e573c08a4e23a5efc346e1150e3084f0c14045412dc30543f525d89b4a262d370a1923a2a0d3af6312409864e6760c0d9b96d5db2c5703e39bfd5d156a224a3c58ceed21e5c0501606ff7dcbd64bbe874ee52cbc954c0b4539c9e9a6d5ca15b92e50ca058154223bf5bd23e74e478fb7c5b45e0dca330fffad296849785800d34aadd443b6a97d33babcdacd70ff3f236e6ee47accb90866bcf84af673720e4c93e793c37d604ce628a01c139337f1846f687b8676cb0c78b0d956b542faa339b5b73af70d1ee4fe43f45987bc6f4e5f11ca0dd221f007cdb662b06196aff807ff91ad23e22fb06e6a8086a2b6206f741f4a887a600a0b29c1abbbb209fbce0372d8fa263da72a2135eba99f0e069496ac216f9b49f80f65d938cd8bf04d174a66c4ed413ba68b3701045a34a654159bfaf7e04801920e94ebe422955b83241dbfed21cf25b2b9aba69460199c5b872b317768d63eb102f342bf097e29ee1b5333a54464ea01ad9fbf559ae560fa9fd20327c71a0d39093d754dd8bbbeb7aff626afe7ebded1b8476c28dec05fd37e544e6d9f359e0600a2acce1026304e71e2b7e9b483b181593de99e76b57f91cb7738c880d6d0900ca0e2454ec678f9d32d22a64809aff664d8b5b7ff1c264b0eb231ea721850230047d0400bb18e8cdb1094a8b88528d6cbe9e573ec980231fdc928cfae8b37040f447c5ce41db3265123c79b2aa8a585115473cb57f9f92e08ee93d25937764705977247290fb2847a43adee1a0db9fdd224139e164fc6a658dcafb6d1510d440ab4fdd614cd4bde67ee651f91e7ea4d3cf9640560c86019b141b51d5d6e696606b369d7b9d40ff06be84ad939671856dfd1e9c9843de64b5f3a0845032e056c0772525c7eff2d04c70157a5d4afd129a1260e23221af91bc5055616feaf3c7d0128485f383159be5d4dcd8b6ee65ceea3ac3867914e2a6ee99315aa5a60a0f20ff09fc9c43f5f23db4764a878380860e101bfffccc25097cafc9d115d389da9038398a1b4dcb29c191538aa60ad50ac72efa5105ab9ee889bfabc61c0595dfb0859ebe37337c40d265f60204e32a73656eb182c4af6e64f9b684dc4fd283acc0926ebb830b4c75ef9a5af522ef2c6b3db60ca790e28bef80c711e486a6a3ee60f3628db9b11456ae43a6006b1d9e9689060be06da5f94d850392a0d68eb440800109cb4e248597461c625abca4cc8fe8fa6f145d9199c96f19cf4d59ec912b70f0d56173f071afcad7ad1f9441eff07924e3a0266c9b5a8a299d436dd5b60fd06640979bf30a7de315eeb14ec2987f0374a888e749990e5928baffddd52731b02985d87e15bbf41cd1501558d18d3a156f0ec3acbca03f6dd591b3f004a8ee607df5672fd2d6fe549fddad0f771f88182367547b88b28c69aa002e13208443a0c8a04511f093e89dd1a8ad9e1dd08f4690704745d97ae0d9bdfc08a4d01d89707b53f3936170e5294355e3090bb901aa8586ec269565d7074d5ffd79c9cdc8f09780b662a159947406ae3e77de5ab871cf1e70de7f56c74949cc193ef728ada074c07cf2fd264c09d3413fb102f942dba3e8f3a0e2c9dce0a363aa92c638f9f0be0401d6fa941526582e53b7c302228d06e87ba4d4112c355cf080c238f42f403861f5b42668fccdd85fac9720c1245b88696c2c79c8edf05b2081bebd9b49b012f0d23a54ba8b8bb1ee4ec805ce8de74f311290314353770247d5f92a64a530a28e1d7878707d35a36c0b614be55d921308e6cbaba67f73245cf09cdbf01bc067cf5b075ca2507168383a3c1d49e9f068fd8fd2467979b34f39c4a6269ebf40cabd894050e7e76937f4a5e7090505c47c50d5d93a9d80377542be3f7e903340d0af002f0d350676c7e6e469d4057bb30846aa45100c5563c299cb467be3fe10b7ed28d5fafcc69f790a9d4bb779d2918885220fee903856ead7f978cdc9c8c060e672c1c872bfe6cf55f37d93092584cbc189297add172ba94d6ba2376fcae0873fed1c926d0255f2e5fe6aa0ffffa4b833ce7760611186773be3ad7461f35038f8910a2de55e6de85709a8ee7b3fad75535e5993af4e86b4a0eb4bdfe90b004c426a84062cd666bcde4cd430142675debbf009ee849132458ce6842da8a5200090cc0aab22971eed82e28da96d58e601cf386c405535b6e1e9fb5b65e6a86037b531c2547bbe7e31ec0cdef43025886b313d6a63c0072f6aa0551531272ca04f041023a03f3cfbae9aee83cb64eddc1ab046b5e49012bdf222fd6dba510a4079aa97ac84d4b3932c5abb53546a1101c645ba491bdd70bbd3d6cd021584b270c795de3d62c31fee21618f2758834d4c9326da0191186c9e83e280d549f57070592c15e72690bf12a90f6ec02563d1331bedf702b4389c8fe0b1fe2dce7f1ca0363d936c0dbdacebf078c88df131c23bba537668a61c3ca43ecf9b195ca78d104a335aaabe2a4b27f411560d07aeda83948845771c2e9e185437730525c61d505638d241db9badea37945e83307269daec4b0555a6c40006a5bbb52316c9c100fdee59cf1a54b164294d468cd1c62840a3f9dc8f5d331cfdda06ae05103cce409b815991244c3f67a08ccc0aac1af232a034a900b27bf334c4b47726f9acbbd045a9a5d6525e0a46c0acb75278425b54fe4fe16463f80164c7c8d210391655200f844954d0ef2adbf8d74f03b92372180c80237f3baa6a32eb854a39689833f0cab419b0964319d8850e25751936107becd048e01ab3428477e35fa4bac3cc40301232a81394d98677d6f3a75858fb7a1f2629427865ccf6242ac5679309ca2043f90c22ef9ffb7f77ecdd64300c9d308804b1fee603480e7281aa77561e2f801ee511fa6b482e685d02192eed3a7dbaa4c9bf450b913419f3a7acde0088a35021c2d8e4d8e5fef11c50bb4cbce4b210cd8f6541d60e006070b4c16313f816f0a40cf8457c5c6e186969d07bbf102c18a90691c92d8dbedff83f3298f648c2d087e4b3fe00d28bfc5a744871702564136fe6fc33b4fba119fdbebbd0e67f5c90c55091cdbc61e599c6fea01811b34ef9a6c99e2ebbc6ced04d136786c2a7c860aa451e5d0aa5cdc64ae71e08f22620cecbe9439249af2728dfa4c9137e484790b2d7321764fc5a37b79b1b3030f54ba12b470a9ad663465582f7ce69c7e2c380e576b33589dc315760e628a2ee161555b4a850de1d76cffe6c3c0188d500d8001174ec723381b355bd0e3c6701a6d21b27565594e4fe89210a54c404347f2440eac3006d921183f8e6d47d4ac732aace6452676b31012c1550fb5d64ce3149b09b9e8a9cda249a5f09dbb54fa687d03011dfd2d63ea0b1b4f82fda74f932e630191c37725c66be4d36f6eea75906fd0714048209b6f1454d8b6366318225b2f0279616ea8de8bf3b4bcfb2a0b8631d4226b1781a89453241fd1ce5850a3cc67062141ac9fab6a60f4569026936fa00789925a9e713fd60a6d92476b85b12b3c036f8036fe302b6a0232fc6f12e53598b2417ade6dc5d3bb5581539038695af709f023645e0b3ba2bded5bd7ffb297893ee7d403c71007ffbb5b9c544ef609b307a4bccd2d5746945a818ef5ba0b71e45dc471822fe8b949467efb5c36e0feed0205e9d21b94cb442c14ff8ef5f1ed4a56fdc5dd886332c9444896309d44bd4a0247596fc37769e4484e7fec9b471126602a441ab3d6b50b85b8bcf04dc7e3c7017ab86e291cbeb7e73ba319c02973e0b2fab27791ac58765517968d65ce1b6108c108d712c3fb4a692cc7011af7182940bcc862995eaa28d35cb81cefd677fc0dc3f6b1fd29789be714d3eb436745fcbfefb8e3ebc9c65fca2a235f474717040841522cd2524fd6ce26a6f344dd562bff37181b3686b73d91f00edc4cc2e6700123064e3373bb91446d8378592e93fd91f87892e1f2e124d3509b92fd78583a0f85a9456d2c8e5cc997f20a095bb20257c2441f8c8d85b882d55d1c995c5c5708efac15c876325daa665c7665733e3e048b5a9a0abcf2120d7037a7121fdcfe0a7c4b4eca8a8d25bef62c2789fefbb956313771ce9092902667f8b4b6d9a83003165899d5fc738d754e4b5c6c7f327bdd2a7b1ad196fbd5f0c21a8aa6cbf1e403df328c2e38a1b71cbc61915449d6dc45a83289b8f8cdb98e6c716b51ec274e04c71d10c5fe8e6784284f78d0ad649eeab552756470ec7650d82846bf0cb9240c9847ce5d7da14d8dbbd9ffe78e4ef7e30922e0bdd9d9614b99b3a1427dff170b5c43cd9e510da9f3ef84e3943145ad8b50211684389d2552748e8fa705a5fa0a47471cc57abbea579e804b4efacd40c181f1ae1e882355d99d385c85be163e032664b6932aa5841fdfa53ca63534e0686a5d5d328db991bf0f5b1768d221dd05e2f4fac183cce206d0af79ef9445e52e3ac22223e9aed72b22e784114574c40672395a326dd79b2a3c1be11eb797239c77378daf1535acdd1820019efd8c8b0bf8834300a2d5b1ad6d9c45a7f729506f16b4309bcc69664e8e19d886df326a03356e7215250c46d85defc73c4279a29b2a0d01641146615960eb484d473e7a043703effc808e0a8092465e5e17dfef2123d3f18a46a73ec1ffc718771f7f7e03dc072bc02d5806196860c53b5900c13dc59d6e1b1706ad0054052cbf7527dd0196fcfaebd676c3b35a6981090282f04b885399008fc2da1b7379e34db3973e04f7ea0875c8da322429144ff5f7ddfd7403714a758956f8b13eeaf5a63a96900783c029ac5d52647ff76d518a81ec4804649f8e4b40ba8a4b262097656fd3660be4102ba1b6d59575671429ec19e9f19e14b1cd82541293b1629d4e468d7add09ef0be611dc452951e993d70e736ba7ab5fd38a8130a6af4508ade8ad2e53340dce8ea018c9f0060b71d6e9edcab94a905522ec7dad9af5a75166cbd34b478e077c6ff654b8e68f9dc4dbd06c756e1446a4ad9b8a4c8a0c19fea6be90e39e97095ab63e700b4940e67137efddd749783b64e67d715dc3a1420605c802bfa0b506def9268888542e8b07cd0d6fe4d2c8624ebf2453c1198cf1673e518dba004d0f1602f65b585e2250d27233f9d5dc4724689f9bd8578884abfa5503b6c88dae0d03f4b9b489422a290d5e4c484680681854414f429719e52d64cd625ee0828500d1cf02495603b3b9e15a55390339b0bf703a7ebb5ec96b31bb51cf2d713c4b046e2bbd2ff7690ee8a40df287ed251ee7dcca64cc84a1b2a2db35e37ba115f70d798c47ca450177ea108f9a1f0532e147f8a25c643391551c032b2324f83a5e036c36bbea248dbc5d91a411977afa493eeed0a48ef4daa54574bde527a999e0043dea7a7ef15c55d29d82c26e3afae9398967562a0e96fe04985b4efafce1e40fa231596430910439f9a313a4b546685d139e53a0508eb31de92f74017ade3f01499af2938f3310a71fb95d4fafa22820ac2d2a7f89d81c10bac9d4a0b9c2fd067a02b7255683cf7639104b65fe96677ff851f7a568653f7d3b3770f973c9810911bbeb6d534f44b27009bc174c0e69e536b4d606fe443de74c1609d8c1bd970607e10ae7526284aacadd0b583bffde415979a549191d36f919b463de05c7210654152c9694455af61a3bc8403a2df8d53e3f333747268959fb62e156195e2a0ff1e0608fde41ea6692c6d68661316ac5e75d560a7ea5a99787cca3b7d2c0c600ee4e1a19e53aa15159a82d89fb200342034f7fa304c5029b67c4c83c2b952d0b7de5d1617c19f532a8ed205a0a6f9eb704bdb7d2b8de448b2697bc0acb646802190c2db1924f39aaed5885016a299d6ea8e970debafdec6da15fab1e62dd2502ea8af18124414f8474a0e7f126c56045b59dd16e214adeb5a9ef799c2381eb02616a2e51a4e843305a3a94568fac7b84f61e4abd4ccdf7fd452da1d90414eb08c22879fa50335b5e886437e81809370f06f15120d8e43600ffe9a0387229ba0331eda11b9f1692614ba36763a4cbadfbf78946db861a34247e62b1e516a6cd06a0ef5874b25d34d787ddd627eb5e9e3bdb66976ce2415f14730a905fd2ec5107259fbd89868cb68d1d27ba466da6120955abba1126efbf97a8ae704a37941e0bfb31d629917518cded6190b3ce62bd423362d5642447716374fe2b21bab6f6019aceaf81fbcc5bf27aa11d2ac4e048b8c7b8c215351c21d2c8ff1ac5210dc40c952585b36dd13592bafb4a8cc232e17131e058c30421e433242d0de7f066f30f6ad0f3c3166f33923083f61ba467b11768dac1afea23e3041b9966d566fc2506e84d459e80b412efeff73c06914dca24ae524e6d63ce849f976d4d911c3e4c0e01430be604a7a3f2aa4fe017bb4c9cac80c4e4b38ac82bcb4a3d367e21a86704fc1f07c318eeabd615474a71b1490f1b91a141549c91ff854d919c3580b69f052938d1226fd65993f92ea58be4d050e44a74a311dde9e2360bda6b840ef9890e5e4ee1282c911be18c776854f58d479c3098cd39999c29f7069ecd4e3683280b92458c37deb69b0c42f5aad4c676d3180254eefc989d540b9e6c8cfd5df2e40c1be5cd99666e5305e1b694ddb8483700b84ef2842bd1ebb1faf3025406591206ff4e7128721e0edecae5cce3e59de30bc677bb8d8bab24a8029973b2fe0c6809bb83413ebe0728adc8d135f473e97a70bea8525da07c37852ee8e03c810b120ad61c97748365401a6ff7e600687de2637ee60848f8d9233ee074803d8437940897249971426dfc70b3f10616f871a562aa0b4542333bc7e0ac85cfb1ff6a770f27d9f2458919a5a201cab841931deae29454ecb30c0cd2ba6f12d2f90abd3e0f25ff3f05d152eb2e13d9f038509f3a332479628cf3237fa4016ee5a4c1b2f20279ba2560bded71533396451109958be495a926784aeff863baaae1a129b0080d467d50fbb36aeac7b5bd3e6dbd31ab573f6357e8c8e2e0b509ddc3e3dc41ac02958043a818cb87964c75e80b8a59a841fe3e2e80645b01d96626498110fe570ef456035b10059c95bfa8db3c0704f3bfc82a9a87524024abadcd9cb883fd6d053d61854a7e92995b153510c28367b447aff5832803624068fbbfa42fe42ccd01ef95cf83167606b2a482cfddd15b81e225a19da7da4fa2fea0de275ee0a53f02cbcecd4637ee129938ddacb11021db8070342205ea57726b040e01fdfd347f00c89e19577e24e209110d257d1de5f94960722acd89075fb190c9da9247b19106de5d434f5a567e2142353ee37e82352c5a38883aa5d9d8711318d7324595f50bf5581b6e8f3203461b7edfffa166df535082934129b4662a4a36acf9bfa22e02264af7a09084ff841a3ef2e48995af168019004ad98190e22175a729922b840dba7e1ae4abb67f621789d6144242525183fb21bedb3f76cfccda7dc5cfb0d30270729d466e787ebdf880eb08015760a3d38a6746055c7e1c5a632eab82a745036f2f6a114165b5b3eedcb3f9c64d8bb96ec79c16d10bc9084f272e2f51d7100e1757a055ae81bf77943caa66e65e47aeaaf4dd5223d741baf083b170484ee505da6d9d9e13ffe0b4e6d077e747b65ca61397dcdfc608c655c92cafc89eaaa50e1ba756f35d2c126e16605fda617d9c9de3e0557f7a29baab60aceda5ac748d030a88d9d92a9391a1fc283348b0c43b441ca470a13ba75528e7f0305595b6bd0018bf034055a9961c02a6a7fd8373134a653079a745bf2538e7b4079e272bb708bbc112e26f8c1c8fa27b809f52372b26d8db5613c62c01b1de2152c05e4f360a27ee0da448c6fba2c5e5c3ece62137a6b3b696c7badeb30c729d2edd0c0cd307d3c2fbb510da06c5ac051dc00a10cadf80d55158aeb60970759a6b5066062709e2defac5fd49fc4775befe818baaeffb19f0cfa2604922e54439c3d026c1790efbcde9291593640e8d8928d3b5995d55a3bc2f1a8dc27d8d65f455a92246690a7aa5cad5c8540b0c3a97426b98985c78d436a9fc2a81cbed2c3d068e8536de08a73203a9df19117ea9d184e413f2eaaaa1030c056c91b2b36f87ce2f6aa0fd046766ae42e6c8312a35e81e89ab6d97903085f9e086d436d9a2294e3ae6124f0c8529bf0d508c66afebe13fddd368e533425a6af9218d2a63bf273e48903ba703c5a8735df76f9e59d0ddf4773bc94eb3921d4926ff0e64602a9b60f63075ab00154e67b926d3d404fc40ec1a5fbf97a817a0602908ca8f4621139ad9b5f8700ee6263ab8ad445d7435cbd34a76df3813d350f68c685a457b1b046a00d0943a03a47521996344a4f86fc7351156fd55b547f259b4029d8c09c99d012d3617ca02fe02e8c50d1ec74b65c2809bb0e81f64009a53396b1b177d345e36a986b2f40f7397f4df694a32f81a221a22d652bafb8d14464a55244780a1c071062aa7b20a5421dc1388b7a3f80301b4a64ebf597e8f3e5affbe399c44235a9ac80a26b70add8e1cf038620cd84bb94ce0c2657166d3825ad656815038380a9e39e531c60f169cef284b52b4f80e7af14fab389135bcfb7e0e75121b355be6793b02a9fc007c28d118929c91fb9c2d14ca725ef835c06d956243d2a1d7e8df45f6ad36cc0f6a8b8af5e80118b7aae333922cb259f255d6f523fce1941e04a201cc62acb20efec1ca3981cfa3b681ad60c166a5185e64f412d1f440587248623217d6f2560d1a3c157088446ab0766ab2f7d8f4b47c9497ecef1dc1609c208574188a483a0fa35c973b9af739d395f1f4ec9af2423992193dd3b72d4a91541c7b1b418d7a0222c88d6de8a3ba539adf9c210c45d39570eced55a9b7f4e1ad7fa5a94af02805780a50e2f498c92f9355cbd9880d9e9aaa3b25bf49c96e32d891bc49b3d892008d6c3971e5dd8c4470fb0ac534fe4a37fb578fd6cb862804e820ff04c67aef019e7a9e4b4c70cc62de98eb8d5ca9c3bfe8edb48f0d2584e775f17a3b08b9b405e09e30e60ac0b28cc0a835bf63244ae66287155413bd1730fa4d5f32d21972002a9d1a88e2864572591b2a9568bdb64dd84d9d72896d203cdeb56f7ecc4d1603ef2abd9dad6e2e484cdb7e86213e68910cb19b3d6eb6f4b2e08a88fb13809a02710283a70f9aaf6f39004707bcb7890666bad6c8b3ef5e888be4d179162f6a06924c251570067ba827de5c396791d1a900e4487ba48be7dfcb0e117802418609821c903c04a63c1b77fdb6197d8fce41e104164d448eed971ae2d2885e89220a15a97bdbe2f84a06dfde2777ac6b7dd723b90f183a57fb87940d8eb3a5e10e02d9b4e96189083a8aba4e2cf8ad740084b29345c7c803a3e59879c759324e6c0e5d07206eafd372e01dd332649e706895774a93006dcef70aba3db5906df87f0c8d2e8742929da79b0fb818bc3bd41afd3d7a176b3740f30e8f8f7b5b87b31e0fad5da2dae2608636f98942379d0da83d4af3d6944cde021267ab9e31f9137800986b031bcd6a240b1f6ce47d538faa45572910e269a61a1ebfe24d01e3a7a806b853d02c3988637d318cf91f9e0b1447fda4985c0ddef5ede775c1e89f380a0a6e30f5cd9c30348083f0645564b21445346cd533768dc3a234b8f6e7e83f800dd724c40820631d03b46b34c462f67a943628421c5f86a977da5d1af188f875042231c5601b3a9f86bf3b4b43b25e595d3e4b23a9b7a66d9bb5a0121b9478d6021347611e3649b4e4c57375045c0a2b8fc3b0224ce6eb36e2783e48d7eaaa480004c160263eff7f8a1192530debd817c25d1dc6e8bb4c77ecc49f73164e842f0248cbdeac8cc006eb268ed409b1e24500daaeb3a16fbd15d321812d3b24d5c10f5171e37cf2f34fe7764f074da470a1cf7e44081b23f4ec6c2b4955a7a8318909b55719eff05b1cd31b9ea5df834353431a5a57ea5727f77935be81bb4d40cc0836eaa7511719f49ca178a996442e1217ec3f8d11d4d6e8acc58abb64ddfe6d055b49a0e28411a7ba2dfce335773296c2e133c82d1b60e901b0169115a5610b020f818a8281b3572f2653a1387503e48be2b7da81e8a08745b1cdb4ca03035700712f22c1e1eb76aaec0c599262fe0d1126e1bcceef3d5d9e5b6b1f8eecff77083c2787211d966c3c88bb31835df090b66756a6c14eea81ec022087ad392c280ba014f78e40472adc59c3c0ed03361d5354aa569e443c7bffe2eae14d49bc220231002517c57435972621129dd18a1f16f0ec87be7ea36834f1b522dcc8fab90bda67c870ccb912a33266536d165b8b349b60e9a7b2e9d8124c66b4e588cb1c09db887342be6f2bbee1c9dc9f037d4d542aa773912e3b78052792f8f7939e1c05175d5352a8f987665937865df8d53b4a94fd61da08d3a6588683733e20026705212610148823078750ab0af55a4cc699c190b7fc0228427bcaae7a38f8b0ae0cb5ef826ccbc36383a26f3628d59d31f4deee272b9c477291fcad642ff91522017cfc339376c115bb6cad911c552ced25365d07e016080bc489928efbcac58709835d1f45de435df12ef3904bd1c492d1baa9157fbe54c03053b7210e8e82d40695f940b5b8979e4fbb098b98794b8ce9bf5468d0cd31a4343e449ed0bcd73609c04176b75eb194af00db99b78bb4f1cbf27f6c895109cab3628b66884c527c00581ca14de62366db503e80d8d004b1bdc328d5a33f611afa201080aea13069000f688b946b2561534c3058a782549d6d65037a40c60e20164e82e498b01edc0a03d7f0274f08fc37cc7d75f89a1207a73950da9c3378a4cffad7572eca3829006bebced1fd251f9fe69880d1a2445f2b98727ddc0d14af3b366f968739e77e00a3fa0fe5c5cefe916ab38ac4503339352917fd16fe1d53406275f5f7d4c97b0bd8801ca1e2fa0aa2686101f641ec922723eb75a5a4569a3262a6ceab100c4805e5c0a667d9838f02258840fc28ccc2cf1a6bf6f34a2ab21f1d7f7ef59a696d021260636a0c78fe3308e43d830313f1a19f9f0820cf9fd266f3eee244889afc021d30eb1839b4b6200a8015bab0371432e23b42fef1d9669f4a036beba3fb810b0ff58068fbf2c44c58030c8979bac8350901a790d61d646fa1a685f5885cf3081c49f5ccf31db7107b8a04194959f5ca87332443c17cf353bab4d3bd5515d80798759ba7cec54b4eb0a397ea12bfd9db8530dec4d34ce353ed39b45c6243ce052c056a9d5c3a4bb4fa8c7cbfbabc1159f79974bf3cd69142c1b7933dd73bde092add5c5733e345350a4ca864b5995b61d185588821d46aa4012b37b36953a40ff6101afd5e6d8b80af1dc27235c01bfe8e20884854075f01fe32468b7aae200d8bd4b1d5075ce6892dfcbb5a49d99e06b604d31d1d90d1ec68cde2edee13ab0e92b2241541f91c9c0b5b96b3fd01e03bfc12852c7200b720673075a0a4e5e004e92e9538017c597b7d2f6b5947624e5527078cc91194e0e8dcf6a15ad17c2b0017b75099b373e6bbc2e5ddf150b5382b0cf77dbce75183829bfdc8c329a19202ee42f328c3ca3c09c3635ca300a5fd9e706935df8f235abb5447adfdc61177092b93781d0020dcd284873d7fc0118b59fe46bcbe6d34b473be952ce7dbce3e0995dcc00b00cae3f0607db7bfba1fbf71d20d94ef7f3b3fa35d1d006025e3160a94b5238c10c9247cab1fa2e6bc0e2039da4c5f5832289f186f3dc6090d0920022e25b6a54aa776fd2e8d30550bbb1292555cd8b010d08e27bae174839eff2308d2b4890c7831627e9041037760ff571e91b2de381bbbb1e3eb3ba2fb7bc89e0def2b6373849e71000ceb14aca0fc543ece3f0ec2cfe2ec023d86fb4e1c2ce206c18e8dda44ac86de67b0e2161b39c295456826226d6576edf10b9d178768c20ffd91676ed30d47176bd6c41dfa62100fd2e2101ccbf53e3db19d7de7a4b53c0c32bdd1ca71c3ea09f7a9fd6fa8fc75e987b139749c9c98d6e0c939496e3e820b39bad5528e19e00605f38ca7a26fce0038d069f3862eda94de90f75d44817e0a2fb94591724e766845f2536bd7b593f782e06fd90e181b4743e073e6482c4c02e1c08cb356b3d43078b3b341f4433a99430298021266e8fc698870ae77d29d0fd75804c830b1788436858c6b4e372c2b18a2cd101aaa6fe6c479692b8fa1b80624a969f7f9f29703f8e155d4c83983361984f1455cc132911039c8df178b120e87fc192294139f889232b9fdb333b31aa922a85ef2d382a5eb8228267624fa08a45922c54c49c33848ca46c95af35a501e0691144ce0543d438ce06fd19024040391c4334fa5a38586ac77b036407c662710a94d1f1117bee79ce3e0ada052057740cd864b674f6ac442b5562e653efe1328434923e2a7a799aafee7e7bdb4070e19556f0c9d06577e9b689de38335459c56503c6930db94fe535adaa43f6d064061a6262edf1acf2e9304be44523fcce329c5c245ff6cc3c4e230f0b5a9b30908ee7e6fd8a2df8f6ccc37453d537070ff6ab8c9b3b2ae5876381af6e5f46b0771033541068a3fdf9de613159b11ca55953d56bbfc23ff6e97b745c39e35d70b3a59ae3c7fa7296cd0f477d1735716ed9fbc9912d1f9a2e569511457ffd79202ae73f977d3f812b45115627ec48b738b00ce0adc71e488f5f7271c0836f53f0aa9c89453b5c09d548a666691571d06d6f12e0392edf26af8ab7f1e9e3b870f0a73d129e41224d7b1c6f60c96cc883a18e3f691f19c51ad03d09ac5911e84470b3c47e6ad30b446d0d9c781da9bf1f9e810baf76aaa39530ed8c60ba5af27390cd5804697a6326caceeb68f6abfeef925ec50d05799aeae86609d81346ab3ea0a30e46865e23e4c57edd2fb252f173cae1db4b993cd695b3556f1025719d3440e8e6b80bd8dbbbdba0078f5f9e89abec678b8deae88fb31f1f0b8ea80489ed7065d7308dde4be38f5c1bfca3b4d0ae7a9540a33a19c5b959b517f9460fb44200d8ef9efcbfedc84f39f6d559e2266c5e7527537a194e952e73dfad319862534063396bce8f1af06e0c62510ef76b1018c278ffab458311c66b8188a038f8b6c01e3726ad9f36e85f110bcc409b80c338cdf25aaf9ee28ec5a9b0d277bf40dc500aa9253158b40e43503c1e915f326287fbc16f68d4a8313a4b40ebd62de47ef0cc1584c86621b9233b9721bd35c4e26b59b5ed4dbcc3c6580ec8e8ac0e26148098758ed157e6f63641bb07d9b7509295bb2d5974d74fc380a73524fb2a3613707d8e53881d2186a244ca5864bffe9ad553c9425a10940dba44c968f77240a840d14a8d7c966fd3853b99415356ee2699983bbc198555f7bf56e4bae13b36e3502222ca3e287e3838c315a5ef2eb4e1fa2d69e34d5c56a21374ab166ac6b625f084ddc510b9e37ccd21ad95542917cb5286515a0506f3d9b0436db000da29f88045278cd36338f64ff3832877bd83743054e270756f545b2a76f994e54f334570a7ce340e2c06039cc3b4b3192f558b6aea4912ff2c941df4a308a5124964e0a0ea6f10111d31c83eac43be2857bf903f1e6ab46f471bb2ef9540a1bfbbf02cc021a104b7f2236d944a6e49238166b4c882d0446c63c634c2d3041dd0b6f38da0ac18c7c5b873818898a2a271c175bc34110c838c7cce0a77e6eba1be8cbbdb50d216ba449ba41b237791079fd86f6cf7c801b964dd6fe1c7b041ac1d2f16788047d607892bb5d0c019153fa40ef1eaaad540a75580709793dd1d200f277140901906b0efd1a42a01e698d0950b21c397c7f41ac704af2351793391cb9b2405603c2d0ecc5f52f8f1bf309b79ff62bc16d1943e4af84955cd39d2eb36d59a6b503df7b15d819155b4d03cb53dea66c018ecb901857e4db505c3172ce2bf8ca560e6c3c7ac6e127767b953f2d2bf3c780e92ae3b531450c1d247167d8b7b4c3600dfd98647f6dfe34a11e18c77e8ed4589523ba8eba792703781bc3ff4a9bcfcd0255e4348e8bdb119b19411ce327c96e824976fadfce9e633bff2bce242eb0a70a32c6f66bd067867181b730b6dcd42cc0d0d631a212c034facb593f53ffb8c003bb2dfa1d1d2efb08021bcd1df0fd451914cf50facc118b3c3ba4db8b4702b701008a8070c0e5f70cb1e1592053db421890d2b2a279de6b4ea05eabe88fef210044b7b249fb317efe04ef3bdc2204a96acda94357c026c7ca87b3a0b5f13e2e01b1fc4b434d5d47279f1a8f70f0779c461d30c280b1d6bb48ad28487c80f23703d21a7ff5d08cbbf4031a10ed43be5152176c945f332e4aa9e87d782f7640f7064b1cae8fe253ad5d4d059f8ba7c3ef019c4d46a33dd332049d2636079f61cf035a2626a27bc70a30af1f8aaff37bb0efb718fbed7f73b3468b7354a3a25c680690067722a4299c4120acf1a026381bcb80d0c8353ab38efa26ff87a72f24040253931b9ea9e8c5597612d336799db18d30b032265f6c5d6e3caf00e6df4ff700a0350d26cb900846f3a497e072374095854a1513f5028c0a297400e9dd286309b8f16af1870574a2ec6e642d09949b991fc754ce41ab9c12060ac55a259583070eab54ae71b4eb4cfc73464ebc1126878afa37590e21b1def776bb839a170a0c8594abe5fcf70849863edc14213bd113651d14884ca556d3f405c1ba6f1feb0f5e475711c14354bec5920375ea0bcbe47c88cb2fb803567ab6b52dbe820b5c0bc1a969f357b625bd3a7ac204af436b9a749835a6c48a7d69fe4311a9f6483a01279565170c556cbda4139acc2f5ae9a3c8ac767b6ef7b427d9e4fa16963fda016495342081b1462e00ebc703b7559ef7d5e3016b8409aba922fc2020528fa300ec9b0f9958bed0707c0bbe3f178b88d93524ead5d433d472ee7e51c3421a720768c2c3bff09c5439945148ffb2f2e05b83d28aa3e6c44f376dc95b64b15e0000d6605cc2ca93772d1b53d12171b5138cd998d2d018205ac88a180271bcd9bf090b69d0d85c3182c9589a60d4dd6be4495ba49a9ddf5858c1d7c7a699fece6b0ca4356774c4579183badd20ffa0e1616390f7eca0ed7aeca6d4813604e3f1e902221d1261aaa64f69a39b16680e1c74fe76e1b0da3caaaa2b2c35483e7ef24b0f9a8d5828d0cf3d4949ed5d1c1bd7888ff78c19a248ba1d3b511aa9a86f40c30b645fe0a3b42f33097f5bcd22ff81639578e2b0d179a74eac4e2211205f2da105009b60af3574b33865ba4ce58657e0d49f0b18edde0546c919c93081439f1503574ea5020bbdbe23592d3b59fd0d4b359f8b6206700df9fa2fb82ba274f6d00c0999f3aafc3bb31f7a48780e1a94cff3c3545da49be8530519e7efd69bf5af0dda291da194f4f9f1dd2841fa1f74e88f045c8a382eda22fff86eb9b9a01d580b7389d32d7be85409458ad0ff026c39b87ad86e3f010d5431443cd7ecc3a160089f2aa9bbb64311d8b7f8e36b07ecc2c9e8f50ec595a6b0550aa11082f39ff6032a6bc5d3cdc3cf0e3d9fabc90679f1e0f6efbee3e3450aa65a4381a8d390920a5020ebc1293197c062ce0df7bd2090902813d91ad20fe120cba098fdee429e023f6e8518c04f85f12b63ff4b09b5f94e0dd0830835a90950ffd8e5f15a53c2030084bee27c3f6fdd7c47afc8639c39b90a36e36649df9abd0fa36388f919a40bda1f639ee34365f1d1da01fcd67cc3b55e6f2aa2e1fa72516f79deee87ca2004142e21c8a4a6d38f21a7af3381f08c53b6948d213112d23755919c6f199dc805a52921730bcf9356dd9ce873fb3e2a703aeedd3614f4e6b98dcb57d9337998083956e974e250c0e7d157568259620eef7badb3d803aa0aec87127151a752cb045fc13201448704a609d6a6f606d71a9c6d5bd5a284ebd41988dd73b4865c7e0666fb42ff3f6f2ce40e8dbed51a3b2e8ab0d416a547fa0bbf112abfedabb08a00c7a8fc7fb6ae4879007fb474cc85823b62427cd9b15fd8ca752a02dba492ac0258172ac1f2803ef9e88ec0a08e5df6b205202b3c1ab6553d40539e5d29e5a4045ed819eae1250e7bd56142bec60eb3350f83961154bf09066e495ca9b0cb250d7a59cee2db3c9b0d3ae86289e21f9c998c649753225d7aaed2ef52b6c5e2c1049c06ecea7d8bf9f461e273b72ff1f382f80679beb6ab15fd006d21321a5359009c18283ef1a85fdfc851b6a206414498f9331895ba0c1a001d855bdc6bd0e20a331368455d9256a8ca168af23edd58e43dc86bd5aa06de05977749076f2ed30fc53fbf7f2c30f01d66bd472226d41ba1e076fd2f0a6381e1e0894a70cf26700f01e6709f2eac7e08ec33af407c1f6b84f9f3e269b62f8a6f97b6add42c84b40eb297cf30d97083ba23924c7c82cdbd04e45ffe282860ca059ac393a23d9749059d4d4dda1d2c5fe4e3ebb25ddc52a6621059652e7605278c19d0788b326d3401025b2f2ffdbf7d02037af4affebc2d43ef08cdf7e8bee5b6f62eef48d965aa0e621cf04b2f666e7dec0c85ed3494b05e0e9f026498daee2b8f78eebe0be62f0399feb2268ac6c036a1cb4180eb875cedf6be1dd1edcdaf53c5a9818575357605c4853acabfdeb94363aa68713938dfae4b3ec9e94fa57e21b30a247897c6db0cbebc65a35a8090ab2e1a0f32f744fcd488c4a11cafc0d74196af76cff4fd4f0d113704bd299ba230a0078c27d5ce423ed44b82bde285baa6335a637046b9a60562c343c148de46bcd3893dac68a769f12061fa6be4e02d4fe478a6c0ddd956059ca70f3838ed907effc87b1b96f72455937673d07f8bb7e7215b373c9149810550d78cafd1529e4f75379edecec3fca9ebf7a8a4ccff80a1e7e1472463a5d107273e44931bbca82c88a8dc238a50aa6af4108471e2c123e02a1722e01dd48901c4ddbc1c3784c53b7c7c9becc07fe57e822d5ae85d9c334a111422cf184f91087e45c4e2d13653ad2de49e5f5b10c0ea52c5dca6fad97e718a47867ee3c1e50ca9105c82950bbec90dd2cce9728c0422869d98271671c6a6a4d7dbfe7f5c3200f989547dc226306d0024691c81f5348f20ff3c9d84e917cea5ee20de76185c019d5d177e78beeb20d7fed35f578499795b8f687f915a5beecd3c524b9ba8b0012e00f7bfd717303020b97d26cf12013105c297bb6e65a4c030813acc9d951106b259345a3bb51f8a7c69aa012e8832e21de839ab44f52113e26916b4f62faf076dbe984e108c7db6a97ba68eb17539ea50cc2a3f434c3f36017ae7438f5c0e0195644aa92cb9caf671751b364241b9adcaa711a3748213029755b4a53440230cd9f9be985294fb10b549ab69f9f734364dffc30fa899e0cfc2fa2ca85d7f3708687c29180ebab0ff7a32237c1bfc71043d0e628044de4edd29edd739041f3b04d304f75cd64b47a9a72f95877d88b13889af3557d751982b25d72c6d14907c089dfe44b43cbd9b63128d3836ac3ee8a59d95ed85716ee800af9ac9fd495e580d822d104d9000595a53681a3a526b71ae1e88931b358d999423838e28bfe0cb03b7d9a06d74ec9b1884eedf77c935556bfe25a00ad530d29f2ecbc25623d22f031c949fd8fab702a8d09bf0f1cf13ec25d4d7489703bab9958fb9803edc6f0c0e75a3c3308f460a36ecb0a60820fa5eb6a5bfc2ff67cd7312c8f1f2354e52ca02c5e0938a2f552984f7e6b15e486c24f77cbf85d2bbf5443bcaadfb971d6a96065723ec29311d4b712f95a03aa90363091a0779c2086550c8fe275d30cbf57a0123ca24c8af53a2f134b5c9a985dc9f21d9be8e5603232618828cc98f6ac40c0b94d35f1401f5b4f00be43e262b249c057d16bd9a52e6cf8bebc4efe02e60a80e67220c164441ad89196a7faf7ef4244712731d686c46d34ca95bc4de25d1de0ce67c2b8bd4eb60e790ee8340a4af4fe60f1a5db2ad5868acbbbb25b9e61e350f858856f576ecf1aeee7a0599d53bff8d5dacb1ace28338d8f43c55b0d7047402e0be9ca95744938a20e500ec951bae3c9d54825f5933409815f77842daf2ed01f65e5784ba18e1a9c02aa9a8bc498403075fc065b29cc366286bcd6b8542e1083644bc7384abc7e5a096d3f9f0117aa476f4e970149977e5680651e95d91e40dbae32e13140b314f218d9491abb9289c6ce13ebbd7e912071b17b5b9dbd37c05b82048d683b225ebd540af4b8bb127a4d844c3141ff3c1b9b91c123a6bcd3c0b4cd3d72f6992b5b06c242dfd11ddf5dc8aebdd7e7f8eca25b8a308ceb3b51606ca427b40cacad8fba0a8993264c5df3371e0d2571497bf9161d6c5b7f09dd408b6aa691cb9a1080014e84b6ebdf84eafaedbfa942709b79ec0189e5e788bfc09f08b7c119e6e4d393abd08607b488e9f25fb5c494dc3c85c295705dc14ed59014c1de900572e7b5fa6c4d3088d352968fddd74996fbcf328934bbb5b466768048bd6f4ae47dea3c257284ab9a286492d0201bcf701ca05d91cdeafa831e9c701e4ba27fc5d106c6c62bd19795bb49fbd725f0b060102f237daca0d75c820320f9f309cd23ab8838d525e9f409de3fcbb17f082676fcaa5f8259250e930cfd10e636dbb7338af7d453f439a35b15822936601fceb176e9f8d3850f3442eb8c50a35139c320d715f923bdf46493b1ff6e4704409bfed2dfbfb406c8549d654b20803f27e600a78c15400b817540c35dfb710adcbc92f30b8c69d7b55c860cb610e153606c0d8dbb10998734f6dad91f990b45e6242d5722c13536f7b123fe7410d214915c1037294334f0d75d380c2257ee31151f867396b8a74983adbe954d20ea16f2ee654c25491832594231af8b74bc067bb00b3d720cfe4efbf1ccd687a0efa79a2df9a72cd7ff59523ac46fe6a7c1d4045ac011fc019b879420839b69e0fb22e82516631e933dbfe0ceaad19e100c7d855ba8fe62344c382a55d67fb8d0edd01ca588b5d07ad4669ba21f5ded5df453bf1490181a7ce70acf77be511f50a088cc8e691c6b9aa7dcc74726d7826766a3f27c5010cc903eaee032875b3650423cea711c4985af7e4cb8b5fdc8198596d2a3e37f03e4c4d31025708de0281000e7ea835b7db2f12bb8babad44962e33cac4bcd3f187604a0da0093e3afe15031f47816876af32768c12461e4477143b062d506cbbd54ad344af1824d85681041ed4e0da66841e19dec7c447dc8d9f490de88fb65a8cfbd160fe5fee8bee1a06eca1ff5b2c9e1a533795ca063f12a6f01dc871cba3d34eb3f0a7b42f371ed9071728074310083549fa499502e04f5e50f07e679136c7373f3a8d661e8f355708de2756e345710a4aa86ca2e1fda517c9609fd0ebf0a15478d04b8e5123f8df040085dacf963f0e3736bf49c90e59e4711b5b6006fe0ede5d82423d41e496410657d9e7fb97c5c457fbf678230975bbf6827d7c228144337f77ad991c4c92270cb64b50a94b70c1a4bc89ccf1c35c56e3e5dce32f50df0bc1f72aceabe0802b0d2dd9086578d4cd3d8eb493cfe63167e1f3941ec2489a422babd071fa6ab3c403023563e636bbd6d2358f06cbdafd0e8bde3f0bce87b51b1cd1feb9df7e7fb60475ea2864a7a6ad2e8c2589f1728a13e1371715332038b366f6336aff710a8e0f00caae3b66ba8e8a98326840db4f812bcd5853639ce8038dac45a0105bfbfd0a01561a7eb04d788db8ba28d3c5836c7b6558b91c9d6fa4c8416ebb5775ef4c0a5ea9da6d3de7fffee371d3decdc8062fc09efa4e72144059e42abd96ef432d0a95833f7d73542eb961af74bf7b49d4cddc03d0160bb8f402535ffdc052b6ed0b9c712ca3d665898a2df8cecf7baae1a02957cf41f0a97a0fc4071ed6f71b6e07aec9111ff3e8b00af3ce4259fd92be9eefaf0bd26ef4eb32c7c927459c03ff06ebb8a20b967f02e6eb8fa9bee843c40fc4e3154e17b8cbeb5dd35d5aad9ccf098cc336efde09a239d37db7a7a106bbac0048ef9e8d4310939c60787f7d925709548cfe35ff14bbd6df8e89f28baf608d30d1d3cb6d2fdedb31e9b08016360f01c32c46aeb086cd954115c4339dfc9f839b9160d7dd45035750a0ccfa0aaaf00452cd8f06997f4e3936f534141021d5596586e0b7ab4dff91342bb4f601024e0bfa08166f2e692cbb5e4be79f1d2a1b32c62009b7ae05e35d9c2455e272fd760a5c1a0813951908baff0ff2cffe66ab4af6f810cb9589220c60ba0defd20ab20df3656db1b792de739a8e8da25a6d854965bb7f9fe858de9f9169efcb50b4f10e7c03cfcf1b23e90c560a9f22587a5dcd055fe9e0574422deaa480f460dd97106054dfce2f1e98ba58b88ff840a4a33b864653d61203a0f161288fc8e185ce4042e1b0a4c3c56cc88e7c52138905c267060443f522213e73cc113a13f1cde500f06c56585fedc9be482b4db3a1fee1e3a6ffd1f3191b8deef8b0731004735730c2f87723d79a0c6db3e50ac36fcded50465f9e5a2c1a16f86c5f98d876d1bd30a85790a8bc2a93b3999ae4b2b17cde577f2dc867a942d515f62b4b58994b55a0fc844fe401338bc7156f6bbb6f156278d60e75a886eabbe021f1f91178136cb069fe6962d458c469b7ed9560e4d3e64b33a93fd5679390d1a9fb7f084e6475e0674b7cc8d1ba8248f7010236affdca22ba3860c9e9988d1218f16dde1c8c8700d8045d29cb9c70c65ac8544df5fe06f5a4697f76aabbf01be44f966c155e16207967b3a7505a082eb396425d065e722e3b4cd9301d6aecd4339c9b5ff4a947a031e569e3357ea7fc576327eae0cc990973910a992812a1773cd3c15ed3fb0690c33261127db34ccc5722808fbfcb7bcb7a0fee42cf82380cf87e78a62f10d600b6a6be8ab9da7a7a233559f9fc003e7468099342f28bbae45c9c63491f2763c0596b28539abbbe6924fa9a20bb6eae9ba38d6a241cf2e8bfa0dc7c045ac5c8d0b9d12a8751f18edbe20e96ced1b6ac6a95331e0a388ce73fec1b315f2ec60f80bb1ed8899dc71240c14cfbcfef21f392cdb13073837db9778860a4d672d646305cf94ae3ece52e83bacbca020347a3072ff681dbafcdea5bbeec340c8d5f8a20072bb49a27af29ff7a0c51171074bfe84eacb21b13073e77d343605f729aa090095cae623be8754ea92a3962710b05b67b9db425901c01466db7f691147c8dc001bc9a4a7c5697aaadad3936c5b25d95b61e509a877d9d27226c71a08c93dab01d028f94672591f082c476903085eef8ab6cdd6775eee65ee15238f65829b16000b42bb90cd3f05cb20faf0317bdc8c8b299807c6f70a9b81af3e0a513055d803a5f5dc87b3a201a16bd4c0d16b11c4db95171b3773cc1430b7610e0bfeb6b1054c3eb57441b9f5d5934ed4c976891b2e54e3b1a02649b6715ff84ecd2c39850ebb2ae841620f69985c7fa445caa30275e2f610bb8136d190c917ed318e38ff01536d596e5f3ef28831bf553c14882b725b9588398d0ba5fb85288d121693ca020fcb2df631219f1483ccc8ba8156c0c9d7b50a8c62f9f3cc3d457dfdd258de0062ba2c8858ea58188dfc7d66f2e0e2bbb7094b0e2ff3032762b2bbd851d91008c77f9653c2c6693266318b34a97127ede1fd71b2722c9822ef2ec93c974f7b005a1f0745bb978b0b5d5c63ef176a149eeb855f8b9e67f92ee15d86cd4845b609c8a8ff635ba688c4afd6ccad7e547f35399ab2a21ccdb6749ed3185e2662b9005f2832249a3b7cffc5cf95b2d79d09ff26f4713f610f9d7c805257bb80fe6205cd22643e24d536320ff28f3ec2b906e27376a84c3bbe073a8e9d36eed0a5ff099692470caf09d4c5313802f575753bc964911a6db5f90b24000667eb10079c0ce4d4188e6f784fbdcc6b76a1719d328293cbdf470bccefd16f942c0c3e759200f496ca17b51a81b0826c78a97d430235273bc000cd3f722406e72ecf1cc2630f602cf1c17c4464dbca164da9e0e93c2a5e6dd3da4c62c7560171c882aef37b0b748fb51c26255b4c1a4d1a9c9b7dda595fd2e340af175f994e3f726217c087060cc415aa2d63fbb594d705b06a49559b11391e185cff58151f183d39a7bb6a0ad9c5c2be1cd5b3f184d229b61ce46bcf6463a519a7fa1f05d972098905ee9609c49c7db81e2a0bb46c8e4e7713a30d497c21d289270f78e56c2d878a64aa5a03e102fac545ac979252e4968267f78daa745067c0645dcd304e8343fff48ca10ac83e6e3ad5b0be1e20a930d554c277c07ae0c6f690cb261df0fb0f908ac66c012a7ddef49dbdf340cbbd98d5a3a7faac835e00b3e4a3856ef47661e3e0c8bb06c2a5fc6bbbd1d9d0ab0e6e602239d08f4fe2e4ec1b05f3f894fc338cead62901aef791bcaca9fa7c6fffbd773a26eb4ddda10ba2f7e2ac9ac35aef5dd51f890281745d4236e1063c2e1950ceb6cf0799151aad15e620d700a1788803258b880923a045ab8bafa611de127ac97dc654bc4c7ff3b5435181d4fa818a804a71e40de3ffe004b48b725ee32a222093f10b23370daba421accf76c3f3d1ad13df1705b19ab4dd6f533003ef3143ef2f959aaf5954d69e4e076cc8e2df462b0924d901a9369eadb611b6e40f4244644f18bc0ea036bb9a84279a87155dab4d94590203c483b35d78e2f878e0378846cd0f83792df1e96d99da4e583a62b5d403e75b0b605be120377cbce9401cafcd2a0702f8f1a62c251e3b9c61f00aff92c6cf5c0bd56481d4f9e8e8c5e3ca40a55a4c40f1a723076f56301b22825bd4754d829a0bf0d0233271fc01ec8c55239e502b682dd8c9088c109cefaaa757b29f78f8360e09c4ab1be06b9feceb5ca9001c1127608d6ec073b82deea0db46b5af65423a0cb4dac06de2c10acee5306391665e16cc0669e273e5fa33a0d37ed192a549a60f40f65e4c2091bd24f352c43a0d31e1da84a05e4f44ae4c6f69d0272da646200020957badccfbd61e2564accfd573cb7ddba712e9889c8e29c91257402a95f40a129a1136eb4450c94c499319ba45b85ab52f90b1e72394398d8bc362baf97e05dee955a44f8744cc8a3653cb127435350e25ebf5bd73a9f9c7e65776fe317c0b43464c3438780d2c51c3bf746bc2630eeb3a01fbce54b76f3a877b9ba3587a0b2639547bfaef8d51effcd0f14be02b297e7365f750f82b92832a5762a9a73a06f32c828cbf6aa441c7232b384c124a934878c59faee6de15d8863a06299c400f35645d569ce9c7c113c87b7c6b45fc44bc82b0fc4c2aa5b436ed8028307a300b74cff560f8bb5ce821b9466f0e9b8d33511a3fe819280bce0d8d65531e79340861d0ef38e389547cb5edc3fcfbdf76314e0af90a4def4b1b2f23867c4dec8d0b4edf46bf1885f566e9fd4f456ad1df7c554a427472ab80b57f203c109f7945031d178420890b26f1590a1ff0ea721cec02e33368e4e5b2b0589164acc90c980a897aea53bc639036fb91c6c9de5992c1d6276629304c9bffd7417faec9fbc902a800b87f53f0dceb1fb5d99e48a7b3c6001f70ccc7d646782443edefb77e87059febbb2c7bb1c2b7b2a70c5626196c62bdf31d75a03d41c8e7a74bed39720c05bf0ff0c615fd625e1bb92dbd694b7e95374385f1020a1ae573b949c29273f004ee8167f91e2eada85314aadcc802ca6a236ce1e4ac3d79fee2f0828306643401c15db5ac08a316bd1597619553f1440ea0ee0b06ab5c3ce4781d45c783e2070c70664eef4d514c1435681bf6e5fbda2dea11fbdc430da6507f0389a05bb0d102d706332052b4eeb4caae70b43d3ba8478e31a97fdca704623f7629a217e91506f4a31d970a47cbd924de3a68dda8c93b3b8c584a7f13f50ec4d4c5dd381b52053e46f9811b02895bed2288f543e836238bc38235bb543bc9a5d8ca70d99a2108de533e03517da894e87b8eb43c943b0af7ecc534a017c9e0ec941afc9e131a06527861396a9ffcf101481aae89937337b455702973885182728f78ea925acd064c7ab6aadfab3b565ebbc4520a94a824187020f0e580c1a9c1453b79f5f15106a6c475fb6eaa93ea0490b63b4f4b1f1189b1b8533e656d3822b30a72fb918e0f848483e8af39c1f3d8c45c5417a27ff22084ccdc7c196be7263db02d9b960d0a35746dfd11374235d11068b9c505e2b54f8b9040b347935377611642aaefcc0294130b0ece352041260ffeb360eb2765a6d02f8d227fbce9b8014c2cbeaeb00eac18cd8f0222417bd969c45d5d56fc9ffdd120f9d3e41caa0164e06467233007e2796e6132e9bd5c0a07a47fabc4e9f066f334fa60c7734e35f0913bfdc04b0fbbf17c3749546ccdc6bdefdb40bf92b91e0e1ea1b5309eabceeb170a09f225049937b171e71575e774479baa71e03c9a3403264bdcdac0592e8bb850e9bbfe010917cf6d65aef8d59aabf75b1081055fc6ec9b71f6339766fc66e9c3ff8e8f0379c31d444d5608d084461d3d435689f3033612aa1bb363b74399456bc59654036679f9d6f2de044ba2352d6656ec4de89ec8e4a9275bdae12e9b81a1bfa9e00d312c0b178a13e97d6d18dcbd1c2107946bb5e1937156cfa2719b3c6b5a2e3106267103f54274f24f4c6ff4e074cd5b6e427d1bbe71b86e74f155c6c51c1ea704e4d121034e59750d349c1d33ca495262d75d3ac0e7189d50be23ec81f5c6f60ccb434c1354ba64803b76d900a89e09d2de4ef84a4d2332223128bb62573c990454db945681759c9031f3c17e912cc81fe45a0875c3c7d179792d945a2c84a20c80bf2754de517c05dd4556dd2b71e209bf32fb283463d97d4288f3d09a57590148632fdceab167192793f37d2fdf870d6554c89278a2fd79c8e5eec41391e60894fcedc1497c2cd26ac790be20e29ba2699d0d2e9a2629acfbce1ca114f4190d54f1fa5f9c1d0578fc766ab9d4437be5b9cd3fec9e7a2043f3168cef8825e4090ea13a33fab9937ef201ceadbc7bff2f3c2c6e076bbb7d8406b1a9c34ca8040f4d3c2e96df4a6019d80f6594602217bd68fb4f0186ec9b6f54060268cc266b0144497058d2d0d11d46422cb6a71a6d45ebbe64659c13bbb3cc76a8625fac090b778992794b14d2c90b62bef40690ff8298eb045689f0f82da058f0cec63462034dbc3db9084a72bca779d9715c5aa7d1925c007436faf1c0b2616cfef8b67b003d8fc86dd5c42384ad8eb316d5601f6eae9e72b53aa6a92d06af1af35b9a7609953888bf12ae5e52d87424563b5dc6ae1b34d6d6295fbc245556df3c795d8c0591d2a902e3da31f64b8aa784f674799b8186c663a4668ebaf673c41aef084c03cd02831f969feebb14e197f3bbca195d20f62d82e7fd28b12ee86a6b08dcc400946842d0fd03f0aa78a7e6636946a010088cfa4ff8c50a7bb508bce3d9d64f024ae0647791d0e010ab19268ce4bd5f08bfead96ebbb534eba23f770c3573a001a6a8ae41b84c77580e6a1d20d0d80776c4a7d2976ed88f5c834618eeda2ae709ed250026b7e43fa0ad4cd286db3c1c567f20dc0e86cf0fb1ccdf5779b4205205e87848673bae7f2ec8442e3ab72b7726e3ed4f0ea522f477532e0d631cd8010c61ebd1c9dca5af8aa4e4442d6cab37572c67ed8ea490846f93ede9f058c0b0030b8e558e12147ae59f7ce5d92bceea3d21e554cb1c6f576e650d898983a25301fa17eefc56468ff7dd9af1f8fc22630ecb81ad7165ad334f4769b6b7116e9c0ab83c101dfe82ad12598bb259fb205323310afd66a5b64a36b6e588a32bcab3023059091f8e6b9f868795b4c6bf45f6992aa80a12e4170f353c53d1402b50a30ad42ac711e484e12ccbfa466285a9fc34cdc7033416cbac502a01ae50343a6500ed044956a89d37073565d958c7849382732cc7639d317daaa54faf3205d1040e82e367f27d798e9a6d38ece2d21b575382882fa3d7efe1581f206d1b49ae260078d078a4af13401bd1058a769aa4ee26e0023b9b992c1d0510a44954ad44b50d88473b5a9dd491b0ae86412f54bfa5b48ff3d3c617e4d5e9dc49c5d9de8d330c8888eec7d16e1990c6bb1d963baeb435ba2b9ac550627d5efadcc9b8b1c8800d8d3b59feb17b12f9a5ba62f547e8225319242b122596390022247211e1139c0b0b5ed3ae46f90d0547872bfe478034a73844dd7954520d08cebf4be84860bc088ef6cbd9fa13daca341e658b15e136bba1f86fe07b35ab3969fdd4213390d90e854a60ddc82725a695f10da6968125cf4d7f1191ee00fdc7686c480b83fe2e07beaa4e37adbdc59011001c3a5e5f7ad187d3289f02c352d6e5ec08164123460ffaad65e78a94004c9e07dd607c7f955e995a27ae8898de9f79c1497790591c02624d90289e132ce3e2e50d0b4e2863f30be65fa712f99eafa3ebc9c2db25180d131e85a0ac946a382446769e5ea789ab0812da2bf447483ca9601dfa13b94503f447305fd6af71cfc641cadc26e842ecf82f4f02d3981ea83386c608dc98f40736c10d7ecdc8d280f5c42f8610f8b18d0a58b1496808aec2d2d0c2cef4bace0127a3a46ece53064765f5cc35bf1a080871f0bb153f915813e2e6bc6b4f975f02e93cb9713ddea6b7f62490e5fccd35699c8ec76ff97c84e0b9f1fe3293e5a0012217ae718029d9657d1055d8cfc2b8bad92028fa35a963ad6189879da399920a8c089f6ba2fa80ecd83b596df673cfdeb4917d5a5b4d19910ff5dc7b6e254009d71a15a2605787849ec10bda813894fcea8b8869a9f0ee783af70e09b48fc2024a2e6b978ca584adef09d9a9630d8e30847a25d40a72f9d153851d8e788fcf0330625e3b3a64ac1645b4ec4c6eb1f028bc635f4f06315d13d748e291daec85065b90d95a2cb1619ba2cd0da119bb0fb90b39b779f72a8774337098ea3843040111eb0a5f47a4bed4398e4430920c120347b4b8ff5b14330159c0cdbd0d40b30329aab372de701ea8d3a235cc86e27e6a3ccc0160c07feb2f2cc65053dcf941041f48ad8bd662ad731a89bd802446b0ae3befc8d12ad9b1776de46bc9e061a10fed5c57b267828d06e093bcec87ff8d25dea291bf646683836d11f1cf64a843062cf3a1abfc06819d771abf872a7239eba7b3399bc055daf8422533045a8a130fe11daa4d85b75110869c8d5c534befdf7e96f6a201d453e25e8c9edc41c7a40349ad5e30730a52248ebf04fd07b9f32d7a1a3957249536f2585a2a84ef2bb40fe971b928eb85fd8ee5c82beeee2cfbc6f3b0d84f04808ae16790ef33a0cfbf078114f7cf84804ca57f65f76723f8b86aaf186fb32f043007c90575c5c465a8032684e923b3b47b2044fc7b5087aa2ddc21ed54ad77b58e02d3f9b1f804136308790d9952ec5bd97b97cc577cb47db89f2a6078aef3215704e93b92258adf5e0e7855c742890f797445f93e3b9e2ad2ded0feb7b89c7eaeac2175d6a5b343780b8fff16e2befc78ee1a399f786fa530246dac0c2bc3826344dedc1a128f7d3208b4f1992eebe7afe1e50d394911802936b1bf1d0020ce31189b1678acbbf0df0fa8b872f61005f2ca4e9702b32cc6011fd8758b304ab91f2534c656bfd68da100f05ada984417c17781d9f1db924c8ad50275a0237290da2dd41ff490a93d8405be57c0f2ac70117ccd76174611de407b3a083fd98b9b09df0ef2d50b2b80ea01e04dcb310decdc655a325f1bda0b23e6c8b9de790948d97c25a80a6b979bca029af952f2a7fb8bc56fa4e7885f3684f46a1faea434c4aa934048a5f6fcf7d80b42952a8c8215aa90cc5db60321211d31850bbd1cdd698a1ea2a8a517b19f8801975e2e214a20288d8e6f61b4be1c9c8631623836a6b4a937889d29339d4a5904e13015f59a8a21139fb19e74f8dd06d941e2ac413741aebf8554ebf36c7c390d59a493b60962e522cc7e831d98777cfa7358511340bfcb4c7ebacff2450abe06e2bbcd62f7e56b55ab325a2c0b6e6f9481d5a99b460d672d30a41ee38cba0308fdda21367bfbc8f3d64c2c7c37cf6885b777162e86fa30f70bffb57cb95c3c0a8211ee8ce95f52e7517fb548a75c89287d70876cf61da31ced0e15f9060172013c91064bfab5aee5ce6009ae871a0b45f9428bbc20752353df821fb6e7e81b0cbfcaa7dd3d842535bfbc464170e3effcdba42db5ec689f3648eef3fc49389302a48b4a16e32d6857ca124821b39ce992a0e8597b59a2f5627378e4741123ef0019186a29d6eda01c445d837b542354536561e98a24c2d1d56425a476cd585b0c8ea8687dd90241543e79e81c76654b7b45cffc996dc89f23f6c97587bb8f500466a566b2dbd622501c0ae419970489e5a8e2d6c6e27a0478f1a0505304f2ad044d1678fa88d425ea15dad2434da5e0a9329960ad1a5d3ab2f5e38a746733150c5eed1766d6fabdca72a18612b452d99c372072ae3301a294c17eee02bc0395099d2a8c079840706a2f198a3a7520e3b3faf7e68e122e03164f75dce74579d400e528907bf1360c8513aebb13ba09925f9f7881a741c94d987572dc60862212011e42984e3e32277edeb13e783bf27a6da186a68d1984ebfccd8aa878e6cbc80f789a08e564244391a564a2a963141f7dec37a5af8a7d213206801569a114fd0d94616371116f39296534c829165c1bbd180df4802899854afb195a0a4bee9b0a872ed9ad7ed27e6f6cf03d12f571bceb78e7fd5a138a0fb45687859b6083ab05e0157fc4e7deb5bdc9b6c1c745c8aa10baea70f3cde8b569b81d61288a498109b1ce612c161dd6a0f5083fb290d481ca32a299d4257fb0e28ba4afe2d427dd02a3ed179c2c3d352da73a0768e48718aa844db65fbd9a1cd6cc5e10bd69be6907bf0a8a919db2cebde9bdeda63c8ca197fb49bca12676cc01ccb7e1d3694cc106e5a3fdc3d5cdff78ea3ceec7adb4ee05030b178c3fc8db520a0635a12f2bf806731e30a5b0d22bb02456eb040c40ca0ac0008a6449ab22818c6f529acd62640516156d8dceb5dd2f1b0ee8602a4c80ff825b997056566b255b5305214e175b095b087ffceb90c4f48d61e80ca0887aa8c60c050ef6c0f54f771b8777e7ed8c010a182b3bfe3af8607555650eff9de62e1c44dde0c581380006a1910a55c79d0c92dc9afe061e4e228b46f47ff7db51c539a67169fd08c954270bbd0d73f6ad0d2fc14c28e1e9af881be5413be956521e6bfc85ac48581584e34368d2e04c52000761d4800ed6e91164236434a411340b039394eb1f616908363531853b7e7a030584d7481368f9251dc7c7139561de0d72ca35ada91892ce8c82c6aa10d2f404af453c936ffd82d90f1043a786b4331aed4869561c17137a95415865c8224e06150d9db756862e2c9956401da43efd426056038b9f43e4149c31542a82d7f00530024a39adb5c6264e2d89d1041428b653aef1bf0278046b0bc7bfdbfa223806a38f228dc46ad6d4f448b49722533be0087ef4dc07630c47c25ea69578f12c023bac10d0c8e38391b14cbcd2c4efb52d94b2724bd315650690209c387d74d80c0b298941c1fe9dd83a2018c04841c199a7be755f0c406b537805f655c7c30703b5ba62674c17f1279b68f7ccfccaee07061698edefcc83606f142c5bf13de50aaef7b91c428499497c5419ea8478c3459fb7957817c62cf1d1ae2a4c493be90e0bb707d7b9a9a69e342c05467191dd898c53776097c69526ccd26d3f743541059126f69d581afe5633f231c7a155a31937e9ee4d3e78f0fd9874c5409f76bc0f8335ea1a4252bf19436b674e9e03ecb8080a74e6de8e44247a6d700598c89e03d87508fc3e240c22ae2ea12266a91051ba7ec44b468446f73f68a8dd2d15b40049cb1d2cdbc96dc95e3f5dc3fe200e57d5b424fa0955a24232522a2dc0b55108720c299f0404bb657238337378b51c567a1b3ee35dfe35cc5680c92e87ef490d0e7f795ac42080c92894a6ad0cd59bc1a8c4679d4dc628d95ebeacdafc63e20fe1d1a8f60c2f93f3589c7750b1cb97140301d96f2860822eee722f7e51e24f04ea011d83aa3db88c32c472ddcdb813314a91aee7f49a036304af545ed27c5c04a53812ffbda3fe88fd7237ac2a3ca186e665685a759e8630906e8f427d842102cd744800050d20fb9179e4c15886fe7beddcf92e619caf077b0e14ff6f90e30a53a2d805ad052e6e21d366daec9d5d38aea29e770b628348167f2a876d82960f903e562ad8a02ce62d900ea89797fdc5e367470c162906a435be64e15d47c3061bef68f8c6b2466fd1ac62b3c2fc0f59c874ea5e12b3b80bd10e9e3a0c1afa0ab4c940c922f12ec220d568963b478f0489e25f383e9292335994f26e88c87803a696c4ffd7bb406a25a95256c63227369c8522adbd5fff1725381510403bdf0183b0789569c46da28a604a3a3f5ffc93f66a2e3ef346b51d433119e032e0a2092b1cc09244631055ba5fefaa2820ead0a6d6a3d5336713c16fd31d15ee281a066a386e70b0ca3f69e2a713b5f654f6391488f984f7cff7576dd1778a3c807d04df7d5d89ddc74fd06828f525120fe1229c128162770aca3c63f9cf1d1780b008bdf2229342a3cd72e4d4fad045241b6e77cb88fef34228779deb3f0d3d18510f0fb47415731c72dcefa42521601d2b1e05b8bbf295a402775b91e027409a4b0e28aeef811fef865738b40ce516b48b3f021d7cc4cd7028653e23fdfe5e639001f64b4fce67ec358183eb49b0211e247099ae2376ee783ca19ae292082b9fb109bc45d1a2dabf45ccf64951049c948799bac6f0065f012c9ea07f7a5a8b83df07c6d1ac9971e5beda7bc78e00cbfa5b318cf454fa3b7de4cd04d58400f67ce9004c3e8bee6156517e9408cb6eea04d7d323fd32d08b6328080c4afd4162a63107a6090f78ce8fbab19d56713ad2b056a1a7594ad3e29e2c8d4812e3051e5f130ece49a0931df7c6c620da5f590dc2f1d01579d0181b85f205aec2ca42a9bec300f50a4fad22e2e89d5c09040472441dc46a4080e5791cbe8e2a7e08a343828b0ab4a592cfc0d307945c3511b398b044f4c23cb6c36ab66efba0e823aef8de3f00e8ff8f17a1b934cf42aeb4af5c9ca220b022e315a88dfe67ce171f011a26a109a0dc9f3c93aa984fd22c2aa161a8992cab5f370b3683b54f2e00cc375bc59e0353132a94d47559a490b65049060ad52091d27b5ec0aadfb3c9b7c119b3357a08c97ee1ba32d82a533c662e2dff8506548be93e79ab58420872b8b108abbf870a336940ae203344b99e44d8517aeb52e91bec24a167f521311f6c9755cf70790687833e0871625770ff5566740423849bcb13f49c6343013981d35a6c6a479709c160c390720619c06960ab524f7d9ef231af03f355c362d59730898897f7460d20dbe9237e14dbf62d6c11c86bea1bc2a3b600e1898f023bc6ffd9102326610b851d3a54f7ddf30a424cc978aba1ee39e5aa29e0ca49052a9d77d4b97c11c20dedccd1cdd57fc986e78e07a09adf799f29510598a5a47e9d503718b4bcae070876a38e7bc55f7488fd7ecab8c48bf10b481974e12b51f48d09304a2beab7ba00a6b993b206f993c6a2b82505ade6011423b0d3e3dff00292802fad9c1ee66f0ec148727019fe159ce363b86d3c696025f9874c1ccc4ef0ade1249d29aea9a00c7cdd95e8836d73e1c7a393c2dfcbaff0e14025147fcf3f9b31245948e06e500078738e57fc4e6b97f4b7ea041bf21cf7a4b83ffbc48362c5fde727e8aa958d07c26ee297930aac1e95cae7775910805b59f281284c476b4f7160dcb9e758800e8294c6744eed7573e87a5d27ec8337b6f4fcd1634956fc7aa675ccfe715c9f06fce77577037611957ee6ab3d9503ab2fefbd2706051214ce091863fe35de01097391352a7f35aca707a8e3be9ddf50311ce08acdbc9a1784217be0944f7cdb0d198878144ae9f61dd9e68addfdb73e337097af9076715e1a189504a4e9ac310da2665febbedef65f422e0909141449fd71eb5868e7c826b13215f634acf8e30e448b6eeee02a2ccb3ba891271d8d33daca58bc5bb0e8118141ca519f40db6001958ff2a532551f0c67fa17fef835c54e68f28c94a3de7dd8d4b7d323b5fe9a0c9feba9fa85864ec1f0b48952d99b4a47fbe1c52117d4a943202028af54f0920a37ef9e8227dc87700bfed6c572ae67e72ce811b60e451c0bc8c73e21714bc2068231bd6994a0feaaf0414a54694cc750cbfd8144c8c6b2d1dd3b33eb73bb240d908ef49b6915d86ac630ac26d330b857a76d39f3c54685ae62200288d16b3505fd2c0935d79bf1d1610d595ca4ff58b40ad3ca201fd76363b66c63ff6e073002fca3d58aa719d8467cb3133a5376ef9a17308cebd1659ad8a9ca93316fc6fb0c7cfbc3ff617e3ada7b4f19b9ca95f9c11adea4671160b12a901514ee27fd1b0359656ec12dc6181ec1540ddce20d7c3fe7eab092aebcb196d546e88d8c122f0b9862ced195d251f8c0a0b52b5dbaca34567d2c5b5ed831e7f3f53523cab47a0f5bc59e835fde88a673fae542d39f0ceabbe2e1c9d798e0203ba25da51c5ecb084cd80f944e08d1820e7fb6ff7ac538ac207389be4d51d6d9ed77e6dff27f980427385d4e0ce3165d41b67fbee25e876215c2ecbfcacc543ecf79a5b343f5ea0fedbb0a53c6c190ce1842e4c17a944680dacf47d773b5cc0eb7076e652eae170453fab228ec812c41b000ef8987f2171a0cf921f3ae3092553eaf6d85c511df067776b8186880251cdc987c67bfaa276cccf7d95d7eea2135f6eef83a3f4675031d48895e9d3e9ba0a57d5b833b9f0b39b62a64b331658d10023675dd873bcd05fdb0667e97bbd3d02c459c2db8b21fd59313fa084ae66bad1c660e4c59acac0856ea34cb6c1e4d0687325a5e79e56be2533527ff3777ce9d39af6de96c4c0e02e57f11fe9b9e0f4c9189d31acfe4c1fd6f9be91a09663a37d5aafbdb70da05014b10e6a0c90daf21626c6597beb0ecc8e4329c1425495135e9cf74a1e2d9e6029c21a019dd04122c01e0667233a1102db716b8b481463963b60c2f257754970c45c6169ac289312c78abdc1b4d337a163aed16070b2c6d5492c24cb634dd6d04c49fb8f67c1168ba74cc2e7252fcd46c10d974ef90b327220307a35a68d89b0669813e25a3f0f32e9182c4e05e16e3ca5f4cb023d45b741493afcda375ea080f3bbc3239726154854847b8f59091d2d47b04252b0714508c86b4e1c87e79da0d8426b5bc8f131e565b4fa7c58c3efecd1984b96bb4f292c57e9808296e874b0b2264c30f123885e63097f1f589242c125cf597531de0a366e993d47cb3ea2d00b2b12d871e58bae417f67e07b40be054a14fb1a70710f63aaf8790202b7b250d001d7e37f094f4e8078031777d2b9470e989c234b7c9edae31266885622fbd0fbc4735ca96612c0c588adf5378b44a4acb83d3958d1c81106e5546da279b990b1e7625b091f22577e21a90584581ed7c84f0a95ab9461fb3f58b3a8f26b8210fc27f1bf73bda715c4f4ccbacc7cbb6afe2573e645da67b09a321188e76857a0a6ea728b61dad3fbf4ac2d105288e3e002a04aa2501aff69859c0b4da0db72a00a6a7b1f67fe7fc5eda24d7ae342ae555c96fade69200983d16fdd277b2b7db060d9a090ad39452feb568f697daebe896aefe8b2accd75924af9739d4e4e40102442ee2c72c02dcb06969d8084818e1dee5416b24ce7084ffde0f76a725dc240b8bcc80f298255c756d055dd89ed92284984efac76fbc7f12e82bef3a58e5b007898d22327dbc5fb904af7c452f8b815ded117bf191091924235fb18b13cf3a0878b19bd9ab353f1c6e05991ce787b8ec582a0da6f3d2582b0b94231e17471900fe412e8b3e52ccef2d2644c7176f30bbeb0f7ff9bda2e4b9e049e0a70dd346054eda7ea4c2f8e1308f9c9754c49f026b60b1a8c8d36716d4734bb5b5d2a4b4073da08adcd8191309ac7a6ed2ed3218255499f107f9db8ed6404ec5fed298720005b7eaefe79954995be045bc5db8fc3623f577cf1fc24edb723ef3626ed51c0f5883e4a243e7f3999ab063366b33339c496d3649eaf8305a7d2d13f2a8c61e04e49221a2c68a0cbe1153a338ed52e76b07b3111d0c7f9d0964253def187b170edae43849d1d90febc4172e7afda7fe4b780355ca06fb1fd7777df0359ab6ca0faf93e772e8ca4a9461c923deb512f3ef0b1381733002177e20d383d6ef7ffc022d617611754bf3dfe987c726aeef03f23f1ffbdd26f3e10a7d6605bfae96670895a9160884f8c8460d143dc009f2edf1c2afb1b5f364d5ab9fca1ac5a5a57403fd9bad99ad958e00456bc7d08d6b2fbcb2c57831781a83b036ee59c18e3d510240835240983686db2b26554c618b40e6a85aed7fc87f41d89ab4d1fc5e48ff0027e1b1e83045122a44835e0689c3cf998d5fef15f4f5001839080809b948270b57d047621243d92749b2ccdbda439127479adf777f3adf29b00cce2a3d952207ca244821b0d97f66cf4ba9321b8b37f913f691444c46afb1b5b6dc4cf5641104706f85557a771cf9a9d96ba87ab484aab48eb700f3cd561dacaee8e902115b043a317c47e28bab8feb7239849fd7f6131778ef54309348bd00c981d936b6940794113d849c8f66e3e3e07a93fa9a3582aae8ff605de37c1c7e6d23d09982d90a3927f8fc3104b3bb91afddfeca321d9faa192847c97bc6ce8da09461de021306d0d85a8ba6814078b1ef65fdcd2418ffdd70cb4a0eac9dccbe4f3883d0beac0a9bbb742bbe84cbeeeb348431cb56f8e70c5fc9fd896042866eeb4c231c31b20453c238169f3c691184e8ccbf1657f0ffb97c270b7f976b052d637748672c1207f6e4abcf756c7b90e123087400809958dafb80a621c6992f8ea19378688255008df845db9fc954fad116a5386640a915fce7db72adf31bd191d775ca6e7d2f039ea7d97b6d1a2fc3892aaba1b20124fe846352a34ea1e46ed135534c843d6701984afaf4f9ad0f023cbfdb5f66b35b67e41b44df841b0dba450db57746fcaf06bda2427e8c98cbef76d1d74b185f5f480f43ade1cb2510dc81d64ea609bd8a0a1eb19f3453f6e57d77460318933d1fe7e66d2ecb60da2e09cc13c86af0b8d705e082d365b290c28214a00ed4ef22670e2cb5116d23523de09785b7bfb122d108e0325d2069d4aa42162ef9dcbf72d68a913e1a7620c5627dcc8a6389d1076108097c7913045952ad27abf14d01c5f39d2ef1355cc48a5b9a92d51152e6b5a7067554e417e2b911c432c9cec272d54d2cf1bc61b30bc00eddbdd99efd75554d0e10183d3053d8f03a397ebba055e6eff5b408191199d15415555e35d2cdaafb0697464ea0e1601677df4244a604fc2722d1b2c70b118b5bccd26588dedcacd10c1f7036debaf827d31980297835257b78b73d5094e20f95b655cd66fadb110002f4d2e3d97356324e351cbf51169348b66e709124b3975683e799672d55818e0d6a6af8fe19b5ea805d55c472b2e4190fe1c9d9dcb0529a96a98439ab1688b30237074101042f62a87948a6a5fdca2689cc4566f24beff284b7ff8014376b780915c3ff80a844d36a14970bec2a9f3427050cea46951c392f77f0fb7af0a34b0c7de17f614d781a5dec1fe9ee7e9f51cffcc8b49ba95127e0fceac23d2f77a00c0f252f09fb691d73cd72355ac2de6601ae7e4ef8c10fffa8b486f7a7de614109c085876a0d251b236c9f0b3c3b7cb18122b0eb3bb4a581731b0549fae1153906520b3dc9a72e3d8871c9d934bad4b3df9b6c31a6fe76abff87e91cc068653708af541664f5e3cb6996e7aca684e9e964f5490ba2b0ac067bb256357ab7c85c09457e0e3a022bfa9f0626a6c4083f97077e3036026b3f5b9ab5c05ba74b7acc0dcb6f86d95fdb93fb15224180135ecec30b2ebfcbfe84fc949e806b528788670bb78e45cbed432bab0df89646ecda1d471a0e8f0b8e5febfc7efed41b05e8de027547dc7d5247f4ec162a6bd9b9cdbf36775f6bf5f3250849506c108e40ef9f05e6d147fca452918daa3f893a5cad8ad06f8d6fb13eb894736a93d09ed23c020b9ec823cc17bf2db22c107ca0b70090532440c937cbbe7eb1c11b67293ed07e02d6d5416f0027235bbd794d3dab918d859edacb85099d08edfb19d1f58937d20daf272658600fc5bc2934d9bb939a16e23bf5afcf6e27ecfc2265f55490ff5e01c762a81c814ccdf1e758b518466b175da2414c068a933c34427f507241a3fb01c8b8cf70abb92c4c77f9303d13af218fb7140c7d84b66af379db11016eabd60b63096c48888d907cbf4c5030a80affc433349e408ab2a7e4f4eab84c1002cb0be55fde584d18fa3dc01f014f6e0f0fe9e6a93eee2c7d8a250c4f4ff46894fb036e7a75c388844cefdcae1525f905d41880d8b771a3ac389ec7ca2b68fb81ba0c216450f793fe0e620fb95f36e7594fad9a60b5bbce4cdca7fe935f8eb38dd20b7afc4b921837b8ac84e14baed8e5e7d5101bdfaf66a636735259cdf8329eef07fa66694abe2c1b9d86bf55ac61d1e51c6bfbade6da368f70e37b381a3b507609acca0c4f65f9b5f79a51cb0dbcbded15e38749772d28710354f88d8a8d8c6f0b17efee9e2f229b6477294ece8749eb48adddef412404b316d491a5c5b3acc00a5c897c87a7935be6f420d354ca61059ceb276e31101a07b9b01ee087e3c93903f10ed3ba4912268ec5bab2cfb2378a85f5a551030b7ad705093c8369c1dd2d0eceac5efd813525d8eb3f357420e813b8d55d603c0cc50d2b7a3b095dff80f2014d3909545f0733256a76a9b8363fca36e4b32451d0003e71f4f3aa9defd9dd0dc68ddc83ba0cffbe42a0e8d032992593ed7179d40368dbd6543ece41352ee701c578b09c75fa779ee648de78e21a766090d7df4f2a90828b673362469008a000aab4934b26d61f9f1b9ce6c18314c5c0c96ad350f199837285a864e37d4f0e0414a0487f1a3eeef4973c46a75b7adf6ab6b14a76427710f345998f97aed73a0da411a5e7df75c3787eeb62a10cdd6430fb19a6147eaa1fae99a3dfce7aa1b905e2382a0971e68d59318cdd2a459506b23c7a362dd4bc1b24dd321da643d793002339a5257233e70664d7f295013d85f044208399160e0f9d3d76e1d8eb3f7402560b022ee8a4ded172e48c1d6e7769912b7f550ed4fed575688270be4df04c07f1c8a0f424d656c33d9adb68bc46fc7b8c7306607706bdae9f2f52d893f16103c3d4d191ac87578d8a7fec3ba34b8f3a8b104ed441aba781a3b816b89406e60e80f1c03b30ec01197a50aa7205269bf65212e39006759e36c3c1a731a13c7d099136a56f98f4a98ef417b7a2169609b25d7f458433b5d2d36409265a2dba7106e251dba4acfae8aec54c7ded8f2123d2e854642beb9148f09b9051096972780244cdd531bcc93fac0b5d613efc80acf16b8d4cc350724128bae077551fde9309d0cf3e08d8ee5a465a2fa012c9d30da5aad7e78d3b7b2f1db430501a3f35840db97d4284c60fba51b1de3e980ca2604c0a149c1b72687f0f99199cc7c5b15d0526e1f6ce5b673a4d4ed3e12162a14f2be77523710e1e9729a6bf51b41e43fb0e31fd54f2f61acfc75fd21e0eb15b83b32caf608774fe62888d1c71be710fe30a68b832aba2b38a57f14cea2b8abc0631376b823135a5b647652147440fe2200a1d63ef9e9ab6b9317cf74026f721cd14cf873e7a87d05e6cd9227d06f5cd0b0a9a4293bd1fc13cad813ee57b1a65a633240a3eb5b494fad8d15e2483c6c3bb08a9734a4f5ae3ff7c323c5ed6b5c98055481a9c0d4fa57c2e964e58c9c0ed5d064d93a54548ee30b3a4903e4026d59ec10945c1340de9fa10ba00d468bb213104578195558db30ca6b037b7dc2e9212dc59bbf138f1e6a6fc5e12d45fa4285808544d5c67cf687db409999a17b7e8f099687118ccac1d5120dcd17c0dc52af901e30d68cff3aaab3336866289a607cde2d28709d0cec18dcff01f66154205290ed9eb4e3ae3c2b0c3fd3af7d5b9d529f07e63da322121bf641dc9ad0ec0ffe7078dba3b4c7c784bc7ccf654796f66cb312fd342e7eb402fe5a623b24515f4550da16e94a040154688ed36f5aceaf474d54524fee64af7bf65edfb085b49f9120f29099540cdd0965c96400832e9594fa15337296af3426d04bd3d1b3ba49a0c04878ec1a7ab4062437f0af3525475825e0c354c7cb5501df8b7ac5bf66ab7f407d3444b3c5dff8858e1501125aca62ecd1681ca047f4105bbbb1af0538f2acf0068dee20af035be00a711a4c24ad012702ecfbac2bc2398b41dd2c9dfc53a3801a198f505be41c2bf995bb87503612787c56380444e3413ab536d91f2a94bf3045cf1e0ea3c8fa17e7b143241adafd8f5962fcd10b2b9d408816ef4b4dde9be0a1332fd0a6b84bea5f4d4fe6746432be4a0861a9eebc6645c29677ea32883010153f42ad8bb26099478987626a2f915db1213a80a6b5be1940b7b7045b2c46206d06eb8bce2979e8831ff2732c9b65c2228949e4043b4b94ab3c9eab3d9778e0a00a0746c0f649da1cb1c495cf075fd4690142a420a1ac1ae5fba675f50aa3602912b2545be6c014fbc81f2c3fd953b235ba9326892fc63c9d7a42c5de11dc90fccb0db9e9278a9855651c10c402c5ce9ea77aa94b59956b0e75773dba2c32301b2634b9deb2c1b5176f1e5add68429cbc1aa14ada1a3524060fe278a7890f00690ef54a94ad1248895625d14476385069079f8c322f916466f51fbcc1f9e95096d7b55cb3f488423f090442279ec62bb054af4339827aa44dd39c3974aeae60404f80580c2786bafd0a58c3e93f4fb786a3fb96c9fcd35c74e50ab010235250dfeb7e312cc14cb88effe21c91916965823765dda7dd872e43e564ef99108a70e9b3448916c04a9e198ca2124ed96223f5cc71c8080228b9e99362ce10b3cb407463a9b5ad245bd243be75500d8e8a79c8768e2ce0aa84dbfd983a01013c73f06d1d4d530e9df5afd6347a1dd6552c126d171be3379f7c6bbcc4a2f4c345fa0089d688b15753569be43857261f4fba7a67c660a489f7ed3947b6685e7b541790c652e72ae99f07e33665b7f33e201966afcaf6aafeea590a8090751a64bb954038941ad47824351b6dd3d7c3f96b8a602812ff06f23747907cc30b808ff5a34064b61e68d5125a04c902a854c887677d9b8fb54484894d898e70592296ea9b60350d33782101e6b1e2fce8116befb256e36a2b63e7f0df44d8f34906563306503ee292601cdbaa371342f5358793b1dfdebaa8615b5a85234afa29a9644adf00b26798c423af55d47da907ce7614e1ff2a8f9bd60622b651fd8d8cd02f9bed40add0c0b22cdf32e78d9d7777ba1dbf1a538a873f446cb50b8ddda59c09298290eee11fada1f07c1740d6b1835d89ae6e22d1273ebf80c96f14d07890cc5d7c40da810c670fee5493d7c41c65a21550748529f742ffb029b077e0c0cdb1cdc4301b0188c7c87ce5d3e7eecd231aa44f823a15939dcce7f29d90f3b6669c9647f078d6141de1142dcfd620fcb7ad5a7b610ad47cd4243c01b35770b1f3442d4fe0d899bb656af9857d76ede0c1e021079ac9f093ec3a3029ff12b8487c0187d830b4466c8802a7430a9704148bba22d5b7ee6457d447b8f8209e6ec8bb9f8e3e703be274e79b76e0440cd0d7d498781f4b6c11a59ff7dd24e08aa967f808a96d909c4a1f39771c676cd3bd986661a3656cefe1508ad89b13529f1803e176eca4b051d518f410e3ed5d99a73621c5bcd666dec34532a22c7ea388131a0a421a3420cc9e083602e7b42a216fe690394da72f4b943122fd04d655247f82f1463806d008b0dfcacbf86bdc601d5df39831e80e1294f227088b266ba7050ec87df6ee10c6515e6b1d2cc9687f78706bc623a21df01101c7e999221651a6432667d772107f4ec40ac14125fb567dc4bf038c313a2dfd98c4af4ef2d5c94698c95266303042a9d98f7bc814e656640fe65a51fed6155213d31d178b6478d7f7a2304107c023c6315c4fb5f5ce5dfe0e1ef4281fc1dd1900cb50b8dfbdb35eb9e007887060aa8231d218daef0971969ca950d1b6d614b3526fd9ade553a2f42cdf273ed4607aefc869b3dea9f113856e34fd86c3c9a353a8c1cb4af03452e77c1eaa120670258b439e58b5d9e6abbf8eec17720b531015f51887cdd9a774d7a7ef8f87588075f318cf08052d81e8fe729b449634d1b115ce1ea063ccd5197a8802b6d93e40872651294f57c01391ee0fbe54285112f0ee5796126d0e90aaa2bf838a08ed40eb408e09722db503a95bd138009a47a3d696a7b4ebf50e7dc5b213cdf84bb5b041465220ebcd6140b50b9d66b3d41b0e840f6975fc460680de2d1f0221c844b0a6b2ee438a09836807fc408276a8ca35abbfc4f77a456eef6194ac201fa29d40090d1276ac014332a2dc4eec43b7f530bb5baaf746c96c85e20b5e8763103df0f831d904d736368dae41e5268d846d90dcafe24efc95e673b350a5a23d4fb640e883d57ad1341047bd73ddcac3adfb74225afff4970d047161072206f8bfc200e005a081f635c2ee68ec8265cd82d0e533708dc6ca3f30eff5561ff15f5314d07b80d5ae68014853764f850c2ca5b5ce0a1c980ac42737881fbbb91fbb9b05b0b459f65624be738a4beed70429034fe5fdf06e0e09e817f52eef708735ea0330bacf26fa4c7f98eba22bd68919b2702c56faef171d3a334d759594220f3b9e5040c251d97981f9ef35bc1c6616a991a03fa9f18391edec9ec740781d01f89230ef30077b8aae9e91f4ca78fd72efa9b775393ffa7a2676931cf9635e0a19c3d018b293437651a4bd1e2d91ff40e5cb4b0789164c824c7d8628335daa2f13c3400a6fcae6b975c9c73a04993e143cfdb78c6b92e4dcdab1347b61bd7a88e90f305eb41ba50161d01a693ccdc09901987cb66b7ba5a8480073830b3ad2a125a7709ba8d98fcd22d50ab2d5ba21bbb9650cb496b79bef1b82f9bf0540bed795d79012773acb4896fbc07c3bc9811dc454be53d93a71303db235dbdf8f98663088a0d7b5cc9d11295af1e5b1b4a4a5417d923a29f8181af81d50f348a14dd0a58f20623f7eb8ad6ed640fde9583d659c873dbf68a5760fc99241aa3af52c6d6916a0f4ae91c8cf7eb0fda59580f72728941b28f2df9f772efbe7808c4d2399affa30ef784f840e064d431ad57c6e5032981ae206a1b5630aa6eea48cb3fbfa6c97d046a33e80deb6e027ac6baea8d29cdafb980271b1fc0606663dc1de3235743c30a75093167718fcacc6bea6fa2fb912d0dd32af0e57b23983d1cfaefc591a03b0d3e010b7b0cceaaf770c993854325130770f108a78c16eadda0c2c9c883d5210daac5ee03be5f7006afa94248ed766ce2284105220e2e8c6940d426378df30f0935197948a0fdd0293389bbac2152adc73ca3d6440a80bbd4cf528008bab67502345cc8e66df4ad8527971b5267b5263cc7d3c761e11231e088fb1f457f66880ed3e014b838c26a661cd448c85a89e3fc75616d1ff89c91ee41abe38d16630c0c75b056649a3b936272901832e5fc57dab5faca9c2364e9a80e8808ec9a892a0aad767ec0e3e830278ee01ced39d3973abfa450824d7f88ac82ba5bce83cf090bb483fda37f7846afd710e9f9908e8eeac7b33dbc136940ddb92bdf178673e40f2474ede67476d09a7c68e2e8894205ed14e87cf34c681be46ee795a04cdffb0af2ffbf2285d57c6197c9e700c0efc24b7f3d017a880b37f921e8a15d6801850f7a42d8b02d2dac0fedfe9cae634e1e2b18e96fa8cc1751004bd9942eb3a56208962f1731bc7114630bf2f2fc8d9aa313cb43e964cf2af5998203465d7ae5300555be58091157652f64dd7b3575d7d574101b1bc3ff3a7c5717caace0ea1dd40a0bc8af62ffbae062c157bd7abcdd6afb2b928df6cbfc84c01e18280159aa1f04f51bb6661b78aacb2204a3d528904f63f1dfafe71e4141659a65d622e6fbce0425beb4ffc97d0c9babbfbb8d877afe3de2b9391b1c3ecf1f6cd900eedb892806baa59e31ad5397a7fb749f0b9fd4125fb3ac604567bd9cc0c02411635133bf0f7a7d6cce342356e6d1ce7f80fd35c31eb506f5e0b040600f492ddd2ce471ac0e6d3fd778a94dcabc8601999b48bd0e4adc93339ebbd5ca94a1cd035981651005bda069c723bed86e719547b6ed4164c85cefbc88f36d30af8c4850e20a34bd0b182d5c6088e75ad6c2871571bce51b7a116b30ca4db51cb42f848e3df111400efbcbda7fd1e1c7cbb052166ad588387d3441c8a3b90e1396aca9e8086a9d960a3ae8bdaaab24628c25d5b07b39058ce333cbf8290cdf622f164ad8f503b24607532d513674c4c155ba01b7c1276c51bdc7380d4cf41de0f1688ea9ca7802680f5ccf905f67725a869a5da822b64e57deb074f25a25dc49f8b12d582fa9b93309455419ac2c1677fde35fec32c54cc9cdb880f4448000e29c3b2a63fb63ec4104282d19144d6381e844a9793673096b102f5c4f3da32489011009f7cb7972a206f27392d1f5dbedf43897b431da89493c0827e373a791744da6961c043ac9ed0dd4e31e4387ea829bd89ad24dcca5a64c9a895dbba616e239b0a1df257149920816c8d5b4ea427de6d5bfb92c44374d41956417a4bd6cb536ad8b4caac41eaf03fd474519bb1f5b6b3015a7bf95bb9d51101f4ebd09272e348f50fbfea1c0460e1e22fd01cf91fd66745fb8c0e1fe296429eba1c307b6d4c2f93ad3968080630a2b7acdb53112ce708f520142c2fe4e9767e3c820856be6950125f42c8732540cf68ac264f91b29b877cc3e099c0ef3e4eb270122ee4b683cdd250e3b45c0d60fcd2958a3de716421475ef47ff85868d6b72ed696f5e7047b659d4caa64ecc00d9a9865159a11932c747d5abfc1362c88badb9d5a3bee41c79d08a133991e6e0564fd9768b56c9d42168dac6c5e1810189ee92e3a930f715d4903ef66625c39097920f7070d9eeadc41b75da2f270802d33c770e85869cbd9d3320e6ad2adaa0dad42e1199bdc256cd9ad0c358d40a02e8e15aa5acac6e7167068055fb486d50f868137bc8276241ff3c5595a3b01c2b7bb59b4186405bb953d8bcf4179c2dd079828108f5d3c17e3b8758a5afc8134753d6861476b99609d703ab9335a628805d1ffd44c05186d5d6c12cefd38019bffe9cc3928c15d2f5e391839d4e69acd01cb1b791f63b40b1d6c70a299b74216e5e4d98d1a06b9b3ecd1053d67c7fb0806540e218015924b77cadf8bd697ea0bca02e960ad917f0f2029d26012ead8d107ae23060b81eecc26eb54100d9b47d30cc95cb488a5252ce9f596efa4c8284d0642fcf92d044cf6886c4dd6c4fc07130e5018e88f4263cfaaf4b47ba5369b4a0a16e6d84fcce7f6baea1538bda44fa5d81444a2bec17c616be816b537bd9b210e7a4ab363babdcbc849830ccb1821ca67deb48d91a98fb3d465cd211516a0a6019038026bcaf596668b6f754cde614a31f4e32948588e005f938afaa731bfe30b50680333e66af99f4ce8a1409cc8feddd77bc1a621a86240faa40773f8b8ad047a915fb60455a99db5fdcecbbb065aac049d364a19da7de5814c461a407be309766896e461c8cdadaf2b5b1490799d3e8704893b816e0d2cda76b139632c34033a4c8a51d062a3dcadda9f976499c473360cd0da9c5207c1d4ae584b2208d801502ef31af3cc91071f035aeccc4d57568c4516ab3abb792032e760d1f46f89020713f4602353da26168fe63cc1028b91919bda9b017242b885dd1ec9fac0cf06a989e4b4f46225dc9a61d20abe4c2d10a39c9d278639c7b16defd67361cb5a0265811c41f6c1721f16d27305ca2e53e45419b99bda1f3c3517060f1daf9a8b0d78195ac53cda30401d774267f0ee35480821f087a6bd321871d4b97242501206f88c08981ad6ac6c19b9096c4148b6def58fc785213391c99e11dcd869ff0102cc7bc1e3118e6b2ded2fd4fc4a0446cb4aabc0d574fb1b592fbcc2fb5a2fd10f9da3560e3c3e9c4243e295f0cc08d7ec4b1ed6de6a2d13fe2e736e22975f560c8463968a3e34d0319f857c960d8a60eacda47232c14e2f50f227901a0efbd503205cb4e02ad8ebd1a8621a2a69276d4b923fb5d24c410935d47cbb93279a1602e844b6d33e7dd6e0cd5dcf45d900a46f8732d210e4cb07850f5c94a88693930f543aef554d7d48ce6b3ad214ca52d28c1a2babfdf27d8350e68f8ff0e001500b041c9045ad8b1e44c06e5a48caf980188095d24ace84b61ecfc227756ac85006fde68960aab6e4bb076fe5aa56dbd8cb74143b933a99e9c53cb2cd587842420ec231951a79fab86a9926dd801cf27ad76e051c1406a514d869c01af48ff565021fff7fe4660437dd8aae13e827a893b3e843be1ed9571164ae19cbc25bbeba0e718ba75bb9572ec11b57f70fff2f32b8f47806080dabf2b31f6f0849ecf9bd0808a47733ecdc39da38e49a290397587b06fab3a2a983a831c17240f324db070585739c61f6d7520aa8f9e77b7fcc7065d58b3f6c10127ed8d26da99eae7fd908a28ad4bb5eef5afbfaab77377e0bb96f2fc5347e38db75f249ae5089c6f9d103f6f4255ae4cc83c423d6d834a4e560809b32979d39b696baef16ebb9fd69d707b2bf8e0aa7f816ae4084445ce1cb8d409ce18eaa65931417231b4baa0959690fbba8bf87993e0e51823df63a7871aa76cd1b03897f6c09c0a4e63854af234d03d4bc0058afbc44eb58e81f030856b503f0c9e26f77b579a8cac685b555bee4036eeaec4f7811dbffd0a333762d038efaf6a73f4584c96905a1e75115c691510ddd2d252ff0c6de0403dea06979628a71f8d957b9ef862d80cf3077aa26f5eb0d8c985ebf8b2d96e07378ed9f53a06efae4773d5d1754ca983b31f7f587d62a0e9985d09d0395587664a39b7f89de4e6ecf02019da7b0ae80860cd05b280f900de69a9dffca343af55568e54e2b85c07ad5d9ebf172efe549dc26c7d594f1fa05905aaeedfd8bbf4fcaa77e7c52062cade553f9198fd19ae814b966ebef88b60a777aca81df1c933e6b06eff1159840288486f2d2da86502b4ac67d56a952690bd854ab5fde3b7febac7e1742687142aebba87497045802a76ec43361f3ec030a85b8bbd1ae94a91c3cd95c83c760cc66be8e24c4363a93b48ef7539126a7690558238df2af8a652046f985e1e651701d44e52c3350c5c345e2dceef6cefdc70ef9a289082c54d5176177a98e3b394718d96bc8c07235ef96600b3bb2088eca09bf366ef2e987153c99b4ed7518ccf448cf1ddeb4b9c8f0af9b3e6a03f116ef0d09a2ab971dccec95e67e7b0d1e98963b0fac72ca84e6816f58d211d1b3fc4008be5f20a944cb28b598e5ff09c94d05d6d1598e8d880e732e6822d66a36564906e1cfee862b063e5aebad59e8e8b23db6c29db26371b284b9a0bab7e2805b3c0c918ebd34a301ed44930423a2992079f31bb9bc597f01b7d8d0f352a9111d560086a7ad102ec5c8c1a880a2fbe69c9ba8af111f2e287452298f45c950fc0e2c0ca7afd9623d602c215bfaebe241e6b3abc8d8aea339cfd85d9bb213f848cdd005e03bc691c9210da66bdf5acda5716b27d12ffeff657b0725050f4c615ba1d2081eef235a06c3ca8c481dea3c2d6a082fb02e7d9c894f753a5af003a35e2c480bab4bdf95b23f80069f22f0ced43595513bf5b3c8e04ddd82707a0166490ac50c494e7f0cab933aa28ab25129c97c7cde4d527f6f4131dde4a98069b3decc66025d2494835ef73d62e49da570ad91006368035645a7208409a929977d16e0de0f205d2189fbea384e512b2dc37a1286c5082bdbb4d8ffc41142c94eeec3939a02ed9eaf6c2247a7b14bd0285408d6b9823d11b34b951d31995369b7a022a42309184b1a605f1631e081140331e4dd250464957685746946992c6c13b20137360b9b40fe084ddd5675c4410a02f1bbc90dca40b218eff1b01da68185a5e56c1e06fc82d35c1bcf0cd06fddeda2a34e7ed1206a2e44533be39b7244418dc55a200d3b6b88d80d2e5555a5f57617a99817780517f519a67e2b253963a6706cbd07039688957e139ebb27dd4deedadcd24aa6c7b643d955b817edb72deb3d280a9309e97745b6113c7a610c4ba6ceb595c29209914f5593da1291e93c95229bf74600ce07029f8769aee9e53a99480b3cd4c0545658cc60c23c3d63ca283fcf688704e07f4cd127581847c34d3f343c671bb1c66dd0cc70659f779b275bbbe9e820075d716bc20979494836b4c4e707819e26bb99ff5edf0f622594f5c6db6c4ab406d83051b3ade545f7f44d280726a10a0c3fc7ad552fd71d6592aad02a2a114d0c2f38a4450db4512f9910e3e317229f2101cf5a3fdfe3864ec16f119bcafd6b0dd253b67bbf2280d4a09fcaa266497df6c8a859f204d6cfd89b50f9e51b88190737f04d861e4a6721e2b61ab8217e64e799d9880244d084b36264f89c9306a50a4ade686de30c68f5cc55be233178ab7a535c227b118458118d77a36f89bf510d38423a443cc67cf700fb646538406fca7fafe154ab81f7c83466c0e71617ba027fb45c86abe911a1fa5a60cbe83bd5ad2d7eb2e171ebbf875e5b2c8f1171be07864ca1e074925332b5304a1a7e39440d851f53f9a5f31956efe7b5abed9df8015167212431c8510cf8a4b120b22804083b1c3257dedca329f5e12c32bcc2c005713490d4418c925cf29312705ba3c346ccf65ef2a9a42065473ac9f4fb83fa025ad6fa5c15f035370e29fe04385961c9eab5ea0839374da841a13d55e25719009f8a821c4a877324aedc4be56b09d7b8f492853c07b61ca34e81dea2e45231037a73a20e9fe992526789f8f16eca1ff7fe577e21a75d7077e4a5cf88afaf9e001c28e08aef96e0b21ac6fc650676d17667099324ffaab1e862be30cea04f310fe948878e4d6ff431254491d7a34bc36d40db4933338e3ce1d28a67798e69b1057c7f700736681cf8472d42333b8f0548eed058bd73465648c48149f3af77a20e55d1bd982ad61aaba026e1ce3ebc48adc6d99ab538f0a26b87cb064fad138d038bcbc7aa649136d54d4d0492aa487b8deec50d278af64f8cf8e12d64f3a2cb0870eac9d4d169e53e91b0169fd0b9a260ae42b43675f1b046db9b724f5527e30629438f6175287853dccf441f577cbb8b722f87081e39b76cc595d59a9437810b3090d62696828213c35cf1c699eeb5c260e009ac47035238fb66b3c2fdd6e90952ba00f16157d698fe7e31ddf479dac3644d359eb643b9dd1a1dc604f4fc3b0ba2282def8b923de9af2ad80e938dec5c2b83746393c5dc0d88d48d7ea9aca508e8a45affb461eb20d31eb48e11b47a8693d7802c27180f78508ef70001483d06133e8cf1542963d176319bef5e88ffecbaa0083b22a2360c6901a3eeed7be10954133ffde5c843a3415d26ab007cd598d57b2472c765e61e27b2b16a192732014e1abdf1795c74c36e362807668ff18c3a291f242eed79c9d38a11423e99080121c62078652cc75cecd52218fa37072717b16541bed64ca6cf247acd9f8ce707135c2c464982aed6ed9233e372992b267b5b291fe91df59a418e0419a0824d0c8a3a6538a44b29bc49dd00d80e18a0982380f23c94f75723c8e6c51071c88305e39ac7628afa6b6f75d090bea214783ebf030f30aca0cacbfc2cc3817c08e902ae773f4b1766528cbc711450adee6df31ca2ea24368054aadef820f1e686060dde107d11e4189009f41b44a9bfc2353c56ebaa88bdf12ee7f03b02fda864f00ea8fca8bdd2bd42b883dc22366c9475c766ad4e60dc235e5c015d982a3aee350f6621400fe35e4fb5289dadfdf92944f34d2f33867a6a546031701429586b6100725d1fa0a3ac64c8709f70cfca3196cde567631cb49e6077fff318c4ef5839024a298837e05f4d80201107f197eb3d3df893342c41f532e24ba079efd41d2407685449902e4f6c7a0a508781402d44d749c70e2e3a47581a4923cc03b91c6c04fa48a96599dbca22b6cc7c30130e483532f6bc30ed8dc4b373d49d25092bd90d90f22b254990b52bdf17a7c11a62932bf221de54d0e4e76606122b92d608890bf93a263fc418a8cc8f64d55f3e0c58baa976e38a296537c37e15037083af3d0b9ec097d99170bcb37ae480e91dc3264c0ee47d7ee950c9c9f695a7449007b7059368999ea40ffa08e58e136341b51bebd7175d6b5233345717bd0dc62e1a890240d8f45b664e1089d182be676d1e65208d73fade848098fdcc235f7a59c0510036521e91788813dca3800736ee8227cb47db22201c7fdbba0efc96a40b287407448414ac99dd61df1beb6d4a704f01108c0b5fd13feb9f5db888ee323995640798b6c0721e5764b68c031ae0f5a65ea005c04bed17f262e54d52d662daf59a07f1d340a1ed20d60c8e71898c192eb63f3b83ff6df5486aaa4698956354912008c2478ad19ca7f27fd91b3936e88deff5f3e4d9d222d0b74495a99c137b9cae0e26ffb93dd14cb7fce09d73de8f672374201a547be93269990fe70b987d9eec0b7f08f59460011954674b55183afa3e4691f169f8e5085a8bbe65711754b2ec080dfffe6afcd9fc2e38d6b9f5f8807b6f64f76779b71db7bc180995c0ce729b0521f8223a49cac00112f36b6904a2e354944d7eb8b0962d507edb94e8b2da21055d8d07596b81ca8592a654e83f6802320294c0b0f2689b5ace9d1f253e2449086e9b4f62ea15642bc9276b01b1094186ccf33096ba03d3885d51e7037963c402d36ba68d05ed5743cd92f97762aa377844178f0182ce109b302b48bcee60e50980b85deb8a701da6299f6ac6627f484a2eb9ec3a83e83fa108b3789542439d0d86d91ef02275d9457e0531298402012260ff2a23129686d562c439055b19ea02364781fe81d6b107f784f46be0e5de5fba9e953ba435af15d8a89a4025894d0100ea21c9108d16867f50b2e520cb9bfbb9030a097d4d8bf66cc65930632c4f03d487dedb2eeb084d00733b7c4e04a5dce3a3ed78b1729a2033014f41e9a8fb064d28ff9be60e18ba93657a4513abff988ed4a52cf257f953e3aa0ff29bb9830ed3999c0e1bb61a134ba7aa9589273da2498648a82ff706134c3619fcf0746308c4a6e75123c63edda245f4fa6cd931f3c1a5f7c71a4ba0597b18dcbbcdebc309c570bfca3bcbd218868c0737f3cd047de06bfe9517041d9466402eaec326220e52cc7c1897e72078031012b2c599d4dfdee9d422e808c4ff7790d204b3c179032eaa405a211ab2e789a31fc4309389dc959bffac8811a5ca38affaf1795ca8088a83b53c0c651b4e9735428f5384b484a99f9247acc539ece7ed70040653a20ad5e5f55d4aa8b8a4b66d62e8d09b74b294ada2f995cf5dc96ed52ea4132c180d83906105da8e45acc4f0692f8dd1bc6eefe823bfc007a24f2f06f3c0d34d4e05f2597558288b2c3fc169cbe6093b4de9b545dac9787effa4bcbd359ab517c7039c68dea9c61b0617b2acc9c0d953f1ff85be0d3fa1a5e34157a7c3d76ed67a05a07de728abb1a2790530b6429dc3971d672d0aba6a5d21ed290ee777bbb5e609b68d4f25a8cfb6eafaca25abe6aeb0cd3b9762164d29437f559996f3efd0860debc36eee93e548dda11c712eb47456574faf042f1e5ccbf1652ae5c2b746ab0beb3f6be058cf8c0f9535f91d2d575542366285e5d7e5dcfc850523a8eece090a0ac600a03072d97e30821955d0f1677d3bd88926a870431f0e9265342167160e2471541e216479d9c7ebfd23025a55eda224a397eec10035bf89814a72fd6b051c8ec56d256d483ad39c28bd8c440d53d828e56f964808ffed5810302fd0af07d2b30a456a39baf62822a6ab1117d3d30c87ae42dc1fcad18a417801871a6409828766ae5b6532e7acb495541de521016b650bbae73448a0d83c719ae37f650b3ef1b809612f4f71271970cbf5b31791e4bf5ec7c2f7263d3b5369fb3d20e8001e35e40d2595e8f4bd9927e9ab353934534f61840d1e91add1d039d91a187c026f2dcab9802e9b7964071efc337ddf4d9114bdb753d2f227011ab609fc70be02a23c33b7d35b73be2a08a55960df583a8af522b57e744aa42d1695f603588e0072c7c3c004e2a682f49caa98a69e78592eefbd874ecb47ffbb2722258054db02a3bf646bb0ff65838665466a66a71c2f808f65ea313e98f5b9d2fdd292684404fd764b45ee7270c493bc04e3f5a3b37f0b0f3aac98f36999987f8896d50c6a0d294e818a66d884004c86572cc7f1e84c12a56cf78ac1d384b54789db72094a003b261f807acf924f1906e54686169bb8b3dd55b806582a8aebdeeec970686008936aa4061597a02003a47be2d181c476c3be1e4aa0fd7dae4983d70d2088f100dea8ee87598045d376a027d4e205102081db8f4104347aaffd949067738afc0d4825738e940cba2d570847f0ed93bedc6df2bbba5499ef2dc4d74243cb3d3f08e786a7a8438526024e1a5fe836c7cc1f0313f951bd0f2c41bab326fa06462a0eb74ffc1a76dd0c2ad4a22d9fc7e791664cd54135cd6b853f5e5ce37ffa920907001731f39dff694ce3b956e2a29fee20fdac7833836e279c55fa0cd35d897c09ca0f6ec28f8f76428da87f5f9a53a45f010784a26236e5d2b86563f406543f064f2de4f3c4330de166bd3b479bd7378657965f3c516976c99d36e3207cbfbd09c22a081ba452b7509549ec4a9ae76bf372639bb9bef62ca14760a96abe962f00e9f0e7fbc68ca830637a903befad4bd809d227e26f0c367508df8b403a7ea60598fee51c34adcb8b2df44986a8c5ee5c422b1720e95c8799886e0fed16b33f0e5edcadd6d7f322bc369ab8663a61074a9383e407304fef00e86a833bea28b604889dbf6ce64cd381bbcc32b9668373b6a9a3d6a009077f2231a4ba3de3b9d0012204c56dc7a813c83a012842d51e81d21dabae11fbfa7496e9d0c75af1458e02f21c6dc4d07ac7231c59d80a1c5c04253df269b95e8496307d73a16e82e9290b8ae8ac1588aa36b7f4755245a848c91ffa6d88538ea4053489f3dce00fbf80050a070b0910214f2e370649f4bafc321638326976bfb45351bdd4b0b09e258a06717a850d2d5684bc35e40b1118a37d2b29b4dad6f532463f38a3b4c849b20d064ad461189e22443a969a18a1f4654cd43f102ed9e23ebdc8a73f25f0e56964028fb731b500ee0d3d72e3a4bed7418acd38601d9591b7805258dd8d94becaf20a34dc76c9cf96b40a52ebe78a904e311032923c45f43bd89b634a791d6e03b702b042717a292a89e6d8afce3d62a0440093463b7d1ad19f4f40df3307d367f502aa26e54dd00af5ca6485b5c8f611c418fe487b32743a5c4dceffa60dbf3db001f130820c8fed4176a5f22097bd781dfa8d277952950599fb87221f82b913d90d345b02a876e4a0962a79cf9eaf45fd2c00b4b80002cf989bbe84b4f2fed34e0aa24d9f2824584a4ee8db7ae7b7fcfd426396f1101154a250c520104b99c873095b3008b62ed1ba5d91d10b13975e53c60b78c68a604d3aa97c0fdcd408ad210d05001c0cabdad216edf2d40c8c74032f5a2ef514a3d1ae77daa01d34e2276705a826741529b65d269ca6fa7c3cc665625de0379a2ce7484c5c595f49b2912707ee7b20f08086fc0a0c7f2f424099b9569c38ab80411970a83b253b62d4ecd7080b575d5dce7a95ab7994512015fb0171f4e62303b5ed9b4f7214540fbb83800673e5fcca93906bae4aa04584226842c59f4215324b3d2a10656f56758c7d6c0d21f04345c1f74cfc5f607dfb5563bc5897b03f653c2d1aaf2f36bd4cf9489c055da7aa02ee6c1d8db4706e2b793b82f14713dcb027250307050e5c2db95f670ebded3e9fb4f65f02f0f0a39ab59307e4ab513acf23fe4314cc5f564291cea609cf93b4e503dd144549b502b06ab2111956c1a8e9043eb0aa61f57a9e04956e0e0b63a60b115da14987e3e80a098481d9b63900db906456b6dfebee0fd6cfc504d1e02ccec0e2969551626f2f668d4645c622fd163f29aa1c6a7a592adb69e70fc180a83fc90a94a79cea701f3b10c975ef6f9180d65135fb0b2a89843483070c415a5394ef2540bd2888e3f35c55ad860805568ca235a238a2fa1bbdd710eb03663887ce18ecb351c164994f2293ae8a44132308f919998a5d527b5630b12109f08bcbe8eed00537f6d39743f818cf1273f5d5a0fc51ef4b7a737f433923f30777e218d818f290c9c0d1ab26fbea1304644319f5a121b8f706b3e0a97052a706a2d2e4ab42a2fd363b336ba65f02da205ed4ac01cf83c494b77a1b72e4fc280e7c09dcece6b5d1ae27c81aa16fb74dbaf1634d61f9da6b76ef894879ba79d509bbaecd8ba81ebef8abe41e0898f1d517f88de2c558e9d445ef14021355e289047216ca188f38a45976c1e870e9aaad6b26f34bbf438f760f1d8d15e894b4db0122d80c084fdbf10a096c147558ef0e7278e0d730c023004212a867d1bb1aa504bf8101f4be85323086d3be61b46cf97c206b4247be1b06abff0e284c76671102186c76b4a8812a36ccd7f6c8711702a386b6cc80ab3b048ce099f55ae8bb6400e6250c4d0318e4bd6a0a6b5e528a132cc826499f2c1b6b63eca94860c188840be42205e17ca0ea4f1c81983e4f7d9ff41044dc8913d4f3d1cb08c34777159f06e16fbcad5a3b13bc28604358c82d6742f91fab017d197d4277e3281c9ee86f0d91dc97d0274fabc86dcc669f1c81c7d908ae5a116420f5af716bacaffa9fbe05746f8389446704b08a52aeed5915b60a243ceb0bf89d82ed7a6379ca1a3bd9025dc040a1e0e4768de504ec06cfee68eb197ef5c85366b540ac20928bfba47b0ac98d2f256d094cd1faa7cc5684243a6245fbca619638c80bbc580ec618c22904f68915519bb2a6101b4548feafc3fb128d82c88144cc375e0cfe273f37c9030a5722297bfbf31f9ba250d46b3aa84e39fbd36659e990d37f08ccf362e0287906047d3631d034970093cd13bf032394bd047e78007ec0cc364620f660ca521b0301db199825f10eef84d657dad991b78142e45f05899d91d6975586183790320c3c4661da0c1791d659939681e1de7cf42bc1edf3a5628b3c588c012a38d55402486fcdc588a4bc3d818e1ea08ac04a51f892899a357e6f44448e55bc8a35f60abe74ee159869dd0c9001c0d658a921c73e159bec4ba06d38e548fbe361412e02c444deee2135617b56c5f1c398e0b441afdc2f39708f57bc845151a1a3c754000f07788f14736d860d30cf67ba3e8082bfb733acc7c62513734a9ffb7f4092060d45097cbf0a132a3b308660155fe199ba711163a54f2e47ea689445ff0a0e032eade2f3633ea8676efb8947f0b1a00fd97c61d01c6fdc74b40ab2c5bb740000b45be8ac33827767537d4b020de7d5592d15956fac62908471777c8102b6330dcf9ade47ea0384fc7dcd9f041dca04e18fe5e3350fda661ac016acdc6bcd09044e5a1ff9d7e59bb5a7b29c308e73807798c003b3b7c30fac1e26e1b01ef2010243c0a79dd0606a8f480e29b23755076054b394fe91e24e1667742b54a0c7970f469644d96b309b6c252b699aa0fb377995e6d2efb3604e1ca304e20e4c1f30065ca7b033cd1e8890e4ac7d138effb1ae8607c787e5306b8526d7ff25abc5940d991381792b7edae2a66c834952ee84938af53615f49efeddea0cf0f68e2fbf094813c37d76a34057808f85fe00161d5f753adf47cfe0aa95570f40aaa7cc3103947dad03bfea54ba2a89ccf0b64caf0c3d39a8a892143b6ce7a0ceaa011401085ca15733d73b10e473fc6ee87919753343684051d4af7f668573d41571f07b04309394cf2a491ef7360abaef842d64d89b978fe1e131270fd8aee48ceac74101fe69c712ea4454bdfa7c7d0d0b5a1d0a9b977f7dc79e5070448aa1e631b034073cee3faa92a3099768632c4933413a2a0b0199f34e302c870c88530237a6dc0b7c96ac8c35f6fa3a3659e7e7589a7c2d9b7111ff80587b1618f2a6fd5701b70871963f56935a41d0653d2df1859f09430f4cccd3aaaccec17c563bb125f94c066deb01f887ea4f8b5612d05d7827e8c12c7fff72ebaeaf7e915f4489b58c5b02363f283bf9301a5cab63a586960891747f9233c43d5b06b2155af6628de46200fce9ee09348d09f651adeacb2bb032cd6547504e6be2cd23884c7a720879a307c61323dbbd7a09156da2767c9bb1fa03a1f1ac16e2a2ec29097b0b9c1d20670c136c2c655ac2635c29dcc5c8468aa034835cd17b70e00411eeec231f18272f090e2a31735a3565156fdc69709916b76ec0cf765656e8c2920a285d656a014905e70a3b51442dd2b61c05a16348ec006b85e9ea9ae4e0e05801ee5306bf9c4d0b82075c22b2d317a77927bbbd01e80f72b476ec5af33a6880d8f5e80b7b8ba0003b46a3e069adf5d4bb2138fbafd370c29c4e5ae21e3bb4d9aaad649567c4720541236583b1551c189a44af2f0ee8d481116b8c9c40e1e5c2aa07a73750aca60a6c063d7b00ee293114dedb7541e10bb5d3a3ccbdbf58c7cffde698d47124ab07402e7676fe49a98c39d9af2f8d65656f55a87031153107528865e5232a887f03e56bedcbe626fd4ba44788f281ebf290434822c6b4646a77f81fc7a55b69910e59b09abbc7924266a89f62a7044ca40fe0451553d0815517154fffb642e4a20494208ab60c8d3dd5479afa4b05ca8627fd2b6fbd95a199d5dcb2fe789bab370c6c98b2f8b4afdad954bc4a22dea5389f9adad797ca7b443c7a3702ff77ac1b00d441bf91a0b141a88fcf3ddf5d1151a84100c602bb364b3a55525873ef72900c3185b2c1000c5d3a594181ad5fd3337a0751a56e6af31116ba133a7db2a12c07b6fa52bee4cc13ae3e1f4d074fc6e5f8615a7d765a170fcc98c7cd7f2f18d40ba7ccb7552ad0eda4ea13c5d023caf3fe0fcd72078acf0d9d6b8654966821fe020d6617db34855882b22fc7497bfbc9e128e6483ccd5273eb7e0d6a4bed75460d4e86a3d8b9891ba622ea4ee13ec77f483e935abc81b05b3dd04454088252e501939a185a8278a7108bd32ec2f56c2343fad98834a81a581a77952d785370ef0defa93a8b0f2b0912c900ba52f8d879d50c7ee3f48b356aa380379aef4e16df0c6f8ca24139b58b47604aa3b665062ca646e3eb2b2079f38ca8c30486dcdcd308390cb625ec66907a9c2aae44c697e31499b0d7bd3dc6e58ecc28c187198958073b00bd6739c8d5b4c6c0f19e80ea12ed1a60d5fd6ce76b6d50974d0098163307266d89855543c7d7e4b9a66b52b1c5a4c6b9326c3a23270e0fb043759a5ce60165b9b96ba34283f37a4ee475216b78a4c66ae92e885bcedbdf5ad64c8917ef0aca008ab5dcf3a5a01d44b290104cc027d4f40feecbde335811e84eb97d8e0d09ab05e491341b7eec9fdb1579b6200d7c9972bf76ff6c433b1a3ed94daf250c0c60fcaa5beaba009156d20821eefc08ececc68babcecfabdb619ec3b112305d0c5b1a46aeb2b93b0c61b2dae3783dc21e5b457ecf0a0404622fa17789f845e90da201a079981e1edea4721cc5888f3ddcd0cac4e071cf3938afd8993670dd07011afb917916c0a413d9a4ece7ddd8d888680645c7e76328b143775e202d390103520c7650b3e1cbec58735d4e090bdc9e2def931bf81515a6e03f826af23675042c83c0497d96718d68974570407972bac5c714501a4420b24554e8401702bf0c19bdd0ececc97ae5fd39e698f7b7b88c64461f1e8122de3f590a7abb4c9a2e0c04b94ce2feab79941a5152c43c8b210c662dc964f54499a30e1925ca7b2a740fa57037c886bff8b6a39f77e2707342bb96b62d1c4c6139d4af66b24a3298e40f302c5ae8008788d78f4974a950734b243ed1ba05219514ca0ba5bec00886d2007d12e2f646fbacd4589559da394fb4c33ddef535d7e917150f286f54b653570cd1cb662cf1b71db03caf74c78be7869e5950c9a89f8160cde904ef166a610d0f82bb4b94a50b2dc1d5ddccfb20a7af6da6517aae3db6b1f88eb84987cddafc021979e9ce97282cc3c0d0bd5ad698f482a1c2f29b37f44061b60561d39c50e60d765d861fccc609ee7dfc1f9cf9027f60b3677294a089be1f90c5440c61bbf3084cc9deac2104ff478bba4caa93b25fa873b3ce15c551264d8d67ac238aeaf40865ce37921d665b088d5eb7660aa85f5daabce719e8087616bcfe069ee190970fff174287a00a087b13cf1a491c989093e31693bb411ae2f714d68177fb0ab10cdf35d71992ec9d96580d2531ed1ce43d5482d00dff6141c62a9ecbceb21e1602460d5d27ec4eb3deb1794b3fe6aa883d64f6c79605e125e3dc62da6b431cfe01f0c33105d3dc69f69fbc1f9ee22763e5274a6c986e474706d65ee5115ec7e109eb8ab81b81a48d640ebb0c86c365456e86d2cf14f15c0ca4d03b07577eace60a1091a8276de4add0e34be651d5aa8cffc024599666398e51a2d84803c3e7460641a290ea98a408eedd80a57819cf90e88ca536db8ac0f046fd7caa045aa5ff0e92e071f0474ceed2b9e3311614c23038ff3262b244eb6e5db3be333f3bbc5b0b0abb37ada42c13d7d63b0ccc9342d922e8adb2eb766d1ab5006687ce824f2206736cb7fe7a33665186776a94fb8a7d530650afd0e47fab8df4c4e49d8add45015bbb099c366a7894ba9bf6949ed1d49d3b689bc7a09ee0cbc939f10e1aa2a40c1076b61c778dd628ce472cf26a34799b267620a9f4fc99f36877a14018ada30297530eafe308d2accdb00fa169a1520b66c9aae66164aaeb857fe3468d52a8000dd150cd7d925d27c925e4a190618c8855c7a33f66b0cf644cb15f05d7063c0aa71a9521e47d88e2ec79de2813d290a246c260911222f7a7318e9744d8079a044e987e0453fd0c1864919439aac46fe749c47280aa0f65d11e389edee0a7d80b43420c68ca5708da351ba7cabd13611e33b4141ce6fbcc02a526bfd4ddc8480a2cde8c39549cae00c714e103f2f6807ff46bacde9998d29d528714e6a793f104b06b13a96469648812c9b41270eb2246f57d14badabf54cdbdae9faa99bf4c0778881749090f6b90a06bad8ee95f9a0158b01aae339fa5e06bf00dcff1b26c0084b69d19c178f3ca80bc19983c5c05d3cd4d55870f24209c0010f1ed0853c10595bb512974462a4001e71439bb00e5c5398de6ce2759791bbb3ee571da903b0850a8063c3f63fb399d702c448d6453155cbf4bbeccdb7c20e76350ad3182de03d6311bc77b465050c1c6b57d4e7b678457551485db0a89e54c1664a204d5b008ea6e4706bc48ba756a03af73fa004693f57b214ce3b6a4d9ea041db43ab664088b9aa695a8d7d143bddf5831fbbe4c80c3cdda9e8abeb8fcd403856036fe9c05ef8c038325660a5a09dbdd8d4f6ff2b8955de104d335b001465933822afea30beb594064d3079a714220c1d7ede240da72999c57cbcbb76f6560726e202344009d1042881ce22cf0a36a89c12f2c92515b3c9fd77ea0c3d89d62baa7c1adee0e0c8575eabb9170066afd6cbcab07432bee6143a706a98dd56e0312ac276c9f022d6371adc613203b797e569ba6d0c76349df388b894b3f64e16539a765ebcf051776cdda07098e15e3ba5c7f8859e80204dbde257eaa9eb2dc310a186e9763027050f3750343fb022fba39c540db67f9482bd47addf72913ea1a9b85e2c8b407167578cf79970a90896148bd17c854c9d2c4aac089b6ebff3731ef7dc48793053e36c168c5a554d4e049068f66eb74903d07fb86a3153bb210473afab1b4d600d9acc27bae8c1097793ab4c35e29b5dc998fdaab4145bf80e2ab55dd1150180b576027e9c8e4159fadb9432d6b8bedf742b86d8883748c5203398b2b269c40075f98f77239638749b8fa0a47995ff555e4cd65d4abc474478c8b74ec3015af0a8b1f8668a6ec2a046a08f3e132424332c134560f50b98cbd42f52d2880404b06d04168e3427671286cb841a3a790b3f96ac0344c3fe18f5f881e9bc350dbf202df1cdb36c8fd1893f1c3cdf25a00b076bcf0a32db83f17e3d73a1a44fdd7d009136d67daa93581cd021a1d2f22c76543af881683c5bd6f8337b41b1f8136f0083c0a411842091a5d667a053fed6ae4418af44965629359ec2987ff83b9be3102a4bb467cbedfe5c3a012d56a27649e843271eaebc8039316ef39114dbe981d08a68028ea856408f2b0889cdd73701ee65e3abfcf72143edd024dabbf70b482087f67118a7df9774d8874d0caed6e75e551531d25049b410e52d72e832aefeb0323c94be5000f37d63cc7a29eddbe1057349118f2c2823ce5f5bae340d8316d0e9a2c158898a8c48a20a9d76e3dc0f0ba84d28686fca3357ead195b8e224858012e87e8ffe0300e1006cecb83fb96abc02b086a696aa964a346109e3dff26470222f9ff54ac45dc1dffd297e0d15ab348587bf753909b5a7953dcbecec6fb010f54ff07a01bea155eed725d70c3908d45be6bbdcd71ec59318e79a707b75572054e0542ec07da208cd8aa20531d3a0b59b3f79a1efe03af6f85fd69d4415d570b3c8584474a4380a969b900193cc0f19afaf4a37a4bbd82dab4a1bce4dc15d10a3e4d1ec60cc33bbb7d44df99aa1329861a99f9e1461521fdc180fd38e792d307985a835d954141d8e8f17eabbf23cf100b81c20602f8b9ee7f3dcc2dbbf91d0048b1d8a9a9fa266679bc72ce2819b85cc07391a0b76d59a5be44b46ff672a30f3ae54060321a72d965c509a24809fdad77a5bdcc6f3eed083253e8937c18da00d5f764d18d852b36d364556375daf41a5cd524cb88ab6bfd9c1bde60024b890f31ccd62309a0b5ab4427078dd14d6fbec8b957a35cc4ff16bc65675e4ce06402beba903546b391dd58d0344e45309f224987bb9cfd5e5cb51245b8a26f3f6800d74a1c905e536b948a898e3b1ecd0c450cacc95a4c75099ee4c225ff5e76ab0837f19bc4e022317c40ad7329c04cee64223f86bdc11e4451cfc315f033139107fe22db097d46ac8422da98461ab4a668db3ff6cd7b3367d50facb9dc2a698609f2a1dcc2fa4be3e46c87196c5fcede412b97fcccc3f536f62517bd8f2a10e90b6eafe940502f03549887dfbb28d05ea1245f60d3c2523ea22f6fd6698777b90a553a84ad6887476f3c15cd76f58e7b1552f6eb651baf549e6a7b1b6d87bafb0c3c9ac6ccf45a304f93cdadfdc31f272dccee4e38111fc2c24f240b5393102201e9c4e98633aea405dae90a5bdf61ef5e3976bca5ea5bedf58e54adf0cf3e410a854fc9d902898b19012e5b3799dc832539e4ac5ecfc37c266f6c97ca8639b00e7a091cacb49d2c748857458c8e0c1177bf3076047e84e3392aa31fd0c4e8d700f52575138c1ce385533554a8861ebcc677d22828621848294294e4cc6d00d907e0dfbc438f5bc73b2552c9c2ce6c400b41dc20179665af145d8cb73f94043b006e612c80c24309e02386246b3bddb53279e111c0c0aa756a5310a609c3d49803e12d051902250511d207973a12ccd2e6ca38ee01adf45678a0fac60eab1469015208203950012bc88645d670547826c289a387d6a33b146a54c48fcbeb4a6101e610424b0a777b1561164f7565a57f16f44360fbb428ae9e350b2c01db3e2f012ae49020eda05916347c82654e56ab1550f7b9185f2525973990ce0a84521d0663fdd396198e1cac89c8593cdcba2490eac16c0666a404d6c89ee94abf462c018ee91dd6f7ad0a7666810097459a014632e69c828318fd0cd973f86ace653a002015d9081faa714bb5df08a85373c1fd354b316849ab6b6fab0f3349574f830e69e8c50521bb929202591a669332ed06d66d6d23aa4fc6ec6ecebbfbb190be0e712d2a67283d8ee85a4e604bed2aa99433443fb62b2992ee275cf0c9d9099e0259c9d6b3f01cebd8cfacf77fc6c414d89ca0cc083a9af07fadb7c922aa41420e15c5e11b6158af861b3ccb4b4a82f45039a039bafa9cf4047106197419576b074ac1944486d9e9617324e0c744033da08fcad296ccefbbced2e02069bcc5c208d773e73933c95024785c94a9540df1613853d3b79fbbe3ac211554e248ebb2029478695a9e4d1ac59aeae3a78db8a5c5668e00b5b9b638a45d5f7d564aac410c924d49c911f1a0070f718e690861ad3e5e88ace9aa636519c0d4ba6c613efe0e011671863e0f589060c584a2095a746d335ba3873cb3632064437e520723780d9deb2bbca774a57cd533340658c089c6495f0f5ca01b2a0d69d9f00456827c066bcd613b4d6a538abbd4c4f82e9144f08f70785129f7c90b049bd4fd784080053cbb511cf075b95db9e31d985773ca8008e7c69c801f5debf8b56664d832f90ecfdac6d81a11e9c3a21d67b75ff8fab9a6d16f025b9da2e64331fc635883e803ae25d7969cc4732a642162f696123222d72f10b663093c5b9d71a63a4bdd630436bc9a8f409df30ce9da45d0578d3ee2515d298970c2eeae631d907bb9be8a09875f1d8cf1aeb345bbaf90fcd428aac13e8a64cf4c0c0475f28f2086b3db1d0f1041e9987f088cfd84deaae5505fd885ead25c43c9232422947bfd08991c550e0e4eeb19e4ba199ec9a9cd7ab0395efa2d7ad5a272700f3650fd4a72e83d33062d4bc961f2265e2e5a1c20cba02d1dcb9182ab4930a9dccac2b121939822b707006d26cb901402ec9615dc6740454f3dbd272143456137c603989785d461130eada9b27c4df6f571fd452f8177f2aa5935352dcac7c4e95d438ef34e4934a70263739d242e3a88905c1775e85f5dafe845b2639ab536c251a8c8aa141c95400037f9567e6bca3b0ec75ab9d184102297ed82c0f660fc759783f85a7178f6350f3d3e1c743d578ae88f650e35f86057ac51563888655f199234df1c26420ba804d06eede967eda185489636fb6cea5a7ef12834e9436b96b35e97647b2af2140cb2ab477db0adb53db98d56f2537571d05a7e55914d75f48ac4f33b5cacd6bf0b6ff96be4add21fd62d7f9bbbc553726b28d5c78a0f2f7d5c2ce88dab7277710c95fa61b6c519de42709c8db56140712ba03e33679888c35fdd07f31dada60f0a75e2f99ef6132a8cde564e779d0252cfefa2212e7191c0294b00b5599dbf080d872d74ea4c0166ba23d8c99222b56106ea1d181f78205c36b60b21fe025738028e22484259e74a12544867921a5032b7ded19d0a4a5c37c4d0a9f10e1f8ce306ade79a1bcb091b5f45bfb75e25fc2c3821a9a23c226312be9243f2333e17530bef338e0f58e0502a3485ad6cd9b4b3d1a2421eab0acf44963f85c8f3c8c732095fa43baaf5bd10def03f3d54f4b4f3f23c63bf7c2e99a4da82e50ff2804752092bc80d03f4c89e43b32402682b7e11d8cba8dea944cc13d49f108d5f3908930883782d7f63257c8fadd1084591e777d97ecb13ff7a08533b7248b7fd99ea6b0ed83489d1e73c331cef4d1f2c7d1e8576e05eaec2df27510869ade8b88c920c0c4d72775a916534022e096e9d28c1bbcb2afd0c0abd5bc30600e090a55d1e4304fc2b5655ad5d0c92cc0404082e5ec6b67b4a19cba5802f571236621444de250f679a31e82e1ca6814671e8b6072b8b3b26084aa0842e8f5fc92d5a65722f5f0ba99ead036e5c152c2c635e97d5eae8d1129e8e832d3739275a143243a7208e0e31e0abe30618bff924600a1574bbd827af3378d7ca2be0ec85febfd6f6b94e020eb728f439bf151e80a4d85665d063e4644fbb53986629c86c9fab0bf14ca906dbf38cf6cadbc5bdc06b13b47a52c32518d4a05e87718184f31004f8c2f2060d3ab63da7540cf2a39ecfb23410a7f5d8080ba636d8cea24fd571fefcfa3ba2098ae90b2f07e2a5d38f5d9b0b52f042f72eb93bd16bd0065aa14f21bc6eb62307679f2f34c4ad65150c68707f39bb2d49e6da24a0378da6e22f40f5b745a1d606d05333bab8a467c107b760f6f4214b4544fa6d39fc22e01c1cd097cea518330b3a049ce2a00bc2d73c268bc38bfd675fabde53982443d3ccab95f1858ea04802e62b6c285cd1ef9604a7319a3ea66b7905d67b39ad83075848198f04cbe597010e8ae76dda32954aa73c4059bdfbba70c395e67898c3f9bb439ef1489ebf9b042094389dcc5caf4b971a242246406b1cd60b29c63ce8058741349a96e0f1ca08a52b7430ae8a9e02ac97fa116c9b34778b39b9ef85a02c9a91501159fbf6e8052f3a041ecce55862ca91b0619b3fc56e422b64bd30ae135983ad42d31165ae0c14ae16e7670b7401b1f497142b11938df7d2cbd8b1383b58795196de671c2b03b657bb245326d39b76aa620cdccd42f401729f4e708b2493ae720fb2d1e96307b1c60ce91cf360af5f18b65fb5dbcd13160e219655a189b426192f54ccddac0d1c153e16529885bc214715d85bb70cb8109acfc5cb84d9daf36ef7786381c90255097a06b620e1f937601578d78508753bbdbb1f1b5c7011bb187f5dc5441b0ca3fb700f5289c032cefb9af62b9857b642527e6e452b46fa471bac0faa4d180f2b5d0501743407bad19a633f6ffc97167ff8017d3b790ae9da0c4b3dc1372506a2c5024abd3c0b1f087d4f3189fa5fe2b9eb0c8711aafa83e4184f6db30fbe034f7c6fcaa12a75c8321f578b649b40a2dc649a122994af62dadc864ed6dc0809d60f60a62786c1fb45fc94fba56bfc56295d8ff79ea22c313f5eb73db084090401387330215c15c5da0bff0a83d95633d0f4a7e7e9cc119433cc8683fb399d079862f8deddf34ab0b185130f87054254f96363ae922918f996bc44e88c8d5f0a0771f3aa0b894da5c525a29492bc351a464e630f7eddc9fd22ce37aa5d881908b774f94c25dee0d4013999951f8e1259173831119987568026f6dc0c90c24a0833c0cd7917e61758005db6ac8f444762a8215e3d6f3b1c766089324dd126b10a131ecb0086ad55907adfd940b0f9f99921e90b78594aa6af7e49b2b150345f05d12041f352e2f8e47fd2756f83b1b4a0fd8e3e180625f707add58e7a9463ea0f5cc04650ae74f8a31d48aef3c9f58a17f59c0fc7d6b2b1e5daaea280ea7084066b8afe2a6e9641265fa6b3089a13fc5f439d4c12785fe8f43569e8a7946b090059bb5b3be4c9967621772db2808f0e598685e9e7cd5da0e2a625f98b69bf28060e153fd1a38f573657c42bfc0a6e10ba264b800236e202fed52f936388e6cc0b288a28a777dc65139aab8beb27483dcdfb06153001cc3ccb4fae4013d95e4f096ff65616422d57b33536c23bbe81cf03127b2345c130a6daa7a6fbd79fcc910f1d2b9defa8fd335caf9fe0f394040ffd0e0ccdff6eaf1f78afeea94e02c08d01b880b3166361115ee14d9e75689b09669ac2282548b894c09f6bad34235ca6061bde1f0fdc561d05217dfeaafe266dd6bc60c382dbfde13c7d4ca7ae4061520ca914bf3829e042c3011aa363f9120df3d692308784562d38a2d17b400eae9d09adc4d480198b7eb6e8b23845b22d97e0d2a28cdc4f6d819d0c1c470dfd9e0c0677e44dd0c530eb1d0b42dbbee3521b8fc54c6994303279474331ca97d25716001e0e801830b708aed2afabd813bb41b1b8ad25bdd0e89513f05c07055e98600646914cc0774157c5bb04a58be0a7b884aa84ca0ee4fbc7aa74be80070c3fc004b630f2c9c25ebc67b4ec36de0d7bee0e87b97c4771fe224aac71c07d5fb5500d981ed443470a16206079e34be037ee73d06b317db02aae5ec602047a70ac840f1a3c2ce6ad243dda302f4e6523ecad0e5c48fc78c4538412cdf951758d82680f72fa6cb927b2a058d9b0b8c96eb2bb08aa917fe8277bb65fd63d2d59617b80059cd7f2b02088934889ef71c36fda1b045c3097603e6633d423a0c822db7dfa039bb351aecdffafbe462a538bf12905c941c690fead54e6602472bed2460e7e0c96a8c30204975a5ea97d9b1680885db1600031b6d637e9359cd5587d1f989e0f0f5e6eb64cd290b70e079f688a7ece6db646bd2a0ca1a42b282de0dd5edbe70dab31843263e854466bc3c498b58fc16f1a5484e4fea0c85bd87e0a09879f0806e420d06f500e5ef19dce4656e99d83f35f04dc0729f924725228eec805ff610c49255705f3215e25144bacdd5222ee9912a506339a5f1d11318263fb3ac9a100cc20e9ceb8df52351c4e09fbc0b9a7e60e398aba40e9e820bce268915d396504d8145435e54aabcb02f05f1549e80881e588e13939f2a53637b20cb43ce10d0502e29e38156a924bb79b1fed71edfeebd1dd49ad3dcc5ce4a61c9de68df6bb090de2354b49baab6eaa553b3f313b05b971b3a1dc22be5bc70cea6ddd1babbf0f60767260fa9d78bd639ce4098b6093c864983735ff842ad9cbee197d2d4dc0060406610d22ad7b7e136f22e4d90dafed77951cc55295eb908cd01ae52e02cb08849fc1b47680c06287bc56a43bf5ef843cb57865ac19f52669522616bd93940e526f36c160b82cc05c9cbb9d0e2d5b32f456483d5450776da23a5838761f69030194988eb1b06d1022c8fd24365924dfa686d777eb874687f7eb8c462b30990f2ab5e22d5a96c4bf73c2a6533681075a86ccde4edce551d3edef477ee9f18f05244aa8d985755894e55e699edb96e0c3316e7174da9e7d127c69580e80f16f08a7f4322136960ff1b7d444de71a0be73e950a52f3eacd15aea37961d47e89209c141847ae66b7e408772252f11dc85136ef6cb547662cc51b970701244754e069a86fb31d63fd1c191d3e58d94c8c2fe3d39cbd1b667e86c01d5177ba696b201bc1f5d47f2e5d09a01f84a124aafd991154c00f68719e08ff9f3a2ae2c635b042b0314daead053efca1a469a18f4cdbecfb8d18f53152f4c5ad0c72eeee22309a20477eed6d80f17fd1374ea08630320e73c83eee64acb8ecd6f26124b1ae00697706032ca31be5e426d566aafa2c3ff8ab7c7b3bbcec721e40b40e3f145cf04c6b5f19664d9258f3dd23e69ad146b597eb10256b6feb789c317415b499b220444c898bef45aeec1c4146696b74779e94d18b5c8e79fa98ab15821dad4ae5b0bab321fdbb4ae3159ab456a7f58507ed159f0169d27224b6513981d86b37377021d02f88f971d8015015febc824f8bacd92db86eaacbd542aa299769a248cfe0fe6bc2212481c65d99fc795d63df6e742f209ec57010de6b7dad84d82ca646207a7c4288be906725d83db944bd88e73a588d8738b94a25a6b79a707f050303a0e37ad85e54a083306dea0e08749e47b9a5a53e383207dd179d36c7ed6cc3c1b0a878b440e323b073dfe10b10cc4cfaf6dadb8c673450e98708c659b3c249ac004a0282284c76af354ce6c6149250f0376033b9e4e9892008a4799e7cea0c7910fefe4d66dcb4a55f8ddd89e6bd0de61288d54f84cb36d307d1a29bf99314d5a035fcfdd176b6286be6f4beef6962141174eb78358a17cf82a570184121c71c00c498951c4a5946b34c3c978ac14d1ebf33a94744b1629362d476f552cdf80cd0ba5d0024aab443593ea902356068b955be2e12b86593d8d9c33ca2fb94bd2e200bc42745ed2c6f4fbfe38c4aafbd925ea08f3f8baf9d76a8ec8bf54d0ea139e01209c6e086e55b61bcc743b2bd37c77ecc615a48875dde878e2836c3474c69b0a0166d7ee32d4945cb0e222b635998c88c356b1c9d9e306ebdc6c16fecb63230722d9f98120aae3cc15058ae2c2b261defdc80c59814872cd6c5e5ca2a10a8f0e8c6fade4cfc9d43489039b77d39ebdb81fd83ce08035c62c18d998d70ce171085371b49eaaeb44f69cd43f2e8005878da913d83bd0b2baa7956d824eec12a50d74b909949a17a5bcf441cb64424f92f89ffcde5c026bde6ea7852b89e39caa0817dba38e458f5d8f962ecf5d28bc159f58f6d410943a8c1be255f02a7069a208cdcc99b285d58174a96d8381ab149e49dad84bedeae7f5bce8e2295319c3120159d1b574d7bbeb5d9ff92776bc5b127a1552c313e820e01df9372a12956eb3002eeeb54e3cc3b0efc3dedc8cddb265f1f1ca2eaf078ca0d4f3ab1b01d53bf900136ce9fa102911cb6025c35b5c73ee5e5e82955b7c33bfa717de7cbc6ab88707dd19e8ac2f036fbdb5012c6f26d669fee95713cd5ee6a285ac901b222cbb7b0b2aa4a55a48020366c4f6536afca617f1d713749fdfceba00f48edd473d5f7d0b9b87ab4b47a352c8f56840412cb4cb90ebd31043450aa6bfd46fc969c79cee0417e4ae8cefd53b62f450180f5fc610da534ad0cbe55fd0cff7ee2e2099f0460b6344f8e356023a6e40b76cba890b05e2ffb9aed616fd6004a0c877212dd5d3014182aa9e285bcc86590b0b34727af9a5be157e2fcf1cdc6c8c4b54e886e82c07cc233933085598e9d738aeca05781c93105f7e367bba29db2b49d14c3a5b55003bb4b2429fc7c6d8348cab45c8b94051ff1fba0726e2900527c4c2052a8fa4050e2c1bdfc81f93a6a6f42f1e4e6c8cf6bac13594c65d1d239cad79436812d10b703cd4add2653da62ca298c659b1898d739aac20889e5430100803e90b88f80b657ec4c4a19bbdaccfd4f80fd89325dce8ca4a5d61e566c1963ed0881667c7048583da39b0b245225022ff436ff836b242ea4e087bc46cf7edcfafcbe26dda0601cbcbbc0cd067826f93792dd084d8790eab34db1df439a81e5bb62625c3790bf7acbfb7bdc1db6131dbb64d1fe08828ed6c23a5ea3e2ea8bc0cc2d745626401cc2aeddcfbd7e15bc9d837a6aaff48857587dbd537e62e615ad27e27f367d30aa2775047c33239a8d5c91daf75a634fff8a7f6a0ada44d4b0e20e269e729d80806c32f01bea67a427cc4c77c6e099bef79aae598561dccca7168b85a4839b001ba1b2b3224aba90d3ca252d2523ee1713c3feeb40f0ddc4729303635fa3214094edf423e48f73f2693a92c94bd29eefb2fc9713eb5304178c4846e8613ed9105504449d6b84b82aed5882695fb33059b9e5941f5be7856b8074b6076417bee0ea14ea68063b3b512838d55ebba774dafc05b9f7b3b75534997350a5f62be4105e818d5cefd72c8bcad5233ebd02b79faf72dcaa020b4d195809c3119c394730e3906221a1f0bbe723d0b19425a2a337cb0b2f650fa0ee7c85d49c6f822eec40dbe8e79d006779f3314db63077a410cdcc22e39a04171eb2149229b9a026c2005148a429032ed18626f75432541e6d93b71464fab272f9904bec8c7bf45217c094bd0e3ab5c9242ee15e878e185546c1aa0894e96213890dd835c965af617db06ca6f126f48c611fecde95343fd62f943d3b9dbaea047c56dd3d2f20ad90ea703d34f525fe3109471334857b6db56b8ac304b69a53c40c87096e509eb5fa6f908d07dba42512c7d6636f53b6d2d3c14625cf4f48b9b6480f78e6ce39c9ea6a50cf7e9e3e43749d20795697ca3a15da1175b251b39d616a2bb636858cf0f342906df6b2e66f5a1b3fac84420e96b5c00f70f87ec947dbad6b0b9bb21bdd03d050089ad6e4c8d7824614eb26ab8f1ab958699c0985e32c325c4bb8ac13473a5b90412309a15ea8cbf675d8f8cd6368f730c780fe7b528968ec6a1981cb5080e420dbcd654838355a01d865cb6d3d6f65347f2e1c9233757c999de307d515eb740088b92a692701c4a4d99434dbbfd495463b16c8c47543c1e1264a2970b7733f3074efd3b1cf506e060ddd0bf5c1e0de5d41513a82e4836d5cdb47bb9f7cf499a013de679f8f41ecb06bf64962e6ab532bae8d23e283439cef98a04b195127c24025b593b2b4418c08bf4d410762e6fa0aaf3c7eec6ab3fe30f00c386b0e004a20a8cf206c0c6103b976423b8e1af250529d1609a9733125d9df96ebe96459b4a0289ca043a2531c1c03dd1bb8d95c8886f3f35dd16d8847f6780b0bcc6ed88f10b8f0345a866dacbed4f3fbd8dd7848fcfddd551c73e4dd8d6af2d05bac0e0ab0320babeb66e4931ad0dfa7c34d70ad2cb39fa2c5c6fe4ba3f8e7adcf7cc501b0aaf41034e7d0f8e95eb43ccbbd556057d9e09d5cf2f16d0bd958718b82ebac203a3d49c6a6e774745f9d3e520de234558f388179d8036c3ea1fe7671d9e496e0a648c5d72a5a9a009edab7d506c7c5acea723801bd5679aa1c3441e9b8d9cb4056a48b782042b8f09fedc368750f8c0434625d05559b19603f0609cc0e4f6d40965b3f65eacdef5fa68546621aaa65b3fb0e899cca45ffd60cc13a4fec71ddc06ed091db837d5512c62c7d51f8c7ecd55afbe48705dbc0fc8b50b08f0a4eee302a6f1d96fca9fe23d56d6aae1bf7b6268bbb38996b8c7defac3c8b6b41900970a4b9428088cadc35545d74bec7020a94d5fde4f940e2d4f26cca1f8fa1f305c0020d43b99ac3e9b1421ac2135d7fcf539c6b31458a3166f2288c349ce958f510d2f883b716ff99b76bcd8a6b0d9d25d351533e903b8d6b00f36b3c618b02282076e105f5234311923b49da5baba9d3da541ea18e7c0c1f3fb0c3d575520d7b70021038f4f1161b0e93d9427d071d9e9c37c72e4a1dfe089ca14611237f973c0074452cd061366131cd08bc7ff9027f11a58ebc6f4735ecfe908adf9567f723601005708e3b4a693185103967d2a292f7810397148b4e6a8d692465a62258f8a0085abc012206324cd112cfc18a7f91add1186f5b3d95536f142546f93ababaf01e0ba44d7d579b7fc11e68d7c3f5914609b40df04b91b5b36d003e11c74acfb07f6dc764a240b304b7f4c7c3f9f9c6f0c692503c8e577dc32af31f1a6b8044e067ba947c05dc4df97a7c6b2aa7685222a9c6707b4a0e303792457de0c939aca01014ec56fedabbbfb4d1d6abebc4990b78157b54ddc3ea887d1fa4d70767e9f0302548fe85d2488b5c50e11d84f5e1211b8015f4380ea141d30181abe752e6b0c4591cba56d8bc7fa7a38729355c11ddb592af271062f257d1e6cb16192db8d08b3d9877702508d43f8e310abb933b59b9982012ddbbc8f665cf84d065847d90efcfd59a2eb6371adaadc44c2d95a5b9962d94fe019567c8b2e48ffb7ac0f710bbac41d92a89012b64111571270aea950bc0c9f9b6625c905c4bf525cb86d8f0c6aaaf66d7ac702b48f6f118404c7df746946d92492b181d7ed15ad479388b005bb02fd957e8af5e85198acf0229522e737d4621f4e52ed487ef9696e36998b09ff2901e06df80ea07c105b77039a2b8087c9f08465a089beec6c958aea80b804b581120051fdaf0f9de201a38bbdf6bcc7f6c9fa18a68792569d4bb9dcfe380921c3d89e305a9774ec1c34556f9e1c4b90911a57ed3f0fb7d6cfbbf1cba7420eaf6bd560f400507562c052f96429f02d357c49c3f09240ff231d82c6c238f5007a9f654c3adf790a2083f6b39079c68743b72ca7c73a33270c94d7d5a28e2503cd0600b61a286c79d2d095e3c99845b13c7b3b54c204a6a6208ac2a933aa990666665bab65deb1b8112a8c7acde936419748bf28204ab8506fad58dc2c9492093ecc8172675b7ae29e70e8e32734627c11cec188691fa5391a540a5068de510bec8b2841c17ef3ecf838211507564e8ed8d352d6cb143d6ab209b2d8ced63a09212385b0423f66aec715a626e4159f44bd9d5620ef8212e9a71e9b620a9c6d0d689afc9e831796bce3b5a4c699b73aaa83f4b560f5459f0bb31ec478fcead60751dc316c7aac6782b3cf19cbea6929f22e59fe3de96ab7984d836a6da623f805a99f9789f067e8f2d69ce58544d8a6715de5f5f3d310911fb05ed62117866d0bcc34ad380abae8fc105f4f8c3d5df186805a3ccb9337c3d73d10efcb2101c903fba0fca970e1c2097d6fa37035cf574943ac68a40dd6d930d174c681aabb910127f523123592c943245c4b76314c1e2a45b2aa84d9fb2508129aa40a9b8dad06f48a9361e777a0de9c4a4e03107d2b6abd0d7c3e5740a7f3fbac34b9ac4f540d3466c6d7aa5e0162400888f4db8f1625a303bcc300c6b4716df22be5706fcd0adb6fad3303355a80d1f6c37b76e6d3617c65575c8bac0b6cb73e708fd2b595059b17620db31585236d84d7a5e58dc125ade5cfbf9ef95acc67ac5335b400fe0217f4f79480c24e7df46f7d804e0f51080aa1b6c5a5f55800cad50efdceb89303d6a1c2b022ee9d41bac8a8e966c92c980af72ef9afd610ea8e6131ed461f6306ce0c7874620f2ff73e3101bcf5b155dfca8ded774c07a506aada4ea6c5c01706d28255eb06c641d9e977926e6981a3776ea903c4b3bc87cf697de269bf83b90163392b0820e7f2eeae3b43f8bc80e8a2a4dad416ef7793a50d6c90f57598bc0b460229d48bbc590562eaa4d64b5a970cdc640d4950a4cc41f487b321bba9c80ff2da9cb0a7a2ffd957d1966a6cfe90e86f97c727e10ad88e2f9fc5e333948308a31c0b626f5c8205e147a4b203493fa77567abf45974f859dd7716f1b1c63e07cb21daf9abebc87356fe463c99751a1f2ffb49de75501cb80210b5b8d6fb660d7c71b5b018839f67f7a992675e6ef9f289fa7811bcb6bb3b22ce841bcc99240dc273a081ecbff1f363b94651d5763c0802e4f81c1c5bdd45476be63ad0f2d70e847c0d686b0256a43eab35a891b97baa4497119c02023a5eb700b251ff4ce801f07ed936aa86b863ff58c86e6475ec21f0234380d8eb11479585a08abd3bff0518c10aede457859041a6ffce3740985736a885530d8ebfe757fa754141fd1f04f502d2c989d719c3f5b7c786455b6b412fa43b28a87d5938940006e9d6ce0d01cf9efca6a05b7ca3f063fee3f4a33d62f5aea01fdbcc108e588333ee7a0bb8072a2a248534192a10df6c1a131db5f5b145d3a0c02667221b4fa86be14a72d003564313c8d6ba3fb4a66811a51383d51df484cd06b84b6d14936d9594533a460de37f65faab92725cd901bba466e71164cda248f964a71054ef0fe266ec55bb094b585903473ebaafcdbd6a5d69b677d538f557e4a46318cd38158959cf4c0a04c6323917169b35c2d75f514aaa02ff13ebc5df715f742921d1cb08689966bb0cf4f003b1f9ac6c0c71a1b4f69a1d3e68264eb4fec26171adfaeeece443f69909138fad2ec8b77e85943a7c43e3294c80352de6a3abcf905fdd711f4d92a20e0c21822e4c34ea4f6e4a9a3937d24c1a8c22151f3c678be0bd3bbf7b64204936032896a0a8b51297199ad91073ab50bdb97127ccb8bf411b96547f83e854dfdb0f96fffc33fece23917f2ca17c16ffc28dda8be5c9b23964217eb7d8de0fb9000a5a57c0e60985a83f61777c85eba92f73c8d23467cd8e112eda4aee32fbf9e60c108ba8da53e05d8c9bbd6b8838a2812643872d9f039953ab82d15e4a07c1880549ce071e4056d2672704ff34a3a424e340252517bf223cb3832f5cb070c5a60cd68264eaab18311448b074e8db5c2bfb70fe2f92cf0841eff5919cece8f60e00366801a3b91a053f7443c1a5421e87a2e4f603841330fd2b18a9c5fb0d48d304b0a56cdfe2c42dc357ad2be49a3dc8c3cdfc312b7e03a38c279ed2bd98dd1f0a2d8e4d6d082038617e88de9a7664f617e560a61a2f3b90be92aebb0434bbc0000b9f1b119338e3ae3b9e5e615e323e672d7ab7ea1c028e30b350a58b256b3f02ffc86ddb90f472f94751926f4341d066b90cb1c3b07acc3e5eb132e3b5e8be0f10b14e653db9f557bfa0a3d89a3cdc8b7caaf0919f082bfb09accbb5a910bd072a503d9183d46e4706bebda9981318585da04eb307496e9691dce6dbd934cf04a1055d2d79f635e7d6936dc50b794a1742d123c08edd7862a0d313cc454f080fd0835c42ec05618abbeecad289757346c32d5d309818d5186ae9cdd011ae4c0635256222c423f8e04424c763113a0711a93df34c79cab3aa6ad1a0ef60430d0a946b543c93415f93b41e5aa60518c386079ca236cecd4701e6629eae70906104c7a79a4f5f67bc2058a0d48c02f9b9f48687168f8abe9a17446a7d2e9e90640356a2419e0f1f00b14312c86c49d0cdc8154976d900836b92f570c21ed1509e03c05960fbd1a7350ab4e4a0be9ee4887d1124e0fb058dc31afa2d0996191e7b0125c2f8970230cef2db68f1fc7a8a19c60462bf48e3db417356d3025f5c403a0e9fa70b4fb648f571e828ddf6d8b84ca5ec900d57dfc8d07847cd5233cb4b5d051433d39903aec9eed2cdc18d89c3e6062b64ca0f16f86e13a53ba75c86cce40461392dc2ad2e539e4faf2a463efed362551aae2a6793a8d101fcdbaadcc78405922aca17c68cb3d2af277a77f67f6f65dca09e6d9f624fbcbe6452006315e70c3880c8e3cfc977cbb706d0541276f0f324a50b612728520500a20222cfc6b407782f0c199a1362b6f3fb069c84a787af6b9c4793d352a1c54cc7207a7e1ad5045eaa15e6ccc227afdf0ab07925cb1344c3d323924f77887db919bc42aeb90c024be23b01722b245360bddd5a7885adbfc709ff8ca58196da2db0d27c6ac5b50f907ee7b43734af8fedbcc5bc11b224ce0ce861fdc16cb34364e3237bf1bc1301f7a4a5c293a6e07c44d751baefc1265af14eda82b2c3b04f21ba939c3c85ed0df2d8806268dd6ccc2081919ebccc87939d1a06b952c2cd01249c03c03753a407ab2c5d00190fdf269df8ec034ad4d36f0e82b6a2763dbbceb7d0bd13590c8f0e082f107fe0c3afc1290fdcbd76ae0f28a75e49eaedf37efef0df88782bf393029ba1e9a4344d120d35cf0c11963930833b2d26dee005fc9a14105f913d0254006a2c5e0e063b2044c0f57dab8b06ae254780d473d7bd3eb3c1372f7e460ae20a6e72472f1d1353520932fbeb03ba11aa3768a83fb9951276b82a4dac243c230b398b20de19263887cfe3e22d242094c06c19467532655b9574027ba0b92f8d0ea66c400289ecd00e745a166e47e167d5db271f8908d5b44fa983badb7c6e1c00e42dde89ff9b1cd7bca6927a308bdfd13ae037fc1c317ca7e8e7ab7b3d5fff01b92065c3d51ef1f3af81b9031f958feaf1a902e12f28ffe59d5ae63cb0ddfe0b1dd97cd0486b10988e1710e66868821511f7d81e229e086769b9cdd53ba7f60edabed753a12da02fcbfc659c986efdd990c22ab8951e53d2100a026abebb1c05247f377b2d8660c573d8a6ba5b99b26aa089589b4bfca0bd7b4bfed168f3bb0ee788f3e2442fb950d77982902e79a567f5471a69bfd7e16bb9db043f38107908d537d90b39db2eb796acbf8e9189fff703ff70e28dbbc17a18cdab00245781092aa91af172002219715d7eff1579307e41fd2581ea4ca907bc23f7862cca860642157943952a7c252d8ca41f5264ae7fc760677e43dff89fdb8b711b84eab9067a67fc6c19b09351799a6bf3afb5ce7f6afe7964797a0eaa9c18de1883a3a9047e44738d4bc6455f9440c428d1fdfae19028c1449ac3c921f856a0efbbbe91005e5eeef377d92b1d26890669f7f49d60dcdd08b0f4da979668859d7e2b0a6e03a0d241274e96841db93b3d1080ca52bba47934cda4b698ed3a1499ee5e3f32045c5189636ce3574b5c855cf3120c073fc4adacfd877093d5918870279f3d830e002a54f6db7028876f76f690b9521efde449304aa713f37160564a47887f590428f26af67a27faafbe49e7790669f346fb02a619d2fd258cd6665da626677000fd99059b2e5fe63a855f9a30c602d7f027658379dff3b4c0dbf2de7db2893f01435d67e64a573ce3caa77327cd5b863c090315f5231e0da24ad1007fb038520da48380cc651d8a6c48be9a6f4a3bbfd26a71d82a36f53ed05ff9c418acb502033b4d4dfe4b044d213f55171b68e071d8130e94c5c149c6144a5487478458a70d836dcc2d6b24e69c1f8a93c53992147170ae5f741a1343ac3204ec8610af47073034c373a44906358d66cfb8fb4bff21075b33c88797455894529bc9fe77f20da1e9d202a2433d838011c349d1c05a4aed0641de3dc60aabedf865e9e83d4d0c69f54693488c02559a851eae614a1025783061c578b8013dc5fd4bbd6555d306454241b2d6a7fd6877f0f7b7c902b89dd67067b122db9305de653e227cc6960c9775e4d8a68018e07ce1fb0c15a6c884c907b2d13d0ab485652317b6eb6b9d0b2dbdddb42dcc7bd517fd430b361c6538fa5d206e262eac660506ca6a9131d104e80e7224178972a5fdbf72e44b150514ab8445927ad950863348f91edba9ff03b65d1b3dc5e4fd771cd9b489c5d2964dd8d91e2ef9258500f944ab0c35ba6109312acb11cd8ca034ad3950a5424490b5f52a35149a0a5eee47dede9000c3db0a655c631e7e0fe4c889efe1a9137fa8b7baa24c980a1d9732e77ef1876244b0048b0742792aba2acab458a0ad0cde6435c7bb03503d88772be0a8993d78f2cf0876c6998ec0c70ebc408abc636c73048b81afb6aa67712beec9f597e5ec421c08f6e98a88ed72fef8c6e33d422a718d42545dde9387de622fc0115ae10b18a9074f7f17182d1086353a108c4dcbc9bc94adcc7719e1e39a14312eb89b6a4dbd09b463bcee6d07fd1dbce7aec6cbcfdea32f38c8290dccb9a6e9c00ca870321a03e42f31e7859b8f2644e2b8888820ed5eb4c87fad48c73bcc84d3fca1b966b60bd8beb4cce4e9ccf3cf34b33884d4d446109fc50e96c2999a6f86bf555d84630ddbe434769a3361d71d0caac241c8e395d443c0c2cafca83d0a2b08a7a98b390364f69fa19a838d87506695a581455b62bf4e04cf2882f3be3f67a82b921cfa081c8ed3d3b60210f140075732c338c625137fe63cff0bb46be39023123f2be7056e96215fb1999f796e1efeda1164c167248406add876512323cf16c0efc6020e1f3101535c9151f198fa13ae577d1e379746b7e10ad551b456fe04d54d27830ae6af1137276a1ece12743e070c71100fdea6c980e0f405491942e6d610cefd0202df0bd7a22b45c038992f9ea6eae82687c998218cde483656b25976f3ae42082e27f48111923e694755f4570863e5acf4e51e5c3e53d1a7f99c0b5dc81901094d2a9c54b8d7796756380c7ba492630ab1b72f8f2994eab306cac116226785094120be0c7c3f517ed8c25d3c07579b515b3cafe98d7f5c876672b18f3db6ce027f1c897962dd206b2208c6f6ba54c0066900d3dbfff30d73088f5cf327999409cd2ee015392db36a55705902b74314a14107783af18006f4dd9ddde6f5597c0a5a915627d461ac48482a8c29518af4994b5193af2a1e1dd02d5e17026a13a00a463ccd33892cd00310f3e93bde9a165a510ec4a20f6f300e4665f3c8e7097905ef8cce05169bf2c32257684977207b1e778bce3f6414c342ea59a4f847d6440c3c89332b6c568199fb98f7ce4d58a24a0a3983b1c74a7b74fea30a8019ce0f0d14292bea07e420f2a45a2f4620ee8788a68cc93e88086b607f657e063ce87d0e4cadede3a767d463fdac081171e6f247bc6dc8f307557f744c7466c4ae19df07cd7e8604eca112180be06c515b0d9ea4e35bd9477d75875853abce920ce975063ae1a25aefd576f4547c390c4d980c5e72e09274dcb45da0b2353c684437cd0e86490c677ca47304b839c0792ac3be8bf52f8bcc73e3eeb5c4628d40830afe03f661a981eaf3bb19be4b640e94b7fb38eff5ba36132fdff392d154944c7b200c2ac41c4612e672af9bb0605783b88c4f82a5d503e0fcad54e5e5bb538c1cad0035d8a9313b1c64edeaa02f3d876e0d15511bd51fb10eaf27678a8b08f5c4c5072fc54640e78f45d43de123d2a7e3ab0e98697d17e4767c49bb2cdc1bfc13be0b03d8ad9474eb805a17b674bd1ee4377db91ab376f1d458989a56a736fb0a880135090620350ef668e7df6c548d73ccd6d1e9fe6d5c902e06f925b07278999a04b4862303948a40259a11755e5251830bf8bc2a2a250b3edc64cefb3028b2680909152dd937ef89545703cbeeba99d43db5ff16884bca555a5219b0a16b7148084117c57fc56838af1078f128cb3819555df11f13092a8e4014c2ef419d606309bd00c3c6b345fc47bef08ee2c82e9adc1c19f0f4cad7a0fa692eccb97956380ed1f6fb05d1d32c2dd67327b9b8cab9ce3feff8506d4b81d19e747b9b37db9c00b6fd6ae53c4460265bda76baa7a8b806dc62886340f6a6914c2f48090e40da09a40b2ce940b8c3889b1901f4e06c5c1201c080d97a0fc9afe52a7bae62c38f09262e15855a272c440dcde1d9d28d9dad31ab2300e8a684523d11f8c1dedf9b0bec19f9fba9760f5334a1413276fcdaf05116790518e19bca95ff0cbcacf681008e449ca8287fb55c6cd458eab5d3346ab9b8345f65a6b75e41569f34bfd53b004d6aba585ff6d9ce3b3ac0f1168e23ab1b3f7f396e150f5669941868b1b889070fba8e7750edfedc9db51ca6254b03b0da9adfc13828a12c05363d0d8f9f1000685a383e3fcd3e5788c7655e57af0f29b2f0e17eafcaa038975d2ab1a62f6804ecce67a2d1068c5b4b232f3db658cf744aac46e367ada71e7a372017958fbb05e8089222079a55a267f2bf71028384219b85140f147ad707d74559e18450c503b4186cea13ad2c0b14e728e68a110a43c44bd5e24fbc670c1d1e3af20b18ab0633740b9a12518998a18278f64f1462fcbaa1e73b178f71f93f5e8278c9d1b006f9a70db43be15f6e1cb5ae92f4c6c4a61caadbb406efa556bd7233a9f772280631ee160f8cc9e51c2e90518e0798c0d684ce8f20b04df78a7b293364a11e3907f5833c750bbe6200a0ce8d4b81985847a44a58ebf69d33e62dedf77532c67e021fd395fac516d473fe5c5995b98aef3f5a9c53bba285cfa79a4f6c946aa001028fe6582fcf56c5b5c123f672602ba9058138b663118ee94ec7eba8f44c710c04c4d8004aee0d6076d9f85def4103829e14c30ee7749a10ff49b88946d4d20d0ed13750baa88bf5677e2ac56a4075f992691f1ad249119f263d5084bab3bab80905000bd3e01721788d09662e50bb47c107cd4661935701b75dc46776bece7a0898ec8a532c15f72798d7f6062fc6ced26e7b8621e114095e1a2bacbb120100031ffb1cb9cc3e6823edc893077523eab640e852953350c1c815a9cf8054d5e30d2a2e50e5c865b03a8c6ea0e3f6b8ed1df83a40e2f7d9e865f9169621abe5d806b21b02d00b3e5248b01b91d80f69c28123f4af5409c29990f038bbac6f78ad0353a7f269ae19dad1f0961264559f6e22298b1cf2caff89e097198275449d02016b49b11d267edfc408dcb05bb365a47c841cd3a793611f251c29256fb059e1009deb32c489fbb02fa32803a242c7a32705b32a3916132de8eb6b2dee83d3e30a743738e9f639e532ab2b5a99f2c1e456e8ca53d0603811be60a0cec6f7a4290de90828106d6c28ce4dd89152f952bb73e7582cdb4213f025960d049e539753096271c4376c1ae98d148f68f4440a52328fc4162d49253cf4889171b4ffa5690756b777ce45da72c67cf12a29117b3d975617f7a63f8a7ed88cf20641fd45f30bb29560c78a1fb1885cb6cdac5eaf2be41a4cf7ff7116c9be3b76ba6e11299a0041f36ce575cd7068bf197016dd97b6be7a9e99ec1c0e65a9328998ec048a4907ddeae2db446d9581a90ab35edf38d243c163fa13bbfac05ba069f39aaeee6b04f3b7c5b8d9b69d514c4671bab733bf2cf4c9905ff3f84a40cfcd031ac665600c6f81783c0dfcc78cf9733d8023dfc06e17e3e7c5f11df1494a2fdd45754d0d0a98c8d52f51617c3e684194ada50aa9f3dfea96144fcbc647ad8de8a7c0238e0c4df7ff30eef76b4caa92ed098101818e83b75378e75f70aa04636aafcae30e07eddff2a5a391f2b524e1b7d752eb8796258f28935a3fb243eeb14c18a099f908a3cb62a75b05dd5cc61aec1bf1bbb414e628dfc25a7c6d5670d7be75ef70640b5718e957f6f0238f6ddc413801a84298e10c984ce84ddb4ea6e0789598a3e90ea950efe661dbd6936407e7adb055e2517bd1651477d0122ac3432605899988066bae50922cbecc94b2696004f22a063c4b569268fab250b8c2156a76a1dfd50fceff379eb25898d7971b5d77dec84c263266414cdd6ce87286841ccfafafd00194b76dc7aa448c48b1c353a15237e16f2e0ca31554302f957c595121a0be590ab95533cd7d3a9add6bf232c54173a12eb51141fbc353ff4413f0f3f96646030fc9e5981ad79c014e7689d5146670eec57e5292c9ef814d8b9eceae93518e150fbbaae4efd100c9079df896013d1db12393aec0b6e0723ba35df17bd4f23d1602d07fd0a77493f683ee3039d639714a3c1d434217653043146314e1aeb0b7e0062631f84a5656af38136875dd2eda911ef879fd8c3767d00d1889a598d6c25b0595c10f00ff14538c12409beddd3032ee594b515517b821fa7e827335b9312f0fc6619db45dffd5994736ca55f75b69f561cbe80dee609c8d62fc3cf953de4102286dd456bb75e894cfdf1fb54e39ea5d07df7e829dc3265006bdf6553a85de0fcb58700a55f64803cd379430d413c58df5bff8c19ed600312e04bb4a94d04b0fe61c03620e5c3feec25c5a8d49827f78ceddb096edbbf63aa46c0206c8a3740fbd1520cc929d1dc8551600dde07f86a67dd0dcb89b3a1d68dbcefc450e40210abad2d3eac39c64549b40790fc64db757722ca1a1e17226e9ac0563ef06f4d10d9991182fb04655502729e61a3fd37372c039a7356a523dfbfa38164ed6561107fcec18d575c18e035041b38e92a1ee6638e249d137938b6c74cf61240aabd707c940e93d98feb3d1c037b4495ef20b2ec4bb5d121039278676796de3e1a9500868f227df4461e4a4be6bd190ce4975c58a420153f64d6c6976143646d4015504c134671089d43a9bcd26276c74f02b8e4cb96bb512146abd69bba3f559752d05b80f8365e29d699984118a8224902e181f3cad19edb334bd497f28987a492f06ac136488d44a41aeb9761bcf242d7ca074f77dd04355e1c7ffad38f6f041ca097c2b3d7d9052323a7224fc6c11c77e8e1273727c0329d75cd478289f560fe408a131c96945aec5f54f1c596def3e40f9859d5ef6599c8a344430a305418ab70cbf8dd688ae4520c115bbb9f04d128f38f3d0a2c4eac30f4643be8a1f9b9d720b4c29189efd6438bfe8c60ef7cd5943a8f17c16bf6f2544c35f480f28dbbd6901e86f8aa352c4bc084e802bcfa95d5a302ae6d6dc51cce65567cfd1050a0cd902bb35e78b10ea6e5a963a3fb9d105f211904aef2de853cc6f51c4c8c24e259a0e61628dad37b667b2707de7bb62c18f763936c6e529973ad5f9ca3d2cca9674028842df9ab9f94dad31eafe5088533e08fd608ab0c078c9c183e124a966e5c207213516c156df9a7b9e8a1a170b6ee3336e595150f5abd7abbc066d687d03730f1580aa14966cb9f80599161769b7902f68ddd259004705662a75d469464172038441ceb1e122edd6f589cb743637af05df1de9a04b8ff18b46a0e54a0894a30b7666067eb9bf2a94d5b22311382d08e3b04b2b38c5223ec9d064258baa96f00cfe61ed49db2add7d8eba8754e79a09d876480314108495c25301d2c2a4282201879273545b6cf79bda7f04bfff89ac180547c866f6a3164e446f433f8a880a0adefb78863a5fc924e6d02aee2bca50a843e41a0451d6a1de202bc3cd0c695a063f09029f0860ee1aad95a08d1933626a54a4ffa9630373409f2ddb01a812540c9d1adbcfbef95884d8ac1bba7e70a183d2f468c115a7b2a5fafab7a5b3109305b85e60644e5b9bed683f6ca5207446e831b752b8c4199ac301794180e0564403dde37980d525342b502b50325b632464be5002515808b9d392504cce3735870eae8a57f1f426d9561728d22a1cc142856869488d61cf51b8353d5b696dcc5b01dcfd79a877ef984b7fa0e00c8a6f3d26964f4fa834de8c0f524d408e0d319f005349de67cbab209c5242c842ef209a01daaa74afc394f6972bd629d30cddf703d2412b6a5d340b771acced12a8379ff0cda24ceb7c53bd09889df506d5c706046f8cd0cbf0ee56729481430b305890657eb599ba4705e13160e626fd00e7370d721e8cf4dea69b9ac0ed79461d0bfde23d69495f07cc59d85ad43f5aa3b62301748a196072a2cda3aaf3ec4b736d8c7136a62939c6c1a733ac14254f0665750cb40caa0285ea3e2af0778ef67f7a23197134aea92f669c321e488a53f161ac0efac27b7114ec0fb4e8fd15331a5954c008515ca2fa0341e845148a7387c40c05776ad3cf325d6de57d9f4330a1d11302de113a93650133028b9dcf1a49fbb3027799c6d952702f47275cdec2c696e3ddedcfa19592f7a83b813dbb49b4ffd700dc5a6102642d4512b743567d174592a2659c3df6c87b7ae2a02fcc115c7995013c81cc355a2893448b1000fd8b77d0bc06f34fd464805eefc318df263d341a0846d54aea03e8f12ee0264adf7c3978626cf77d2db6c7b65c813b131a74d95d0119d5feb790a405954b8458072cd3dfa39339b878a610e3c0dfa791c9c33e210e9b7007d10740614db99d8cd4f323c87cd9f380aaf7b32796bfcb4cba7313b30a3b70847dd0b4f75a2f159e1b35e2ed2454efd527079f603b6ae1fade78eac8082b3df10e8b9d462572da078fcba975db818667faee3c8e13a71892ad95248a0416b3f83b5542ffcc4e651838f294a549928741a5173bc2b818dcea2b1e453703999c333726f18d36a589f73a6ff2951c4a57e27e5aa8af958c9dd11a75d2ff0a7e519201b82a2e4552528e8d7b4ccd297c862b0cf7bf4b96168e0dc7c355e80ebbed2e2fba196c4d7b34b3561985b36e0162dec232e0d136ebebf6afd13c7807974c33feb19e870a7a4a9a72db759b8be5e39114325aea26c890d61b2fc1990817ab7ed651396bd2fa2c4a7ac02ec734821ecf7abc27f09045206ce9e6bb620617612a1a113ce97409ce1f7c6edf16640757c83e27ba2386c75c08d95c6b260552ea90e6a4bfe043ac66436e6398799977078e0d3b5d64881239ceaccc78d60691fb3770fbc7db13e462a588f5fb02671911ef18a28fd41134ec2ac678c4d40a1add06a3649dff99cc801f6e54f452b823f831147faa3fbd6de80874de698f02a9e9b5e3d1e8571465749ab17fc4bf7303ccd12ef328dfe495d8f7d44e857002e155d08bd8255cb997e0c489f99539431edb5487825c63d72954ad3799ed1b017557df5161ed9e40906bfec2f52b0d201b12d87ee757b1962f0c8c9d9b1444008b657e6c6ac847f891ac2a95762b133f1ae2e5bb176d13134e447e117fba850279089d408a9702fdcbc7a30bf4e0200b359927c73df0ec28c5a597e1cb49ac0fb846b69296607287cf908c0c51984434d897fe5e451d4f563081649741659601f36e02f76410c5bbae0506a8d775b1b74b3a09fa84a8b681e950f12c690d170841b313f90d1928bade700ff85c7d1d3f444ecff3fcf5b4ad7681c76d6e7c380107a9f0c21a1dccefc91e7302c2f1c32b64e74c543677a573abc2d8bfac2a35004ff8a0962ac68ce0a872bbe2f7c20c4516252ebf87c5965cf61fc35ab3cb980135f1367b90a4c9a8d56ef0a4ee2523bd8452c592e9aa92154d3a78efb4e15e08c495fe98583ee1b562388acf7c8ca6c30975953b621aad4692284f31f4d323033c6d60e756cf42b2223f12b2d68b2b274a861dc21b2468bc8e49c8521a85af0b4a778a8d957173806397810fd7671b33377949f8f062a85064e1fe7bd2bf000c45b548aee5e12ead29fd44c40eb9565531f9728490af5c5d5f38d7af327b3207d5375445818a71bdffba9bb6e9f49a649ef4769ab17924ee0a63bd690122610eefa459ea40d22b7c99d86a2b2a9bf693119bd51365af81ed7f669076a475ce003854d6d9152c8f0c53de31b325b54e45d43e493a0e4d0c066443b11512d3ff06ff42f4cbe536a9504deb32b0ae34937b49b174b323192dd7147a5badea45090ea14175227249dc74139d78b89c0f1105267f2bab447a630447bd24b0f5342f0551f92996ff86a8f0807f22d4cbaa34456b65a12e2aa2af02d7b05da24b916a0fc7a4ac3d8a229e59027b64a34046d2f73df8de4fbae7d96e3e41e1e0a7593b0295f7cc07b0652741de31e59c6ba243ed14977eb36cd8e640654df8c368efcb02daa3e9ebb20478d1d5b8da6db30202aaac18544439e7474581e843291520f90c610f9412d167e0a705953777c72421927f6cd89a18bdbacd4ad012508777af09b63cb02877da81c39568edaaec74923585cbcb733b35ca0d112443fcf2d51001fcdd7ed4d8cd73322ef48917d9f9959751c66cc263705c092b94ce0cc194fa0f38d559c73ae4f25107b6e103de476a2572f117e4b66dd4244603ea4adfc6060d5636c29547ff271a2aea85e7050395284a68ba512405f4167deedfa6e76504016bcc44530cc0679826edc160ae2eae478555bd98841b4fca5d77d4b896faf4080369fe996d4cf7612fab6c9b7299e161b97903da5b845e91f0d4fcd8f768540ae8295be5b7dfea84e4a18ea89e86730ee0088b8668d5eb688ea374b1ea777b0c6a9b5963f079c58c81fd2f5d3bb3026f41abce0de26696b238ca5d4b21a1840679c546df6adbc902dc4c0d6a8c8668efda6a817180e0e9979cab93db270fc1021674ca626b3f28e420e3557fff6e7b4ae48ec05dee1579db804cc04f890647009fe3f2c6245d83a4d245cc3aaf1a8dd12f5bb7486cfadf2cd110af3c47d3500a7c16a982a5625d6d9bf992745229315b9026a479c799b23bd5ed96f0d681800b47786a0430843a3d6086c27cc0a97c7db0f6fe7a34b11dddc228d204ff51d401c1d62a4e435d5c3ba426800b0c306118a2f2a19d5bae8fc312ec8c6f42395100a185c55acdebc06337f0d0d13197029bbb17b6876a680fbb887a26ef4440b1085631de922ac0d5d9a9d5ee3524756de69a9eef70321b80cc3b5f17e97799b10c07ab82cef0edceab137224a7f3128df319ae39c2a0ed9c752a7be5fc24207f0d7238e4b9fd37c5c5c0114665bb0b1ab77575846abce8865313d989219811c60cb5c3dfd48f10c07c6fa69ef80135963fe54dd5477ce360602df986597835380fb589c0de7d2df392bdd1010528c4760d01d34ec73cc252b1a62f4e58e5d6fb021c3065206ab07d685a31e23d5b0e99c1224aa103b3e69513636fe09e51ea270f89486f52e940f4216836f89a53fb7655bebc340c31dd79e4bbe063b1994f360e2730f3b3c625002c34af48f7b6ae7bfc71e285e1c3d044efb9ddccba4a82e7053ac924929e5c3ab31a066e04c05a043e5132dd61a6aa7542e1808f61982d320404443d9f72c9f87684e5b0a4ef70f57034fb9bf0e9c91afc68300e4d37e8dc00895f54ce7a346b79acb526c964e9573772107cbd1b2afb700a5c7c26e2c02e00a4f4db1fe73248ecebda3ed761726ee924eaa2ed6421991f7d3fce3cb3af060403ebc7347d914e39e243ab5f89941ca3978cc85af68a9d59fb8add773323df02e676d3c631c4cd0c9fbcca69f3b1d6454dd7db24931b0447d49d9ab5ea01730478967b11f7b79ab115848b864d4cc3a90bc8fa6e99007dbc0c3f4a4e406d4904b14a0406196b8cb4ec73575e3dc20e90b12d57daa0398382e217478ce7d14400185fa6b4c00a081a6cee6e288a109b70e8519c3d333f0d9206b560b7477e8b065ec6868028f5b1f70c4f9eb4e98aea511e366be251e9b2f102fd3f2afa806e057fad0e7f1efed2842a0a3e303dfb466d9305f335d330769799463b6695ae730b74afffee9e6b96b4022c1dd524417aac3df05299c72e23ec02a49a0b2510630e4cf75f7992616959e3217add32614f7cb7b727968c5b933802fb9a46faebcf02991fe4a7df8f63b7874cba001d636b0d39f17f74c582568f0fdcaba3123fc102938c08391cbb50102d08467c9afd8884cbd68764f3c57b3c17920af6c917860c5afe24a8bcf45cf64133f4b265271936eb0b2b4674309ba25589cca7302d09033b85c1ddd329c7acb6044623511867bd24eb13fc60db5e8db68d8d42f203b5032880271b4d00d3ab14529baf66aa4bf1d8998921ef47d49ce822e4246bdccc04dd39485318222836e7aed8dc04d4481a3baef5f26af4ad94e12718ec440dcc058cdf685181d142a2d3fdfdf16c0f70603cc40e5cdbe0fc25efeac7d16efcc10caea7c815cd30c68bec8f36132ccb30b23098b6bd70c8b80862767dcdddff7f03ac2a157492609958f382c61b043f8b5510946ad9398369d2f55c5db8933f470d42e749f6cd92e24a503cb284614f195fcd247f8b40ec120f20b24eeca111f50ec99520238514e8b4dfb0d8d5bc1b824f805e0a08281f9268cd311a39f77fde0013334e1081a129b95c4147db9865ad20b2593fb35d62077492d91ca84c72f20c95738721b14cbe681df375ea1e73be20d1dd9fa9f5cb7dd4a59ff641f2ec180519f1242fba83a379b83646ce9da879d08cee21dcb824e02cb02bb1bd103f340e5e17c67232a5df5b0881373d5244de5ac3117debc1f9b46a3c844be50a9cde071f8543b7233b78fbe5ffb0be5b0c479685b91130f7a06b220a766e51b758b50118b895e3cbec83459fa2663b69482f25808ec96c05ac930326a0edafd1dea90d2c4a5873a016ecbe7ac29023e398991f53954dc3ccba5910c379929bfd233708f2e1f2f69f227b83e0342e780535f3711879696a6dbefb64bd3060905eb12509962a4c36346491dba240efd76b10daebc2685954768ab0301a9b19771967050375a1081f3c85a31837d11a9e768daabc0158c6c35cb6dafbb97f4817848bbc08ce76cfd4814e8b5bb45cae8881472578b560126baa40d001e6d7fd7604274c0779039c937774bbf72dcbf033c4c96d16f7b068f807baced8259826376775590ea9dabd97b6f8db9f09eb6535b9a8d66abb740246accdaa0c4cd740e3f100d20134203e58bfd12ee3c45ae2bd9873e6c2ccf62c314cad2d2c80843f5bb7991601bc0d5ef87e3c4cc2e170c1331980a986b8eabe9c674ad552c1cadedda44ec304648c5e22d2f23bcd48ee28fd073e674425ff5150b22af2bb623f7e34290fce0c74d41aceaf85979e995265588774a724a9449711512d708b238545a239db450805f63f0405e139a817e0caee959243d9831b70fcd0847d780cae815e5185870e51255771b4871d85f7f0180519200e77aac720856374db7e1689c16073b7ed066a36e49bf6fa67ad9ef1855d71b2654ce33ba1ab2e1f83ba3da861ab22958708c4aade163b00b2507718eaa01a2698dc3300c51a40c1854a03aa42b2c8dddc0b2f61f2e6808de3c03813e5d7084b644f986a3bf983235b4f2aa02f281737bc06389c626df7cbccfc15fd2c4e11373c886260d9291c80eb0fdbd0f24ddda8e406d889027b43fc495080801a779237a9905238467c398a399dedd6432b01f0910ca7b0df515e5098b71c3b3a31122c1d1650a8b8f1f316ce8e1912792250174a00d43fc45d32fbca9da2dd0ed8bdf4355e2295dd73a30b49295e0eecbfcd205f0948578b4003506e8677968216f27251417d3ac867973c881892041881d52bec0c149dddf574e537c4fbbf8709a134a6aa247e1f1a7f01000c0db86b83bf34ae059554cfdd7539d45c6eed8f041862686543be49b2d08025d70209ec388e328c0942e469a2f9af8182b8ffeddaf5eb084df6796869252b8f9e6d97ad14db174000393ceed6fb7466b9c63296c5f91d2fb346584b515b7e369ff26fc2ee8febd40c9a5379e189edd6f521ea68bad63f9db5dd9c035018970594b816f8d2258a320f9615a11c3ff012d8ee474a31701472b9d88cb02010f763dee4fd6d89ea59880b371a71da952b75f8adc66e8596fbc8ba703c6314db7b1d3154f38dcdd5afae0545828c91c104b6f46ebf3768c12cdabbba4e704c1fbd4a155f39d7445cfec503bc157e2c08e6f1e3d0b3c983fa5803f094ba7d2eac7f25014dab8bcbb184fe0838748eba510ec0c2a947d72a47f74dd95e8b3817447219880be18f56b334de078ad14cad0e9f26a5c8f7f6ef098f96f63ac7d32b13dd82c12b8b146b90126a058016824f60110c15313c61e440753f0d6f2047f53b5b68dcc90a25b84906a201c559f9f3873559ddfed2f8b49cb605caa87e7ee71c999989ad597dab568c850dcc2081383dd789055fc7c920be12c8957a04c2d93f059f8e11201b6eec447d0f26ca035f60e5b89fe7c4026b0231d42c321f6e5a0eb443c98e869f9e0e6091034669b78a673dad31b5c1ae8322eaaa72688b23a63b1ab0ffa3962f6ac4cd350ac85e515353b52ec19fac40ce5d92b509de54f477d4ec2d6daddb8c69169d3c075123696f63f5bbe95b89d24b6d74859ccc80ccff2ca755a529b5f6b5b0c6c00d6abec40ee1d5ce53745944619c93835b4585ead504b1fe18511356320f1e480c63eb3bc1acaa32c422da9fcd0aae76233aad1127234239732caf6ee92101880e2a40d1ae4fad07b0ca9fc7f6f7908a7831edd5051ee53a9dc37bcc962db90009d8c81931af969906a23ee62ded2321ab9d90f7092015562e3fe7294182fa9103c303c0ddcb731836441d8a44d33b2711b6473e11e69dfaeaddf8d11d53e0eb0e1b0e9cfa7086d794998848dac841bf32a55eb7e7f5badf717b3011ca183c8800df5c7ed97c4dc5bcb5b697568f861551c565db75ab4cfa90f0992f6b2e574702c091e4690f72fd18a6af3af76bbe32d0ddd86f0f31c8697014bd4014ec97540c47abc88605079879c3d9fe95ec9b4edb19d566b53a5a8d862cd39a0e005d0d0afc3c269f370999f84eea04bf29e7977aecd573c8d944f07564e13704f9a8b5036eaae6fce13e090d09dbb8fd8d29655126562e06929774bb9f6749ff949b47089dcad720c65e54e5923fdcd7f83ef3b073e4dead2c863998b72283691d040f0a5a6c6083df97b7d10a001552bc3f90733993806f8c39e6bc27dffb7327efe8023f0ceeb3a7705e0f22ffb02caadafd7c6b7b7acde94aa5cf391aaf92ff61fb09f1f703d861511fddc51fa8eb467cd477ab2c293a8f0e310a2ce3f1d934653d0fdc4aab33f1c16fe8f21f1ff8c24787687b62a60e402cbe0ef0aae9d35a1ff007a8966081111b40c9b1a9f3050a12c174756eebfb6cae74c9b86e2bf5d359110b9194f0794f9397ad1824de18c3637a157fa4fb66a85918fd894cef1b860cbb02436d630a99e7cb5007a2ebaf9508b384f2b2327a9038a6403b793d3a72a9310642969a676292a605f9ad7660ccdc228032e9f1a3b6bfbd5f3272bad7701b3609889a6ff6f4fc4d83e2a48ff34af50300cc1fa2b15374ed810a4b4ac117e4760def703e6b90a719657d430000c5928f846248fdc3a9f26cc1b6f1999a2171970b6c6a994281c9d4419ebb6f43c063d1592520d803d1e6c5cb9e7b42e29222a60a619bd2396115c329e71511f7356d26bd8a94008f5218bcdb5a5e14e501e0440a5c8aa7370aedc45f8d8883a09ec1145a332ff403f201fdc87029444c3e531b08ec25cdcda6a98d2e9713f19ff834944e7deedb7a256fa0ee8deb1c88f3da9c094274d9b193115b7c9e58e6da9cd547924b98da5c2110f3fc182ecf47755c130a58d01e0d8302d2a64434447d05280943d0dc0955a98eacc1cdd042d09dc8b40d667f0243348126ec4ca4ddd24da783bbfe8fed171594cdfb98bca72566b8770727bed0c49482395f99388793325b31dc89e82b98b96663ff3afa292bce629d0c1bedb26c6b117b6de2971a4f484fc02be781aec8007d793434218e33a7d41f02bf54676f40f5d8a574be5fdb4863c73950769096153c5b9d7789d73ae9517e05e9bf772b643ac8c43d87dc29253cc30fee1bc754e37ecb1c8a1c4eb1d41378bbce4230ba9cda5fb7d5430dea39622c43c5cf7cfe1eb77649b53cf4a649449e66a34b6677dd5cfb9bba05daf36ab833e3d625c4d9fea64b220eb5e10880e4a78a573f6227a7d92bf631ae83776a8a12491e8d91faa43773174c22846c1eebdb5306c5d5c97fa69c3c4a1256ef06cc772af4b6b9d9bfe6c0ac856c3173fbfa5248f7a2c4b06cb569ef46fc8d468328a93c7185f6a301042a9933790a93cff3af01a4d5aaddacee7e68149fdb4e2dce5a721fe188500b7c99a29caaece2a7fe6627e9ad7893f584ae881af52d55d9070f4346b635e98211f45a7a71e7002aac9231eb4b116d7c26d5aadddd8a910d2b5f46946d5ad0db7259de4f11e8eae4d05cbe6c175bce442fbb9270b7452168319af4fd9353453e0854ac7724f70c1f41d079f938fd38f10210ac4ffa3d800af532d24cbff9d59eaec853134eb4ee8485997f8d8e491475265065a51ae775d81396b4fbe604c030a0b028e44a0e46c9bbf7643e9357d57c38427dbaa93405bd6fd9dda30d5c5730ee95654e9509f04fba73a7d37819ec187284bf487790f5c1dc6af28114aefe8b02a8bdf7e3cf3cadff3aeb0159c0b5da536f79f83c0a62936b972b498bb7797edee26e9851dcca73dc99fd0427bb70c329886b79ab47d1427807abd2bf2e385a4d41da13405787467ec31c332c2107247c9cb8837ca535457d1d98ae90eaa6a21a1b10342eb568f560bdee19b3352864b27d70d8e1b742ae7f1742d771517b99b20b4045a64d4a7f3dce15bf366d35e84a3128020abfd02313837118b85717d168b773a7d10a3b4e1ea8bdc39b9a0caec8cd79d26bef682d78257b5a997e76c03d90e99d97cd0cdf6b1ab1850d609684652ec4c8a7b7c6770f8925263fa646b86f626b95806bf68cf42c2b1c97c4778a5f7cb60bdb8893d5aab3703d73e30ad700efdff39f68041f9e0e8a9261e29445f16d04cdc03f6ed29a68ece9883b64c2f3e15d093db2e5ac575063a0e52c8448c5d13a8fe46d3502ae1dba0645858cbb14b48b28cfe383ece53d1eac8ed084009d0bb47a09de4ef2b72ea66188f12dc4b6a31f1a702932f99d8b7eea805fefbb2c11639ce25172d81f02e234a93f54b78fc048d72da0be9fed105fa62492bed65703d285c0c6da5c55ae09f427179773bafad1d716d12d9772231b22e34691d870a0bce817df2ea7295908c41909cfc128cea20ff9f2d0cafa00f80328bb4a9aaeaf324e38b6b34a2dd7766aa6975b7bf8d405bdb058b898989d3d26f977819139984b45826f826d94ae44ea7dfa1326a1ff3581b90e321091bce8eb2452f9ad472d5c7308a4fcc511e70aae1febac30c4f8959cc1fa97a677e7dafc13e83abad278026ed1a86e54bfa49bf338677ede3f065fa270febb1d16cfbb2631541c7d5f6460f6e0fa6e1ae7183deabaae3cbff1b15022664aee0cd4c3ac3d26ffbfdfeaca3ff1434793498047ed39d8f3a8ecb5d27a769bedbdf7985fa5f9057d89ff400fb9ed955d5468adeb4009e8e30e3bc6fe8b95f24e16ab06467cf01c3e48043aef67fdeb963a8f4ead4d31218c690fc954cd2925c68fa01a734c76e994b371238a98176e6966cbebe546d6a8faa835d29a97a6246307df174e3b1b582f84409b125230de065f320a02c2a8290edd1194cc9af6e2b05b67f92525305ca4f04f5fb083201ae4ab210c21041cd24fb6f01a2730954b8a25600463f81045c1e2cc9bac32404940da68e60ecdd81a5b87e0b35cb0692906d4321e980e31706ec56b4b7fbeba23dae22a87604bec20941b59cabacfeb780c5952be5a0e3133a799fa405aa72aeaae5524515ff2fa8a6f4f566757734bc65e19145871f8983c0fc48f05f89a95cfa21b8bf1a799de2759e4a9ea6d65547a7e82679f81a6535c51237195084f91f3d9005a4f216266356468ec27c13dd88509dd44bcae461d472cd0144eaf1d6dd298095d3db55324cfa518607c8d099dc4420fb601b2e352099b2c8120523b6c61bcea1012680b09f28d5898f03b3d330bd0b6f8e5ec6a4e24be5ee125c040b80924c957ca97468afddcbceba9a799a214b9e28f5522e4daa4ebea5ad2e614e471b80655c48ed220bfb98ab3f31490dfaf401dcf2844ea28ad9d4fbaf9f8687b6cb938926f750135a3e4d15fc697e8403a8f3e571d4e4408849ba2e00ec1060986a7bad2636c7083417f751ab8cbefee370dac7b24c88fb7da48fb5e69fc30276355a81bfa6e9f477bc3aad5ede3c704406b40df5ded61d8488a4900a267c111396c2900873b7de10b5f37a7971553dbb6d90d2efc7fe94a89df7167c0d020f9a652ce342dbaa483b30e21efc45d44dc0e87241b002564e1a8b6b762f49eec1661f55b3d68217070a1844bebe48424cbfcfdced5c2a630422849091fcd647f48e55b03cf55181a680711789933d96ac8efb308a30e1fae18cf3c664fb676d5f5bba865d58811fca009f6dfa50596067a4b5c62bb63a217e95a232f540a64b28f6631cfcb52926207da237b88a337674a25a6f842ed53471013f15603c381cfef93bc86326e73a63f504e2f24a82e654044e1e4e6d1076f6c6b2fd29e8d7b19b5b1b2813bf68ebfd382db19811c4145981821950920793b6c28caa001dc3446a556433c07da21c2cf9473f6940e2cb77e26725e862b527091cd25b6743d4848031632d09eac1c41c28e39588b891612efaa9760dace6776b6f328191dd09ceb9971f172208bbbffd9dad6c94643b9c582a3b1a846f42aa44fc42caf9ff7c50358c87209e2a29953cdc4bee9f9ecc09e77653c2f96c333128ca191266e55d2d265d55f83fdfefb6ffdf258001927604ebdc5d11cfb95d71ade65b6dac13a6264e9bc495aa8f86d3510c8f46a64b9b7323843381b0e6efb05da66bad373f55be731e7fc9158ce2f788beb8c5f9d6ea01f04b6c6ae8cd37b935d2d32f66b0aa19c4eddfc9cd8e0a37a7b88b0cd45894651636a20e188785b0c47d04e8486bb9cf86474e2e6ed13ea37acfcfdcd187cca4ebd77038884c7dcc9d0f2406212cb016dfae89dc233a1225feca3710baefa49c20cfda0364da42ae73ca92237f2da622d51f3217a13c276bc3ccc10f94f90a5d58b224ca038490221ae203622b86d987c96d0a3a08c0bebf7943c4634c89b92100a5069cf14ed2a6d17eb7c9282a9c851f7967e415e23744f840949416bd64fc9a3c2cde83150e68e9d76ccbc72750f075f17938c6eb83397ef99a902c85444de3420b5537304625b2d6776373d2c93554dfcea34ce0ac8534986833e0e0b714559e65c18bbe9ef96b300418fc8c7d3210b4710eeb0e628eb4a03b6e168d3091e3e988def9708b243923b2dbef2b59455c8c25549678dcebf884e8e241c9f3c4e16c2eba0cc1344d96a0ba15a50279ca2cafccca2caa693c8fbf77a19d95ad27650b2b384e46ad5601c4488a537ce6c2cec39300d5787d7018e95a0aa62dc01ebd388656210b3ce186a05000876069108d12aba897d00ad184ef952170602595aa56f4863186a432ef87cd9128d21fddde3cb07196c349705e65116e61031b007dc2cd2f661b5f2ff62b3a31a00576ec45aed6f1966a06f6ba60efdbb07b37a303b0cb8fda970262f4e73c069b7f3436ea50470fa43fce056a87885866580309d4d02560a8855b2abab5f79a398094c4e8a5b043d3bf2f3c341a77de3b0b9d8f508c24b7a0b03314fe5a6b50619df6a9aae479429ff12a26f61502adb306e41857a9715208c15e220ad7c6f183952e26b265176ecddc3def8353ed6e6c05dfc3849d432953c5261a0b92eef08c9750acbb30f531705dcbc6b897271ce734ee3ec08c932114ef4b33a12cee2f2f0c6f43c70b299c643904680fba67897a41359e8f3ed710c954e03aeb2fa9ce2ab12448e8f2238624324e4219cc735fccc68ef1281b8ed8564e0a11a2e0b14d5ddc2a473194acc63686b33bc2dc14afa44bae826bbc471c710fa8f883c5cec921185e779f49a70ed4c7f3dfcd0178207fd9bef94e5134f4354678cb8263c21579663b0d01f1f3f44b800b05723908051cde106c9ae948d905b43301a02a3b23940521c2ac02466559a704c4a06bc7874f96ef0aae72f702ac85e731ce2a5379c0acc5d27ce13f1f4f3c594d36371b5b3994e146adfc270884e94df14f6b05c46a29f13c8235a6d0ea2a9f2fe8b2a845e5172292855b58fe5f2411a96e53a6dcc889505ee27053b67700a9365b98ce27bb05ba5e1e18fa33e113b3d35a19cab1490e1aabc699e1d9597c48ee642c39d910c0d06112b09a22ae13a7922833686c705652c2e136f2c41f957d9a687fd38354910593f885320c760082a8c8d67db836ae2f7d62770de5186a645a6659a4bf51daed4ffcc7bfe4542a27cbc588c4b1fbacf3710e1da99c3583c599a1e0f8a30c0b21f1bb225a0114ccc1d0a0addc58aa9790a99b18e2962b32375f4b9acd94c96bcf31b93b9a875e85180219e79ad31442fc3987f63ef1a81745ef51153cdf1f8c6b34aeb7b7bcec73788931759d690ade2f9ce3f5ec8807d4333761ae6705308a5217accb9395a83db4b6fcb68f6f1203c017dc13261cda6b9f8d9503e367277f0cbd82728e7b8a1eaf6ea9ef358c887da7d1f93e5b4799dc34b14bffef282ba88e6383d56a8fe0e0c0d34be43376bdb0d10ac1ebad2364f1dcbd07d214c56bdb2b97c106ba08491cb3e323274997ced2f020de94079d1d10e40824fba2032867eb8c581183e0c956ac4dbb1d8f8e32564a6780a9cca4bba0bc99083124998e4edb77cbfd8e17e650a6d87" + ], + "tx_hash_list": [ + "0d1983a638613aa01cae81f3df949dbe710fbdc1b2a8ac8743b5bdc207cab523" + ], + "tx_key_list": [ + "21c6cd117acd48938512f3e5a6b3f4195ec742c0d563d119d23a13d6a346e400" + ], + "unsigned_txset": "" + } +} diff --git a/tests/test_jsonrpcwallet.py b/tests/test_jsonrpcwallet.py index db9a54b..a639fce 100644 --- a/tests/test_jsonrpcwallet.py +++ b/tests/test_jsonrpcwallet.py @@ -995,6 +995,26 @@ class JSONRPCWalletTestCase(JSONTestCase): self.assertEqual(txn.key, '7061d4d939b563a11e344c60938410e2e63ea72c43741fae81b8805cebe5570a') + @responses.activate + def test_sweep_all(self): + responses.add(responses.POST, self.jsonrpc_url, + json=self._read('test_sweep_all-00-get_accounts.json'), + status=200) + responses.add(responses.POST, self.jsonrpc_url, + json=self._read('test_sweep_all-10-getbalance.json'), + status=200) + responses.add(responses.POST, self.jsonrpc_url, + json=self._read('test_sweep_all-20-sweep_all.json'), + status=200) + w = Wallet(JSONRPCWallet()) + result = w.sweep_all( + '55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt', + relay=False) + self.assertEqual(len(result), 1) + result = result[0] + self.assertIsInstance(result[0], Transaction) + self.assertEqual(Decimal('111.086545699972'), result[1]) + @patch('monero.backends.jsonrpc.requests.post') def test_dynamic_ring_size_deprecation(self, mock_post): mock_post.return_value.status_code = 200