Giter Club home page Giter Club logo

bsvup's People

Contributors

fuzzytew avatar gmkarl avatar monkeylord avatar xloem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bsvup's Issues

New errors checking bitdb for file presence

 - Checking get.sh        
3e92c8a80bf31be5b1b83e52879d66098c2a4440
 - 向BitDB搜索已存在的文件记录 Querying BitDB
 - TX Data not properly resolved. Error: Error: Not Data TX
 - TX Data not properly resolved. Error: Error: Not Data TX
 - TX Data not properly resolved. Error: Error: Not Data TX
 - TX Data not properly resolved. Error: Error: Not Data TX
 - TX Data not properly resolved. Error: Error: Not Data TX
 - TX Data not properly resolved. Error: Error: Not Data TX
 - TX Data not properly resolved. Error: Error: Not Data TX
 - TX Data not properly resolved. Error: Error: Not Data TX
 - TX Data not properly resolved. Error: Error: Not Matched

258: txn-mempool-conflict

It seems if you foolishly use a private key from your wallet, you can double-spend coins before all the bsvup transactions have broadcast. This unfortunately leaves a bunch of unbroadcasted transactions that fail due to mempool conflicts. I guess they need to be regenerated with new coins.

Broadcasted 7f5704bee147fafd90b5167e22097583f8798b8ce6de0686fbca679864250353
Broadcasted f38435d9ffc5d4791685000fd319c944402a93e5b136b59c683154795d437ee6
236bc091c07132d6cde6a97e0b2b288c9c3e4a1e2e92fc8906a83f463e322a8f 广播失败,原因 fail to broadcast:
the transaction was rejected by network rules.
258: txn-mempool-conflict
Broadcasted 7b88bd9563b4a3067aea0a23553631cf70856b79c8f4c47d91cdcb8b666e913e
Broadcasted 26ba6756d532fd82830c7d4fc7f9b7997c0e1f6ba655dd720018f0a1aea3262b

Migrating to other services

I'm running into issues both with mattercloud (raised their min fee) and with bitdb (server appears overloaded).

On my local system I'm moving towards whatsonchain over mattercloud and bitbus over bitdb. Here's information on the need to migrate off bitdb: https://twitter.com/_unwriter/status/1258909808780029953?s=20

It would really help in the long term if these interfaces were abstracted so multiple backends for the same thing could be switched when one is down.

I did some work towards that on https://github.com/xloem/bitfiles some time ago, most work never got committed.

Application Terminates Before Complete

Old versions of bsvup would keep trying until completion every single time. 1.4.2 version is terminating early for me. This caused #9 for me.

I have a log of output that terminated early, but it doesn't show too much. Resuming the transfer worked fine for me.

[+] Loading files from /shared/src/community/.git/bsv/1AC2qjiwhyZh59g6akFntmRjm7NRuAoEMS/git.new
[+] Checking Exist Record
 - Checking HEAD
   Data found on chain.
   D Record found on chain.
 - Checking branches/
   Data found on chain.
   D Record found on chain.
 - Checking config
   Data found on chain.
   D Record found on chain.
 - Checking description
   Data found on chain.
   D Record found on chain.
 - Checking git-remote-bsv
   Data found on chain.
   D Record found on chain.
 - Checking hooks/applypatch-msg.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/commit-msg.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/post-update.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/pre-applypatch.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/pre-commit.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/pre-push.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/pre-rebase.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/prepare-commit-msg.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/update.sample
   Data found on chain.
   D Record found on chain.
 - Checking hooks/
   Data found on chain.
   D Record found on chain.
 - Checking info/exclude
   Data found on chain.
   D Record found on chain.
 - Checking info/refs
 - Checking info/
   Data found on chain.
   D Record found on chain.
 - Checking objects/info/packs
 - Checking objects/info/
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-0072d0243c31cfaaf0578609155a474f94ebae40.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-0072d0243c31cfaaf0578609155a474f94ebae40.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-0e8a0347d876ded21dcfb3b05af0fc67cc8a0039.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-0e8a0347d876ded21dcfb3b05af0fc67cc8a0039.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-120e5b3b5e8ff8818bc54939000d5213f83f91cb.idx
 - Checking objects/pack/pack-120e5b3b5e8ff8818bc54939000d5213f83f91cb.pack
 - Checking objects/pack/pack-1f969c254ca75087f8ce4340b35fc2ccaefb38f2.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-1f969c254ca75087f8ce4340b35fc2ccaefb38f2.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-24c4f3fdf291284ec9aec92049edfe33deaa5a93.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-24c4f3fdf291284ec9aec92049edfe33deaa5a93.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-29fbbb9565e40ea09df8637c34d61d40d6db7930.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-29fbbb9565e40ea09df8637c34d61d40d6db7930.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-36178f2aafc8927abb0442ea88f59eb7b32b4ace.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-36178f2aafc8927abb0442ea88f59eb7b32b4ace.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-37cac03475ed4a450bf020a86dd8dd70625d926d.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-37cac03475ed4a450bf020a86dd8dd70625d926d.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-3bbd54a7dc1ddaaec383a80348a3a38bee0f2414.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-3bbd54a7dc1ddaaec383a80348a3a38bee0f2414.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-3f8ab974e6c1b8a8d12fdb8c5a61e05cfd626d36.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-3f8ab974e6c1b8a8d12fdb8c5a61e05cfd626d36.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-43519d0c1a3a5609f99c23e501151c9e64459015.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-43519d0c1a3a5609f99c23e501151c9e64459015.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-45a442387bc179e10e074d271a3a7960447ece00.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-45a442387bc179e10e074d271a3a7960447ece00.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-48e0029da1e04f0838cfa9f03f29a610e6388ec3.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-48e0029da1e04f0838cfa9f03f29a610e6388ec3.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-4ca32ecb0ab0367176d97b2d44801b253ad074db.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-4ca32ecb0ab0367176d97b2d44801b253ad074db.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-4e9b75817395cc49d5b8f3488e06cc5fd180e5e9.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-5c54ee844144458e1d15a625b58e9ea691583a4c.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-5c54ee844144458e1d15a625b58e9ea691583a4c.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-5de5af78e0fb85bf9da727e1465177ec946a527b.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-5de5af78e0fb85bf9da727e1465177ec946a527b.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-5e1b7cbafd75d8e550229608b043e24c2f2fbb5c.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-5e1b7cbafd75d8e550229608b043e24c2f2fbb5c.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-6a7b2d6ffff6edd4d5c2f9e039f17be7ba48e6cd.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-7367e5200b2d032b5a626d1eec47b7449a6ec4fd.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-7367e5200b2d032b5a626d1eec47b7449a6ec4fd.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-762d7254ff0fb26d4f3ef3d61ab4132897e93874.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-76a02315c79010ec6dbcc684842d9e652413c46e.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-76a02315c79010ec6dbcc684842d9e652413c46e.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-826a51e666223a249a50ce304cd7750866118c16.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-826a51e666223a249a50ce304cd7750866118c16.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-8bd9ea9a0c937299bdcb6883aba92fc369c6121f.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-8bd9ea9a0c937299bdcb6883aba92fc369c6121f.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-90bed52a4a6abf250a0ef3174b9efb4bc8eb228c.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-90bed52a4a6abf250a0ef3174b9efb4bc8eb228c.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-9f5f06c5c5fba24760366a854a0aacd163a3bf30.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-9f5f06c5c5fba24760366a854a0aacd163a3bf30.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-a478cfdbf8eccbce7d266dd611b90d77eef396f0.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-a478cfdbf8eccbce7d266dd611b90d77eef396f0.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-a5ed0c14d1962af31c8eccc4a3019e92eab229f9.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-a5ed0c14d1962af31c8eccc4a3019e92eab229f9.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-aac18183edab537845b8ce0566c12bb5a6395334.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-aac18183edab537845b8ce0566c12bb5a6395334.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-b060af7da65c2814a91e7e1028f18c6385bf33c1.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-b060af7da65c2814a91e7e1028f18c6385bf33c1.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-b115f1557b412619d6d7b575cb0816ca6ba0f4f4.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-b115f1557b412619d6d7b575cb0816ca6ba0f4f4.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-b8c3ed7119290195fe2ad3513123316dc5c28157.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-b8c3ed7119290195fe2ad3513123316dc5c28157.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-b9ec1e24a2117c87f31e9bda5748648d9bbdd9a8.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-b9ec1e24a2117c87f31e9bda5748648d9bbdd9a8.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-baa87be3152d4e49e729c91ffd635421b067bb66.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-baa87be3152d4e49e729c91ffd635421b067bb66.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-bbe7c046aecae6a79b8e9dde7187cf100ae88e64.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-bbe7c046aecae6a79b8e9dde7187cf100ae88e64.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-bee656e046bb919cd1b1d9f66ec33e40062a9868.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-bee656e046bb919cd1b1d9f66ec33e40062a9868.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-bf56ea49c5485758146b6d515905b7c4ab4e0165.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-c10451444b9bfed55dbc958cc59e42fc17def7ab.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-c10451444b9bfed55dbc958cc59e42fc17def7ab.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-c313bd81083e9dafa2e3add942ed511c301f6b37.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-c313bd81083e9dafa2e3add942ed511c301f6b37.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-ca9c5c4ffb60d0efe5db855388a0289aeec3f47f.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-ca9c5c4ffb60d0efe5db855388a0289aeec3f47f.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-cc42ec6d9dcdb3a42aadf05121a7fd6df8a73e35.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-cc42ec6d9dcdb3a42aadf05121a7fd6df8a73e35.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-ccdcc80183a2d440c63268f759951718ccd052ed.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-ccdcc80183a2d440c63268f759951718ccd052ed.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-cdf81fef078090b46aea209e7bce65ed97e78051.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-cdf81fef078090b46aea209e7bce65ed97e78051.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-dabfed56dbb9b76b2bcf1190f050f98145b28dfa.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-dabfed56dbb9b76b2bcf1190f050f98145b28dfa.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-e16780de62d79f2e0fcfd56b1482edc12379bb5c.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-e16780de62d79f2e0fcfd56b1482edc12379bb5c.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-e3df72516b4e20aca54fb0972d75ccc4f59a44ea.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-e3df72516b4e20aca54fb0972d75ccc4f59a44ea.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-e7e17475cd6c202be26cbbce3e5630dd1928d83a.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-e7e17475cd6c202be26cbbce3e5630dd1928d83a.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-f48477789fbec6fd5a1bae8abbb6c85b28309095.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-f48477789fbec6fd5a1bae8abbb6c85b28309095.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-f78413c6e23fde539c252f3189675931d0affe6d.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-f78413c6e23fde539c252f3189675931d0affe6d.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-f97f728d859cca2df14b99aa72b49069a072821e.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-f97f728d859cca2df14b99aa72b49069a072821e.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-fe37f54445bef9e8d3b0daafaa4097e015b9277f.idx
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/pack-fe37f54445bef9e8d3b0daafaa4097e015b9277f.pack
   Data found on chain.
   D Record found on chain.
 - Checking objects/pack/
   Data found on chain.
   D Record found on chain.
 - Checking objects/
   Data found on chain.
   D Record found on chain.
 - Checking packed-refs
 - Checking refs/heads/
   Data found on chain.
   D Record found on chain.
 - Checking refs/tags/
   Data found on chain.
   D Record found on chain.
 - Checking refs/
   Data found on chain.
   D Record found on chain.
[+] Creating Tasks
[+] Funding Tasks
预计总花费 Estimated fee : 4134532 satoshis
[+] Pending Tasks
[+] Verifying Tasks
----------------------------------------------------------------------
链上地址为 Address: 1AC2qjiwhyZh59g6akFntmRjm7NRuAoEMS
----------------------------------------------------------------------
新上传的内容可通过如下地址访问 Content is accessible from:
 https://bico.media/1AC2qjiwhyZh59g6akFntmRjm7NRuAoEMS/info/refs
 https://bico.media/1AC2qjiwhyZh59g6akFntmRjm7NRuAoEMS/objects/info/packs
 https://bico.media/1AC2qjiwhyZh59g6akFntmRjm7NRuAoEMS/objects/pack/pack-120e5b3b5e8ff8818bc54939000d5213f83f91cb.idx
 https://bico.media/1AC2qjiwhyZh59g6akFntmRjm7NRuAoEMS/objects/pack/pack-120e5b3b5e8ff8818bc54939000d5213f83f91cb.pack
 https://bico.media/1AC2qjiwhyZh59g6akFntmRjm7NRuAoEMS/packed-refs
----------------------------------------------------------------------
生成了如下 TX(s): 
 Map: 1 TX(s)
 B: 4 TX(s)
 Bcat: 1 TX(s)
 BcatPart: 64 TX(s)
 D: 5 TX(s)
共计 Total 75 TX(s)
----------------------------------------------------------------------
Tasks is saved at bsvup.1571940651876.tasks
TX(s) for the tasks is saved at bsvup.1571940651876.txs
开始广播,可能需要花费一段时间,等几个区块。
Start Broadcasting, it may take a while and several block confirmation...
Broadcasted 4cc607f0107d0de4943b4ca98aa3574a5f370b96e7c850b621aca319a3472af6
Broadcasted 23aede7f10287723e14ea71cb0ffcbac5b09e252d41c4900cb421cea73b1b580
Broadcasted ba7fefe1ab4159c5e62f534bd860bc65ac47da9d64ffb6c4ebdff346788dd095
Broadcasted 4859e8482bee881bea2bc38922be382ba1535a809b27bde7e1b3461482244626
Broadcasted f427dac4eaa06f82bfd8f9931d1a66aca81da447db4332eac9721ffc0e9a3210
Broadcasted 4b1f2910703cd457c073911cab736343643074925abaa23f9b481da53cc9c6c4
Broadcasted 0de8b24b99d9eeddc82d832c43cc6d4a2c17ecdc92df34a59c98987af9c11810
Broadcasted 2f9ccec60ffbe1f4f56895d311555605a6eb93bfd377a9b0f1aceb3d94a3b0bb
Broadcasted 083849f24bd6181af66a91e8f6dcd369813fb8dca4a0b629bc8f3c0595c13820
Broadcasted 05d743856f50dde81cff83525f2b83b46714fb1129aa699ab9300eab8812ddd3
Broadcasted 4bb6fa790a5dadd7448c954ec04b4c0ae837481c2e61b46fddcae5c41ce42b58
Broadcasted b6fa605764c6f6a90dce601952a3d57653848a3a02f48bf348f19dc1e50d58c0
Broadcasted da6a5f58504b4b70a7cfe9ccb22b8f528b260f542dae4c197543f0ef039fd371
Broadcasted 0f1426300d6bd7ccd50e01bd40a1a75c4cc2340cbf629421f2a401301242eee5
Broadcasted 8359a2ebde0ff080471ecc5879c33eda02bf6f445f315c4c7cd91d589517d3bb
Broadcasted e7aa1d0e3cbc957f3623f9b642f17838d62f8411486a2caf52b8b8d84bb2e0f1
Broadcasted 1c2f0c22629836b93c5e17bd3137d5bc7d0220606539a6f653e29fbbd97d9b49
Broadcasted 75aba4bd4072929e2688ad3a24f31038e67ad43c473559c98c52cb90fa328d79
Broadcasted 1dcdfe81e00da8bc163c6099b1c85b897a9d74dbf4c0bb34582c9bb01e40e9a7
Broadcasted 6867f79e6caccf2eb45981f9b4e09040dcf85e5536445ec88c9862efb2a2d76e
Broadcasted 5b0309ff8693c5b7822c234f03f28bc17904d0db0bae2a06142ba81583fdc7fa
Broadcasted 3a46b550e19c5d584bb3025cda1d99cd3b6f3ac2a3bc6d0c7341789c8b4f7df9
Broadcasted 619607e055fc7f501ebcb9e3cd6ac836ff7868955df3c51f44e457b02ae2614c
Broadcasted d7fc39c21780f512c84bbd71c373dcbccb2dfd9d81298822d2df7d296ae66e8c
Broadcasted 6ee018ca79efd6114b308bfb9b9a31da93882f822a4e5ee868bd93b953308f5f
 Insight API return Errors: 
the transaction was rejected by network rules.

