Repository: tradingstrategy-ai/web3-ethereum-defi (language: python)

Issue:
Uniswap v3: liquidity
Measure liquidity in a Uniswap v3 pool
Investigate Uniswap v3 and getting historical price data in good format
- Github and other searches to find Python (and JavaScript) open source examples for getting data out from Uniswap v3
- Data structure how to store this data in the (SQL) database for historical queries

Question that needs to be answered:

- Given `(chain id, Uniswap v3 deployment address)`
- What is the historical price for buy/sell `(timestamp, trading pair, token0 quantity in)` -> `token1 quantity out`

Can be a single pool price at milestone 1, later expanded to cover auto routing and multi-hop trades.



Discussion / hints:

Related Uniswap v3 in-house project 

https://github.com/Uniswap/smart-order-router/blob/main/src/routers/alpha-router/functions/get-candidate-pools.ts
Search on Github and PyPI about Python and Uniswap v3 reveals that there isn't any one library that could do this at the moment. In short the code to get data out of Uniswap v3 is very fragmented for the time being. 
Some notable ones are:
* [uniswap-python](https://github.com/uniswap-python/uniswap-python): although the integration involves mostly around making trades and v3 support is still in early development, some part of the code could be useful in the future: https://github.com/uniswap-python/uniswap-python/issues/95. The code also has `pytest` tests (run on mainnet fork), MIT license
* [Active strategy framework](https://github.com/GammaStrategies/active-strategy-framework/) from GammaStrategies / VisorFinance has some functions to get pool data at https://github.com/GammaStrategies/active-strategy-framework/blob/main/GetPoolData.py. It's interesting to see several different solutions there: Google Bigquery blockchain-etl, thegraph and bitquery. No license specified
* [Oracle](https://github.com/stakewise/oracle) from Stakewise: https://github.com/stakewise/oracle/blob/master/oracle/oracle/distributor/uniswap_v3.py. GPLv3 license
* Misc utils from ranges.fi: https://github.com/Ranges-fi/Uni_v3_utils. Gamma also referenced this from their code above. GPLv3 license

GraphQL based solution can use existing subgraphs like:
* Uniswap: https://thegraph.com/hosted-service/subgraph/uniswap/uniswap-v3
* Visor: https://thegraph.com/hosted-service/subgraph/visorfinance/visor
* Stakewise: https://api.thegraph.com/subgraphs/name/stakewise/uniswap-v3-mainnet

There are several onchain oracle solutions too, might not be very useful for above purpose:
* https://github.com/sbvegan/uniswap-v3-pool-oracle
* https://github.com/sohkai/uniswap-v3-spot-twap-oracle
We need to decide if we take JSON-RPC event-based approach or GraphQL based approach. 
- GraphQL might be more generic and we can reuse existing graphs
- GraphQL adds very complex dependency if we want (and we want) to be able to run locally


Let's tackle the Uni v3 deployment first. 

- We are currently only hosting Sushiswap contracts so we need to recreate the workflow to build in Uni v3 contracts compield
- The same approach that we use for Sushiswap contracts likely works for Uniswap contracts as well - we pull them in as Git submodules, then use their native tooltchain to compile contracts and then copy over the compiled binary artifacts to our `abi` folder



Some notebooks dealing with Uniswap v3 backtesting

https://github.com/nguyenhieuec/uniswap_backtester/blob/master/notebooks/monte_carlo_simulation.ipynb
Also saw this

https://ethereum.stackexchange.com/a/123333/620
> Also saw this
> 
> https://ethereum.stackexchange.com/a/123333/620

I added a test for that method this morning: https://github.com/tradingstrategy-ai/eth-hentai/pull/6/files#diff-59cf62830f8e4e3131187561bfa500d2fdf0a14a48a9c33d91fbc1867a44ad80R111-R115
There are some good insights in the answer though

Fix patch:
diff --git a/.gitignore b/.gitignore
index 3ae72845..4827b6ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,5 +18,6 @@ docs/build
 docs/source/_autosummary*
 
 # Some read-uniswap-v2-pairs.py dynamic files
-uni-v2-events.csv
-uni-v2-last-block-state.txt
\ No newline at end of file
+uni-v2-last-block-state.txt
+
+*.csv
\ No newline at end of file
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 339eaede..7f85438a 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -59,6 +59,8 @@ Uniswap v3 API documentation
    eth_defi.uniswap_v3.deployment
    eth_defi.uniswap_v3.constants
    eth_defi.uniswap_v3.utils
+   eth_defi.uniswap_v3.liquidity
+   eth_defi.uniswap_v3.events
    eth_defi.uniswap_v3.price
 
 High speed event reader documentation
diff --git a/eth_defi/event_reader/conversion.py b/eth_defi/event_reader/conversion.py
index dc6541e9..5734e0e5 100644
--- a/eth_defi/event_reader/conversion.py
+++ b/eth_defi/event_reader/conversion.py
@@ -1,18 +1,16 @@
 """Raw log event data conversion helpers."""
-from typing import List
-
 from eth_typing import ChecksumAddress
 from web3 import Web3
 
 
-def decode_data(data: str) -> List[bytes]:
+def decode_data(data: str) -> list[bytes]:
     """Split data of a log to uin256 results"""
 
     # {'address': '0x5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f', 'blockHash': '0x359d1dc4f14f9a07cba3ae8416958978ce98f78ad7b8d505925dad9722081f04', 'blockNumber': '0x98b723', 'data': '0x000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dc0000000000000000000000000000000000000000000000000000000000000001', 'logIndex': '0x22', 'removed': False, 'topics': ['0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9', '0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', '0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'], 'transactionHash': '0xd07cbde817318492092cc7a27b3064a69bd893c01cb593d6029683ffd290ab3a', 'transactionIndex': '0x26', 'event': <class 'web3._utils.datatypes.PairCreated'>, 'timestamp': 1588710145}
     b = bytes.fromhex(data[2:])
     entries = []
     for i in range(0, len(b), 32):
-        entries.append(b[i: i + 32])
+        entries.append(b[i : i + 32])
     return entries
 
 
@@ -28,15 +26,13 @@ def convert_uint256_bytes_to_address(raw: bytes) -> ChecksumAddress:
     return Web3.toChecksumAddress(raw[12:])
 
 
-def convert_uint256_bytes_to_int(bytes32: bytes) -> int:
-    """Convert raw bytes32 from log data to addresses uints.
-    """
-    val = int.from_bytes(bytes32, "big")
-    return val
+def convert_uint256_bytes_to_int(bytes32: bytes, *, signed: bool = False) -> int:
+    """Convert raw bytes32 from log data to addresses uints."""
+    return int.from_bytes(bytes32, "big", signed=signed)
 
 
 def convert_uint256_string_to_address(bytes32: str) -> ChecksumAddress:
-    """Convert raw uin256 from log data to addresses.
+    """Convert raw uint256 from log data to address.
 
     .. note ::
 
@@ -50,3 +46,14 @@ def convert_uint256_string_to_address(bytes32: str) -> ChecksumAddress:
     raw = bytes.fromhex(bytes32[2:])
     assert len(raw) == 32
     return Web3.toChecksumAddress(raw[12:])
+
+
+def convert_uint256_string_to_int(bytes32: str, *, signed: bool = False) -> int:
+    """Convert raw uint256 from log data to int.
+
+    :param bytes32:
+        E.g. `0x00000000000000000000000006af07097c9eeb7fd685c692751d5c66db49c215`
+    """
+    assert bytes32.startswith("0x")
+    raw = bytes.fromhex(bytes32[2:])
+    return int.from_bytes(raw, "big", signed=signed)
diff --git a/eth_defi/uniswap_v3/constants.py b/eth_defi/uniswap_v3/constants.py
index 6babb708..91529d8a 100644
--- a/eth_defi/uniswap_v3/constants.py
+++ b/eth_defi/uniswap_v3/constants.py
@@ -19,6 +19,10 @@
 }
 
 
+UNISWAP_V3_FACTORY_ADDRESS = "0x1F98431c8aD98523631AE4a59f267346ea31F984"
+UNISWAP_V3_FACTORY_CREATED_AT_BLOCK = 12369621
+UNISWAP_V3_SUBGRAPH_URL = "https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3"
+
 # https://etherscan.io/address/0x1F98431c8aD98523631AE4a59f267346ea31F984#code
 UNISWAP_V3_FACTORY_BYTECODE = """0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063890357301161005b578063890357301461013b5780638a7c195f146101855780638da5cb5b146101b0578063a1671295146101b85761007d565b806313af4035146100825780631698ee82146100aa57806322afcccb14610102575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166101f4565b005b6100e6600480360360608110156100c057600080fd5b5080356001600160a01b03908116916020810135909116906040013562ffffff16610267565b604080516001600160a01b039092168252519081900360200190f35b6101246004803603602081101561011857600080fd5b503562ffffff16610293565b6040805160029290920b8252519081900360200190f35b6101436102a8565b604080516001600160a01b0396871681529486166020860152929094168383015262ffffff16606083015260029290920b608082015290519081900360a00190f35b6100a86004803603604081101561019b57600080fd5b5062ffffff813516906020013560020b6102de565b6100e66103a1565b6100e6600480360360608110156101ce57600080fd5b5080356001600160a01b03908116916020810135909116906040013562ffffff166103b0565b6003546001600160a01b0316331461020b57600080fd5b6003546040516001600160a01b038084169216907fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60056020908152600093845260408085208252928452828420905282529020546001600160a01b031681565b60046020526000908152604090205460020b81565b600054600154600280546001600160a01b03938416939283169281169162ffffff600160a01b83041691600160b81b9004900b85565b6003546001600160a01b031633146102f557600080fd5b620f42408262ffffff161061030957600080fd5b60008160020b13801561032057506140008160020b125b61032957600080fd5b62ffffff8216600090815260046020526040902054600290810b900b1561034f57600080fd5b62ffffff828116600081815260046020526040808220805462ffffff1916600287900b958616179055517fc66a3fdf07232cdd185febcc6579d408c241b47ae2f9907d84be655141eeaecc9190a35050565b6003546001600160a01b031681565b60006103ba610546565b826001600160a01b0316846001600160a01b031614156103d957600080fd5b600080846001600160a01b0316866001600160a01b0316106103fc5784866103ff565b85855b90925090506001600160a01b03821661041757600080fd5b62ffffff8416600090815260046020526040902054600290810b9081900b61043e57600080fd5b6001600160a01b0383811660009081526005602090815260408083208685168452825280832062ffffff8a168452909152902054161561047d57600080fd5b61048a308484888561057d565b6001600160a01b03808516600081815260056020818152604080842089871680865290835281852062ffffff8e168087529084528286208054988a166001600160a01b0319998a1681179091558287529484528286208787528452828620818752845294829020805490971684179096558051600289900b815291820192909252815195995091947f783cca1c0412dd0d695e784568c96da2e9c22ff989357a2e8b1d9b2b4e6b71189281900390910190a45050509392505050565b306001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984161461057b57600080fd5b565b6040805160a0810182526001600160a01b03878116808352878216602080850182905292881684860181905262ffffff888116606080880182905260028a810b6080998a01819052600080546001600160a01b03199081169099178155600180548a1689179055825490981686177fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff16600160a01b8502177fffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffff16600160b81b91830b9095160293909317909255875180870194909452838801929092528281019190915285518083039091018152930193849052825192909101919091209091610686906106f5565b8190604051809103906000f59050801580156106a6573d6000803e3d6000fd5b50600080546001600160a01b0319908116909155600180549091169055600280547fffffffffffff00000000000000000000000000000000000000000000000000001690559695505050505050565b6158c8806107038339019056fe6101606040523480156200001257600080fd5b503060601b60805260408051630890357360e41b81529051600091339163890357309160048082019260a092909190829003018186803b1580156200005657600080fd5b505afa1580156200006b573d6000803e3d6000fd5b505050506040513d60a08110156200008257600080fd5b508051602080830151604084015160608086015160809096015160e896871b6001600160e81b0319166101005291811b6001600160601b031990811660e05292811b831660c0529390931b1660a052600282810b900b90921b610120529150620000f79082906200010f811b62002b8417901c565b60801b6001600160801b03191661014052506200017d565b60008082600281900b620d89e719816200012557fe5b05029050600083600281900b620d89e8816200013d57fe5b0502905060008460020b83830360020b816200015557fe5b0560010190508062ffffff166001600160801b038016816200017357fe5b0495945050505050565b60805160601c60a05160601c60c05160601c60e05160601c6101005160e81c6101205160e81c6101405160801c61567e6200024a60003980611fee5280614b5f5280614b96525080610c0052806128fd5280614bca5280614bfc525080610cef52806119cb5280611a0252806129455250806111c75280611a855280611ef4528061244452806129215280613e6b5250806108d252806112f55280611a545280611e8e52806123be5280613d2252508061207b528061227d52806128d9525080612bfb525061567e6000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000008f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000000061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f00000000000000000000000000000000000000000000000000000000000000008d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f00000000000000000000000000000000000000000000000000000000000000008d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000000062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000000062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f00000000000000000000000000000000000000000000000000000000000000008b8b613b86565b8715611aab57611aab7f00000000000000000000000000000000000000000000000000000000000000008b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000000000000000000000000000000000000000000000908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f0000000000000000000000000000000000000000000000000000000000000000908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f00000000000000000000000000000000000000000000000000000000000000009087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f00000000000000000000000000000000000000000000000000000000000000009087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f000000000000000000000000000000000000000000000000000000000000000061513b565b9450614bba60058c8b8d8b8b87898b60017f000000000000000000000000000000000000000000000000000000000000000061513b565b93508415614bee57614bee60068d7f0000000000000000000000000000000000000000000000000000000000000000615325565b8315614c2057614c2060068c7f0000000000000000000000000000000000000000000000000000000000000000615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000aa164736f6c6343000706000a"""
 
diff --git a/eth_defi/uniswap_v3/events.py b/eth_defi/uniswap_v3/events.py
new file mode 100644
index 00000000..4070463f
--- /dev/null
+++ b/eth_defi/uniswap_v3/events.py
@@ -0,0 +1,377 @@
+"""Uniswap v3 events.
+
+Currently we are tracking these events:
+    - PoolCreated
+    - Swap
+    - Mint
+    - Burn
+"""
+import csv
+import datetime
+from pathlib import Path
+
+from tqdm import tqdm
+from web3 import Web3
+
+from eth_defi.abi import get_contract
+from eth_defi.event_reader.conversion import (
+    convert_uint256_bytes_to_address,
+    convert_uint256_bytes_to_int,
+    convert_uint256_string_to_address,
+    convert_uint256_string_to_int,
+    decode_data,
+)
+from eth_defi.event_reader.logresult import LogContext
+from eth_defi.event_reader.reader import LogResult, read_events_concurrent
+from eth_defi.event_reader.web3factory import TunedWeb3Factory
+from eth_defi.event_reader.web3worker import create_thread_pool_executor
+from eth_defi.token import TokenDetails, fetch_erc20_details
+from eth_defi.uniswap_v3.constants import UNISWAP_V3_FACTORY_CREATED_AT_BLOCK
+
+
+class TokenCache(LogContext):
+    """Manage cache of token data when doing PoolCreated look-up.
+
+    Do not do extra requests for already known tokens.
+    """
+
+    def __init__(self):
+        self.cache = {}
+
+    def get_token_info(self, web3: Web3, address: str) -> TokenDetails:
+        if address not in self.cache:
+            self.cache[address] = fetch_erc20_details(web3, address, raise_on_error=False)
+        return self.cache[address]
+
+
+def _decode_base(log: LogResult) -> dict:
+    block_time = datetime.datetime.utcfromtimestamp(log["timestamp"])
+
+    return {
+        "block_number": int(log["blockNumber"], 16),
+        "timestamp": block_time.isoformat(),
+        "tx_hash": log["transactionHash"],
+        "log_index": int(log["logIndex"], 16),
+    }
+
+
+def decode_pool_created(log: LogResult) -> dict:
+    """Process a pool created event. The event signature is:
+
+    .. code-block::
+
+        event PoolCreated(
+            address indexed token0,
+            address indexed token1,
+            uint24 indexed fee,
+            int24 tickSpacing,
+            address pool
+        );
+    """
+    # Do additional lookup for the token data
+    web3 = log["event"].web3
+    token_cache: TokenCache = log["context"]
+    result = _decode_base(log)
+
+    # Any indexed Solidity event parameter will be in topics data.
+    # The first topics (0) is always the event signature.
+    event_signature, token0, token1, fee = log["topics"]
+    token0_address = convert_uint256_string_to_address(token0)
+    token1_address = convert_uint256_string_to_address(token1)
+
+    # Now enhanche data with token information
+    token0 = token_cache.get_token_info(web3, token0_address)
+    token1 = token_cache.get_token_info(web3, token1_address)
+
+    # Any non-indexed Solidity event parameter will be in the data section.
+    # Chop data blob to byte32 entries
+    tick_spacing, pool_contract_address = decode_data(log["data"])
+
+    result.update(
+        {
+            "factory_contract_address": log["address"],
+            "pool_contract_address": convert_uint256_bytes_to_address(pool_contract_address),
+            "fee": convert_uint256_string_to_int(fee),
+            "token0_symbol": token0.symbol,
+            "token0_address": token0_address,
+            "token1_symbol": token1.symbol,
+            "token1_address": token1_address,
+        }
+    )
+    return result
+
+
+def decode_swap(log: LogResult) -> dict:
+    """Process swap event. The event signature is:
+
+    .. code-block::
+
+        event Swap(
+            address indexed sender,
+            address indexed recipient,
+            int256 amount0,
+            int256 amount1,
+            uint160 sqrtPriceX96,
+            uint128 liquidity,
+            int24 tick
+        );
+    """
+    result = _decode_base(log)
+    amount0, amount1, sqrt_price_x96, liquidity, tick = decode_data(log["data"])
+
+    result.update(
+        {
+            "pool_contract_address": log["address"],
+            "amount0": convert_uint256_bytes_to_int(amount0),
+            "amount1": convert_uint256_bytes_to_int(amount1),
+            "sqrt_price_x96": convert_uint256_bytes_to_int(sqrt_price_x96),
+            "liquidity": convert_uint256_bytes_to_int(liquidity),
+            "tick": convert_uint256_bytes_to_int(tick, signed=True),
+        }
+    )
+    return result
+
+
+def decode_mint(log: LogResult) -> dict:
+    """Process mint event. The event signature is:
+
+    .. code-block::
+
+        event Mint(
+            address sender,
+            address indexed owner,
+            int24 indexed tickLower,
+            int24 indexed tickUpper,
+            uint128 amount,
+            uint256 amount0,
+            uint256 amount1
+        );
+    """
+    result = _decode_base(log)
+
+    event_signature, owner, tick_lower, tick_upper = log["topics"]
+    sender, amount, amount0, amount1 = decode_data(log["data"])
+
+    result.update(
+        {
+            "pool_contract_address": log["address"],
+            "tick_lower": convert_uint256_string_to_int(tick_lower, signed=True),
+            "tick_upper": convert_uint256_string_to_int(tick_upper, signed=True),
+            "amount": convert_uint256_bytes_to_int(amount),
+            "amount0": convert_uint256_bytes_to_int(amount0),
+            "amount1": convert_uint256_bytes_to_int(amount1),
+        }
+    )
+    return result
+
+
+def decode_burn(log: LogResult) -> dict:
+    """Process burn event. The event signature is:
+
+    .. code-block::
+
+        event Burn(
+            address indexed owner,
+            int24 indexed tickLower,
+            int24 indexed tickUpper,
+            uint128 amount,
+            uint256 amount0,
+            uint256 amount1
+        );
+    """
+    result = _decode_base(log)
+
+    event_signature, owner, tick_lower, tick_upper = log["topics"]
+    amount, amount0, amount1 = decode_data(log["data"])
+
+    result.update(
+        {
+            "pool_contract_address": log["address"],
+            "tick_lower": convert_uint256_string_to_int(tick_lower, signed=True),
+            "tick_upper": convert_uint256_string_to_int(tick_upper, signed=True),
+            "amount": convert_uint256_bytes_to_int(amount),
+            "amount0": convert_uint256_bytes_to_int(amount0),
+            "amount1": convert_uint256_bytes_to_int(amount1),
+        }
+    )
+    return result
+
+
+def get_event_mapping(web3: Web3) -> dict:
+    """Returns tracked event types and mapping.
+
+    Currently we are tracking these events:
+        - PoolCreated
+        - Swap
+        - Mint
+        - Burn
+    """
+    Factory = get_contract(web3, "uniswap_v3/UniswapV3Factory.json")
+    Pool = get_contract(web3, "uniswap_v3/UniswapV3Pool.json")
+
+    return {
+        "PoolCreated": {
+            "contract_event": Factory.events.PoolCreated,
+            "field_names": [
+                "block_number",
+                "timestamp",
+                "tx_hash",
+                "log_index",
+                "factory_contract_address",
+                "pool_contract_address",
+                "fee",
+                "token0_address",
+                "token0_symbol",
+                "token1_address",
+                "token1_symbol",
+            ],
+            "decode_function": decode_pool_created,
+        },
+        "Swap": {
+            "contract_event": Pool.events.Swap,
+            "field_names": [
+                "block_number",
+                "timestamp",
+                "tx_hash",
+                "log_index",
+                "pool_contract_address",
+                "amount0",
+                "amount1",
+                "sqrt_price_x96",
+                "liquidity",
+                "tick",
+            ],
+            "decode_function": decode_swap,
+        },
+        "Mint": {
+            "contract_event": Pool.events.Mint,
+            "field_names": [
+                "block_number",
+                "timestamp",
+                "tx_hash",
+                "log_index",
+                "pool_contract_address",
+                "tick_lower",
+                "tick_upper",
+                "amount",
+                "amount0",
+                "amount1",
+            ],
+            "decode_function": decode_mint,
+        },
+        "Burn": {
+            "contract_event": Pool.events.Burn,
+            "field_names": [
+                "block_number",
+                "timestamp",
+                "tx_hash",
+                "log_index",
+                "pool_contract_address",
+                "tick_lower",
+                "tick_upper",
+                "amount",
+                "amount0",
+                "amount1",
+            ],
+            "decode_function": decode_burn,
+        },
+    }
+
+
+def fetch_events_to_csv(
+    json_rpc_url: str,
+    start_block: int = UNISWAP_V3_FACTORY_CREATED_AT_BLOCK,
+    end_block: int = UNISWAP_V3_FACTORY_CREATED_AT_BLOCK + 1000,
+    output_folder: str = "/tmp",
+):
+    """Fetch all tracked Uniswap v3 events to CSV files
+
+    :param json_rpc_url: JSON-RPC URL
+    :param start_block: First block to process (inclusive), default is block 12369621 (when Uniswap v3 factory was created on mainnet)
+    :param end_block: Last block to process (inclusive), default is block 12370621 (1000 block after default start block)
+    :param output_folder: Folder to contain output CSV files, default is /tmp folder
+    """
+    token_cache = TokenCache()
+    web3_factory = TunedWeb3Factory(json_rpc_url)
+    web3 = web3_factory(token_cache)
+    executor = create_thread_pool_executor(web3_factory, token_cache, max_workers=12)
+    event_mapping = get_event_mapping(web3)
+    contract_events = [event_data["contract_event"] for event_data in event_mapping.values()]
+
+    # prepare local buffers and files
+    buffers = {}
+    for event_name, mapping in event_mapping.items():
+        file_path = f"{output_folder}/uniswapv3-{event_name}.csv"
+        is_file_exists = Path(file_path).exists()
+        file_handler = open(file_path, "a")
+        csv_writer = csv.DictWriter(file_handler, fieldnames=mapping["field_names"])
+        if not is_file_exists:
+            csv_writer.writeheader()
+
+        buffers[event_name] = {
+            "buffer": [],
+            "total": 0,
+            "file_handler": file_handler,
+            "csv_writer": csv_writer,
+        }
+
+    print(f"Starting to read block range {start_block:,} - {end_block:,}")
+    with tqdm(total=end_block - start_block) as progress_bar:
+        #  1. update the progress bar
+        #  2. save any events in the buffer in to a file in one go
+        def update_progress(
+            current_block,
+            start_block,
+            end_block,
+            chunk_size: int,
+            total_events: int,
+            last_timestamp: int,
+            context: TokenCache,
+        ):
+            nonlocal buffers
+
+            if last_timestamp:
+                # Display progress with the date information
+                d = datetime.datetime.utcfromtimestamp(last_timestamp)
+                formatted_time = d.strftime("%d-%m-%Y")
+                progress_bar.set_description(f"Block: {current_block:,}, events: {total_events:}, time:{formatted_time}")
+            else:
+                progress_bar.set_description(f"Block: {current_block:,}, events: {total_events:,}")
+
+            progress_bar.update(chunk_size)
+
+            for buffer_data in buffers.values():
+                buffer = buffer_data["buffer"]
+
+                # write events to csv
+                for entry in buffer:
+                    buffer_data["csv_writer"].writerow(entry)
+                    buffer_data["total"] += 1
+
+                # then reset buffer
+                buffer = []
+
+        # Read specified events in block range
+        for log_result in read_events_concurrent(
+            executor,
+            start_block,
+            end_block,
+            events=contract_events,
+            notify=update_progress,
+            chunk_size=100,
+            context=token_cache,
+        ):
+            try:
+                # write to correct buffer
+                event_name = log_result["event"].event_name
+                buffer = buffers[event_name]["buffer"]
+                decode_function = event_mapping[event_name]["decode_function"]
+
+                buffer.append(decode_function(log_result))
+            except Exception as e:
+                raise RuntimeError(f"Could not decode {log_result}") from e
+
+    # close files and print stats
+    for event_name, buffer in buffers.items():
+        buffer["file_handler"].close()
+        print(f"Wrote {buffer['total']} {event_name} events")
diff --git a/eth_defi/uniswap_v3/liquidity.py b/eth_defi/uniswap_v3/liquidity.py
new file mode 100644
index 00000000..ab24f06f
--- /dev/null
+++ b/eth_defi/uniswap_v3/liquidity.py
@@ -0,0 +1,412 @@
+"""Uniswap v3 liquidity events and depth estimation."""
+import csv
+import math
+from functools import reduce
+from pprint import pp
+from typing import Iterable, TypedDict
+
+import pandas as pd
+from eth_typing import HexAddress
+
+from eth_defi.uniswap_v3.constants import DEFAULT_TICK_SPACINGS
+from eth_defi.uniswap_v3.utils import (
+    get_token0_amount_in_range,
+    get_token1_amount_in_range,
+    run_graphql_query,
+    tick_to_price,
+    tick_to_sqrt_price,
+)
+
+
+class TickDelta(TypedDict):
+    """A dictionary of a tick delta, where liquidity of a tick changes"""
+
+    # block number when tick delta happens
+    block_number: int
+
+    # timestamp when tick delta happens
+    timestamp: str
+
+    # pool which contains the tick
+    pool_contract_address: HexAddress
+
+    # tick number
+    tick_id: int
+
+    # delta of liquidity gross
+    liquidity_gross_delta: int
+
+    # delta of liquidity net
+    liquidity_net_delta: int
+
+
+def handle_mint_event(event: dict) -> Iterable[TickDelta]:
+    """Construct tick deltas from mint event
+
+    :param event: Mint event
+    :return: Tick deltas for lower tick and upper tick
+    """
+    block_number = event["block_number"]
+    timestamp = event["timestamp"]
+    pool_contract_address = event["pool_contract_address"]
+    amount = int(event["amount"])
+    lower_tick_id = event["tick_lower"]
+    upper_tick_id = event["tick_upper"]
+
+    yield TickDelta(
+        block_number=block_number,
+        timestamp=timestamp,
+        pool_contract_address=pool_contract_address,
+        tick_id=lower_tick_id,
+        liquidity_gross_delta=amount,
+        liquidity_net_delta=amount,
+    )
+    yield TickDelta(
+        block_number=block_number,
+        timestamp=timestamp,
+        pool_contract_address=pool_contract_address,
+        tick_id=upper_tick_id,
+        liquidity_gross_delta=amount,
+        liquidity_net_delta=-amount,
+    )
+
+
+def handle_burn_event(event: dict) -> Iterable[TickDelta]:
+    """Construct tick deltas from burn event
+
+    :param event: Mint event
+    :return: Tick deltas for lower tick and upper tick
+    """
+    block_number = event["block_number"]
+    timestamp = event["timestamp"]
+    pool_contract_address = event["pool_contract_address"]
+    amount = int(event["amount"])
+    lower_tick_id = event["tick_lower"]
+    upper_tick_id = event["tick_upper"]
+
+    yield TickDelta(
+        block_number=block_number,
+        timestamp=timestamp,
+        pool_contract_address=pool_contract_address,
+        tick_id=lower_tick_id,
+        liquidity_gross_delta=-amount,
+        liquidity_net_delta=-amount,
+    )
+    yield TickDelta(
+        block_number=block_number,
+        timestamp=timestamp,
+        pool_contract_address=pool_contract_address,
+        tick_id=upper_tick_id,
+        liquidity_gross_delta=-amount,
+        liquidity_net_delta=amount,
+    )
+
+
+def create_tick_delta_csv(
+    mints_csv: str,
+    burns_csv: str,
+    output_folder: str = "/tmp",
+) -> str:
+    """Create intermediate tick delta csv based on mint and burn events
+
+    :param mints_csv: Path to mint events CSV
+    :param burns_csv: Path to burn events CSV
+    :param output_folder: Folder to contain output CSV files, default is /tmp folder
+    :return: output CSV path
+    """
+    mints_df = pd.read_csv(mints_csv)
+    burns_df = pd.read_csv(burns_csv)
+
+    # filter out duplicates
+    mints_df = mints_df.drop_duplicates(
+        subset=["pool_contract_address", "tx_hash", "log_index", "tick_lower", "tick_upper", "amount"],
+        keep="first",
+    )
+    burns_df = burns_df.drop_duplicates(
+        subset=["pool_contract_address", "tx_hash", "log_index", "tick_lower", "tick_upper", "amount"],
+        keep="first",
+    )
+
+    file_path = f"{output_folder}/uniswapv3-tickdeltas.csv"
+    with open(file_path, "w") as fh:
+        writer = csv.DictWriter(fh, fieldnames=TickDelta.__annotations__.keys())
+        writer.writeheader()
+
+        for _, event in mints_df.iterrows():
+            for tick_delta in handle_mint_event(event):
+                writer.writerow(tick_delta)
+
+        for _, event in burns_df.iterrows():
+            for tick_delta in handle_burn_event(event):
+                writer.writerow(tick_delta)
+
+    return file_path
+
+
+def create_tick_csv(
+    tick_delta_csv: str,
+    output_folder: str = "/tmp",
+) -> str:
+    """Create tick csv based on tick delta
+
+    :param tick_delta_csv: Path to tick delta CSV
+    :param output_folder: Folder to contain output CSV files, default is /tmp folder
+    :return: output CSV path
+    """
+    deltas_df = pd.read_csv(tick_delta_csv)
+
+    # we don't need to use block number and timestamp here
+    deltas_df = deltas_df[["pool_contract_address", "tick_id", "liquidity_gross_delta", "liquidity_net_delta"]]
+
+    def sum_int(series: pd.Series) -> int:
+        """Cast series to int then sum
+
+        Since liquidity data is loaded from csv, it has type object and the data (uint128)
+        is too big to fit to any pandas datatype
+        """
+        return reduce(lambda x, y: int(x) + int(y), series)
+
+    ticks_df = (
+        deltas_df.groupby(["pool_contract_address", "tick_id"])
+        .agg(
+            {
+                "liquidity_gross_delta": sum_int,
+                "liquidity_net_delta": sum_int,
+            }
+        )
+        .reset_index()
+    )
+
+    file_path = f"{output_folder}/uniswapv3-ticks.csv"
+    ticks_df.to_csv(file_path)
+
+    return file_path
+
+
+def get_pool_state_at_block(pool_address: HexAddress, block_number: int):
+    """Get a pool state (current liquidity, tick, ticks) at a given block using Uniswap V3 subgraph data"""
+    batch_limit = 1000
+
+    result = run_graphql_query(
+        """
+        query ($pool_id: ID!, $pool: String!, $block_number: Int, $limit: Int) {
+            pool(id: $pool_id, block: {number: $block_number}) {
+                token0 {
+                    symbol
+                    decimals
+                }
+                token1 {
+                    symbol
+                    decimals
+                }
+                liquidity
+                tick
+                feeTier
+            }
+
+            ticks(
+                first: $limit,
+                skip: 0,
+                orderBy: tickIdx,
+                orderDirection: asc,
+                block: {number: $block_number},
+                where: {pool: $pool, liquidityNet_not: 0}
+            ) {
+                tickIdx
+                liquidityNet
+                liquidityGross
+            }
+        }
+        """,
+        variables={
+            "pool_id": pool_address,
+            "pool": pool_address,  # we need a separate variable since pool_id has gql type ID instead of String
+            "block_number": block_number,
+            "limit": batch_limit,
+        },
+    )
+
+    pool = result["pool"]
+    ticks = result["ticks"]
+
+    # query more ticks if needed
+    if len(ticks) == batch_limit:
+        skip = batch_limit
+        while True:
+            result = run_graphql_query(
+                """
+                query ($pool: String!, $block_number: Int, $skip: Int, $limit: Int) {
+                    ticks(
+                        first: $limit,
+                        skip: $skip,
+                        orderBy: tickIdx,
+                        orderDirection: asc,
+                        block: {number: $block_number},
+                        where: {pool: $pool, liquidityNet_not: 0}
+                    ) {
+                        tickIdx
+                        liquidityNet
+                        liquidityGross
+                    }
+                }
+                """,
+                variables={
+                    "pool": pool_address,
+                    "block_number": block_number,
+                    "skip": skip,
+                    "limit": batch_limit,
+                },
+            )
+
+            if len(result["ticks"]) == 0:
+                break
+
+            ticks += result["ticks"]
+            skip += batch_limit
+
+    return {
+        "liquidity": int(pool["liquidity"]),
+        "tick": int(pool["tick"]),
+        "fee": int(pool["feeTier"]),
+        "token0": pool["token0"],
+        "token1": pool["token1"],
+        "ticks": ticks,
+    }
+
+
+def estimate_liquidity_depth_at_block(
+    pool_address: HexAddress,
+    block_number: int,
+    *,
+    depths: list[float] = [-5, -2, -1, -0.5, -0.2, -0.1, 0.1, 0.2, 0.5, 1, 2, 5],
+    verbose: bool = False,
+) -> list[tuple[float, float, float]]:
+    """Calculate the liquidity at multiple depths of a pool at a given block
+
+    `See this StackExchange question for commentary <https://ethereum.stackexchange.com/questions/120828/uniswap-v3-calculate-volume-to-reach-target-price>`_
+
+    :param pool_address: Uniswap v3 pool address
+    :param block_number: Block number when the liquidity should be measured
+    :param depths: A list of depths in percentage where liquidity should be measured, default: 12 depth range from -5% to +%5
+    :param verbose: Print out information to console if True, default: False
+    :return: A list of liquidity depth in form of tuple: depth, amount of token needed to buy to reach current depth, adjusted amount of token (based on token decimals)
+    """
+
+    # get current pool state from subgraph data
+    pool_state = get_pool_state_at_block(pool_address, block_number)
+    current_tick = pool_state["tick"]
+    current_liquidity = pool_state["liquidity"]
+    sqrt_current_price = tick_to_sqrt_price(current_tick)
+    cache_sqrt_current_price = tick_to_sqrt_price(current_tick)
+    ticks = pool_state["ticks"]
+    tick_spacing = DEFAULT_TICK_SPACINGS[pool_state["fee"]]
+    current_price = tick_to_price(current_tick)
+    base_token = pool_state["token0"]["symbol"]
+    base_token_decimals = int(pool_state["token0"]["decimals"])
+    quote_token = pool_state["token1"]["symbol"]
+    quote_token_decimals = int(pool_state["token1"]["decimals"])
+
+    # adjust based on decimals
+    adjusted_current_price = current_price / 10 ** (quote_token_decimals - base_token_decimals)
+
+    if verbose:
+        print(f"Pool has {len(ticks)} nonzero ticks, current tick is {current_tick}. Current price is {adjusted_current_price} {quote_token} for 1 {base_token}")
+
+    # get current tick range
+    nearest_tick: dict = min([t for t in ticks if current_tick < int(t["tickIdx"])], key=lambda t: int(t["tickIdx"]))
+    nearest_tick_index = ticks.index(nearest_tick)
+
+    liquidity_depths = []
+
+    for depth in depths:
+        # calculate target price in certain depth
+        target_price = current_price * (100 + depth) / 100
+        sqrt_target_price = math.sqrt(target_price)
+        sqrt_current_price = cache_sqrt_current_price
+
+        assert sqrt_target_price != sqrt_current_price
+
+        lower_tick_range = ticks[:nearest_tick_index]
+        upper_tick_range = ticks[nearest_tick_index:]
+        liquidity = current_liquidity
+        delta_tokens = 0
+
+        if verbose:
+            print(f"> Start checking depth {depth}%")
+
+        if sqrt_target_price > sqrt_current_price:
+            # too much base token in the pool
+            try:
+                while sqrt_target_price > sqrt_current_price:
+                    tick_item = upper_tick_range.pop(0)
+
+                    tick_lower = int(tick_item["tickIdx"])
+                    tick_upper = tick_lower + tick_spacing
+                    sqrt_price_upper = tick_to_sqrt_price(tick_upper)
+                    liquidity += int(tick_item["liquidityNet"])
+
+                    if verbose:
+                        print(f"Crossing tick range {tick_lower} {tick_upper} with liquidity {tick_item['liquidityNet']} and upper price {sqrt_price_upper**2}")
+
+                    if sqrt_target_price > sqrt_price_upper:
+                        # not in the current price range; use all X in the range
+                        delta_tokens += get_token0_amount_in_range(liquidity, sqrt_current_price, sqrt_price_upper)
+
+                        # adjust current price and continue looping to next tick range
+                        sqrt_current_price = sqrt_price_upper
+                    else:
+                        # in the current price range
+                        delta_tokens += get_token0_amount_in_range(liquidity, sqrt_current_price, sqrt_target_price)
+                        sqrt_current_price = sqrt_target_price
+
+                liquidity_depths.append((depth, delta_tokens, delta_tokens / 10**base_token_decimals))
+
+                if verbose:
+                    print(f"\tNeed to buy {delta_tokens / 10**base_token_decimals:_} {base_token} from pool to reach target price {target_price} (+{depth}%)\n")
+            except IndexError:
+                liquidity_depths.append((depth, None))
+
+                if verbose:
+                    print("\tNot enough liquidity to reach target price\n")
+
+        else:
+            # too much quote token in the pool
+            try:
+                while sqrt_target_price < sqrt_current_price:
+                    tick_item = lower_tick_range.pop()
+
+                    tick_lower = int(tick_item["tickIdx"])
+                    tick_upper = tick_lower + tick_spacing
+                    sqrt_price_lower = tick_to_sqrt_price(tick_lower)
+                    sqrt_price_upper = tick_to_sqrt_price(tick_upper)
+                    liquidity -= int(tick_item["liquidityNet"])
+
+                    if verbose:
+                        print(f"Crossing tick range {tick_lower} {tick_upper} with liquidity {tick_item['liquidityNet']} and lower price {sqrt_price_lower**2}")
+
+                    if sqrt_target_price < sqrt_price_lower:
+                        # not in the current price range; use all Y in the range
+                        delta_tokens += get_token1_amount_in_range(liquidity, sqrt_current_price, sqrt_price_lower)
+
+                        # adjust current price and continue looping to next tick range
+                        sqrt_current_price = sqrt_price_lower
+                    else:
+                        # in the current price range
+                        delta_tokens += get_token1_amount_in_range(liquidity, sqrt_current_price, sqrt_target_price)
+                        sqrt_current_price = sqrt_target_price
+
+                liquidity_depths.append((depth, delta_tokens, delta_tokens / 10**quote_token_decimals))
+
+                if verbose:
+                    print(f"\tNeed to buy {delta_tokens / 10**quote_token_decimals:_} {quote_token} tokens from pool to reach target price {target_price} ({depth}%)\n")
+            except IndexError:
+                liquidity_depths.append((depth, None))
+
+                if verbose:
+                    print("\tNot enough liquidity to reach target price\n")
+
+    if verbose:
+        print("> Result price depths:")
+        pp(liquidity_depths)
+
+    return liquidity_depths
diff --git a/eth_defi/uniswap_v3/utils.py b/eth_defi/uniswap_v3/utils.py
index 7d001473..bfab4c20 100644
--- a/eth_defi/uniswap_v3/utils.py
+++ b/eth_defi/uniswap_v3/utils.py
@@ -2,11 +2,22 @@
 import math
 from typing import Tuple
 
+from gql import Client, gql
+from gql.transport.requests import RequestsHTTPTransport
+
+from eth_defi.uniswap_v3.constants import (
+    DEFAULT_TICK_SPACINGS,
+    MAX_TICK,
+    MIN_TICK,
+    UNISWAP_V3_SUBGRAPH_URL,
+)
+
 from eth_typing import HexAddress
 
 from eth_defi.uniswap_v3.constants import DEFAULT_TICK_SPACINGS, MAX_TICK, MIN_TICK
 
 
+
 def encode_sqrt_ratio_x96(*, amount0: int, amount1: int) -> int:
     """Returns the sqrt ratio as a Q64.96 corresponding to a given ratio of amount1 and amount0
 
@@ -84,6 +95,48 @@ def get_default_tick_range(fee: int) -> Tuple[int, int]:
     return min_tick, max_tick
 
 
+def tick_to_price(tick):
+    """Returns price corresponding to a tick"""
+    return 1.0001**tick
+
+
+def tick_to_sqrt_price(tick):
+    """Returns square root price corresponding to a tick"""
+    return tick_to_price(tick / 2)
+
+
+def get_token0_amount_in_range(liquidity, sp, sb):
+    """Returns token0 (base token) amount in a liquidity range
+
+    This is derived formula based on: https://atiselsts.github.io/pdfs/uniswap-v3-liquidity-math.pdf
+
+    :param liquidity: current virtual liquidity
+    :param sp: square root current price
+    :param sb: square root upper price
+    """
+    return liquidity * (sb - sp) / (sp * sb)
+
+
+def get_token1_amount_in_range(liquidity, sp, sa):
+    """Returns token1 (quote token) amount in a liquidity range
+
+    This is derived formula based on: https://atiselsts.github.io/pdfs/uniswap-v3-liquidity-math.pdf
+
+    :param liquidity: current virtual liquidity
+    :param sp: square root current price
+    :param sb: square root lower price
+    """
+    return liquidity * (sp - sa)
+
+
+def run_graphql_query(query: str, *, variables: dict = {}, api_url=UNISWAP_V3_SUBGRAPH_URL) -> dict:
+    """Run query on Uniswap v3 subgraph"""
+    transport = RequestsHTTPTransport(url=api_url, verify=True, retries=3)
+    graphql_client = Client(transport=transport, fetch_schema_from_transport=True)
+
+    return graphql_client.execute(gql(query), variable_values=variables)
+
+  
 def get_nearest_usable_tick(tick: int, fee: int):
     min_tick, max_tick = get_default_tick_range(fee)
     assert min_tick <= tick <= max_tick, "Tick out of bound"
@@ -97,3 +150,4 @@ def get_nearest_usable_tick(tick: int, fee: int):
         return rounded - tick_spacing
     else:
         return rounded
+
diff --git a/notebooks/uniswapv3-liquidity.ipynb b/notebooks/uniswapv3-liquidity.ipynb
new file mode 100644
index 00000000..402b3ede
--- /dev/null
+++ b/notebooks/uniswapv3-liquidity.ipynb
@@ -0,0 +1,957 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%load_ext autoreload\n",
+    "%autoreload 2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import os\n",
+    "import random\n",
+    "\n",
+    "import pandas as pd\n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "from eth_defi.uniswap_v3.events import fetch_events_to_csv\n",
+    "from eth_defi.uniswap_v3.liquidity import create_tick_delta_csv, create_tick_csv, get_pool_state_at_block"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "json_rpc_url = os.environ[\"JSON_RPC_URL\"]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 241,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# 1000000 blocks after v3 factory created\n",
+    "fetch_events_to_csv(json_rpc_url, end_block=13_369_621)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "tick_delta_csv = create_tick_delta_csv(\"/tmp/uniswapv3-Mint.csv\", \"/tmp/uniswapv3-Burn.csv\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "tick_csv = create_tick_csv(tick_delta_csv)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Unnamed: 0</th>\n",
+       "      <th>pool_contract_address</th>\n",
+       "      <th>tick_id</th>\n",
+       "      <th>liquidity_gross_delta</th>\n",
+       "      <th>liquidity_net_delta</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>0</td>\n",
+       "      <td>0x0001fcbba8eb491c3ccfeddc5a5caba1a98c4c28</td>\n",
+       "      <td>-92200</td>\n",
+       "      <td>303015134493562686441</td>\n",
+       "      <td>303015134493562686441</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>1</td>\n",
+       "      <td>0x0001fcbba8eb491c3ccfeddc5a5caba1a98c4c28</td>\n",
+       "      <td>0</td>\n",
+       "      <td>303015134493562686441</td>\n",
+       "      <td>-303015134493562686441</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>2</td>\n",
+       "      <td>0x000ea4a83acefdd62b1b43e9ccc281f442651520</td>\n",
+       "      <td>-89280</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>3</td>\n",
+       "      <td>0x000ea4a83acefdd62b1b43e9ccc281f442651520</td>\n",
+       "      <td>-88620</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>4</td>\n",
+       "      <td>0x000ea4a83acefdd62b1b43e9ccc281f442651520</td>\n",
+       "      <td>-87780</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>...</th>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>71252</th>\n",
+       "      <td>71252</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>9960</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>71253</th>\n",
+       "      <td>71253</td>\n",
+       "      <td>0xffe6008fcf63732ec8f666a91bf32e9be4eb7d56</td>\n",
+       "      <td>-138180</td>\n",
+       "      <td>6232512986111875</td>\n",
+       "      <td>6232512986111875</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>71254</th>\n",
+       "      <td>71254</td>\n",
+       "      <td>0xffe6008fcf63732ec8f666a91bf32e9be4eb7d56</td>\n",
+       "      <td>-71940</td>\n",
+       "      <td>262508667248348732806</td>\n",
+       "      <td>262508667248348732806</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>71255</th>\n",
+       "      <td>71255</td>\n",
+       "      <td>0xffe6008fcf63732ec8f666a91bf32e9be4eb7d56</td>\n",
+       "      <td>14820</td>\n",
+       "      <td>262508667248348732806</td>\n",
+       "      <td>-262508667248348732806</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>71256</th>\n",
+       "      <td>71256</td>\n",
+       "      <td>0xffe6008fcf63732ec8f666a91bf32e9be4eb7d56</td>\n",
+       "      <td>96120</td>\n",
+       "      <td>6232512986111875</td>\n",
+       "      <td>-6232512986111875</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "<p>71257 rows × 5 columns</p>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "       Unnamed: 0                       pool_contract_address  tick_id  \\\n",
+       "0               0  0x0001fcbba8eb491c3ccfeddc5a5caba1a98c4c28   -92200   \n",
+       "1               1  0x0001fcbba8eb491c3ccfeddc5a5caba1a98c4c28        0   \n",
+       "2               2  0x000ea4a83acefdd62b1b43e9ccc281f442651520   -89280   \n",
+       "3               3  0x000ea4a83acefdd62b1b43e9ccc281f442651520   -88620   \n",
+       "4               4  0x000ea4a83acefdd62b1b43e9ccc281f442651520   -87780   \n",
+       "...           ...                                         ...      ...   \n",
+       "71252       71252  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     9960   \n",
+       "71253       71253  0xffe6008fcf63732ec8f666a91bf32e9be4eb7d56  -138180   \n",
+       "71254       71254  0xffe6008fcf63732ec8f666a91bf32e9be4eb7d56   -71940   \n",
+       "71255       71255  0xffe6008fcf63732ec8f666a91bf32e9be4eb7d56    14820   \n",
+       "71256       71256  0xffe6008fcf63732ec8f666a91bf32e9be4eb7d56    96120   \n",
+       "\n",
+       "       liquidity_gross_delta     liquidity_net_delta  \n",
+       "0      303015134493562686441   303015134493562686441  \n",
+       "1      303015134493562686441  -303015134493562686441  \n",
+       "2                          0                       0  \n",
+       "3                          0                       0  \n",
+       "4                          0                       0  \n",
+       "...                      ...                     ...  \n",
+       "71252                      0                       0  \n",
+       "71253       6232512986111875        6232512986111875  \n",
+       "71254  262508667248348732806   262508667248348732806  \n",
+       "71255  262508667248348732806  -262508667248348732806  \n",
+       "71256       6232512986111875       -6232512986111875  \n",
+       "\n",
+       "[71257 rows x 5 columns]"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "tick_df = pd.read_csv(tick_csv)\n",
+    "tick_df"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# pool ETH/aETH 0.3%\n",
+    "pool_address = \"0xff9704a23d4c4f57c69d86e1113c1e9204cd804e\""
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>Unnamed: 0</th>\n",
+       "      <th>pool_contract_address</th>\n",
+       "      <th>tick_id</th>\n",
+       "      <th>liquidity_gross_delta</th>\n",
+       "      <th>liquidity_net_delta</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>tick_id</th>\n",
+       "      <th></th>\n",
+       "      <th></th>\n",
+       "      <th></th>\n",
+       "      <th></th>\n",
+       "      <th></th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>-9120</th>\n",
+       "      <td>71209</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-9120</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-6960</th>\n",
+       "      <td>71210</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-6960</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-6900</th>\n",
+       "      <td>71211</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-6900</td>\n",
+       "      <td>2832938971364323445</td>\n",
+       "      <td>2832938971364323445</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-6720</th>\n",
+       "      <td>71212</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-6720</td>\n",
+       "      <td>1039748260295437283560</td>\n",
+       "      <td>1039748260295437283560</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-4320</th>\n",
+       "      <td>71213</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-4320</td>\n",
+       "      <td>25894850070535641531</td>\n",
+       "      <td>25894850070535641531</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-3540</th>\n",
+       "      <td>71214</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-3540</td>\n",
+       "      <td>11962449660488089374</td>\n",
+       "      <td>11962449660488089374</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-1980</th>\n",
+       "      <td>71215</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-1980</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-1800</th>\n",
+       "      <td>71216</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-1800</td>\n",
+       "      <td>26434967067209505654</td>\n",
+       "      <td>26434967067209505654</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-1620</th>\n",
+       "      <td>71217</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-1620</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-1500</th>\n",
+       "      <td>71218</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-1500</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-1080</th>\n",
+       "      <td>71219</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-1080</td>\n",
+       "      <td>49794337789068986918</td>\n",
+       "      <td>49794337789068986918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-840</th>\n",
+       "      <td>71220</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-840</td>\n",
+       "      <td>2657515805071897210747</td>\n",
+       "      <td>2657515805071897210747</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-600</th>\n",
+       "      <td>71221</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-600</td>\n",
+       "      <td>12657338330027594650</td>\n",
+       "      <td>12657338330027594650</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-480</th>\n",
+       "      <td>71222</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-480</td>\n",
+       "      <td>215570258105465515</td>\n",
+       "      <td>215570258105465515</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-420</th>\n",
+       "      <td>71223</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-420</td>\n",
+       "      <td>1852179364474719323</td>\n",
+       "      <td>1852179364474719323</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-360</th>\n",
+       "      <td>71224</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-360</td>\n",
+       "      <td>269164718674212583996</td>\n",
+       "      <td>269164718674212583996</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-300</th>\n",
+       "      <td>71225</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-300</td>\n",
+       "      <td>315557651328595781812</td>\n",
+       "      <td>315557651328595781812</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-120</th>\n",
+       "      <td>71226</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-120</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>-60</th>\n",
+       "      <td>71227</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>-60</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>71228</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>0</td>\n",
+       "      <td>3529055952285530573</td>\n",
+       "      <td>3529055952285530573</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>120</th>\n",
+       "      <td>71229</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>120</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>180</th>\n",
+       "      <td>71230</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>180</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>240</th>\n",
+       "      <td>71231</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>240</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>300</th>\n",
+       "      <td>71232</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>300</td>\n",
+       "      <td>315557651328595781812</td>\n",
+       "      <td>-315557651328595781812</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>360</th>\n",
+       "      <td>71233</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>360</td>\n",
+       "      <td>236538190287385730415</td>\n",
+       "      <td>-236538190287385730415</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>420</th>\n",
+       "      <td>71234</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>420</td>\n",
+       "      <td>3529055952285530573</td>\n",
+       "      <td>-3529055952285530573</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>480</th>\n",
+       "      <td>71235</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>480</td>\n",
+       "      <td>1852179364474719323</td>\n",
+       "      <td>-1852179364474719323</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>540</th>\n",
+       "      <td>71236</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>540</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>660</th>\n",
+       "      <td>71237</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>660</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>780</th>\n",
+       "      <td>71238</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>780</td>\n",
+       "      <td>32626528386826853581</td>\n",
+       "      <td>-32626528386826853581</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>900</th>\n",
+       "      <td>71239</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>900</td>\n",
+       "      <td>2657515805071897210747</td>\n",
+       "      <td>-2657515805071897210747</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>960</th>\n",
+       "      <td>71240</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>960</td>\n",
+       "      <td>12657338330027594650</td>\n",
+       "      <td>-12657338330027594650</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1020</th>\n",
+       "      <td>71241</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>1020</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1080</th>\n",
+       "      <td>71242</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>1080</td>\n",
+       "      <td>215570258105465515</td>\n",
+       "      <td>-215570258105465515</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1740</th>\n",
+       "      <td>71243</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>1740</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1980</th>\n",
+       "      <td>71244</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>1980</td>\n",
+       "      <td>26434967067209505654</td>\n",
+       "      <td>-26434967067209505654</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2220</th>\n",
+       "      <td>71245</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>2220</td>\n",
+       "      <td>49794337789068986918</td>\n",
+       "      <td>-49794337789068986918</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2640</th>\n",
+       "      <td>71246</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>2640</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3540</th>\n",
+       "      <td>71247</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>3540</td>\n",
+       "      <td>11962449660488089374</td>\n",
+       "      <td>-11962449660488089374</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4320</th>\n",
+       "      <td>71248</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>4320</td>\n",
+       "      <td>25894850070535641531</td>\n",
+       "      <td>-25894850070535641531</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>5580</th>\n",
+       "      <td>71249</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>5580</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6720</th>\n",
+       "      <td>71250</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>6720</td>\n",
+       "      <td>2832938971364323445</td>\n",
+       "      <td>-2832938971364323445</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>7140</th>\n",
+       "      <td>71251</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>7140</td>\n",
+       "      <td>1039748260295437283560</td>\n",
+       "      <td>-1039748260295437283560</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>9960</th>\n",
+       "      <td>71252</td>\n",
+       "      <td>0xff9704a23d4c4f57c69d86e1113c1e9204cd804e</td>\n",
+       "      <td>9960</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "         Unnamed: 0                       pool_contract_address  tick_id  \\\n",
+       "tick_id                                                                    \n",
+       "-9120         71209  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -9120   \n",
+       "-6960         71210  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -6960   \n",
+       "-6900         71211  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -6900   \n",
+       "-6720         71212  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -6720   \n",
+       "-4320         71213  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -4320   \n",
+       "-3540         71214  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -3540   \n",
+       "-1980         71215  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -1980   \n",
+       "-1800         71216  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -1800   \n",
+       "-1620         71217  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -1620   \n",
+       "-1500         71218  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -1500   \n",
+       "-1080         71219  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e    -1080   \n",
+       "-840          71220  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     -840   \n",
+       "-600          71221  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     -600   \n",
+       "-480          71222  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     -480   \n",
+       "-420          71223  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     -420   \n",
+       "-360          71224  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     -360   \n",
+       "-300          71225  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     -300   \n",
+       "-120          71226  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     -120   \n",
+       "-60           71227  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      -60   \n",
+       " 0            71228  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e        0   \n",
+       " 120          71229  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      120   \n",
+       " 180          71230  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      180   \n",
+       " 240          71231  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      240   \n",
+       " 300          71232  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      300   \n",
+       " 360          71233  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      360   \n",
+       " 420          71234  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      420   \n",
+       " 480          71235  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      480   \n",
+       " 540          71236  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      540   \n",
+       " 660          71237  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      660   \n",
+       " 780          71238  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      780   \n",
+       " 900          71239  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      900   \n",
+       " 960          71240  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e      960   \n",
+       " 1020         71241  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     1020   \n",
+       " 1080         71242  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     1080   \n",
+       " 1740         71243  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     1740   \n",
+       " 1980         71244  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     1980   \n",
+       " 2220         71245  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     2220   \n",
+       " 2640         71246  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     2640   \n",
+       " 3540         71247  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     3540   \n",
+       " 4320         71248  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     4320   \n",
+       " 5580         71249  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     5580   \n",
+       " 6720         71250  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     6720   \n",
+       " 7140         71251  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     7140   \n",
+       " 9960         71252  0xff9704a23d4c4f57c69d86e1113c1e9204cd804e     9960   \n",
+       "\n",
+       "          liquidity_gross_delta      liquidity_net_delta  \n",
+       "tick_id                                                   \n",
+       "-9120                         0                        0  \n",
+       "-6960                         0                        0  \n",
+       "-6900       2832938971364323445      2832938971364323445  \n",
+       "-6720    1039748260295437283560   1039748260295437283560  \n",
+       "-4320      25894850070535641531     25894850070535641531  \n",
+       "-3540      11962449660488089374     11962449660488089374  \n",
+       "-1980                         0                        0  \n",
+       "-1800      26434967067209505654     26434967067209505654  \n",
+       "-1620                         0                        0  \n",
+       "-1500                         0                        0  \n",
+       "-1080      49794337789068986918     49794337789068986918  \n",
+       "-840     2657515805071897210747   2657515805071897210747  \n",
+       "-600       12657338330027594650     12657338330027594650  \n",
+       "-480         215570258105465515       215570258105465515  \n",
+       "-420        1852179364474719323      1852179364474719323  \n",
+       "-360      269164718674212583996    269164718674212583996  \n",
+       "-300      315557651328595781812    315557651328595781812  \n",
+       "-120                          0                        0  \n",
+       "-60                           0                        0  \n",
+       " 0          3529055952285530573      3529055952285530573  \n",
+       " 120                          0                        0  \n",
+       " 180                          0                        0  \n",
+       " 240                          0                        0  \n",
+       " 300      315557651328595781812   -315557651328595781812  \n",
+       " 360      236538190287385730415   -236538190287385730415  \n",
+       " 420        3529055952285530573     -3529055952285530573  \n",
+       " 480        1852179364474719323     -1852179364474719323  \n",
+       " 540                          0                        0  \n",
+       " 660                          0                        0  \n",
+       " 780       32626528386826853581    -32626528386826853581  \n",
+       " 900     2657515805071897210747  -2657515805071897210747  \n",
+       " 960       12657338330027594650    -12657338330027594650  \n",
+       " 1020                         0                        0  \n",
+       " 1080        215570258105465515      -215570258105465515  \n",
+       " 1740                         0                        0  \n",
+       " 1980      26434967067209505654    -26434967067209505654  \n",
+       " 2220      49794337789068986918    -49794337789068986918  \n",
+       " 2640                         0                        0  \n",
+       " 3540      11962449660488089374    -11962449660488089374  \n",
+       " 4320      25894850070535641531    -25894850070535641531  \n",
+       " 5580                         0                        0  \n",
+       " 6720       2832938971364323445     -2832938971364323445  \n",
+       " 7140    1039748260295437283560  -1039748260295437283560  \n",
+       " 9960                         0                        0  "
+      ]
+     },
+     "execution_count": 11,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df = tick_df[tick_df.pool_contract_address == pool_address].sort_values(by=\"tick_id\")\n",
+    "df.index = df.tick_id\n",
+    "\n",
+    "df"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "<AxesSubplot:xlabel='tick_id'>"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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",
+      "text/plain": [
+       "<Figure size 1200x800 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "plt.rcParams[\"figure.dpi\"] = 200\n",
+    "\n",
+    "df[\"liquidity_gross_delta\"].astype(float).plot()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "tickdelta_df = pd.read_csv(tick_delta_csv)\n",
+    "last_processed_block = tickdelta_df[tickdelta_df.pool_contract_address == pool_address].tail(1).block_number\n",
+    "last_processed_block = int(last_processed_block.values[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "pool_state = get_pool_state_at_block(pool_address, last_processed_block)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'tickIdx': '1080', 'liquidityNet': '-215570258105465515', 'liquidityGross': '215570258105465515'}\n",
+      "{'tickIdx': '420', 'liquidityNet': '-3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '4320', 'liquidityNet': '-25894850070535641531', 'liquidityGross': '25894850070535641531'}\n",
+      "{'tickIdx': '-360', 'liquidityNet': '269164718674212583996', 'liquidityGross': '269164718674212583996'}\n",
+      "{'tickIdx': '-1800', 'liquidityNet': '26434967067209505654', 'liquidityGross': '26434967067209505654'}\n",
+      "{'tickIdx': '900', 'liquidityNet': '-2657515805071897210747', 'liquidityGross': '2657515805071897210747'}\n",
+      "{'tickIdx': '360', 'liquidityNet': '-236538190287385730415', 'liquidityGross': '236538190287385730415'}\n",
+      "{'tickIdx': '-6900', 'liquidityNet': '2832938971364323445', 'liquidityGross': '2832938971364323445'}\n",
+      "{'tickIdx': '480', 'liquidityNet': '-1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '960', 'liquidityNet': '-12657338330027594650', 'liquidityGross': '12657338330027594650'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '-420', 'liquidityNet': '1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '-840', 'liquidityNet': '2657515805071897210747', 'liquidityGross': '2657515805071897210747'}\n",
+      "{'tickIdx': '300', 'liquidityNet': '-315557651328595781812', 'liquidityGross': '315557651328595781812'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '-600', 'liquidityNet': '12657338330027594650', 'liquidityGross': '12657338330027594650'}\n",
+      "{'tickIdx': '-1080', 'liquidityNet': '49794337789068986918', 'liquidityGross': '49794337789068986918'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '2220', 'liquidityNet': '-49794337789068986918', 'liquidityGross': '49794337789068986918'}\n",
+      "{'tickIdx': '1080', 'liquidityNet': '-215570258105465515', 'liquidityGross': '215570258105465515'}\n",
+      "{'tickIdx': '0', 'liquidityNet': '3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '-600', 'liquidityNet': '12657338330027594650', 'liquidityGross': '12657338330027594650'}\n",
+      "{'tickIdx': '-6900', 'liquidityNet': '2832938971364323445', 'liquidityGross': '2832938971364323445'}\n",
+      "{'tickIdx': '-420', 'liquidityNet': '1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '4320', 'liquidityNet': '-25894850070535641531', 'liquidityGross': '25894850070535641531'}\n",
+      "{'tickIdx': '1080', 'liquidityNet': '-215570258105465515', 'liquidityGross': '215570258105465515'}\n",
+      "{'tickIdx': '-3540', 'liquidityNet': '11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '-6720', 'liquidityNet': '1039748260295437283560', 'liquidityGross': '1039748260295437283560'}\n",
+      "{'tickIdx': '360', 'liquidityNet': '-236538190287385730415', 'liquidityGross': '236538190287385730415'}\n",
+      "{'tickIdx': '-6900', 'liquidityNet': '2832938971364323445', 'liquidityGross': '2832938971364323445'}\n",
+      "{'tickIdx': '780', 'liquidityNet': '-32626528386826853581', 'liquidityGross': '32626528386826853581'}\n",
+      "{'tickIdx': '-420', 'liquidityNet': '1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '-300', 'liquidityNet': '315557651328595781812', 'liquidityGross': '315557651328595781812'}\n",
+      "{'tickIdx': '780', 'liquidityNet': '-32626528386826853581', 'liquidityGross': '32626528386826853581'}\n",
+      "{'tickIdx': '-840', 'liquidityNet': '2657515805071897210747', 'liquidityGross': '2657515805071897210747'}\n",
+      "{'tickIdx': '-600', 'liquidityNet': '12657338330027594650', 'liquidityGross': '12657338330027594650'}\n",
+      "{'tickIdx': '-420', 'liquidityNet': '1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '420', 'liquidityNet': '-3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '900', 'liquidityNet': '-2657515805071897210747', 'liquidityGross': '2657515805071897210747'}\n",
+      "{'tickIdx': '4320', 'liquidityNet': '-25894850070535641531', 'liquidityGross': '25894850070535641531'}\n",
+      "{'tickIdx': '-4320', 'liquidityNet': '25894850070535641531', 'liquidityGross': '25894850070535641531'}\n",
+      "{'tickIdx': '7140', 'liquidityNet': '-1039748260295437283560', 'liquidityGross': '1039748260295437283560'}\n",
+      "{'tickIdx': '-3540', 'liquidityNet': '11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '960', 'liquidityNet': '-12657338330027594650', 'liquidityGross': '12657338330027594650'}\n",
+      "{'tickIdx': '0', 'liquidityNet': '3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '900', 'liquidityNet': '-2657515805071897210747', 'liquidityGross': '2657515805071897210747'}\n",
+      "{'tickIdx': '-6900', 'liquidityNet': '2832938971364323445', 'liquidityGross': '2832938971364323445'}\n",
+      "{'tickIdx': '2220', 'liquidityNet': '-49794337789068986918', 'liquidityGross': '49794337789068986918'}\n",
+      "{'tickIdx': '-1080', 'liquidityNet': '49794337789068986918', 'liquidityGross': '49794337789068986918'}\n",
+      "{'tickIdx': '-300', 'liquidityNet': '315557651328595781812', 'liquidityGross': '315557651328595781812'}\n",
+      "{'tickIdx': '-6900', 'liquidityNet': '2832938971364323445', 'liquidityGross': '2832938971364323445'}\n",
+      "{'tickIdx': '0', 'liquidityNet': '3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '-1800', 'liquidityNet': '26434967067209505654', 'liquidityGross': '26434967067209505654'}\n",
+      "{'tickIdx': '480', 'liquidityNet': '-1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '7140', 'liquidityNet': '-1039748260295437283560', 'liquidityGross': '1039748260295437283560'}\n",
+      "{'tickIdx': '7140', 'liquidityNet': '-1039748260295437283560', 'liquidityGross': '1039748260295437283560'}\n",
+      "{'tickIdx': '-840', 'liquidityNet': '2657515805071897210747', 'liquidityGross': '2657515805071897210747'}\n",
+      "{'tickIdx': '-3540', 'liquidityNet': '11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '-1800', 'liquidityNet': '26434967067209505654', 'liquidityGross': '26434967067209505654'}\n",
+      "{'tickIdx': '-300', 'liquidityNet': '315557651328595781812', 'liquidityGross': '315557651328595781812'}\n",
+      "{'tickIdx': '420', 'liquidityNet': '-3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '480', 'liquidityNet': '-1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '-3540', 'liquidityNet': '11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '780', 'liquidityNet': '-32626528386826853581', 'liquidityGross': '32626528386826853581'}\n",
+      "{'tickIdx': '-420', 'liquidityNet': '1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '0', 'liquidityNet': '3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '-360', 'liquidityNet': '269164718674212583996', 'liquidityGross': '269164718674212583996'}\n",
+      "{'tickIdx': '-420', 'liquidityNet': '1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '420', 'liquidityNet': '-3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '960', 'liquidityNet': '-12657338330027594650', 'liquidityGross': '12657338330027594650'}\n",
+      "{'tickIdx': '7140', 'liquidityNet': '-1039748260295437283560', 'liquidityGross': '1039748260295437283560'}\n",
+      "{'tickIdx': '-1080', 'liquidityNet': '49794337789068986918', 'liquidityGross': '49794337789068986918'}\n",
+      "{'tickIdx': '-360', 'liquidityNet': '269164718674212583996', 'liquidityGross': '269164718674212583996'}\n",
+      "{'tickIdx': '360', 'liquidityNet': '-236538190287385730415', 'liquidityGross': '236538190287385730415'}\n",
+      "{'tickIdx': '-3540', 'liquidityNet': '11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '480', 'liquidityNet': '-1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '3540', 'liquidityNet': '-11962449660488089374', 'liquidityGross': '11962449660488089374'}\n",
+      "{'tickIdx': '1980', 'liquidityNet': '-26434967067209505654', 'liquidityGross': '26434967067209505654'}\n",
+      "{'tickIdx': '-6900', 'liquidityNet': '2832938971364323445', 'liquidityGross': '2832938971364323445'}\n",
+      "{'tickIdx': '-420', 'liquidityNet': '1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '900', 'liquidityNet': '-2657515805071897210747', 'liquidityGross': '2657515805071897210747'}\n",
+      "{'tickIdx': '4320', 'liquidityNet': '-25894850070535641531', 'liquidityGross': '25894850070535641531'}\n",
+      "{'tickIdx': '0', 'liquidityNet': '3529055952285530573', 'liquidityGross': '3529055952285530573'}\n",
+      "{'tickIdx': '-1080', 'liquidityNet': '49794337789068986918', 'liquidityGross': '49794337789068986918'}\n",
+      "{'tickIdx': '1980', 'liquidityNet': '-26434967067209505654', 'liquidityGross': '26434967067209505654'}\n",
+      "{'tickIdx': '2220', 'liquidityNet': '-49794337789068986918', 'liquidityGross': '49794337789068986918'}\n",
+      "{'tickIdx': '480', 'liquidityNet': '-1852179364474719323', 'liquidityGross': '1852179364474719323'}\n",
+      "{'tickIdx': '-4320', 'liquidityNet': '25894850070535641531', 'liquidityGross': '25894850070535641531'}\n",
+      "{'tickIdx': '-300', 'liquidityNet': '315557651328595781812', 'liquidityGross': '315557651328595781812'}\n",
+      "{'tickIdx': '6720', 'liquidityNet': '-2832938971364323445', 'liquidityGross': '2832938971364323445'}\n",
+      "{'tickIdx': '-600', 'liquidityNet': '12657338330027594650', 'liquidityGross': '12657338330027594650'}\n",
+      "{'tickIdx': '4320', 'liquidityNet': '-25894850070535641531', 'liquidityGross': '25894850070535641531'}\n",
+      "{'tickIdx': '960', 'liquidityNet': '-12657338330027594650', 'liquidityGross': '12657338330027594650'}\n",
+      "{'tickIdx': '1080', 'liquidityNet': '-215570258105465515', 'liquidityGross': '215570258105465515'}\n"
+     ]
+    }
+   ],
+   "source": [
+    "ticks = pool_state[\"ticks\"]\n",
+    "\n",
+    "# get some random ticks from subgraph\n",
+    "for i in range(100):\n",
+    "    random_tick = random.choice(ticks)\n",
+    "    print(random_tick)\n",
+    "\n",
+    "    # get the same tick from dataframe\n",
+    "    random_tick_df = df[df.tick_id == int(random_tick[\"tickIdx\"])]\n",
+    "\n",
+    "    # compare data\n",
+    "    assert int(random_tick_df.liquidity_gross_delta.values[0]) == int(random_tick[\"liquidityGross\"])\n",
+    "    assert int(random_tick_df.liquidity_net_delta.values[0]) == int(random_tick[\"liquidityNet\"])"
+   ]
+  }
+ ],
+ "metadata": {
+  "interpreter": {
+   "hash": "9b6697946b59f1cda35d1a9d955611df8679c38ae8cee6d6fc35b656a9a31b3c"
+  },
+  "kernelspec": {
+   "display_name": "Python 3.9.10 ('web3-ethereum-defi-0d8b7oDT-py3.9')",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.10"
+  },
+  "orig_nbformat": 4
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/notebooks/uniswapv3-price.ipynb b/notebooks/uniswapv3-price.ipynb
new file mode 100644
index 00000000..9bfaae95
--- /dev/null
+++ b/notebooks/uniswapv3-price.ipynb
@@ -0,0 +1,408 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%load_ext autoreload\n",
+    "%autoreload 2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import os\n",
+    "\n",
+    "import pandas as pd\n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "from eth_defi.uniswap_v3.events import fetch_events_to_csv"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "json_rpc_url = os.environ[\"JSON_RPC_URL\"]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# 1000000 blocks after v3 factory created\n",
+    "fetch_events_to_csv(json_rpc_url, end_block=13_369_621)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 242,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "swap_df = pd.read_csv(\"/tmp/uniswapv3-Swap.csv\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 243,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>block_number</th>\n",
+       "      <th>timestamp</th>\n",
+       "      <th>tx_hash</th>\n",
+       "      <th>log_index</th>\n",
+       "      <th>pool_contract_address</th>\n",
+       "      <th>amount0</th>\n",
+       "      <th>amount1</th>\n",
+       "      <th>sqrt_price_x96</th>\n",
+       "      <th>liquidity</th>\n",
+       "      <th>tick</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>19</th>\n",
+       "      <td>12371376</td>\n",
+       "      <td>2021-05-05T01:56:23</td>\n",
+       "      <td>0xce7c3c307d820785caa12938012372fc9366a614a6aa...</td>\n",
+       "      <td>26</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>-329608</td>\n",
+       "      <td>100000000000000</td>\n",
+       "      <td>1377932816571815120446551350158799</td>\n",
+       "      <td>4303369674465501</td>\n",
+       "      <td>195285</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>21</th>\n",
+       "      <td>12373132</td>\n",
+       "      <td>2021-05-05T08:23:26</td>\n",
+       "      <td>0x9a1c51b0bffbf840948f3b6e3f3e495ba1cd3fa64854...</td>\n",
+       "      <td>192</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>-164694492</td>\n",
+       "      <td>50000000000000000</td>\n",
+       "      <td>1378850591292581266780357299649652</td>\n",
+       "      <td>4303369674465501</td>\n",
+       "      <td>195298</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>25</th>\n",
+       "      <td>12373520</td>\n",
+       "      <td>2021-05-05T09:50:51</td>\n",
+       "      <td>0xc58715c62a5bf70a6ca09f0e51546d6cad76c8d4fff0...</td>\n",
+       "      <td>8</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>-329169</td>\n",
+       "      <td>100000000000000</td>\n",
+       "      <td>1378852426842022799073024911548633</td>\n",
+       "      <td>4303369674465501</td>\n",
+       "      <td>195298</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>26</th>\n",
+       "      <td>12374077</td>\n",
+       "      <td>2021-05-05T11:59:57</td>\n",
+       "      <td>0x288c21b8b4fbf449b1d086a06e43b124ac2bc088c3f5...</td>\n",
+       "      <td>86</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>2</td>\n",
+       "      <td>-329169</td>\n",
+       "      <td>1378852426842016741051966412054516</td>\n",
+       "      <td>4304946248093346</td>\n",
+       "      <td>195298</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>27</th>\n",
+       "      <td>12374320</td>\n",
+       "      <td>2021-05-05T12:56:56</td>\n",
+       "      <td>0x67502d8ba373287f6d301f6baa77c5a5f4c80d0753c3...</td>\n",
+       "      <td>257</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>1559137299</td>\n",
+       "      <td>-467880854065813753</td>\n",
+       "      <td>1370241555019945317645788135487819</td>\n",
+       "      <td>4304946248093346</td>\n",
+       "      <td>195173</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>...</th>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6018341</th>\n",
+       "      <td>13369549</td>\n",
+       "      <td>2021-10-07T03:54:12</td>\n",
+       "      <td>0x85a790a28a7e2f6c6255b1a4a2abf8b537dbf816d5f7...</td>\n",
+       "      <td>303</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>9544379406</td>\n",
+       "      <td>-2697797591994908356</td>\n",
+       "      <td>1334014708503607758755704192735439</td>\n",
+       "      <td>15669055583530736007</td>\n",
+       "      <td>194637</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6018357</th>\n",
+       "      <td>13369551</td>\n",
+       "      <td>2021-10-07T03:55:31</td>\n",
+       "      <td>0x904bed6c905faaedfc18254532be0d6c91b72d757d3d...</td>\n",
+       "      <td>347</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>1800000000</td>\n",
+       "      <td>-508778668573156357</td>\n",
+       "      <td>1334012135942752216622738653868477</td>\n",
+       "      <td>15669055583530736007</td>\n",
+       "      <td>194637</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6018395</th>\n",
+       "      <td>13369558</td>\n",
+       "      <td>2021-10-07T03:57:07</td>\n",
+       "      <td>0xa3b563f986c6a7afab60a5e6767f406f06c9009b79ba...</td>\n",
+       "      <td>25</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>-9602407975</td>\n",
+       "      <td>2730548345796589245</td>\n",
+       "      <td>1334025901119470094161818952314405</td>\n",
+       "      <td>15669055583530736007</td>\n",
+       "      <td>194637</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6018569</th>\n",
+       "      <td>13369595</td>\n",
+       "      <td>2021-10-07T04:03:41</td>\n",
+       "      <td>0xc1361ad72cfa070d588545e66847d09a055c30aefff0...</td>\n",
+       "      <td>38</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>13606859527</td>\n",
+       "      <td>-3846060323645415358</td>\n",
+       "      <td>1334006475541153510870103639896253</td>\n",
+       "      <td>15686343407408975548</td>\n",
+       "      <td>194637</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6018697</th>\n",
+       "      <td>13369620</td>\n",
+       "      <td>2021-10-07T04:09:52</td>\n",
+       "      <td>0x4a367fb4e8e49ec3797100f8860c99ab8932ce90b21c...</td>\n",
+       "      <td>21</td>\n",
+       "      <td>0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8</td>\n",
+       "      <td>-8395000808</td>\n",
+       "      <td>2387185706828807585</td>\n",
+       "      <td>1334018496503287484148418030857906</td>\n",
+       "      <td>15686343407408975548</td>\n",
+       "      <td>194637</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "<p>143607 rows × 10 columns</p>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "         block_number            timestamp  \\\n",
+       "19           12371376  2021-05-05T01:56:23   \n",
+       "21           12373132  2021-05-05T08:23:26   \n",
+       "25           12373520  2021-05-05T09:50:51   \n",
+       "26           12374077  2021-05-05T11:59:57   \n",
+       "27           12374320  2021-05-05T12:56:56   \n",
+       "...               ...                  ...   \n",
+       "6018341      13369549  2021-10-07T03:54:12   \n",
+       "6018357      13369551  2021-10-07T03:55:31   \n",
+       "6018395      13369558  2021-10-07T03:57:07   \n",
+       "6018569      13369595  2021-10-07T04:03:41   \n",
+       "6018697      13369620  2021-10-07T04:09:52   \n",
+       "\n",
+       "                                                   tx_hash  log_index  \\\n",
+       "19       0xce7c3c307d820785caa12938012372fc9366a614a6aa...         26   \n",
+       "21       0x9a1c51b0bffbf840948f3b6e3f3e495ba1cd3fa64854...        192   \n",
+       "25       0xc58715c62a5bf70a6ca09f0e51546d6cad76c8d4fff0...          8   \n",
+       "26       0x288c21b8b4fbf449b1d086a06e43b124ac2bc088c3f5...         86   \n",
+       "27       0x67502d8ba373287f6d301f6baa77c5a5f4c80d0753c3...        257   \n",
+       "...                                                    ...        ...   \n",
+       "6018341  0x85a790a28a7e2f6c6255b1a4a2abf8b537dbf816d5f7...        303   \n",
+       "6018357  0x904bed6c905faaedfc18254532be0d6c91b72d757d3d...        347   \n",
+       "6018395  0xa3b563f986c6a7afab60a5e6767f406f06c9009b79ba...         25   \n",
+       "6018569  0xc1361ad72cfa070d588545e66847d09a055c30aefff0...         38   \n",
+       "6018697  0x4a367fb4e8e49ec3797100f8860c99ab8932ce90b21c...         21   \n",
+       "\n",
+       "                              pool_contract_address      amount0  \\\n",
+       "19       0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8      -329608   \n",
+       "21       0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8   -164694492   \n",
+       "25       0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8      -329169   \n",
+       "26       0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8            2   \n",
+       "27       0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8   1559137299   \n",
+       "...                                             ...          ...   \n",
+       "6018341  0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8   9544379406   \n",
+       "6018357  0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8   1800000000   \n",
+       "6018395  0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8  -9602407975   \n",
+       "6018569  0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8  13606859527   \n",
+       "6018697  0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8  -8395000808   \n",
+       "\n",
+       "                      amount1                      sqrt_price_x96  \\\n",
+       "19            100000000000000  1377932816571815120446551350158799   \n",
+       "21          50000000000000000  1378850591292581266780357299649652   \n",
+       "25            100000000000000  1378852426842022799073024911548633   \n",
+       "26                    -329169  1378852426842016741051966412054516   \n",
+       "27        -467880854065813753  1370241555019945317645788135487819   \n",
+       "...                       ...                                 ...   \n",
+       "6018341  -2697797591994908356  1334014708503607758755704192735439   \n",
+       "6018357   -508778668573156357  1334012135942752216622738653868477   \n",
+       "6018395   2730548345796589245  1334025901119470094161818952314405   \n",
+       "6018569  -3846060323645415358  1334006475541153510870103639896253   \n",
+       "6018697   2387185706828807585  1334018496503287484148418030857906   \n",
+       "\n",
+       "                    liquidity    tick  \n",
+       "19           4303369674465501  195285  \n",
+       "21           4303369674465501  195298  \n",
+       "25           4303369674465501  195298  \n",
+       "26           4304946248093346  195298  \n",
+       "27           4304946248093346  195173  \n",
+       "...                       ...     ...  \n",
+       "6018341  15669055583530736007  194637  \n",
+       "6018357  15669055583530736007  194637  \n",
+       "6018395  15669055583530736007  194637  \n",
+       "6018569  15686343407408975548  194637  \n",
+       "6018697  15686343407408975548  194637  \n",
+       "\n",
+       "[143607 rows x 10 columns]"
+      ]
+     },
+     "execution_count": 243,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# pool USDC/ETH 0.3%\n",
+    "df = swap_df[swap_df.pool_contract_address == \"0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8\"]\n",
+    "df"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def tick_to_price(tick):\n",
+    "    return 1.0001**tick\n",
+    "\n",
+    "df[\"price\"] = df.apply(lambda row: tick_to_price(row[\"tick\"]), axis=1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 245,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(array([-20000.,      0.,  20000.,  40000.,  60000.,  80000., 100000.,\n",
+       "        120000., 140000., 160000.]),\n",
+       " [Text(-20000.0, 0, '2021-08-30T18:02:20'),\n",
+       "  Text(0.0, 0, '2021-05-05T01:56:23'),\n",
+       "  Text(20000.0, 0, '2021-05-20T19:22:20'),\n",
+       "  Text(40000.0, 0, '2021-05-27T13:15:57'),\n",
+       "  Text(60000.0, 0, '2021-06-09T03:04:48'),\n",
+       "  Text(80000.0, 0, '2021-06-25T21:40:05'),\n",
+       "  Text(100000.0, 0, '2021-07-23T23:38:06'),\n",
+       "  Text(120000.0, 0, '2021-08-22T14:56:03'),\n",
+       "  Text(140000.0, 0, '2021-09-30T00:47:44'),\n",
+       "  Text(160000.0, 0, '')])"
+      ]
+     },
+     "execution_count": 245,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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/fI+vDRrPmsvP46Rba21W7mIiIiIiIgUpUwiEanabz+8Xbe/r//s7qy9fO8jj00c3TPAVMoyY0ew0UoTFSASERERERFpEGUSiUjVdlxrOa75zG489NJstl59GaZOHMVbN12J7139aMn3HLDJVCaOqTxIJCIiIiIiIo2lIJGI9MlaU8ax1pSu7KG21tJDl515+KYcssXKjdgsERERERER6SMFiUSkJmbNX1xy3ju2XrWBWyIiIiIiIiJ9oZpEIlITP/vPk0WnjxupWLSIiIiIiMhgoCCRiNREZ4nRzRYt6WzshoiIiIiIiEifKEgkInW1qENBIhERERERkcFAQSIRqYlR7TqciIiIiIiIDGa6qxORmjhm52nN3gQRERERERHpBwWJRKQmnn7tzWZvgoiIiIiIiPSDgkQiUhP3vTCr6PStVp/c4C0RERERERGRvlCQSERq4pnX5hWdPqJVhxkREREREZHBQHdvIlITB226YtHpLTrKiIiIiIiIDAq6fRORmjho05WKTm8xa/CWiIiIiIiISF8oSCQiNbHOCuOKTv/UPus2eEtERERERESkLxQkEpGaWGtKzyDRfhutwBarTmr8xoiIiIiIiEjVFCQSkZq57Qt7Lf39R+/Zkh8fvTWm7mYiIiIiIiKDQluzN0BEho4VJozi6TMObPZmiIiIiIiISB8ok0hERERERERERBQkEhERERERERERBYlERERERERERAQFiUREREREREREBAWJREREREREREQEBYlERERERERERAQFiUREREREREREBAWJREREREREREQEBYlERERERERERAQFiUREREREREREBAWJREREREREREQEBYlERERERERERAQFiUREREREREREBAWJREREREREREQEBYlERERERERERAQFiUREREREREREBAWJREREREREREQEBYlERERERERERAQFiUREREREREREBAWJREREREREREQEBYlERERERERERAQFiUREREREREREBGhr9gaIDBGt2S8vvfRSM7dDREREREREhoGCe8/WUstVw9y9FusRGdbMbGvgjmZvh4iIiIiIiAxL27j7nf1dibqbiYiIiIiIiIiIMolEasHMRgKbpD9fATqauDnlTKUr42kbYHoTt0VqR+06NKldhx616dCkdh2a1K5Dk9p16BnubdoKTEm/3+fuC/u7QtUkEqmBtDP2O7Wv3sws/+d0d3++WdsitaN2HZrUrkOP2nRoUrsOTWrXoUntOvSoTQF4ppYrU3czERERERERERFRkEhERERERERERBQkEhERERERERERFCQSEREREREREREUJBIRERERERERERQkEhERERERERERFCQSERERERERERHA3L3Z2yAiIiIiIiIiIk2mTCIREREREREREVGQSEREREREREREFCQSEREREREREREUJBIRERERERERERQkEhERERERERERFCQSEREREREREREUJBIRERERERERERQkEhERERERERERFCQSEREREREREREUJBIRERERERERERQkEhERERERERERFCQSEREREREREREUJBIREakJM9vbzJZr9naISGXMrLXZ2yAiIjLQKEgkIiLST2b2C+BKYJv0t86vIgOUmR0A4O4dzd4WqR0zs/RTx98hKmtjGRoUqB+4dBAVGUR0chx61KaDn5mdD7w//fl5M2t3984mbpKIlGBm5wF/N7PTmr0tUjtmthtwopmtoePv0GFmU81sDTNbzsza3N0VBBz8zGwPiEC92nNgUqOIDGBmNs3MNjOz9cxshLt7s7dJ+sfMljWzKdnTE7Xp4GZm5wAfAbJ2XB84MM3TOXYQM7PtzOyDZvYLM/utmb3XzLZs9nZJ36X99ePpz1cUpB8azOxE4KfAGcBdZrZskzdJ+snMDjOz7wL3AXcD1wOXmtlK7t6pfXfwSg/WrjGzEwBSe+p6aYAx3Z+IDDxmdhSwK/AeIpg7G3iOuLi9Wynyg4+ZHQ1sBxwGdABPAc8DZwNPuvsrzds66Yt0w3lc+vPnwIey3939w83ZKqkFM/s8cDSwQW7yHOBZ4HPu/s+mbJj0WcH+egzwK51LBz8z+zbwWSJQ/0/gdnf/WnO3SvrDzL4KHA+MBwq7Iz0G7OfuT5uZ6UHb4GJmPwKOTX8uAD7v7uekeS3KAhw4FCQSGWDM7GvAp4CR9Dw5PgF8wN1v1Mlx8DCzbwEnEsGhwjadAVwN/Mzdr2/wpkkfFdxwfgT4PfBL4O3AEuAwd/9bkzZP+sHMvgecQNx0vgm8CowDlgM6iQDv+9z95qZtpFSlYH89FvilAkSDX+oy+KX05+eAS939iTRPN5yDUO74C3AjcCvwAhG0XxuYANwC7OXuC5qykdInaWCPp4CxwFzivLoYOFGBooFHqV0iA0g6OX4RGANcBXyZyCb6K/AKsBbwUzMbrwDR4GBmXycCRBCBhK8RTz3/RWQSLU9kF/0hZZDJAFfkhvMX7j6buJiFCC7snJbVeXYQMbNv0nWD8k3gEGBHYHfihqUFmArslpZXl4cBrtIAUX5ftaRBmyh9YGZvJx6oAXwSOCcXIGotvNFUew58ZvYVuo6/JwHHuPtJ7v59IvvvnjRvGrBuEzZR+igFf14FrkmTXgAWAu3At83sk6CuZwOJGkFkgDCzL9N1cjwRON7dv+Huv01/X0lkoqwJbN+crZRqmNnhwKfTn8cRbfoVdz+LCP4dAtxGZI0tB1xkZh9txrZKZYrdcBLZJRBdB28mLno+Zmbr6YnY4GFm76HrpvPTwBnufq27T3f3B4H9iJuUscDe6UZUwfoBzMx+QPeMvwuyAFGRUXVGmNmo7I9UIFeBhQEm1ya7EvvihcAf3H1hmt+WDwKa2cis4HHjt1YqZWYfpisr7NPAD9z90TSvzd3/B/wozV8BmFLwfu2rA1juWuj+9PMHwHnp9xEoUDTgqAFEBgAzez/whfTnZ4mTY/ZErM3dHwcuIm5GRwCTCt6vk+PAtAURALoSuBR4A6K93H2mu/8X2BP4GfFUBeCHZvZ/jd9U6U3BDefSjIR0M9nq7ouBvwDziDTqj+VvOmXA2xVoA64D/urub2Yz0oh184Fz0qQ2QG07gKWA7sfSn6e6+0+JBy3dAglmtq+ZnQLcAdxvZlcDvzSzdYnzrQwg6Xi7IvDuNOk6d58BS8+tS9LvH07Z2ZcDV5jZqWa2X3O2Wsoxsy2A9xLd8b8PXJyOtwBkbUpkcQLMAh5J721RwH7gy92n3JV+7uruJwLnp7+LBYoKA/nSQG3N3gCR4c7MNiH6Wo8kIusX5/tZ506OKxMZCnOJkR4wsxFAZ24ZGQDSE5ARRDcyA55z9+nZ/OxiJl3YzDez44luhkcRXQrPMrM3002NDABm9nG6bjg/TC4jAWIY1/TrpUSgdwywAzAaWKB+9gObma0GvIu4SXnM3Z/Kz08BQIj9GeAfwDgzW5W4llqUPfWW5jOz8UTR8fnEeXMPM/uTuz9gZiNzWSffIY7Tq+fePi393Bv4vpn9wd2faeDmS+9aiW6904li1Vngb0mqe3I+0a55OwPtqSjyRenhmzRZCgTsC+wE3EC0zcu5+ZYCgyOAjYiHpTcAh5nZNkQW9kIzuwD4X+GxWwaGXBDvduAlYJM0/RMpfvQxugJFuPs5uUB+e+4cLA2iTCKRJkqR9b2APYhCfBe5+0sF87OT6OZp8p3Au83sX0TXluvM7FNmtjkyIKRgwCKi6C3EjQpm1lawXEcKHiwEvg5cQBT1A/ixmRVe5ErzPEXUCTuGggBRJrXlk8QwzEuAbUj1qBQgGvCyrKAOYjRJzKw9n6VpZuOArYiMwLcB1xJPRW8F7jazr5jZOo3caOkp3VTOIbr0XkbcVO4MnGtmm+UCRBcS3VpWItr0KiLrcwaRqbASEfA91sxWafT3kLImEcGBZYFV0rF3iZmNIboAH0acd28nBoZ4lK5uwV8BPmdmGzV8q6WHdC7Nskv+5e53ZvOyAFH68yjgg8S961uB7xKB/X3T3z8GTjOzzRq17VKd9AB1IfA6sF6W2efunwB+mBbrllGUsrHfZmbHFVml1JEyiUSaKD0d+SdwFnCVu2eFbwtPju8CPpF+352oSTSKuBFtIyLybzezL7r7fxq1/VJaSpV9muhydrCZnenuz5VYrsXdF5nZmUSNhQ8R/e1PN7Pn3f22hm689ODul5vZ3cDLpdLac4GgO4HXiLoJO5rZqsXaXgaUV4nh7dcnggK/cfd7U4C+IwV4tyJuSCYR+/UIIqA0Ka3jK8BqZnaGuz/W4O2XJJ1XW9z95dR1t4UI6u0CfNfMPkHccL6bCOR/jeiydAdACvTtSwSQ1iRuTJ8AflFwXpYmSDea84h9byKwauq6DdFV6cA07zAis+S1lFn2MWB/ouj8h4gMzy+kgKI0kbtfbWYbuvvD0HX9m8u6PoQI/kEM+vEfIgA8hTguHwusAxwEzDGzr7v7iw3+GtKLdI30qpldSWR6Lpubd1x6JvNx4tz6rRQgegj4KrCBmY1INT2lAZRJJNJEqbvRo8BUdz81TTPo1iXpEOBX6S1/A/6POBluARwJPEAMCboVcLKZbdC4byDFWFfBvf+ln2OBfaxEIb58oAg4jXjyCdH//lCLwpuqO9UkuX1yeiU3iO5+I3Bx+nNX0khYMqDNA+5Lv48jAgLbEc0/jchK+SHRHfQx4P3AtsB6RLZYNmLLB9JLmih3TH2ZGPnqr0SW2G7An4DPE5kmxxKjYmUBotYU4PslkUX0DBHs/bKZLa8AUfO5e2fK2LwlTTrJzFY1sylEcG8esL+7XwPMzGWWfY8YsfBf6X2fAN7Z4M2XEnIBom71hcxsT6IbN0T9xk8Sgwo84O7XEwNGHAk8TAQN304E+1Wvc4DJtcdLRNftQ81sROpKiLsfR1eNopFEhv2PiYDSc8AfG7vFw5uCRCJNlLobWa7oYkvByXE3uk6OPyVGPzvP3V9w93vc/VLiovdeovbJtkQXF50cmyiXUfIrIqNkWeCjxM1Gj25n2XtS+y8gat7cQ9ysHkUEEXVz0kDZRQt060tfyfuy8+pviSdgAJ81szVqt3VSS+kYvIAYcvlp4tpoS6KAddZd5bvEhepDwG7u/gd3/6+7v0LXzed1aZWfTzc20iDFznclAkVLgA2JG5RTgUu9ew3AjvRzHtGelxBdh1cHDq/z15AKWCpUTFcXpdWJDKEtgFWBfwP/tTSiWcoss1TT5BrgJ8TDNYDPqCvhwFKsKzfwCjF4y8nu/niWLZgt7+53A1+mK4P3E4XBJmm+XHtcDswBlnP3RSmTvi0t8wkiGAjRU2IqMBPY2N2fNbORjd7u4UpBIpEmy5/EitQteZa4afkdcXJ8Ol34ZrWK2tx9JpE6/QKwDPChlJKpk2MTpQuUZ4HTiS4NW5PSpVPthB6jNqS2bU03KF8husCsQgSKFPhrEDP7NvBxMxtb7Xtz+/ADRMYJxEXOemndGq2jifLBv0y64Wj1KE68JxEUepro0rseUY9qLHGMfZe7T8/a0boKkt9A1LPJBhHYNM3XPtsAxc53KTBQGCj6C7CACDD801N9ohLrfCMtn7XhtFLLSu2ZWWvuWmfpfpQyiTqAnxP1o1YiupJtnhaZ4e4LPTegRy5Q1ElkZP8vzZpCPGCTJqngGPlvoqbYce7+WjaxyPXynUQtMYguwLrHbaBi59YyZhLnyl3NbNsU8MuKVBtRH+51ojg9xAPTwwHcfWGprHypLf0jizRRbwc6j1EatgY+moJB2XRPP7OLoKeBrP/1BDRsb9Pkn26lSVcR/ecXA/ua2cXZ/BKBoux999NV+HrtNE+Bvzozs7OJbianEiMK9mUd5jF875eJQN/ywBcsN+y2NJ6ZnQV8uFjwL9sf3f1p4mL0QKLbwrbAH4jRlB4Bnkrtm2WcZEGIzrTc62mVU9N87bN1ZGZrmtlbzOw4MzvKzPZK07MRkVoLAkWfIo7Hv3P3B8qs19Kx/EUiEAGRUSQNkjJEsmudrPt9S/Yz7aufIwIDmwEnp7dOSMsUDhSR/X/oILJ85xAP1lar/7cRM1vBzHYys0PNbC9LBaYL27aQuy9x98fcfVax+dl7U5A/G2FyHl0BBqmzcufWIsuaR72oq9KklVLg1y0Gh3g3cAowmRjNGeKe5nxLxayzY3rNv4h0o8LVIg2Q0iPXJ9JglwAz3f1/RZ6E9JAPDpVYd4tHYcbHiK5m82qxzVJeb22a3Ti6+31mdn5adnXgnWa2yN3fl7sx7ShYt7n7k2b2b+BoYqhtFUytMzM7BziOaM8vEMVqq5Y9tSYyT24CDia6Kh0C/FFt2Xhm9mOiG+ds4E0zu8Td38wv413df2en5R5K792HuOG4P82j4H3ZcXwSXUWsS97QSG2Y2eeIgN5WBdP/CdxiZt/JMoVyWZrTzewdWTuW2hfTNE83PZPSZBU4bgAz24E4X+5GBF2fAK4HHnH3xbmMIIgMvkuImmET07S3mtk27n5HYfvmzrUtwPjsI+v6hQQz+wxxHtwlN3lxemh2DfD71OWox/VQJdL+vQbR5RDguXwmmdRPJefWvNz++Ej6eQDwFzObDLyFCPZuQNSD2wH4THqNAL5uZqPd/VuV3D9J/yhIJFJnZvYh4sCXH858iZn9kCjI9nB/bhjTyXEVIh0X4DF3n1vuPdI/Fbbp0gwDd/+bmU0AziVuOI62GKr3iGIXRCnIMIlUfBF4U0GF+soFiCBG1/hlf7J+UnvNNLPfEiMrLUd0Zfqj2rKxzOx9xEXsQiLL4HtperFAUbG22ZC4XtrWzKZ41CEq/Iw2uo7BjxMj70idmNl3iaygTiKo+wzR7Wg0cdPxFuCg1PaPZ12UckFAoHyml5mNJoJQY4nuo3+o1/eRYGZfJkaTW71g1uPAIymT4HkiMxd3f9rMfko8rNmPuJFsJUYG/bi7P5p1Z8plrLTRFUy4m64C2FIHBfsqxMOTlYF24L1EsfFDzez95bKFevmMEUT250Ti/8qv03Q9kKmjas6tufdkbXJjmrRWOtbuA3yJCBA9C+zp7tOBE9P8Y4luZ58ys5/29gBd+k+pWiJ1ZGZnEAWnD02TshNgG1Ef4Wt0Xaz09TPa6RqW+RngN2m6no7VQTVt6rn6Ue5+EfE05FXiYukw4Goz2yAFjJamx6f3bECkwr9BFPlTm9ZJQYDoWPoZIErrzNrqT3SNdPZRMzuwP+uVPsluEjqI7kMTgbOAd1SSHk9XduZUYPt0zC3sHrEe8C7ixudu4kZI6sDMTiJuOiFuKvYiAuoHECPNzSWCCNsRwbpDLIZAr7b73/rEkNoAtwIv93vjpaQUTPgq0f3reeA2ots1RJfrA4mRyT5ouWLTHiPTfQf4J1FvCqKb/tcthlV3UraQRRfvdYmsTog6Ngoi1ImZfYGuffU0Yh/dlMj8OjNNn0o8SPmPmW3VYyWV2ZAIOI0C7iBlqShAVHdVn1tzbfIAcT28LTHa5Kl0BYh2cfenzGxUes9xxGAgs4G9FCBqEHfXSy+96vAiRsPpTK9fENkJOxAXQVfl5v2sn5+zCfEkrJNIu1622d99qL762qZAS+73I4EHieGXO4lRzE4DNiKegC4D7E2MrNNJ3Jys2OzvPlRfwDm5djsGaC3Wbv38jP9L659LXBi31mK9elX8778ycYP/PFHr4NHUHq8Tw9WP7eX92xOFNjuB/xI3NMunecsAe+T21yeBNZv9nYfqiwgW3ElkD50MjM7Ns/RzNyLr59Vcm3wQmNzLurP3txE1bq5N738IWKPZ330ov4Djc8fhTwIbpuljiG5KfydGuOokbka/D6xXsI5tiEzeWWm5OcSw6Iem9lwj/T/4d5r/mNq1rm26WbrW6SCCt6OLLHMwMYLk7Ny+thfQ1su68/vqpkSXtU4iOKTjb+PauE/nViJJZQJd9y7Pp59PA6umZVrzP9PvU5v9nYfTq+kboJdeQ/FF101hJzH0+eSC+dsTGQbZMu+qYt3ZybGdGM0ju5B9HJjW7O8+VF/9bVO6B4r2IbJL3kjLLkgXSTeki6QX0vRngXWb/d2H6osYZjVrr/cAo3Lz2nK/txNZCQek146l2rbMZ12f20/HNPu7D6cX8XT5fuKmcV8i++TpSi5m0/uXJYJ72c3nU8DNwLeJmlNPpukvAes3+/sO5Vdqv06iqP+uuemWnRvT3+sSwfvpuZuP95Zr5/S+FdJyt+XadL16fBe9lv6bTwD+QWR/nU4EhrLrnJb0cxqR7flMapdXieLTGxesa01ipLMZuWN7JxHkfYUoPp79f1C71rdd304EiF4Gts5NbynYV7cBLiCGr88CPbtVsP5sX709vW+62rThbdzfc+sJuX30SQoCRLnl9GCtGe3b7A3QS6+h9iLqUtybDnpfyx8g6X7j+T4iMLAE+HaaZhV+xlQi6+EOup6s6eQ4wNu04PdpxND2T9N185m9phNBhXWa/d2H6itdXGb/3nfk27OgTY8nhsHuLHhdArwfGJGWKxoooutp2JfSRdCmzf7uw+mV+/f/CV3dPMcAX6QruFPJxexGRKBoZu7/QEf6OYsIGml/rX97ZhknL9DLU2WiRtFn0vmxkyiAfECa11Kw7PJETZubicBQJzFMuoL09W/TzXP70hFllhtNZJk8Tlfg5+fF2ogIEv6OyPzLH7cfBi5CD9Qa0a6n0RX0mVBkfv56aAOiZmOW/fcgXdlkhQGDNYH9iYywLAh8p46/DW/fPp9bC9r+FCLLevVi7a1X816qSSRSe3sQJ7wHgb95rnibuy/J1Sr5NdEntwXY28zGeDpClmJma5jZ24kaNWcQo7rcQTx1eaTce6VfatKm7ktHvcLdn3T3i4naCUcB3yK6s32XyGo5wt0fq/9XG7YeIZ5EvwlsZWZ/hqXD7S4BMLOfEN0aDk7vyY9udBhxMfQNMxvpJYZk9a7aRhcDu7v7vXX5NlJU7t//jvRzd3efB/ySuMF8mq46CkdYDMGLmY0zs/Vy63kgLZM9uX6UCD5cQYyEd7j21/rJHWOzmjNtRFe/ckNnv0jU6Ps+kVmyJnCmmU0tsr8uRzzV3p7ISvodcIi7P4rU2zLEv/kC0oiSxervuft8d7+GOF8+QdRhPBj4kJmtkC2XBox4lHhoswdxrD6c2Hf3Az7i7k/W8wsNZ7m2y469I9KrW7sWXBs9RHT9/gORYb0+8BszG+tRcD6/r04lsjh3Jh7IXQQcpuNvY/Xn3Aqsm7sWPo0oqfCMmbV5P+tBSu1odDORGjKzaUSKO8QoRrcXLpMCBa3pxPcU0Y1lNF0jP5QziSisuxnRh/evwFfd/dlabL/0VOs2zV8YpYvZV4mCm/+syxeQotz9NjPLuh4cCbzNzP7q7m8DMLMLgXcTtaOuIjK7HiQySjYhsojWSsssNLOvuvviMp/3RP2+jVQgC6LvkW48XkyjIgF8iKhXchYxSuFVRMbCV83s1+kiFnd/Cfi7mV1PdEGc6O5PN/A7DFu54+adRDBhCvAJ4BNeZihkd3/ZzC4iAhHHEsH+X5vZW919YW65B83se0TXibuBK939tfp8GynwOhGAH02cO+8i6vMVHcLcY2j7o4ngwJpEwfi7gd/lzsOW2nch8OcGfAdJcvvqf4h9dXViX/1quQeh7v6Ymf2A2FcPIjLMzjWzj+TPre5+i5mdDuwKXAlc7ypk3Ex9OrcSD1VPS8vNTfts0X1emsPK7K8iUiUzW5ZImd0X2N7dH0+BgKIXsWb2WeKJyDzixvOZche86T37AjsRBY1vcfc3avgVpECD2rTbMK0atrW+8v++ZrYFUeviSOIm5S9EGvtZRJbRJ4ErUlZCfh0fJoqkQtxYftbdr1TbDUxpdKtbiRuQHbLgjpktTwQPPkhczM4mskh2IgKCM4huDHPS8j3aV23eGOnJ87LA74HdiazNE939igreuzExAtY+RO2TE939V7mn2dnxYDSwsLdjttRO2gfvJbr8Xe3u+6bpJc+zaf6BwI+I4rkPEyMivab9cWAws/WJh19rAFcDn3H3+yp4305ENsraRI3G49z9upRN5Ll9tez/D2mMWp1bZeBRdzORGkpPHk8hii++lqaVO4llB8d2okZCuQui7GL2Snf/irtfrgBR/dWzTXOf4eX+ltpKmV/Z/nQ3cB5x8TKfGBr528QT6OOBX2cBIjNry63jp0QACWBjUpc0td3Ak24uOojCtSsQT6Cz4M4M4KdEXYVniSK6HyIuYp8mCq7Oybo7FGtftXljeHiVCOQasd8dYWYrV/De+4Gz0/uWA3bJrTPf7WW+bjwbJ7cP/ow45u5tZl+EOM8W63aWcyNwPl3dk76ZAgfaHwcAd3+Y6NINMWLrUVl7lmtXd7+JuOaCyPzbP03vLNhXtZ82WS3PrTLwqGFEaszdHwe+7+6vlzoR5g6KM4gD7Jt01VootV43s9aabqxUpF5tWvA+aaASgaLfEzcqbcQT6ss81z/eu2oVWXrvJUTWEcABZjalgV9BKpRuLuYRIygBrJJ+WrqYfZmohXE7MfqRE90Qf+Duz6dldEPSZLn99VyiqwJEUdRjzGxEb+93938RgSKI7qVr1WM7pXIFXZPmpd8PMbO3ZfNLnXPdfRZwGTHiGUSgaGwdN1cqlLuu+RFdx93PAx+B0u2a28d/R9Txgzi3LtNLwFCaQOfWoU03JyJ1kN1MlnqilTsoziX63o8HJhdb1sxWNbO9TAXdmqqObaoTZJMUCRSdSwSKXgOu9RJ1DrzLy8ToKhDZCb3eqEpTvZR+vs3MJsLS/wMTiPoXm9LVhi3AF83sGGLEFmmygmPvL4nAAsBX6MrqKyp3g/lU+jmWGL5ZBgCPLoPfS39uBbzXzHZM88oFiu4HfpD+3IUoZixNlruueYUIEjyY/v6hRT2pSrIyn04/VwPGKUNsQNO5dQhSkEikubKgTytFDpZmtg5RnPFi4O0N3C7pO7XpIFIkUPQj4Hh3/1u59+W6nj1PPBl7DShZuFoGhKuIEckmEk3fmeopHAh8jRg2+wViNKxs9KQzgcMtjcwizZULFtxEjFyW1Tj5tpmdlGoKFS6bdzeR4ZkF8qXJclknpwO/SL+/HfiYmW0FxQNFuYzOe4FZxLm3vTFbLb3JZYn8HriUOPYC/MrM3lfmfdn/h1uIc+oi9ABmoNO5dQhSkEikueYQJ8BFRDeXpVIw4QfEk7ExdA0zKQOb2nQAyy5A8zccBYGiW4luZGW7Arr7EjObDOxGnEvvT33wZQAoESCYk17rAruki9i3Al8ial88Rzz1PAm4kK4hfH9JPCFVd4cGK9xf077akjI7LyACRdnoOmcAX0rH2W5dtNPvbUTNjFFEZsODSNNlWScpU/p7REABYuTIT5vZ0vpR+WNyrp7U60SgvpXYX6UJCs+XuX11EfBNol1fTbN/aWafNLOxufdn+2qnmbUTBY7bgceJmjYyAOjcOnwoSCRSA7kL2bbeli2wgK6Lm5G59a1DFGTcmzipbuMaarmh1KZDT7pg7TSzzYiCt0szvQoKYnakn70Vkt+F6IP/GunGRhc7zZHbX/Op7pafn2on/CtN2pQI8H2RuIh9ljQ6Uvq/8COi6ObstPxd6u7QWKX21zSt1WNY7O8ThVHvSW87GfiamR2Zlu1I62onatYcmJa7lQpqxknt5fbVUblp2b76IDGy5N/T30cBJ5nZUdDV9tnyKbCwMzCOCCbc2JAvId3k9tVNs26C0G1fXQB8jgjqPpdmn00UG981LZvtq23EvrpnWu5GujK0pcF0bh2+qr35EZECBRey+5jZ7939uV7fGFroqoswKa1vXeCHxAlyJrCbuz9U482WMtSmQ1OuTe8mAnnvNrPL3H1+H1a3AfBZYkSPa4mhfjXSVRPk9tctgR+b2bfc/Y/ZxWxKOMgCflnWyXFEcfm16bqIfS7doHS4+wwz+yXR3eGv7v5Yo7/XcFduf3X3jixLwczOIwK17yGC8EcAu5vZO4j9cgawTZq3PfEU+9spw0EaKLevbg58wMx+4e735LJOOs3sFuAbxGiT7yACe9NS17MvEIfZjtS1cF3g/UTGyT2kEUilsVK7bQHcBSwysz3d/eY0L9tX55vZF4g2OhTYghhBdHczu53I4F2cph9K7LOPA+e66nE2hc6tw5vpelak/8xsE7qeZJ4EXOzuL1TwvnWJ/vQjgH2AJ4mhYPcgggm7KJjQHGrTwSe7oCkzfwQxitmHiKGwXyfa9lep+0q5dVu6MBoLbAl8ncgkegHYw2MEPGkSM1sPyParu4Cvu/tfiyy3MZH1NY0I6OYvYlsLb0aKTZPGqGR/ze2XrcQT7A8BHweWEA9CFxFZndnIoI8Db3X3R5CmMLON6KoldS7wU48C1IXLrQ18CvhYbvLtwKNEvZrtgE2IoMJzwJ7u/kQdN33YMrOR7r4w/W6FD0NSVthfiWseiGzpI9392twyWcChnRjW/ijgnbnVzCa64WcJDE8CB2pfrS8zm+buT5aZr3PrMKXuZiK9MLPx5bqQpOj4wUTkHODLRMHFSopizknvm0+k1/4IBROaTm06+JjZKcDb0wVoUSlz4LvAz4lCp5OBFXoLEKX3upmtT6TMn08EiJ4B9laAqL6sTG2onAV0XchuAfwotVehR4nh0+cCLwO7lrqIha4uENJ4leyvuSfaHe5+t7sfBxxNdGd4iTgWtwB3Etmc++qms3EKr53SvrwlMeoVwDHAyWa2fOF73f1xd/8E8Gli354PbEtkjJ0LvJeoc/IQ0a4KENWBme0DnGZmB0HJUckWEFleVxGB2eWItsov05n21cXufhmxn54AXAG8QWRgtxEP2X4N7KN9tb7M7ALg7xb1FUuda3VuHaaUSSRShpm9nSi+9ghwnru/WWK5lYEPEE+8VgROcfevV7D+VYHHiKyTV4kTq4IJA4DadPAws7OJIbCfILJ6nu9l+XWAbwN3uvs3Klj/ZCLQ91uiXTuJJ9nv141JfZnZacB/gX941KApt+zqxHDL2xBPO08pmJ89yR4JHAv8yd1f1BPNxkrB9rWI7rgzgTfc/dnc/G4ZgZXur0XetyIwIX3OvcT9reoQ1VGqW9ICzMraonD/MrNJxHXVV4isg1Pd/bQi61qasWJm2xBdfI8l2nQ8kWlyDfCb/P8fqR0zO5m4BlolTdrMUG8MbwAAmJ5JREFU3e8rslyW0bc5ESj4k7t/tcLPmEBcJ61A1Ja6A1hc6npbasPMfgh8NP35LXc/ucyyOrcOQwoSiZRgZl8mnnIskybtB1xd7ClKWn4l4onXDHf/dprWIy234D2rAw8TF1XtRDr9zgom1E+64ZhMPB15o9zFpdp04DOzc4g+8B3A/wHnl+tylnvfMu4+M/1e9kImPV3bmRh5ZwzwZ+AHlXQ/lL4zs/OBjxDBv+OAaysIFK1FZHf9OP1dGDgo/FsXsQ1kZp8E3pJeEMfhecCPgRvd/fK0XGFgoeL9NS2TDzCUPWZL/5nZIcQN5OHEee8uoiDtGWl+YXtOBN4FjHL376VpxboxdZtmUby8hQj8vUga5KyOX23YMrPvENc/AH8Crnf3H5RZPgsUTXX36WlayX01t3zZbuJSe2Z2LvAJugqC3wq8z92fLHW81Ll1+FGQSKSIgpPjz4B/u/tvKnjfeHefk36v5EJ2NDHaw9uJ/tg7uruG5a0DM3svsBcxrG4HkQ0yD/ga8MdS2Sdq04ErFyCCeHr1y2ovSioI+i29kAU2ImqjPKGnnPVlZscB5xDFLduJ7LwTgGt6CxTl1qGL1AHEzL5L1JjpJGWb0H3I8qeAy9z9U7n3FAYJFPAZYMzsq0QdqMn0LGNxobu/Ly1X2Jb5Ojd92lf1/6E+LLpvn5r+/CxxjfRsmldRUEfBn4Gp4Lrp38Cu6ff3u/uvK1yHzq3DgIJEIgUsRl/IuhWdAPzB3V9O8yo6MFZzYWtmBxDdmr7qRYo3Sv+Z2TeBE4kb/Bbi6fWo3CI/BM72MrVl1KYDSy0CREXWuXT/NrP2LBihi93GM7PPA98k6ht0EMGER4lssYoDRbn1lX3qKfWVMnOz7ienA/8juoDtTxQgzhewvQz4ZG9diErtr9I41tXVF6IY9YvEOXYfwIlz7jfd/UtVrFOBnyYyswOJLmOTiWvgH3saCbAfwTwFFQaAguumDwP3AxcA6wEPAgd7mSLWJdapc+sQpcLVIjlmtj1RSBEiqPCTSgJEVlDsrSCY0JpLe5+Qm54VdLwceK+CCfVhZmcBnydGt/kj8EUizf0XRK0TiKeg7yq3HrXpwFEuQFS4L1axTsut42vA+1JWGLrgaYp/EJl+LxFB3FeJ4a7PBvayMgXKC6X9NauPshF0FVGt9UZLT2a2A/BBImjwKeAb7n6Juz/i7me7+1Fp+mPEqGQHAz8zs01LtVG5/VUaI2WbZAGizwNHufv+7r4f0ZUlK069s5ktW+E68+fWqbXeZqnI9kSA6A9EbZksQNRW0GVwnJmNy7/RYpRBCqa15PbVr5rZXnXdeimq8LrJ3X9OjOCb1VVcHtg4LdujHUusU+fWIUxBIpHutgbWAG4A/pJLhW7LneRGmtma6TURSt9EFlzIfgP4nEVB5GxUlhYP8+v+zYYhM/sskXkAcdF6vLuf7u5/IWqdfBm4Mc0/1cx2rmCdatMmMrOf0HWh80GiO0PWHm0FT7Q2NrMdzGxri1pU+fUUDeymG84vAmcAb7OogSGN9xoRJJpApMT/nhgBp+pAUe7/x5nANWb2tjTddTHbEOsCqxNDIl9NjFKFmbVk+6G7f5/o1vIvoovh3sD3iREie9D+2lxmth+RiQAxqtW5+W7V7n4+UcMNYjSzKZWsN7evng6cZTGstjSAhcnA+9Kk/7j7i9k8T6MKmtmnzexnRN2pO8zsB2b2MSg+YlUuiHAGcc11kZntVP9vJJliD9bSteoC4BRgBlE8/LP5oF5vdG4d4txdL72G/YvIMhlBBAw6gdNKLPc14gn368QNy63EEOerAiPKrP+UtN43iAylVZv9nYf6C9iTGJWuM/37j87Na0s/24GTiJvRRcBn0/SWCtavNm18m348/Zt3An/PTW/N2jT9/RFiJLJs2SWpfc8GDswt11Kw/uWAvxABik6im9M7mv29h9sra5fUFp1Ed6QVU/tlbfMwUfy4vcJ1npDet5gYDv3wZn/Pof6iq6TBz9O//R3l2jv9vkvadxek91wBLJfmtRa8T/tr89r28+m4+gywZcG81vRzVeLm80VglVL/P4pMPzm15xyiLtlmzf6+w+UFLJvaaw6wXprWnn5OJQpYd5Z4XQqsWWK9KxHdEeelZRcCOzT7+w6HF3Buro2OyR9Hie6gy+XadSbwzmxehevXuXWIvpRJJEJEwz1SarMn0/+FyBpKP1cys78QTyz3I+pjTCAyj44FLgHek2UW5aXuSBOJE+8E4FvA4ZWmc0p1ck8v9iKGWb4L+JvnMnvcfUl6MraY6Hb2CtAG7JHml+1epDZtmmeIIC3AAenJZLb/Zk85f0TcWByZlltMZM22EV0jvmFm/5fe15nPKHL3V4mA36VpkhF1U6SBcvvfA+nnPu7+EvAT4EIiSJ9lFO1tZiNgafeHlUus9h/A7URAcUvg04VdJaRusmHn27Lsr/xTZs91T3D3/xAZRH8l9t19gPPTvA7tr82XrosOJY6rL7r7f/PzvSsLYUWi9t/VwAZmdpiZHW9mx6RrpR6ZgGnds4DHgbFE9sP7sn1c6s6Ic2U70eUMd1+c/v1/RgzIMY8I3l4GXJXe1wEcQnQT3QR67OMvAu+hK3O7nQjuSh2lbPdPpD8/TEHtRg+vEoF5iFED98zmVfgxOrcOUQoSiXSX3eSvBeCpuxlxkXowUUT150RB1R8QNzGLgG2JVPmjzWx8foXuPhv4LpFxlAUqLncV8asLd/fUN/pk4hh3qbvfXWK5NuLJySNp8uQKP0Nt2gTu/g/iBvKyNOkkM/t2Nt/MfkMEbTuAa4nRWY4BziS6sQBsChxvZh9P6+wWEHT3x4DvEG27gbs/gjRU7ubirvRzJwCP7iw/pHug6HvArma2DHEDc5mZHVW4To+i9O+ka18/xt3n1u1LSP4m4/b0czNidMkeNyDpeJwFim4j2vl6Yl8+zMxOTfO0vzaf0RXgac8F/tqWLhDBnp2IDIN9iXqAvyeO3z8hjsfvN7NJ+RWna66LiKztLIjwk/QQT+oo7X/ZfjmCFCxIzgYOIEZs3R84zN0P8ag/9R7gSiKouwfwHTMbk/bplmzd7n4PcV32T2Ajd3+0AV9ruDPgZeK66IIy16h/JmpQAXzYzA6q9AN0bh3Cmp3KpJdeA+FF6q5CXLh0EtH2bN7pdHUr2rbgfVsSfayzFNp7gP3SvMKuLKsQKdrrNvv7DvUXMA24mSh6m3VVKNmFjAj4dNLVL7utws9RmzauTS33+97ERU2WQn068cQ566JwDLB6wftHA9/Ovec/wDZlPq+ibkx61bXN10z75EPAlNz0LIso62b0KFGT5l66uqKNKrHO1SjRJUKvurXj9sSNymLgd8AaZZbN7+eHp2N4J9G1e4vCZXLLan9tbJt+L3csPbVg3mii2+CDaf4rRGbQlURdqqwr4YNEdkOPfZXIaHgXsHazv+twexFBvM50DbUpMC4dW+cCu6VlCrt+7gBcTHQj6wTOL7LerPvpyGZ/x6H+KjiOblLu+je33Kfo6gp4VprW6/ty79e5dYi9lEkkQrfuKn9Lk95nZll3lU2IvvdHuvvtZtaae+L5X+A8IlCwIC37mTSv8Inn88CZrqcndecxhOfxwE+JTK8e7QHdihfPySYBS9L/hUo+R23aIO7dMg2uJjL5/ppmf44IAC0k6hZd4O7PQNfTbXef7+4nEU+yIZ5y71bm8zScdhOlffMNIki0HnGzAkDa335IDN37OrA2UaB+Y+ApYG93X1CscKa7P+vuT9V584elUoVK3f1W4gFMK5HtdUCp5Qv28z8S9TQgsnV3yJYp8j7tr411J12jl51iZt9LgwTsQWRV/4QoOv4w8DZgF3ffN/1+CpGBuz6R4bAi9Oie9AZwsUeWgtRB4eANOVk3362ILLD1iGPr3cB/LTfSb25fvYW43sqySXYtHCwi22+9K0Nf6iQdR7NBAe4rdv2bye135xDB+HYiy2+dcu8r8pk6tw4xChLJsFSmdszddD25PNLMDiBuJl8BHsxOjvmLVHd/nUilvpAIJu1tZm8vtnJXd6RGuhv4mrvPrmCUhRfSz4VEG5ZVUBdDbdogJQJFWWB3FKkrWj7I5121irI2+wFddUvepb7zA5O7d6Zj6zVp0qrQdexOgaLfALcRXZKMyFT5qrs/n7o3VFpTQWogf2OSyZ1rvwHcQdyAnGVm+xZbvsh6zqLr/8BRZjZWo+Y0n7tfRNSomZ0mnQBcR9QnOYkILDwC7OHuN3vUFMOj6/dPiO5ki4hARPZgrUcXxPp/k+HHzLZIx8dSAYBziFpD7cDXgQOJoN4b7j7HC2ra5M7J19JV22YDIngvDZYLDlUU4MmOt6ldLyT26UnAp8xsVN02VAY8BYlkWDGzt+efghRy95uBy4l9Y3/i5OhEIcXny7zvRaKQX7ZPrVrrbZfi8gG/guBNZ/Z0udTFZu4k+mb6uSywTLGbEIvi5dsUvE/qpExWQmGg6ByixsFM4Bp3n1XifVmbPUlknwAsQ3QzlSYod7Of25efSz8PSbVPsuGUxxHd0dYhMlRaiZuaz6d6Cj2K4kp9mNmvzOxkKFoMPjtnPkt0NXuWqHfyVzPboXD53Puy/XUJXUH8VYhuZQoeNFHuJvSLRI2Zi4hBHF4gskmmE1mAx7v7y4UP5VKW0FVEliDA2mUe3EkNmdkPia7ah5eY35L2r58BjxH76ilEF8JxueXyWV+ea79rgFeJ6+Zu9Tmlvsxsr9R+RY+p5eSOt1fRdT28FTEwS7msMxnC1OgybJjZucQwj98uMT/bH04mCma2E0NpTyJOdmul5VoL3pedLP9FV4bCpJptuFSsH8GbrKtCO0VuQsxsXSJr4Zdmtmfhm6V2zCwrGu/5C9G8gkDRNUTR2s+4+1XFls+tuz39H3mKCDa8TmShSAOkrrprmdkGZjaVGCEwP7/biFfp178TtTCmEF1B3WJwgIOJbIS1iOzPC4gaResTNcb2MI2IVHdm9gPgaGLUwOOgZ6AoTVtAHEOvJNppJHCtme1c6ridbniWEOfjJcSN5+h6fRfpzsxWM7N1zGxFSyO3pn10aVDA3c8H3k90B9we+DVxvbSICMgXzbZ197vo6tY0ARipDLH6MrPvAx8lascsKLZMbl+8mnjw+QZd94q7mdkH03JecLzO2ngRkdVrRIBJGsDMfkyMsnxCliVWbWAnve9xIusTYBuiG7cejA5TChLJsGBm59A1DOQ9xS5GcgfBmUSXlPuJfcSBlYkCi3jPYXizgMLyaTmooMuS9I+ZbWNmxxKjGV1mZheb2UFmtloV68j+H8wiggazKbh4suhXfx6wO9G+j9Vi+6Wn9JTzR2aWjWZVaaDo78TT7LJPvDyG8p1C3My0AI+5+5xSy0vtmNlHia4IDxPdjv4H3GBmH7UYjbDwiXRmFhHE3QHYJgWI3gp8kejS8CwxataJaf0zieyiC4Fd6/y1hjUz+xTwMbqOmeeUChSlG5BXgK8SQZ/ZRKDoKjN7q3UfGaslt46RRNu3Ac8QBbCljszsnelY/DCxn/4PuNTMds/VlenIHX873P3F1L7jiIdkz3rUBiyaMWhmKxH7L8CT7j5PGWL1k66Bjyeucz5CZN+WWtZSV98ziKBuNoKrEyP4Lh0i3bpncrcRBcvHEEXJr6vDV5ECZvZr4v5kUvr5f30JFOX2vzuJB2kQD1vUbXCYUpBIhrx0cjyOOMEdC1xU7mIkPRH5FzHs/WPEExGIA2/+AnhpAev0cysiE+Vpol++1IlF14YLiQyS/YGDiCE4fwacbWabV7Ke3P+DxcTxcAzdU6rXIf4f7E3UpdrR3Z8rXI/0X8r0+ygxhO5xlQaKcr8vST/LFWhsSetfnugS8Yc0XU+w68jMziQKTR9GdAtrIdpgkzT9ByngkN18tqb3Waplcnla1YZEsfF8gGhXd3813dScR2QUQYxS+HTdv9zw9mT66cDz6feigaJc3YsXgE8TbfoqESi6BPiMmW2avQ+WZu2uT5xbAa5P69T+Widm9nXiPHoskRECkcW3B/AvM9s7Fygqdh01hcgg2cjM9s+Wy7dZ+n2btP4ZRPcnHYfrJHcNDHGO/UWp0gnQ1V6pjMKJxAARrxPXwjsT2SoHpmWzAtZtxKiT7ySO73cRAX6po/TQZH/iGNxJHC+PoY+BIgB3vx24LP25HfFQTYYh1WKQIa3g5PgRYmj7XruXuPubZvZb4qD7CWJkh1bgi2Y22t3PzJ0cRxJPro8nIvk30VVHQ2rMzM4ipcASWQP3E7UqJhE3nnsDo8zsU+7+SLF1FFtt+jmCFCTKBYj2TJ+zu7s/VIOvIAXM7P+I/ayD2M/ekabj7jflLlr7+6R5fWI/XYYIBN8AKpBaT2b2VVJhWiJD8wEi+H4IESTancj42dnM1nP3j2bH1ly7PJt+fo64GF4/TdvF3Z+z6Ea42N0fM7OfEV0efuUaGaneniOK/c8A/kOMhLQ8ESjC3c/LblI8asRlvz9nZp8hRgXdn+gy+DXgIDP7J5G9sITownQ0sCWR1fJL0P5aLwXn1muIkY7uJ0aM3Jro6neWmR1Y5mHJvPRzBHCwmT3h7o9mbZZuWNcjAoXLE9kmN4LatR4KroGPpcQ1cLaPpt8tF9TN9tVXiBqd04jRCdc3s22JGjbziQyiw4EdiYy/r7r73Dp/vWEt7UuLiKyfZYHbiaDOBsCH0jJn54/BlawzLfczYC/i3ucLZnajuz9dn28iA5a766XXkHwRBW070+sYoLXEcq2531sKfo4FDgX+ndbTkX5eRNywHAh8hzg4dxI3Lms1+7sP1Rcx0kbWpp8Dtk7TpxI3FFmtmRnACfm27GW926S2XUicFNckLpI7iafdGzT7uw/VFzF64M3p3/oxYlS6TuIm8XfATrllrcp1W/o5huiycn1a9zPaTxvStvukfbGDCM6Ny81rBSYTNeIW5Y6tFwNjs2XSz12IukNL0jJPA6vmlyn43PZmf/fh8iJGl3uCuHn8amrv7Bh9XG65lsLfiWDtB4lgbf78Op2urr9ZDbH1mv1dh/IL+HKu3T4DrJmbN4HontRJ1KjZppd1ZcsuJGX7pumrA0fSdT31PLB2s7/7UH0B59L9GrgtN6+1YNke10nEw7PsGLwM8L7cOTTbV18jasZln/M4sH6zv/tweuX23WOIUQaztrgf+FTuOqjXa+HcOscSGZ6dREH6g5v9PfVq/KvpG6CXXvV4Ed0OsgPlh/I3DUVOjmMKD57p5JhdyLYShf4uJJ6YdOZeC3K/P6QL2bq26Xty/97HAyNz87K22iCd0DqB/wKjKlz3hqltZwPvJp5kK0BU/zZtAU4nuvt1EpkF6xNdUWoVKJpGFKO/h64AkfbTxrTv8elm4i4i8JpdrBYegz+S2icLAl0CjMjNn0IE/ZcQAYTViq1Hr4a2bXbz+IfUZu9N583vpDYqFigqFtDLgoVnAbek92THg4eA3wPTmv19h/IL+EDu3PopYExu3qj0c/t0fuwEDu3l/8SedAX+F6f33Zz+X8xM059DwYR6tumvc+fQ4/LnTboHizYlggu/Ih5+/oQI7q+Z5ucDRS1EUfJvAdemts3+3/yPyD5Zs1HfUa+lbfje1AZ/JTL4vkY/AkW5ZTfOHcv/0ezvqVfjX+puJkOOmV1M9IvuAL7l7j9P07OT3ZL0957Ehc+hQJuZzSYuUv/i7rcQ3RrwSM19lijY9y+iSOq7iO6aI4kboOuBH7t71i1CasjMVibaqZ2oOfJHd1+YzfeuftePEjeYnyC6MGxGPOnuzQiiLUcSQYtViIvZXVxdzOppeyIjDKJW2BkAZvZF4uJ0X9JQvdV2PTOzZYh06V8QtS9aie4TR7v7E3X5NgJ0dVcA9iPa8VV3zwphZsdUzKzVo+jtj83sdeIp6HZE7aJFRMAWd3/FzL5J1MX4ibu/kL23sd9McrKuC38h9tFN0r55Ypr3PlJwL/1/ONej3tRE4kbyf+n9WZHcT5vZ8kRdk4nEzehNwCx3n92wbzXMpDpQRxPXM+cBv3P3rMsYHqPSAWxOdMVeQjyAwcxGEzedb6Zls/3xZiK74XNE9+9xdNU1eZ64zvqkjsP1YWZr0PXvvYC4Fh4LzDWzttw18NeAtxHBgLy3A0+Z2Unufr2Z5bsrzQE+l/bjtYm2HU+06fz8/x1pmKuI7oCru/si4MtmtgT4CvEANOt69n3v6lLYTvTwXFJ4PZVdYxE15+4huvue3NBvJAOCgkQyFK2Qfi4GVjWzrd39TuJiNDs5foe4EVm94L07EgU0P07ctL6Zls9uZi4CLjKzs4mbzolEYKJDNyx1tSNRwwTgco9itt3kTn43A58kLlymUVmQaDERFFxIBIheRwGiRnicCLJOAs7MTb+byCqCrkCRVxkoepNo1zlEF5i/AN9z9+fLvEdqINcuZUd5TEGDrF7NH8xsMakbKXCUmb3i7v+Xlp1uZqemtleAqMlybfxi+nmgmZ3u7jPNLAv8ZoGi75vZEo/h0vcHTjGz29z9A/mbFHefQeyr0jjbEnXB7gB+kz+35mrTGBFIcKJ+0PvNbAtgJWCxmV0IXOupBmAKLF1jZjcRNY7WImqmTAcuBe7xGAlN6uNZIvD3baKr7reBDjO7JAVkMbNfpWWy4+jdxLVPG9FWyxKFyg929yuzmuK54/Us4twtzTeXCBJtamY7uftNRGkGB04lFygCvmcxIMD+wCQz+1v2fyIvHd/nmdl5wKNeeX1PGUoambakl171fNG95sHviaeZ84lil9vn5mVpuAuJ/vX/IopuPp+mZWmaJ5JLy9WrKW1qRJZP1v3o4nLLpp8bEfVLOoGPVvg5U+hKj38N2LDZ3324vIhRqN5OrotDru03T/tnn7qeEYVWdyKeqo5v9ncdbi/gC3R1y923zHL5rhBHAY8QNy+vAx9q9vfQq2wbjwHuJbrmrpRvU+Lm9OXcOfUColtKVr9vYrO3f7i/0vHxYeBLBdPz++TRuTacTxSnnp2b1gn8lniwkr2nsAu/uoY2tl1biKzMrN7XHKL+10i6yjHMJTKn903vWZ3IGrmZeMjSSYxQtlMzv4te5ds5/Tw/tdf7c/MMOCW3j95HPHx7N/GAblGp82tv11Z6DY+XMolkyPDoctTm7kvc/Z3p6dfhRKHETjNbQNyAvIc4AX4DuM7dbwMws+WIgo0HEYGGbxFPSS9q/LcRWPo0Y1EaXWNlutLce2QSpGUhah1kKfLLV/hRrxMFNhcBx7v7g/3ddqmMu79KbgjkrB3d3c3sHnpmFFXU9Sw98ZxPdFmR5shGFzNgDzP7T2qTblI7Zk+oLzazFYgaNROB/c3sr+n/iQw8C4nz5MZELZrfmNkId19kZp8ngn0fIoLB703veQrYzd1n1WjUQum724CDPI0EmMvq8vT3oUS9GoB/EAM6/Cv9/RZipKu9ieus+Wk0sxe9YCQl7+piqvZugHQ9fAdwEpGluzPwfSJr7Cgi0Hcs8Dd3n5Pe8wzwjJm9lRiJ8giim9qnzewBd3+j0d9DysvtZ/ennzsDF2TXyKlLoRFdzzYiSjG0EoO9vAJcUWK92kdl6ZN3kSGjoM/1H4gby4XExdAORBeUDwN/9tTf3tIQymY2hnjacjwxrP0raOjzpspuHs1sbWC2R5eEUssa0c3sfiJ1+jvuflIv689S6kcRmWMatnUASW26GXAGESjKChuf55FWnf8/MoYYGeuV9D5d7DSZmV1BFEJ9EzjMo+tC0e5i1n0Y5h8AH0uzDnX3vzRqm6Uyuf3uC0T3hm+5+8lpXptHV7IJxIOW/YjshhbgVHc/zaKOXP5GR5rICobJNrMdScPTAz8ljsHP5PbRNuLG82vEwzWITIZfN26rpZy0j21DV9cziOvhk4Dzc9fK+WHvOy1q+t1IDCTxEpEl9mTjv4GUk2u33YDriGyhHT2Vysgt9w261xWaCWzl7s9kQf3GbbUMFi3N3gCRWksXpm3p9yOAPxIptrsSN5inAZd6V0FGUoDIPIruXUAUuIVIpd+ogZsvBdIFi7n74+4+I7uxKLGsexQ5zepkZE9DrXDZFBTKfm9x9wUKEA08KciTZRRdSZy33gEcb2Y7p2U6zWw80W3tIjN7S/5puDReqnsA0bXhceKJ9O/MbKP0hLPHfpzaMXvf+cQFL6R6ZMX2Y2meXEDhnvRzOzMbmYKAS8xsElE8fhpR6yTbH081sxNS5lhnuWO6NE6RYN1I4E4ik+gL7v5UfpkUYLifGBzghTT5g2Y2shHbK71L7ZVlFGVZtZcTGURLcstlGbxZRv5MoivafGBFIgNJx+ABJneNcw9RaHpFIus+CxBiZuOAB4iH3tnDmdeAfXJZnzoGSw/6TyFDUolAEcQIDH/z3MhYufdkT1HmEk/M5hI3NnuCTo7NlL/Zr/Cpc/ZUZFz62a3tzGxdIiV3/xRL0JPsAaxEoOhw4Dgz29ZipI4DiO6iewPfMbPR2mebJ5cpdBMx+sosokD5X81s/VLBgdz7HqeriPEm6WJWQb+B6Wmi5skmRF2ijnRjsj+RYbQB0Q3450SNIogCqh8HZRINYDcQ9Us+6e6vFVsg7a//ImpSQXTxVimLASQXKPosURPsBnd/uszyWfDoDaKuH0T2kTJzB6D0YGUeEahdjugxkX949lbgi0TtzexB6DrAp4BPpIewCtZLD/oPIUNWkUDRNcDN5bqO5Z5kL85Nnpnm6eQ4wJlZSwoMZMGhMdD9JsTM1qGrv/23FUxorkovTMoEik4iLoA+RxS6fg04wt3na59tvvRE+jt0FSyeBvyxXKAoZaIsINLnO4mnn7rxHACKHSvd/QFi35wIrGxmI4ihtb9EV4BoC3f/KNH1LBvZ6jwzO7YhGy5VyW4c3f0xTzVrSizXnvbVx4l99VW6Xz9Jk+T31XQNdCdwuLt/v3B+ifctoCv7r8eDVRkYPEZeXgT8M02aBmBmE4luoNlx+FniGumzabkNiBEoT87290Zutwx8ChLJkJE/4eVqHeQDRfu4+5cKly2UnoyNpOumZFbdNlrKKtamvUmBgTfSn1m6raWf6xDdWPYiLmYVTGiwrDuRmU2BpYHZatr2XqJv/b+I9j0E+Dhx8TMT2NVVeLwpCvbXtmyauz9F1BfKimtuSAyvvFlBADc7bneY2WhgC6KNZ6SuwNJguf11IizNuLXC+UQgqA04jNgnT6brxmTnFCyEGDX0F0TgbwFdXbulgXo7t1Z6Tkxd9acCWxP76pOqb9Icve2r6dr2qbRMyQLi6X1jgUOJLOy76ApASBOUu0bKtXHW5XNfM1uJyK7OB4h29ShOfh5walp2UyLTaHIdNlsGOQWJZEhIT549HRi73XimQFG3oFC5C6BUq+ZwYBTwIFEkVxqsXJuWkrvhzAJ7Y7pWtzRAtCddwQQVJG+gdGHaYWZbA/+wGLWu2kBRp7vfTXRjyWrWLEeMULeL2rQ5UlddT/vZ0gB9rhvvw8C7iBEKlwCrAf82s8MtRjNbuv+m/wsbAOsRWQlXpenK+Guggv31t2Z2BHS/+cx1D/x7+rkXMXLohsSNyS7u/pyZtWbHdOALwDeJ7KJ7G/mdpG/n1jLragcOJI7BzwC/SdO1rzZQJftq9nf+Zxmb0FXo+nqgx3W0NIZ1FRNfz8xWLZyfa8t/EfU4VyCC9V+kK0C0i7s/m87Ji4hi898mMsU+nAviiyylIJEMegUnx5vM7GzoXgS1ykyRDYCD0++30pUaLw1SSZuWeF92TMuKUo9IP9cBfkhXgGiXdNMqDZQuWFcDbieePL/TzI5L8ypOdU5ZJmsS7dtCZI4pQNREad/cEnjEzG5N07JAUWe60H2QqHFyDZHJN54YKOA7ZvZeM5tqMYrhYcBZxLDqjwB/SutTxl8Dpf11GrG/7g+8z8zens0rWPwFokvKesBaFASIUpeIjixA4e5fcfdHGvh1hL6fW8tYHziGqN94JxEE1r7aYFXuqyVZdNnfmAjibkh0Iz3H3RepTZsjd259iHi41iNQlCwCZgNrEAGiHoF6T/WmUlueDKzg7veXWJ8McwoSyaCXeyJ2O7A6cIiZnZHm9RhmuVCuK1KbmW0GfJfo5vAQ8DUvGEpS6q8fbZo96Vo6akc6of6AeMKdBYgUTKiD/NPoXp5M/y793JroD79dFZ8xjhjF7DPEDelMojuLupg1iYVliVFzALY1s6uhqwhqLlD0CPAR4GdE97MxwJFEsOh64DbgJ8RolM8RNTSeb9y3kQIrANem3/cHvmRmGxQu5O7/Bk4B2omA0a75AFFuuV7PyVI/NbxeajezzYHvA9sRNYlOUkZC/aTjbLlsnor21TLrX5boevQTYjSzl4F3uvtzfdtiqQWL7oM/SX9uDPzezNYsWMY8Rvb9HlHEenliQIFdih2HYelowK8iUoKCRDJUvAycm35fDTjRzPap5I3pomkF4J10PzkemvrvSo3ln1iWueipuk1zJ8HsxLcW8Ae6ZxApQFQ/7bluKFnXocKuns8Sxad/mSZd6O63VbLy1LVhH6JY9eZEkepdFCBqrCJt6h6jH32VrszLPc3sAwXLdaaL2WeJ4ZU/QGQJZSNerUvURphJ1MDYy90frd83kQrcCnwZ+Fv6++rCY6h1de0+k6gPtmPq2tDjxkTqK79v1vLcmknXSysC7wF+Stf10ls9ao9JjZnZj8zs4CyTp0y79rqvllj/RDPbj3iYdg6wPfGQdDcdfxunVBDQ3WcBZwJ3E93Dtieug/LLZFlevyfOw08Be5YKEIlUwpQ9KANduqno9T9qCjx8g7iB/Ja7n1zBe1YmnoJ9kkibXp6oc/IOnRwbq1g7V9um2TrM7BfA+4nuDyPpyjZRF7M6MLM9iKygo4kRbp4hbvIvdfdXUgZJZ8F7pgGbuvtf0t89linxWccQwdzXiTZV0K/OUhfBccQw56+7+9x8exX8/iHi5vGbngYKqGD9mxJdQpch9tdrgZfc/fXafxsxswnpqXNvyy09Jqd9fCV3vyj93W1/LbwR0Y1Jc5jZBKAzv4+WOP725XppPWAb4HjiAcwyRBezd7v7Y7X+LgJm9gOi6D/AW9z9ytyDGM8tV/G+WrB+AzYCbiaO8a8SWWbHK+hXfymrr4W4Rl3iuaLvhe1sZocSZRN+4u6nlFnnuPS+uRbdvZeUWlakHAWJZMAys2nu/mT6vZpA0V7ufmX6u+yNZzpAX0GcJF8gTpSfc/ena/AVpICZbUMURNydqCPzKnAZ8Ky7z8wFefIXPBW3ae6iOAsSkT5H3ZHqxMy+RNSkWC1NcqLb34vEzf6J7v5yibdn66jqhtLMPg38TTcm9WVm7yS6fb2PaNPXiC5gH3P3ewv203ygaCt3vyv9XrJtFUhoPDP7LvAmcL67v1TB8kWD92q3gcXM9ge2JbLzjKhFciNwnru/UCZQVM310qpE8H8joivLDcBXUmag1JiZfZnICllAV53FigJFuWkV7atmdhTwIeDPwCXuPqNGX0OKMLMPAjsC7yBqCU0HXgLOBu7z1MUvZWl67jy7QfZgrLe2rfS+SaQUBYlkQDKzc4GtgM+6+81pWlUHvCpOjlsAJwBXAlekbhNSYymY8AGi4HDec8TJ8QTgHndfkJbvzwXPZkRqLsDGChDVh5mdBfxf+vNp4t98CVEzqA2YQaSwfx0qK6BZJEMhH3zQzWmDmNnXiH1yNNBKZIhlXdRfB/Zz9ztLZRSlv9VeA0guK+ENorvfbyoJFPWyzpL7qzSGmX2FqPO1AhEgyvbVecTw5e/xXurKVHrDma6XPkx0abpV2X71Y2bHEzWf5hKB3RXSrJKBol7WV3Zftah9M8/dF9fqO0hPZvZt4LNAB3FuzZtPjOb5G3f/Y1o+686r46w0lIJEMuCY2XlEXYOFRODmDHe/Jc3rU2S8VCp8LvNkJLBYB936yAUTnBit6BEiiLAHXcPUZ/2u/5x7UlKyvSto082BBa4uZnWRgghfTH+eSmT23J3m7QRcR7TxrcBOlWYCZm1qZju7+43pd10QNVBB8O9q4BZin/0wkUWwHFGodkevsPBlkf1VafANZGZfIIK12Y3JTGII5Av7Gigq2F83cff70u96gt0gBfvq/cToYq8R2Z3jgcXEsPQfd/eFFa6zt3Or2reOcgG5vYiAwWPAA0QG9qS02P7ufkWlgaIy+6rOrQ1UcN30c6JtXwIOJIpSb0g8aFsInOru361gnXoYI/Xh7nrpNWBexMVOJ3GQ7CSenvyNuBnJlrEq19ma+/3A3O8tzf6+w+EFfC61ZSdR+2md3LyNiMK1r+Ta+ze9tXdvbaq2rXubHpdr008AE3LzRqef3yIudF4FVq5y/ecQF07HFbatXnVv21NybftpYFpu3hpE99BOIptoxwrXmd9fP5r7va3Z33c4vIgip/eldnuS6FrdmfbNk4AV+7n+c4kswrfnplV1ntarT//uX83tqycDG+XmbUwUlO4kgkeTK1ynrpcGyIvoYvY0cAewNvArIgswa/P90nJW6f6mfbWp7flW4mFoJ/EgfGJu3hgiy/7SXPt2EiMsl2yn/H5JXF9Pq8e26zU8XxrdTAYMM9uZGGEM4in1E0RXhz2IYbJ3hKWja5QbBrQb73p68n3gb9Y13GtnlsYp9ZGyed5DZBB9EfixpzoyZtbu7g8QabdXEP2yRwOHA180s92h+BOy3trU9WSsbtJ++mGiTb8NXOy5IrjuPj/9OpkYDruDKHhcuJ6i+56ZHUEEoVYA3mdmn03rVZvWWaqTkD3l/AxRtyarCzfCo1bb94h9dSKwUsH7ix6Xc/vrd4EfmtnVafoSM2urw1eRxMzGAwcRT6ghir6fTJxjlyGCREdbjFjVl/V/gAgUbwZ82KKOVdHjttSOmX2MGMkK4ubw3HQ+xcxGu/v9RObYEqLI9MqVrFfXSwNDqheVDQKxFbAq8CmiJtSstNjlZrZf2tes8Phb5G/tq821KVEc/D/Ew5bZsDSba567P+XuhwLfJIL5ENfC34Kl9z7d9kHv6up9JlHP6DcWA02I9JsO+DIgpAPfAcTIGdA1FP0dRIS9X4EiMzuAGJED4EgzOyetRzee9bUukS00A7jKc+nu7r44pVU/BZxGPCEDGAHsDRxnZluXWrHatPHMbBTwFqL4+BVEv/mZBcuYmU0mAgiLiaefe5vZiWb2AzP7vJmtV6ad7iTSsCEujt+e1id1ZDHC2NFEF8HzgN/lAn5416gr6xL7aFbvBDMbmW5MuxVRLVj/tsRNDsCeZnZ7Wq+6nNXXbsRx0oAL3P0M4BKia+8T9D9Q9DTw1/T7W4B3pcCU1ImZbUfU93PgLGJfnZvNz+23qxD780KiMG72fsv/LLJ+nVubzN070jE3G85+83SuPYHigaLOdF08wczWTusoDCo8jfbVhjOzlvQw5G3Ecfgld38+O1/mAj2t6e8vEefg+9MqTjSzr2bLFgaKzGxj4L3EA7ntif8Tq9b/m8lQpyCRDBS7AJ8n/k9e5O5nufsLxE3LnfQ/UHQF0f0FYhSmt5jZ8rX8AlLUDunn83Sd8JZKbdjm7o8Cv0iTZxMZKAcQNy6l2klt2njtwFgiM+jP6Wk10HXDkS58Difar53IOvojcAZRNPebwM1mdkQKOnWTMle+BvyOeJL6EVdx1LpKbbcLEVC4lYKCxrmbylbiaagTwyS/x8wuI+pPXWVmx5jZJtDz+OzutxN1UrIaRlub2ep1/3LiREDvXiIYnwURLiH2yX4Fitz9OiKj8FriJuWL7t4jc1Bqw8zaie6DWwPXEDWlXs3Nz4wluocuIY6/B5nZt8zsIuA8i5FGR5b4GJ1bB44X0s9DUiD+FSJzrDBQtFf6/a3AJWb2eege2NO+2hwpgLeEKEoN8fCsRza1p7pf6fezgfOBh9LsL1sUMu8RrE3XYR8hjvEAGxDBYZH+aVY/N730yr+IAovPExesG6dpbennWsQNSScxykOfahQRAajvp/Vs3OzvPBxewE/Tv/fTwHLl2osIDHQSRZCz9p4FvC1rP7Vp819Et5XDcn9bwfy309Wf/kbgx8QQ6h8GbgZeTPNeAw4q07ar0s9aKXpV1a6bE7XBTimYbrnfj8617WLiondJbtpc4C/ArgXryNdN+BgxouGGzf7Ow+FFZH3tARwFjCyYN4kY9vox+lCjqOD/xnbAqs3+vkP9ldrzhHRu/GSZ9vhAbr98k+51TrKaYicCK5X4HJ1bB8CL6Hb9DBEsGJ2bvixwUWrHrE1PJ+oNdQKPAmNL/N/Qvtqctjw/d5zdtMxy+fPlp9P5spMIGO5fZtkjiEEmdG7VqyYvjW4mTZcySZakJ1+HAn9y93kFy6wFXEw8PZtHPLk+3d1vTvMrGm0jRemXc/cZtf4e0pOZfZSoYeLAV4Czvaubmadlsvb/KXHDcihRm+jrRCG/J4Gd3X16ic9QmzaJ9RxC9wDg7+nPXxB95B/ItfWqRBt/gAgCzQC296h1I01mZqt6Giq78JhqZm8niswD/IMY9ezvRI2FbYAPEqnuC4jim6e6++O59y/9v2JmE909ewoudZa6OrgXGQHHzCYBhxGZvGtR5ahnlZ57pXbMbCVgPY/MkN721euJbqHXEZlDRwJbEm09GzjZ3c8vPJan9ejc2mRp//wP0W3/AHf/l0U9x8VmthzR3fCtRI24zJPAXu7+TMG1lvbVJsj+3c3sOGJQjjnEw9BzvUR364Lz5feIwPBCovv+Z4B5xdrVzMZ5ruupSH+ou5k0XQoQtLr7m+5+obvPK+xG5u5PEE9C+9X1zCPtUxc8jfMgcWE6iuh+tHsKCnnqp22p/TclMlBmEkP4Xp1eS4gnZntD8WLHatPmKQgQjSAK5EIEiD7n7ventm5Nbf0cUW/sP2m5ZYmhX2UAyAWIWgpuOnem66bzp0R3h3Pc/Ql3v4eoIfVuol1HEbUXtipYd76WwmykYdx9SbEAUZr3BtG2Zbue5bocjsy6iRb+P5HGcPcXcwGiwn11H7r21Z8Toyid5O7/dPc/E4WLvwE8DEwATrcYEr1HvSGdW5srnTPfILqHQXQfJAWIWj26GX4ZeIDoPpbt419NAaIR+fVpX22O3L/7L4FHiJ4TxwHrwdIgfuF7lp4v3f1TRBfQkcC7gPXzbZm//1GASGpJQSIZEAovYIudzCoMFLUAmNkYSwX5ih2ApTHc/d/EkNoQ9U5OBN5rZmPSRek4M9sBuJK4ObnK3Z/16Hf/fSJINBHYM61PhTMHKI8im6cRIxSe6O6v5eZ1ZPu0u78IfJd4KtZKdHOSBuotoF5kP5tP3IhcRGQePFVwYereVYD+WaJu1ccLa05l69XNSm1lRWjyf1fz/l4CRSulZTydU98GfNPMVtfxuPkKAvVtxPH0TeAC4PPu/nD+2igFFv5KZPstIAJF723wZksFcsfJR9LPPdMDl1aP+jWTiJHKliPOpdl+/yszOzCdk6s+HkjfFXuQmaa3uvubxIABrxBZ8r81swnZg/LC96RAUTb9dOLcOo40CnS+XXVOlXpQkEiartRBtZgygaKd0vzOdCF7BDF86yal0jmlYX4H/Cz9vjdRuPhGM7uAuFD9B7A8kQ7/CYin1e7+IHAh0Rd77TRdFzsNUuyipZflW9x9urtf4mUKTacbmRnpBV3FN6VBCi8oKzgG/5fIBPyE50azK3Jh+j+62nM8usZoiNQOy5nZeDNboSCzpKI26CVQtKxFweSDgC8C/wd8rdpjhFSu8FyXy+QqeQ5M1zo/JQJ5ny4I1OcLGL9OBJEWpElr1WzDpVeV7je5tv4fkSW0IVFnqMPMxgH7E8GDdYl6NX8jahRBXP/uo+BBY5UKnOcehF9HdAGdT4wSe1kKFHWUCBRl73uYrnPr+mme2lbqShkW0jBmNoW42Z9EXJy87O4Pele/24r6S7v7E2Z2FF01ivZI7z/N3e8gLmQ/QXR3uNTMNgSW6IBaH6n7WMlAnLs/nvpUzyRuOpZPr81zi10BHOvuM9P/g4Vp+qvEjeZaZjaB6MstdWRmRwOXufssK1KnopQqlluSLnCXSZM0clmDmNlqRIr7KsS+NCNl+2X1DIq2dzp2PtfLulvd/TUzewjYmOhSpmNunZnZwcCORHe/TmCMmf0JuN7df5d1W6hk/3T3N9J7oatG0WeJYsmvEfXENiFuVr5ZmAEstZOyf1Yh9qFRRBBgQZreWuzfvkj3pKJSwG86kZkwEXijxpsvRVR7bs1ds95LFK9eHVjFzJ4BDiYCthsQx+ZN03p/SwSPJgJXmNne7l72/4P0n5mtT7TFRsS17ivAZUQzLsquk939KTM7mwj4bQjsSoxG9w53n11s307/V2aY2XXEubW9t+tukVpQkEgawsw+TZzUds1Nfs3MrgR+C9yYTnBFL34KlQgUtZnZbUQRvy2Al4FD3X1xjb+OAGZ2AjFU9mu9tZu7PwR83szuAN5B3KiOIgpq3uPuZ+aWzV8EZ09Cn3Z31TGpMzP7MTEK2QVmdoK7z6kmUFThZ4wh+tWPBe4n9mGpMzM7CTicOF7mp19ODKH8O3d/tdJjcKH0JHRlYuQcA57yGGpd6sTMTgOOp3vRWoBjiSGz13T301OgqNKHMFmgyIig/tpEN+E3iODia8TodQ/X8KtIjpm9g7hWejcRJBoHXGVmV7n797Osg8L9tNIHYR41bVYhBg8wurI6pU76em5NmbfziGLU04D9iOBeFiB6FtjFuwYCOJ4oZn10+vvlmn8Z6cbMvkD0cNioYNbNwG1mdqa7T8/a291vMbNPEdl8KwH7AP80s4PzmbrZMTsdv8cRASIDZilAJA3hA2CINb2G9gv4DvGEsyP9fK7g78eIQNFKafkew2GXWffawK1pPfOJzJNsiMkNmv3dh+qLrqE8rwYmp2mtFb53JDF62XIF01sL/p4A/Ct9zgXN/s5D/ZXbTzuJJ2G/AManeRXvkxV8zjZE96XO9P9obK3WrVfJf/Pv5o65HcTwyJ10DV//CnATsFY/PqMdOIbIIHoS2DNNt1p8B716/Ht/L7e/3gL8MO2zV+Ta+g3gI31c/2giI/el3Ln6NZ1X696u36D7kPULC66Xvpdbtk/H5dS2n0vrexDYJE3XvlqfNu33uZXI6Mv29UfS70+ThrInHvq3pt+nEANErN/s7z7UXwXn1tl0dbnuzE1/CtgBaC9471tSGy7O7Ys7AhPS/GwE8hZgW+AhIgP4/fn5eulVr1fTN0Cvof0innZkB8uvEnUtVgTeTwwF2Zl7PUIM61rpurMD6KbA47qQbVibfovuN5hXUUWgqNITG1Gs+iki4HdYNe/Vq+o2PTrdmHTk2vW1vlzMlvmMFuJJ2LVp/fcAqzX7uw/1F9FtKDvGfoEoID8iHYs/S9dNaCcRENinL/tZOg5nAfs/AMs0+7sP1RfwpVybHQ+sXjA/f4z+J7BiFevOzqtZ0O8pum5uN2z2dx/KLyIDJGvXq4j6UKcBl+SOy53Al/v5OVsSdR070zF+QrO/+1B99ffcmtsfD0vvnUfPAFFrbvnW3tapV83a9jO5ffKzwDZp+lbAe4AXgblp/stEd91lC9axJ3A7EWDqJLoVng3sTmRbTyVGgL0uzb+L9EBdL73q/Wr6Bug1dF9El69H0snxRGB0kWX2Jp46z08HwBeB7dK8Xm9UiOKo7yBG3tGFbP3b9Mj0b9xB96edVQWKSqw7uxhqJYIJ19OVrbR8s7/7UH0RKet/Tm36DDGqXNauNQkUEUPdH0ykX3cS9TDWbfZ3H+ovosDl3altTwZGFVlmOyJwl2Vhvkx0SxvZy7rzwYTN6Qr+PQqs2ezvPlRfaT+anv6tP5dvU3JPqoFf0RUo2rPKzxhHdAnNMv5e03m17u2aD+Z+ovBGEPh07tx7D7BZHz6jlagpdU36nAcoCDDqVdM2rem5lcgW7CS6mK2WtWmzv+dwfBFdNW9Kx9evkLu/yZ0bNyEGbcl6T7ya9uOpBevamsj8ep6u7MElwB3p/83LuXbXdZNeDXs1fQP0Grovup58vABskZvekn5mB9LNiQJvM+kKFG2Z5pU8ARa5kH1VF7J1bc+1gN+nC57pRAr1i9Q2ULQ8UYfhltz/nbWb/d2H8osYqSh7wvntNO2t/bmYza17RaJe2MXEk89O4D5d6DSsbd9CV7ejnXLTreDnukRmZ3aROgM4pML2/WC6mM0ykSrOBtWr6vYcQdwoLgH+XuzYSFcmwb5EN8JO4Av59u7lM0alY3D+vKrM3Pq26/7pZjDL9svfcI7I/X42XV1YDqvyM6YQD9SybL/p2lfr3q41ObfSPVPomyhA1PQXsEtq20XAvkXmZ+fWlYnA0GN0Pcj+JDCpYPmp6Xx9B10PbLLX88T1ta6F9Wroq+kboNfQfRFp0p1Ecdqi6cy5A+l6wG9yF7UvAtPSvB4nTuLp9VuJG86spoYuZOvbnh/LnbS+m6btkW4M+x0oSifdZ+l6Sv4gCibUu01XyF2Q/JnumQhvr/ZitmDdLcBeuXW8DFwKrNHs7z1cXsAJdKWwl01RJ56Mfj3tg9lN5M5pXmG9sLXT/4/bc8fs24F1mv2dh/KLKGac7U8f72XZqXQ9wf5tFZ/RSldXcJ1XG9OuZxF1Sa4p9u9N14O1dYAnUtucn6aVDfyl9/x/e+cdJklV9eH3zGaWnBUEJGcJiiI5CQgKigkMIJIFCUYUFVAwgYBIECWIBAEVlfiBBJEgSXLOIEjaZQkLG+d8f5xbOzW93TM9s53mzu99nvt0d9Wt6qo+/at769S953wU+Cs9TuC71bY23aYNbVurXINHtvsch3OhJ5vkBPpxthKZXPegJ5bUq8AXath1dLrOH0yE6/ghEc9o4Wach4pKX6ULIRqMmRX/qyJ73tzE08nZcHdPr48AhxOdpNeJDu6fzWwxT5lZKjadQYw6WYUI5LaxRwYt0QTMbCGikQO4Avg+gLtfB3yJngwaWwAXmtkCnjKwDOBrniPmYI8CzgY+6u6PNuL4RW/MbD4Ad3+JeKp1C3CGR9abkWndxcRoQIAFgB2AE8xsnqTJPtsPjywe1xC6/hfR4dnb3Z9uwimJElV0NxaYK62rvJYC4O7PEaNUziMcv4sCfzSzpZKWy9uNJaY6vZ+IkfF74FPu/lhDT0QAYGbzp7erEr/3DcCpad1s9kzanEA8vYYIVFwXHhmzvkuMGt1E7WpzMbP1iBEnI4BLq/3e3pMB61Vi5ALAe9M67+crFiRGnX2cyIz0J2AHta3NoVltq8+eyU7ZrdpAYUPiHgRCtwuldVX7RB4Zyy4ikg08SWjyGDNbvdxPThkLp7n7De5+nLsf5e5HuPst7v5qM89LiGrISSQahpktDb06NNcRDpylgK/05zBw98eJ4NZFQMVVgcPMbK7KjlD6fA4R62hddWSbQ8mmEwjH0F+A09z97cKe7n41c+goSqk+nyZsvhNwkJwJzSGl4v2tmS0F4O7nEVOGrk2fZxQ3nnPqKEr7OJJ4kn26u7/S8BMSszCz90GvG4p/EsPbFwEOMrNRfd1UuvsLhKPociKQ5ruBX5vZ/OXt3P1+Injy8cB+wCHu/mzjz0iU9LqQu59KjPK5ExhRK619ctBOJ0aOAMxrZqNqOQgrvm+ku78F7OLuDzbwVEQJM1smvV2MGB10BxGXpJbjz9z9NSLGGMB4MxvT3/e4+63EA57rCcfufu7+zJwev5idVretonWY2SbQyzl3KzEte17gkNS2dtfa3t1fJxxFZxKjdBcF/mBmixTtdaUjUIh2o4uQaAhmdgpwrpl9sLT4RaDowK5PxK+o6W0HSM6eQ4kYGqOADYlYOL22M7Mud5+avO2PN/BURKJk0/UB3P1ywil3dfo8s9ThmSNHkbt76gS/5O7Xu/uk5pzV8MbMjgf2JAITL1my3yPuPrn02RvsKJpcxxNvMQeY2cnAX8zsk6XFE4hRQRAZjdbtbz/J2XMcceMKEUR+4/QdXaV6/wC+7u6XpZtX0WBKet0JWA3A3b8LHOnu02tpquRkKOw1Pm1bU4OFbYubIOm1eZTa1rXd/RLC8fcPItZQ1d++tKxoY+cDxvR1/S1dw88AtnX3czQioTm0q20VzcfMTgKuNLMD0mcjHr7cmqq8D9ixPyd8eth6DhHwuhtYBtg57VO2Fh2H/pRijkmN497Ah0mdUQB3v49IxQuwPZGxg74av+QouINobCEuvl8utivtu6bHXsw5FTYdV+rUPJVGEVXr8AzIUVTZoOqmpLmY2a+I4e8zgX2AW2uM0Jv1fgCd2ZHpO+Y2sw+b2XhEyzCzEwibvpfIjALMmkJ2Yvr4IWB3MxubtqnaoU3X4AeJ9L4QHdmd0v56XXel2eZRRa83lfT4ej2jgoDCeWepVPueRdI+u+sZ9SnmjFLbuj4xwg93PxE42t2n9KHLyj7TKGBaP6MXytfwqbXqiTlDbWu+pLZ1X2AM6YGLB28QDh+IB9k7E7H6+iSN4vsJ0U7PR2R41j2N6EjkJBJzRJXG8Z9pedHRuYQ08gT4tpkdCLUdRaXG84a07UxgPTMbV2enWMwh1Ww6gA5Pf46iWR0eYGMzW152bT7Jpvunj/sSU7/6HdpcZ2d2vjSMfj4imPz5wN+SjUWTSbY9gHgyuTdwZVpe6OoCejqzexAjNQvb1roGd7n79cApROyFjczs3c08D9FDLb1WXndrbV9aNzG9jgXGVnHUrwBcZWZ/SdtpukMTqdK2XlO6vr6VXmvZtdKmIwhHUbXvWdzMxvWzP9EA1LbmS5W29eLyene/iAg6D7AjMaV7nn72ae7+HyJLXTewmZmt2eBDF6IhyEkkBk1fjWPRMfGIXXExEZQY4Dgz2zutq+koSsMy7yM6QusSkf3V2WkyDerw1HIULZg6PPMTHZ4zgQuBlRt7FqJMhU33As4cyM1gHZ3ZY5IDYVPgG0SWrM2JufqiiVTYdh8iQGrlNfh1IljtHane983sO2ldtaQA5aeajxEJCJYmnnqKJjOnek37KGw6pvTaXd5PchD9mp6pEovN0YGLPqnH8dcXpXqvp9fxwNzWE0i3+J4ViEDVV8qZ0FzUtuZLX21rBX8kYvhB6PqHZja61n5LOn6SuAcfT0oqIUSnISeRGBT1NI6lxu9UwhkwJa063sz2Tetmu0kpPe28h3h69lZTTkL0osEdnmqOovPN7D1EqvtvEtNY3ofs2zQsYl8UNt0D+MNgRgv005ndiciI9SNgbSIDz2oeQZBFkzCzE+mx7d70oVd3/ztho6fSoqPN7Ltp3Ww3qSXn/d1ENqWp1Bi1IBpHo/RKz9Sy6aVls6YzJEfCKcBWRJr71TyyMYkm0GDHX3k02DQvZblKdj2JiD+2EXImNA21rfkywLb1DiIbbxGf6BDgp9aTkbLX1O7S+4eAyem9nESiM3F3FZUBFaJz2Z3KV4CRfdTtKr0/tbRdN/CNPuqOBH6a6t0EjGj3eedcBmLTOvZlpfdbEfO4i33fB9yb3r8MrNLuc8+1EFmqit/9L6XlXXOwTyvsS8QZK/b/dnp9VTZtiW3Let2jrLkqdcvX1R8QGa+KbY8GFiqtH1F6PxL4Xqp3JzBXu88759IkvR6U9vcMEf/GgBWIIMnSa2vs2pC2tfgfELEdu5OOFyytL9v1Jdm1qTZV25ppqdDrXv3ZrPR+D+A/pW1PIx6CFrodWao7gph22g3cT8yUaPu5q6hUFo0kEgPCIoPO3unjVcB5XnqSVYmXgmG6+z7EBbjwnv/czI43szXTPN3u9B0jiClIm6d6N6Xlil3TBAZq0/5wjydjyaZXEwH9Xk6rVySyJU0ENvHIZicaTHpyvU9p0Y5mdhjMWYBad3fSKAV3v5RIgT6DiHkyCdhYNm0uFplWCr3eDNyQ7FL1Gumlab3ufiRxDS4yQn6HiH2xXYpDNDPtZyRxDd4+1fs3vUeliAbSLL3SE8emmJK0ImH/zYlr8EbSa/NoZNvqPVNAi+lm8wLzp6a2GBlW2HVT2bU5qG3Nl4q29W7giaLtrNG2eqlt/R2RJOLmtHoP4kH3XmY2utB9moq2CvCZVO92eu6JhOgs2u2lUhk6hUjT2l1RfgmMqmPb8hPqHwMPl/ZxM+F13wjYjBjmeWNa9yiwdLvPPdcyJzatY9/lEQw/IRrCbqITu2q7zz3XUmHTi4EXSp+/X6o36NF5xA3KLkQHRzZtj22L8ntg2Tq2LetxPyI5QLGPR4G/Ex3XHYDvA7ekdU8Ay7T73HMtzdArPU+vDyzZcD3gCjQqoR12bVjbmq673cQ07WUJx59GhrXepmpbMyo19HopEQ9qRKpTdcRuRdu6A3BRaR8TiPuZrxMhGI4lpqZ1A08D7233uauo1CptPwCVoVEqLqBn0XtY5fHA6Dr2UXYUfZ6IU1S+IL+WXqeXOrYrtfvccy2NsGkd3zFPRYdngjo8LbPpl9KyHwDPN6ozSwRa/ELp/6Ibk9bb9gQii1nx+WxguTr2Ue7MblalY/xWxedHdQ1umU0brldg17SPycToMem19XZtSNtKj+Pv02k/LyQNXy67ttymalszKhW2PSJptvh8GeEoKvRXy1FUnnq2InBY2n5Kep1W0bY+rLZVpdNL2w9ApfNLxQV017Sscv7tcfV0fCpuUhYF9gRuA14s7etu4qan36fjKu23aR/fMRfx5OROdXhabtM9gDGldT9sVGeWCIr6r7QfxZVqvW2/TExL2K50gzgQR5FVfP4U4bB/kp7RfrcRMeT0lLM1Nm2KXoHPpu2n0uOkl15bZ9dd07KGta3ANsDMtJ9n1ba23KZqWzMqFbbdnUjotDaRfbdyRFHdjqL0eSvgKCIW5wtEfKkbgWPQDAmVIVDafgAqnV2IObblxnF0ad2eg+n4VLmQLgIsBWySLqrzA+Pbfe65lmbYtMb3rARcm/ajQJqtsenMZNNieHRl0OJG3HguBfyByJS1WrvPPfdCpCmvpdft6JlCVLejqMp3jAMWBNYgpiWNBca1+9xzLa3SK+EALEaHaRRn6+zatLY19ZHKIxPk+GuNTdW2ZlboHYB8D0pTQQmH3YAdRdXWESPEliRiEXXRgHAOKiqtKG0/AJXOLUTazeIC+ZUajeOgOz70ZHKoebFVGVo2rfiuBYHDgUfU4Wm6Xc8odXRGVKxrRmd2WWCxdp937gX4Rg29loe2D2pEUXk/Ff8RXZebb9fTWqVXInbK68hB1GybtqRtBTYgpuJ3E1P0Zdfm2rVlWk111ba2xq57VtNrRZ1BjSjq4z+itlVlSBVlNxN9MZMYIrkXcJanzDfeO1vOb4msGnenbQ4EfpYi+PeJu3v5VbSEptq0jLtPJEZBfMjdH2jM4YsyZvYRAHffHfgQcGZh0wKfPbvVb4D/pdVHmNn307qZ9WZmcfcn3f2lBp2GqM3rwB3Mrlcvsq24+2XASUSMIoiYFj80s+X623npGtxdZZmuy03C3fciRmw1Ta+lrKKfAFZ29wcbfyaiREvaVne/iXAKPwlsKLs2h9L1telardin2tbW8DyRrKGXXsu4+13EdLTfp0UfJR7cbJyygXq1rGcV+1DbKoYspv+q6AszWw14qHyhK63r8p609XsC+wJrpdUnAN9292mtOlZRH7JpHpjZqUQHZ1d3/0Md9cu2/QGR6vVdafUP3f1Had2Iah0m0R7MbFng6Rp6taLDaWbbAV8lYpYAnAMc4e5PtOxgRU3MbC3gMXevK91xI/QqLbeWZretFftYxN1faeTxi96Y2Sh3n15HPbWtQxAzexfwUjW9VtRbG/gakQgAwkl7DHBDchTOaoeFyAmNJBK9MLPNzWzh4rO7P1DrAtqM0Sei8RQ2MrNRIJvmgJmdTDiIHNjAzEYWdqtFM556isZT0utImPVkuZZeGzKiSDQXM/stcB2w7QBGFMyxXnVD2jwskd4XWm1q21qxDzmImkzhIFLbOvSp0GsxyvJ//TmIUr05HlEkxFBkZLsPQHQOpZEJ3zKzX9UzYqRoHN29291/m66TxROyA9N+NfqkvYwlsir06uiUn36VkU07GzM7EdiHmCPfRTgDTnH3e/rbtsK2RybbFk89jzAz3P1HRWdWN5ltYRSRjapXp7MPvXrxJNPdLyv1Vbch/huYmUYUtQkzO4GIeQEwcyCakl47l6S7hc3sbWAMER8I6D3Cr2KbOW5b67mpFYMjjQRbFfgw0W/6L3CJu9/b37bSameT9LqomU0GRlOHXiu2v8vMfpU+7ko4iortNaJIZImcRAKY1ZHdK318biAOADkVOhMz+zjwAeAjZvYWMMXMzgEed/fb++psyqadSeqkfDV9/BuwGZEN8Btmtq+7v9XfPtSZ7UzMbAsiUOZWZjYVmGxmFwJPuvs9/ehVjqIOJOl1f2LE395EDIwBIb12Hma2PRFA+ovAdGCkmZ0GXOXut/Z1o6i2tTMxs68DuxDX4DLfSSOB/uTu/+1rH9JqZ2JmuwIbATsQ2R67zOxvwB3ufnah1/6cPPU4ipp2EkK0A++A6Nkq7S3EMMrZUnwOYj8Nz5ClMmib/hh4o/T7F2Ua8DRwGL3T81bNtiCbdk4p6bQb+BKwDPBM+nwPsEylzfrZX1+ZWb7b7vMdTgU4Ani5hl4fBQ4tX5f70GtDsp6pNMSmZb0Oul0t7U967YBCZOx8pfTbT0+vU4nsRxsPwp5qW9tr02NLv/1bxDTASal0A5PTNXjcIGwrrbbXtj+p0qYW9zvdwFnEw7bRlbbrY599Zj1TUcmltP0AVNr8B2huR3aPio7PMer4tMSmPy395v8ETiVGndxa0VieQwyrHpm2q8dRJJu2x6aVOi06NF8pdXpOHMR+q3Vmi87TN9t93sOhJA0Vtr0h2frMpN2yXs8F1qcntfZgHEVnACu2+5xzL/W2q7Vs2Md+pdf22vW4kl3vILJ3/hq4KS2bAvyqXtuqbW1/obcT4QjiZn8csBLwbcJh1E1M2d98APuVVttv26NLtv0j8XD0O8BfgJdK6/4NfBOYq9J2fey70lH0N2CrerZVURkqpe0HoNJG49ffkR3QRY++n5Ad3e7zzrkQw9+Ljsj+wLvSciOmlx5Ob2fRP4BPAqOKerJpZ5W+dAqsAzyc1t0NrDqI/Zdte1i60XkTWLPd5557AQ4u2farwBIV639W0Zm9rk69VjqKrijt49Rie5Wm2PTECr2OLK0bUVG3sOPIiuU1HQzSa9vsenjJrt8DVi6tWzxps3AULTWA/aptbZ9Ndy/91vsBYyvWz0OEYXgu1bmW5EgYhG2l1dba9uPpty7a1vkr1n8stYWF/Z8GfgmMr7RdH99R6Si6YCD/DxWVTi9tPwCVNhm+d0f2K/10ZAvv+riK5TUvohWN4+7Ak8QwXjWOzbXrbwgn0fnAAqXlZft+pKJhu4mIW9LnjaNs2hZ7Hk8NB1GpzlGlOvsM8nvKtv0WGm3SCtu+h54RCD8qX1/pPRX0SHoPj7816XVkP/svO4q2Td81WXptqk1Pp2cKUqVDt3wNXo+4Kb2AeAJ9HrATsFqpTr3tq/TafLvuVbrGfq18I0jPqM6DiZvSd4BV0rK6RoqpbW2LTVcE/i9dV08BFi6tK187FwVuTrZ/CFhwgN8jrbbHvj9Mtr2G9LA0LS+3rQsTccAKbb9EOI4G4ihaC/gTMdJsjXaft4pKI4sCVw9DzOxMIujaTOC7wFmeAuiZ2Uh3n5Heb0oEPt42pXjtNrOLgPvd/Z8eQfqqBt/z3gH8zjCzGcCN7v5kS05yGGJmixM3gwbc6+6vFevcfUbJHleZ2VPABOAQYgpLN/CmmV1azZ5pH7JpCzGz7xA3JDOJbGZnlW1TynZ1FhGgeG3gm2Z2vbs/PJDvKmvZ3X/esJMQfbESoT0H/uXu7xQr3H1ayR4/MLN1CW1DXJP3AiaY2f957ZTb5WDWV5jZTOBhd3+2uac1PDGz5YgbT4ARwGKldnWU96TT/jExGmzlil3sBNxmZqe7+1nl623ld0mvrcPMPkDPiJPjgT+6+9vFeu8JMD03MJ5wEk0sNif0XeyrnoyialtbwwbA5oTj/DJ3f7VY4e7hKYrr58tmdjrh2F0eeD9wVb1fIq22HjMbB2xJ6O8xd/9fsa6kV5LNTzCzV4E/AIsQI5DeMLMfuvs7dQSzvtvMjgS+5u4vNOmUhGgLchINM8xsQWIILURHdkliqPTzqSErHEQ/Az5NBMcts0Gqe6K7H+uRpaGejs/ZzTonMYtphEMBYC6AshPPSyk63f0xMzuWCLZ5KGHXt4CngHvrTOErmzaXy4DPEaMTejmIoFcq5GeBBwkn0XzAusDDA82eMpC6oiEsl14fI2Ii9LqJTNfWwrlwBeEkeglYDNiQcBzeBbzYxzW47Ciq+8ZGDBx3fyI5dg8mnEA/MrNu4BclB9HZxCiwmcTUk/8ASwEziLZ2fWA1Mxvv7ieVr9lVvk96bTJmNgrYmHAQ3Ayc6+4vl9Zb0thYwkHowIXAp81sdWANM7udeGhzRi2HLqhtbSVmNp7IOjYCuNDdL61Wr6S7V4Cu9H7ugX6ftNpyugnbQrSXfeLu55rZNGJk5+LAJ4CnzOy3xT1RNUpt672NOGghOo2u/quInHD3icDXgdPSogOI9NlLl556/oEI4rYk8Drx1OR+4AHiwrsU8Asz+0HaZ7eVci5XfF/NTpFoHOn3H004fSBSrs7WOSnfbKSnK6cQT0cBtiZGrsy6uaz2XbJpa3D3+4gblJNqdTJTJ2UqMSXpZWBB4CAzG62OacczKr2uSNyEzqatwrlAjE6ACEJd3EB+jLiW96nJvp6CisZQXCvd/SYiuPFf0qqjCKcRZnYi4SB6m0gusJ27b0iMDPsY4VzoIhy93zOzz6R9yn5tIulvJHFtPc/d7yrWVTjvPp+KETb+FZGBcn0iNuDvzOyXpW2r9r3VtrYGdy+yld1JBCCvaZPE48CrhBNwwE4i0XKmA0+k94uZ2WLQc50uU7p2XwTslhYvB3yGNNqzD73q2iyyRk6iYYi7P0NkdCgcRQcCB5jZomZ2HNHZmUzceG7n7tsQT643IpwKxTSmw81sv7RPXSzbSHqa8SIxxx7gy2a2TR3b/ZcYqXJRWrS7mc1yFDXlYEXduPsb/TkAUifnecKBMBNYjbhBqdopEh3Df9PrFGArM1ugsoKZFU9DV0iv/yQylN2RPu9nZls09ShFv5Sd6lUcRT8zsz8Tsf/eJqYK/szdr0v1X3L3B9z9c0SbbESsjJ3MbF5puO0cC+zm7idDr5vKYkrSjsBvU93/IxyAHwY+CpxMj84PMrOfpm3lDGo/NxEPxS6Cfm0yiWhbjTQyRbrsXJItb00fP0RM5a368LPi2n02EYIDYBNitJn0KoYtchINU6o4ig4hnlDvRU9H9lh3vzmtf9PdJ7n7V4ETCE99N/AFM1umlccuZqfU8P0beIMU6NjMVqy9VeDuDxDpQYsnL5+yiG8khgDJQfg28GdipN9YYgSSHH2dzVXAvYS9vgRsbWbzlCukKWerEjFRAJ5w9xuIYMcQowffB7ppaTf9OIo+kV4PAy5y97fK2xbOQHffB7iSGL2yE7C8NNw+0vSvGe5+ZelzOcbQNvTY+HfEA7cj3f3f7n69u+9PpOF+MNX5lpl9uoWnIGrg7tPc/RZ3n1DHtbObmM5fvK/atprZmAYfphggJVteSTgCIR5obwXV7Vax7Hxi2hnAXnoII4YzchINY6o4ij6SXg8H/uy9A6l6qSN7JHFD2kV46ft1RIjmUmrkLgRuI5wFmwGfqDZCoaB0U3MxEfcEIj7RcrW2Ec1nMDf87n4ZMSoMwnn7qcYelWgUKV7U20SK++eIp9PHAvtaBKnGzJYws82JtMsLA39Nzgfc/ShiVNEI4PNmNrecCe2jPLqkiqPor6nav4C/l6YQziI5A4sYkecRWbK6iDhjcgC2iSrTPytHFKxETEE6DTjU3R919+kWdKVtTiOyH0E4GNZq7lGLvqimpTqunVOIh29OT9zHyv0uDxxsZhvP8UGKQVOy5ZP0OInmBQ40s7Xq2P4Z4B/p4wh6RvEKMeyQk2iYUWWoZeEoKoZL30l0ZKdVblvRkT2ZngweG6V96//UYsr2tJ5AxfsDDwMLAAcBHzOzuaptX3b+AccAzxBDqrdM+5RNW4CZLW9mq5nZhyyCpXal5QP9/W8hOrEzgI+Y2VjdYHYWKZZJcaNxLZGd7nkijthhwD/M7CrgOmKUwqLp/b5p+7Fp21vS61hq3LiI5tCXXqs4in5JjBq71PvIVuU9AVKfJrJkQQq+Kgdg66nnuunuJxAZsr7j7hNKy91TIOq06MdEXJsuYsTgCLWtraFBbesMQovFVNDKvtcKxDTgo4GdNaKoNVRqtLCp9SRy+D5wIzHidiPgq2a2Sn/7c/fTiYetXcS0Xyv1k4UYNii7WaaY2dJEtpTFgTGER32Cu08q1SkyaTxjZkcTAfnudfdHa+231JGdSMqgRUxP07zdFpCeVo0hMtTdSTyZLDLMFTeKTxJxEY4kgoz/BJhiZpd5BGzsRXL+GZHBo5zOVzZtMmb2eaLz8lmiAzqOmDJ4iZn9wd1fshqZq6rhkT75i8R8+k8Bv3L3+5NjQjeaLaSea3Cy72+IrGUHECMTIDlpE5cDe7j7S+lzEZz+gfT6HmARM3tONm4uA9FroTl3v9HMDnT3R9I++tPiGHoe4L3ZxNMRJfppW2e7/lpPWvN/1tpn+h+MJP4rxQiyp11JBZpOo9vWEqOhV0yqFYhYnRsSsTxP8EgmIZqExRTs1YENkr4eA/7m7k+l62t30ud0M9sFuBRYk+gTTTWzUzzCLPS6HicHf5FR9H/p66al9dKsGHbISZQhZvZN4mL4gdLip4A3LFL03uPuL5YupDOTo+ggd38l7aO/jux4erLzvNGM8xA9DKTD4+4zzOwK4N3EqKJ3E9MexpvZpdVsXDSO9NycvINoKmZ2FPAN4gll8bt3E3ZeAVjbzL7uEZC8nv0VI8l+RwSvXpjIkvSVNLVJtIh6r8EA7v6Cmf2WiDN0MDGiaCkiOPW97n5mja8p/jMTkV6bzkD1WowoSo6iR4r99NWumtk44OPp43+ImxvRRAbrTKjX0ZPa4yUJZzHAs407elGNRrethGO+GDk/pfQ9hYNo87R+Q3d/eM7PQNTCzA4GdgHWLS124FAz28Hd/130hdL1979mti8xW2JVIjHPeDM7yd3vKF+nITIamtloYP6071dbdnJCdBhyEmWGmf2CSIvsRGM2gZiu8N5U5ULgAjP7o7tfmy6khaPolWI//XRkxwI7EA3wffRkxhJNYCAdntJNyStm9gditNeXgSWIEUXLmtmF7n5fFRu/n5i7/TIxDaYeZ6EYBBbpkA9KH/9G3BBOJpwD+xE3FB8BvmFmP6jHyVO6abmFGIGwMJHCdWHg2UE+NRUDZKDX4LTM3f15QueY2Vh3L9+MFA7AwvkwN7BdWn1X+dotGs9g9TqIa+fqRCw5iBhGs8UvEo2jCc6Eat8xGvgkMULpMeAPabna1ibQjLaV3qNI5k7fsxJwEj0Ooo3kIGouFbadQth2deJedhHCsfthd38Mel1/byOCyh9PPEDbCXivmR3j7pdW0eFaxAjdyagvLIYz7q6SSQEOJTo43cAPicZrOSLT0VnA/WndO8TFdZfStl0D+J510vbdwKnA+Hafe66FiGdR2PRiYo71IURjNy0tf4WIJzRXle3fTXSCn0x1XwNuIJ6ajkl15gLWA65Pda4FFm73uedagG+XbLofsFjF+k1Ltr0bWCottwF8xxeJjm03cHy7z3m4lDm8Bo8svR/Rz/dsADxEOAO/MtD/h8qAbNoKvY4A1iBiT3UTWe/e0+5zz7nMads6gO9ZC7g97e9sYL52n3uupVlaJaaYFTb8LZGs5R/p86vAKu0+99wL8ZCzsO0vgK3T8tWAM4FJad0phNPIKrY3YmTvXane9FS+B6yf6iwKbEFPX/g24F3tPncVlXaVth+ASoMMGY3WPenC9h1gXMX6+QhHwDWlC+T/ihuMVKeqo6i42KaO7JqEE6GbiImxVLvPPdfSqA4PsCCRgvne0v66iYB+fydGnjyelj1PpF1u+/nnWICtgCfSb/29sk5TJ6Yrvd8zabQb+N4gvmd14Na0/b+Bedt97rmXFl2DR6VrcNGJvVmd2KbatOl6BRYiRprckrb/H7BSu88959KotrXGvmv1lx4Clmn3uedamq1VIvh84VCUg6i1tv16Sa/7U+FoJR7EvJDW/7WffS1EZPJ9s7TPl5LOny3t57/ACu0+dxWVdhZlV8iHlYgnkW8B13lKX58CEuPur7v7bcQw24uIDsxiwC/N7MupTndRv4y7u5ktAnyaSPW6KfAi8El31/z6JmBmWwF7pY/fB870FLjWgi53vx74KjFiZE1i9Aju3mtIrLtP9EhxvxVh+8fTqg8D2wMfJKYk3QZs5u6PIxpKSVdbAksTN/d/K3QKPRlx0se7iFFfDiw50O9z9/uJ4KsAu7u74oY1n2Zfg5cBdiViTm1MOHR3dff/VdYXc0Yr9Gpmc5nZx4iRCccT1+EHgU28FMNINJZGtq3VSFpdmIhJVvSXXgJ2dPenG3oyopVta5H0Yzt6TzF7aA4OX/SDmW1DTBWDSMbye3d/Pa3rAnD3JwgnD8C8aYpneR+WXkd6ZCH8GKH9v6cqixA6X5JwEF1H9IUfa9JpCTEkUEyifFgqvT5FTGOYbQ5tKa7FZ83sLSJWzdzAj8xssrtfWNkJMrMFgG2Jm5M1iPnc9wGf9j6yoInBUbJZnx0eooMDPR2eheijw5M6vi+Z2c5EY7gZEfhvAeLJ9TXA9brhbA7pxmFdYjpDF3BZcuTUqn+Hmd0BbENk8BgLTK3nJqUUe+gw4Cfu/lxjzkL0Q7OuwSOAVYiO63xEu11cg9WJbQLN1muy6XuBnxPOxVeAS4CD3P2pxp6NgOa1rRXfsQjhQNidnv7S3cDn1F9qDq1oWy0yaI1LH0cS/4uN5SBqLsnZ+nlCRxcA57n7rIyPheMvxYdalnDwnAEsZ5GtcAFCf08Akz2CyBfZy443s5OIhzZLExp/mxj596i7K2C1GPbISZQPRQO3OhGA+JYqI0rKQaq/kjqqXyLm4e5vkUL5lor9jiFi2qxFDMP8C/ANPRFrDs3q8KQRCoXz4G56nrqI1jEOeJ0YAXIKVA+GWLLTa2nRGGKofF1BE4uOk7tPpCcji2g+TbkGp21eJKY7rA9cCfzUNYqz2TRNr8mmjwDfAj5HBKn+sysAedNogeNvJHGjeTjh+HueCFL/bXd/pqEnIyppatuanAu/I0ZfjyNGED3Y4HMQ1VmXuFc9v+xorbDvtsR0727gaCJRSzHCbDpwppmd5+43eGQvKzIBTwcua9mZCDHEkJMoHx4nov3PJIKz3VLOiFNQcZOym5nNQ8SreT+wo5ndTXSEihvNF83sC0TH6ibgEnnYm05TOjxekdkqDdX11HlW5oYm4+43mtmuxE3htLSs2m9eLLsn1Z0Omho8BGjKNTht86qZ7UNkXHmu/DRVNIdm6zXdeF5GjOKc5u4zGnLgoi+a6fibYWb3EfGOdiCcuv/wmN4imkiL2tZ/AgcAN2sEZ2tI7d5uwKbu/nfo0WthXzPbiQhCDxH36wUiScQ6RHu5BvEgZgkzm+Lut1X2hYUQ1dGNRz7cTAypHE88kV4k3YzMZuO0vHAQ7ko8xRwL7AOsXHkBTU9M9gXOloOo+bj7jYRd7qX+Do8zQGdCepLifexfNIhSXJrLgD3d/e1qsWdSncIW04inYQsQuu53/6KtNO0anLZ5090flIOo+bRAr0UsjW53f1sOotbQ7LY12fFS4j9zgRxEzaeFWn2F6APLQdRCklPn5zBrunZ5+vZnifh+EJkD9wW2d/cfEE7A3Qnn3lgia9lOZjZC/SUh6kNOogxIT73eItLRTwSWB84ys7k9TTOq3CY99Sq2+xnwDDAP8B0zG1t5EXX36ZVPxEXjkTMhT8odG3efUrms1mbpdTQR5Hg2zOw9ZvauNBpM1/M20YprsGgdLdBr1f+EaB4tdvxppEKLaJFWR9S5X9FEyvcgZjYf8LX08TTgW+5+o8d0spHu/pa730lks7uTcBTtDywnOwpRH+qkZECpQ3I9PZmrNgCONLNxfdykFNvdRqR7hAjgNl0X0fYgZ4Io8XJ6nUoVu5rZCsA5wENmtoxuTNqHrsEC6bWjkeNPlBioVvWAtPN4AziYCIVxmLsXNi1G9BU8TSQFmEJMN12zhccoxJBGDVpGuPsDRNBEgHmBT5KeStfqwKT5va8SQzUh5vEur6fYQwrdnOTJtPQ6mngKNotk01OAjYjruPTaAegaPKyRXvNDbWueSKtDHA9uA37lNcJgpLZ1BnAHPXYe1apjFGKoIydRZrj7lUSQNoiUzJ8Hvmdmc5WHzVahSAOrBnHooQ5Pnowtvc66VpdsujkxtWk9V9rsjkHX4GGL9JofalvzRFrNhDods+U2VzH9hKgTOYkyojTn/hzgq2nxskSgxmNSfIxZgVSLLAHp8wqp/m3u/oimOgwp1OHJk6IzM5PUyali043c/eH2HJ6oRNfgYY30mh9qW/NEWh0GpLZ1HmJEL8AtRNZBIUQdyEmUERVz7k8hMuUALElE+b/czJYjDbcs3ZysAmyT6t5pZqM11WFIoQ5PnrxBPMkeAcyVbHoqvW36UBuPT1Sga/CwRnrND7WteSKtDh/WAdYHZgBXA662VYj6GNl/FTFUcffTzOx14AxgDLAhcA1wqZndALwIrA18BvgA8BjwS3efVmOXojOp1eHZDHV4OhozG+Xu09N7qxg9MoaY5jANWBHYGdl0SKFrcGeSssoNOH6M9Nq5DNam/aC2dYgirQozWxk4grDx7cBvi/+EEKJ/TCPa88PMRpdvMsxscyIDwPuBRQmP+kigm57RZE8D27r7I609WlEPfXV4zGxr4ArgLWLkws7AdqjD01TMbEV3f3QOtl8C+DJwR4pjU7l+c2Jo9AzgVeDdyKYtZQ6cCboGdxhmtgown7v/O32uvHHsb3vptQMxs22AawZ786e2tbMYqC5r7ENazZSUBGJKel+p164U928eYD3gh8SDmReAzdz9sbYctBBDFE036zDMbMU53H4J4Fup4wSAu19LxMfYE7gBeDat6gLuIZ5yb6Gbk+bQIJt+u7BplQ7UdOJmczTwc9SJbTpmdjrwsJltMcjtlwB+DRwJHJA6NZVMJIIZO9GJfQ3ZtOmY2Spm9iGIoJgDHZqua3DnYWb7AL8BbjazH0Bd6c/L20uvHYiZ/QY4H9ghfR6MVtW2dhbjzWxNM1vfzDYxs5GFXa1KdshKpNV8Sbb9qZl9AWbXa2qvVwF+AJxMOIgeB7aUg0iIgaPpZh1EuvH8splt5e7XDGL7onHcAbjCzG4CJrt7t7s/AzxjZpcRT7KXJjo/DwEzCs+8aCzNsKm7V2ZnKDo8I1GHp+mY2a+Ip5QQv/dAt18SOI50YwP8uIpNIbLldBFD418hnoTJpk0kORN2ATY0s8Pd/chBOhN0De4QzOwo4FAirsxTQLWbxr62l147EDM7mXC6AmwJ/GlOtaq2tb2Y2Z7AtsDHCAfOSOAS4GIzO8fdZ/Q10kha7XwGO1Is6fVXwCeAB8zscnefWFo/PzHa71DiGj+ViEG0j4LKCzFI3F2lAwpx8etO5YuD2H5J4KLSPtavUqer3ec5nEorbJrqrQ1MTnVeAlZt97nnWipsujswYhA2vTBtPw34cFpeVZvAbsRNyurtPvfcC3BUsst04AngF4Owra7BHVSI0R+FPY4E3j8Im0qvHVZK1+FipM9MYPsB2lVtawcV4GclW3YTU8EK+9xDOABqXj+l1c4twMbA3sSov4uBw4DPEiP0irAn/dm20OvMwrZV6m0APAP8C/gesHi7z11FZSiXth+ASutvPFXys6k6PC236R6DsOliqYPUTTzlqmnTouOU3s/T7nPPvdBiZ4JKS2y6d8mm+wDjS+v6tYv02pml4jp8eck+x9RjW7WtnVeAY0o2/RPwHcKRcE5p+VXAAjW2l1Y7tBBxgZ6nx/lX6K4b+AuwHzA61Z2tTzUIva6c/g9j2n3uKipDvbT9AIZ7aeWNp0p+NlWHp7NtWmGfHeh58r1BLZtWblveh0pTbNsyZ4JKS+xpwMKEA2Em8BNg7tL6kf1s35VepdcOKxXX4S8C44F/p88TgOX62V5ta4cVIqB/YdOvAYuWf3fg+6X1O9XYh7TagQU4lp7RP/8Gzkz6u71k05cIx+D4SrsBiwB/S/Wm1KtXFRWVxhTFJGojKbbJ/unjXsCZ7j6zju3Kc3o/BGyf3m/u7jc3KRWsqINW29TdvbTtWw04BVGBmf2aeNoFsC8lm5rZiEr7lpeVbApwGTFf/lp3/09/Oi22rdiHaBApGOpCxA2GE6OJznH3yWn9SHef0cf2hf10De4g0jVxBeAjhCPg/9z9LZhlsxnp/YeI1MjzpXq3A/d7T5asy5FeO4YqbesF7j7NzP4IrAYsABxkZt/02vG91LZ2EGa2LPApwgnwK+L6OzGtM3d/08zOAXYkpv7Nm9aNcPeZJfuobe0wzOxbwMHp48HAJZ5iA5nZasR0s8MIR9AngeXMbDt3f6G0m5WAddP7LfrTa5NORYhhi0lX7aHKjefv6r3xrFg+EjiIOhtH0Txk0/wws5MIW3YDe7r7maUO6iwngpmtT6Q335y4WXkUuJcYJv1KZQdmsMEbRWNJdvsXMYz9o+5+fVo+S3P9ORPMbBRwINJrx2BmuxJPra919y3TMks3/nMBJwEfJW5QCp4lgojvDTxX1qf02l76evhiZisBNxIO39uI2ESvVtOh2tbOwsw+Dvw1ffyMu/+pRr1/EG3rpu5+QxUnUbmutNpmzGx54AJgLWIk2LHuPrWizggibtDhpcX3E6PFHivV+TTwgLvfJ70K0VrkJGoDuvHMD9k0PyxSqZ4PrEpkWTnN3fdJ68a5+zvp/VHEaJRVS5t3E9lTriACLhaZWao6BkV7kDMhT8zs28Q0szuINMhd7j7FzBYDfkekMp9GBMedRO8shQ8BBwD/lFbbT8XDl0oHUZdH2uuDibg2Bhzt7odV2U+vG0xptX2U7HYkMZrkRSIO3AuVIziTZq8D3iRGDC1GjC55AngO+JG7T5YDoXMwsx2JeEPTiPTzN9aotyTwW2LU5wxgFBGkfDN3n1RRV3oVosVoulmLSTeeGxAXxJHAB0mdnjpuPDckbjy3BS6ynpSgI9x9pi6g7UE2zRN3f8jMvgl8E9gU2MvMut19v5JNzwa+QMy5nwo8AIwjUpwvRNh1SWA+MzvJ+5i+JNrC4ul1XjMbTW1nwtv0OBOWSuUK4AAzm+VMkF47hlfT6wjCLMX0o18TNn2TGP31CDGVaB3CMbQ8sArhHPwicIccu+3DzPajx0G0J3BW2RYlp8BtRHDcJYHNzGwZd3+6vK9KB4K02j5Ktng5vS5OBAg/utz/MbMuYD3CSb8y8IHSbtZLr1ub2afc/Qlptb2UHHUbpEWP13IQAbj7f83sIWBroo0dBbwP+JuZbZ3a4i5375ZehWg9Xe0+gOGGuz9E3HReTzgV9jKzk9O68o3nocR83KnAf4inm6+l3WxLzPH9anrqokaxjcim+WFmBuDuVwO/AG4gbLuPmZ2Y6vyccBC9TaRP35ZwEK4FfB74ZdrdGsQN5/aITqMeZ8I+wFaEfb9MaPcNepwJa8OsofGiM7iH0OXawFcAzGw7YCfCppu7+1nufou73+fuvycC0p9LXJNXAn5rZuN1LW4rTxNZrb5KhYOojLvfRAS4BVg/FdH5PFd6/1Ez+zRAchDNTzgPfko8cHkWOI2YvnQUMfrobcKp8Cczm6eYgtbC4xclSs6/YmrZwma2upl1Vdql9PkxYuT1FYSNIRyA309OP40OE6JNaCRRCymGS7r71en62AVsTNx4znT3AypuPI8hHA//SnU3I4ZlHkLPjecz9MzpFi1GNs2TNN2o0rYQtv2qma1OOITeJp5w/91TwGNgppldDfwTmAj8mBip8Clk106j0plwahVnwp2l+veZ2T2EzT9HjzNhw5L9RRtJNx8TiRuOlYHNzeyvwHKpyrHufmd5tEJ6Un13cgDPQ2j1fcA30pQYjTxpD1cSTtmXav3+pdELZxDTuFcBvmNmN7v7M607VDFQ3P1vZnYKMVX/w8D8ZvYRIjbNB9KyZYAHieDVT5WmGl5OPJzbmtDqKWa2q5y6HcHz6XVRYEN3vx9mmzJmRMKI1Ym+8EnEKOyrgDHEKPvFgec11UyI9qCRRC2kuPFM768GfkbPCIWvmtl1RHDG4sbzF+5+fZp2NB24mgj0Vsy3L248RZuQTfOlD9tOBzZJ1Q4D/lTpIEjOpanAycToBIBdzGyrlhy86JcKZwKEM2FxqjgTUv0uAHe/GziRiI8xhR5ngukpdvtJ2nsSOC8t+hRx7V0ifX4q1SumCHaXtn2YGK1Q3JCslvanG5QWk24Mu939xb5+/5L9HiVGJUDcnK6e9qMRfh1IcT0lYoedlt6vSjjrjyNG3i5D2HQbd388bWfpv3ELkWK9aHtXAca35uhFP/wf4dwF+LVFgHIIx1CRObTbzNYgAlO/DUx1938A30l1NyL1hXX9FaI9yEnUYnTjmR+yaX6UHAJ9OQFvJtK6Tq+1H4/gi7cTw6mhdwBk0UbkTMiH0g1n+f3viZEoAEcAn0nviyQCo6rtyyOGxvnp48ZmtlB5/6I1DERLyWkwmciUNIkIbvz1tFwjSzqIkpaKNPT/9UgIsQfhHLqMmK59XarzG4/YNV3p4dqs66zHNMNz0v7WpsfBL9rLc8Ro+anEfeb5ZvYFIkMoRAzADxMPSRcGLnP3O9K6i4kYY06KO6WHL0K0B003ayHlAGxVprI44VCo68bTzG4HdiYuwLrxbBOy6dDHzBYF3gu8i5hi9JC7v1BRp7BzYdu5gD+6+xN97LeYBnE7EcNmfmIqi2gT1ju1ffH+98S0hm0IZ0IxRWWWM6Gadt39RjM7H9id5EwAXnPFUGgq9eg18TzwZ2AF4uZxqbT8E8D57j69chqD9QS+LWLFTSECl8v512JsANmqSs78p4FrCBuvRYxSuFDTVdpDX1pNNisexnS7+xlpm2Ia6G6Ek+Guok7Fviu12k26ZovWYz0Z60aka+thhO23J6aRnQ3caWavEo6h5Qmn0fWk4PRJp4+Z2aOEg2htM5vX3d9owykJMeyRk6hJ6MYzP2TT/DCzg4CPEdnLjLghfMPM/gJc6e5/TTcXbj0Z5642sxfc/YG0j6o3IKVO7dypQM/QeNFk5EzIjzr12g2hPzM7h7gZ2RNYkLDPFmb2FXc/vbhRLW0z0yLL3TLpK+939zdbd4bDk/60Wo+TJ62fZGZ/ImKKzU88pLlQDqLWMxCtVtHg4sQ03rGEQ2E2p2GqN45wBgLcSsQyEk2mH+ffTDMb7e6TzezzwPHEf2A5YN2KXV0B7OXuE5KTt4vIFPsfIo7nSHSfKkTbkPiagG4880M2zQ8zO5bIKNdN2PSt9LowkcVqLzP7MTHc/fnU+Rnp7jMKm0Lf0yLMbDwRcHMkcCdwabPOR/QgZ0J+DFSvAO4+1cyOIK6rn011FwB2M7M33f3CZP/yaLHViNgo04hRKXU5KcTgGEDb2t9+ChtdSFxzPwvsa2aXuPuVfW4sGsog2tbuCo2NTvUB1gQuKupArzZ3DUKvMwitdpmZ0qU3kTr1Oi21l5PNbH9gSyJBy4bAvMRUwgfc/YRiv8lmxdTQd4j/zlvowYsQ7cPdVRpYiEB6xbDXbmJkyJvp/dT0eiSwRGmbkQP8jvFEJoBi9Mn87T7vnItsml8hgoV3p/Ij4ONEh3NHwpHzemn9eUQWOkvb2gC+5wPA3Wk/xwLj2n3uuZfB6DVtN5YISP1yyfb/Aj5TqjOq9H5t4AFiFNHBA/1vqAzIpoPWa8m2R9OTbrmbiHvxvVKdcUT2wmvT+v9U/kdUGm7XwbSt/WoMODBtO4XIKDoC6Gr3+Q6H0qi2lYhNU9T7YsV3jCWcR4VW7wKWbPe5514G27aWth9Z2QcCRlR8XoCIS9UNXNDuc1ZRGc6l7QeQU2lU41jH9+jGUzZVGbxN1wIeIZ5aHQzMVaXOfkQq1sK2VySb92nb0vouIrtO0Ym9D1iq3eeee5kTvabt5UzosNIIvaY6Y4C9gH+U6nWn6+5Vyc7PpWUvACu2+9xzLs1sWwmn0G0lW763nu1U5timjWhbu9Lr/iU9Fv+RnYlYNT+mJyHE/6TVlth2TvQ6Mr1aHdrdNLW/E4HPFtu1+/xVVIZjafsB5FIa1DjqxrODimyaZwF2Sb/1K8nG5RvJEaX3GwBnlGx7LbB9H/stbLogERPjZnViW2rXOdZrqiNnQgeVRuqVcB6sCPycuKmZXmHjV4lAqiu0+7xzLk1uW0ek172JmGHdwG+AMe0+79xLg7U6FvgVvR1FM+iZitSd/kMrtfu8cy9N1ussRxLRF76enlG8i7f73FVUhnNRTKLGsSoR+HQCMd/2nWJFKUbNyWZ2D/BfYDdga+KGZAZwqbvPNve2mKdtZgsSnvmvAx8CXgJ2cvdnm3tawxrZNCNKMWXWS4uecfe7y3U8Ys0UWepuMrOXCbvvSzzhetvMJrr7zVW+YqyZrU9MdVgLeA/wIGHTR5tyUqLMHOsVZsWxOZ3orO5B3GzORUxvKJgI3ADs6e6PNfe0hieN1muqNxN4FPiWmV0MLEs8EZ9GOBSuBm5195dbcY7DmKa0rRD/ifT2X8RUmPkIO48kpsSIBtMErXa5+xQz+xZh/23oiYEzhpjm+2/gKHd/uvlnOOxppl7dzJYAtiAcTesRD1++7O4vNu+UhBD9ISfRHKIbz/yQTfPEewKEv5JeFzGzpYlOzaxgl+XOjEc61p8RI772Bj4KvGxm97n7mxUZV95PTFVaj3Ai/A04xN2fava5DWfkTMiTZum12Le73wLcApzbmjMSLWhby/t50Mx+SzyE+bq7KxlEk2iSVkclR9GxxKijrQinw2hilMpE2bS5NFuv6Xr8QSIe56qEbe8HPu3ujzfrvIQQ9SEn0RyiG8/8kE2zp3g69R5gPXd/pq/K7v6smZ0AzEMMp98NeBj4ecmmEDecZxBTBu8A/uLuryCaipwJ2dMsvQI9T8LTe2UxayItaFsr+Rtwprv/txnnI2ajkVqdnmw7k5gGen7zDltUo9l69chYN5pwKj0J3Aoc3t//RgjRGrrafQAZUdk4zuyrs+kxpegEIsAbROO4b1pX7cbzdCJw3F5yJrQM2TRPLiWyoQB818xW7W8Dd38YOJuIMwRwqJltWqxPN5czgN8RT65Pl4Oo5TRUr5U3nmY2ovTeEK2i4XqtqDuz9F4OotbQrLa1crt75SBqKQ3Val+2FS2laXp1938SzqQvAgfKQSRE5yAnUePQjWd+yKZ5Mgl4KL1fCtjZzBbubyN3vwq4Mn0cTYpRUx59kJwLbyQbi9YiZ0KeTKLBem3CMYqB0VStirYxCWk1R5qi18K+7n6/u9/p7m807IiFEHOMnESNYxK68cyNScimWZFsMBX4BjG8eQHgS8DWZjaur+3S26OJgJnjgC+b2TxyGHQMk9ANSlZIr9kyCWk1K6TVrJlEE/Qq+wrR2chJ1ADUOOaHbJon7u4pBsmLhG1fJIZQ/xDYIs2Pr7XdyDRU+sa0eDzR8RFtRnrNE+k1P6TVPJFW80R6FWL4IidRA1DjmB+yab547xTJvyaCYi4PHAtsa2bja2xXjPp6BHCis7SAnmK3H+k1X6TXvJBW80VazQ/pVYjhi5xEDUKNY37Ipnnj7hOIjFVnEVnmVgCOAT5nZu8q6pXtZmZjiOx0BjwAPKWnYp2B9Jo30ms+SKt5I63mhfQqxPBETqIGo8YxP2TTfPHIpHFaKq8CywGHE0EW1y7XtchutSJhV4gOk+JhdBjSa75Ir3khreaLtJof0qsQw4uR7T6AHHH3Z8zsNGAGsAc9jeP7zOxMdy+yBPTZOOpC2jnIpvni7o+b2alER/YQYAngy8CnzOynwGNm9jSwCbALsC7wMPC70hM20UFIr/kiveaFtJov0mp+SK9CDB9MOm0eZrYU8CmicXw3MBl4E/gp8BjwND2N44ZE47htegIjOhDZNC/SXPuZ6f28RCf118AqpWozCTvPmz4/C2zt7o+08ljFwJFe80J6zRdpNS+k1byRXoXIHzmJmoAax/yQTfPDzN4DfAS41t2fKi2fH/gWsE5aPxMYQcyrvxP4gbs/2fIDFnUjveaH9Jon0mp+SKv5Ir0KMXyQk6jBqHHMD9k0P8xsCaJjswNwIvBNd59WdIDMrMvdu81sY2Ja7vzAbcBr7j65bQcu+kV6zQ/pNU+k1fyQVvNFehVieCEnUQNR45gfsmnnYWYLuvvEwc5rN7MlgeOAndKiTdz9Xw09SNEWpNfOQ3oV1ZBWOw9pVdRCehVi+CEnUUKNY37IpvlhZscASxEdlGcGatvU0TmesOkMYFN3v7no4DTloEVdSK/5Ib3mibSaH9JqvkivQojB0NXuA+gEUuN4qpkt7e5uNrC0m6lxLC6gM4AN3f1fZqbft03IpvlhZicTQRK3AL47UNumQIsnok5sxyG95of0mifSan5Iq/kivQohBsuwF7kax/yQTfPDzL4N7AM4sADwCeCwAdp2fWDH9H4T2bQzkF7zQ3rNE2k1P6TVfJFehRBzwsh2H0A7qdE4dpnZjwcw3LaycbxFF9D2IZvmh5ltDnwufXwCWBxYGPhYWl+Xbd39AjNbGfinbNoZSK/5Ib3mibSaH9JqvkivQog5Zdg6idQ45odsmh9mNg7YHlgzLToBuA+4GFiUOm1rKbiiux+RPsumbUZ6zQ/pNU+k1fyQVvNFehVCNIJhGbg6NY5HAQcCBhxAT+O4APAycAlQV+NY+qwLaJuQTfPEzD4G/C19PNvdd0vLPwKcBywIvAL8nX5sKzoH6TVPpNf8kFbzRFrNE+lVCNEohmtMoi2Bg4gL6NnufpK73wDsDEwknqJ8nH7mZZcvoOmzLqDtQzbNkxfS6wPAkQBmNtLdrwI+S9h2EXpsu0wt24qOQnrNE+k1P6TVPJFW80R6FUI0hOHqJFLjmB+yaWakJ1d3AmsAp5Bs7O4z0us1zG7b78m2QwLpNTOk12yRVjNDWs0a6VUI0RCG3XSzYsikma0GbAKc4e5TKupsAVxA7+G2R7n70xpu23nIpvlSsm3xOputZNuhhfSaL9JrXkir+SKt5of0KoRoJMPOSQRqHHNENh3e9GdbgPS0bGzRaTKzUe4+vW0HPYyRXoc30uvQQVod3kirQwvpVQjRKIbldDNPc2tLr7NdEOsZbls0kGY2ttjOzEa14BREBbJpPpRsUPfw5/5sm+w7N7CLmZ2pTmx7kV7zQXrNG2k1H6TV/JFehRCNYtg4idQ45odsmg9mtriZvcvMFgPmhllPJ+fUtoeZ2btTlY8D+wG70pPVRbQI6TUfpNe8kVbzQVrNH+lVCNEMsp5uZmaLExH+u4G33f3NtHxAwylt9qGZlwA/cPcXzGwX4BBgHeBKd/9og09DlJBN88LMdgI2IjqX3YADdwOnu/v5g9xn2bYvA1cC/0nfsTZh7y3d/b45PX7RN9JrXkiv+SKt5oW0mjfSqxCi2WTpJFLjmB+yaX6Y2Y+Br5GebgLTgNGlKt9092NT3YF2fLYE/kjY9g1gCpH6dSKwkbs/NOdnIGohveaH9Jon0mp+SKv5Ir0KIVpFdk4iNY75IZvmh5kdBxyYPl4P3EP8/hsD7wPmT+v2dPfTB7hvS0OlPwacC8xFTK19DdhQNm0u0mt+SK95Iq3mh7SaL9KrEKKVZOUkUuOYH7JpfpjZocBR6eP+wN/d/b8V6/cGlgKeBbZ39/sH+B1zA9um71kemETY9ME5PgFRE+k1P6TXPJFW80NazRfpVQjRctw9iwIcSgy97CYC6C1ZZf3Taf3TwOqD+I65gU8Dj6b9TARWbfe551pk0/wK8FHgufRbHwqMLa0bk15HER2VbuB1YpjzQG26M3BX2scE2bQltpVeMyvSa55FWs2vSKv5FulVRUWlHSWL7GZm9lHiwgnwPeAMT09PzGxMWn4McFN6vwCw+AC/Y27gY8B3iacnhYddT0+agGyaLVsD7wKuAS529ynFCnefamZdHhk0DgdeAOYBPmGJ/nZuZqOBjwCHEU/XJiCbNh3pNVuk18yQVrNFWs0Q6VUI0S6ycBKhxjFHZNPMMLMPAAcQ151L3P3hyjru3p3evgUU6VYX8kQdXzMCWBlYJe1jY9dQ6VYgvWaG9Jot0mpmSKtZI70KIdrCyHYfwJxSahxhEI1jnV+jxrGFyKbZ8i7gSWAycCrUDq7o7v8zszuApYGlUkdmprvP7OsL3P0dMzuXCL54mrs/2uiTEL2RXrNFes0MaTVbpNUMkV6FEO1kyDuJUOOYI7JpnlwNHAcsBnTVsmmJt9PrPESa1347PWmfz5jZt/v7D4iGIb3mifSaH9JqnkireSK9CiHaRg5OIjWO+SGbZkb6vd8xszOBLnefUmsotJmNdPcZRMcIoDsNp+6X4n8im7YU6TUzpNdskVYzQ1rNGulVCNE2hrSTSI1jfsimeWBmI9x9ZtGpcXdP74tODH10dgqbvJxe5zazuYAppaHVxfcsQth9QsNPQvSL9JoH0mv+SKt5IK0OD6RXIUS7GVKBq81sRHo1iItb0Ti6+1vFshqbV20czWy238DMFjGzhRp8+KIKsmm2zLJnsaCwbX8blrYpAjSOB8ZScb0ysxWBi4FTzGxA2TzE4JBes0V6zQxpNVuk1QyRXoUQncZQG0lUs3HsZwhmX43jNGDWE5TUOJ4BvGBmX3P3Fxt4/GJ2ZNOMMLMtgbWBLczsNSIQ4tnAC+7+RH82TfsYkZ5qle07OT0pK+qsAJwIfDitP2C2HYlmIL1mhPSaNdJqRkir2SO9CiE6iiHhJFLjmB+yaX6Y2RHAvsDCFas+CTxvZke5+wWl+rU6P0Wn5s30Ooro8ExN260AnAJsTjw529zdX2rYiYjZkF7zQ3rNE2k1P6TVfJFehRCdSsc7idQ45odsmh9m9gvg6+njvcCjwJLAEsB7gAWA883sfcA57v5gradkVZ6KLQDMa2ZvAsvRY9OJwGaudK1NRXrND+k1T6TV/JBW80V6FUJ0Mh3tJFLjmB+yaX6Y2Z702PRrwCUe2TLGAfMDRwMfAlYCvgMsY2a/cfd/VrNt6XPxFGxKKpU23Ug2bS7Sa35Ir3kireaHtJov0qsQouNx944swJ6Ed7wb2B9YOi0fB7wLOBN4qFTnPGCT0vZWsT9Lr19K9ScCiwArAP9Iy14FVmn3uedaZNP8CjA62WkG8BtgntK6UaU6uwBXlGz7d2CbGvss7PrJVPe/wAbAVbJpS20rvWZWpNc8i7SaX5FW8y3Sq4qKylAoHTmSyMxGA5sRF7bTgd+7ezGMcoa7/8/M9gY+BXwR2Br4HBHRf5y7X+nutebxvpVe3wZWBH6Inp40Hdk0W5YgbNUF3F2yKe4+3cy63H2amf2ReFI2CfgssD0ww8zecvcbyzss2blI4fpu4PfAssimLUF6zRbpNTOk1WyRVjNEehVCDBU60kmEGscckU3zZAQpKwdpCHuyZTeAu3en4dHdwB1mdjhhry8AOwJvmNlz7v5MlX0XaV2nEjZ9Ddm0VUiveSK95oe0mifSap5Ir0KIIUFXuw+gBlUbx2JluXF09zuAw4Fz0uodgT3MbOka+1bj2B5k03yZQmTVeE/6XGu+PO7+CPAT4MK06EvE07JqTACeAMYQHSXZtHVIr/kiveaFtJov0mp+SK9CiCFBpzqJQI1jjsimmeHujwO3E52e/cxs9T6GQhfbPESkYr0uLTrSzLavUvV+4Bpibv5G7v5g445c1IH0mhnSa7ZIq5khrWaN9CqE6Hg60kmkxjE/ZNP8MLPiadg1wDvA3MD+ZrZoHZv/m+j0/C993svM5iv2mZ6kTQa+CWzq7g809uhFX0iv+SG95om0mh/Sar5Ir0KIoULHOYnUOOaHbJonpY7NhUSWlNHAR4DtLVL0ViXZbCZwBnBnWvxBYMFin+6zUr2+6e6vNO0kxGxIr3kiveaHtJon0mqeSK9CiKFExzmJ1Djmh2yaB6UOTnlZl7u/COxNDG9eBjgQ2NjMqgbGTzYb4e7TgSPoSde6Tfl7+nu6JpqD9JoH0mv+SKt5IK0OD6RXIcRQou1OIjWO+SGb5oWZLWFmiwMrVCyflWkFuJWYN/8msAZwNLChmY2qtk93n5ns9yI9wRbHpXWyZwuRXvNCes0XaTUvpNW8kV6FEEOZtjmJ1Djmh2yaF2a2k5kdS8yfvxP4t5mda2a7mtkojywcIwDc/R3gT8DvgMnA2sAvgY+Y2dzV9p/sNxWY1oLTERVIr3khveaLtJoX0mreSK9CiBxouZNIjWN+yKb5YWY/As4EDgIWB94FzA/sDPwAONrMRqeOSxeAuz9FDIf+A/AWsBbwM2B3M1si7ber9B0GfAiYB3ge+GcLTm3YI73mh/SaJ9Jqfkir+SK9CiGywt1bVoAfAW8QXvDuivIE8AtgdKrbVdpuNeDktG03EcH/a8ASVeoasD0xjPM5YN1WnuNwK7JpfgU4rmTDa4BjgOOB80vLnwO+UbZTaftViA7spFT3WeCvwHqlOuOAdYDrU50rgAXafe65F+k1vyK95lmk1fyKtJpvkV5VVFRyK637IjWO2RXZNL8CfLdku/2BJSvW71lafxUwf439vAfYF3i1VH8qcAlwKvB/wINp+X+B5dt97rkX6TW/Ir3mWaTV/Iq0mm+RXlVUVHIsrfkSNY7ZFdk0vwJsl37jbuDbwNjSuvLTrB+XbPXFfva5NnBLab/lMpkYkr1iu8899yK95lek1zyLtJpfkVbzLdKriopKrqX5X6DGMbsim+ZViCHMI4FfATNSR2alPupuSwyNng78oK/9pteFgM2AE4ErgduAC4jsHku0+/xzL9JrXkV6zbdIq3kVaTXvIr2qqKjkXKqmW2wEKXDeCGBrIjjfP4C/uvuUoo6nKP+p7k1EQL5xwHv72q+732Vm2wNrAp8kMggsCDwFXAtc6u7PN+O8hjOyaZ64u5vZB4H9iGD2l7v7I33UvQp4nAieuVEKxNjt7l6lbpe7TwCuA65LwTVHl/8zojlIr3kiveaHtJon0mqeSK9CiOFA05xEahzzQzbNmjcIm95CBFEsOiy9bJXsMgKYkBaNoopNC8odpVTHiSHUVfcvGof0mjXSa0ZIq1kjrWaG9CqEGA509V9ljqjaOFZWmpPGsVhEqXFs4PGL2ZFNM8Td7wPWJzoy1kcn0919GpGBA+K/MKKO/XvxWn7fkIMXfSG9Zoj0miXSaoZIq9kivQohsqapTiI1jvkhm+aLu98K7OnuU/vowFQuX4gYQl2T1EkSbUB6zRfpNS+k1XyRVvNDehVC5E7TppsVuPutZnZXukjWqlOrcXyz1jZpSGZ3gw5TDADZNF/6sin0GsY+NS2q2Uk1s3cBE9x9mpmNcPeZDTxUUSfSa75Ir3khreaLtJof0qsQImda8hSinsYxva2rcTSz0e7eneb1ijYgmw5PSh2el9LrDKo8FTOzFYE/AreY2Rh1YtuL9Do8kV6HHtLq8ERaHZpIr0KIXOmIoapqHPNDNs2eouMzFzC614qw6SnARsDywMKtPTQxUKTX7JFeM0FazR5pNSOkVyHEUKUjnEQl1Djmh2yaEaWnYsVU1Vo23YwI1LieK13rUEJ6zQjpNWuk1YyQVrNHehVCDCk6wkmkxjE/ZNM8KT0Vm1gsItm4ik038hppYUVnIb3mifSaH9JqnkireSK9CiGGKh3hJFLjmB+yafa8k15HAWPMbCVmt+nD7To4MTCk1+yRXjNBWs0eaTUjpFchxFCl6dnNBki1xvFk1DgOZWTTPBmbXh1YATgQ2TQHpNc8kV7zQ1rNE2k1T6RXIcSQotOcRGoc80M2zZPJ6XVu4FRgGWTTHJBe80R6zQ9pNU+k1TyRXoUQQ4pOcxKpccwP2TRPJhFZOkYTNp2IbJoD0mueTEJ6zQ1pNU8mIa3miPQqhBhSdJqTaBJqHHNjErJpjjxJz/XjFWBT2TQLJiG95oj0mh+TkFZzRFrNk0lIr0KIIURHBK4uUTSOo4nGURfQoY9smiHu/iiwbfq4mbs/1M7jEQ1Des0Q6TVLpNUMkVazRXoVQgwprCfwfmdgZlsDVwCru/uD7T4eMefIpvliZnO5+9vtPg7ROKTXfJFe80JazRdpNT+kVyHEUKLjnESgxjFHZFMhhg7SqxBDA2lViKGD9CqEGCp0pJNICCGEEEIIIYQQQrSWTotJJIQQQgghhBBCCCHagJxEQgghhBBCCCGEEEJOIiGEEEIIIYQQQgghJ5EQQgghhBBCCCGEQE4iIYQQQgghhBBCCIGcREIIIYQQQgghhBACOYmEEEIIIYQQQgghBHISCSGEEEIIIYQQQgjkJBJCCCGEEEIIIYQQyEkkhBBCCCGEEEIIIZCTSAghhBBCCCGEEEIgJ5EQQgghhBBCCCGEQE4iIYQQQgghhBBCCIGcREIIIYQQHYWZHW5mbmbe7mMRQgghxPBCTiIhhBBCCCGEEEIIISeREEIIIUQrMLPdihFCZrZMu4+n0zGzZUq/127tPh4hhBBiOCAnkRBCCCFEB+Huh7u7ubu1+1iEEEIIMbyQk0gIIYQQQgghhBBCyEkkhBBCCCGEEEIIIeQkEkIIIYRoKma2acpUdmZp8VOleDtF2TTV7zO7mZk9ndaflT6vY2bnmtlzZvaOmT1uZr80s4UrtvuwmV1kZs+a2RQze8LMfmZm89RxDiPMbFczu9TMXjCzqWY2wcxuNLNDzGxcP9uva2anm9mjZjY5ff9zZnanmZ1kZh83MyvVd+Cp0i7OrPJ7HV7xHcua2dfN7JL0G72TyjNmdoGZbdPPMfaKGWVmo9O53WFmr5vZRDO73sy2q9huHjP7lpndZWZvmNkkM7vazLbo47s2LdvdzLrMbE8zuzl9z2Qzu8fMDjWzsX0dtxBCCNFIRrb7AIQQQgghxOAwsy8CvwNGlxYvBxwMbGdmm7j7i2b2DeDnQDnO0bLAt4AtU723anzHUsDfgfdVrFoQ2CCVfc1sO3d/tMr2BwPHMPvDySVTWQfYD5gHqHoM/WFm7wWeqLF6qVQ+Y2bnAF929xn97HJe4I/AByuWbwJsYmaHuPtx6be5HFitot6WwBZm9kV3P7ef7xoNXAZUOrHWTOULZraFu7/Yz36EEEKIOUYjiYQQQgghmsvtwBrAYaVlW6dl5XL7APf7PsJB9DiwO/ABYHPgnLR+ReAYM/sk8AvgVuDzwPsJh8Tlqd46Fcc2CzNbCLgxfddU4NfAp9N3bQb8BHgbWB64wszmq9h+TXocRE8BXwe2ANYGNgb2BM4DJld89RrEb1RwGLP/XieX1o8ApgGXAF8jnDTrpNf9gAdSvS8A3692rhWcBqybvmMr4jfbA3ghrT/GzFYH/kI4234KbJp+l4OA1wmH3Clmtmg/3/Vjwh5XAZ9I3/UJ4Oq0flXgEjMbUcdxCyGEEHOEuVcdySyEEEIIIRpISuNeTDl7r7s/XaPe4cAPAaplODOzp4Gl08ebga3c/e2KOhcBnwJmEg6L64DPuvvMUp0RhAPoQ8AEYPHKETZmdi6wC/AMsJm7l6eAFXXWBv4FjAeOdvfvldYdSThlJgPLuftLNc55PuBNd+8uLVuGnilnX3b3s6ptm+qOB+Z19//VWG/AGcBu6ViWcPfXK+rsRo99HPiku/+1os6awF2E0+sVYsTRJu5+a0W9jxKjgwAOcffjKtZvStik4DR337vKcf8O+Er6+FV3P7myjhBCCNFINJJICCGEEGJo4sAelQ6iROFMGAGMBfYqO4gA0ufT0seFiBErs0hOms+mj/tXcxCl/dwFnJQ+7laxevH0+mgtB1Hax+tlB9FAcffJtRxEab0To5hmEs6sLfvZ5YWVDqK0n3sJxxrAIsDxlQ6iVO9ywrEGsFE/3/USMT2wGgcRziiIEVFCCCFEU5GTSAghhBBiaHKvuz9UY909pfdXu/vEOuotW7FuO8LJ9DZwRT/HckN6fXeK01NQOG5WNbP1+tlHwzCzUWa2pJmtYmarp6lh7yZGTMHs8ZUq+WMf68q/WV/17k2vlb9rJRfWcPSR4kRdmD6uZmaLV6snhBBCNAo5iYQQQgghhiazBYkuMWkQ9SqznL0/vc4FzKiSXWxWAS4tbVd2ZJwPTAfGADelzGP7JMfNbFPp5oTkGPqqmf2bCID9HPAgcF+pFPGBFq6+l1k08rftL3tcf7Gobiu9X6OfukIIIcQcISeREEIIIcTQpOroE4CKqVs16wHlepWBkfsLuFyLuUrH8TCwM/AakVV3e+AUwmHzspn9wcz6m47VL2a2IHALEVj7g/TO9laNcf2sr+s3qzUCqKJefwGnX+5nfXma3oL91BVCCCHmiJHtPgAhhBBCCNGRFM6NV4lMZvXSK3aRu//ZzP5BxDfamojRswgxmucLRIr33wO7z0FcohOIbGQAfyWCVN9LOGCmpJhEmNmzwHuIzGOdgrLICCGE6BjkJBJCCCGEENUo4vfMAzxUGfh6IKRMYqelgpmtAuwAHEDECtqVyBp2wkD3bWbz0hNg+1x3/0If1RcY6P5bwGIDWF8rtpQQQgjREDTdTAghhBCiNQy1ESN3pdcx9MQnagju/pC7/xT4EJGSHuAzldXq3N0KwKj0/oJalcxsZWDugRxni/jAANbf38wDEUIIIeQkEkIIIYRoDVNK78e07Sjq5xJ6HDUHNeML3P05eoI/VwaTrvf3Ko+MH99HvX0GcGit5NNmVjVGkpmNp8d59qC7/69aPSGEEKJRyEkkhBBCCNEayjf4y7XtKOrE3R8BLkofP2dmh/RV38zea2Y7Vyzb0czm72Ob9wArp49PVayeAExL7/v6vR6nx5m1a7WsaWb2MWD/PvbRThYHjq2x7pf0BBA/pTWHI4QQYjijmERCCCGEEK3hLmJ0zFjgR2Y2HXiGnixYz7v7O+06uBrsS0w1WxY41sx2AM4GHgCmAgsB7wO2ATYHLibS3hccBJxrZpcB1wIPAa8TsYHeT8QkKkbRnFr+YnefYWa3AxsAu5vZXcDdwPRUZaK7T3T3CWZ2ObBdOo6rzOwU4rddFNgJ2A14EpifCJrdSdwB7Gtm7yV+g+eI4Nr7EoG+If47p1bfXAghhGgcchIJIYQQQrQAd3/TzH4FfAtYB7iqospmwPWtPq6+cPeJZrYBcCGRlWzjVGrxRpVlcwGfTqUa3cAP3f2vVdb9hJj2thBwXsW6I4DD0/t9gRuBpYAtUynzLLAjcHkfx94uvgd8nXBwbVNl/cPA9u4+o6VHJYQQYlgiJ5EQQgghROv4DvAY8CVgNWA+elLNdyTu/iKwsZltB+wMrE9MkRoFTCLO5xbg7+5+Q8XmOwPbA5sCq6btFiZGVD0D3ACc6u731vjuy8xsC+BAIoDzIvQEqS7Xe87M1gG+TWRNWzp9x9PAX4ET3P21KjPROoFpwEeBvYj/xcrAaOAJIhD3LztwhJkQQohMMfehlmhDCCGEEEKIoYuZbQpclz5u5u7Xt+1ghBBCiBIKXC2EEEIIIYQQQggh5CQSQgghhBBCCCGEEHISCSGEEEIIIYQQQgjkJBJCCCGEEEIIIYQQyEkkhBBCCCGEEEIIIVB2MyGEEEIIIYQQQgiBRhIJIYQQQgghhBBCCOQkEkIIIYQQQgghhBDISSSEEEIIIYQQQgghkJNICCGEEEIIIYQQQiAnkRBCCCGEEEIIIYRATiIhhBBCCCGEEEIIgZxEQgghhBBCCCGEEAI5iYQQQgghhBBCCCEEchIJIYQQQgghhBBCCOQkEkIIIYQQQgghhBDISSSEEEIIIYQQQgghkJNICCGEEEIIIYQQQiAnkRBCCCGEEEIIIYRATiIhhBBCCCGEEEIIgZxEQgghhBBCCCGEEAI5iYQQQgghhBBCCCEEchIJIYQQQgghhBBCCOQkEkIIIYQQQgghhBDISSSEEEIIIYQQQgghgP8HPO+AstaAn7oAAAAASUVORK5CYII=",
+      "text/plain": [
+       "<Figure size 1200x800 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "plt.rcParams[\"figure.dpi\"] = 200\n",
+    "\n",
+    "df.index = df.timestamp\n",
+    "df[\"price\"].plot()\n",
+    "\n",
+    "plt.xticks(rotation=45, ha=\"right\")"
+   ]
+  }
+ ],
+ "metadata": {
+  "interpreter": {
+   "hash": "9b6697946b59f1cda35d1a9d955611df8679c38ae8cee6d6fc35b656a9a31b3c"
+  },
+  "kernelspec": {
+   "display_name": "Python 3.9.10 ('web3-ethereum-defi-0d8b7oDT-py3.9')",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.10"
+  },
+  "orig_nbformat": 4
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/poetry.lock b/poetry.lock
index 76f0de2c..7261e130 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -91,11 +91,11 @@ tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>
 
 [[package]]
 name = "babel"
-version = "2.9.1"
+version = "2.10.1"
 description = "Internationalization utilities"
 category = "main"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=3.6"
 
 [package.dependencies]
 pytz = ">=2015.7"
@@ -178,7 +178,7 @@ unicode_backport = ["unicodedata2"]
 
 [[package]]
 name = "click"
-version = "8.1.2"
+version = "8.1.3"
 description = "Composable command line interface toolkit"
 category = "dev"
 optional = false
@@ -463,6 +463,39 @@ dev = ["furo", "pytest-mock", "pytest-timeout", "coverage", "sphinx", "sphinx-au
 docs = ["furo", "sphinx", "sphinx-autobuild", "myst-parser"]
 tests = ["pytest-mock", "pytest-timeout", "coverage"]
 
+[[package]]
+name = "gql"
+version = "3.3.0"
+description = "GraphQL client for Python"
+category = "main"
+optional = true
+python-versions = "*"
+
+[package.dependencies]
+graphql-core = ">=3.2,<3.3"
+requests = {version = ">=2.26,<3", optional = true, markers = "extra == \"requests\""}
+requests-toolbelt = {version = ">=0.9.1,<1", optional = true, markers = "extra == \"requests\""}
+urllib3 = {version = ">=1.26", optional = true, markers = "extra == \"requests\""}
+yarl = ">=1.6,<2.0"
+
+[package.extras]
+aiohttp = ["aiohttp (>=3.7.1,<3.9.0)"]
+all = ["aiohttp (>=3.7.1,<3.9.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26)", "botocore (>=1.21,<2)", "websockets (>=9,<10)", "websockets (>=10,<11)"]
+botocore = ["botocore (>=1.21,<2)"]
+dev = ["aiohttp (>=3.7.1,<3.9.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26)", "botocore (>=1.21,<2)", "black (==22.3.0)", "check-manifest (>=0.42,<1)", "flake8 (==3.8.1)", "isort (==4.3.21)", "mypy (==0.910)", "sphinx (>=3.0.0,<4)", "sphinx-rtd-theme (>=0.4,<1)", "sphinx-argparse (==0.2.5)", "types-aiofiles", "types-mock", "types-requests", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "mock (==4.0.2)", "vcrpy (==4.0.2)", "aiofiles", "websockets (>=9,<10)", "websockets (>=10,<11)"]
+requests = ["requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26)"]
+test = ["aiohttp (>=3.7.1,<3.9.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26)", "botocore (>=1.21,<2)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "mock (==4.0.2)", "vcrpy (==4.0.2)", "aiofiles", "websockets (>=9,<10)", "websockets (>=10,<11)"]
+test_no_transport = ["parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "mock (==4.0.2)", "vcrpy (==4.0.2)", "aiofiles"]
+websockets = ["websockets (>=9,<10)", "websockets (>=10,<11)"]
+
+[[package]]
+name = "graphql-core"
+version = "3.2.1"
+description = "GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL."
+category = "main"
+optional = true
+python-versions = ">=3.6,<4"
+
 [[package]]
 name = "hexbytes"
 version = "0.2.2"
@@ -509,6 +542,21 @@ docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"]
 perf = ["ipython"]
 testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"]
 
+[[package]]
+name = "importlib-resources"
+version = "5.7.1"
+description = "Read resources from Python packages"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"]
+
 [[package]]
 name = "iniconfig"
 version = "1.1.1"
@@ -544,7 +592,7 @@ requests = ">=2.11"
 
 [[package]]
 name = "ipython"
-version = "8.2.0"
+version = "8.3.0"
 description = "IPython: Productive Interactive Computing"
 category = "dev"
 optional = false
@@ -594,7 +642,7 @@ testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<7.0.0)"]
 
 [[package]]
 name = "jinja2"
-version = "3.1.1"
+version = "3.1.2"
 description = "A very fast and expressive template engine."
 category = "main"
 optional = false
@@ -608,20 +656,20 @@ i18n = ["Babel (>=2.7)"]
 
 [[package]]
 name = "jsonschema"
-version = "3.2.0"
+version = "4.5.1"
 description = "An implementation of JSON Schema validation for Python"
 category = "main"
 optional = false
-python-versions = "*"
+python-versions = ">=3.7"
 
 [package.dependencies]
 attrs = ">=17.4.0"
-pyrsistent = ">=0.14.0"
-six = ">=1.11.0"
+importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""}
+pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2"
 
 [package.extras]
-format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"]
-format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"]
+format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
+format_nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
 
 [[package]]
 name = "lru-dict"
@@ -696,6 +744,14 @@ category = "main"
 optional = false
 python-versions = "*"
 
+[[package]]
+name = "numpy"
+version = "1.22.3"
+description = "NumPy is the fundamental package for array computing with Python."
+category = "main"
+optional = true
+python-versions = ">=3.8"
+
 [[package]]
 name = "packaging"
 version = "21.3"
@@ -707,6 +763,27 @@ python-versions = ">=3.6"
 [package.dependencies]
 pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
 
+[[package]]
+name = "pandas"
+version = "1.4.2"
+description = "Powerful data structures for data analysis, time series, and statistics"
+category = "main"
+optional = true
+python-versions = ">=3.8"
+
+[package.dependencies]
+numpy = [
+    {version = ">=1.18.5", markers = "platform_machine != \"aarch64\" and platform_machine != \"arm64\" and python_version < \"3.10\""},
+    {version = ">=1.19.2", markers = "platform_machine == \"aarch64\" and python_version < \"3.10\""},
+    {version = ">=1.20.0", markers = "platform_machine == \"arm64\" and python_version < \"3.10\""},
+    {version = ">=1.21.0", markers = "python_version >= \"3.10\""},
+]
+python-dateutil = ">=2.8.1"
+pytz = ">=2020.1"
+
+[package.extras]
+test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"]
+
 [[package]]
 name = "parsimonious"
 version = "0.8.1"
@@ -759,15 +836,15 @@ python-versions = "*"
 
 [[package]]
 name = "platformdirs"
-version = "2.5.1"
+version = "2.5.2"
 description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 
 [package.extras]
-docs = ["Sphinx (>=4)", "furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)"]
-test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"]
+docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"]
+test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"]
 
 [[package]]
 name = "pluggy"
@@ -794,7 +871,7 @@ wcwidth = "*"
 
 [[package]]
 name = "protobuf"
-version = "3.20.0"
+version = "3.20.1"
 description = "Protocol Buffers"
 category = "main"
 optional = false
@@ -937,22 +1014,22 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "pygments"
-version = "2.11.2"
+version = "2.12.0"
 description = "Pygments is a syntax highlighting package written in Python."
 category = "main"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.6"
 
 [[package]]
 name = "pyparsing"
-version = "3.0.7"
-description = "Python parsing module"
+version = "3.0.9"
+description = "pyparsing module - Classes and methods to define and execute parsing grammars"
 category = "main"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.6.8"
 
 [package.extras]
-diagrams = ["jinja2", "railroad-diagrams"]
+diagrams = ["railroad-diagrams", "jinja2"]
 
 [[package]]
 name = "pyrsistent"
@@ -992,6 +1069,15 @@ toml = "*"
 testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
 
 [[package]]
+name = "python-dateutil"
+version = "2.8.2"
+description = "Extensions to the standard Python datetime module"
+category = "main"
+optional = true
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
+
+[package.dependencies]
+six = ">=1.5"
 name = "pytest-mock"
 version = "3.7.0"
 description = "Thin-wrapper around the mock package for easier use with pytest"
@@ -1005,6 +1091,7 @@ pytest = ">=5.0"
 [package.extras]
 dev = ["pre-commit", "tox", "pytest-asyncio"]
 
+
 [[package]]
 name = "pytz"
 version = "2022.1"
@@ -1015,7 +1102,7 @@ python-versions = "*"
 
 [[package]]
 name = "pywin32"
-version = "303"
+version = "304"
 description = "Python for Window Extensions"
 category = "main"
 optional = false
@@ -1039,6 +1126,17 @@ urllib3 = ">=1.21.1,<1.27"
 socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
 use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
 
+[[package]]
+name = "requests-toolbelt"
+version = "0.9.1"
+description = "A utility belt for advanced users of python-requests"
+category = "main"
+optional = true
+python-versions = "*"
+
+[package.dependencies]
+requests = ">=2.0.1,<3.0.0"
+
 [[package]]
 name = "rlp"
 version = "2.0.1"
@@ -1278,16 +1376,33 @@ category = "main"
 optional = false
 python-versions = ">=3.5"
 
+[[package]]
+name = "tqdm"
+version = "4.64.0"
+description = "Fast, Extensible Progress Meter"
+category = "main"
+optional = true
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+
+[package.dependencies]
+colorama = {version = "*", markers = "platform_system == \"Windows\""}
+
+[package.extras]
+dev = ["py-make (>=0.1.0)", "twine", "wheel"]
+notebook = ["ipywidgets (>=6)"]
+slack = ["slack-sdk"]
+telegram = ["requests"]
+
 [[package]]
 name = "traitlets"
-version = "5.1.1"
+version = "5.2.0"
 description = "Traitlets Python configuration system"
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 
 [package.extras]
-test = ["pytest"]
+test = ["pytest", "pre-commit"]
 
 [[package]]
 name = "trie"
@@ -1420,12 +1535,13 @@ docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"]
 testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"]
 
 [extras]
+data = ["tqdm", "pandas", "gql"]
 docs = ["Sphinx", "sphinx-rtd-theme", "sphinx-sitemap", "sphinx-autodoc-typehints"]
 
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.8"
-content-hash = "2bc12fae1873693f03967690afc3191dee029068c35567e8cba7d5cb78bbba3b"
+content-hash = "a4329ac17726b2fd1887c89b2d967f3e9efe3fc7e6b8637b42c8652ceb5f1e3f"
 
 [metadata.files]
 aiohttp = [
@@ -1531,8 +1647,8 @@ attrs = [
     {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"},
 ]
 babel = [
-    {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"},
-    {file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"},
+    {file = "Babel-2.10.1-py3-none-any.whl", hash = "sha256:3f349e85ad3154559ac4930c3918247d319f21910d5ce4b25d439ed8693b98d2"},
+    {file = "Babel-2.10.1.tar.gz", hash = "sha256:98aeaca086133efb3e1e2aad0396987490c8425929ddbcfe0550184fdc54cd13"},
 ]
 backcall = [
     {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"},
@@ -1583,8 +1699,8 @@ charset-normalizer = [
     {file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"},
 ]
 click = [
-    {file = "click-8.1.2-py3-none-any.whl", hash = "sha256:24e1a4a9ec5bf6299411369b208c1df2188d9eb8d916302fe6bf03faed227f1e"},
-    {file = "click-8.1.2.tar.gz", hash = "sha256:479707fe14d9ec9a0757618b7a100a0ae4c4e236fac5b7f80ca68028141a1a72"},
+    {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
+    {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
 ]
 colorama = [
     {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
@@ -1714,6 +1830,14 @@ futureproof = [
     {file = "futureproof-0.3.1-py2.py3-none-any.whl", hash = "sha256:849d664cc201c39eb4503e1aa35d81b437e89e99cf34c3960ed106d7bbf6f154"},
     {file = "futureproof-0.3.1.tar.gz", hash = "sha256:274365159bfd8b7aa39677abfa7b16c8253a771d72d3c3ee9de4a03c8d6d2d9b"},
 ]
+gql = [
+    {file = "gql-3.3.0-py2.py3-none-any.whl", hash = "sha256:77fbc0a47c2df4edb8a98afa8c9c23aead5e0b4ab26d424e2dcfeb3fa2a2319d"},
+    {file = "gql-3.3.0.tar.gz", hash = "sha256:efa405aebe0e7b2fe342b43cfc70fd57e2e385fcae04f79c509366ad48a64381"},
+]
+graphql-core = [
+    {file = "graphql-core-3.2.1.tar.gz", hash = "sha256:9d1bf141427b7d54be944587c8349df791ce60ade2e3cccaf9c56368c133c201"},
+    {file = "graphql_core-3.2.1-py3-none-any.whl", hash = "sha256:f83c658e4968998eed1923a2e3e3eddd347e005ac0315fbb7ca4d70ea9156323"},
+]
 hexbytes = [
     {file = "hexbytes-0.2.2-py3-none-any.whl", hash = "sha256:ef53c37ea9f316fff86fcb1df057b4c6ba454da348083e972031bbf7bc9c3acc"},
     {file = "hexbytes-0.2.2.tar.gz", hash = "sha256:a5881304d186e87578fb263a85317c808cf130e1d4b3d37d30142ab0f7898d03"},
@@ -1730,6 +1854,10 @@ importlib-metadata = [
     {file = "importlib_metadata-4.11.3-py3-none-any.whl", hash = "sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6"},
     {file = "importlib_metadata-4.11.3.tar.gz", hash = "sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"},
 ]
+importlib-resources = [
+    {file = "importlib_resources-5.7.1-py3-none-any.whl", hash = "sha256:e447dc01619b1e951286f3929be820029d48c75eb25d265c28b92a16548212b8"},
+    {file = "importlib_resources-5.7.1.tar.gz", hash = "sha256:b6062987dfc51f0fcb809187cffbd60f35df7acb4589091f154214af6d0d49d3"},
+]
 iniconfig = [
     {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
     {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
@@ -1742,20 +1870,20 @@ ipfshttpclient = [
     {file = "ipfshttpclient-0.8.0a2.tar.gz", hash = "sha256:0d80e95ee60b02c7d414e79bf81a36fc3c8fbab74265475c52f70b2620812135"},
 ]
 ipython = [
-    {file = "ipython-8.2.0-py3-none-any.whl", hash = "sha256:1b672bfd7a48d87ab203d9af8727a3b0174a4566b4091e9447c22fb63ea32857"},
-    {file = "ipython-8.2.0.tar.gz", hash = "sha256:70e5eb132cac594a34b5f799bd252589009905f05104728aea6a403ec2519dc1"},
+    {file = "ipython-8.3.0-py3-none-any.whl", hash = "sha256:341456643a764c28f670409bbd5d2518f9b82c013441084ff2c2fc999698f83b"},
+    {file = "ipython-8.3.0.tar.gz", hash = "sha256:807ae3cf43b84693c9272f70368440a9a7eaa2e7e6882dad943c32fbf7e51402"},
 ]
 jedi = [
     {file = "jedi-0.18.1-py2.py3-none-any.whl", hash = "sha256:637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"},
     {file = "jedi-0.18.1.tar.gz", hash = "sha256:74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab"},
 ]
 jinja2 = [
-    {file = "Jinja2-3.1.1-py3-none-any.whl", hash = "sha256:539835f51a74a69f41b848a9645dbdc35b4f20a3b601e2d9a7e22947b15ff119"},
-    {file = "Jinja2-3.1.1.tar.gz", hash = "sha256:640bed4bb501cbd17194b3cace1dc2126f5b619cf068a726b98192a0fde74ae9"},
+    {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"},
+    {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"},
 ]
 jsonschema = [
-    {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"},
-    {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"},
+    {file = "jsonschema-4.5.1-py3-none-any.whl", hash = "sha256:71b5e39324422543546572954ce71c67728922c104902cb7ce252e522235b33f"},
+    {file = "jsonschema-4.5.1.tar.gz", hash = "sha256:7c6d882619340c3347a1bf7315e147e6d3dae439033ae6383d6acb908c101dfc"},
 ]
 lru-dict = [
     {file = "lru-dict-1.1.7.tar.gz", hash = "sha256:45b81f67d75341d4433abade799a47e9c42a9e22a118531dcb5e549864032d7c"},
@@ -1883,10 +2011,55 @@ netaddr = [
     {file = "netaddr-0.8.0-py2.py3-none-any.whl", hash = "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac"},
     {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"},
 ]
+numpy = [
+    {file = "numpy-1.22.3-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:92bfa69cfbdf7dfc3040978ad09a48091143cffb778ec3b03fa170c494118d75"},
+    {file = "numpy-1.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8251ed96f38b47b4295b1ae51631de7ffa8260b5b087808ef09a39a9d66c97ab"},
+    {file = "numpy-1.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48a3aecd3b997bf452a2dedb11f4e79bc5bfd21a1d4cc760e703c31d57c84b3e"},
+    {file = "numpy-1.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3bae1a2ed00e90b3ba5f7bd0a7c7999b55d609e0c54ceb2b076a25e345fa9f4"},
+    {file = "numpy-1.22.3-cp310-cp310-win32.whl", hash = "sha256:f950f8845b480cffe522913d35567e29dd381b0dc7e4ce6a4a9f9156417d2430"},
+    {file = "numpy-1.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:08d9b008d0156c70dc392bb3ab3abb6e7a711383c3247b410b39962263576cd4"},
+    {file = "numpy-1.22.3-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:201b4d0552831f7250a08d3b38de0d989d6f6e4658b709a02a73c524ccc6ffce"},
+    {file = "numpy-1.22.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8c1f39caad2c896bc0018f699882b345b2a63708008be29b1f355ebf6f933fe"},
+    {file = "numpy-1.22.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:568dfd16224abddafb1cbcce2ff14f522abe037268514dd7e42c6776a1c3f8e5"},
+    {file = "numpy-1.22.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ca688e1b9b95d80250bca34b11a05e389b1420d00e87a0d12dc45f131f704a1"},
+    {file = "numpy-1.22.3-cp38-cp38-win32.whl", hash = "sha256:e7927a589df200c5e23c57970bafbd0cd322459aa7b1ff73b7c2e84d6e3eae62"},
+    {file = "numpy-1.22.3-cp38-cp38-win_amd64.whl", hash = "sha256:07a8c89a04997625236c5ecb7afe35a02af3896c8aa01890a849913a2309c676"},
+    {file = "numpy-1.22.3-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:2c10a93606e0b4b95c9b04b77dc349b398fdfbda382d2a39ba5a822f669a0123"},
+    {file = "numpy-1.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fade0d4f4d292b6f39951b6836d7a3c7ef5b2347f3c420cd9820a1d90d794802"},
+    {file = "numpy-1.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bfb1bb598e8229c2d5d48db1860bcf4311337864ea3efdbe1171fb0c5da515d"},
+    {file = "numpy-1.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97098b95aa4e418529099c26558eeb8486e66bd1e53a6b606d684d0c3616b168"},
+    {file = "numpy-1.22.3-cp39-cp39-win32.whl", hash = "sha256:fdf3c08bce27132395d3c3ba1503cac12e17282358cb4bddc25cc46b0aca07aa"},
+    {file = "numpy-1.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:639b54cdf6aa4f82fe37ebf70401bbb74b8508fddcf4797f9fe59615b8c5813a"},
+    {file = "numpy-1.22.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c34ea7e9d13a70bf2ab64a2532fe149a9aced424cd05a2c4ba662fd989e3e45f"},
+    {file = "numpy-1.22.3.zip", hash = "sha256:dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18"},
+]
 packaging = [
     {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
     {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
 ]
+pandas = [
+    {file = "pandas-1.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:be67c782c4f1b1f24c2f16a157e12c2693fd510f8df18e3287c77f33d124ed07"},
+    {file = "pandas-1.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5a206afa84ed20e07603f50d22b5f0db3fb556486d8c2462d8bc364831a4b417"},
+    {file = "pandas-1.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0010771bd9223f7afe5f051eb47c4a49534345dfa144f2f5470b27189a4dd3b5"},
+    {file = "pandas-1.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3228198333dd13c90b6434ddf61aa6d57deaca98cf7b654f4ad68a2db84f8cfe"},
+    {file = "pandas-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b79af3a69e5175c6fa7b4e046b21a646c8b74e92c6581a9d825687d92071b51"},
+    {file = "pandas-1.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:5586cc95692564b441f4747c47c8a9746792e87b40a4680a2feb7794defb1ce3"},
+    {file = "pandas-1.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:061609334a8182ab500a90fe66d46f6f387de62d3a9cb9aa7e62e3146c712167"},
+    {file = "pandas-1.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b8134651258bce418cb79c71adeff0a44090c98d955f6953168ba16cc285d9f7"},
+    {file = "pandas-1.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:df82739e00bb6daf4bba4479a40f38c718b598a84654cbd8bb498fd6b0aa8c16"},
+    {file = "pandas-1.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:385c52e85aaa8ea6a4c600a9b2821181a51f8be0aee3af6f2dcb41dafc4fc1d0"},
+    {file = "pandas-1.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:295872bf1a09758aba199992c3ecde455f01caf32266d50abc1a073e828a7b9d"},
+    {file = "pandas-1.4.2-cp38-cp38-win32.whl", hash = "sha256:95c1e422ced0199cf4a34385ff124b69412c4bc912011ce895582bee620dfcaa"},
+    {file = "pandas-1.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:5c54ea4ef3823108cd4ec7fb27ccba4c3a775e0f83e39c5e17f5094cb17748bc"},
+    {file = "pandas-1.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c072c7f06b9242c855ed8021ff970c0e8f8b10b35e2640c657d2a541c5950f59"},
+    {file = "pandas-1.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f549097993744ff8c41b5e8f2f0d3cbfaabe89b4ae32c8c08ead6cc535b80139"},
+    {file = "pandas-1.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff08a14ef21d94cdf18eef7c569d66f2e24e0bc89350bcd7d243dd804e3b5eb2"},
+    {file = "pandas-1.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c5bf555b6b0075294b73965adaafb39cf71c312e38c5935c93d78f41c19828a"},
+    {file = "pandas-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51649ef604a945f781105a6d2ecf88db7da0f4868ac5d45c51cb66081c4d9c73"},
+    {file = "pandas-1.4.2-cp39-cp39-win32.whl", hash = "sha256:d0d4f13e4be7ce89d7057a786023c461dd9370040bdb5efa0a7fe76b556867a0"},
+    {file = "pandas-1.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:09d8be7dd9e1c4c98224c4dfe8abd60d145d934e9fc1f5f411266308ae683e6a"},
+    {file = "pandas-1.4.2.tar.gz", hash = "sha256:92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12"},
+]
 parsimonious = [
     {file = "parsimonious-0.8.1.tar.gz", hash = "sha256:3add338892d580e0cb3b1a39e4a1b427ff9f687858fdd61097053742391a9f6b"},
 ]
@@ -1907,8 +2080,8 @@ pickleshare = [
     {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"},
 ]
 platformdirs = [
-    {file = "platformdirs-2.5.1-py3-none-any.whl", hash = "sha256:bcae7cab893c2d310a711b70b24efb93334febe65f8de776ee320b517471e227"},
-    {file = "platformdirs-2.5.1.tar.gz", hash = "sha256:7535e70dfa32e84d4b34996ea99c5e432fa29a708d0f4e394bbcb2a8faa4f16d"},
+    {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"},
+    {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"},
 ]
 pluggy = [
     {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
@@ -1919,30 +2092,30 @@ prompt-toolkit = [
     {file = "prompt_toolkit-3.0.29.tar.gz", hash = "sha256:bd640f60e8cecd74f0dc249713d433ace2ddc62b65ee07f96d358e0b152b6ea7"},
 ]
 protobuf = [
-    {file = "protobuf-3.20.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9d0f3aca8ca51c8b5e204ab92bd8afdb2a8e3df46bd0ce0bd39065d79aabcaa4"},
-    {file = "protobuf-3.20.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:001c2160c03b6349c04de39cf1a58e342750da3632f6978a1634a3dcca1ec10e"},
-    {file = "protobuf-3.20.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5b5860b790498f233cdc8d635a17fc08de62e59d4dcd8cdb6c6c0d38a31edf2b"},
-    {file = "protobuf-3.20.0-cp310-cp310-win32.whl", hash = "sha256:0b250c60256c8824219352dc2a228a6b49987e5bf94d3ffcf4c46585efcbd499"},
-    {file = "protobuf-3.20.0-cp310-cp310-win_amd64.whl", hash = "sha256:a1eebb6eb0653e594cb86cd8e536b9b083373fca9aba761ade6cd412d46fb2ab"},
-    {file = "protobuf-3.20.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:bc14037281db66aa60856cd4ce4541a942040686d290e3f3224dd3978f88f554"},
-    {file = "protobuf-3.20.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:47257d932de14a7b6c4ae1b7dbf592388153ee35ec7cae216b87ae6490ed39a3"},
-    {file = "protobuf-3.20.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:fbcbb068ebe67c4ff6483d2e2aa87079c325f8470b24b098d6bf7d4d21d57a69"},
-    {file = "protobuf-3.20.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:542f25a4adf3691a306dcc00bf9a73176554938ec9b98f20f929a044f80acf1b"},
-    {file = "protobuf-3.20.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:fd7133b885e356fa4920ead8289bb45dc6f185a164e99e10279f33732ed5ce15"},
-    {file = "protobuf-3.20.0-cp37-cp37m-win32.whl", hash = "sha256:8d84453422312f8275455d1cb52d850d6a4d7d714b784e41b573c6f5bfc2a029"},
-    {file = "protobuf-3.20.0-cp37-cp37m-win_amd64.whl", hash = "sha256:52bae32a147c375522ce09bd6af4d2949aca32a0415bc62df1456b3ad17c6001"},
-    {file = "protobuf-3.20.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25d2fcd6eef340082718ec9ad2c58d734429f2b1f7335d989523852f2bba220b"},
-    {file = "protobuf-3.20.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:88c8be0558bdfc35e68c42ae5bf785eb9390d25915d4863bbc7583d23da77074"},
-    {file = "protobuf-3.20.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:38fd9eb74b852e4ee14b16e9670cd401d147ee3f3ec0d4f7652e0c921d6227f8"},
-    {file = "protobuf-3.20.0-cp38-cp38-win32.whl", hash = "sha256:7dcd84dc31ebb35ade755e06d1561d1bd3b85e85dbdbf6278011fc97b22810db"},
-    {file = "protobuf-3.20.0-cp38-cp38-win_amd64.whl", hash = "sha256:1eb13f5a5a59ca4973bcfa2fc8fff644bd39f2109c3f7a60bd5860cb6a49b679"},
-    {file = "protobuf-3.20.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d24c81c2310f0063b8fc1c20c8ed01f3331be9374b4b5c2de846f69e11e21fb"},
-    {file = "protobuf-3.20.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8be43a91ab66fe995e85ccdbdd1046d9f0443d59e060c0840319290de25b7d33"},
-    {file = "protobuf-3.20.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7a53d4035427b9dbfbb397f46642754d294f131e93c661d056366f2a31438263"},
-    {file = "protobuf-3.20.0-cp39-cp39-win32.whl", hash = "sha256:32bf4a90c207a0b4e70ca6dd09d43de3cb9898f7d5b69c2e9e3b966a7f342820"},
-    {file = "protobuf-3.20.0-cp39-cp39-win_amd64.whl", hash = "sha256:6efe066a7135233f97ce51a1aa007d4fb0be28ef093b4f88dac4ad1b3a2b7b6f"},
-    {file = "protobuf-3.20.0-py2.py3-none-any.whl", hash = "sha256:4eda68bd9e2a4879385e6b1ea528c976f59cd9728382005cc54c28bcce8db983"},
-    {file = "protobuf-3.20.0.tar.gz", hash = "sha256:71b2c3d1cd26ed1ec7c8196834143258b2ad7f444efff26fdc366c6f5e752702"},
+    {file = "protobuf-3.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3cc797c9d15d7689ed507b165cd05913acb992d78b379f6014e013f9ecb20996"},
+    {file = "protobuf-3.20.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:ff8d8fa42675249bb456f5db06c00de6c2f4c27a065955917b28c4f15978b9c3"},
+    {file = "protobuf-3.20.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cd68be2559e2a3b84f517fb029ee611546f7812b1fdd0aa2ecc9bc6ec0e4fdde"},
+    {file = "protobuf-3.20.1-cp310-cp310-win32.whl", hash = "sha256:9016d01c91e8e625141d24ec1b20fed584703e527d28512aa8c8707f105a683c"},
+    {file = "protobuf-3.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:32ca378605b41fd180dfe4e14d3226386d8d1b002ab31c969c366549e66a2bb7"},
+    {file = "protobuf-3.20.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9be73ad47579abc26c12024239d3540e6b765182a91dbc88e23658ab71767153"},
+    {file = "protobuf-3.20.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:097c5d8a9808302fb0da7e20edf0b8d4703274d140fd25c5edabddcde43e081f"},
+    {file = "protobuf-3.20.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e250a42f15bf9d5b09fe1b293bdba2801cd520a9f5ea2d7fb7536d4441811d20"},
+    {file = "protobuf-3.20.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cdee09140e1cd184ba9324ec1df410e7147242b94b5f8b0c64fc89e38a8ba531"},
+    {file = "protobuf-3.20.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:af0ebadc74e281a517141daad9d0f2c5d93ab78e9d455113719a45a49da9db4e"},
+    {file = "protobuf-3.20.1-cp37-cp37m-win32.whl", hash = "sha256:755f3aee41354ae395e104d62119cb223339a8f3276a0cd009ffabfcdd46bb0c"},
+    {file = "protobuf-3.20.1-cp37-cp37m-win_amd64.whl", hash = "sha256:62f1b5c4cd6c5402b4e2d63804ba49a327e0c386c99b1675c8a0fefda23b2067"},
+    {file = "protobuf-3.20.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:06059eb6953ff01e56a25cd02cca1a9649a75a7e65397b5b9b4e929ed71d10cf"},
+    {file = "protobuf-3.20.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:cb29edb9eab15742d791e1025dd7b6a8f6fcb53802ad2f6e3adcb102051063ab"},
+    {file = "protobuf-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:69ccfdf3657ba59569c64295b7d51325f91af586f8d5793b734260dfe2e94e2c"},
+    {file = "protobuf-3.20.1-cp38-cp38-win32.whl", hash = "sha256:dd5789b2948ca702c17027c84c2accb552fc30f4622a98ab5c51fcfe8c50d3e7"},
+    {file = "protobuf-3.20.1-cp38-cp38-win_amd64.whl", hash = "sha256:77053d28427a29987ca9caf7b72ccafee011257561259faba8dd308fda9a8739"},
+    {file = "protobuf-3.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f50601512a3d23625d8a85b1638d914a0970f17920ff39cec63aaef80a93fb7"},
+    {file = "protobuf-3.20.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:284f86a6207c897542d7e956eb243a36bb8f9564c1742b253462386e96c6b78f"},
+    {file = "protobuf-3.20.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7403941f6d0992d40161aa8bb23e12575637008a5a02283a930addc0508982f9"},
+    {file = "protobuf-3.20.1-cp39-cp39-win32.whl", hash = "sha256:db977c4ca738dd9ce508557d4fce0f5aebd105e158c725beec86feb1f6bc20d8"},
+    {file = "protobuf-3.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:7e371f10abe57cee5021797126c93479f59fccc9693dafd6bd5633ab67808a91"},
+    {file = "protobuf-3.20.1-py2.py3-none-any.whl", hash = "sha256:adfc6cf69c7f8c50fd24c793964eef18f0ac321315439d94945820612849c388"},
+    {file = "protobuf-3.20.1.tar.gz", hash = "sha256:adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9"},
 ]
 psutil = [
     {file = "psutil-5.9.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:55ce319452e3d139e25d6c3f85a1acf12d1607ddedea5e35fb47a552c051161b"},
@@ -2046,12 +2219,12 @@ pyflakes = [
     {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"},
 ]
 pygments = [
-    {file = "Pygments-2.11.2-py3-none-any.whl", hash = "sha256:44238f1b60a76d78fc8ca0528ee429702aae011c265fe6a8dd8b63049ae41c65"},
-    {file = "Pygments-2.11.2.tar.gz", hash = "sha256:4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"},
+    {file = "Pygments-2.12.0-py3-none-any.whl", hash = "sha256:dc9c10fb40944260f6ed4c688ece0cd2048414940f1cea51b8b226318411c519"},
+    {file = "Pygments-2.12.0.tar.gz", hash = "sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb"},
 ]
 pyparsing = [
-    {file = "pyparsing-3.0.7-py3-none-any.whl", hash = "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484"},
-    {file = "pyparsing-3.0.7.tar.gz", hash = "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea"},
+    {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"},
+    {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"},
 ]
 pyrsistent = [
     {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"},
@@ -2103,32 +2276,39 @@ pytest = [
     {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
     {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"},
 ]
-pytest-mock = [
-    {file = "pytest-mock-3.7.0.tar.gz", hash = "sha256:5112bd92cc9f186ee96e1a92efc84969ea494939c3aead39c50f421c4cc69534"},
-    {file = "pytest_mock-3.7.0-py3-none-any.whl", hash = "sha256:6cff27cec936bf81dc5ee87f07132b807bcda51106b5ec4b90a04331cba76231"},
-]
+
+python-dateutil = [
+    {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
+    {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
+
 pytz = [
     {file = "pytz-2022.1-py2.py3-none-any.whl", hash = "sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c"},
     {file = "pytz-2022.1.tar.gz", hash = "sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7"},
 ]
 pywin32 = [
-    {file = "pywin32-303-cp310-cp310-win32.whl", hash = "sha256:6fed4af057039f309263fd3285d7b8042d41507343cd5fa781d98fcc5b90e8bb"},
-    {file = "pywin32-303-cp310-cp310-win_amd64.whl", hash = "sha256:51cb52c5ec6709f96c3f26e7795b0bf169ee0d8395b2c1d7eb2c029a5008ed51"},
-    {file = "pywin32-303-cp311-cp311-win32.whl", hash = "sha256:d9b5d87ca944eb3aa4cd45516203ead4b37ab06b8b777c54aedc35975dec0dee"},
-    {file = "pywin32-303-cp311-cp311-win_amd64.whl", hash = "sha256:fcf44032f5b14fcda86028cdf49b6ebdaea091230eb0a757282aa656e4732439"},
-    {file = "pywin32-303-cp36-cp36m-win32.whl", hash = "sha256:aad484d52ec58008ca36bd4ad14a71d7dd0a99db1a4ca71072213f63bf49c7d9"},
-    {file = "pywin32-303-cp36-cp36m-win_amd64.whl", hash = "sha256:2a09632916b6bb231ba49983fe989f2f625cea237219530e81a69239cd0c4559"},
-    {file = "pywin32-303-cp37-cp37m-win32.whl", hash = "sha256:b1675d82bcf6dbc96363fca747bac8bff6f6e4a447a4287ac652aa4b9adc796e"},
-    {file = "pywin32-303-cp37-cp37m-win_amd64.whl", hash = "sha256:c268040769b48a13367221fced6d4232ed52f044ffafeda247bd9d2c6bdc29ca"},
-    {file = "pywin32-303-cp38-cp38-win32.whl", hash = "sha256:5f9ec054f5a46a0f4dfd72af2ce1372f3d5a6e4052af20b858aa7df2df7d355b"},
-    {file = "pywin32-303-cp38-cp38-win_amd64.whl", hash = "sha256:793bf74fce164bcffd9d57bb13c2c15d56e43c9542a7b9687b4fccf8f8a41aba"},
-    {file = "pywin32-303-cp39-cp39-win32.whl", hash = "sha256:7d3271c98434617a11921c5ccf74615794d97b079e22ed7773790822735cc352"},
-    {file = "pywin32-303-cp39-cp39-win_amd64.whl", hash = "sha256:79cbb862c11b9af19bcb682891c1b91942ec2ff7de8151e2aea2e175899cda34"},
+    {file = "pywin32-304-cp310-cp310-win32.whl", hash = "sha256:3c7bacf5e24298c86314f03fa20e16558a4e4138fc34615d7de4070c23e65af3"},
+    {file = "pywin32-304-cp310-cp310-win_amd64.whl", hash = "sha256:4f32145913a2447736dad62495199a8e280a77a0ca662daa2332acf849f0be48"},
+    {file = "pywin32-304-cp310-cp310-win_arm64.whl", hash = "sha256:d3ee45adff48e0551d1aa60d2ec066fec006083b791f5c3527c40cd8aefac71f"},
+    {file = "pywin32-304-cp311-cp311-win32.whl", hash = "sha256:30c53d6ce44c12a316a06c153ea74152d3b1342610f1b99d40ba2795e5af0269"},
+    {file = "pywin32-304-cp311-cp311-win_amd64.whl", hash = "sha256:7ffa0c0fa4ae4077e8b8aa73800540ef8c24530057768c3ac57c609f99a14fd4"},
+    {file = "pywin32-304-cp311-cp311-win_arm64.whl", hash = "sha256:cbbe34dad39bdbaa2889a424d28752f1b4971939b14b1bb48cbf0182a3bcfc43"},
+    {file = "pywin32-304-cp36-cp36m-win32.whl", hash = "sha256:be253e7b14bc601718f014d2832e4c18a5b023cbe72db826da63df76b77507a1"},
+    {file = "pywin32-304-cp36-cp36m-win_amd64.whl", hash = "sha256:de9827c23321dcf43d2f288f09f3b6d772fee11e809015bdae9e69fe13213988"},
+    {file = "pywin32-304-cp37-cp37m-win32.whl", hash = "sha256:f64c0377cf01b61bd5e76c25e1480ca8ab3b73f0c4add50538d332afdf8f69c5"},
+    {file = "pywin32-304-cp37-cp37m-win_amd64.whl", hash = "sha256:bb2ea2aa81e96eee6a6b79d87e1d1648d3f8b87f9a64499e0b92b30d141e76df"},
+    {file = "pywin32-304-cp38-cp38-win32.whl", hash = "sha256:94037b5259701988954931333aafd39cf897e990852115656b014ce72e052e96"},
+    {file = "pywin32-304-cp38-cp38-win_amd64.whl", hash = "sha256:ead865a2e179b30fb717831f73cf4373401fc62fbc3455a0889a7ddac848f83e"},
+    {file = "pywin32-304-cp39-cp39-win32.whl", hash = "sha256:25746d841201fd9f96b648a248f731c1dec851c9a08b8e33da8b56148e4c65cc"},
+    {file = "pywin32-304-cp39-cp39-win_amd64.whl", hash = "sha256:d24a3382f013b21aa24a5cfbfad5a2cd9926610c0affde3e8ab5b3d7dbcf4ac9"},
 ]
 requests = [
     {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"},
     {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"},
 ]
+requests-toolbelt = [
+    {file = "requests-toolbelt-0.9.1.tar.gz", hash = "sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0"},
+    {file = "requests_toolbelt-0.9.1-py2.py3-none-any.whl", hash = "sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f"},
+]
 rlp = [
     {file = "rlp-2.0.1-py2.py3-none-any.whl", hash = "sha256:52a57c9f53f03c88b189283734b397314288250cc4a3c4113e9e36e2ac6bdd16"},
     {file = "rlp-2.0.1.tar.gz", hash = "sha256:665e8312750b3fc5f7002e656d05b9dcb6e93b6063df40d95c49ad90c19d1f0e"},
@@ -2204,9 +2384,13 @@ toolz = [
     {file = "toolz-0.11.2-py3-none-any.whl", hash = "sha256:a5700ce83414c64514d82d60bcda8aabfde092d1c1a8663f9200c07fdcc6da8f"},
     {file = "toolz-0.11.2.tar.gz", hash = "sha256:6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33"},
 ]
+tqdm = [
+    {file = "tqdm-4.64.0-py2.py3-none-any.whl", hash = "sha256:74a2cdefe14d11442cedf3ba4e21a3b84ff9a2dbdc6cfae2c34addb2a14a5ea6"},
+    {file = "tqdm-4.64.0.tar.gz", hash = "sha256:40be55d30e200777a307a7585aee69e4eabb46b4ec6a4b4a5f2d9f11e7d5408d"},
+]
 traitlets = [
-    {file = "traitlets-5.1.1-py3-none-any.whl", hash = "sha256:2d313cc50a42cd6c277e7d7dc8d4d7fedd06a2c215f78766ae7b1a66277e0033"},
-    {file = "traitlets-5.1.1.tar.gz", hash = "sha256:059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7"},
+    {file = "traitlets-5.2.0-py3-none-any.whl", hash = "sha256:9dd4025123fbe018a2092b2ad6984792f53ea3362c698f37473258b1fa97b0bc"},
+    {file = "traitlets-5.2.0.tar.gz", hash = "sha256:60474f39bf1d39a11e0233090b99af3acee93bbc2281777e61dd8c87da8a0014"},
 ]
 trie = [
     {file = "trie-2.0.0a5-py3-none-any.whl", hash = "sha256:a10a5065175b7f08f1e20b7c246b32716eedfcf29e599503af66592eae40cabc"},
@@ -2281,8 +2465,9 @@ wcwidth = [
     {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
 ]
 web3 = [
-    {file = "web3-5.29.2-py3-none-any.whl", hash = "sha256:57d64f3bfe1eced1fc48629916bd6679844d26d9186f7cfb140e9c5e75864147"},
-    {file = "web3-5.29.2.tar.gz", hash = "sha256:f37b01f3dc32010b176cef01c2107bc25b7cf94b63c3269d4ec52d7e5ded9a36"},
+    {file = "web3-5.29.1-py3-none-any.whl", hash = "sha256:41930f4c48dc730d74c9d8b2d7c0701bce9598dc9e970dc1ce7a9b3fbd21546a"},
+    {file = "web3-5.29.1.tar.gz", hash = "sha256:14d0c4ef5d693b6cc9a36ad4ff31201add8ef1f4c1cdb920f7ce07f81841e6bc"},
+
 ]
 websockets = [
     {file = "websockets-9.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d144b350045c53c8ff09aa1cfa955012dd32f00c7e0862c199edcabb1a8b32da"},
diff --git a/pyproject.toml b/pyproject.toml
index 860c95a5..3bbbba25 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -23,6 +23,9 @@ psutil = "^5.9.0"
 eth-bloom = "^1.0.4"
 ujson = "^5.2.0"
 futureproof = "^0.3.1"
+tqdm = {version = "^4.64.0", optional = true}
+pandas = {version = "^1.4.2", optional = true}
+gql = {extras = ["requests"], version = "^3.3.0", optional = true}
 
 [tool.poetry.dev-dependencies]
 pytest = "^6.2.5"
@@ -36,6 +39,7 @@ flake8 = "^4.0.1"
 # See discussion https://github.com/python-poetry/poetry/issues/3348#issuecomment-726534462
 [tool.poetry.extras]
 docs = ["Sphinx", "sphinx-rtd-theme", "sphinx-sitemap", "sphinx-autodoc-typehints"]
+data = ["tqdm", "pandas", "gql"]
 
 [build-system]
 requires = ["poetry-core>=1.0.0"]
diff --git a/tox.ini b/tox.ini
index 558c3811..8fdba3f2 100644
--- a/tox.ini
+++ b/tox.ini
@@ -7,4 +7,5 @@ exclude =
     contracts
 ignore =
     W503  # break before binary operator
-    E501  # line too long
\ No newline at end of file
+    E501  # line too long
+    E203  # whitespace before :


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 1b3ec742..d97326d8 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -21,7 +21,7 @@ jobs:
       - name: Install dependencies
         run: |
           poetry env use '3.9'
-          poetry install
+          poetry install -E data
       - name: Install Ganache
         run: yarn global add ganache
       - name: Run test scripts
diff --git a/tests/manual_test_uniswap_v3_liquidity.py b/tests/manual_test_uniswap_v3_liquidity.py
new file mode 100644
index 00000000..335cabe3
--- /dev/null
+++ b/tests/manual_test_uniswap_v3_liquidity.py
@@ -0,0 +1,9 @@
+from eth_defi.uniswap_v3.liquidity import estimate_liquidity_depth
+
+for pool_address in [
+    # USDC / ETH
+    # "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8",
+    # MKR / ETH
+    "0xe8c6c9227491c0a8156a0106a0204d881bb7e531",
+]:
+    estimate_liquidity_depth(pool_address, 14722452, verbose=True)
diff --git a/tests/manual_uniswapv3_data.py b/tests/manual_uniswapv3_data.py
new file mode 100644
index 00000000..99c8250e
--- /dev/null
+++ b/tests/manual_uniswapv3_data.py
@@ -0,0 +1,13 @@
+"""A sample script to fetch Uniswap v3 data."""
+import os
+
+from eth_defi.uniswap_v3.events import fetch_events_to_csv
+from eth_defi.uniswap_v3.liquidity import create_tick_csv, create_tick_delta_csv
+
+json_rpc_url = os.environ["JSON_RPC_URL"]
+
+fetch_events_to_csv(json_rpc_url, output_folder=".")
+
+tick_delta_csv = create_tick_delta_csv("./uniswapv3-Mint.csv", "./uniswapv3-Burn.csv", ".")
+
+create_tick_csv("./uniswapv3-tickdeltas.csv", ".")
diff --git a/tests/uniswap_v3/test_liquidity.py b/tests/uniswap_v3/test_liquidity.py
new file mode 100644
index 00000000..c595320d
--- /dev/null
+++ b/tests/uniswap_v3/test_liquidity.py
@@ -0,0 +1,16 @@
+"""Test Uniswap v3 liquidity."""
+import pytest
+
+from eth_defi.uniswap_v3.liquidity import estimate_liquidity_depth_at_block
+
+
+def test_liquidity_depth_at_block():
+    # MKR/ETH 0.3%
+    pool_address = "0xe8c6c9227491c0a8156a0106a0204d881bb7e531"
+    depths = estimate_liquidity_depth_at_block(pool_address, 14722452)
+
+    assert len(depths) == 12
+    assert len(depths[0]) == 3
+    assert depths[0][0] == -5
+    assert depths[0][2] == pytest.approx(18.789228638418738)
+    assert depths[-1][0] == 5