64: too-long-mempool-chain
[0100000001f62a47a319a3ac21b650c8e7960b375f4a57a38aa94c3b94e40d7d10f007c64c180000006a473044022000e15bbe45a8c833bff4622aa4077a37def99f06288bd867d4b7912396437b95022004df7da100a19d6a951a5ab7303cf852bed69edf0732dc53953e308df62edaa24121038c229e23fda5b276a97b3a3c7b7ae6be1d8afa289ae77f6d8bd4551449e088a1ffffffff010000000000000000fd27fa6a2231436844487a646431483477536a67474d48796e645a6d3671784544476a71704a4c4d00faf27085cb0d4f7917c59e7d960ea534bebaf18384c25d3cc184ce646dea793d3ba764c9757dbf009788862a1596595eaa006aec09ac217e72681d07ed96adba865af94419eb67b925d1126cedf9e6a3cbb72c7a300046c043628099ade1017aaec39ea8ecd731a25464ee5f2a33ad820b259912b47dacd7a6366dfa99132eb91af04152c3f09709fefa425689566c50afa3b610536384023b5c8c1467936183a68621c9025e09d2489282b4f997d34e0faca5c64d3d926ede98aa65039adc65212ed15d510c81c878554aa7ca0f33d57d1efafb639daab2e4f3b83a1f12e974a8281d4d0c8e0df669c7d8a39faa5c4d4ba6ab7dcea0db3eaf975fe79608cb504df7b6c20b3e4e409b1e566c37d96fb74dfd0f78fd9f75fb710029154ba4373a1d868832f1743cf9489f4c401bbf7d208a628667cf5d22c30fc1e75b7b3c07082065969e63a8486147ee4a331f6ff304eded947ec2d3a15111b6b102fe6cb669389ddb9831f7ca851b5edca2acfc89c208260f530d96a40c054cedb6b5a94ae64e6f8280616716de7b008905dde505af9e1584ff38e76e0306bb53dd14534a42bd94c81f1ed7c3efbd906f8a0c0044a4472ba6be9f1786ba195a52fcb70d2dda88984a01dae3d64c42a6e26615111ce095ca6d8c799adf7e87c6cc554177cec241cf0fa4345cc577392f8352cff0618d332a6a1ba668446e8c86583e9ce401980d82cd6fba6d9f8b1c04d57359e60a6d5d0983ea9024c0c5a5b7ec3af35d133c13c09769b95bfc945a3c0a6043451684bacf25c32ba16114b5a24b1897a110a37600110b8b1c3cccfddeffc1b7ea04033a4e9973bda912dbcb0db6f0b37e497ae387bf37901111054301da74534f0dd4e1b5261c194f770f86ed32b9d40a15aafa239cfaa9e87413215718a73fff99fafbb7ae483d63839a3371184ecc9d6a37be975f011da571d4d40c43d4430da66a33a15674d4624eb3c437ad64a3a8a2ad275668062a06368a118bbb23433737363eefa2478247be6338ddb61b70881a5a2be987da469d9bf77d9dace23db0915455800095cde7b964114b61e890448c883c178920ca78584aeebfe74433546a64e51d266c3bca10558588388ba7a177d6be965b1f6146a0c30e85b15d74544bf2c9ba1eb26dd6fd2093e761e4dd302ad045333ba9bbfa72357f1110370bb5930b9f6b9e20d12e9b7ce421cd42508992a8bf5375ce49853b21d9ce461d9a5e72fbeb77378f739e50f34e3643976f218788c054f288083d4857ae907f54ad89bd33792436189b4ab814f499c731016801e09e364d28a057b304604b7a399f15d5890c1401fe1995211ce52374bf702440161dab715a739b3332585207cba110c14bc8b74ea342eb517bda481e6156653bd18ea8663e1427cad5961577cc1aaf26aec26bcff23c9bb88d0f4e2f7e60050f404bb1c953cdf0ca949f9c4125f4dbf2874b825575dd6fd852a46cbc02bd6228b85f0a5d2b2703e7e439457da0b34c3e1cd931678709d40d56f608aabe721a645b8c3dbe8de4710bbe5a983f5a15ec6fc215c2faa4f6be0b4d5d2d94392c333819f77a2a85962035bbbfefc07f2656b55bcd92d9e63f080432e56be1a3585c7d8156d3b7a936f7bcf98e604515a1f54d68dc43659a7aeb9d33a2b5e26aaef98b8aeca28caeb3ac82be36a8e86d45dbcb8298680d76a8a02f211529231dfc2b5c7840b6a478ed54538440985e09c294887cc55ddfb7d9ec9033c6b6b9ad38951f228c0c9b87cd17dfd03475c0c22dae63a106d29890a0a4af83c945c700ca34b4f5ba0160dfe5c7b21597f090e194fcbec8f72b48e6faff63b2a311a060a8d0833af49ebaac0a31ca81204b5743c20bc1d1c355dfe3522bdfefd96c5b6d1fdceb4e87b7543d546fbaca0340eaf1bb9a0bbfd645d4b42e4ece7e292f0f36898ccad43a0c61a06a905829d830076ce367ecea59d79d960bb3e14baf5c34d502eab03234b420f396f44dc610b98b9f62e4ad8d436ce19bba88cb128a31e5df4256a1e3d261084e2925d9dc3d600a5ccdf0481890962421110ca9ead60111a60fe750be0a85ca809dbf076614472c7357ec7ae8347b9aa4820582e88b4006e6732ddf60961836f6a567e8a7b39ca3d79b9197341292dc13149fed928e8ca3d1b173122acc1beba7577f98bba77a7530497b63876b3aaf66da8de8d71df95488785637778f3ff7399091c12b5b491d8823eb8e1cd416dd2b7517435063092ee2ddf6dc4b1bee04603eb15c76ad2b15354929deaf0fd1ebd0045a7ce357af9902687f3a9d84b0587449fc74002a2998c0dcd37b3cfeef7f06205066504954d5dcbc69dbf69446a400b7978722eaa5ef99feb13a6a5ebba7bdf3540f0bdb8394d1558580099aec97043d43e1a818780672d944e33d88ac55d496013d837785e10b5337a254f590365634d711134174b654f7a66e57464e7fa59512e875a89e636877e373466cddfc585c522504ada0ac0701e2c3796cd952a7eec617d3c25203875a151d264b2ccc5100c10adfc6073f1a0d2a9a1e18cdb6e11811082c5e709e4aa8b71e9dff3f0b47af60a3aa2c0b2df246662fbda88094684d75a5e67ec10bea61af7c0f5f26bd9b803934387c416ade6730fba83a2566b0b3d0ce36af17fa9086b9bcaaf2d3a184fc21c844eb1040c45e49ae5ba79ee5f620a027c34cf5ab57d365295c64de250fd62a0e8661cf892917e9327c5249ebebc6712c89801816cedaf9bd59e2c544dbb9718fa955261f0b50b324f22b23569652010aa30946f7e3ed9b7ed84f104d051d74e10a4dd11aa7785a0f6212a6906ce3e0178adc7f3d649614435430b439df9deca6b9cda14ab8b0140a5ad885ddd6ea3d2e68833be7365b0c624ca7fd41db63f03b61bd74ed30f291ff91e3bca6016abda21c5e352e890a8f2346748139cb25779f17d5d48802c6e72a30e98d7a53d9cd59e0204bc4696615860e6830603040db25fdb1d2e5617fa8ccc1ea0ca38874d3b3e0b6cb221f44e775fc9d9de90f23a6a11e13153674765fd332d28f7c80e3af48d209aa9b101b09ff85932f8e32691631b6c9f2816461a22bbb2cff7651c699b18444d2f1b4b3d56eaad2ed55e0496015f6ccdf099a677beb0e0a46b5a8db7e529d697eb5679b2aed35b4367505127064706719160417054a1df78348625cfc81bc7c294ac1e00961da8ce69adfb0b18029e1a7fc91c3289995e12f1bb08a31ed55630024056ea16e54bbaaad2bf24c82a0b40298f68ee4cbf24c79c890df3961386bfa47c784fbafd8568088f7b70fd94a4f3b83c8931966547cbd0a6dc13d198a75d7c96d095879b0956cec7280ffd11054d8719125016d8b8d53d99dba2818810080dfc525afbe4ac523a97ce19d4cf51014e90343401e06dbad598b4062925a122ad52e8777adf3adf3db972ce661896bd5d0a512bcce1775203f866c067664106730d7cea59f19141d6ad667637c3262d885c894b44f0a77d06ec519688950367a5fad2c600a6c6e50e64edadb389112327ecdb0f01904db22798f4e1c3c730604d1e497c1fc5e2625235d21408a5e05cfc67d4b25bee3c2e66d90584f9efeba3195643ba1b3617ad3fceff1b3712985739ddffe1569b6da000ef707a0f9060583d6018a56174bfbf90f1a4c44e3d9743f8c9e7fa6e72877d70f63bad4b559b530b4cee6966a8a3275d28e15cf2e76f1bdc76ffbd058b97aa2b993801d704edab6620aa1f31191c4eed000b10e9dfac5bd30b7dfc65fbf959eb53d9ed192b913a85732d085d47c1fd0744b40813352c565e7ac9b0d02ddae435aa91246bda3f2abe3973e37c82a2797ed4590c9e707af262817eb061eb4daa9994e247092c920367096136398432173d09e7308a0058b89c40dd06d15cda46f13069345e529159144f7efbc1cc2601eb60efe38e5f6b82871bbe06d269c81d4b9c32f4a6b85dd41314852dad17b1fe12f56b11ca24c9b349be3493c1684cfab6ad7f847acd27e8415f269225f51d5e06c470c8f7294efd663a2b540930ee0c0ee0d83010a287e869e3125eb753655a62b2116b11f54cf19de67e88b0260228ecbe86bf24615e567ed46fc177921086a120bbfadaae751132077f6c8b0ee47a3153b1e423ae89a3050cf156fd72236851723965a865d554de3c3db89a7bcfdff5d031bf10032d1b3a8492d67df29331a6151250527b82be5f4b0cadd9b9cea1bb7e50a6ef6b1b64638b3b142d63338bde85390cdf499999b6af629525062d571c2a7934adb1e74ff6f3d80fc2c9f6a751aacc220611f18b26f47f73ea3bc5fcb3d4a4a86e78f89c48409c692f653a5d970017df5299b42190f2d5584453d5539c1f7147120478660337ecfa987b892834ae6c33727d3e17db2ac1a530dfb41ee227b8db8d819cea5eff227b2baee0fb2cb15ca06247fe51fa587c804a201e4feea5a7bfbe95cc5aa8a74405d722985fd6c73e58317cfdc06a10e7773900971cc220f7c34f90d79c6acb44b7a7fb114db9bb5a4c5748413e3e336a3667a060e7580f39e883e3d6e9043f48fd1e6bdc63e38ebdc629ac03514a63f4e6eafae8e556137c7d147f54219d64da2184467fa1cc8bc3ad22eba12ac395c035081f540648360b209d1d331dc4493438b85a7119021d1625ab0a531ade3d7952db19c43c9a5ed4cdd82404f1fbd7b32e3e7f4286b04c05b6a6cc46ed21a6aab82ee888a2ab2f75a69cb26d7a2eac6d33e7b44b86db76ddd73a604630858c5fda73e02e18da48cc7b5a88094e8a24e22ff75fab7d7590f0dea08308aadc9226e6dc202e32781428cf4873d58578af0cde5ec5dad72b023fb5bd48bd0f0064e9ebfddc7e114960655fea910a7698d509f4a2e8f9ecb8fa3465f3f180eeb5de005e00531d76c493445d6e994fbc344d65060de0f9c4427bb0219aef1b90bf7abcc270595c872c2dedfdc2e30821c8793eb4de8549eb6fb52f952d6f0ff61cc26c4e923826070bbf9523332f5e82516903b7439d53da5e1996305aaf82a6fe34f6df53c42d7c71b49b881c9056888ecc48b46d0c9afe356dab3593e8182e90c5712ba22e2f5e566d063798c917b6129069d4cf2cd2701964289cbb72b2a325872ead71cdc0e14688493e1a65bec79489cb7755c3f42de3e6ebafd9090209c2e349d4f921d583cf2c7478d301291ac01a0f7abbb9c4ede26f514d27298c0a74e658f4c048b48e779e3f4360c01fead66610922c683efc5ed5a9b8eb91bbc435d1005aa3503ad325484a151d1c5cb3f3e9cbbb7a09e1593a08b7c63b2df73754a89d28ac74dc491be41da5f8be9353c165edb89b96190f56fe10031156982306b099791da99ee1cee7e0fa24a2143317729bcc9f775f2dcdfac13c4531351f05af141f28c3f73c756adeb5357e35148e093dcc225b9b5f912ca286e5ec641c962d124dc6602a00092f059a63f6072aca903227066d9ec27bad3feb708d42e850375e975f3b0ed81c9ee546b2c02acab235eec4ff4f90b5c0a29e4a9109373d32af4d1e043f70019bc0d28fc0595d84fb4a19b324c08eb2a284ad975033770de4001f9807b5aac7094402151bbb8e9ddeb4ccd9c850bbb51efd75ccc17b0f4c88a7e89ad0c3c01b24c9d7bcbafd576193b377b718211ac07e5a890e8ec9355c419f6214d71a18f1300cb76bbfa5d6dab59ebd905a3c51072a3a14e66c1b842a06eac504973081449839e78f8950be7bd46e1bf1d3eb4182ef478a1bdb8ddf6b16fcd5596aedce55611a960f0426970aed1de77d6ea0104d79692739fe02873452aca3bb10f1d718fc41ae5d593a64c15719f389808a67fbb55cee255eea198de45aca66408d42b3582b0a56063896d216c86ee143014b5df51cb2f4e189a9d093fc7c79a23f65186099321a8aa218fda50a07b1152133ed0da8dbb6099b8b999203b144e456300f4e2baedbeedd52f12a95508b60258004d773eec05c3a8a7e23ad364c8637fc724a939682744b089e0e97dbb78adf578ca3acd0a93e98060f02ca61aa26afc11411e5f18a343584339537719fc55519988a03f40d03928cd451d9b1f21d636483b70b5ef0aaaea4a56fedc6c82d9b5e95483f240595e1c9f101928764efc6ad5290eeb3f76efd09774938fdd2196d2faa97a1468c13bc6936cfeb955c6abd09bd2d9c9035200b61b3c90ca1a17813634a845ea7b99f267bc7c916670dea4edec5efe0a400dd7645b8c802152584de8d103077fb4cf364717fc2f2cf80b4f28a5a9fcf5fc7033b9cb56b5b757a4295577ac4e36b1b3c5e41674a1a5a3fd5a0ae37ba4244c5ac36171192f3b9d455d46c3e59b26ca2d95b065a017a4fa22e07e4d7cc43e09804d80150dfa96403901154c387233a0fda38ace900c5a0a66e4330366a9a2478d96b859ce6464b6e96e8272bfee3d66e0e69f14ce903a6e3ca8c8a6816b851c3b1ac462ee6bc038510ff2f4c7986c7bf333898be32a4398456845c58fc485c84bee760a6669753b386dffee231d830705ecd28baff7af2b70db587b43645b244a80f50141cff6032a965c72e9589d9b02960fbc4ea825df8ecc2119aaa5085f7dc287bd965bae6b91023842d62052e766cb671c232869ff05e41d4c8ef1172b2c934885928ac4c628bbc8cb0b18009609a164aa4c206d83dbd403d761e2f73a49add560111c58db903537ae1a67a139c224a35c0258277f798fe5b598c952006579be86e9c02c0e5aad8a53afb4aaf072a065d3089134038131a3e61f39e1bfb6a643fd8a828568edfdeabd79a14eab834ffd5c58a616a8a4c15f29e07b7efe29685cf8456d3eebde1cd16a1810abe3a3b333037d34a579173c62c27e9c38fc095b233e40e9cba0c41595bd45a8309e4caa87a2e090e46aacb2e0754cefd723dd4e1d8c11c004bd780cdf3a1a00530f6e0425756b98a906b629d20593125f3f6ad074720e89b7b4bb921a81972d4a37782752801223b6c01f87945af5c23bf18736056c7a4fbd360e32114660026456a9458d30504099dcb602400245c5c138c32980196884d3e527f85aaf1d9f3c1081a122ee0fe5c22994618ab444775450cdace7acd53dfb553e216e10c0fc62a8c033d2efbcde93e17aa8c187a0ae60dddfe060fb6a5d7e23f4601fd8f6b9fbf6787e518ea64ad5472e36edc977bafa4134fac4cc0f0935868384f5064ea002e179246facbe9858248a1677f6dd9f56bde55ee7d6a4ce51d8052981b9c3365a15311a40d390f24d9b2987bbcf3967739d1c9fe1c90462fdf5468d3bbab0b92b2e0406d51c996f0e9f4cbf8e0df00f6832a3ca80a3f6aba959de367ac1425702cf9fe14365d16dffc859fa8ddb96cecf1f76c22faa0327317230864012a2052b3798a943fc125d8974c4436673aba63b903c46aeb8c56ed64fc8eb1e3d44b4dafb2afb6ef0d4f9e9b7872eeae0ec72a00b22b51430a16e95a7a5406d4d5d43d0775f9dcde34edf82bc6ca6171627cb91e404c74131125606aa303e6b07711752b37affb650c6e3c13067ebf1c5869616455f9519da02c765d350463943089a4ad097669651f82fe3992e9c1a19291c0c68bfbb1bbc61ce74ca288d029303a0323f2bfca4586fe73be98e50329e757a2624406d400c428e2251fd1586d432ae4ca28b84b92841a10bc924eb7589794e70ac6d9e82a1268c730ec419d4e8cd9b30ef45d949cb339265a6a40a67c7fdf4ed67b79693515f05785d8026517f934a9e738511cb2d4e204c9a30933fd975675f530920058d793411d7c69d9ef0d5bd02bd05d44b9f4b629877e39ed3cf3ce546cbdf1807b88132ccd80224c9847c4eda81166808828ea0f9cbaf6264a923c644fc8af9856f2a516bbcca4c47d309d71549298c3c9057b6b8d76dc4169fd83e28646838d805d2019b451e318b88ff8ba5bb4447179d0325c9f0a1ef80c39a7b07a82dd009923fad49f30dec37ef45a0ebfd9c41a19905e408d120a873aae61335d0d6c0c96d68730f1867c54bc62ac89151c6202237abbfacd12d77077b341e7568cdbf07f02f1b453321e3da3492fe9c5e7bd23dc65eaaa07af896f3be886a5cc3c39f2e7a1c5426a1159830d78da5d5c9e055d1f277c9272d1d0f182d3488bc542a17bfdade8f3e62e8d2d41e64ba008e0340af35eae569f85dccc4be7d39c32e5141ba1ea8dfab62d598ad72522ca8c253773bb24f459b26983f21656c41d877e206c2551ce5a65a709942cdf0bc2376e7d2ab1ce27d7196598cb2fec8012624d172724ad796b4bcaadd0c69d04bf6479103bfcceef50c07d90f4ea1683d05ff725367363e53fb1141ce1aaab8268bb49381a03f9670aa3895ca10e673f2b55f4a63e80e93fd7344765bb8b64792ddc348682d9633a9cccebf3db2a51468a132804e1fef6da26d55173b35c82e2d1918ec2fbb1b56b327f11bdbee75bb0d633f0eda73604f89379ad6ec7c9f74c2fe795ff292f178cdf804baa17999893c3932a32641b838042d1677b3431e1aa97c3f2ef2fba05ec1368d57414840696a729140e3c70f1de5904e4e04ebb9e344d3bb3bc147a35b2d67382a97346c8363634a21e1e868183c2bc7a4df6c424131da3334063d1ffa9f0dc64549f016f7ea650c69036d548b950497fb010b7a7fb2fe4a2ba568280982fb25017a9d5df67be6841e494c4581640028e7c52ec6b7e18d50fc96adf17b9206ffedc0709f98a3c6cf360d34927cd2cade667b0e26a6dcf1623b62a5d26247aa187cdfbf87bed00dd5f43da72f288db9ee204f5dc0eb7ccc9e798e9ef92e15feb0921cc795fa9101d98508ac97c5b8f3bbada27124643102175b3f21887b206d6028100bde58273079a90ef5613ad66103f7c2b1a06d30299de80e69da75e28b007db35e02da635aa84c89d51dc0c3186d0121565333ee5ca3fc6f839416f5001b8d00cafb66aaba0ca4aaa84685e10f185a453854adc09f49ff5ce56e50a5792cf05a8b1fafb78b0b7fa77d0b8541f249d063f253e4f86b21ff390434351a37e474d3d0b2e21a9d3e2d8d29905ce5313cbc55a059557bb0ff2d14bb6d89a05c8b4d5a825a459d16b0a2284d6b188b52490e59ac9d93321a4b44442a69c0c54ba4b045a2c64d515f313d03054441d452443217fe73a9ae999a5665b0e5226f0785703d4a00dfcd9c9ec833a69aacb82a0e4f037c07fdf6ce3fce69610ddc548cb793a376740a59207232c09876d2d3cc42fd30196eaba1553b66489c4ab88ea2d53e210e6e30b8dad90b00bd29ca337d5d8d40a642f6ec37821c32cf9f61e8a047e78aafae56e0a4cb04336c733c9030df5d96bff342933384fdc48a7e96192c043f775f9c7e1238daea97f2c70d725cd7caeddd828b0cebe1484fc3aa2daf2d8e4eef1817d6198811e3a83e47bc550869b6372336a4cf02dc6a6497907a4c23006e1d4191e4d9b9268be7453dffc62a545ae06e2627813f7f9a9aea8a930903d0eba91abd4465b66cb8cbd5c8ab0439af47308eb655a9565421b17ccb1f06b8ba3257e940213eea14d8ac836c5c63ce68630ed12d21cdd626fcdb025a27a23369a24b7e4a4c791f580351b778fb7a18a46ee681d5282eb0d65e6718153413f6de773d62894d1b702141276851592268ea0031c9714f2752b8c9ef385862385a2afd2e205d6c9f49ffd4c6a17676d275efdb94886e3654d686c590903dc12c1abdd61e2802155a9b0356346472eb7047baecad233615617205b4b01f06239642f5e19afed893af4d627e63ce287beed62d6e754e05b0e22c75df1bef0d5241d251e26142a4aed7d715c795668ee99b2c84e1966d9a1d991617858543276601327419f5edf0954a5deda2817c8828892c5ff94eb096dc8f29b15c9419f79d7ae652639e5f4e9511122dbc52320a95f3a3c1d7c5e1231f250d7badc78e6a378faaae67b4be746c5c0494b39d7fcf66ab9308799556e611849d47ce02c58355115383323d40a2ff856880d48c4891c5d03577343026c770fc945691c07297844a6cc7db44b2bbe0b71fd83ebbd612346369a5f31a7a6964482fa973c8bf28bfcafcd12e605654e7a090b6793d4a87bb5245e5a8c539afd1e36220592abd6393d180b38b175b7f810943e1fef39ad2969b90e06a0559584232e42697aded641ea8487eabae45173b63e3fde3669b6776fc418b7a7d97730e5178060475793877be0a6bb0e563f7f8ed6386591a58e14bd2ac37ec2fc5d25f6a7ffc6f4c2930a14f3a8fe8bcbc73f178fecbb43326a9a241f360b90c202de23c98f128c74989f8e5a82250fdc7779d837081e5aa7b70907773814dc9388619f66b26e8f4e2e1f967e8d7dc65b31064587d992e8ba9cd2e3fda286eef4c73239e2032a82f4bc872d86bfd2af7d4a03dcdab3d3427c6d1559df664e85c7e77396df224e363e8546d91f30137f9546caf60c360c34c21a3d4c0101891588bb01f97a2bf6405bc76aec2378ed3acb5d4bf42eb60114af5eb49286c50f44858c9b2e493524d1363d4593abe645b8ec400c84fac3236e34259232f9bff4c4121a61667882469e69b3035b0aa1853e0dce9deb9d46b4d3e613a09e077122f3ee37222d2da34d47ef02ae88e80ab37c0a548c30a06f71a98e6b2201326e9a40f857ceb41886ffb75c94c14075169884eceed1ce2a52e440ff5f540b9ca19492a9f933b0bf91306d57826ca711a6500fa4c87224316ebbad7889c38f37637c684b43f6651d73d5a33624218bdaeef6c29da8d98e63fb5615c10f707ad81f9219afaf85c34d67a9a50a6f5517f2c8d22827a95a302889acf53a3c528b18960288fb09842cfb4c60385774f5b6a4c8f134827dd30447d5a9ee35e60a948f7b92e9cb3f8b3730f20d053fdd7fe17fce3b5f2c3328fc271bde62ad68d330fb3468eca3043ba0bf6a208cd5606959e00c3ce3574c7605a98ea7d717f5a593f7360e2e7718babb93e9799231b3136664fc89845ae9a3b10f78e96e6d8fb10aef651530b4ea6811ab0a2e4400f88286f194b7ecaa1d12a3f9a40170750a4af4be13b84a75a23ce82276429286584ff1172c347885155ac25d8bbf907ddb54340e05a81893207a23f47195b3ed13ff707b6dee6df8bfe080ac43a57f5a462159f337c97fe49f9a27e778f40b5f4eea3866089a0c9c84a98e2cddc3edf7aaaf8e9164748f902d3cbb4ec76e0336a7a9d9e4810b61752529eb88a0bb540c18f8ed1b9368fdaca1bec868d8a5d4ce951e528e0a14be195a9ec9ab0bf4d2fce074669ff573306caa29596c01adcc2093919685c5da53636b12e9afdffb5672a31959422d3c1639b140aaaf99e45e00eac8f4faa794bde7867a55e4dee97fc4f610db7da2a7eeb504e9e6df5f456f1f58d4c31ac89381587d1d05693b90114857907855973b345a41a103e524d2acbe3b212608651ba353b5c7251995a9357590e158615d21ac3f64fc8dbdb066b6977676d29f53383dbaa286a132ac80e7cb9b8e69ea5f459a110437ee5d8d175fc306fb9e3bdaa063f2d181bdf92c18ad6384ef141ce5f996cb0fc3bed2ed3bf211c06133112959665be8aab0a7bef0a4444bd600b3a21df93147bedc07ccda29b7972b133668f033ccc32af47fde1907e9d0c25de487ce3d1323824991d3edead811bbea44da1fa3fab80608f41ec10ab6a9f4762d9d89e4824928318f9b1a61eeb0f5ba96f835fd03c99cacde663595748bb7cd4462b927b2cb58ae97e52d71c8c801a10b5a8665151efe5e27f902926edd074a628fa2a807b206c67441ba56449ea065635ff8351ff6b87bb6a5e741a53db4e39932be26264e4c3e5389a45df173bf29fae506cb768f4e38e497b931511c8b23edc7842e135f2ec5ac407b481fd85d150ec3fbd98a5b714efb858e0313e8ce3b526b7c6a4502a7a93ecabc69bc4efdce40bd0e59f5ebe5943c44a46eabaed69eb4b9ea6ec6dd22e6db93f8cd3d763a92644412a2f1de80d1b81bfad3d89da6815df48cb74baad176902970203d82cd46894fd837369a8f5841b395afe7a026a1e31958aa38ea47b595b95e700128d2ec892ce0074eefa4979da791072557ff22122ea015ef990c7f9cc9aef5d47aef76cc92a4d6ea7704f0919cd600fa5489dc94ec30211b45b0eef75c107d12c216f3a4534cbc2f57745627fa2189571c34d5e76577368b55ffd4edb7d648bf9f3f2d5219a7a709ab70bbf6854a738f2619bb23080716d2d92382119cbe48d66a3b171294fe60436316d8ca1032bc54965d7aa06658138f253a192ffff24e64ed8ff595755aeded49a9db772710e494a1a1ffef3ad50fef011667054fdce926e3a36786a434c5a82a8251a94a8cd5586c27d25a23cb64fa8852a23ed8d38a19c9bcac7232354c8ddf034b1af73214a12d548ac57c193cc8ca00202e2cfc736725667dda96782f5b0bd21ab66add54f6eeebb32adba26efaf50594a2f3ff194124a3f585dc58eb2ccc22002227e2ec6c07cfb960ccd21491ea094680b65a980b11ff4d810719596f8bfde8509251e6c1f3932d1e8b280d3d5d459972a1d22ddaefaff9174155c71354b70d1e0c1dd9dc5dd3540f0c0b2b8bbbb6b707758dcdddddd1d82bb4b700bc149f2bee4fd833a7dfad6ed9ea9a9a29187cfbd3fd7fa683447365b989772d3fae5565bb0ddd53803d0859293cd7aafc0ab8d7d00d9f7a7079170228b4acc7f3d2a1100bdded337aa08147a77fba82d9b7ba8e4828f965a962bd94a189de6219a8265f46e0886d465b9724ae0107302596019b576480596b695aca67bf376d28a3bbe2cfdba6ec71694a04282c440fe0fcbf4d9237bacd639590294d0f4910d3c6caac9255665f5c1136f3205f7ff9384b274403e6c662678bdc5a105335fb28292dceb814574962fcdbf86e040bbef9a7de129734b20f2e80569ea174130b0a31d10b9238198883e68ea52015bec4a6437da92bd44728d81c50315d45aed4b2ba63ec7c5a7b56ab953b61b82b26a6b7fcd6b536e54632da165b3d7a87844c8edf067691b096665e92ec5b7100052cfb68f4452a568becab74f5e858c7b89b069355b14df1d0723e5dbc8a8779c27bae229823f6d6443fbfc918ffec7c0ff91da96352356aa03a325ba942c4db2d167851989cbe157a778fb92f1f50b01a2d1669f8db2d48686e828ef6038ed94e1ec969f70564969b596ce505441e9cde828ca6ead28d8f9e3686dce10b705c31529c2b06a1b26c6d313cee1f3969f690257313f35f692111e167944f0b72c788487f1ae5bab859bfa49ecd3b710eea4b88a4767f7f2679c0be832d129dd911baf23a8a9301105a3901014b0413e35a52db281cecdbff16c6861fef184ad241121ec300edfc1050bca8efa7920b4984cbddb99df60f888b08c856f51a24481db5acdeb4821f400bfc8b0f6349ec3aa14fe86d3daf3ae18f3683256e72bb6f6aa142e95b60986353cbdb1875ecc9138832aef4acc530f4b8e9f4b01712e3708089fe4079b41c99f49e924c09a7f9c39dfdb9659731377d3a8e7a02befbbbec13137c3dcd23d77c30e0ae54e5940659f9eceb5577d3ef6a17194c3a9a4a6852b817611478572325305a83ebeab1bfefcff5d39ba331617f8ccd73e510bd2b98588dd19408d74734db3b9f0d297a9ffc3a7eb48a462863b238dabe9cafd43f522c7b0ad4d838a3534baa6ace9d0246c084db24b51cefaaee78c6d01b81f024c09bf1deb5af48b140ef3dc1fc29b319f0afd86b2f84c718cebf738e0b2bba9b7f14ee39c2b554db73b8fc65919356e8698d469db98567ec5c008066af52b33bada297988853618183a9a6916751c980b28c115e246aa4c99aef481830b0e8256aa6d3a37c488ff76871d3be8be464196a34da75a1c96b2b810367cf48adb5ffb83dc920df93d73729db972b7754bf1be54bad9b1e2eb739a6fd29301d723a764ad758d2d010240e3a8903655cb41cf8584138b4f1c1efbadbcce9646b5e49062923ad52ba45d2f986dcaf4dd92b836897db93493e5db0975ec086907e6f44e7f855b43336c891e1593264f67c3f0b024cf8a1c3688fe806c70beaec75a1159ceb1be93576e855567f618ec9dac8d64958d19a999b0172de07b92ff4f61cb50038b480dbdd2522ab7abd539735401948b80067df07bb33cc14bbfb1f7ebb0fd1ddec07c39d349243e073f59cba3184d5dcc2fc4b7483841e438cc0c08434f94151e8f798beb7448b341661c874db2ddd8cb37519c30431edcdfa559331b20b430e7f3beeff76b133e936acc13b48230fe502f6182de76ce5741a639e6dcca808c4da235327495fad4359da091e645ed95149acaabd038e5e41dc8c3c8c9d49374437d43ef09fbce9ee2b7a7dc281b6758120c838421dc9d64cbf94f2014f3098b064106d0227441c37fd05a7d14020e81ce977bc4eda2fb0a3d4230cdf32897ebb7b33b0db3060d8d248f320c3e3b6cb623acd18e59592746b4a2fea5a67ee363a4ae263c99363dbb340707fc221da68b735348c5e993637e9daca11f0e9080266092b7762942aa03f9bbafba2698eba469230f86721a28472da3368d486648a77ce13fced127d893f9d9d0f9dbc81eea04d28bfcc19c055bd87b7f3aff0629d9b387a3daabda464242ddbae485688c5855f81a1d91e1bf05f8efdf5c028b049b423c42cfe166c46c4561d2be5c461c08040ba2f5e88fe1b9f3dafaae74b282768c4f8948ec0fc5f5e49af1c6c7f7872dcc3e5636d6ecabd4f1198fb2f2ebd4442559cb4e337d4047d0f6e0c71088665fb8e1622b04e9adac6e0a0fb2ea708ccab472f0db1455ae5b1a104014c986c39ad0e33cf1152658ba9ce0284b91747cb813090cfd8aad66f1b9907246356123e60d99aea8fb8873b1654da4281018cba30de40fc7597a413fe528c1840acff61e30cafb607254c1bd7ae2bf5f6c4501b2aef577f56ea7a849750974897cf5118f534e5483f34a759b989b2bcf958f75ab52d015c988b8eda5f60ab93b428919357b0fe1bc0b6a445c0952ba1b52b373cfbde5232d0beba64f14c6d55f7698c840af5ccdfdcb87babbb2385c7bb56c84de6d564c49313f154ace309413783e897faa558363d885d92d7005ea175b2600328d0b5127e31e599856e232e66e4ad2f95f5902232490df43d2dd8c21d5f58eb6bd682aecb4d74ee1173d94323a1630d83db38899aceffdff179b82ebe1b857acefbdb327abf323c8011fc92a9eac6f8ac58534789586d7eb6ae72294916833fa653688669c78a0d30e695509d97a824042887ca4b80452bacbe1d34391decf57ab2de9666d0fbf65e56cabc7c7ccf6e8591d112b5709286345335b67eac90527e71ebf0d38426d71dace2ad0551da566724e7e5ceec8870da401f221dfa382ee593a95ff4c1d69afd6ce4d0a38734305f9b4c58f5320d1492a75ed3c992ce350b09843ad81167d7312ce4ad35cdf85bc9f27fff53f9b697fa84355a7badcb6ba9c5c0404f08142b4c1c5537fed1bda05f04ca8adcd9dafbab78fa390c47c2438907fc96226657002d14ae88dedbcda9284c0e899f503868448e3ae10f727ef570705234e7f91f0b63e859d0c475712dcfecb6a0b5b3cb70ae0b1b86b446206c833fc32d78904338dc35b70ae4c734e991c73d9c9ac871c47ccf60404ab8f4264ff21cd73c5f71293692734f73d712d68acb7bb3f6cd63a1a3f50878cb9927894fd153ad0c6f13b10fc4301edef214a643d72bc3d65bcaec2643502251800d7d36411d0d47ca11ddeb4f602db2b5e98edf9d5d2d3db307d9bc3de76f7eac1e15ce0d3ab2194ffec705cccaf6b7605980d97ed7083d5fd3fbdd1290ad422c369fddd53bfbde092f298c894f1993e534c1619a1bc050bffa10d0a8815d76e398585676f007dcf0d830eb0b8e954196231599d7e3b075065d08ede69cae8563ad66a6d4f3b6b3f32f076e018b70d1b241d87e59595915a299ae0ab7a118965a134c0b14713dcfe9bbabc5511e2a874e2f0a24c782156991852006720994639cbe5995d17e4fb5ddabd7edcc2ea0cbd7ba7a775b2736d904767730d294bbb430caeaa4fac0453a37c04fed39359c5d8d42576c33ebe11c61914d3cb873c8d2aee1a33543a52a464070f7ee84ef6ac8469cc6a78c62d0b64321017c7a4c4275bf48cf61e204d0c0581447842891b73f090d6fdb664c86114b7645c88ecaae8fbbe868699541a98beb173dd2732eb69debcf627ebef8fefd323b9a1723a86a085034c6245a62d3728bbfc69c31a2471cc001d49d03a3223485dcafab6fb70d6eaffea0ba671643424a013ab5ce54e63136f4a15a5849a2ef2873cf3034e5167338ba34e358b42e7de35bbead7091ab00e3123139d6d4d58aea7e5879295522776153679f1d18be3de0daa62865564ecc80f0bbcad6977a3ae22e1bd9c46b8deb873a7c20d27afaa8329364b9b7d92eaec99734f7b671472ab539782db82b937314173b4a36b2bb0b6ce671352d86b9ee66188095070c2c151e2d0663fad26d5c594d07ae305fb9811ad1690353de0c625e01c98531b9c68a413f1954392884cb261fe264330d09732e1830fde7e94782c9bab9f3796c8e250e62025107ad7928dbce67f2037e6e349a1fb869fd221361b93f10ddb63aeb7dac2eb160bdd0639c82687b81679521b201301c37fb49297c472cf18cb0c0a8176264077daee9c6a1ecf94a70a108be6e09a12f59e3b6bf00e0454c52bf4dc25c31d2403f4d3438b9c1703474a350733e9157b5b279d268cef390f29f1920d6c276c33b7bc02dc33c59b0122aef33b825495978ad6b2c462f44a78ff4d3dff41960913828b00f2a9c865ef5830a9c972508217809a5233d93457106d7e989bca0f886c0f41b9126cc3cf8e82f76456875f37cf90d10a6f7c914e3642a68c1470b092c4e73a1e9d5a84971ce27375e725186a139164ac06bef204cb0431c7714419766803d617c92f469acf3bfdba1bfbc6f4b2599994e41fd745e855bf63526cefe028e172a59ad9bf7074a25d76307f5ceffe14802167894e0ff320fa954976c5ddb81e176eae91f33fb4fffdb5e8a53009c2618d08b3ee0f2b52a6aa6f37ec104185842de080b73384c4efdc30fd1efad987cc72327b6e414a68dbb14b6c850ffec4b51f392021744d5b4a3a26e74f70b87045e4b5bc5c6ab4bd4ea35dcc99d85a66486c529fea8bbb6e93c3e1045b4623d8d344a219c694eee6b9cee74728039d720d970ced3fdcb635bed64e00ca499f2cdae3c33d0d6cb19b25f47e7db4eac97120b2d16783b2b9c39c118b1940ad94eb8e90636bf102b47a671c21131a12ff079b3e001fc881308c43ae118734bdcb51895988bc0c92f948cad2a55d7e7661de68763ec5f20641979808f40a76ab419d2ab8afe13fdaaca4ad6d944e8b9ffbe63fbccd47f57ef36ef4850683d61c14128ceec40e2830c6a51f33b3939360d1cccba82f4f3361ec5babf51fb247655fe39f4c7f0473ea69e409b12a7c80ec73f468808840a628b3ee576edbdcecabf03d1837272709ca8a120df5347c29d5acf62418b0328148e48dd556ecff2fb34cab5c8812b49ee2452f0fcfccb2a138fa3c1081ccfe04b962389183b3e4f5a7aa69fd6c0c8abf95b2f2603aef15bff44f7c0c34d014db14bfd99f69784bae0a04590feae7d36bc8a9ec2de17ed8c41a4971eb6f06ea5637f7dfdbc8d27ebfbb45af925e58057f2add20aee16464ec3732969fd5be7fed12866caf8a4c5d2665223d741140a34589d72f79dc741c85529407408538503aa62b678c5d7d84d83d8abb5a38690dff854a5f6d848c8a0a6d922fc50c6a1b55d33757ff610c028b1da84b075aacecb5122e3601d7992c7fb5f18283e234505781c3f43a1599af228888b2637461f3550759ae92a3d07c53828329cbbaa71ba336a66873c5a1610b435fb2b0b6a1de6d6c8549a77b59baca37b11e178b209c3699a99d3787554d757ecc33e551b7c44e7df7add34e3f6a6510e594744485bd05da491e985117ae9b1958c935fe80d7104177b8ed7c49a62219604901688909389ecf884bff5105fedf12cbe6c3ce5c68d7f947d5da00eb2b70d05d27d40157672ef1e079cd55c23bbf7887dd9a06caf180e9145919985c9220e45d8655e8b5123366377b651a9aa966666d05c7a4d6bc15371061d464ee4bae8e4255324b73ba974667ef0661fb1f21de577aefb3b743da1efcfd24b794102b68bed54dffd87b1c0f358b4ae2533c4c6551c4c69354ae95256345d1adce672f95ce44a72d7482a024052041330f56751bb88b769dd02c89e29ff10a752917f6d20b771dd30e444b0d8ca142c1ca58724913848394d23fe885fac0044ddd63c21080e058cf4a93534352dbe929a859c60f23aecca6555a75428ff3e133c68b597dcddbaa1a6437ee0de9b139d5e6dafb655957efc42db37903f88befaa800a4562a2f82c79c85f931e3d1473aaaa84cd1d1dfe532e79db70f444d2416ec06511a8050e2f29db58ffc3d055ab55e2dce1d4250e803cba0a1dcebdf3dba9e53a98d8035d0ad06af353fb4b18c23f150bd3f7202adcb061ec6ebb2f8316984d491c949532a107f2ccc5f90004ec40faa53e5e14cbb71c0478cdaadd478e1e922a6c399a6291ea84fbb49d61c71f6f7afc0ab0c40a657f3669bad2c60668267dbf5f058ab25972e1e560d2c761f5fcb2d9f7495eef4844704e2ec2a9f48d4af86f09d1aafceae573f753cca1b299b74c03d1681c0ddcd1ef6690028158985204880b9b5e462cc194d8ee3ea93b70c108b134a498c808aa3efbbde31c3788853b612005dcedbc54fe834e439dae8ab270b22092bad2d63d6c2aa5564c991c837cade5f36d9982ec5ac0e49280307bae551ff399f1502efafaabb09c5636c7e07e5b0160db920e78b77283bfa974a327d4e92125621aa50ca4a3b7e69f758186711b97a7fcf263169bb360281e42aa2f54859730cc6226dd58876baae74f9f3846a12418a2cc4ccfebd9d73151550eaeec9982a2f408685630b4f53a1fb638ba7ad015eb69fb2267cd8a29dea604593b38ff6ff9940a424da1d7565f6953b20bf8ab6461a66d47c60c1bc2ee75607fd23ed36a5190aceea02c39ea005c1c7195e1e620e08e4940b56d91a307a6a3b46f71a4bafaf0c9d511e53b9fbc5eb299a7cfc1e95fba63bebacab39ec8505a1309a7c11062c1cac1acffbc77d7e42d2b52752e19c8ad2727d49255da21a80aa4a61837b420eec9da5cc80f863d4ce826d53e95372e66642490262e7c1024292fa086d1c4005a44cc5adbfeb60324f5bef21ad162cb6c7ff43bca010bb32f0bc5138d438dd58aa68a6efc1384309dafd120210c70f5c88d0dc91b784168cc56dad453c9e76045cc53374f060f0ff60338030fe737cca5eae01769cb8bab951b39e772fd6c856c1c254d581117c20eac62e9f8ae35d017891c33e8609d287502b02410784179e834be11fb03ed61962c2edc25d7ec156179e250eedacf12d1e2c8c335622ad96f07d02b2f136ec64555facd58cd609a2f88396c85c0e5c432a7212e8a21deab4fde89f07c8626258c6a38fac4a5ee16486af86b8493c0ef98e979f0e7e57f09859e8b56869e1935cc823c40e3e5f1c5fff4c2763a9899d1596f59d3927da8f0a96e28f356e4e5c3ca4f2516635ae796fcce26a4ae1904a240d4ce7cac3af662fe384e8425934f702b020845865aa83a21c59e75313749e4884660991285abdee9c176edc226389d02243c6eb1138d6f2761d209f81f4e6689bb62e99f3ea121dec97bf377d7c7b36db28f845b49d6e05c7a7d555fc4772517859378bfa35add3aec8f6050a4d94064c9206522c9f66c5b2e6e85e899a689d363515d30414a6b74ff56fffa1107238cc103123f48337d1d54f9ddfe7a18f37b7f14ddcb8d1929a1c0da61805560dc109540b1a21adc81e6a895160ead6641a1d978f9d8ae0b953eea8bee9d5fca88d930dfaf6c221b286c8a53d80817e071fff60b1c16e64a58c4057e2d604b2dce9338f3768fa404c73da181ed81ee739037d408ce29de04796fd6c7bef7d1da5ccdda5fe33158947685484fe402d958a30fd4fefecc46b8d15e0d2667b24a8f44167d1ebf430ea20be47fdcca61b6105b236a8461b76d2bff95b4d0370e1363fe47363d37ec4ffacf908c564897bebdf5b0a4c4861c0080dc5fe9b1e40f086efaaa8effba43f7a5c1832b4502942149d1ae82e9ba29a42d127e78e6a6ee52c8d9851066179b307ad590cddc3c44f81c0865afab148c806e275e7ad2917e7fe61a7a429ac2170c231d015f701ccb46be75b885b55145dd8a1e6d515c8affb936da7479d7ee9181da3608be8367d610ddda85e4d1c19505efc5ef25ec63ca4dee3d18cdf5d731e22766cbc0dc733586d956e9501939d82af4bf6b117d928a3ceae06020bb14f3efdc9d9b93ddfd110d262c673a8e234a16391d5931c04759f3ce17f99f71020d0f2af771197e7119e70b51733e56df5a5f87fbe35572d638c64ec40399ab02628499105e7e484c2d3c2105645f72f643890ef44ef3e77a33ae6b94ff3866cae9bb2d264b892613a132e85bb9531cdd3ac783a5101c891b4cdf8c935c42573541e61f87e3c74680be952045b8d175b2572c591f9cd70d880eda72194b0a92c4329c721ef98c7d88ddb4d1eff8cf57810e192962081449924bd6c9ad36e50c4aad99ea902fbcf6c418da7e3979dd2678aadbbffcad93ee9a4d8514a406c560928a1c9ddd4405e56823d675cad8fd1b9d82f2c2569d6454438f10eaf69d91077a0029c0a230b8f278b3732ebb47abf8a13c924a12dfc2fe685ac21bfbae542d112faf0e17812d302a8a9d049d826f1961cb7852d433e1551179e2ccde3d666218850f8af635e46e89f16cb93624205d6fba72d93125160957cf08555183089d460c057342d1db38539ea822d87f5cb1c490ef5f0389ebe286421945cc516ac44efa3103cded41c6eb1a961538de59b0cd82331d5efbd7fea718bfc26627c98ebd0ffda7dc9272e6a41326445b229770a06643a75865b44de52b5517992698ba60039af741d9f5408451d1a7d98aa1728b0680ddf306039d651a4d57ce7f5c12451bd6126ce407a96f9bc4472834516b298b4fad0cbb42c71596c16b28990ccba781e2beb0af3c2915cdb264ee6c696be092804b950a1a4d1fe50117e0209147e0fd76bf67c815fb9b7343df0892478b1ae66a7b3c1c7a02ddf0ca6570b066d044d0cc04e3b055fd5a1f4f579a747ae5f94c6d2ae94485dd55d98b2c1f176012246b14be12604c2e1762001521dd00ad083b460d5f9f9853e74a300e0b355a88fffe88eda2c126e3a61788303b1104c655e2d220578b127238016dd76003e664300a8e6deff2ddceaf81ef0c8c18d5b28ce19bdeb007745af8ee1ca80b68fa97954131a0abadf42be8580487cc76d7ce2b251c2a1ce58c1808a24c25a67bcbb903fa5f1dd45fecb808435cff8d084384908ca090e176f20e1fe8cde0f73ff6ce613327fb7985a62e81ed8556e8c9dde6e1fbe02863972ddc229967ce5a31f171c92eefeaacadd19a2b583f8ed05ef800c11413262b9fe5d4faf74e8123814c7ea3451b79b4d4fa401655b4813a05133387ecef88a9079f6c97cb3ee9b2a47731048b0f3010c83574d790c3e6633486334b2912bae0127efa6cc3c8802bb4f954fec5a9220e1ec3bdc636593a2a928aa54748b166b0dff11f6a09306130b451a6819083d77b4475cdb8a962ed9c9eda291ab0e881943cc4c5ff1db32f6bf8f448cd53544ccebf6d83779102fc39e2072e7bf2304d4d703b2c2e2c13e36ef9321a360b8113ba8a23e91cb1bdf34ac682a2c163e528dc93083374076722d14d3e47456a02ef3c01a17a24086f961de540601173fa4467f8e35aa0b50cf702f5cf0a0831dca02a39160d24376f9950645000906915392fc5278c1b9f52d6dc92aa49989822dd1c024c79b37159df30fc5b701a9934644c3871c7fa1956e269ff731d5e46e684d8094bccd5f1a183d73e981f8af1c8cfc3640b2ac32866ea2f1e0df384d0be5bdc461e1d4e0c3ff4ccb6accd1bc538d7b58e2f5acfbac7759cdc9a32ee0d5c23e9710db3014aa25e6c13cfcc29b1c316583fd4c2753ad512398c6b3f35fbbc7c23fded5ad3a88cd5aa25014be9f7c5831403b57cfc88a7779f335b1c5f86c19dd4d4604e424592be65198ea66a2097e0245bba118d914616c485a3993a6c11e5da8ef6d73ea131858926a4105bd867fc1d792626aaaabcb85e624fe9cd6414abb35da2e0983e0fa679710d8b3b64de74364e23a45cefc71784969f4109464193995bf063501cd0b344ea40abe4b0881d944f431826258792d4f2926c2c1341c7970c65abc314f9a76403b1555899fbdf441e55013ea64ec907b9ff0d8d2a0b488de2939b2417fb0d1eee975a6f5f823554e4474edc1167b60fc14feaab8b3208d8c9fbfc43f81fe9f61f7e25ee9ee959473870c95206841f5fcdbc558c43fdd50dd13b9b2a3084584209cbbff89ff5320243b6424af2974170b84bbb9157e4dd7913e1fd68bed52d1b813f7910b95f2bccd56cd77924e94d4a7158870b95cbbff1a9a69f7fd15f555937699103629aea9c83b3e50b2752bb8fbbb1cd0c9cb1d71d8672d2e8500a7712850b55dec7bfb45000f415a8c8e89b8be1392294071b0e92aa93d147117c7cdb195b1ef7036c3248d61c0d8c887be918df9ab932ab58c3f462ae95c8217aa5c13a687792a53d5c75b68cd22989e2ff12a91b252571c2ff6b750472bc38cfe367b9ceca427516ec0e1c684ddc2534bba96fd253df11c87c9a22f960f213bc4d81c895bff6a7e7ca1d3a9c01f081e8b753274d81cc9faeca56bd5030d98bb05fb2591ce034f1cad6e26fae735a104012efecd42c6e9e12833312afd3f15ccc23378d402c7077df354a8b270e18ec02d523898288b4e26e5bdb55d21b9891e1852468251127ec00daf6ae6d259c5be273d89437248708acb2f8d9b67a8bdcc3e16c5361727f31a50fe206af365c786efddda6819e8c98b003e27f79dd9f3bdbabb442b1204922492e103878d18ae1703679f98b715edd18f7b1220c052dea5e8982bb07743d6c2223ab6083dd0f660f2e82d8d48c6641d498f09fb5ca2c555f2bd82ac3b1dcb866add24b3e4f4a1d7c1fa77789edcb7d7046d560a34181c952e5cf629e53ca2417d2257878cbbca3a4a2ec8a63676d7926bb8a7794c3ace688bc542b3fb38c1da6e3347e58e59203a5c8851009639a9913dc4968e5e28ca8141ed8b8d60ecfffb510e3624048a5c4080ac5c897ac799e7ebccf5a5e260099a65646ba21497297b4612292bb4c4668180a9231dd62d6741b389c6ee55cda362d70c76218af9ffe20c77b76b26ec3352df5d5ce330f1d8ca02eb7268aeac196590d8d9e225f59a39a1efa6df312430fdcd935f06a26cde03ca53c17d0b041debe5846fa23fa7ad547abd4d29df4453e0d14a1af65219d59e3cb976ac02e30db723d83af88b4a86df72dfdd19e9b75e5e7ca008152fcace74b6486610b15d71d68cff1afacc22a10094562d7eee531bb05a29251eb10cc71d4210b719ad2e6cb85da3f4951d9c7f9d86232ed05898adff01bc51d125c3330692c1c405c2f81854741d1164a37526a49eecb2507e9fb84120f5eec9950dfeb28a515fc32f0401858e57d37382f5d16b7561c93daabd8403d6539f769ef45a66f24b7602f7c94fe64229a246b196e669c14ba6fec18c91cb41523be9b37d913310842ebb7d79c3df4b9400bbb73ad9241b413fc906a1f407c0ad3298e2c4c92524ffcf715a9ad643f5c8f6a1cef88e22a4752892439009975ee476ef23991c8c7998e5db5a47e6fee09a8bbe4a36f08126dca5135c00b3a98f1c2fc764bdca2fa9273ded9f8f7088fa55fa69c104dd2a27d13c456c59c3365bcb7731153b2123733fdc828923407169257e1a146e6a9016cac1d3732d7fb01ac1f7d213216691c48b96954f9d43591c9ee978c173c2790488e0fed5630e76ad44a0aa8fbdf969a0fae589bb2eb906df15e1c6f6dad00523b0d5ec0af0489e68beaf5c2b4e66e9fa9e2bd19fbff892f52a2421128e43a0ff72f2233d4d4701020186290f1c0871a10d185d2f686b0b544e95893d295d784c1fa62df89c827752244b79dd36415c5a87327f424d4467bb0f366502e938cc524a7e884d4c9411baf276a7e81d6f419314b2f952fbe46f02cf0bbd014f7c1f7de882f21c8db6e0ba0ebf8b3a4076e07cf8076fa64ff74e5c577d5928d4e7a61808fd096563c92c645b6b4efd8abbd327c35ed438c038fe785fa271cdb2ef36e0a17ca9e7887cba321270b8a3d68b5e6a5518d6e01bf4dc0deff2fb2fbe186db3404d32031e394d000e85db6fd627e07c39cb39e362c3f51fb68bd3c0a6835e17115198ba201abdacdf89edc442c0791c21657f3d1db693bb50ff8b9c039c515ed409885983651c6cea97d18896f7d1a9e38f00ac8a7a5e78b8ceeba5f097a3e9e181dd425fe8ee12c959fb778d608e2d210088d3ec1807f4edc9988cfadcf28bfbb48846a907bec92359f01026a37c6c09c7b683ab6553eca391957a94f1d4d8181db5f003378f09f25122b86eaafacd7fbffe60cb199f6c32ecfc8d73a64282e15d2480060b81ebeaa06dcf322b36dee422cd47a4b77e30f7ec83433546c3d29b308d7d0134a7a8ce323380b3d0aff611c30ee3c8a38e8879e34c48e858103cb74645c773821fef0ad962d58efe784c897d6a29ccad328de37f691612dbbf847e8d888b24c7c7ceb46cf3535ac7f76291540965e6561b97b15db3bfc41264912842e8d2e4eb42f963845b06079db83d2156c7a1118c51087d79f421cfe49b434886b71b566b10aaa231581f11ff6c87a248b3cdee41ea527b7500a5800e01b446ef6d56b39b35b0472cbcd0a6ad37aa5288a6b6c02f27721c697acf3f75d64ba430cdc77f89e803c39e1839d8b6b87b5d78eb98382860142339374d7b3d18c35590c21078f3f55060d4aaba682d36f18f0636d98986413aeff00be7bceee4a8289f2747177a895c557d24b3bac8bd1ced32d114d7ef18700ebc42b0dcbcd1f25fbc2174cbc2b984eba1c098dc13d0b4039947abc613f46552426223bfdbf986324eb232bf7559567169d2431410041ac1c9e9a85374151ce267754f7f081d70ebda00ed950fb91f28f6d14a8507a2632c7761688e2d1cb80a24f8d05b9fcb366bb7847910ecbedd005658e77fb46dc657922b5682b9f839fbf7a20bd7ef8f9b1aef3c3cd376d49931ff8fa3f52450bffa072cf2f416ec0c35af4ef5eda89d93f6132be3924a51a87e49de00cc58184946090f3a88acf0ec4ba79391438ced429f5192c5162e50bd6571315ecd37e3bbed507fe35ef618e58c16483362fb95e75d3548ba0915501e5c3ff16c07f3a27093478c0d5bc5d8b2e6b7c26250959fdded2ba2e3400ab83ae9a27115329eb15cb4fdf433d6a6faa67a13d452818c185f749d0613f7436370798168581515368034bdd1e4fea619fc0004e1f396285f8d7231d61b936902b0030032c1df43d68c0a2c31fd6fdf7927bd4c1da05a92fda2fa2f8f4d3e9a14b15abf9bb986929dfd79a29cb3fdb7d964f7a535dbc9f0a3aa0f30022f03460053cb765abd184688a56dbabf8fe3d97b404898786855302143716acc442fe6b7428260d768f5ebc543f0b6ac773f973916494056dc201c72a6e666614c3aefe72f2087a1ecab67e85946a761b3b977bb3b094babe5adf85076bfbb08bd3ca6920706d5e373c3e60a5b989ddd045051f48a5661b60647a6d9e2d15178ba8bcd3c2c9a645c4b68d4703bd7a6bf8e8694a83d2f9132612157b8ed55d994e30fd1dd7b75ead34bdddde2a578d7112afabc9b08af424edcf6979f927cdd603957f0f026da9d9e02825008dd7cd1d346a72cde5e4012000fffbc7429f5ef976575160efba8d5e6ae84e20645e88371765e3735d16bc98fc47dc6c97a535075cd308724b33699d7cbcfa235f993c19937c4162bc396afc01a667c16e13a96328a34ed2235d30a01cf514a9f0b36bc50e97dcb4c564f6369f3163eb3686fa6f68f62fcd9b71203a016271584d6c3dea236d5ff6220d3d253778ba50aa740121ce3eef19e65863b625248960cf48f4d2b8bfef5c6c25c1a8929fc43100ac7e8c21d6e00ae54e08753e66004e8cdd98d05ddb0935f2ea95bf47cd55bf498c13963de3bd695a2ac372317483f3dabb1a305af92cffd0a769e9529d0f1ae1267c82091f8f1bbb52c9a9ce767fa918a1ab6c8e12f3a43cb1f7058c28af5a184d1c9c5f14cb3104f7692a979d78cabf4c7bd95e6b66a1f21839cc4af36de90859e8d7c955a281da5a23d2f5519849f3a6b368f377ad9fd432bf48ed4587c69a00d0e325ba5c459eb2eabd6e038cf4c94ddd22ad8eff8d90cc3129589841c51491fabffdd4e3da56894a162818b42b3b0168316237786c9f9f5be73e55dbf5f351ec4683c9a8a6e15013022bd46f7a35d7d149abce0f7f173a7330846cf230806dcb71c45c60403054fc1c758d951225f3b0dbc33384c896072f5678d2290084a833875643fc16507fe343a2b5d426890aa570bd57475bddfc83b7d1b03b418fde3709017b2c804a65ceb6e26aa583cff0780644a6c14c19877756bf30b6e0b3569197db7c98486ff7ddc5172f179d821fccb0a04bfdc8cf07ff8df06c5ccc93d40251f04c166d3d3f0ece4f7012e91b704036ceedac0918bf38878daa7d6a85312946e814973bba3d843c951331145dd681150cd9da2edbefa9ad3760d22e99872f5ac222c18ecd0f53bf737edb54178b9087d6e80ff3b15afe4148876bf3ebf1d3186e9e761d7d89868d2d6b671fc9cd372676e0514ac126a8f42d8d166c36bed259abe1a7ca4c5f2731f0b61237c43c052dbe6ee2bd26496088c18e9bf22a88e3eaec9dde98fd3739d2720191cc8951349f1e7ff6913af871ca5581653238f614d52ed94b449b92559e579f0cd643237705924435209878f971399208747451cf580eaabf28d0719ae6ac89954163729dd4215aed06b1bbe18a8f678962084184ea370a97e7618385c558ae711ba72773a434c3bbf6c36ff2a5eef3985904e99493603bdfef8f70fe89e0a113a6ba2bad71a29b0e2779435363305cc5cd02abd409c1a821158fe580e9181082f44981a5eeaac5900f8a9e8bfeb6980a0dc1542c72ebe5696ae2ea5b66cdc8386625234899388064c9ffeec06593f9931beae5cf3ce8a9de447e3bfef5cfe0227e2672fd34ecec9e85faaba0b37931ef2d011dbc01cdc64e6c9ca1133f585568f2043e98a298c11dec42b849f6c0060a5f34755a3d9f65861bf2756a2a18b805764d38f38709d8a35565e3b797703440b43137f6923b7f5dac9e15d10cebe02c65f9e483640f7945ecb604be61043cccfb62cb19e6c14408717fb173c01e14900bc0554a9f8808631495cca876f10e3eee356d1f54d353343e38c05dc81a0738aab1aa95ac0bdc9af96b9488bad6b4d3974d3a97823ff546f6f7d07f54705e86d38dbb41f6f13ecf84bb9c7594a81cd8ebdd2df6be92b34688c440d54d784ae6482d79cabb6bbd77013efd541568590dc87607259c7c13c463c8c89d5525b5b60f3236e3ea726d3c59ebe855574b02bc89b895ee3c5e14b1f72b2840372a609759ee2725179ec17115ab45d3356dfd352ac3e7a23f55d1c50c1bc420d7a49430c915dc075656d6f06a31e279d1c802ab0941f7b1f789adf7669ea43f82289f7ea7b928f8efed99bdedf455bb8ee58676aa98f8713a9215f282e0fde829a18290f85d4a04ec17e36cfd7a983fe8575ad005eed42d7fdac4b3369c33f64608b6321077b563ac0c897476bc5f6a7d0ffbd3413834c0589fa52563dbf84d52aeb2415698739c024599f7dab545769c14ce1ef94c3aad7c043b26005a277a236195d9c6284595093517866b7c4343f67122019faa292c5a326d829da6b0399155f99f02e9c81d131fbcd2ed10b5a4ea33020c03ebc93a56767197448851ec0148bd7007687e969305feec60d496161d3ac66fcb7d11256858145a94305ea45128d16aa3459da6d184ed203754bc10bdef7208c3582abee6e5dd6e3ad6c944dca433502bf4acd0403b949d433a164a3793246d4ab2d62a5d965677be0cf2a4d66bd0e1b7d37673cfcfd7ad8b1dd00b03692db4abb0639fd2f16b769e8d5dadbd57eb4e6ba28bae68ae2ffddfa82f4642103f81ca267a228d53c9dab83c2584bcb88ce2cbf0e7d7bc7add2ea2b10f0776d8ead76f445c8639508084df7ee9ab2ae4e356dd98cb82a69efad7d65cde7c2124852bdc9145735d615e50195d95cdb0bac53ee24b856e7d66d82fe5aead318a1819832f41133f3c306a65ada860d865e114d695d1fa26efec77f1f60d3ce5ac3716935ed43aaed70ef9679822dac62ea3de742ec86e37560b02bd8e87c9bd1dc3eabeef54bb97fbfa79e5380e0d6659a241a170314c5332d22750d855b8c8556e34362a044432c8ca8e6ff3935ee5b9e8b1b5b3757fe0faee2162572f2c5a1556d938df54b50b2dd01043a37e391428ee457d4ea5ceeee9c149629c427a08152331491f6da4277062af985bd5280f9cc41de864682c5c376de067eb870d89562e98642f7cb1cbbed4292b1d64f8c6cd70d6b08f324a82214d7eef5b3e0b3a173aef24d0a5b352f77cf372755ea3fce1493a17e6961d8c39ca86347b206138bcfaf2b52b979a38e37204d13b125eae24ad58337382ed5fba7c2c355b629a4f056d136f870a127a54028ace67e5b25caf5746d15d0b53e5fbeca9e57abfb402c36a9fa93bf7632e8a71cdfda51284635d7ae16d3d67b98c6c59f7886f6eaf1fa032892d5a08a1d5b892c6ba8318052caf89cdbb3ade8536fb68ea10af6c97170b6bb245bef002bf1ef53cbcbefd048fb334ada7936e35d76c3c316a6e58f751f4cabb6c6ea65fedda119d1495bc269cd47ed04deda53e1cb0e0924bcd629826c9bf7efc81c5bfa5ae25eccb2858934d7217d0ece6b0fc2079f0c502f8431b6f37c83f774d983bdc97c861b59ad8fe9fe2653c95bde6b096c54161c79d66055a2247b3e4926fb8f46d7c4b2feffc7d7675f7c5372f3077855d8d717183778689f38602c5557c9b9686dd3618ed26e8ca3c416255ead24acd733d86c2d765c91f7b2abfe233177a80ae4a986ff2192da8474e566dabc3cdf3c6fa18f84bc6052754dd4b6e286b4e47a0aff7b76099ecb5a2cd852b9aa2c90a00baa13ed3299f78e5de843a68a8194792ba03136b6533313efb2001ed6f2c5e0c35187b6517550327b3e62804a23c252790141a2022c8aafe2281ef5d1260ecfba33ee60481620625b7c79ec90232f363eb8f6fc1e03b7da9051d674e934af9e6f73a5e95bba86abda9c82051976eade0ecfd4a68738f3c5ac4fa2272470a31c9a030541634e8acf6722a92d7719bcd7445fe7b20c7bb200f934d14b7422d6f6150d6f09fbb53fd2c72285274053d196e669615ce46f9a2fc144919134910944b533689f42a1c80ef3f5e671834a5c6567f28cbf53e2e916189303b508da07c81351ab8f1c022f9e4c11971879b194be69082b8953e28a20a8f6dbc973baaa04c81125e9870c8582510a93f27e79d0d978e3a826958f0d92b3afb004b4dd15356bf7c909019bba25a3e399abc2b93337dc5bdf174f39255a6ac441fe48d2bf48724cfcc284b7e364fc50d36e38c3abf93897e0e90c4b646c79d1235df9b275c0a234cdb8d15fd5d5e733021388ee1595611f0f7bfc910c1ce8186c468ffb2bc7de142099a8c5405cab244057816ec77c14d7c05ad402eb7bf898b56ae26da4896bf7394392965884d28da6a508e9578d8aafc8983c8c4d1b6d0db7f8c0396a821b888234d1770752d1dc0cb634d26f061466de1707fda70f9218b5fa22e0da16fba72b2b2eb5d31b0516d99cccc1e3e469c6032c7e7b65acdbacac5dd7c95c02445fc2530ef3a78f56e5bab4c30d5780549dd5592c791cbc5a9dda091c8ff7741776bca80130e8b2398adb7f37c53390d51961cd19309ca84c7abeeeb79c227a9223bef1a352d3b73440fc3543879e05089cba2176bc2320bbbddbe18305808c71bf98c64f4beb66a5128410991c9d41c679488a0637d537127cb019fd88aee7034dd9fce65a0389367282f380843ed7733b9b0cbb12c92d5e40fa9bf7d20768af3c4c65ec93a8b6cc36c4cb9fb83b25177b53fb1a714f5688092e5329c210f694163cbd559623a4dd044783a446dc9fb98ffd7f984e916ac83163288236ca5adc400c116cb009e5317eac2233cb0727df6c1cc5efac5aef8ab4ece29cec6e18b9a091aa57049e937158a4e5d873ec65e8fb4c4352f57531dbb6348fa893d9656fb5abb9333d86c182d85c7b8d9a76fc1fee6c74d6edc6532f49bb5ac80633cfb7ca39b5bb39986936f029e48c403145f9039fcb497f01f07fb17eacf4eb5121e94aea9b1deef38f408f1bf06b7ed5b9a6d9780d49db3f971d6d8a0f268042aad226a1e0c010ef9e3bf6238daff7a83522009219812918097e37de7f93b7afb100e8b18212c9757997cfdea1fb312ab5ad26354b2d2fd6483d120aa5bda5b8c4139b3a160aaa50e69dd4c8e929f188b18f59aaacc378526ecc0b92e7b313adecb5f3b7a0beaf1fc1c83d05f100d53829d04beda4c2c51938ea128e26d13ab4f4c8debddca9563b8d9e5c223b0cd7a7d3fc4964fe1db6669ada742e9bc362683c1ad8d823993eac7fe3964b7a127f08c6f78aa7284b3745019353cd93cb719e7b82cec1df02fa222865315097a1087d52373590375a135833e7db24b56394547419628170aceec15e97095e5b037eac9f8edc699f6f0b433a23fa07f289f70532183eb61a4ad271cc94abc8825b3a542c4005e52c1f9fb55c998eeb61bbbc2c1ea6feb6b349c716d8b34c990efe138664c0793e4bea858a23d065ca8d81abffd9adc9e6156298028cb198cb8d8f9190c6a0296cd77b67d0461d5fc1e8759beadbe3fe563d464dc225a8b6f76ec5a6763813f1f3ff364bbe77a1642fd3b38899190c34ea2e0d662645599690597ab818ec4f86da42d00c9932ae8de13575d749067c4735b3ca8a79d7d8bf2d73ea291950a5a67cd4869925a73907e3710837941e13aff86f6e8781aa6aee536abb1602c6dee4f2cb6ecb9cd798002cab61536e98e90b1c2efaf9cfba47d717bf0eef165d2b0de2287b61f4b98e3ba5bd901173dce5034385a49ed589fc8046ed90b592bd908b007d07ccb6e1f39175feeb55c84760bf221593b2ccbe66e1f022fc5fe5f6c902406b49458245e2f7772b6e4d4801a66107961bf81f33ebbdf42d826c9907327ab7d5869e27f33433815a1022e7078bd295944510dd9841379efa0869328adeba39e54ef1ccc2a5fff0800e7f457b592083fbc59a15985b248ce862fd881330057fd0c363381e32015d4793a51819d317f6620920f8398d03bafd7ef153b8d1ffa4e60ad04eb248cf7768c29b39a5b941144c1fbd581bfde926686d69060a53cfcebc7899b169902648956a6f82ff0c4993dfdff14d0d5a64414b0f48afa69bc904defeda83435e540ec745caff0f2ed17ebd9c72e8fc0538165d28b31a7d79eb79990e1605e9520364d60b3a6bc9f18af786397ddddf2a87aa3183d3bdf31e9b77c8d4df16cd41b57960913bb8ad474dc728e697b4b3e8bfabad4e6485b807e2d91b7651da119c1db8f9707a7a9062487cfe19313eec7b4661a16634d534869b69754a9912cc5d666a7cc86134dab866f6e46708dc651adcb05a57aaf5267e8bba5cd715a7bf3859a422e906341e917bcc7db7076a8974977e7ccfebf1b32d36d881a3cec207abe144a2da50681cf244403540da4d1930bbd244fbf3f79e2133dfaedd0f2c360dce55351ba08a5c3c7a19860043a911d5828556a90ceceb032a267b3c2d6e1c687cf0902c36da005e1384b91fc0f23cabb8558282255f602cf73dfaa4ad8149f7c31969f9fae97871da1b56a39c9d5e0310a2c68a58ac6a7258e1c52b0234dda90b88b468a7c3489b53bccbccc0ec1773aae27e119805916ffa609be3dd6b6d01f2e7d415bf786310f948f945162d997e8cc4902b6677924ff171e315963e1c0ee17e4875862708ee561452d3f9d30ba684937301058660c56638ee13c56c59f88d467947ddb76e88aaa019b68332104f3d063c133b1692a9d978d7e885871757bcbe2d50627c026026097f5a1a72f87a6dc232513a5c642307c0a9e006351aca0de3686aad653d7202d8ad98a7136cfe48a6f4b45cd6a0b6449a20b4dcb1467b6455f2246166860ec9905e3a783468d75b23f1f0abfadf18cc75225c16749b44a234de08b93f8af13df65907be4cc645fd26727607e8d36eaa9cbff8f36ff9a43a8abc18548e088b8a99d705ba965a8795727a9cbcb05d2237170fa70b2f23ca91cf9b35f7cde58496a6ec424db903a35289acfdb56c72b65572b933add07e5da78a84f310e7482f06bf41f0b27224dd1eb2712aea9bc3f5ac7fbe6cb2472bf79983253458797c42696b2e682d41656045833192b25498c7840454eaad8f8358f486edf4d6644cfe38b167feefd846514e7285f1bed11348b8fbfbbdbfbbe7e19239d3420c594234f0b71b027ab76f97f6c2f135815110168dfc6fd7dfb21a55a0ee25c29351925ae68790113fc0d38ff8ec6d87f77727db71baef6d416de6de18e158fcac7de57a1ce22f68d5f9ea92042eb4b605cd2a740df27632e9ccebb24eda4de490b813520481167af97115d20c1edaecf031ea1b5b697a1ab7856b17283a6bc23cd95bd2c52cc3d5a1f8f93fa1c8613542291bd57748150bd00b9c0f13fa3d7772daef8782298c56159bafd18fe8cb2c1ecc385d76cbedc896fa7ccf7373cbea200d9cdc3a3526ee7861a34882809ae09eda6cbbcea83891d0df55bfc29fe50652e377c556d13ca3117c14e9545bc34de6abc02e31807941a4d5a1257a0b8bd8f67fe381d483b09dccff6bf72f8e1080fc0f0fdf3eb2bebeaf7ee587280b2a3dfca1e423f84ff26fc88e338370ece636899867e5165353770aa8310751013f711bfc08458faa14151933bebf7ad0157b37c150f623e134b436b4dfb871879b85bd68fe659ebb1582eb4c1002c3c1686030b38b13d28e8b4c6296eea30ad90ec45b9d964d7f3aeefcbae33664c9dfa1db72bc765bade77a0337ae7fce71e95f979d1117c1883c2757e37436e8c0627ec91e85619e3d0a6871e9d49eb8ea71a65ab248de1d0084c5b570cbb3f85421cbfa0effec487b6a2f3ea9ca0debc5b52c07656eeb309bbda5f51da30fa18fc5c8224b1bed5ba7efe7e46df9917bc13b62798028e2701758498f63c25ac9f1a146e61fd4a72131ed95aada00365427be9b0731ef9e6241f32acac344ba9221010f5b8b08963f77ee909c65effee4eb10745fc9321c6941311811e8a7fa798ba73e67e4a7e3092f278226225a52f1036c84bad415ac8bbefe0f7470787806312ac29b6cc348d530f5e5c05a99f47b1ef881df793b234675f795a7dda32d7896109cac5a56c8aecbc3415b1b42ad1b59cb69d05642c85bda9d58b4cb87b44b95a7cec356edbb1b475be84b0273c7687bc27487f580835be76c59da3acfe065eaecf2f7cfe91862028278eb4392c86c95c8c9cdaa76388c1fc37b40588224984ad7957a99343a3ce610d34e0a7eef0a8596a495d4417fb0c10e76bbcecc902febc914f5aefb2f6652d162b9aca241c80006ff979873bc231a6d8e338746992a4d4f48d5b997e5e559af73acb4d9ea99de97044605f3e6e7ef2b77272120e40722f8ed69fe862ba6281a2038f18d6c1659fa055395604e94e0fc6d4f82e333877ba42491da692c5f9bf0b48325decea859a1670639dcba09754342055e1637435fb8cc8d40699611709317e85edff97748b1e4689f0098e47f8867be57e8cf0bb1a0bbaf1278d8aee1e64ab080045386ce0c8af1e06b7a633c8f798890a671c81dea4e3fbf8f25c7c46850cb4900281760d7cf378b14acfd5e3b547eb249c425324f4bd7895126dd95fa6b2c0c08994526ea686fae24d95898e834a095836dcccf9d4754ce80a1063ad4523de77f2c12413a943d29533e7b2ee033252c55d4127a235e8e2ed280cf274a469b14ac9bde09518b115880c625ab6760bc48674caf49fc91f10859a3c348a4e2c924cc4d7c9256b42f1400b8be35c51fb2892dd8e5d08da111623eb8bca54417df6f6b72cdd6f15ee3a55efb723a8159336eb1e9352d238c3cbd082a66c995c9289c45d41b222081dbaf8d8ee301cdf333f72b80e8d4b852c003e62fb0d2b0d6ca9bae4d172968c76adf2ad2bce0b7b3b9669a9c3c47a9ec77d6e36af3503280ab6cdd69ed153a079f37cbe417963c4306381f2618b1c8fb72e80589ea428fac8e82115018e89715e7cf1d5fe492f1912ccc9c36087c491004a0e1ec3275a3ed56653128dd49d4b09cc25e401bd8080b6b7e9fbce3c25e7aca9e3fb6d5debb01f8c33fd789ef451fe620fe6cee6aec9f0c5e6f537553fe7c235d8046f32be949f70060b2bff882ec7dcc0af2100e8900987b94412128d8bd0979febb35d0d0f4ac544e796b4c9c6c574fd0edbcc6e91ff26c29d5d7561f5a4ee9ad32ca8809320ece8b974f72e82cc144a4d5488a0af82c9448d98b25fb7cbdd7011a4ccf4ff62ffb586a68105fa6cd576599fcdfed0c5684fba8884edd6911783b285dad7f983b2d7eb7032b2f98bc1fd4b16aa54cf83bafdb0e595bcceeacacc43ed5bc85b529ddaca9bed29f217997e1af43349fa42b448f16128b11292d5ae392831e2bd75684c68a09e9a5b8edb5de32b03d2ca7bf5b710c705883b0cf28ca2152f6c949d736b2fef34da7e6d1d108798309dda8c52f3682e04968ae0923518e80145f980a4fceb877bf64a943a53f7802693e3b824dadf9d0215010b45fdae42a3c409d8e4a30dfc3eefc4125d5043420d79390651a0d55efb63895a1c473c88687ec87afd344fa213f335edc69e5f511afc051070cf91310edf6b15b1a124bc7e9da3724c875260185ee99fbc81db5d7c017821d1807e40dd43b3d70861e398618a4df51c180d6538c0329bb50d4aaae0954163bab03f8f475251264867a5b781a21c95f8303005c10a72955b78d0a0502ee88f40d558bf8daa0243eca0d51034e4e5d4f65f7fd4cb97ffabf57fb011e125c4122559dc2a9c5f0eccd4c0727a0a49e430f5688a27e38f684a55e93cf724a092931a3ee6dea2f372cf56dc59ecfca05e340f727644eb84d10444b424c4d0c4c1ab2667cddf6c49be64a9a575f041d592d0d6325ae436266c91254153b6bfc0356d5f4db408e5e75781e5d5d5c7366c0aa5e192b2b52e269d529265d9b93bcf52d8c35a120cfc06509fd150938f3148c4d4cd6a57b2175be26ea47f598c4efbed2fe222c99e08e2ae86e4a836b3b6c4c8c6aae69a76835272934997f63a103f5fc7f4ff8d4d64a08f90438f0aa408d0b24973c96dacac9485b84fc082cbf3e9e8bf939c405e495bd678be094dff7298bcf18585c2749e7ffe7a29224196f7d564e108fb22424fc8ebdc0403430dd26c74d9d5f94e14869eca5e8031915a4cc92be21746ad20e8dbe305c897a92f4f4c6f058c10fe3c0e2ca2d509854a5d13dd90b470141214e7ec9ab03e9d1bed5e25c8b8bfdc9b20d922d9de13bd253cb1319331258ce175fa24cdd3d625b2e8b1a4604c757b6cf7154013812a97c661ab868be098c41b207dbb9184c0d3f1d72482199592925cf2295aa9e320a9bc85a590460cac41b14e30f4c27a9be1c2f75de00ded10b1b78e959857a5af2d844ea080fed2d3e8338758437f8c74f4fac5a05841e17c1f21721752c5680aa5ae7990075646431669b7186a2c8e5680eec79af2181a74238fc0a0358bd4fc7ba72ffd1d8ed2b111fb6799693e4a4c9f79a7702ba93bec363f55d2f23b8fbed1d7a272ce77c3be851fffb93cf6163424c93f630fea10ddfb1f4be7c05d57c36de113dbb67562dbb66ddb8dd1b8b16debc4b66ddb369b3469d2f6beed77ffc11e7bacbdf65c9a8f50352fbe95fbe4497d7d886edc8653d7d91cc1cc9a4d44418c5ce1dfd54b3ad9018cbdae14cdea2ef2c2c4a06852d68d86df69ee37395ad2b3f99f43f3ceebc5aa28c020fa46d4a53f0ae2d5b8220c7024421f90bd26fe8289ad7e8bc3b3b59170d9cbb039f469adde4aac2b14c791e5b0be995f315955641f082f4db9f8550a6f18937a5a79db086611ce410f1f6fb3e0fccb4a554a881de231c183aa64207f5e6480ad9dcf552c786f552a4bb45dfd00cabaa1357bf2d20f527365a697ef0a535c39ee72ae82f63d7f2387151b1d363214adf74ede583f95a9cc506c13680186bf8c0f0b00800994d3bcc38efdfced641ff8ab2f55d9712005e4119ed681e4074723f93cd4c90c03cd820f87ac9e2f95c076d55da15dd92b652d26821a340c114301cf68389251dfa1558c8f496f77a165381f4fa38e060dc81599c77a25fb8a4a0b733e9ed13c4e52f5492e5fd1ced02aa870cca7012c6700c196f45d59d2575ee616fde2c198d72a73b0392167caf83db01a017ec633c968bac06a16fa4a855c71f5cabcbd53f3502de96df79489de0e35aa1497c510bdd774fbeb529e8dd9761449e4efc88bcec50d13515c8cb441310127e37cacbc9e5b0114a2593da9376503c9fa7558c4d9eb9986f1b72e67fdd4a5e8727e7cdec40bbb7805cfe898cbbecb790fdb1c6bf235ff44521e245c26ec6f320ff6f3dca018f014f614ca4157b226bb74ff110115348928061b87644d469b207622cba3085989e00b30189fd5337a6bbab99af2b17b7acddf5f2bef83c0bb57dfbafde52ea57e06f345cb7024f644cf0568dfb89a45608edeb1acb472785ad68740da02fe551b888f08a83a1ff2b58ad6486b87e4456a84669a8686e94bc9c2fc410a7639f9de280f3f07f3bf36e15d057a1ba1f0c9f7a9e37c16fd24fbea0e130d03419c0268d00e747b53dd1836c72f240063c19cf560777e40b0b2b90e1a631a637af1ac6856b482c0e0e5dcbff9559bba55c084e3d2e9e225c52f2123b580a91d4ed0dcb7477fb518c65188373d592e7ca73fba44813f8155fe3e37382a0c13fc896b07b59a2cb674285dcd28dc01f39f16a3432cc6401b1a246d0827a50155552fabb302eb8004716258502d5f9e900f193b84322baa7e48833d2df3f573b8aabb8055a26c6bf537d8df41d428b9f2ee64191fd60b1523ff5cf31d2f029be1a3b44a39244a5164986598ac0a45c2bcfea3ab618008d0e4feee9beb5f6c4cf87c6bc4407f25319008c1e1d16219f2b8ab34a9a7e1de0a3bb0da8b60c8eb2c4d806ba3343da3a2e576f8bee331bfc83c4f530fdc95cc11a9e07bf3fe1bebf06384709121987dbbda444e4c969a96bb86e0121af00d5ebeca2f0576822d9948e5e9dc4f7ac5162f33017a0555449b4a9b29d99dbb7fda77a30ef535674cd25ab96110d7158f081d8ad3b4c4fbab03cd45369d8bd0b8aeb6d52159465aa64b4a3fbc9f3f8c0fcdc9fb747d7ce3542aecb1d9f269326946ad1d9eb2a75e6c5af58aa5632b5acd8451581e1e1e3e181a0f6c2449d1f4dc28a57e515ad1d9a0973e3ae7f319763080a7d5316964e354fe2554d35e34a2c3270e6172afb7125d9571f7ae4e553153c68c52cb3096343cc0601456dcb669e51f177ea913168ebed8cce07a43419afc03c009b917b76ccf5c230e7a46a82f2ecdb87a371eaf379210a5ddf289de6a3ca567674adb6ecf97b66dee7d3e933eb9721f94cb285e70f71fd9d918997303190bba9c3262b85faf09c39e732ed8103dd9021214492f2b1b74b2cf7621726726f13b056b70a7630e5fa8796346b03985869313f4e6ce354124e82d7c95e00b9d29bce9136eb708c1920014697d33056c2ec7d16ae7eb8b76897230f0d55d794d99b920c0bf2d75073131c489a11296301934a076bd5d99213db76ee59d26a35bb546aa88b8f11961c4daed3091e5b9e59126197275d710e4ef610feac4a7380a8bc9fb40ace60d38f381a370c5d557fdfaae32d28b827d0d7178d2bcc0e7af15f66a0632b5d4d2cb29bc695dc9b94a35332aaa87e283c2898eeee7e066eea63556bcdfe3eea4a934cc6c82afa18da67b50272d914541cb7a9badf00b7c6a2c00718290663ca3bbdf685efc6a676ad46e9f45b80318798eca134306628007c0d27bdf6d0e4735d63e6cfbf2c324fd56ba2dd4c0df8369daab33d942c8b47923819be8b34e856a2c54d2a391fb16ef9ab15a4e80a80ca666227ba91e85b5bb83b51af7bc5057dce9286fe62826664797a2e2159244538950d64f2108455caa9fec476a9e0359cd131cedf7311e473bd3e958b113a54ca7023f899d78160dbd9b880a8880129ff0a064991ac3ead21513866b8f51ec6a7ac6ec6cafe1aef5c7f6b62938dbe03836dfe501b1c54387101ad88df07a22fac78effb95b51a0418f6051ed496927f0cefb83e21d55e4527b8113fa12ba54162fc486532efacece6b749dccaab78481453aa2ec8710c27b0d2db4a8a1d2158df60ade3ee056180cc8afa4db757ee719525759acb19c8fc9d1f378252acbde96ed78700a70133332580b5d847b864cacf032dc44df24545ceec79544c83d16c5b662d9734463a20037d851361ad66be42c3eef7fb04fb88a8384fb4a990d4a8172da3d417af8385fc234305b664991ff7a0233e81030424a603069af9ed479effb683588c1c2afdcb007187f0dfd24e11c9d8d7f263ac7bdfa36aa2fc8b732cad7a6ca91882a656281ff59b99a1a5d3c727e18c6794811c4038b4ba0c03174ec968a44ee9535cb0f3711ed932306a1f02d52cfc401f655cd2122bfafc656db15c79f6877ef3deeca856624eae92a0a4d8b17c9e7b1093913b8deca8e5b6cb5c8c66f067930dd928c0147dd8c9d466b675aeaaa9595d08b601ae152914a550f27e7fa4f1533328449c243d2931bb956a7f5546748e0009d86d4861c4e67e64ddb5cfe98c748b6074e1de6505072a909a3e92ec32cefa6cea712ebb2e869c9eb3da756d0e4d116087569d52206f54726287e03c4d1330e60a85c27dcee2c5d970a83d8f4b610203938939ed68797c0528e5d6ec108d056499051e1da0a97c70b946a5b50a3d62a7fe504357b2858d68ca1c9837932f478af91cad900575475e1f37840ed5cf4727f52eb148199364c8ecfa7f4a8c8600c1a7432a14078e8212c66edd6778db1778e990eb5a7ab17091d419ff4f53ba1630fa6de3c5f6ebd63bd879e0a0202be9582b7fe771b5da2d1c0d6e7daf6d422cbb4727e9989ce8364c72b74320e88d6f8c537eb9a6c398e7465ceb464b925bb2f67d1bc974d8ab765708da2cd0b7b8b9ecb659a3227a7ce8f970e739e3d13531753de9122fad0683fc085fbf70c43aac2544a86dd26643a2670554b5919dde5ccbadfb76a0a09c1e033b82656c42ed2ca81d1131c99d1c56ab9680adc2db9f28f4e4f76d53b8acf5c479af53d4e76a26bf56b58f4f41c68bebb0c6bdbf93aa3a7dfea3ed9b54a2cbe99efd4d10b4699ae11fb8d1b1c3d9d3fa53083a116d3fe1c502ef83c6eca1dd8c71f4cb1051ab050bb24fedca65111584706a2d73d88339fff386958aa3b00961619a620c5a95d01b52f49a450055a8263e3a480a495f4f74c5c220ad919baafcf23b30317992687de6beb3f50051439c766bffc61fbfebdbad132f7709607b1598109bde02f9298520a0f0f7238381a20cbd1aa1de89e3e516d66857eba17b996583028912f6d9222b42f7922e453689f18a1dbed6479b3493d4350a2f224b46d7666f00c937bc7f5b3fe08c5c41462a8b05e35e69bac783e117e886e5236bb5ec6a22fe4bccaa844c85ddeb8acb1a425a67c5df18f0519595232a49302bba80d5ab0aa60da3a70a0c68d9a52ac6a10d91f6159b3edfed4db37e36ac85334335890872c636932db425f0e20449bf97f3cc15409b410a01448e13e6aee638b8a5c4d4dab260a60ac37f491e01034d7abdf68bf17d7caf561e0fb365e8efff1d1cddc0b25fb287fdcb5c9807024dbc441f47a516a5ddb0654d916ecf25fe3649d67e94963bd66f3d201776f08f6cd050b4645678b68120744d359349d54615197255ac2a73e895dcedf5a7a452aa91037ab1c27af35a38977708a7c4b31d291a0e305b0a4e999f7dbcf327be6ca9b414148f413090bd906a4020efef9b1866040418f62924a50771d69b90f3b797535e895307ad0f2a3f792d376db2ca555f56c76e2683ff0ce15e262eb9d3e7b80474179aac73329ef06aff3eeb3bf1ea0c81f00a844a3f1b18b1da60f0f91c55e6abdc44397a0086471e36515f695523c2e64d16b212c9e18bfc4474bf7bd7462669ecb81ae9b3a4f523c8b41e76fd76f5f0bf2f41bd7d075cf6f336aaa2c0070c6ccdb4d6be83814500735d864c3bd45ebc3df96e19b96d2b1302fe5bff37a2cc8a9e2e40dfc6fbf59431d55e3e865d57d0d4fb3cd24920a152012688c362738facc3aff1bc6f3c27f16755d599d3fdc879d53d768549377cb7e4feea695050b0f61436d49dff94f2dff3e52f4aadb0233acfb517ac8a8b222b6db907c3834d8f9371fcf8f460e53e608c396377daa5b5c6b0e0d762a7fd6926e413f4e14a34b18fc0f836f70f8051ce06041a4f3f4136e6d8cdca58e9c7ddb4726232d1142db4c14f0cd9f7fe4a491c7756e53ac3e9d2a45bf629ffe9cd7f9dfe17ce51839643298ed799cbbff76565ab49a486a880a1689d3a4dd9ed12f2de781f7fa8507b9e8940574ef759e9bb4ef68806848295d76f39f45b519875d212b27a0481114d0c7244f87af3c0919d782954b473dc222474fae31c265336c6fb048d60904ddc58ca9d615fb2a049fb51af9c9520fe3b2e3721afaaeb4559ed1b0ffeaa5be9ea6c1d7a071398e91fa3a684cd6a8f7817bfbacec65b5879f27dad2396a951ee0b3e7c039e8a61ef9a5a4eeca2ed328cfecee9f5e0fff7be3fcd89021989ce384ea5ec7f3a0398b1a74399ce4e4325e78c171e8e73bd5ef9c8ecd99fd012e9e15d41615f3d07b0cb147a41981fa4f994d63a35557d406b8f22261a2b1df56286a265a03a3f3b7d9905eb1c2d2af41dc2feba69e811b4f5bb71e2c6d45ee7432c7729b9ea9cd53102dc93d76d24dcc55ed52967615d6dda9eacbb8493e9673b50d557dd3eaf0540da9252ba55e099cfaeab6f4413d3ad6b19fe2be1c81d8a93e3f5a8f5f3ea3afc318e3fffc117c566275c77aa7dd7edaffb8a83e7001c3d7a09b302540871c444f0230b5565f6365cd33ac1aa951898800946ea7bc7b4d86bf6e17684dfde8028693b00eefd468b66c0c26f7710960de99f12ee9f058d5bb8dd80f16611f51f9a97a7868c2a9c8a19fb8a4d3d6e5ebf49b7336ebb10713255706a9c453d8082825b981d30515a231b6d75e60588abf40c5e611496dd6c81891b66ce7465fa4d786459362f5723034b27193f6587ba0cdf3a7b2a27bf534c9cee11ec9b0c61ade482413603b6c77c38041a73b653dcb3674bb6d4c8203534dede6743c3cf4ee81c84dadb3727dfeab8e1ed4766aa50d65407e5629e61156c89f92de023c925f2cec02ce548cdbc754618304d335893ebb7f69c78a8d8f212f8f687e4d775e6c1f8a693fbabade78341f44574c3caaf6f8be8bb3d365bf5899b35b94743d000bca665424e90c90a7d6e596b213ee7b5593a298a8987eeb0321c79af04a7f8e43bb7cd15509aaaa0c9efba216f6165fc9da826c38990bf14d640e11a58fc3843f9c10c69390dcc3f1200ff154b4ee40f0e29a66000cfffbbf280a29c2e2f42a9ddb34d8a132a162b95081269a5fddf874f838c1b191bada2fd97b715c7c4e66b5064dc690b5363fc1fd9e79914106a4f3d5ae3dd446fbe26d75455e043b6119f46c32da040bd6787e69eaac7d9ad7c53f3b5d4d65cc0356273069cd0d59013c34355bf5b117b5a39cef761bc1d50e530c6d2bad4fee4630633f147646a082f0f8dde82544602ee9e1b70e2d1315ac16e100c263f7308bfb98ff296e520e464c2dbcb46f502ad199cfa059103d5513b0ce0cd3a6a3129e3575f3754ae42cb19afc4b1b5afd4b1f49d4a1a5f2de5818e9986e6c75834d526998d9ab158bb684185f6e2ce6f59583ccf7a7aecb235fa6b0206e83b5cfa599112a6e1137335bb3f11a1319304c628b52840a3c0ea7f32a6bd75884bb5c40b95ddbb8d0c78bdb79fc5cbdb370bfd33b6d84cc97ef96aeec6a0048511ffb0e06feb89848d448fb04af4b1e3917301c62ae740713c27fe810364a3231a0ef71959d7b9a5bd94a31100f5fac14064bdc307936cb7346dbee220767fccb606167bc5a0a3c000f84d529472650cd8a8a41947a823a31935ffda6d995e69d3832b0fa5cb54d31411b0e77907710271d56f5523bf4e402c6c1b20c05792b02bf061e9fa876c1f99f7029a21dc343d09b2b3a974a414a9c77889d6158f951e38f177023a55181e6e3fd08ba9d235a024056684c588876b0a261c9b043e7568d7975a06b62d5ed6ee99bfc8f3053198189bbf6febad2353967905c0a5e1829d60258bdefb28bc5a9c82158dc1cfe6e57f4d17c58497ee4519f1a113be1a652d6eb99e72ad1a83a80da34527b13eda173d3bd3fad82a6ee577bf24133ed1cf77a2ccd81d21354bce3d0a8f2558f5c3c84e27b907b3213970ca887768c0fe08ae04cd6db077335fefbcb6481087ed5ca421662049c08c9c8facdafd407530019bc4439a36d644a43702eec26ef1ac7116cc7d42686df643bb155cbff102da866fcf088c19880fcbeced5bb6bbfd6a129394989244c68879c8c221c987709ca054eca5f7317eb753f54a023c7af107fb0aee59baec5e49247ed471970baffdcc07d4ae00882a777824bd2da28fb929a273fb7b1568d2ee6ce00218f98bdfd139901763e7da528efd3fa488b426d979f6d1321dd1bf28d7efbb0ae86b7566f6345d577d40505154eb02df08d9f5a79e3cf7c11bd037d0752c659b30f87d4a54b3aacac25aa484d887b16f0e4df7c73c4931039e42f2d69e5da5f61572b094ad2085da6b4129a8522807de46361ecd94eb65772b177d95e8749059d97b3a805441ece20d2044de90aa221d10ed0ad35a13d34251df8af805b4b82f209e21bdc79be7504eae486d656dcf8c9458a6bc96b6457996351ee339e9eeab38ee4f7c34ba510bbac136aadebab8f7020681fbead09342402c20cfb15f73ed44d0c6a9744c2979f1ea0aa7c685056bf432f7c7395cbaa7f99cbaed21393ddf99f17552c193f7a24bdeff53891bb6fed2050969bbc913239490bdad9af008882b39d68fce0892bcc59dbb92ae0d279de02362d4a5ec8eaff82e8a2adfe7ed072ae9084a50280e068ef2a309a2286135bc1121deb34301387b7cae1c1db4865832d431ec5c25484bc743d3d90909b36f65d9c28e889529f05ea8607305cdf12ba2f06c15aa8581910a10b8f0f7bbc1cce934c351998a48ca3bbe7da97944b6457e3287d154aa9f931ea1390634d170285edf178627ef5176aa24117cbf65f7a1b46c733dc6de9494198908b9294055741f74b68de21fa73ef40b37785c4a73c68d0901b075623c2d12a22c34d3a1ca0a5c5c553eba2bfaa8986beae96b43e009097378ada7391b11a43b4a0fe7eab61c925cf5adc3e942dd8e4f9a0b51a983f7c1896d7bb6787c7dd6406dab846b20af72b6faebb79f7e39a5e0ed735c4914005ab52765c4c5b70411a801d58d5d45418df4d595f1e7c54eb72b318d275afc5979299972e28d07faf74effad40c33e9f538e684640a230306f1806167c42f63288c2e0bd9948531a560aaac440738e7df6580ee83efd50df4aaf3b1d7da6f73df525722e9e4e24f631b9abb7974389826edccd4418923596f8dc9ee21ae9c4d07e5d588948921539e30634e4560658815db7c4b957950909c75e27985a10776e11d22a964c6e667be344890d0df6af7de5a927a43990dc898372a5bccf63d5dbd2e885727fdde44c497395982fa254635fb88dab645726e7111752afdf8f92bed38b6fd4e86990f0a63ca4ab8ea76a462429deaca0b2fd6be6d0a68753a5544c71dcafe97c2bfd3c66ac8a44149aac223299d2e586a02975baa2db720bb618973425fe257fa17f36b42fc99d68e9852aa1162f779db9b6775544c735ea7be0feba5e9f87fd0e16ebc80875c7f9d0c9c4a3f911f59a6b159845d69645a1d6af4a2fedd992fce9d2083c0415dcfae5603177a7f6f9963e824af70c9b9723ced07497e7c968e6fcb71638ac19b4847d12e19f879df9d363aec62d6def993df99478232087c89dbfe1278d163d79a861e89c524a666cf3601f83b9fa02d5d66878f1cc204669f474f022bab5b2d55a32cf5d6fd437bb5e99ef82865a276180503b1f1cdd1446eff98539057b98cd8cc7990a24bd29d9cccfdf19b5b13c030b644776ba461ad3e19afac1a4207d195222c7e896436b3215c535596d5e859776b74e3e0ffc3ba71bed91c0ada2ab3c05d6d84b4f2ccdd920a9beed56bc41d54ef7a3ef152416018f52ef3e4b28d9c91a176a126bded0138a89286973cdccb030b2b55a8e8ade67dfa67ff77ce3fd1c8068d588c49119d336a570d026a9e510133c899b482f4bbc6732fd2ef3f0385e4c912d72d5986cf3f2eb4be34297acf5b1ccba49435dfb452837608514de3e3f62c17c902e20820c8de6c113b5b9c31f3f2c50a22772ce57af11515071cdbf96adc50d93595aa6e2a2637fd77bf52fcd0c49ec11978e730e493f458f582cfab0c81dcea0be1643fdc4e7727742a0146deaf27f0e4fb678507813f0c45214c18e77d388cc6bf40acdf41a15784333014fef5cba1ab640522238660728fac54ee829881f235c955d8e077c18419d90eb9fdbf7e574853edf540fb6cda301838dba7208e9185f11d3b1e8c24ca987edff075ede160eabb183a5c3acd125efc83b5be01e0c845fa022ac1aa4292ef97275143047b14e938a2ab46cf7ab597cfe3919162cd56aa409a85afb19fd406f9012b442013fba9255708d6d0c805304d95c0b3658bc4a64851171c576dd2d93da02c8eb08470ff24a4cd20e0dd74fd0052fc2caf6651fef1aba85a3e8a522462d2e81fbe8a6e429c032a1ae879744fae75c526eb57a941be502ba72fef7d0ae025653486b6ef6564b73b16c459daff2c8e4958d46d64bc5e15739468d0fe6a606a08c28a04a0f2567ae97c8e3d207856cac9b4e3d7f774345f56fa5dd04ad50dbb72c5bbbffe9035d176e6c7ab4bf76b8a7ec287897bc58260fabdfca194edcca2561d3889018b899641573b39891834000020509afc948e7bbfcab50906d2a089ca5554478dca046961b7a2b75ef50cfcab36134d31a160a044a201ca7976cbcc844ba46b7868386a22ac137ea2f5588d47bfd689a50b2c787e58d47d3710029e554d2bc451448cd6ebbbcbae78abf8f758f56d1f4299128003220fd546e7a038c5f4dc67853df0c157656438b8396770dd1043fc2c2cd384a19e676b5865f789decd1af27cd2c1d9c7f42255d125719f06e41705d472269504daf7d17011178c177c951da10a5b3bc0353b388b068c27c40244bac2e1e35cd531e118daff11bf13930930b53e386f673b5b9dc95b800a917c555c3a42663e38b1fd33e9075fe9293e29a5df3f997a333a88f118958abc8859554e6a4a4d930c8962ec3d490a8abacb58c212a34442a8492bd2dfd3a1e82e80acd48fa328ce2af2c8b1ab0f84fdb056bbb6dcd57c69824f8a02527d5bcdbfe579f107784dae76ad72e327f7aa21dd1ab6ebceb60dd294ad08707efbf62baa0308cec76a450e48533c704b2535d660f5c8a84e054be198c81bfecd174a8104f890c3583df6da5eeae3fa4e8d2e49dda092ea58cdf4a53d38f120b8dd8459a59af75bc71f6bf4bfc6a1aa7f10d9a50425445a7cf7a1a01816e0b30a31554a283aa428fd61394d7fe690a4715ae52590b5ce0f2111276da8578756133c41898936d5eac542412e8d0bc0a0d26c7b48175f935161aca5d0d5bb682e2eb601935095d2ce3262d46564a0cab51c7c0c4758e69dce3864e006206fb1d484efdc02a0ddd65b017a373e61c91b1aa9b568fe1a4130ff24209000756414237184a1dea2a78e976b47a62b0d3539a482744e7fdf97e577cd1fa7df1bf3713db701a0122dc2aa8985e2a7a5ec77d5e9ad5c8bd71bf8df364b1efc72524b53508223b350f6b3220d5a4f40f5df8abba4686a3313e4887b63d5f5dde8c4b7fa7d8f9cafdaafc317daf60b4473730e41671162e0302c794e0f07830609b8a69a1cbb32faf34632039154fcfbc1a4e1660cf845ba925843f6fda91f252d02e37ecd3c2afd0c47840918deb96c037f2b04ba193176386409d576b7db31b96d1d09f418385569527921cdfde63f74df331563e6eb7ceb8bfb3cec5155b8d4536495697cd842972d9a41f6cb63f6bd4dc4423802272bd4b8b6ab3a7e07e305aefbfa46020adf07c867a6e245a045fa87ecfd2c7f7dcea8d8c8595ac21acd043b5371cad292aab289aaac7c38ff1001b171f3d494771a9aedfdf6ec71e820b24b20966e0b423c9f6b0c886bb07694ca99bbfe3cc4f454a59f0a946da692ef5e9c46d3bda88134c233e2693054f91f81b8c6049e4a2c0ad09e6f1fa59515255926010b200e60df75250e100f325cf5cdb03f250e3034b98176c171ad17cd9239ad0ab7a0365713379608758c8e58db32dd8228a6d2e0395d7dfd49c1d24ac585a55036366863bc4cabfa4c5412733960870531101d722aa16ea09f14388629d04885f3fdd7d407733f5b1c7989cbf629a755587e52b52ff992c80d664bb61a7848ccd51e4cfa025d2635af1607ad6053abd6245c041403b65214d23ccbbef6286776a62d5d9cc8d893ddd90c39c482660c0c183a07ed003e3b16e69044a47e9afbf13846fe4969182a6ca5b6d9e47b7e59fa4b60c2adf74fa6a88b2ca90261c0493bfb1766a8907c83766a2b5ab3e2728824a76e52dec0de2834689529a3f2ed744903ce542d8de20dc37d25569644ee9f7586980dbad3f0d072ed3de005a9b6f890a2e2892b902af17347e936e51b3e58151dc48ff4d8b5cc783ee11a41af9c4629b04da8bb94a496e060ad969c97f58398825e5f4b79cdef40fdd053b75b0a24953115b3b82ae6d2645b9318f024b531baa2f1e4df2b47ff2bde8839e81cc238e022a4456135396baf56fdcee4405dc9316932541889f109531d6bcaab4e28bbfaee1f9b48c17d81830f6c06ab795265a95cf67acd8fbdf94705d30d15a693356d4e439b96ba9cda6c4f16de460b473010bf8e9503c786fdc04e7e45cba35d0e0488f99c8d8005e3fe9457e8aa1d8d0d288b0b80673dc11076e8d4a509b84ee3f3db2eabcdebd5ed79958b509553ce520dd086ceb1994951d6ee2424407ed71e8dd4760b205a2d6f5b9490e1de13ffeac369e7f38ba008f1cc13af50dbb2ce5df0a025b6e6dbc8ab39eb071a90a5f441f3ecfff7a2a8c4e042822958461867edaceaca7fd4acdd888401f2c17866d6733ec2d7e68f3fa1a4bd567a5177bf7edb02d3aa6eaa2b173fd23c4157b392796ce6a45d3be95ab85410bba45768ce3488aa5d86e0aad1f702f70821d2d929938f24b764d7dab2d35e3c1f2f913a8c3b1c31bc1d145c2eb58e96336f1ab813e5325bbd60243286dad517b1bb3101c32e42aae1d6a49804cfc12d85825aee15c94c85ba2fe956218b220f225f59651025552e80084b2347b16b056928356dc3238377fc3dfb03c2a6c323c687a2761ac3668dfb95d5156ba0023c49790daf173febbfadad5b91e0dd668fc7090f9efa1809bad83246634b010acd07a3756faeaf689095089237b3e68a28f4a89463aa4ab478612bf79a768e5eb48c7c68ba54376cc24296aa196c0df6e08beddaf85bd3079f0dd06ce28e0cd55e6ef7827714f824449b9b2e0565821308c07061cfd424e1256e330fa515655f73a14cde24ba424203e9c75ad6954446f73b1e46f1155d7ecab5fc083af8bb4d7f95ca8a074de6de7dd87d4ce5de5de59618142c7363e2c1785436de4bb0d36814175f77df53e1d8c3366cd6385b5a33190c55bd4aad1061b1f19e84a01094b0ccef2a5eee34ad8b8e19cc35b22916811dccc97251960945207f01c1638c979d25186e945dbc2fa0849951a92d5eb6bee80f3add3d7494d836ab5481f30bf8755797d13e5a8308e744ef96d93783b54b96601b9419268d92c30dfb20f4f55378f2be0b2405f7594c6930c08c048dd43fad94ff5f5222feef5d930171e34301cdb2d869fa9421e0a45860d20cea1f7d79e30225a66fedb1c7f3822804572fb7ae77829aa623d92f28a1ed0280a52c2bb3067eec4358d43b45db3f612c0123638c110b79885a59cdec41e73f640e7e23d77f06a168bbe5c5bb8adf17a808602a5f415afa2a39f79bae4d6882075efba737163d3f7b59cc9f9c33bd10f293d1f48c2997338061b0fc19d6aa596a22c96e675a61b670ff7574f116f52b655a60ec1ba65960b7ca8ba10dc9bf62d58c0df3bff868c5f101697dba7b618b2526a994245eb77b32a67b2dd945ea04c2505cec699ae550980c0a9880d410f5275a68adf1cdb83dd31768b2d224952e1fd4c9b38781b795dcf90bed9a849e5491920b21af7cd6d2975fbfdf7e41d7f0676985d8e86e17e77c6d816949c82c7cc5ffd1f7b3125e726dacabbb37c88f46378d2656e39d0dbee385fbcb8e50ed7a38ff370781e74bc1fc61c4735604ba18b01b992bccec74735986c59d603a7d221f3b887ff09e1a8bc2b002d55923b9bd27f2523820801f5d68b1427a1a4bfbeab7e3b096c08f812177ee8c32a8046d8bc7c922994b9b311dba3e43376931f10e87680df026080c5508811a6fb2647d0c14154e7d20ae213d4038f4d5b8f4cdafd2efe4ed79673726242c92969c00daca62b056034f6f0a56dbf38625af6ef56a954062d298f857931abe93826325c36c1a4dc8c14f9aa7a037d2b0e13bab37333c9574c574cc26f1669e0b50fe8fa7c6bbb781ef2e24a121d530ffb39e67478234a7c8ccd326d43ad5cf7b6693a9a2122ba24d3d11f02260989b0a9056bb3674ca8fd159b2a3bd0ae31cd8b44da485a5ccf05b5246a49c8f655c86d260a467a92b5e43d68b836db6bc0ba3506de62bd4edd0a7fd9e615ef3c33d3fb3d95250ed31093426bf73d7e5009b78338cf26571d5145d9979d323de92ffd1c5f55c5f95d799b1ac6d4040383e01eda7d2ad34f3d04f4dc51ae3990d451465d59c15d277e2aecd7ae5857bf746daaf8331c5bc0a058d8df1853cff6cd0bf50a0c9c8022a0815adbed73d73d36b90fe2789990b9c732a98eb343bb5abfb3f08247ea759aff5f85b7096c12e3bf6d83db173dd553d16bae82e38bfef722973ed254368664efff835f5adf75cd9b2013746ed17371b44a6818dc775c5d04bb808ddc0142cea1003b37e561506889b4d2ed2163d6629abc9377b59ad30541ded8c53a7192b392d2031206ed0768cb4e1d723b526abc941f2ac0c5ae9459c726f2dec4e03048e83ed17aadcbfcfeb924a891502b4731d3573f21264db727a5a92544180336c9f7f41de2b0e357ead83d8f1ac976a81ebd27575aacfad05c9560daae1ea946331b480e05ac572cb8e925258b1094f80d43ed009cdf5775bc31a8aa52b4fbb9fe06038dc5f0b7ebed5fd4972a50a91840b32f38f80337bc3212f0e9e83e44cceea17615cc6a451654d2467645b62b7a160da93902584cdf1029cb10e538ca9d1cade31a6b52880cdb37fba557c9f75e617e36ea58e29aa78a197191971634ac906c35d91c51db3fb71aea02b82fc37253a7460e02e806bbe6b7a76cebe9ddbc418a162274390c07ce7d1078b4f6b37e7937661ed78c99b6bab39ba5f83817d8557d69f0d02178ddf32c476a19504032a1df43f52feb9f3a3299b0f3f03b7b0c77ea18295154d7de0ce6aa8cc223785b640c9f7fc3d6cef9097bcdc5574d3365e6c2b6a7348baeb73ca1eb6d4d4647ab37b065a6bb2a4dc5fd868aa5d2e6be390c1d85f05ee94931c1c85b770d1c837992c439a681c1ac2ed50db4632db13b81b9418a5d1fcbd8ca2754965870d05378f8ed927fcfe3232e7d536955d6688da2dcb6ce6b52270d47e86bd295e077ff8f855f8f4638483980c9726f109a624ddebe137846f89c6d8b1047c633ae66e803ed209eabcabaf21d3318003232b720ff7907e00551219821bbeac6fa17915c3aa76188da1810f11bfb8583b1f4e4acd0d6ebf71e7cef3d52e8f5cc7ae1661a8b8597d270c3b0b56fed78fa1f765ad4a9770496ccaec219c54f52e0d976820123385ac6ed486c01f5a410cb081ffd20bad83860172c838165d1ff052aea6c6ea4a734a0c09fd2eccba6d51d8731da856526f14d74d88eaaba83506752ac21da471890d823252f40604656b3a0631b9ae9dc26a1957447d78ac1f00d48d2bb46937349e1972f73ac9eb9ef52bd6b135046ce0a582cb4477e3fdd2d8e88fb22b491b85f4c8c397dd4c82453bd2715b28773e9a9aba9ba105f99ee57f1dce8ee3d87f54727b53588c5a8b1dc252a82148550d93333d6eb460e90271ad79feb1956865b189a012e978bb20cbaf624b9824aa201545cccf5703d4cddee06e9c9cc2e930b9c61ccded573d981ce4f4857449e33c66e76cdf218326e0b8d88fcf7c8d601e05cd85a947fa95259b32984f4e1152c83ef465747f9bec7eb5e98a5a19e1beeaead9e938b69a76e999e60ade97d4e3f17d7c8f639f30ec61e9918a08a783643b2fdf37b246a0dd29810f865481cb1742c2ee249301eaf4ab7df3d4f41e59d091883649a451f93b48a475081183871fe568c5a563d5d4cca9d27525e5d19c855aff72cfcb44180431e7e3d5adb5026037c64d658257fdadda57d01a84ee77ecaba6d3d20c259f65a52a3135f25b45d5233c06d3b8199282cc860a9c2b8d4eb6503a3ead8a1edf49b150271b4dddc84a673d64c36addd4138d7ab7d9a35c70d7b091ddf966b4cc67817a5111cde069a744b1490f92daa4d482eeee607b0bca1ed482ae3751a5aa970108f3a4686b0d0ec0bba437acfae7ca4e79724d8816610d466fb0c33953a6494f3ba9878e4689f6b9bdf04bc0a936d6eb76fa2b44fd87c1394c057168418fd497d01ef3c16652089c5c2c52364c0c4e314d5445035c5c98e9bb61793a72c83830b531e8026844fb66a962bc3b08b4b76b2a1ae9d8f2b10e45516bff6429e0741e51af6506f0e9b3fcf28cff44a865a7c534e16b7ddeb28df26dbb61b98b46fa93c6e8ad58c2fcf5cd3d2d052d00b5b7c2bb3ca6a64545497e468a2a66f0af0d186d64b3205c0c982a3c06412bf02a7552a77af7910e55d613a35ff56ae63884cd54986a33125673033cbccffb88f6718d37312a86aac9d35cbdc83b3e310a0257b1fd77dfe054ad6d128ffa0e92c1085c7685f77285b673fc1fd775977af9c741291a7d5aa1b4c7ebcb7e997397f5b3cd1cfddbfbb74db134df3677190e0c914992c2348f8bda51ecf78f6e1f45b51fbe55ca669cdd31e089751743c05d5bdc128db42aa3e6799ee942f446385439cbfbff72dcdf6f2ecc101d56142328cdc743adfab1abba8bddcb0d5c22d8e2872ebbb0ae74a4d0175699dfef848820dee316cb0fed23a3fba43a8cb5b3fbc0c9295f435acd74e782cbc824caae76b1eedc93965ebd9d3f465e0070b655743f01c9cfd15b2c5245ef61177193516c6c132b8da2741652dad1c5da783931a5ce54cb6130b83efcc4717c386c37055046b12ad7d4e65c11751cc1d8e521c99f3d8be91b75587a4831574a3e43d643a5a979b6ea9d5cf360588a7f8e6b919514a82ae0766f597576676e73f69ab251947022d43f173aea2573ecf6d88d461870426c0b4cb0ba55e59e01af4f0c65c5a280b894d39ef8d7eb6be454ca6da6eac2eae6bed91b82464a57d994941ccdb45ba668d1d4d8925abb2f9ced3aa399dfadaa53af284b17157dca1d5cb3f6e1f0e02b6bd7f175b3908abb4e78b372085d45a021b2e04e86e40f4468db8922f7db2faf32a5bcce85f92d2fe92a6ce4393360c8f46163e03816ff2d79384808c085c5a2f1e47f99de7be9aa519103c900f8e1fd23e8b3020c4e3bd63ab7f6fd99cab1a875c844250333576b3517e5b5b66da7568bac0fe17704b486f4be945b5a728099bab29e5928f1e83274f5f25a224ab91834f341661f47c7b7c8e5246f3182f7aec7185de4bcc099fb92eed10d404172abe17fdee3961fe9f664b60695194ab256935de2ec12f81de995a9cbc7d7a7a851b269d228c49ccd899cc3c8e17bb7442a12ce4e3bd260c2b0c31ba2866face32c12aeac64fef3fd70d0e0874295100dd29be38ba9ce4ad30ca244ad1241f727b19ff6750369d20b6350db879ceaabcb95c389dbf5f2935fc4bc27f61d0ce4555071b63246d6aa9f08901b590b8addea126acb2fc6d8fea2128657901c30a0974d23d6234f9277a52e2d8f4d040cd479dd4584a221a6d0dd7fa4d145d83e721c7209e093909eea7194aaf789ca9692ccb3df6ad25f9e817e55ef579c9b55fd0eef0d804a1a7a2c7db93110f5ef82a9e5c34e547de27047865209f566b5c881f97724fcc5075562d940beeed4ac3dcd4395ce830e4a2e2dcee6160a5d991e4dd0f15ebd97f92a956bec3ddeb4f1fd0c74916e58b5b78c175c4a6c897095995a63fdbdf73d664eeb0befce9ad44e92550a6511f3170f906553a6f4862476d773a753f38633edaa84730e0b4418fedad77a7f24414ac244300aa2c0e09f82f799011a5d537a73b68cea8768b074b0456e623c16ccc4c9166d1c70100b5a1ae3d5de364202df410b526cf166d8f71f3d53feb4c55f55c4558773b1be5cd12aeca8ab65fdf79bf94f7793e2e2a3438a9b1786d38d67d694cebd97a25391ab019187e6253b7c6acb3b5577ba9985afd4f43dcfc73be6fa91f6128eb36cc5c850a12ea9fd1884a2e5afbf0b678b759ba58a506eeea0b59591b9931b01d1748da09b4af564e7104f1b34684b02f864b5ae6f2450e590e01ca4e4a2bf98c34f967fabd5c7ab5d3998452e878d8f44343b842ca5963b0cac6229129251ba1205aa6a7f7bd067041554d61f772f1856eff3fbbd8dbdf189434700b5124b578ffd89a16e5508ff5d3cbb61e041036d7dafba65bbe6a10ce5cb74820038336f04da359b2e02c96e34bc28fccdae764b158355950962b9ec8cf7bfccf3e8c9ad0a31acc3f19f35a91fbfefb4fbdbff515bf56da7c3a75746f0fd56cfd7547d14a253489f1f245fe9daf20c5e62622335efc8a3ab4560f1bb74e841bba93531ba0a745e4929ba716af4f903f7ac8815468574c4b6fef1d282844f3f96afca2cd564930ee42b06efce1c9fa38bbabf0f5da7596a8a725acdd1ccafb77e4805f877ab9d18a152c5f39cd1f7a5c6da07a112014e04763ff2c375ab0fe2e0b655dc39ff6b61e7954b97463e3147192c9fdd83289349236121479948683d8b12fcf85bca126698060aa008442b862a2232000946b06e14be652a23d2a91522be5fd75640e6709deef83d69353ae7bbded529d9e4d8fd9d690c3c39bc69e4e442781c529b118afb8eb38f06a50a1e073cea0278da8349a9eaf6fa5785291b7aa4fd3664025ad2035445486b3a487189da42594c5b595d13e4bf969a7164aa3c6d66dc9a4745d8b0e865d878c83fcef0db95abdffb4252425e3fa5dd13d8024330d706000aa09328425a13f4ba3576d212a3eb176d97d93be5bc271ff545690f28d95658d270df2209048857c295b4488ddee138ee87658508354e8dd558495b36e5b8fa8714a17295fb2dab9ed546d9e493ca6224d25439ccf2392dbde22b19f62e713131f90ace2cbe96698185ae4879a2d49b34f4d8f6ac2f55900c4d1e94511baad03ac2ce8304a9ff8b704756557fd7ced676ddab88ea0b46594c2a6861a2a39a3e2ffb86231f631d5b88255f695aa7b7da9efff42ae47c5ff83108bf15f13b5c4adef22373e95bdd96302799b726cadc3db5fb211385ce227f551b9635c152b26b44d2449c75f9511f4240047d2a10dc393d6b45088e3a10c990b777343a24cca57a6c07437197c690645c99734fb119c629c6debd6c37e904134c5cecdc95f1836c3fd73655d76d566ea36a111f3cc3901c029abf3efefa2a9cc13c49e59fd54dcd096e55f6a566f5f4ec734f14186a54a28e905f42d583c060065d969562e9ab3294e65527b05769120679b51cf605cb1abe1cd6c211d6fb8ef1ed762ce0498ec707fb78739869fb8c6ef500716408356c1f73ca3c5caaf0ca93eda63a14fe9da3484786af0a4cbe2aa2aebc2ba4995940ce9e5df58703da277746de084ae2eb674aa34efd17ebf142bb0940e05313c930238fa91c660bad5ad44e2e0ef51ed7239d35b0228525bccc2a7965d68b70af0f0df0afdd132b4381070b347a5939ab5ae7dce744574325d7d028643fe92c90bf4b6a534f3b08b0f2945e6d9b397bf4e3ba526b75bf251b774fa68a048c94c595b425d9aa6f40a0d5d091bb4d4480475a744fd28647e213a9f8dd87558551b2e9a4db936f925bf8503796ee322c2bef77bf15396528a3b6245a9fbf4ae40f63c3d7a0dd5f6cf5637f8c1f71dbde7dde0e5bd360fc89e8dece2d4ab360e6020491e60cdbabed49f887aa455759ee2cbcac43937829e802532933ff352116cc112855c06d474f9fb3c6347dab3be551c534e450fa5be6ba71f26b9ed279183a7f3ae76fbbd55118f8b2c5197e66f12a1aa928c4b449457eb11c76490d859fb6d560ed8fa0db6c29a72c538783e4fa8de35b29716cbf324d798f1a9201df80cca3a584a6bfd7659382937bc6983cebd1a69abc52f8b62086ec85169281e5e242260e47b83019da8736c8fcc545454cceb7aed67b222c7c6b75b06c04515b6a9f0f4b4153462e763d530be25ff781c19b3c2a3614b3eea572df51d36b165ba292128855e8fdfab12ff31b3710a7c15c30c7b7ceb9671c23fd122882575a604d526d98bf0e44c94c3a08acd1b27fadfeb4ea97bb028f951f45ac9ca076fbe00b922a20d2b8a885f7f0dc765d5522b64ad188c593b2060d0fbd33f36713a3ccb2c9ebb7b925338ab032b964776820d3c70ec0bc2507e8f1191d31340e898a136fe66bcc101ed5b814adc28f3374d2a3a62ae7daf69ae9ea0d047548b1bec9121e10fe45f4aa94626041030ded3575f13a8daa4b2534c2a820070d5f9c52ae7be3e67b4097db9e14f3557cc22411fd0e0be922ba2c6b2355fe1822ba518e532ae4dce4d1ac5fd8a614b323dbb843f498652cc072100e93b643bf1b839b7c2bf7c9fe66f62c1d8eb81451655fd473ccf1ab82d3d3d0301b62287bb57ec83c26ae6cf30529c80ae5fe988fab552ba6fb42bac14352f66a837bbbc2758917bc650ad8121f60d1ecc44321db059e4b2ec21f6e11c18088adf4bf6e49ac0e01adc6d18b5b837bda51b5a10c3924162dbe2f3d7d42e0fee52fe722b7dfcf542b1c0424146bf49b94ab95d66a08eb03bcc2d88bbcf51e835073206292338b32f76a72cc83782e7531fe047cec4e114458c8eb74d441f4905e373d7c21401d0611f6b2331c8785b901252a6de3d4571c20af4ecd6b22e283dc066b31c5106fcb89ec9c07ad0e9e06c80c43aa59728bcf978cd08790329cd9db373352a938c79ce0b1721f6f6e9a068fa4a6245af52844dec11308f64fd6aa44c861aa1cd675e6edecd4dc2330aac2820148e4d67984837469f416383b2c03cbc4410559e044450b9daa5755a94d3621e8c60143748e98d7d8fb9d8273da96f8e54fa78962f2ebfd94bb83d1ae9490e454358691171a08688382f041911e778d967372df10cea0c51b100819d29fcb5eb1dc6c0c29e749ade5d36cbec1f85b336ef690e793a48fce08471b155afed050ea581098f6ad1054e831b44446beedfe6532793d54b67a2977aaa7e628477d0b5affd06eb1f957bdd335786090268319da6fb3b357d7d413c857418a01b1c0b9ef5975bfe60a69defbac0538ea37fdc44fd092f0041de5b0ddd678cbc589d691511a2ca572184886350e56f47acd2a2c4469c04824558eb6a2d713badb35b425aa44676d4971f7199df62a2176d7d60f0c6f78ccb5f1b741c741ca0b746a0d6982ab88b96d29402183c1b7d5cef11d241337b8c09ad0244e629cfd14106b9dd70aed9a235340437575a3b590ac496463c51aaef4d14869ca2c45040c92c6b6c49745409afbb8fc4b89a90448b07406bd56ed19fe6b5e9a9420342080178584d8be2a4031231de3915f877bde68e779c143bafd0c678a8e9e997b30f3a256d5b0cb14bc81cfa76eabc54ff0ab93b1003b57ccd2e39a4e4dcf6a5278a6696ead70a84f08f475bdc8af106751edaadcbbf4cd59422bf61c16db2abdc13ccf26317400235f1d1cc2b96677bf0b52ee25a07750bd97cbdd62a669740c11f6a516ded1e571ed79d278cd0e84e89180e2c84fb4169b919ffe411f98798daf3f883782fcaf331b460f052d8bdab22eed459f3567a9a7b9220a20fc56e03425c47f7552c5e4dac7d3bbbff2d0d2b586970e9ef43ac8a63b537ad619ca0306a197e25fd99180f4d9dbd9bf96f5a04f73b8e59c241bbe3e1376207971781be31a2af2ba555cd1dfb0f0f3feb2edb8f5c76b8d80ce375dd162710dbdbca3f8a31a45ace6687e9e833bda401d7352dda705e961142ce6c1f6238eea9abdea90c7635da666ea5cac6b86d0462105b63d32bb504d3b4909bfe2d62f42697bb8ad4107ff60e0e1e86891a5e4418a2fb7063bf7fa025a066591c941e0557742fb39df0f5da21f0321421a9df41779a77eb934b89eec0a4057f33c0c561d54e500627c5b4ee3ef51523f9e6e0a9a090e75746ce0eb5f46b22f62e83ce26061b616e1e9eef649e5eb282aec26c4e6841da064ad7c22a916533963ccb39585350eadade3ddce649d352e129bb248c94881d5c8b020356dae2ef6b6567b79df4a5b9bce6ac3e7dab6da08baded0428e235a236a6848d40c27983df94cd79bb44836f76714ea7fadc2580b79d85432db750c0f6eee9451ca2c1b2a521852e43fbad6ef20d61863cb4ed75ae56f5b84ae19b7f4c90cdab985e6f47bf99b80239a3b91a6f54be935e03effea76ec3974e26c43d2487f33e6d885e6242f3a46b98bc037f70511fa396554557dc7273f18ddba689198a90ac5475681b4895b85adb3b1ac106862c5028f9888db30c0ea5c1c5dcda2a56583c41252f4a24acc473dc48b2ae492455ae67b3376db5c5a16034710b9f162f6645aaba3ec9a7127fd7f2a17f56fe890e1814ba3d6753ca7b09d6d9fc34ac805a5a69ec8fc9634affa65370bd59fe0f5650fbe6acdb0cfa81284e0d0a20c84e3e4c2f5149bf5a9bce50c801de2e3fb69fae04734de1a5d0acb1ed2a5922561ab777ac747a98a078aadb0815a3b6df438e97fe3cba39a12fdcd343a3cb9cd440b6a4ca1ce591dbf454b21b19194899c969f031ea5d7c7720d7318ce0c4acbca9a30d548f6cc648c4f95646f20f533f7ab1722aa25ea3d17cac2804451ffa7ba342aa168865ae7aabaeedd6a2450210b65bc0aa40f786dd0b1ac7fef4e783b80a079fd343093cd96352fd38d19d92e8e36cb3e06d0395f6699f102bae2e4b1295e08d09c4ef6880c315c8f0f05c33196ae7e20a112189985ceeb7bc13fc1a7db751809889260776be909b785b4969041b08ac9372cd5f18907cd39c5699b5d0baea1e3d669588e247867e658fad3d157ce15c9a5fe942fae910f47a74e8828abf16c996053d4022b75bb8e5258dd890ce1954cfca773632d6c49c52ec7ea9ae83dd266eda2e054007961bf62066f8d9d993eb4fa9a171cfc177ec7551f786e6957b7112be1a546c95bf462a5f39f5851dbed4037362dbafbaa206e0de97de9b9e97ce5606e42e2164131d75b2da2dd52d66d5382b6b130486586193396b58ec68328cac57cc1b1cdd753328856bbb766d42519383572ec302a8911581ff4377c0a56b49c4bbdfe6d7c9548ecb5a964ee675780e9363a925df985efa543c630f10fe1657be59689fd0b8315ccff5a1803e115c698637720603b247a612a4c5049f98465decea75a7eed797afe65f25997d67863b5820635562249ad2ea497608a22c399db190f3285e548727ee1a1971524f149dc8a38bc6df006558099f10efec2d270650c3552a6e32a69f9e4c424ed69b2dd4a28f8b4ae2519806b699a9c6f97ef02ca60007a1960980811bccfda416208ea6ff24e0baf9e3dfb08d1606ddcb4056234c32ab18d503a7474566d80cddeda8729065c518c6d53e366fe838557152268d7317bcd23dd95ab48548a00a0b6637f92f0599b75917ddc9e8fcd1f838645afc28fc6aa4ae9434cc375c8257ff64d1fc75c5e1f359f351669e39fa778ad865e45446fc6ba16fd96f1b9b30983c9fad116f17ef6000791ee12ee68fe1e88e55018fcb9288be648de6af7c701124583ddd8814cf100e22e9f43b2bc3e747f9041ecdb3bdffa7dd8e0668dfdab504b249b09c3cf61079d42749c64d835bb8760f8b5e067a5a2b47855e1730bb4957eaa4e2ffce307c6ff19986a3484d7da83bc8fd7f3d69c2cd00bc3e88002d0fd78e15781559366d8467e731eb73d7e7d858e6d408a5396ca6983b49b6e4bfba0762dd4b7e445185fcef4992c188f660e8df00382ac52bcece666159331def229e2e0a6e2790655a654fabb07fcceef2621560b89e60a6902e81678abf318cceb54279732a91d91e7b4f7b077c5f65741a2b7aa8c24c910b54bfb3b239b0ea37f420e08879b9a671b69d62042156239d3b0595f53851d37940dd869d438e6d161317ca3181c3afee5c4a84678eb7182f4dd532db75409548027ad6041c75acfa069aca3791b2d42eae39b61ef1f68856dbfe913ba0caadee7fd9a3f55282bfc6892efe9165d299ee3d43e4d77e555b3fe4d0a9fdbce50781481c17e5981422f2b85c9c3d0d80bafd490f4b704c5ea202ffeaaa50dcb1471c7b2a0b39f731663d5a72bc699b5b6702b69cbc56a0b4728d04fce7dfdf6ae0347b4932650b1bbb60cab5e87daf696629ff37e685990d27e7c7a5261eecb8ea1a96b1dff7a5d7f7d7a10a501ad86fe1a53e79a3a7b904cc98500e34f2c50e0250843cf775df2cca03e4f8f6b665db204402157733f89385875e7b4d4f7d6604605f0e08e648d2c74d5fc204e84153f6099de395c3c01e6cf47089cb6fb5b5b6ac01949db6e588d71d4da33404655c2651ef6a15d47e44526660e3d341ee0b11a62bcf8b69619ce8f10aa7c61943f0db4430cacdd412b39ee93edb0f191edc9672751dcdf3396c53b39ceeddf46cf53e9bade6f8fd9738d6ae7fc87988fe518801afd30a2d2a819c314830540f5b6df3723c51aab1d17c0443ffd1f4b67c11605d734e065596ae96e04a44bbabbbbbbbbbb5bba41ba413a96eeeeee4e69a45b4a40f47bf4fdfec19cb9e69c8933730fa2cf6d89e6cef9ca5206d1552c6d3da59245d4778319c6e0b51d4f9c0823c5f80e7e78f7f7e3ba647c545a63a1b760567aeed4b0af4499fa9fc17101530334cb4bfc0d3a9870c32a17955013b62e5e4268b4b89b8a2b155012d329a5ebe6a1cdc6937e4198bae80c07b4603559d862699c9a5e10438416797e8fad9d571119a11c92636be0d54cf3b840f07c1dd15b3797ccd01bd35f7d57b3b7c35cf5f87da2d5499dcc14af2005206fcf6cfa9f2b2edf2d103ed9a08c0c6a651f27b0a5253e3c7e276070d46b40d050b05066b9776d6d87b1028a6b5813e08051ba400611c900241a1419ffa087fba3b81e610ddd283e8cb671fd8ccc3ecc60fce97c2459aa8685ee7b9d280135650ea2c8c009f31c3e18bf00a36421c383c1ba6f34b018299c265a3d9cf88f977999e903d7e5f22a307dd7a8a659e330728cb4ae3397bd38eee2c0a1bc7eb98c7fe9f3dfe790a32a43cd77dbc282265a59188ebceb9ce026ed99f665f6d48cf1275fada5665283f94566676d2664d8abfd4b5a71dd10cf308376955e1d0b71708fbf197f615c95f13c27b1aa88fb9c9771894bef7f97ae6a7ecfa46a166a810e1c5cde504b25932feb3bcb5b5356a83f9047f3f54f0aefd8aedd9860727c4854d8744531ea1dc68b8300af3d32658b4fa9accbf451467ed146b4f29a95b644cbbeeecf5379f6cf4ed8fa37546d094621fd178105dbe269f1a5d592fa78fdff0e309108be30c22b95afae06778661242ae33de5e050af7e24bd14781bf04e0a181cc33ed88d75088fef2df523feb9b58aa20561476f1391b7de63f2c9ab4e2a8a1fff52aff1cb5da56c002b16ac551a54ad6eb389404b70097768ec5499cb03847594ccfaea1802a209124e020773525c305673c88a90466ba9acd32e86281e7775a027372d11528c5e24f16b06c654ee1258ea10e04813b80cf4a81275a82a07ec8ed5cfdba8fa2bc4d2864acb5c208d26597aff15bba21ecc0dec5c6bdc98c3ef7453ae080300e10e4a9a51a3c951963a5d7b6d3f870e6a7277711c3fe279443b204b6795273a9874b748a5753f289f5b1b4210d0b0498919b83519825899971de87e11f3e75ef464aee89ab828d23d69c35aed8d13cf276d3b3dbcad5730572aea6dbb342c8fc35a71ba08abec55144c9f8aae572588d838d0db1ae9120cdac3d16aa5ead74bf8bd646a6a28ab3c33163550ca6a6032424a57e4f1681e5d7be28b36ff6a9a915d5303074827bf646b31591d4b5e1a0a40b6bec12251a29fe6de5fe2be51b0f1ad8b3b93be30b79a4a3196c210a0dfdbd2fc431c3e59c8801983c519aa67b7ef27b0504a210df6746b102e9ff2679e62147d564a5b66e8c9175ae34a50109c49c58a8190632aa6f036b7c5350917d6b5ecfcecaea3b7d4315796d4a6c00a7907d6350c77ab46a14d443ae21b6f686fd105139885272e364117db6f567e58a35a3995add447d390d1bfdbe08c734edf349351749bbd2c65d88aca97f16a41605e51e0bd92ab42a614dc30d98f809d4a0dc9ac1cea54b8fd85ad9c87f55fe6f75f0419a7c187020a860213dd2434f995ccda7ee7b335a1e48d20ab212e084238723423307dffa871ffa33127906b41d51ecfd13d67682f7f7a70706e5952db446c67a2f4645f25451831550e692e4ba1364d99d20bec723dd7b6d778cc851d97ccc4a506c3bd3e9b2543d12ac33b92d9acd7d4b92f0a6d376b3af325b02c7b828a923c269f07549fbec4ba978d4b6522746a440891e23eaac500be0670c4894fd21007198c30431397d205ff9d1f62482de1478f84320e0a47c5a6e8899baafc84cd3e19933fbe5580235d5a83666dcd66d744526d78bde91beae3de65e67e6ec1e0cea1d00fc2a870af26c4315ed9db71467eff7425e98335179b1dbd703f9ae9fb530daa0224933e0a1e7668bb3dfa14ebfda0dfc69c7aeef3fe516b4ee64902a723d9a7d66fd4180aea48319ee8d7620b61e1ce86b8775d15ae79987a240d33d7497e6cf619725810128eeabb7a919c0b1969ccbedf16498bd7c56fdc5b0049fd3fc4d9b827161188263090ef694661c50d2d5a948ebad9351dc4f2e15bcd48d5758b36c9ad358a45fa36fe3764d91580f2602aba3cec040b28cb03e78e72fcf3a0b16afdcce2125f2665b463d21731e2826bd94e968f76fc5508b79db72350a6223c0d3a4dd5224c3caaa7890f36ea0ce63b314734c2ca3bb1da612589318f406302697c1c1d3938dd1ce158a646730e6139c431b7ef958eacb388a5db776d7e7f48dae8f1b750ea66343e5261b1004f6ca698a1e1a098fe7bddc589280781583c466b5c3c714ce9157467f433b2a57b5164822558fe06a54f13674cc44f6dcb138d1ba23a2328bea9e908fad882760f653c039d7186df9be0c1109c0b7f810de64420d5548a2266914cba486ed41045e4fd38568864b0ad9aec6742c91fc933b269d90ab0e245c1bce3d1d7e8a9167934f08bc81932d1de016796164f2422a0ae05d1a89ad8ded59dd587b76dbe9dca2a86b645758a46def8108991c629102843d80dbe40091ded5f97eeb8253f8228104b4866b43d2bc15e3a463812ac5eef5284d8f501377fa870996d81f9dd98934fef144cf605a3d1a55589bcdc37bb4986d4b0d197c35748ccac14a9d59805fe8f898aaea75ac6cbbac756191aecbdc297e459365d15d329d1564c85e27182d9f2a29aed948dbea6b53ffc0d3bf334560614e7d17178df49c42566ec21cdca490197e0562a1f96abc03e92ea67d7d17808ccb0695acdd4b122432c1869e7eb9c418a4cb6e3be47a82b0dd45f6e1fedb42826092c108b3fe0f7964b0af2c8649272252d1317e5a58450fbebe9a55108e082cb435b880318694f7ae156503f1f8238c123c73db19df580f55ad421f16aa1f08983029e6219a70ff696f14460dbfc4cc31c1821e327e6434799fd2afb23251fffc7ef27ae4f7ecf5308c37ebbe6bd170dc925a456d99758a5dfa8c9b701338c9a5cb19bb64df307abe561b914d25f65dbd116441eabc7dce29ab68c7c8436de86a2cad18da56aee7e3a91dbe8de03a988d5278c89fe76c3fd273a7c28ac71ccd7d67202ce35af0c0c15ace4e29809191e54b64837b5b01f29663fbb9be151ce6160075df95f176daee090d59dc5ed381fb11462018a58934e85d523223aed4dc963e3ab695daf67f1ec1c6e21f8c98dbbd23f7299194779a31dae47dd59cd4a29452422e82e31bea57653fb4b0230d99e1d664ba920606e4464441e560eb21d89c6b39bf0479ada3c9dea53699a10d202a828f178a247875f8c141ee175aea4b22b9e1073e38d92216704ccffac9b809de6d65214398ecefff130b6cdb59442b45643845e257c6748de4979436ee84515ce9b9889ee795123239f721dc1203661c5bad46beb4b0211e5bc32a5b98c43486b816a9934eca93c1ce55a86d245e395511b1b8128c0bd1da5d9030e80705d8cd0bdb862a963d338636084fab5f72b38777edf68a3abcd7e9fe4726d29eeed6eaeecfcf99768be7badd2c4c90e077d2e5a419230353318ad719d5df13c4e763664598d05a6f7b37e884db971c5dbca14032bc3bfbeff498a8f081230c631f9fc3f0fe7b888d33024f52da25664f496fbe375adac2c122f0b66aee48bdfe53589436599141730380b302c1af886b00c67dd14bd133e07e41277c18952ccd92f79534050c3c756347bea53a210b9ac377b65e53d1acab947849f6d65a61207987bdd5202299b65ececc1ac4161d44b6704b554cb2e9fd79b7e2156256cb35e71cead2c97faf2b857807ba9bcb154cddc8a0a01b4e3d2550a492d5675721f3ca20728d60d2fb77d4861204c83f96ef541ffa6562fcd09f1d4ef387aebb2baae35d2d5e94ebfb0d3e938b0ec61b403d0b947050dd83618f722678cfd0ddf554d6af06a4d75364e91d119fb936967fa098063b20758f5d344f21f5349ece52941e67136f08fa3beaf06ed7718183b733b9d2d7ca6c8b40e5cb2cb2d98f0127ae64e0cef0507cef250ed5a8e46c804451d1937471b5e32b61b9691046e0441672bae31ccacd0cc406660d5a76d15732c67537bab7a70d6b352e24756af3111751b8caaff7c0e893aeda5192606a8109bdf397a96b94a5a3d26e8075d695878825bd38f3abac3bc9bca5b21288dd5c7bae6c5480d12965bdf6e36786d1c13f62c54b3be526b32095ed6669c544996e63411bc51525bbfb293bcb4b1fd4e026c8779288993ecbbd68be6a780270fad7250566a4dabe148be8fc4384835df6edb4da03c48ddcdd012efa11d1b2a83b391dd828a1de8faeb37935703b01fd49a229638dc82486f83828686957163801324edc0601a5f69f8e61de40c059bd1b8d92e2ca1626e93d9e920f1ada221f04557331b7244eb421d5351aeb67242d8f96d869456becb66461a219bec97c628fb9baf63d9d752faf466dea1469e70b798da83861d322e7ccbe0538530053ca6fc90bcec50d89ec578ab882c523ba63fa2acadef82b86de003bea906aa5cd3894b9b39fa176964fd05a17ec784d9a67ca1f09ba39f2f1b157cccee29130de4b5a694e29ff675dce1898bebed889681f355c23abfda0df2589ecc4816475777fb228fc1fde844bdfd163adffec88caa580f36062401a05285ff0bc2d2373b70ed63d34dafe825999297e29f8feba84a2ef2666e6d336aef395489b4aa1b9c9930df8f17aac3f46a978f30375b5cad084c6b287e2500ed33e3ca1fdf292d8ebdf4a317673355ab7c7f47b3d8912518199e5862267680f8f52de2947e31cd7c5ef5607ff2c6cd420b914e7853266cdf59bef33f71a32e08da58d3bab2614b3185069d805ef2c6878cce1666ac7afeb8697828daaa859fbd528f5e1ead3d6d6e9d47be7ff8d85431a559cb6c1837aec0df706338422df7442db859763222d10089a83bb3466bcff88bc44d6ea5095fb265eac07584b4bac955ba9f770d5368aa974ae7236be216c1d0262f54fe7ea7e69ea7a0eae88349f8d4d96d2de18830fee9bce89bece22c6f769f91aab5d1bdc8c5f5245435c29ee1bb5a04c87533cd69966699cfc16fd14915882ae6712a43e9e228e68ce951d3cf00a567d0a1c06dbe1da2a841ddd6bef6deb5ad04438201db411ebedd0943d7a379374bcb8de6a9b0bbb7a285e2c81e1a54cc845e1ca99aa85c7bfd41b4b8dbc5d7eb806a37f4dd7077eee7178612bfc3879fd5d8438da25acd748def60f7d70ecccead623828bcf4cd6f2a9e85ecb80e15e8ea8bb14ebb35db1f2223ec18b51cadb874b554dbee4b2bef142885b99069dbeb681a1c5bc37b1a34747f2edd6a42e121920b607a788fe1d6b0f40cf2a90dbf1446a0f61c139d1b093669a3fdf94e3d12538367f487ab798195c3442de1a55219e17dfcab722608283afc80882d5ab9306de965e993f39135b3cd2bd790214ef83d741add282cdfd8398cf7d42dfbf613c3640c0fc081e5e6e7d25d6a88543d9b2bbff8de220ef1c17dc8ad7bea801fafedc67d1eed043346881414c5038d30811b9af81814f8036f9d43579a1ab96e349a62627910459641df9e9d9507bd988351adeaf8cf43380347a60a67250622d2dfa44d35c3f9797eaa1bc58cdc57e2941edbec1b027b2f8806829a26bed649226870d3cfbc8f13689b33b050dc39159011a6e0a4f8a7e67bac2efcfaabc3a273e4d59c8b3af1377bc1ddbe919222156b28db04539f5c1d78790096cd970c09e8986df62ad46998686a558ed435040455cf1134a2bff83ee626427c20104bc0cfeffcfe0bd1b93aa403b1a754fc3ca37305a0c3ff0e3a929bc1edacf4ed707ccd7ae41f21cb83806ab1adc554d9ad73693648d3d5a8e4f4347b9b1c1c2abea1223de83864a40e035955c65f7bafe680a7c6eab1bb1f25f254aa2bc0bcab4aeecd42708617d9109ab2b4ae41c7df98531c5e8f7d11fad4db141ab11c62e42b2d5989dd7d5b3762b49bd79178d7a4e835ddb5005c9ca025c8eb673a4a0572282ef6ff12d6ff9c16f31021d6ea5b80f7d31df65c8b05abad0a44bee13825597553578488090e5d03b565f97bf7b7f8cda13bc4c4c12778f16e846db9330586aa59ec8fb051003bccd2b2b2b7b72a09dbe2c9780f4a5763f1745553247ad90dcc591a1495c1f01d8f3b799d3c477912cc4f087432e6f0b2389ee77bda2f1491c953256544395f113935974d2893a1ab60b8a3c8843e2c971fd90250784292dc82c5d1c4839640be036de50358f70c0017dab07f236acc9e74c831767e33ef5e7efb1eccd916ebe4006160b5d5163b69c8e55a53e056cb684e7d0d0e28b47388477654772ffba4f932767f9ea776aa3517fc5a43d7a6a1c95d9e45c5bbd5f7bb103393c01496297e7a2d5bd9f53abbab87bbc1f360fda7d892f6648640ffe793fcf2fe8dc5acdc9d69b389ade6d3d263d5caad81adb0f575afb4cb3669748ac2cfe0ee53594b7f3d7a970a839e5604f16603f990978e9e3e2bcb73de1e9c0606bc93afb244dbc628ff466fc43f22a0880a270e7fcaa9e359e54e4ba608938d02f08036609f6ad7e53eec354b7f0f30ad186ac0f3048467b38fdfefd8802d88e37499468ccd4cc23d4d79913b0dd462024d42624aa7278cf00d85c1cf2b7c18081bc38e71f6142a652317a01987c20a6942bc3dd104e8a75edfc9f7345a50fe71cb8bd3be18082c9454df96d3b444a95258aefda463a6413c3f2977bd19d110c2ac062d19a322eb83b8609ae8e7bb2e7648f064ae4ad251f90757bc8a37605b429cd4c6e837cac6035d1d9d3ccadf1d7e688d84304450c241463c35d4795bd549146832ca006619eb67234962abd89f8743b8f8bd0a81476f63e2c5a256b158f816b10a0f47a5f1d9dc4c3981588ca3711b37c56a44d7290a6c8339fe6e3f372e934b118ee39bd313b143c15e651d35309f09852d8ee739a42e250332c617b09ce1b1070556add5880f374c2fe3a3eca9321ff6c395ca8bb653d14ecccbac9077d88829a7a04ec93f04cad3656d24346430532d8fcf67e94a1834e698e98316109517985e11ff07a8942524861d1005484709235ee5ca1d9ceb759448a7a1d301a05c869e054f0f9c72ee8549df662a48df11695dd91dac29d579061d330af28c012070641095bf65b4803bb372b066bf90f9784c218816fe7a5a32707097f7cce2622ddee6a256b63d17b35aa7d7614e2a7c6522293d2a83fee4696195e4b3f4a618d271282f0615c42a384eb8c47bf3db3b3e9e970b50cb3a666b22cd0302222ce7ab3024d0eb649696416ab42125712bea6c0b095b76d23410842255a7ad37c5840f1ba40218d9702feb1a45bb60c08b2a53a2a0e64dbcef266a7fca3e498a118c6caa622ab6e3b4d76211670b22be0c8f704a93d6f67315dde5fe9851ebded5d3b05fce6d57361fe73def7fc5ea0505a5ab7b7b94f1f684de0c570391720f9c62260c219fce61a827f794967607aa351a8d1c697d14e8d228a10e11f4ba1a0584a9bd7995ab317f87ebbc491dd7d86f25850c623e2f1cdf392f103be5bed73ef0e3b7bc2aeb9a19d9a78edd69109a9043e76e41916764670fa4c1c5b8a0a85bb29cb8a07cbc1a55d8fc5575e5015991d3aa712328475b2242430d0e39fe1158d5cdd33736b1b3d80e73e56f3c7e1ad752d107bf11f0c34b6166b0c54d08c7e33998731f4dd198bcb29769d7ad636c0a5d2cfa5bdf9b7c4f5235c57b5dfcda8f3f958d6a4c55306d045935d29a6c4c3f2637aa72cc383c0fefb029cfd874e069a2d84b573080dfc75cfb50bb0bf74dbe380fb4f0964f1766b614bf33a9f10c58bfe45dfbb22cd9984ba3a15656a047bb6b18fef78c3fd0c9b3606269bfa448f18c26d866c744a9a7a8ca6c53e8c90a93827c58c271b76dc7da1f6253f28cb6e9e5b21e8c135b49f1bb2bad49e92940412151a3125e28ab386ce0d7eb31ee5fd63a645fd0daffcb5c8d890e7a66b6e86484054ddb9452c8360432d63d652fec93f111bfd9b5c21d7f01b642e145d58274ab31f4848b50bf22f8170504b42eb0788395056cd2281a47969ba1b0a3498bef4a964b92238463e34c209a34f5dc7f3d0eda302191faf3fe18bf9b56ea74654555a5788601a585b49ebcf4c92f99efa0e89d4253c219ee6f6d7d5ef1385f5235e2cf1d4d43f72d96af129ae34014619ec6680ff122497b3da28d1592f9d38ce1a2642551f6888a4e914f78c8e8546d7ede39173f941fa67233e0bb1e2da4eb675b250e594a5e5fcc1735c4892a71daf7e1cb8074a66e984bd868e84d49c58987186a6cd52bb16287e3700c30c7e898e274c96b0059129929884853272e946101dcffbc0e163688ceffcdeb849ab7d8213b9a463c7c51861f6416f2e007af5bcef57dfd9768a5c7bbf0c5e5357d35afc427f4fb21acc99272f294b43e6cc29a67420f74559e51d0e214ff4a9bbb0848d12d9a3021ca8d6bb172afc8443d39d5bb64005fae704c8615e5cd1c46eb96276a93d685199b32b380d144f8a60f2ba2b20947f8b64706ce705b6414396470cad9fe78420b8655d13016b4574ffe491f772a2e1a637c91eb3bae96263914596afbbffc288a9b0d05342012935f339c9cebe4354311a62a7e48273b1574309fd16a2b61bb63a159e9e65de6968f9528eb869562f19db386049f50e6426b2b9ecbc25e9d8762885a8f8a0246ba54fdbb66cae902988a9fc91f09b0dab18f53d0e9d9997d7ddb29dc42e08aac9fa49654346f536753b7bc1f231aabd752fd31842fb98dffcd9ef52ab88716caa090bef8523ba0a92643a3acbaff068376e7e011335fb6985759d2f1b7200778d4c2d240b640d1ed3780e81f2b0c42880c4b87f573ab8fc4cdff07b96832aeb036c2e9639f640b2fc77651eca22710bfee08d292324be6263ba6788918fc834c46255dadc4410553c211fac6013b7cbe2880c2c6b796ced43b3ee8128c646e063d03d1c88a8eed50a6d98864764ced28d67514d84a214ce66cee73e03ae481fa9e1732389f0c176d0577bd82393ad9f420e05101c3c9acb155d71c7c0e28d41e293a431463daf8e6c4cda5b994a1f4ed77c054976d2ed3fb221c242d8ce75bdf3eca1ed1df9a34ba397ce9cc79a9e6d1f3146e98eae247846c859622e6041f02257bc182a66527f19fbd78f6b0471e333207bb7bd6c3934c3a93f0ea4d45994c3c9a2c611a06d67723f5154b118c1aecea3f63d9d2cd7768847d12fbd4a94cafcffb0404dc2e26b9c89375cd34c1a5952c9bf062400493cf511ca09b8b8bf12f4a00f96d556187e15c8873866650629f720b6c3d17b4a9af78ca580f6570b3f4527d37bc41f86b33d42722cf28545f7207d0e7b7f7da5b9e1346386eff5a500ba0be5620f05a1eef51f67c5ad523ea93312b3379b6f1dfe10bd2714bd60838d1506609a647019f138decab73d5891ef968708b8c27f687156869929a706e77d2efe31ac66cabde47d6ec4abd7527bfaf51a59015502e58da99cdd13be19e7f64c9784d53e6ba86769058ac7f656dfde5efc171a5a622ab9f72c1217909fc6e935e2c17b782efa6f9030b3f4d1ce2e9cc8d844445f5260e4187494371df949faf8ea0f3712824005248fa83b23d31ec55dbe2f750182e6967be4639737a8700717115e480f551509690f582daead34cdd711da03b6a6467599b33cadff2cce9ba7201e86646797acd67737f5c1c2e5bbd1ea519cd7fa1063f693b8834c230b9ea7eac81aa6da9efe1aacb683e891341dddea57267240c3eb928a189677c323749cc7d99534bf70156ba30b31c601d7c3c9b9e0816be8d922e999a5074a88ceeee9fa18952b5bdba10cda0ad9a6eed7ac8d28627454b138457f44847cf3c90afd42543a2a846b28f277f74aea9840fbd0588e0ab637d26a6c4811f109a014f9afe357d9acb103e52f52c4f38fe9f69ece690344ad9d532890d0764f352cfc9dab5073fffdf6bb73efa7fd2aa4c3e23b3f64a7b84d65035eda844d01357fb261a4dfde1f23bc04267c6159a99d3568b5b8d91e3915e8d34a2deb8b9a9638f39fd26fe389fb7d2a932e860f455abf5caff53ddeee5d9722673b190a508157abcbde4daa1b56aff131b58401fef6a603864226a32f711a829bea7786eac8eec71d61637fc83021053f1cbfc1d92f8b7e4c5c8308c853d6ceb775392cb779fa62d0e16152fa8378e1c1452e5f16eaec7ada45f38bb829dca2192223cce31f1efb19c0d0e7890608884764f56ade3e880ca0c030180952081f7af5bf03b909da8de695c596651e330dc143cd16650697936fb67e47a7049500cba7a58482cf30af07492a65e437d26cf16f6cc6027f56133db3f1fe9009a4e7e79468566f945716f69adcda965c39880545f46ae48bfc9c391b5dc111b017d95959e09e2f53f3ece75843a286440143e51546a6eace70435e175aba8960e4b17c00933c4764f67fba77231e42687075a44d0cabeda0ca50422914355cf5a33aaa313d8132c23e4b7e01199bae0f5fbf1ae6a708d0d4ad4f70a5d025e475742a58b1fd23d9000d498aa7a3bb2f7b486bfa9016e11a9bce3dedd3621662bce5231e50d3c38ea3c5c65e22001adb27d295b3404538b083f50ea60d977b79e5892c208202e5edf30cfd7f886545937514708374f026ac8ac475d8a6785ffe1a9af39f91162816260923f24cd875f137c2724f52be92cc6ff0bc7b5b59fa53451a61814a09bb0335d5f7d2b53684ec54423301baad3aaa9f37d0a7d9e65545ab2a20f291867bae26dd97ca04a3331312362c4702a66300830cdcfe40cb4e013b7b84025119c1e95e2f58ae2e8836418eaaff461718892173d1c4f559d77f501742cbcd20d86a8f15e632113accc305ddcdaf1626e35111838853c1fac34a5c5864da6426fa61c2bfe6c084b5a226a1dd1fc3493964cead33950fe970021b3e323c352b8b976ced275ce949297a00360404e3a6d16254f8af9986b35a685ef043c068fa7c124044c4d84f4a0e01442de2ec2d1f372d9eff9ccc959856a06b314ba612a03211650c21dc421b1eb60031b0f2f044068053b43237f166716a27c3aab05ee09ad0554f614d2e4f9e0111ec0861a0fda2e80578f2dc490891883c376eccd3f913c7d6fc7f5064a3d0f16bdd914ee7ee872a6109bc33b82161d15cdf815f1ca28abb86f766d66524b71b5ae2a6c0202fd4f76462c9ae8ff640fdc1891bba9aeb5d5884a4d2e00201d08c0c9879d6bc34c0ba543ee6f2d29d4d2e725a5e91d91aaf1ab77adc0124ea95fc5bf366971e64167b49f5e5b50c755b358e7e9832a947d1690e558f371204ae6110a66cdc09a660fe267afedb02b44833d9617515e7e7e4858e3a7f8e75f37ef44a3420f2b8342b4d01ef36a7dbdaeb1076e2de45587ef7df7c432b6c68c3adfc816ca4dc0dcd89fdfda00fe04d99819b0212b10303df19358f96ef19f59a1eaa3245a5252a8febf2910032f2b76b8a8088234b9d65cbe153ef7d4f0646712cd1229101aba8fd55aeda35079a15247cf20d48bac880a5284aebbf29f05ac712f8991c8642ec8e77e61a429c5f60d03953bb3e9269cdb298f69ef1cde8223d2a14971bac2eeff6e463374487825d672407aa5fc59d8e0a342f9f34fa44f844ea8c2a2521868e96cf933409e20d96674e73f9414792455825d92bb01d4e16b3884bc1b3a8992b2db41491c2e47889abf8f6f9b7c272a9b15653946d8735cfdab16b971a2fe865d34b7be6438f0d42268fd9f70d3aef61fb2baefbb97c33475c70188c9e7849bbf508b40b86ec3ed07cda18425fe04d8e78f63a225f38b3cafc75cbfae9c3b3e442408a6e2c6b47f5c90c16aae08692462bb2c956a75cb04b089a0a15367689232bbc988d060527aa324b366bf343874601e6dcce7754f8e71a7654ecabada4b0a3818d3b2028b7841e90896f414577f185b4b7ff92f6c72bd47797c56805eecf045bdad862ddd88782bd28149b6ce2c22fbc72544f3c54f87a711c1dbe5adba388977ded6b46d0f53636a41102f0332b2f17573422fca54fea4b984e3c1c62d22cec0f6e1b7add74b89eaf03d3c1754ae6b540ef036f10e02cd0cc142010c92b81710bf1910235c523af190bd13b5537133e2af4bfa00d51e6b23dadf36286efe3cc956194dfc48fa12cbad8c37c44a5efb9070377e1d36af5ca39a3d3eae8f40ab4f1232bb7af3d3b115ec7567271b73d683c45b61734e22b57f2945054e5ad82dae62ddfbbbc581e636e63fa9a945a27698aa0e774eb23a275b0bb00cd368a0b00dcb9732f4ba5e2cf968bd051f3e56af5ed1da15166327aa77aec90c3b7719a3ee736b0a2d98f401ab8cca19cf6ce11826ee90d6c6b877e498516d45395336f3ac41f216637c0ab94472547bd946715fd62eaf1e7659a1f68e81902d47c438f3c1ecc3ec02e570039cde351f982209616201d3b1caf881431477b1ed8a7a5a910a2a01790515cda6ddbbdfdac03ed99b16e57fcf39adbc2c5d32bc835fd6dd79801a5d96eea22c2bd38a87c8381bfe712b4dcd6f731583bc6db7e15874d4013c7da277915967d68f5b377f86f15644d5e9f66cf36070738baeb659e0eb28beb905fbedfbeffbd3228420534df1c9272b10e1198a64a0db2ab7e2a12d126141ec5ffcb45f3f6fed5b4753d71598b66e8061558b435dc2c2da1ede7e6963d6765ee78db5842a5390a91fc8473be77777f4562ef88117f9a84e12568a9a526d302a09597b9b8b8dff91b7c0de74c9110ebedd69bcb5f8ead32bc3693a15d1caf489946d2e3b38c782891e6d3f00a80d48fe5ed45790fb539f5bab107ef4cbad00c51916b8cba2e2aa07e4d22db418e894a8fa5b2c88a426b896ae0ab2e7ccfdb1d157b036ef33966857a83c315c8ce614ada9497a47f8f28723e3485100a7b254b823274b59595ed22fd401bbbbb5ddb9ede7d73ec50d28ee9839ad134fdf89cb4b4de0383c0224d97825896043433cd74a376cdeda10aab445f8df3f28d8960d039e5c38c688772b257c5a0dc195353b092b2c37c82ce505411b65f2a0f09a4af1a8a090c0837abfe33e5cdc6defa4590e1014205968c27ac1634a355b1293b9e77898f99555d4a39c443e12e44e2a6fe10d2ed2943a71bfcf5a0d018079b6357848be7e113b4b51b909631b276726762fde4397d6d3a3d7d7c51e4490d426c54f6f747f7bf755992133f4b3a3d778fcc46870cc6ddf1deaf556d45041b1b063b426bccba0ab4883988552c210325814f44fdb003c5d14d841b2020954bfb4ab993b2eba648dc20e4600510823425705b1685104e2fa8c5ee72f919528ded22097e9ef05e3ab4890f17a8342319eb335c9780f7ce7def819b8d355495ffa28ca21869c590b7019d641c445370b6d7870c709e05a274271c528a24d28e7cded67ad94a4b43c69ef83aa758b6f9161f9f2e001d2e93cfd64048d6458a1fb4c4a1cf822769a1e7d7b0289a12547352f5fa93e07a3ad16be6dd0cf11d5bf3c4d66f0b970f5dc9207ed2bb6f03ff3ae68c784c123f3aed1ca8d5d5d441385e8037880ba4d8e93d4ca77a3361b350a7eace759772011cc887ce6d27eb70b49c557cfca2785c743d2022ddbdb96df76bfd6464322d8e515406187834f9fc199f431a798b3471d6302849022cfdd925d3b10a370162ce62a92f97408bf07ff5bcbb16b9163a79314951881ef3c66332f5529a162cfa52294f404eb628fa329f96f7223c4f1953454e871ad8f513de783540d3f8aaa3930cb49e3f6a69e483c7d5deb2c7c1dc47971e20e256b552a88fe1ec17a15835df4ba972fd745bdb154b7a4a2124d051530d364fa6389787281addd30f7672c9adf681c24fb93863b0564a53d9169645b2dff860f26adf6feeb123877d2be58265727045c3425083fef8b3f4e999beaf06b5fa1a71d69e697758762c67150513a766d2fd7b59f29489bec20f786a31daae137ccedcf297ba1716b801af20f1da70a639643c91533690caa224d93c38d9a8d80d93676863d9d1dd9f88099a3e3727fbaeb03a7b0886c285874779c2d4c6be75059544662a4467d947f2708a1472080721b665a591db010570f42108e75105268f761cabc983d24e9ee85d809d1c8ff670d6b5942dfa86bf5db8c88f87193a938097fae86f0fc70a2bf259e9065a65ec1edaf2c3f470f114e961e6aaeeaf64bdb42f29fc9d9d12cee906446ee57fffa5182d19f3d00a41aa5fb39376d414adea678ffd600093aef70baba233879eeebb056f9e807e3cf9c8f6458fc5406595ed52dbe278ce0e4a4b4410d09d487d1cae0754d6e285d617fe5385f18e18b0805e7bf7fe9d6c718ccc06b4317af7459f10a32786c1ae0e1ab61fd5ac70ed24b858d9f9291db845881e5e87b332ff700cac557805bb83b3d07d90eb4f7f19810f1ac976d61304f864bf2b7e84083f4a7f16344b76ce8eba4df5703ba8988f96e2271acb3f718e6e454d7356df79089fe27f56329f3c6c2d52229a8325863a7b228f0c6d02a8e9cbfd517b5ae822ee394a28108e5ee60847db79d324a8e26c64ada166b62677c09069c04a4879633aed50f28e3f10755cb1ae35e45b52e867fd51edd80987da6e515af4a271c062a2481e2532aef457dba917e34744c9964fd2ee016e630b0f342d0af957ad55d33916f95666a343d0fb81782153215b019c5a96095485a13bc8d797a4b7574295445aa7bbcae3e9ab17b55d8fdeaff41f6e777ee884ae949bb97ad1a48d5b26981c3146b0b91987b6c73947fc25c117f672366f05d10b9d42e6a09d9b3122985c4570d2ac1efcd715155c981c69a9b2385b8691576c6a69e4689a51147688b1d99fbfd4e6b7de91425ff8b18ed83e991c206c4830cb97b2e20ddbb1875b8b4f0c200aa3f463317ae37fcebbf0b99d71a7449b9938ef5e58b1fbeb0a08e147a84275263eca2d2f0d9f4aaf6cdb0ce00c7cba1cb826e9dbfeab89c51758adcb888702b1320a123bfd9e95164211324a72fd0c40bddd9df15312e3a1d16aa888bc06027ba6b48c07a5f43ddcf45c21b5e4dad1c2c52d87eac93b02b6b0a00dd067180e67f28f5f4033843eb54b142445a77d8ecbff8bfadb230ab54c354dfa9df7ed394f4fe5be2420b93838f8806b479d6c8552fcba7c393d18484cebe99fc385fcbd60df9fe522944e8a6351b166a1fbef66cae83fc519f1b9109284d31c5b21674fee517a2e28d06cc61844b7f7b788d530e5eba6f28f42c038809a80964815548f02f45d6eadc9ca003248cb1282537bff4e8e8ae658e617f2daeed51093676c389aa49a170f6d312f54df7bdb5767312cbcfbb6da39d8db0c58623a43758fc82275812454f54640e007d93b36199b2cb4a153bf4a76a29a2fc47878c3321470e13174d1cfe14e0efbbc2d04c370c2f1b133caee7b613d8a564399ef3f83ac298f27d370942941ad611e7137df94c5fc831d0989d3f3c9884c7ab79068f97059a83a27dda27900c648f8cc92d92cd6756f93240ca8c234ad7f190f3142f9742953d7bac81c8bc01db86ba32cebf17fa65dc04e8e2e2546198e5a68fa5aa975417d73542ec89a85f95d2abef23e969ca40a4948f8791b0d1f3cb841d92fd10dae6c995d63c47d9425069f95009fccf39fda7eed30a0cd228328793acecd5b65ccd367275595118917117a5e0d7ebae11ffb7df99cefc5be51aca5210448e7936769be0ef7cfedf524ae2e6f9b465f3735b6f7ea0ccd98f316cdf1c8eb184f2937b93f42cb52674e3b941be03bc67b3b3427227564267acf1a0f17971a3f0d20f46b92511929a4739518bcd96ebac2fbd4be7470cc870f0f79a09e5a4a1f6cea0adece8330fee0c0749142a1841e969dfcef7b6bd45f6bcf8846aa998f5a6ebb73f1b2523048c7b55d0064edb28ff0b0ad2d5d8508052220824e5442f37dfa83a5c7ab940b2158930dae8d167fc1d5ecacfecc26789cdbe4997d4223cc3f2b6e138d60f648bcdfbd5e8a99928d1eb8e3f4d73516d86794dabb1671385be9e332bae48be9095245cfb3fed8db04aa0618bd59bf900e4714429b9b816ff5cb4beb261d62d642ee81b731b63d309bd473003066e5b9a8728eb7ecc91c231d834c6bdd336a9d3dadfe16a99bb46364cd58424763af14402120a8867fdbe11d743790ffd7aac1bbb7286fe57cc05ebd2e1c0337ac71c26f0bb28c43696b0a2d354346e9af583f6e0c998ff38096654f9e157c37184aff83e28e96d691673e13dcdfc52242d8f876bdcd22d3dbbfb9a7b15fce706c15daa78659b41ec174ed6ed9580c6dd200eb6e1eec9245ea32726223f250dea142f2fbe1b851db216c12869b2ed2b02a0b423d5045a3c4876bfae847ce3c5965c3aa7594bac5d33a0438be8857bc43a4da60a438036223e604dfc2b9ddfb34c6c8b7db27a77f9c1bd2c3ea316f63fe639cd790c19184e8cb3c7e5666ccccb809eae8dc383294db34a34b99fc6d0c934a2e99dedde09ee8bdd37b4c0bc5ec2daceea498aef3767bdaf5e71d0ab0cb879ad2456aee58830b50846f03894b5820f52a4a3ebcb59ce86ea0c489b45cc6676983fac1490b5e788d1b5d246ecfd89db521959278447fbe1ddc959f168da249673596dfb05b31a0abdb0ee9c833e3a16117f5c3c1c54e4a2c1c2441c758fdce33d66966e6db13d988b283305c66047f074f10711fd5d140aeffd1107382c0236c83ad1eafa4fa892ec52d3eb33ad0cd5e7589b048abab90f4183cfbc83028a5b47378b697a82c8f6e11270ee79290b15ec81ab040269e983b5dfd93f649610c63c64c4d5d3d0854ce19f7413b45a8d8407599a5879fa0efdbc32230d1f335f28716e5c83c9ac2f28814bb74a2619d61baa1bacdd86a425f215c59158b83adc2dea5824d3e5edd44c81cede9d6683a4f98e644d60bf038bdc4bbb764bf75384e6d2276e524d244c3824ee82a02708ffb589d222e0108483c430f97a64aa661ee521d5cb53f232d995e0088ee2ea0428fe22f8c8a486d7782d969bd6dd603defddae6792538d2aaec3c63f70a471e44130d948bfad7ec57ffbea5845e638978448bac6ee96643b3bcdd4630f752f10c719f25263b513cab39a2e56921ec909b6ac3652a70b8d29cee683591bba3618475260fce81a57837ac8295ded25fea927c8bd584998cbf40b6e43a9698b9924cfa814ab377daae4afd237f5069a52cc1f251f042b82ff4d90cab34bc3842500da6a1b2fc234358cc52b82001caf2b3b1387ec17eb092947144edd835439b2cbf14b19071b140931f4ab63138f58a7c6fd25f9622fed68cfb10701c9da9a18f241261b4420653076e420e865381684cdb38e115434bc004b7cbf386dd89f8e313c25e63829dbc7bbd1599d144b1707bb2f4ff07000176232bb7d20c868698a2eac2055dac3ad42bb871bab337378ac629a3db8d5bec1e4ced1d9ae55e5d49239d0345431c152a4ffb77bb862940801280de83a3320523f86b429076368001050e1bc1ee25f0325469d2e7046766235dcf3c395eb157456c5d0bc68ea9d2fbd912456a58e7d68056bb9bf2418fb4f972d1374033e3b14cc65f2eea8cf5bdf6b5e4ce0be843232d46a6ad803730d5bbedb7a808e30c348abcb37f27a75bd0965baf93c6061e9a808d07357dca6ad04bf392c95130fbdf91278ef96180be60bd88f30c313f0a662655270a961af075e2cf9e331cfee7ff7aefa608aa8955deef5b96ad4ccfb4b4b419897ceff3aa053890980368eb2295e941a9eb2b2c9e4c54075c44f0bcabe754ca77ba7177d1ae73c2337bd36bed7232a215f4627e8d1dad7697de6c2695c35ad83941266d7de038472966af914e24a4a1186e7a13dfbe2d2dad45428cbb79ae424bfbbe56500f23d8144df4b320d795d31c4b228618661dd60bcb5c156abd357bcbc3d9a75a40b86d9c85f893e2bd5ae7d7e8530b43decf6566cd01d932d87dd2b3bfe39e19b176bd11fc3af6998a4adbdab712c0b2fc5914ec0496377e5f7b61ec0dbf09362aea58a29e09c674320dbbcd5f5f69864c48ecfe1ddda10feef1aab334a6be265414399c44c7626d02d56a5c976b75cdf2691d7ead4105f92c81c0900c2be26ae1bca1109f9561db8ac9ede1b1c692af9b8fc76bee8cf9b0a2b40605fe2d9895a11785fbfcb3da1d6a4ceff9cdbf0fbc30d10943dbc2ff0cdf0b75ebb647ba81c063dbe229638085eb35ff102c7b7dc7a0879b1cdd8c3dba9d7ad481d00cb60bb9f4058d988ff536be3b22518ca19a791936dd6a5b71fe7d0382884b292dfc8fc3fd74a94ee18639266125b36b954446edda8cb58356aa0dff79971e751552050e0ba8cbbf364c6b1468bbc243db5826899105ffa66183eec8c9454abebf0b9d5d3775d128b862d5140d7fd112f3a6f972655fbfd4b118c09b7ac9967e447f28c19a82491b5217c69a319c866540c6d6cba30b2318025f7291d71446a98b3128055177ecae9b4824312510fa97e805663b9cb6943a424390ebda7d2c50b5c47edb35e81ff94bacfd1fb8ade0991e10aced32bcbb8499bb9f8b211d07843acc126cdb6e7ef1c6e7b55156e23f2171af040cb20ee139740eed85ce3be8b6f3059a9c6a4a8e67a85a0dabc9a4a1de40def9d2f2215ceb7e1f1d5e12103b9e69bd780590f2153e05ada3a79a6efdc6be8c77342f2b13941b9429af3c4e6114a744b29a9eec98f841d1e5fa047acbb1adb9ca868b18d8e4414f7143405bea0292b2bef865c1ab71abed52e472d785a11375fd1ca4d5e3f747a40b58e0f32db580d0ff453932a07f9f70c95353dd633a7d7eca936a1d0dc076cbf99eb8b49ff0ff2a2ae830d141301e8caafb84072175b55d1d00018fe016398673c0a8d046b079e01629da50b6d7c685bbe4585e7cfd344758733f34c32b31d5935782ea15f3e6820216c5991fd42635c895121dfbfd3719dfadeb22ebe02f9737fc48dd8ab12a3f951ef07a96d983ffed315be4352c5eab47fe04b038fd16be90370226532cd7343312475526a8dc72dca4a23ba2a14f5d033c799a379dedf584bfe8caa839385cc90048b1b44ce8220aa22937d7e0b85a1fe778407c68b5ea34653c3cc87268a1480dfd7467188ff1cf38d7f6a7859c384771e3ff109ef572cdd2a7248c47c2f518e65bc690d5973ba671163e3fa6bf42cbf1286ad264ac107e7ca68802ed854a9d906ccee9e57f37384720021031ebbc1a628a07ec8931dad8a4dc862f5a380f3887d10ce8efb453d8ba0dd5071af37984737114669e6034a576479d869857dd1b4318891e7d74459b12e9a5d8a74218c6c2c6c89ec133e8519ebbe2366f0a570d31e142023618aec38ea593fa7145f7bc7f4486bad3081d96e87266cad476eaae33a9c669c67e44821341eef47026ee7d6a3e81c4100a663e9eb7ce909d6417084bd6bda211884a9c2a2c1f7dbe34d38bb14add4662a78eab537a0995a4b44db2fa253bc01de5357320cc5e9f6398e216ee3c3d9e4f36a7dba6d6d6ac72b798d86fb89f7cd21f16cc510be139f373fffb0ba0c13b301fa1fb70d3cc43fd40c48378bc435b6e64a3a5b7d4e48d35af4591c505eda6bee3bf8ed68eb14006728ac075a694f3ae47011931823ae354448eaa4938d0c308316661edd779dffbe966fdc311dacffd66bab6f4458d5c4a8d2dd1248c0b3e9b291d75edafa9847a9ded6840495aaec5e922b90bc43ad0255b40b4edfecd48f7a9cacb7c1e4286a4bba39b7de4d910ba04b7ab2b59b7b201503fbdfe3ad964465277bd96b4701f0136a345ae828edbb8f0b898f4b9186c354432ae947464053c450c59d36c9127ac91338d9aee3c58ce220d9d5abd8f17f206246f80a0264311113d2914f3817595787b16517b49009c46df66e393207ca5fc8e3940bc81ee6fadd3601ae6efb0bfdc5a77209f9906340ed9624b2e50bff75a6314e83d6d4f3e1ecc9e63528121d1b390da9b3e8e88ab080d2efc605a452611d82e41f883a93965dccf79b8eeb0d3f05456d4365479448f59c8165afcb43461e69753dddd07f97822823b5b8919e9d60c0520df809d1a70ac130a27347ac479398c5cfdb649a0e4773f35259f4d14c77828314f06fd3198d272b0a7048046c5849ade0b542bc229be6818d414b3ba2cddd74f1474fee66f3c4f2d05065bbf49660fde2c3962c5fe5bd5e1ba1ab3f7d487d1aa560cf1f016fd78c2e286a9db4b234ea74701197595c9515e37c2c3373c134a72090834cb15e8a4f3aaa6821a38d7e557383caee1bf97bc907a5e7f480781a4e5096b845ea1e542e91e287b99bb62781e163fbc2a3d042b994762217318b5b42fa2e860b21cdb9cf7f7a2c017a322222d28cba179bad97c2ffc675a922e0d360c48d0b243e6941963151ecdabbd36c9b5528aa1a37c500fcf976da5bef380dc70a816f731d4aea23af8caedfe1c179848702a9aa17df6b772d2cd11352234d6336e9979d5307fc2855c37b02022337f03b590ff4b08cd45032a94b16d9f52866a6c7d0b4f0276e3713c063b371a7d68e2b3084e227e8e30c100fd08d073779d2d8b432c4e7a6d872912969d7c9f4a8f87bca2a4995af2f6ff94c2b3c76a789196d91677d24bbe637ffc67a157325d799a512878882bf752f9a211c6cec301aa7042ebeae8c099ea34fb474f61d74b20c488a08db3c4d4c1f8b317e994fff94dcecb809991a0b711f59c4f34ccb6258a416e8761cb39b939da2415e1a4035f67c30fa4ff36e0d4d59a304cea8feb984df40b9c6be29fcfefebf3397b61cec78a7348e1e3c355151d912d7ca7fe944645102abd1559ac591c92c8875131509171109a2fcfd1ca715b145bbd29adb21df70b29bf1a060d8776ca89163335a2cf485e02ecedf32fc25a8647ebc4d23939966fc2b60d09472b3c22b572df5c8f672c5afb155438e35e8b443b401ef55be720f58d1b42401f42bc88a0d837f763c6048518c166883e04d96ee4913eb3f38ac3957ef8b0f29c223da0807f5f2588d8bd02f52ca21d939d430d8dbec9effe4dd77ccd0ad6d73c3a77bd170f552f9f9aded5e75be59fd69cb00110bbf38c3bf2a5693ee4421d46efe4d53c5a6bbb6ee09387764d7612d9f8705c19ddc5348ca71cf0db78dc85a79c8a4bc1087ff1f28f43298153d86cef1bdb5d36dc44273b14cd6f25857c65cc7bd40040040157d422daadd843fdd5a45bc8854d121aefe91abc135e7808aa31f61dcc6ae58f0f5a56737fce2795fadd9cc0f40f3c525584a4c2d5926a2b4086b18c610fbe498df515fea6bcedc207f2e2dfdf16d59ae52ede71324f4b9845aeb8560e8a8740cd5e0783c938f667bd31b948b51a28144680a94e8b0df5d17abd916799ccff55d29c1ed33fefd1fb1c833e1fec12dd8d5b092a11cbbb7b221b9ab17747708aa25005064d3533c6236b1231bdc773efe6257fe67ec02b822e39a37253a3478eec0739033a38cc29822c76b8745f02d5c72dcb82a2a2da77a036042e2855bd034027b4e7f8bc2b3430df57bb9fe53920195abae95e479d8254be53704cb9a3a7cf533aa748b9870eb549c4ae2f8aced99be3e51c18c599785b010f848c75f159314a529053779781a85ea8b8b186b6f37e2d90a7471cda1b28ba32b4957affc81562b038eceff9cba281f3aac0ca04adf79961e5f23ae521a5e58bd10faca6088f7903cfe983b3ea50b228fca963c352d7a804b5242bb0867b460b7a7a65ffb2baf0ce8b7b886721214c96169c7d4951ce085142f2fa068693928cb5ea448a355a24169eb2e1ec2be5400ee4c623760a2edb3cd920a60baa1b8c325430d38d581f4d137a88dffa0b9f0f485dbd1c816f7c5a07a78811ce10acc9c3c9da823634dd884fce9d8caad8d1446f0f0849c877e74fac32b3a8b785bfb37059a48026ff9c9e66d56d1d3aa16c1830ac7556e79e70376f418dae67d3270e75f13e8507de0172ff90ac44d67c478842939bfb3e08c28cd5c5cb0b13404475bfaf6c3d59a9f534bfe6a45768468c565babcfdbe2e043e08112b79869ae71c6f7e34e778aceb7b377b985cc9e67258ee7c7ddc5c8d4524bc8e510cf9d9cd08c754d2688d72ec713692c5f050511f9ab6b5f233640d44e71dc5c524abf7f5b73c1a83afa137445de158744b1fde057c2eaabe488a5491756592b6d3e8ffff986d7bf52c642094d4682d2441434343f93fa3166a7beeae3b28c9a7cb43ccbb5e77824af57eaa093eea95c3a13709fce9564987529ba03acfbe4203bdc89945c87e8fd893191039b95a67d1deb801a95b11e5cdfa70a90e73918220c5a5a6f609d615d72471dfbe86128db06949dbf30a9f89c4fc084be678c969255f050d6a864c42fed4d3a4175938bcb27f8fc585af613ad94b98380155097da87a2d5cc9205d1abb05064e89a1c5168dd87891ee31ffef7a66da0952043ce01a41765c65569a7aa50a10006da4beeefbfb3da2c12ffccb63e0b29357c585673b02a75b656c2071a1291a4b634a6252bf000f867e71952237389a3fbb4ba9907f79e4eb6c2e3f7098a24ca7f3238388ace0cf09339f2bd58a2d8fd738969345cfe845cd505ada42785568f78d2dfc307345c37894f362d2e655d7e137cbdfba174e1f522b7d54b4a8e093a429bc26feccd606eede54769eeb576985141a8507a47f7ed6fb1f91937d1c66d4e37647d7525383929c521840cab7e3e17296a405c9f5dc2a4edcef691f2a395c1f0a0f2f73d2fb6a01b59f877588fbc7d248d4b37a737abf0249cf245c4fa6a23b6783f79e97a85910d76cab9e9a277808d0d4fd6bdf8b3ece86e6fea7c685f0eb0dbf7c992092a162bcd69aca57e91aeee0cac870d7bba151b19bedfa15358d30cbb4c9754f3bf4ec5adb9c756115450a823a94d3418e846d8e30cee7c529dd2382649fe622888cba9a5b12fed8bffc3e4ebc1da6722cab83364ba79e1c8a46165948b73cf72a39e52a4b8be08ad86eba818bf8c62cb3ac588d7392439eafb5a3debd131103101c33b2538374ee0df648af4ee338899917cf46d9a450ad1d2c140532c00a5cee0c112791e486566b030ac56dbf048ae2bae788685469680bf27c8b970b95f2dcd84e3123c2771814c9dca9aac9f673f914cdd5dfeb8ea40ba737c9e1ae727f93b2fd802a94ebba4e17de842fc2295011a93a559873e812d6f7bf2da0f5d163044bf9596ceed3e4ea22b474ea5a64561667dc9fdcbe1e1edf3b4d406860193e518ad469c74616999af5291f777779a5ec86846a63275996fd5c890d8f02b4e2f51b3918993813c7b6c4ab20fb3f10f499538ba44487e84352798e163844e037e8bcd9667c5e24e9e1a5d7dba511d93f6234b38dbef8de2d0f522ecc08c41b52c4ba4adc252e344b09b9f654e145dab9597a2657207bcd73e7bc4872e346b7e16c14d972d02e58e0478bab7dfb9ccedf53f63f74dbdf1cc1e324224dbe1a520a2f1c04b46af83f9abe81bd0eaee9fac4b6d9d85663e3c43ab16d1b6de3c6b66ddbb66ddb7693f6bbdbe7fdfec1ec7ded3db3066b4de14abb93063916c6f71f7d9a9edb152ef5039203731a79637fbe98cab9bb05663662b16708c5ca833d48a4872d4d20a696429d4f78e3353891c66a7a1e55be2ba4ce5350306b405a42aeea34d685f834cfcd322363848a1f5378f940359ab441c01de374671c080393dd7cd32c576a24cf29e57b5ff296c1bd88562f68fa9ac32ec6618fba7d8101d1aa870244e90952624b4ebbac40090e7400f898ba915b4067f7bf7a84123c48b4b90674acbb7dbc28820a7067e94e13b8fe03a5b7f6c1a4bca435e6d1d25e6c8751c284ae51aa514cb2e93911a06c2fc1c1a3248ca8e0bef14dba9f367ea030375536e21e1e5a6b5443cedd55fad0cbb4a85151bc99efdbbde30988e989de524ac038e39645c0991793c58ee68672a36bd1c6c8563e27f7fb228d689999d24cf8b46bbf294b52361bea2827d27fc0adbe2376f1f7d80f48d11e7fc3c8392cbb1ce77e2ec9b86e0985edb9d8c2a8dcff79beffee7b206289edd85ccd7434093d17804e1ce1b4f36e6cc9d431e35129d5ec93e4433e639642ef26eebdf0d85fdfd3482e1fafbb44a561905e0861736cb84ccf0b08354f87845dfa21ec24a510ba26fc13b0ddad96c03baa28882e9ca5f0406a9bbce998779bd2edc822852d832d81c0e1be265891ca32239434a529a119a1290bbf8b18d07a210b89d65f65ecf96b608dc7f460599fcefc58901ba61a93592e1c5f4c1dd443b19204e99e682e76dca783f969c4c84d0df37f7f3378c8666aa78cca454e8624004487dcfb3deaea9999c1eb206ff7578e6be76b721054637a140b00cb94902b40584df4d37c185ddf8b55d3bd94df13d0640c626a5b24ad6d2acdf24c515900bde1af3396a766930b4f2df45fe61ff06a36627c8524cd9308819d4fb55f3789919f830831123243360d045afbb1afd0195bd5eec63e94754804ca938e9326777b9cd4379ea29c70969e0f89552b8c27c3e6c1bcbeca627d139de524e998bc8d449fdee5feff2ec5d769c802ab495d5d0d4e43990e003e7d71dc96621435f5127531f8cce123d65911bd7f9b6050eb722391df27a6ff3bc493b2426b293316caf72e32acd81b645b20b6d31feef02589f6d62d81dcb75abdab383e0a2af147fd8533480878d905eb8f1761e043a125b1cfe507ff9549d0de7af6a7ce3e5e801cb37fe4d70ac506f52b1e16407be8c08985b6f67a173b96f464f43c16cf2351d38e77bb65ea0025a742979f21251c546aa6256483fa2e182ae89fd55e2318f2cb2ded2ee265ea24005c459723fe8bc981b1c6a32ce712b7f1b71edcf97b771fd0af25c3a1b2c7a49965230d9988ba135924a50aa2d8c238ff8534b91243d97847fe24b36a6e61e6a911c4a147479277bd2b51d7534f2647728057cda6b4220eb30ec36b2aaa68df92674cb7e78fdca0fe73c289417123149a6583df2489fd584028774a7bc28d3aa0e77904cc9603efcd4f7ab0582dbf8fc1484275ab454a0c4e48f4ca741ba5e98258f40fd9dbbff4bd70d6fd0452dbc56d02dd3a8aa38c8e639987916ae779e5918a89aa355f9f1bce6375545ab99c62b17d83e7b0c9766b8fba0b35ddbbc67aa173d802a3b0057b2e633c9bd88d747dc485bcd53d8ab39ad6c7680feb9880863b839f27f538482df595b595eb8b97910f004ccca319bf085651c20a24a1280d12be56e56d61e3ac74698b7e11e1e82ecd1a877ae9ad18df55ffa397142ac3d5acbe276408444b9ebb3786fc16a9f8a795820c780c4dfcc64c7e53f4b22f82a778661dd5c6dcefa7e548b7f227b49e60148fb491fbb8555b9b893aec7158943241f13774b2fdebf82f6861cd5e87948a37af823f875e5cf4c875d7b9a2eaee223fb37ecb4f1447c15a667b4abb2edd6f98799a66bdbeb7575df1e102b3db7f29a479fdf87a703c6c2ec732d0d176f6a7db9c91c4cdc88f0f23a20e1155daec7e473e2562ddd156b4e503f85bcc94e565f680837985b76b184f24d9903602b694593d5838f0aba9ac6fba39904984e4c819b95e5eaef76f1b824e8e0203321042382d954cc3b942a5edb9e841d91976224a4d05a4491eff5236ef621002d258d649f5e8e65bf7c2673543ac299d3cdb0944df5dadc8f25088e5e2f7a316cbad5ee46b1dd45568fdea4123905f7d38b978c0a217a84b37b5b4b941bc602bfa1f5ab4ec1463d5907973e62b98dcb6fbb5e49009266d21d1b24085274cd66f4eab3da510bc0f114aad24c2fd84c4f81ddfba2e557835ca8d84013b9c3d7c96bf3828e828c28c3a800546463594b846e24f4bfa47efdf7e211d4d283aa44c20bac05372d7994a7802284ccb699856bc5d4756783f1e408d1bb3abadf06b21b3e7594520bef184b58b79fa4c381714ec36ea7a2e3c886f745957fb2d9acb16ac2c0507daa599db0045ec8f238cca07cd21429769f4f9a35df93d478bebfa299b4e172105052e44c07a1751775f46d7492eafcb7a4230b883abadb5ae7532d0f72cdf5422093cabc867c8bbb65f9310068dbd640a1e6e793111e395948a848d7ba1ac170a62ccc0660cf16bec3fb90a643abe6014700c9241202ac28e9ab6bdc4f293ca51bffa0a034d70e320c40b09aaa89407231a71d956d4138bd44379d11f158e1b828cfc1c510101327c8b453a621eb59de21a0f6d81d4b4ae7d1e2ac78e82c30176fb323b6227a8a0fdf0231cbe39ea756e7b9f1bbfef1807acdf23c981fb69b431e6f60d4d9026db6677fd4e55f3b76f8d67074956349123012f917332174a41e83e3f86997587dd1c8f53867e15e2bb36b2de7e77fed36f026528cbd5000ee38ebe1de940d9c794101873fbdf11e8c4d549b2204d3d7af857883907b7eca729c42be345fd59ed5821898477515b193c9611b62a91f9734b0817d38ff3ddee1789e9f696adf73694e1a3302e803b4f679e02723b35dc0251c04ddc3af53e09a7d1fa87eca360ee84efe5ed1967f33550a023d3bceee39b09266ae5b5ad9d98045e3e9b45d7c64564061772aab5e1c133cd782d8a4cb01f1e373e1ffd56bfbd50c9e34b6f322f2bd9a413cba4dc79a4f4d73d0ddcee7bc51719cd589fdc1d6222c6018e7fed96d344835d7fd2333bae4a3c2204b667e8868383746494c1ecc1d0e26e5c4bdeb3922eea0a165b5dda968a2ca080d040716751be78515b1607caacd47066384441d6112120950da2f77a470a4cae69861f5bd82222492f103b5f3b650f46b5b60295841c893e6ac4237a10dd8c98d1a9329c76903663ac7ac96935bd2036c1214038405649ad27d888b102e876d75d18b0f1acfb0966b8b1f5c99be331e1e816370c462355c10a8f71e5eee7f8f789238a1242859093e58a47db84d1872fd965b4398b16920060573f254ff23fc22fffd85f7c499c2840e9552a226bc01faa8c824f6023afb374a24650aa712b1261f5aa3fa2772eb57d555e767d35905f8d196fffb52939f3c3cd742a7618d6395c4ad65a6caca3f2e97d0d8b70e8c4b1177d9889d9a7a85e1d682eaa10dbfffab6cab0652d69cc07ae9e83c7060fb7261cdd4327878d0ee6a66adf7d04d5d823d8edd5be138f6bc31fd755e8dcf26d8f00a1f77f8ba8e50ac8ff4e09e99a9d3fa909d7410a03100ff861a26d26dfa8b357a93ba4167f8dd1b1d3aa9dbef59d6c4e5c273e69fc0ce9e6afdd5a26dbb6ebd3b79131713e5f08e9ae41649e4153c013bdcd2249a1d6fb98e9d3e2da116b27a05d7f51b1656ef7a349b9dc26d576c3f8397687156c09fbc61cb702b15afe6a0d4f0b4108679494793a80353355cbed86a06e8270837810521a006e6e70fea957def85be976f94a03a35eb4c8f9111186565db3345c66ef5672bd4161d27369f7efe22c060a7a28481351d45851eab2b28e79b7c931483d5434712596320f18ef119fb66f5b3575af8c1e58bfc4b7ead6a390842c8eb226fefce41bd84a787d731ff14e7fac4b2a52d5deb4abae3399c4ec14f45c9ec5c133bed06fa2de84b3b9ced11d5444b9fd3084c560f18fda12d4537fd2b2f623244ccedc3e35b3a15c784d756fd1c6d8e4cba4bbadd30ebf9dce4a432bdc4a769e32781192ecde3719c4885bce6ab7ac7ebb7b921602d39c394f01842a361ea664fc8698135c546b48bc25a6ac28a11cb1418fc606fc6307572aa3a343fa93d1c48a0b23f87eb8b79f49cce5c179410903b8ec394bc99fab867d8c6e8907f8540e9978fcf31899b2698e80d6d2d896d225a229c737e75157421a0973756fbef4cd89792fe5f543e59f0775ce189ab69c2c72dd911c675a9bab6613e41ef25f4e72983ce318adb2ead67417f015f4d3cadaecd85382c481a953c194630023cf076a260721559ec2322d95f3eb3d1c93afeb9048ebf3c5aeafab0bd03c1ab3282dd6d588dff93e55c9855fba47598c2088a1c27fd9ecfe73f368ec88c3e2227084cbf527bc81a06469192d2c5a481d5929c0ae0835b6814763ca95475c17b1fad8eea243fad8ac8c711919319c6ef6a26f762269f024390147a473c0fc4862e7baf1d60390742a0e9a4d9be836572c64eb3bb8281dfe22d162d6a7bbe756b7c7d70e9ab07315fdccc0773b949eb5a6a39b469ec54cc0e55563857998063838163a7248f4fa0eb312b9ee954034f78922be24b2074993a8ec8107588e43491cc53235e284dcda9ab8f03f5743668e0907692e1c46b482a591de7c3e1191afa6055e240fb6dae3f603a2d86c2da7832b6d2dea726394f3550daf92365216a7bd74ec724653c2ead1861ca3c8051f110f39920769f1f7767ab39a0f04a78c4881bff9d3f4fde6e384c2b8154bb8b15b96bec23e03e76ead2da81c7f2f2a732823e82e6e0618d3d3696b7b7827e16ce7969acfb33868184ea34c55cca8cb5fbe6e7a73afdb93389f5e7b202c965b62c9b05c862e29c5e016f4d5cff11f2f3b9e1e1e328012a033dd71409d516dd9be0892296da50550fb5de22be9ad97aea4e7d91e9dfdca5246f22bd77f885f5ebc14f7c933bc6848f995af6729bd79d7622b522105a7b8c17fabb8e81de5690c64cfd6c9c1d0209fc4465f576e7268ba2e740f931e4b2eb8acb7b1ec565051a19ad4538af11cd71bf75a73fb3d3458a3d4fb3abca819200327658f12611104916d652c667a7107b975bc6bca9a40c0a63045384b95ae9f245faf8ac2159b11bb58e8075360869a01034602a293b4c48355bfbea1e868cb5a4a1f0d1a23010b185d984abecdb248f1fe2215b17aa5379dce2200161ce7a3f5e6b0072cd50ca029e25a51b3bc8a1f1c87d09cb4cde4fd219450936c5b8608f7f8c4c181e61565a5b7e41d16524d68faf4eafe84f6846166acb82e1b8bb7aa53f65d04449a88bef2e5c4ee956dea53f5fc9735ff6264f966c77ae189b5178290a57e11d587591b4cb6d6553f8fd2c6af875b9d239af5a127ad99a8ea76d63a380909fbff5268c464fbb407a5d706ccab6129bd159bf4038fe94ef8d724fdae4e79b3bc83a81584d2f0c43519f344b2a28eb6aed7d232e9d05b4f7255f1d89c3ea79f11e47050300a4242a2f1d5d6b6f0a759e13a19c9ccd0c01ad98905836624fca99efc63bd9779b4cdd340972e5d64cc78a5907421df7ed43d350ea4508ef895a8075b69c8afe56ea2f705884fe90ba7d32d90487135b86ccda6baded4f398b1b0b69c808014751cc9882aefc09ba503ea3dd61cecddab5cb50c31c2313735193855ea2f31a36bbd5c1edafc60848fb497f9d269d7f34d1a2e6dcdd458b0b1893224ed32457dfca66cd7a2233775dd1be7091b7f5c1b7c7e309aa554964ee26688954518fb91dc2391244d42e0b942c128822f71bebafd0e4892d0c34c50e52d0257c59a8c85e348da7fe1c0ce27849569fb820838d42b64bbf1f8a9a0e1438f21096716aaf9a7d64ba8af1732003275172aba5eff7ee56b49a808cbee057c2bbeabfc429993b27387819b6b39082c2e60d03420f52cc32ef2bf5ba7e2a0b375154eebfa3077e29ed860970d92095302a029fee203f94433219c6aa69e05b970b29adb4f17a847f33746ec7bf292c3c228497f15629038e8c5f405f875212667ae22cb92e924faa3e5d2f4518ea688616cdb4061f499a1f163de79eac835cd7978fca0a773d7a0f6f4475090e93db3daa9a6da3c4b490ec4b612d07d33bd3021d0488f05b97b6d67be22e50ccc350235502b9af437c3982a50f4d03ee78724bdebef491d3e8904aae84bf4a724231f97f84f1bf7a47d007fa75819318bb1a082450d6335452960f32e7278ac32d95e3229f5f6cfd5962845639ba367a50907f81d36b7a93e9c249ed111a30a974a77847d16b686cda04f2f1713becc8398720e26799b2b6a2fc3340e1ee4e73b86dfbb11f00e4c1fbe96f746acdfe56301673c46146daf42e86f1e4ee4344d243a6c74cb07c35365293d6938952f0141b275c5d59e705215f7537a6ba6499c0798b21b483ade79b08e04617675cad163c86d769f8e7c98210f35d6a12e43bf2f6c8505b8d2a58205224d5528033c4d342a9eebba33ae021bffd089e3572a0b3e24a3a7b1dbe942fce3f847bad2a3aebe54b79467a4244d892f93a6877b1d3f054c5885f6420ac3a40abe076b3207b6763ef755652ba00c9d533580c7da0f23cf8e035a9cdd2823f189bb713e9a351e069806669abc4c24980fd6131a4105c440e5195718c2ea066ccea98770ce8666aba7bcba8c4e4e8dc5ed3057cdcf54656cc4aacc5375b549ecb259205a76e34bddd695e15912002705fa4243274395d2109006c6b91b078973015200808daca956d81ffe0773a83868634d49c342fdb15a343c238acdd5ace8f0c8385581138c05b9094e10c61fe59282bb1960678c82ac6fd4f204d91bba1aa42193d2a284af58a241137e52e178f2b001b1eb09a5f87cf0d2da0924426236093ebf6bb65ed3ed5209b01898d77ee3d729e0da18e4e887591e996f0e73bf38f6c9f29ba53db1e556def82f8814a241c11c0daf82aced6b3b01b08e4372ac93b44180025db14a3501354f1a002cd3d2e1a317f7f1f8ffc82191c1e498f3e03e77e51beacde6e7d5744b1df1d8f179768cc2c600c2c87bbdc92c9dc1b2d72b4cddb0112546f839b86a118af1704f10df40868807a869d91e94bda3fcabb845b260ffb157a577f2443cd820668b87dd93457312cc73e4fb75b3ccd1d1c6c6f89fcf9715aa7496ea0cfdb75849731905fcb1a8d5ea95e98ae473960eb96cc36badb0c91c8d3f4fa7a9cd2000f51cc26c541c98b89b7b449e3bb718554782d768a8b058c3725fef5f8311c5c9216502fc6b87249d38d36fcab432af18e3552924c600000000]
f956d283ee3f8eaa3274509e468fe47fce35f87b82532e21411032e552b2012f 广播失败,原因 fail to broadcast:
Insight API return Errors: the transaction was rejected by network rules.
64: too-long-mempool-chain
 Insight API return Errors: 
the transaction was rejected by network rules.

64: too-long-mempool-chain

Execution then halted, without retrying.

over-large transaction when database wiped

I lost my .bsv folder and regenerated it using my private key.

Unfortunately, my next upload dies with this:

Start Broadcasting, it may take a while and several block confirmation...
d59186c210ad88f5f427e49fce8b34230d07b5eecf3f35a86b421b5232508bbd 广播失败,原因 fail to broadcast:
the transaction was rejected by network rules.
64: tx-size

webupload.html glitch

I was trying out webupload.html and for some reason it doesn't retry when the mempool is full. Maybe it has something to do with getTX and mattercloud, unsure.

[+] Verifying Tasks
MatterCloud API return Errors: 500
the transaction was rejected by network rules.

64: too-long-mempool-chain
获取TX时发生错误 Error acquring TX 5c93a513d46209c3405abab94dd8cbdeb485ad6743494364071998c566f3b350
Error: Request failed with status code 404

If it is getTX, I don't know if it's helpful to mention that I have some nascent code to use other apis at https://github.com/xloem/bitfiles/blob/master/whatsonchain.js#L38 for whatsonchain and https://github.com/xloem/bitfiles/blob/master/blockchair.js#L54 for blockchair. These apis also do transaction broadcasting.

I haven't really looked into the cause of this error yet.

I was just trying to upload webupload.html to the blockchain so it could self-host ^_^

findExist: gateway timeout

I sometimes get this repeatedly while bsvup is checking if a file exists:

获取TX时发生错误 Error acquring TX                                                                                    
<html>                                                                                                               
<head><title>504 Gateway Time-out</title></head>                                                                      
<body bgcolor="white">                                                                                                
<center><h1>504 Gateway Time-out</h1></center>                                                                        
</body>                                                                                                               
</html>                                                                                                               

I'm worried it may be falsely deciding the file does not exist when it does. Would it make sense to wait 1 second on a 504 and try again?

Corruption with latest version.

I'm processing an issue where a large upload stopped without finishing. The error given was simply 'the transaction was rejected by network rules. too-long-mempool-txn' with nothing extra and abnormal, but I have lost the exact output pending risking more money to test again.

When trying to resume this upload, the resume does not complete. The first one dies with

Insight API return Errors: the transaction was rejected by network rules.
transaction already in block chain
 Insight API return Errors: 
the transaction was rejected by network rules.

The rest appear to die with

Insight API return Errors: the transaction was rejected by network rules.
Missing inputs
 Insight API return Errors: 
the transaction was rejected by network rules.

Insight can return 'Missing inputs' for successful transactions.

I occasionally get stuck in an upload loop because the code doesn't realize the transactions have been successfully broadcast. Insight keeps returning 'Missing inputs', but the transactions are on the blockchain.

I detected this locally using the latest version of bitcore-explorers, which is unfortunately bitpay/bitcore-explorers#1f1334f7ea7f75ed80f62d379613a961a66403f2, and calling insight.getTransaction(txid, (err, tx) => {}) to see if the transaction was already in the blockchain.

Files lost when unconfirmed transactions not included in next block

This obviously happens more when fees are reduced.

I tend to get confused from frustration when this happens, so a fix I submit may be kinda messy, but I'll likely try to make one to resolve my local uploads.

I'm thinking of adding a command that verifies transactions in tx/ are on the network and resends them if they aren't.

I'm thinking of changing the verification step, maybe to not remove transactions until they are confirmed, by making more queries or sending redundant broadcasts.

Changes to insight / mattercloud

  1. Mattercloud is rejecting frequent transactions with an error bsvup doesn't recognize
  2. Mattercloud is rejecting OP_RETURN transactions that are not preceded by OP_FALSE due to genesis script changes

I might find time to work on this within the next day or two, if so you'll likely see a PR

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.