{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Strategic users in EIP 1559\n", "\n", "###### September 2020, [@barnabemonnot](https://twitter.com/barnabemonnot)\n", "###### [Robust Incentives Group](https://github.com/ethereum/rig), Ethereum Foundation\n", "\n", "---\n", "\n", "In our [previous notebook](https://github.com/barnabemonnot/abm1559/blob/master/notebooks/stationary1559.ipynb), we simulated users interacting with the EIP 1559 transaction fee market mechanism for inclusion. Our users were strategic to some extent: they observed the prevailing basefee, evaluated their values and costs and decided whether to send a transaction or not. We saw that once the system reaches stationarity, users who aren't deterred by the basefee can expect next-block inclusion.\n", "\n", "We made one big assumption there, which is that users respect the commonly stated heuristic of setting their premiums (in general, what the miner receives from the transaction) at a fixed value compensating the miner for the extra work of including one extra transaction. In this notebook, we relax this assumption and look at what happens when users bid strategically, trying to outcompete each other in transitionary periods, before the basefee settles.\n", "\n", "Firstly, let's load up a few classes from our [`abm1559`](https://github.com/barnabemonnot/abm1559) library." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os, sys\n", "sys.path.insert(1, os.path.realpath(os.path.pardir))\n", "# You may remove the two lines above if you have installed abm1559 from pypi\n", "\n", "from abm1559.utils import constants\n", "\n", "from abm1559.txpool import TxPool\n", "\n", "from abm1559.users import User1559\n", "\n", "from abm1559.userpool import UserPool\n", "\n", "from abm1559.chain import (\n", " Chain,\n", " Block1559,\n", ")\n", "\n", "from abm1559.simulator import (\n", " spawn_poisson_heterogeneous_demand,\n", " update_basefee,\n", ")\n", "\n", "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introducing strategic users\n", "\n", "Our previous simulation only featured one type of users, `User1559`. Users received some random value (in Gwei, per gas unit) for transaction inclusion and costs (in Gwei, per gas and time unit) for waiting.\n", "\n", "For instance, Alice has 15 Gwei/gas value for inclusion, and cost 0.5 Gwei/gas/block. If Alice waits for 5 blocks to be included, her payoff for each gas unit she obtains is 15 - 5 * 0.5 = 12.5. To this, we subtract the fee Alice must pay for inclusion, or _gas price_. Assuming the basefee currently sits at 10 Gwei/gas and Alice set her premium at 1 Gwei/gas, her total gas price is 11 Gwei/gas. Her final payoff is then 12.5 - 11 = 1.5 Gwei/gas. In other words:\n", "\n", "$$ \\texttt{payoff} = \\texttt{value} - \\texttt{cost from waiting} - \\texttt{transaction fee} $$\n", "\n", "Users estimate their final payoff by estimating how long they will wait for inclusion. Our default `User1559` estimates a fixed waiting time of 5 blocks. Let's go ahead and change that to 1 block, as we have done with the `OptimisticUser` in the previous notebook." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "class OptimisticUser(User1559):\n", " def expected_time(self, params):\n", " return 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`OptimisticUser`s expect a small waiting time, but still set their premium to a fixed value. Can a strategic user do better? Let's find out!\n", "\n", "We'll subclass our `User1559` again to define the strategic user." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "class StrategicUser(User1559):\n", " \"\"\"\n", " A strategic affine user sending 1559 transactions.\n", " \n", " - Expects to be included in the next block\n", " - Prefers not to participate if its expected payoff is negative\n", " - Strategic gas_premium\n", " \"\"\"\n", " \n", " epsilon = 0.1 # how much the user overbids by\n", "\n", " def expected_time(self, params):\n", " return 1\n", "\n", " def decide_parameters(self, params):\n", " if params[\"min_premium\"] is None:\n", " min_premium = 1 * (10 ** 9)\n", " else:\n", " min_premium = params[\"min_premium\"]\n", "\n", " gas_premium = min_premium + self.epsilon * (10 ** 9)\n", " max_fee = self.value\n", "\n", " return {\n", " \"max_fee\": max_fee, # in wei\n", " \"gas_premium\": gas_premium, # in wei\n", " \"start_block\": self.wakeup_block,\n", " }\n", "\n", " def export(self):\n", " return {\n", " **super().export(),\n", " \"user_type\": \"strategic_user_1559\",\n", " }\n", "\n", " def __str__(self):\n", " return f\"1559 strategic affine user with value {self.value} and cost {self.cost_per_unit}\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As our `OptimisticUser` does, `StrategicUser` expects next-block inclusion. We also change `decide_parameters`: the strategic user sets its premium to _the minimum premium seen in the previous block_, plus 0.1 Gwei. Strategic users are trying to outbid the cheapest user (from the miner's point of view) who was included in the previous block.\n", "\n", "Users attach premiums to their transactions as well as fee caps. The fee cap is an instruction to not charge a gas price greater than the cap, whatever happens with the basefee, and protects users from accidental overbidding. Miners receive either the whole premium or the slack between current basefee and feecap, whichever is lower. We call this the _tip_.\n", "\n", "$$ \\texttt{tip} = \\min(\\texttt{fee cap} - \\texttt{basefee}, \\texttt{gas premium}) $$\n", "\n", "We set the fee cap of strategic users like we set it for non-strategic ones: since users receive at most their value from getting included, they set their cap to their value.\n", "\n", "### Mixed simulations\n", "\n", "We'll now put `OptimisticUser`s against `StrategicUser`s. We modify the `simulate` function we used previously to specify at each simulation step how much of each type we expect to spawn. These are the simulation steps:\n", "\n", "1. We sample from a Poisson distribution to obtain the number of new users spawning between two blocks.\n", "2. We spawn optimistic and strategic users according to the shares specified by `shares_scenario`.\n", "3. Each user decides whether to transact or not (`decide_transactions`).\n", "4. Transactions are added to the transaction pool.\n", "5. The miner decides on a set of transactions to include, ranking transactions according to their tips, with higher tips at the top of the list.\n", "6. A block is created and added to the chain.\n", "7. Basefee is updated.\n", "8. Repeat." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def simulate(demand_scenario, shares_scenario):\n", " # Instantiate a couple of things\n", " txpool = TxPool()\n", " basefee = constants[\"INITIAL_BASEFEE\"]\n", " chain = Chain()\n", " metrics = []\n", " user_pool = UserPool()\n", " min_premium = 1 * (10 ** 9)\n", "\n", " for t in range(len(demand_scenario)):\n", " \n", " # `params` are the \"environment\" of the simulation\n", " params = {\n", " \"basefee\": basefee,\n", " \"current_block\": t,\n", " \"min_premium\": min_premium,\n", " }\n", " \n", " # We return some demand which on expectation yields demand_scenario[t] new users per round\n", " users = spawn_poisson_heterogeneous_demand(t, demand_scenario[t], shares_scenario[t])\n", " \n", " # Add users to the pool and check who wants to transact\n", " # We query each new user with the current basefee value\n", " # Users either return a transaction or None if they prefer to balk\n", " decided_txs = user_pool.decide_transactions(users, params)\n", "\n", " # New transactions are added to the transaction pool\n", " txpool.add_txs(decided_txs)\n", "\n", " # The best valid transactions are taken out of the pool for inclusion\n", " selected_txs = txpool.select_transactions(params)\n", " txpool.remove_txs([tx.tx_hash for tx in selected_txs])\n", "\n", " # We create a block with these transactions\n", " block = Block1559(txs = selected_txs, parent_hash = chain.current_head, height = t, basefee = basefee)\n", "\n", " # Record the min premium in the block\n", " min_premium = block.min_premium()\n", " \n", " # The block is added to the chain\n", " chain.add_block(block)\n", " \n", " # A couple of metrics we will use to monitor the simulation\n", " pool_strat_users = len(\n", " [tx for tx in txpool.txs.values() if type(user_pool.users[tx.sender]) == StrategicUser])\n", " pool_nonstrat_users = len(\n", " [tx for tx in txpool.txs.values() if type(user_pool.users[tx.sender]) == OptimisticUser])\n", "\n", " row_metrics = {\n", " \"block\": t,\n", " \"basefee\": basefee / (10 ** 9),\n", " \"users\": len(users),\n", " \"strategic\": len([user for user in users if type(user) == StrategicUser]),\n", " \"nonstategic\": len([user for user in users if type(user) == OptimisticUser]),\n", " \"decided_txs\": len(decided_txs),\n", " \"included_txs\": len(selected_txs),\n", " \"blk_min_premium\": block.min_premium() / (10 ** 9), # to Gwei\n", " \"blk_avg_gas_price\": block.average_gas_price(),\n", " \"blk_avg_tip\": block.average_tip(),\n", " \"pool_length\": txpool.pool_length,\n", " \"pool_strat_users\": pool_strat_users,\n", " \"pool_nonstrat_users\": pool_nonstrat_users,\n", " }\n", " metrics.append(row_metrics)\n", "\n", " # Finally, basefee is updated and a new round starts\n", " basefee = update_basefee(block, basefee)\n", "\n", " return (pd.DataFrame(metrics), user_pool, chain)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll start with a simulation for 200 blocks. We set equal shares of strategic and non-strategic users, with on average a total of 2500 users spawning each round. Remember that our blocks can accommodate at most 952 users, but target inclusion of about half of this number, i.e., 475 of them. There is plenty of space then for strategic users (on average 1250 of them each round) to grab all the available space." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "blocks = 100\n", "demand_scenario = [2500 for i in range(blocks)]\n", "\n", "strategic_share = 0.5\n", "shares_scenario = [{\n", " StrategicUser: strategic_share,\n", " OptimisticUser: 1 - strategic_share,\n", "} for i in range(blocks)]\n", "\n", "(df, user_pool, chain) = simulate(demand_scenario, shares_scenario)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What does `df` reveal?" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
blockbasefeeusersstrategicnonstategicdecided_txsincluded_txsblk_min_premiumblk_avg_gas_priceblk_avg_tippool_lengthpool_strat_userspool_nonstrat_users
001.00000025421271127122309521.12.1000001.10000012781621116
111.12490024841242124221539521.22.3249001.20000024792782201
221.26540025191259126021529521.32.5654001.30000036793943285
331.42344826171308130921989521.42.8234481.40000049255294396
441.60123724941247124720799521.53.1012371.50000060526085444
..........................................
959514.6429032486124312434574571.015.6936691.0507661074712310624
969614.5691402479123912404744741.015.6197731.0506331074712310624
979714.5607632452122612264554551.015.6088941.0481321074712310624
989814.4797682426121312134944941.015.5277441.0479761074712310624
999914.5474612474123712375065061.015.5968681.0494071074712310624
\n", "

100 rows × 13 columns

\n", "
" ], "text/plain": [ " block basefee users strategic nonstategic decided_txs \\\n", "0 0 1.000000 2542 1271 1271 2230 \n", "1 1 1.124900 2484 1242 1242 2153 \n", "2 2 1.265400 2519 1259 1260 2152 \n", "3 3 1.423448 2617 1308 1309 2198 \n", "4 4 1.601237 2494 1247 1247 2079 \n", ".. ... ... ... ... ... ... \n", "95 95 14.642903 2486 1243 1243 457 \n", "96 96 14.569140 2479 1239 1240 474 \n", "97 97 14.560763 2452 1226 1226 455 \n", "98 98 14.479768 2426 1213 1213 494 \n", "99 99 14.547461 2474 1237 1237 506 \n", "\n", " included_txs blk_min_premium blk_avg_gas_price blk_avg_tip \\\n", "0 952 1.1 2.100000 1.100000 \n", "1 952 1.2 2.324900 1.200000 \n", "2 952 1.3 2.565400 1.300000 \n", "3 952 1.4 2.823448 1.400000 \n", "4 952 1.5 3.101237 1.500000 \n", ".. ... ... ... ... \n", "95 457 1.0 15.693669 1.050766 \n", "96 474 1.0 15.619773 1.050633 \n", "97 455 1.0 15.608894 1.048132 \n", "98 494 1.0 15.527744 1.047976 \n", "99 506 1.0 15.596868 1.049407 \n", "\n", " pool_length pool_strat_users pool_nonstrat_users \n", "0 1278 162 1116 \n", "1 2479 278 2201 \n", "2 3679 394 3285 \n", "3 4925 529 4396 \n", "4 6052 608 5444 \n", ".. ... ... ... \n", "95 10747 123 10624 \n", "96 10747 123 10624 \n", "97 10747 123 10624 \n", "98 10747 123 10624 \n", "99 10747 123 10624 \n", "\n", "[100 rows x 13 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see on average 2500 `users`, with half of them `strategic` and the other half `nonstrategic`. Many decide to transact in the first few rounds, more than are eventually included (`decided_txs` > `included_txs`). The pool length, i.e., how many decided transactions were not included yet, increases steadily, with most users in the pool non-strategic users! We have the first clue that being strategic is not a bad idea, so let's dig a little more in results.\n", "\n", "### Strategic users enter a bidding war\n", "\n", "Let's look at the basefee and the minimum premium in a block." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df.plot(\"block\", [\"basefee\", \"blk_min_premium\"])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
blockbasefeeusersstrategicnonstategicdecided_txsincluded_txsblk_min_premiumblk_avg_gas_priceblk_avg_tippool_lengthpool_strat_userspool_nonstrat_users
242416.8552042520126012602139521.017.8671781.0119751551212315389
252518.96041824721236123606611.019.4773880.5169691485112314728
262619.880236245212261226000.00.0000000.0000001485112314728
272717.3952062516125812582149521.018.1447880.7495811411325313860
\n", "
" ], "text/plain": [ " block basefee users strategic nonstategic decided_txs \\\n", "24 24 16.855204 2520 1260 1260 213 \n", "25 25 18.960418 2472 1236 1236 0 \n", "26 26 19.880236 2452 1226 1226 0 \n", "27 27 17.395206 2516 1258 1258 214 \n", "\n", " included_txs blk_min_premium blk_avg_gas_price blk_avg_tip \\\n", "24 952 1.0 17.867178 1.011975 \n", "25 661 1.0 19.477388 0.516969 \n", "26 0 0.0 0.000000 0.000000 \n", "27 952 1.0 18.144788 0.749581 \n", "\n", " pool_length pool_strat_users pool_nonstrat_users \n", "24 15512 123 15389 \n", "25 14851 123 14728 \n", "26 14851 123 14728 \n", "27 14113 253 13860 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[(df.block >= 24) & (df.block <= 27)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Basefee increases until reaching its apex at block 26. This is the same behaviour we observed in the previous notebook: too many users want in so the basefee quickly reaches a high value, where no one is willing to pay this much. After the apex, the basefee climbs down, accommodating some of the most high-valued new users as well as equally high-valued users in the pool who were priced out.\n", "\n", "We also plot (as seen in orange in the previous graph) the minimum premium observed in the block. The dynamics are curious: to understand them, remember that strategic users systematically bid just above the minimum premium observed in the previous block. During the transitionary period between blocks 0 and 26, too many users want in so the basefee increases. At the same time, the minimum premium observed in a block increases too. We can imagine that enough strategic users successfully outbid non-strategic ones to fill the whole block. Since strategic users always bid above the smallest premium in the previous block, they bid a premium of 1.1 Gwei the first time, then 1.2, then 1.3 etc. At this point, we recognise the unstable dynamics of the current first-price auction paradigm, where users bid _against each other_ instead of bidding their true value.\n", "\n", "As the basefee increases, fewer and fewer new strategic users decide to transact, since **low-valued users are priced out**, leaving some space for non-strategic users to be included. This releases some pressure on the premiums, until block 26 where the basefee is so high that no one is included (and the minimum premium is zero)." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEGCAYAAACHGfl5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABG9klEQVR4nO3dd3xV9f348dc7Nzd7EkLYG9khQBgOEEFGFWfdC8T5U79SW1tpq18nLW0tWqzil7YuXCguRKxSHAhFIIEMdgIkJCQQsve8n98f5yYGCCRk3Yz38/G4j9x8znqfe+4973M+55zPR4wxKKWU6tzcXB2AUkop19NkoJRSSpOBUkopTQZKKaXQZKCUUgpwd3UAjdW1a1fTv39/V4ehlFLtSnR0dKYxJvTU8nabDPr3709UVJSrw1BKqXZFRJLrKtdqIqWUUpoMlFJKNSAZiMhrIpIhIrtqla0SkRjnK0lEYpzl/UWkpNawV2tNM15E4kUkUUSWiYg4y7uIyHoRSXD+DW6B9VRKKXUWDblm8Abwd+Ct6gJjzI3V70Xkr0BerfEPGmMi6pjPcuAeYCuwDpgDfAksAjYYY5aIyCLn/4+d01oo1QlVVFSQmppKaWmpq0NRbZCXlxe9e/fGbrc3aPx6k4ExZqOI9K9rmPPo/gZg+tnmISI9gABjzI/O/98CrsZKBlcB05yjvgl8hyYDpeqVmpqKv78//fv3x3mirRQAxhiysrJITU1lwIABDZqmqdcMpgDHjTEJtcoGiMhOEfleRKY4y3oBqbXGSXWWAYQZY9Kd748BYWdamIjcKyJRIhJ14sSJJoauVPtWWlpKSEiIJgJ1GhEhJCTknM4am5oMbgbeq/V/OtDXGDMW+CXwrogENHRmxmpC9YzNqBpjVhhjIo0xkaGhp90mq1Sno4lAncm5fjca/ZyBiLgD1wLjq8uMMWVAmfN9tIgcBM4DjgK9a03e21kGcFxEehhj0p3VSRmNjUmd7lheKbGpuaRkF3N5eA96BHq7OiSlVBvUlIfOLgX2GWNqqn9EJBTINsZUichAYAhwyBiTLSL5IjIZ6wLyHcBLzsnWAPOAJc6/nzUhJoVVX7g6OpWl6w+QnmedJtqrKnj+6/3cf/Eg7ps6CG8Pm4ujVEq1JQ25tfQ9YAswVERSReQu56CbOLmKCGAqEOe81XQ1cL8xJts57AHgn0AicBDr4jFYSWCmiCRgJZgljV8dlVlYxr0ro3n63R+5KeFb3klazRc/LGHN57/lT3s/5J0125j+1++ITcl1dahK1Zg2bdpZWxTo378/mZmZzbrMpKQk3n333Zr/33jjDR566KFmXUZ70pC7iW4+Q/n8Oso+Aj46w/hRwKg6yrOAGfXFoeoXn5rH/Ne3MSh5N2/vWo1nbhYe/frhdf5kbIGBDF29mjcPRLN2+AzuLStj1UMX07+rr6vDVsolqpPBLbfc4upQ2oR22zaROllxeSW/ensrC6JWM33/D3gMGkTPf/4f3qNG1owTsuBOMv66lCvWraNbdhrzvT1Z/eBFdPXzdGHkqjk8/flu9qTlN+s8R/QM4MkrRp51nKSkJObMmcP48ePZsWMHI0eO5K233mLLli08+uijVFZWMmHCBJYvX46npycbNmyos/xcvP322yxbtozy8nImTZrEK6+8gs1mw8/Pj4ULF7J27Vq8vb357LPPCAsL4+DBg9x6660UFRVx1VVX8eKLL1JYWMiiRYvYu3cvERERzJs3j+DgYNLS0pgzZw4HDx7kmmuu4c9//nNTPsJ2RZuj6CCe+2Ivc757l+n7f6DL/PkM+Gj1SYkAwN6rF72W/pVuix5jUkosl//wPne9vo3i8koXRa06gv379/PAAw+wd+9eAgICWLp0KfPnz2fVqlXEx8dTWVnJ8uXLKS0trbP8XOzdu5dVq1axefNmYmJisNlsvPPOOwAUFRUxefJkYmNjmTp1Kv/4xz8AWLhwIQsXLiQ+Pp7evX+6j2XJkiVMmTKFmJgYHnnkEQBiYmJq4lu1ahUpKSnN9Cm1fXpm0AFs2Hucg59+ye1JWwm5+y66PfroWccPmT+fyvRjzH3zTY57BrJscCiLfjaslaJVLaG+I/iW1KdPHy688EIAbrvtNp599lkGDBjAeeedB8C8efN4+eWXueSSS+os/8UvftHgZW3YsIHo6GgmTJgAQElJCd26dQPAw8ODuXPnAjB+/HjWr18PwJYtW/j0008BuOWWW3j0LL+PGTNmEBgYCMCIESNITk6mT58+DY6vPdNk0M5lFZax+O1NLIldjcfQoXR9+OEGTdftsd9QkXGcu778gsUf9SBn6kCCfT1aOFrVEZ16P3tQUBBZWVktsixjDPPmzeOPf/zjacPsdntNLDabjcrKcz/jrV1l1dh5tFdaTdSOGWP4/cfxzPvve/hXldH7+b/g5tGwHbq4udFzyRLo05eb477gtR8OtnC0qqM6cuQIW7ZsAeDdd98lMjKSpKQkEhMTAVi5ciUXX3wxQ4cOrbP8XMyYMYPVq1eTkWE9jpSdnU1ycp3N89eYPHkyH31k3dfy/vvv15T7+/tTUFBwTsvvyDQZtGOfx6Vj1q1hYvpuwh79JZ5DhpzT9G6envR86AEG5qeza/UX5BVXtFCkqiMbOnQoL7/8MsOHDycnJ4dHHnmE119/neuvv57Ro0fj5ubG/fffj5eXV53l52LEiBE899xzzJo1i/DwcGbOnEl6evpZp3nxxRdZunQp4eHhJCYm1lQDhYeHY7PZGDNmDC+88EKj17+jEKsFiPYnMjLSdOaezk4UlHHzc5/wl3V/InhsOP3eeB1xO/fcbior2TfrZyQUGQ499zK/mDm0BaJVLWHv3r0MHz7cpTEkJSUxd+5cdu3aVf/ILlJcXIy3tzciwvvvv897773HZ591jmdb6/qOiEi0MSby1HH1zKAdMsbw+CdxLNjyHl7uQs8/LG5UIgAQd3d6PHg/Q/KOsuPDdeSX6tmB6liio6OJiIggPDycV155hb/+9a+uDqlN0gvI7dDauHTc1q1hbMYBuj/5v3j07l3/RGcReOWVpC37O9fE/5t3f7yC+6cNbqZIVUfXv3//Zj0rmDRpEmVlZSeVrVy5ktGjRzd6nlOmTCE2NrapoXV4mgzambLKKlZ8uJlndn+Oz+TJBN14Y/0T1UPsdno88P+QJ59kw5r1mIsHaWuYyiW2bt3q6hA6La0mamfe/vEIV/x3NZ42N3oufq7R1UOnCrrmaioCg4nY+Q27m/lJVqVU26fJoB3JL63gyw/WMyUtjtB77sLeq1f9EzWQeHgQNPdyJh7fyxeb9zXbfJVS7YMmg3ZkxXcHuT76M0xQMCHz5zf7/EOvvRq7o4rML/5NlaN93mWmlGocTQbtREZ+KTtWryM86xDdH34IN9/mb23Ua8QIynv1Y2LiVjYnNm9zwUqptk2TQTvxyob93B63FunVm+Drr2+RZYgIYdddzaisw2z4ZmeLLEOps+lMzT+0NZoM2oG84gqOfbKG/vnp9PzVI4jd3mLLCrnyCgAc//lKWzNV9UpKSmLUqJ+6KXn++ed56qmnWLZsGSNGjCA8PJybbroJsFoVXbBgARMnTmTs2LE1D3698cYbXHnllUyfPp0ZM2aQnp7O1KlTiYiIYNSoUfzwww8uWbfORm8tbQdWRR3hZwc2YgYMwn/OnBZdlr1XLypHRXBRUhRf7zrG1eOa9gyDaiVfLoJj8c07z+6j4WeN63hwyZIlHD58GE9PT3JzcwFYvHgx06dP57XXXiM3N5eJEydy6aWXArBjxw7i4uLo0qULf/3rX5k9eza///3vqaqqori4uLnWSJ2Fnhm0cZVVDjas3cx5ual0v/nGZruV9Gx63XAtfQsz+GHdphZfluqYwsPDufXWW3n77bdxd7eOOb/++muWLFlCREQE06ZNo7S0lCNHjgAwc+ZMunTpAsCECRN4/fXXeeqpp4iPj8ff399l69GZ6JlBG/fV7uNE7PoB424n4Iq5rbLMwDmzSXvmWUL/u4HDmVcwQLvGbPsaeQTfVO7u7jgcjpr/S0tLAfjiiy/YuHEjn3/+OYsXLyY+Ph5jDB999BFDh57c/tXWrVvxrXVDxNSpU9m4cSNffPEF8+fP55e//CV33HFH66xQJ6ZnBm3cm98f4NKjO/G/dAbuwcGtskxbQADe02cwIyWaVZsSWmWZqn0KCwsjIyODrKwsysrKWLt2LQ6Hg5SUFC655BL+9Kc/kZeXR2FhIbNnz+all16iunHMnTvrvkkhOTmZsLAw7rnnHu6++2527NjRmqvUadWbDETkNRHJEJFdtcqeEpGjIhLjfF1Wa9hvRSRRRPaLyOxa5XOcZYkisqhW+QAR2eosXyUi2sOKU0xKLh7bNuNXVkTwz3/eqsvuftvN+FWUkP7ZWsoqq1p12ar9sNvt/O///i8TJ05k5syZDBs2jKqqKm677TZGjx7N2LFjefjhhwkKCuKJJ56goqKC8PBwRo4cyRNPPFHnPL/77jvGjBnD2LFjWbVqFQsXLmzlteqc6m3CWkSmAoXAW8aYUc6yp4BCY8zzp4w7AngPmAj0BP4DnOccfACYCaQC24GbjTF7ROQD4GNjzPsi8ioQa4ypt2PUztCE9SOrYpiw/GkiTQ5DvtmA2GyttmxjDLtmziGhSLAt/xdXRTTf086qebSFJqxV29asTVgbYzYC2Q1c9lXA+8aYMmPMYSARKzFMBBKNMYeMMeXA+8BVYrWGNh1Y7Zz+TeDqBi6rQysorWDbtj1EHN9P0LXXtGoiAOuZgx633szwnGQ2rN3cqstWSrW+plwzeEhE4pzVSNWV2b2AlFrjpDrLzlQeAuQaYypPKa+TiNwrIlEiEnXixIkmhN72rYtPZ8qh7YgxBF1zjUtiCL7mahzudnpv/orEDO0eUKmOrLHJYDkwCIgA0oFW6S3CGLPCGBNpjIkMDQ1tjUW6zOroVGYei8N7/Dg8+vZ1SQy2oCC8Z85iRko0t730HVP+/A1T/vwNS9cfcEk8SqmW06hkYIw5boypMsY4gH9gVQMBHAX61Bq1t7PsTOVZQJCIuJ9S3qklZRaRuiuBnjlpBMya5dJYut9+Cz6VZSxK/IIFqf/l8r3f8p/PNlJUpk8nK9WRNOo5AxHpYYyp7oX6GqD6TqM1wLsishTrAvIQYBsgwBARGYC1s78JuMUYY0TkW+A6rOsI84DO0TnpWXy0I5ULj1kfqd+MS10ai/fYsXiFhzN05/c1ZeEB3fl6zxyuGatPJyvVUdSbDETkPWAa0FVEUoEngWkiEgEYIAm4D8AYs9t5d9AeoBJ40BhT5ZzPQ8BXgA14zRiz27mIx4D3ReQ5YCfwr+ZaufbI4TB8vOMoT+Xsw3P4cDx6u/YuHhGh/3vv4iixHibKfvddWLqU5d/GaDJQqgOpNxkYY26uo/iMO2xjzGJgcR3l64B1dZQf4qdqpk7vx0NZFB87Tq+0g/hf+6CrwwFAbDZsftYTooFzZpO5dCm2LT+QUXAp3fy9XBydUqo56BPIbczq6FQuztyHGIP/pa6tIqqLR9++MGAgE9N3syYmzdXhqA5i2rRpnOtzQ2+88QZpaef+Hfz000/Zs2fPOU/X0WkyaENKyqv4avcxLs87gL1PHzzPO6/+iVwgZOaljM46zFc/6l1FynXOlgyqqs781LyrksHZYmoLtKG6NuSbfRmYoiJ6Hd6F/223YT2T1/b4z5hO1ooV+MVsJ+H4hQwJ01YlXe1P2/7Evuzm7bt6WJdhPDbxsbOOk5SUxJw5cxg/fjw7duxg5MiRvPXWW2zZsoVHH32UyspKJkyYwPLly/H09GTDhg11lp9NVVUVd911F1FRUYgICxYsoE+fPkRFRXHrrbfi7e3Nli1bGD58ODfeeCPr16/nN7/5DQUFBaxYsYLy8nIGDx7MypUriYmJYc2aNXz//fc899xzfPTRRwwaNOi0ZU6bNo3nn3+eyMhIMjMziYyMJCkpid27d3PnnXdSXl6Ow+Hgo48+YsiQIbz99tssW7aM8vJyJk2axCuvvILNZsPPz4/77ruP//znP7z88susXbuWNWvW4O7uzqxZs3j++efrWGPX0DODNmRN7FGm5yUilZX4z2x7VUTVvEaPRkK6MvnYbv5v4yFiU3I5lleq/SZ3Uvv37+eBBx5g7969BAQEsHTpUubPn8+qVauIj4+nsrKS5cuXU1paWmd5fWJiYjh69Ci7du0iPj6eO++8k+uuu47IyEjeeecdYmJi8Pb2BiAkJIQdO3Zw0003ce2117J9+3ZiY2MZPnw4//rXv7jgggu48sor+ctf/kJMTEydieBsXn31VRYuXEhMTAxRUVH07t2bvXv3smrVKjZv3kxMTAw2m4133nkHsDr0mTRpUk0Mn3zyCbt37yYuLo7HH3/83D/sFqRnBm1EfmkF3+4/wUv5B7CFhOAdEeHqkM5I3NwInH4Jkz77nOe3JbE6OhWAkT0D+Oj/XYCXvXWbzlDUewTfkvr06cOFF14IwG233cazzz7LgAEDOM9ZzTlv3jxefvllLrnkkjrLf/GLX5x1/gMHDuTQoUP8z//8D5dffjmzzvLszY033ljzfteuXTz++OPk5ubWtJraVOeffz6LFy8mNTWVa6+9liFDhrBhwwaio6OZMGECACUlJXTr1g0Am83Gz52NTAYGBuLl5cVdd93F3LlzmTu3dZqkbyg9M2gjvt59HFNWTp+EGPynX9LqbRGdK78Z0/EsL+WTC7355x2R/Hr2UHan5fO3DdrkdWdzanVmUFBQs84/ODiY2NhYpk2bxquvvsrdd999xnFr94swf/58/v73vxMfH8+TTz5Z09dCQ9Tup6H2dLfccgtr1qzB29ubyy67jG+++QZjDPPmzSMmJoaYmBj279/PU089BYCXlxc252/Z3d2dbdu2cd1117F27VrmtHCvhedKk0EbsSY2jRmlR5CS4jZ5F9GpfCdPRry9Cfj8A8ZFr+fm1B95qGshKzYeYtfRPFeHp1rRkSNH2LJlCwDvvvtuTf16YmIiACtXruTiiy9m6NChdZbXJzMzE4fDwc9//nOee+65mv4N/P39KSg4c5tZBQUF9OjRg4qKippqm4ZMB9C/f3+io6MBWL16dU35oUOHGDhwIA8//DBXXXUVcXFxzJgxg9WrV5ORkQFAdnY2ycnJp82zsLCQvLw8LrvsMl544QViY2PrXffWpNVEbUBWYRmbEzP5e2ECbj4++Eye7OqQ6uXm5UXArJnkfbaGos1Wq6aX22zsvvheFn3sz6cPXIi7TY81OoOhQ4fy8ssvs2DBAkaMGMGyZcuYPHky119/fc2F4vvvvx9PT09ef/3108rrc/ToUe68886aI/U//vGPgHXkf//999dcQD7Vs88+y6RJkwgNDWXSpEk1CeCmm27innvuYdmyZaxevbrO6waPPvooN9xwAytWrODyyy+vKf/ggw9YuXIldrud7t2787vf/Y4uXbrw3HPPMWvWLBwOB3a7nZdffpl+/fqdNM+CggKuuuoqSktLMcawdOnShn/IraDe/gzaqo7Un8HKH5N58pM4vtj4R/wnT6L3Cy+4OqQGMQ4HVXnWWYApLyfl/v9HSVIyD06+n1lXXMSUIV0B6ObvxdDuesdRc2sL/RkkJSUxd+5cdu3aVf/IqtWdS38GembQBnwek8YMcwJycvB3cVtE50Lc3E7qirPPq8tJuuFG/hz1Bvd7+LJiYyAA7m7CD49dQo9Ab1eFqpSqhyYDF0vLLWFbUjbLixLBbsfv4qmuDqnR7GFh9Hl1OVW33sbbW5Zh/AOoMhBX6c2HFw/k4dnDXB2iamb9+/dv1rOCSZMmUVZWdlLZypUrGT16dLMto7YHH3yQzZtP7rxp4cKF3HnnnS2yvLZMk4GLrY1LA2MYsG87PpMmYfNv39UpXsOH0/f/XiVn1QfgrEYav3kzSz9fT9XModjc2uaDdKpt2Lp1a6su7+WXX27V5bVlmgxcbE1sGrN8ijBHU/G/5y5Xh9MsfCZMwMd5z7WjvJw9ky8gfP9WNh64kUuGdXNxdEqpuujtHi506EQhu47mc23xQQD8pk93cUTNz83Dg6A5c7gwfRerNiW6Ohyl1BloMnChNbFpiMDA/VF4jxmDvVvHPGoOvnIu3pVlFG/8jmN5DX/wRynVejQZuIgxhjUxaczsKlTt24vfpTNcHVKL8ZkwAQnpysUpO1m1PcXV4Sil6qDJwEV2p+VzKLOI68oOA+DfAauIqonNRvDcy5mYsY9Pf9jL6uhUEo4XaMN2qkZj+jNoTn/4wx8aNd2LL75IcXFxM0fjGpoMXGRNbBp2mzDoQDQe/frhMXCgq0NqUQFz5+JeVcnoQzt59MNYZr6wkVFPfsWcFzdy/8po/vafBEor2nZ776rjOlMyMMbUPPlcF1ckg8rKyhaZr95N5AIOh2FtbBqX9vGlfE0UXW6/vc32XdBcvEaNxKNfP35pEnno1lvZk17AgeMFpOaUcPRQFpt2VuIwhkdmts0Ofdq6Y3/4A2V7m7c/A8/hw+j+u9+ddZzW6M8AwM/Pj4ULF7J27Vq8vb357LPPCAsLIykpiQULFpCZmUloaCivv/46ffv2Zf78+QQEBBAVFcWxY8f485//zHXXXUd6ejo33ngj+fn5NU1of/HFF5SUlBAREcHIkSNZvHgxs2fPZtKkSURHR7Nu3TqWLFnC9u3bKSkp4brrruPpp59m2bJlpKWlcckll9C1a1e+/fbbM8ZeWFgIWO0crV27ljfeeIMPP/yQp59+GpvNRmBgIBs3bqSqqopFixbx3XffUVZWxoMPPsh9993Hd999xxNPPEFwcDD79u1j586d3HDDDaSmplJVVcUTTzxxUoutjaFnBi4Qm5pLWl4pP3ekQkUF/jM6bhVRNREh4IorKImKour6Kxj68C1csfg+/t8rv+C5937H+189w5bVX5FRoBeY25uW7s8ArH4BJk+eTGxsLFOnTuUf//gHAP/zP//DvHnziIuL49Zbb+Xhhx+umSY9PZ1Nmzaxdu1aFi1aBFgN6c2ePZuYmBhiY2OJiIhgyZIleHt7ExMTU9OgXUJCAg888AC7d++mX79+LF68mKioKOLi4vj++++Ji4vj4YcfpmfPnnz77bdnTARn88wzz/DVV18RGxvLmjVrAPjXv/5FYGAg27dvZ/v27fzjH//g8GGrKnnHjh387W9/48CBA/z73/+mZ8+exMbGsmvXrmZpAbXeMwMReQ2YC2QYY0Y5y/4CXAGUAweBO40xuSLSH9gL7HdO/qMx5n7nNOOBNwBvYB2w0BhjRKQLsAroDyQBNxhjcpq8Zm3Yl7uOYbcJgxN2UB4c3Kb7LmhOXebPx96rF6ay4rRhx195lTtiPuWl9Rfz7LXhLoiufavvCL4ltXR/BgAeHh417f+PHz+e9evXA7BlyxY+/vhjAG6//XZ+85vf1Exz9dVX4+bmxogRIzh+/DgAEyZMYMGCBVRUVHD11VcTcYbfXr9+/Zhcq8HIDz74gBUrVlBZWUl6ejp79uwhPLxp39MLL7yQ+fPnc8MNN3DttdcC8PXXXxMXF1fTUmpeXh4JCQl4eHgwceJEBgwYAMDo0aP51a9+xWOPPcbcuXOZMmVKk2KBhp0ZvAGcmnbWA6OMMeHAAeC3tYYdNMZEOF+1myRcDtwDDHG+que5CNhgjBkCbHD+32EZY1gXn87UAUGUbd6E37Rpbb7vguZi8/Ml6JqrCb7++tNePX75CIPy0kj7+DMOZxa5OlR1Dlq6PwMAu91esxybzdagevPa1U/VDXJOnTqVjRs30qtXL+bPn89bb71V57S1+0U4fPgwzz//PBs2bCAuLo7LL7/8nPpGqP351J7u1Vdf5bnnniMlJYXx48eTlZWFMYaXXnqppm+Ew4cP13TmUzum8847jx07djB69Ggef/xxnnnmmQbHcyb1JgNjzEYg+5Syr40x1VvjR6D32eYhIj2AAGPMj8baKm8BVzsHXwW86Xz/Zq3yDmnX0XxSc0q41j0TR35+p6giaoiAyy/DNnQYt+/9N0u/0BYw25OW7s/gbC644ALef/99AN555516j5CTk5MJCwvjnnvu4e67767pG8Fut1NRcfoZK0B+fj6+vr4EBgZy/Phxvvzyy5phDekbISwsjL179+JwOPjkk09qyg8ePMikSZN45plnCA0NJSUlhdmzZ7N8+fKaWA4cOEBR0ekHR2lpafj4+HDbbbfx61//umY9mqI5LiAvwKrmqTZARHYC+cDjxpgfgF5Aaq1xUp1lAGHGmHTn+2NA2JkWJCL3AvcC9O3btxlCb33rdqXj7iaMSo6lxNMT3wsucHVIbYK4udHzN49Sddfd2D7/mEtOlHDqJXUR+P3lw5k+7IxfEeUCLd2fwdm89NJL3HnnnfzlL3+puYB8Nt999x1/+ctfsNvt+Pn51ZwZ3HvvvYSHhzNu3DgWL1580jRjxoxh7NixDBs27KQqserp5syZU3PtoC5Llixh7ty5hIaGEhkZWXMx+de//jUJCQkYY5gxYwZjxowhPDycpKQkxo0bhzGG0NBQPv3009PmGR8fz69//Wvc3Nyw2+0NvvZyNg3qz8B5LWBt9TWDWuW/ByKBa531/56AnzEmy3mN4FNgJHAesMQYc6lzuinAY8aYuSKSa4wJqjXPHGNMMPVoj/0ZGGO45Pnv6BPszZPvPY7neefRZ/krrg6rTTl85wLyYuPZPuUazCnVD8nZJewdNoHVi+bipg3eaX8Gql6t0p+BiMzHurA8w1n1gzGmDChzvo8WkYNYieAoJ1cl9XaWARwXkR7GmHRndVJGY2Nq6/amF5CUVczCgW5UHD1KyH33ujqkNqfHb35N+e13cNFXK08bNgX4T/ohvr1mIjOG69mBUs2pUclAROYAvwEuNsYU1yoPBbKNMVUiMhDrQvEhY0y2iOSLyGRgK3AH8JJzsjXAPGCJ8+9njV6bNu7LXem4CYxP200R4DdtmqtDanO8hg9nyKYfMHVcoDv+0t+Z9u57vLhmK9OHXdHhn81oD9p7fwbNqT3HDg27tfQ9YBrQVURSgSex7h7yBNY7f5DVt5BOBZ4RkQrAAdxvjKm++PwAP91a+qXzBVYS+EBE7gKSgRuaZc3aoHXx6UweGIJjw9t4jRrVYRumayo3Ly/w8jqtPPSeu8l5fxVDvv+c7TdcxMQBXVwQXdtijOlQSbG1+zNoTm0t9nPt0rjeZGCMubmO4n+dYdyPgI/OMCwKGFVHeRbQcVtpc0rOKuLgiSLuHBlESWwsXR980NUhtTv27t0JuGIucz7/ghXrdjDxwfbTRWhL8PLyIisri5CQkA6VEFTTGWPIysrCq46DqjPR5ihaycYDJwCYfGI/Fcbgd8k0l8bTXnW79x4KPvuMkK8+44OJQ+ni63HaOANDfRkY6ueC6FpX7969SU1N5cSJE64ORbVBXl5e9O591rv+T6LJoJV8f+AE/UJ88Nr+NaZbN7xGjHB1SO2S58CBeF8ynSt/2Mwd72+jxF73kU9470CuiujF1CFd6RbgRYCXe4c7erbb7TVPpCrVVJoMWkFZZRX/PZjF9eFhFL23iYC5czvcjqk1db//Xkq/2cBHm/8K9tPPDPK69uCr/Aj+engwzzqThZfdjQsHdeXFmyLw97K3dshKtXmaDFpBdFIOxeVVXFqehqO4WKuImsg7PJxuv36UsoOHTh/ocOARHc2N37zBjR6eFA8eRqF/MFleAbx/NIzbCst4c8FEgnxOTyJKdWaaDFrB9wdOYLcJ/ROiKfL0xLdWA1iqcULuuuuMw4wxlMbGkvf5Wrz37iXwaCJhGRk8XV7O/xVlclOlg5V3TSLUv/6mk5XqLDQZtILvD5xgQr9gyj7YiO/55+Pm7e3qkDo0EcE7IuKk1mAd5eUcfeSX3LfhE1Y6yjk/oxB32+lVde5ubgT52Oni60HvYG8eufQ8hoT5t2L0SrmGJoMWlp5Xwr5jBTwzzp+K1FRC7lrg6pA6JTcPD3q/+AJpi37L7V98wTR7PqUBpz+nUClu5Nl9yHL3JrrMi8t3H+eRWUO5Z8oA3G3a/YfquDQZtLDqW0onZB4AwPeii1wZTqcmdjs9//wnbEFByCefQB0P5ZjKSnC2GHk5cHjQGJ4oupI1sWkM7Op72vgIdPX1oEeQNz0CvQgL8KKbvyfdArzw9bDpjQKq3dBk0MK+P3CCsABPfOOiKe/bF48+fVwdUqcmNhvdn3ic7k88XudwYwyOomKqcrIp/PZbZOkLvJm+lE9LriYlsPtp4zuMYUuVJ8k2f8rcT74o7eHuRrCPnWAfD/p08eG8MD/OC/MnxPfcrlV08fVgeA9/TSyqRWkyaEGVVQ5+SMjk8mFdKV69jaCrr3J1SKoeIoLNzxebny9d7rgDv4svJu33v+fnG9+pf+KAACqDu1IaEEShbxAFXn7k2X3IdvfhwBE/VplgMj38rLa4z9GQbn5cH9mb2SO742U/e2dIXu42An309ll1bjQZtKC4o3kUlFZyqeM4prhYq4jaIY9+/ej31luUxMRiystOG26qqqjKyqIi/RgVx9KpPHGCyhMnCDqyl6qcXExJCQCzgIcA/ANwBASeUwzFvgFsyI1gWepQ/rDOp97x3QSeunIkd5zf/5yWozo3TQYtaHNCJgBDjuym2N0dn4kTXRyRagxxc8Nn3NhGTesoLaUqJ4fy5GTKEhIpS0zEUU/PWKfyTkzkqu/e4SoPD/KHheOwn72a6Wgp/Pldq31ITQiqoTQZtKBNiZmM7BmA47sf8YmIwObX8dvLUSdz8/LCrUcP7D16NPr5EmMMpXv2kPfxJ3hGRUFp/lnHD05NZVnqfh521kbdPLFt9QroJoJNOydqczQZtJDi8kp2HsnlvvAgSvfsIfQXC10dkmqnRATvkSPxHjmyQeOX7NqNLFjAsq0reBj438/aVlPfItCviw/nhfkzuJtfvddA1Olum9yvzkYam0KTQQvZnpRDeZWDi/KsJhN8L9TrBap1eI8aSd/XXoMFC1gR/U8yhzeuiqulVOJGclEIMekhfOAIoNRNL3afq5+N6KbJoL3YnJiJh82NHglxlAYF4TXCtX3Vqs6lOiGkLXoMn/3Rrg7nJKasnH75+Ux1dSDtWJ8HxwHndiNCfTQZtJBNCZmM7xtE6dv/xfeCCxCbngqr1uU9aiSD1q51dRinMcZQlZVFWUICZYcPQ2Wlq0Nqd+whIc0+T00GLSCrsIw96fk8NcqLqhOZ+F54gatDUqrNEBHcu3bFvWtXfM8/39XhKCdtbKUF/PdgFgDjsxIBtJVSpVSbp8mgBWxOzMTfy53AfbHY+/bF3quXq0NSSqmzalAyEJHXRCRDRHbVKusiIutFJMH5N9hZLiKyTEQSRSRORMbVmmaec/wEEZlXq3y8iMQ7p1km7bgRFmMMPyRkcuGAIEq2b9ezAqVUu9DQM4M3gDmnlC0CNhhjhgAbnP8D/AwY4nzdCywHK3kATwKTgInAk9UJxDnOPbWmO3VZ7UZSVjFHc0uYacvGUViI7/maDJRSbV+DkoExZiOQfUrxVcCbzvdvAlfXKn/LWH4EgkSkBzAbWG+MyTbG5ADrgTnOYQHGmB+NMQZ4q9a82p1v9mUAEJFhXS/wmTTJleEopVSDNOWaQZgxJt35/hgQ5nzfC0ipNV6qs+xs5al1lJ9GRO4VkSgRiTpx4kQTQm853+w7zpBufrjHRuM5bBjuXdrW059KKVWXZrmA7DyiP72nkGZmjFlhjIk0xkSGhoa29OLOWUFpBdsOZ3PpwEBKdu7U6wVKqXajKcnguLOKB+ffDGf5UaB2Dy69nWVnK+9dR3m7sykhk4oqw4yqY5jycr1eoJRqN5qSDNYA1XcEzQM+q1V+h/OuoslAnrM66StglogEOy8czwK+cg7LF5HJzruI7qg1r3blm30ZBHi50/vwbnB3xycy0tUhKaVUgzToCWQReQ+YBnQVkVSsu4KWAB+IyF1AMnCDc/R1wGVAIlAM3AlgjMkWkWeB7c7xnjHGVF+UfgDrjiVv4Evnq11xOAzf7s9g6nmhlHyyFe/wcNx86+gzVyml2qAGJQNjzM1nGDSjjnEN8OAZ5vMa8Fod5VHAqIbE0lbFH80js7CcmX19KN29m6733+/qkJRSqsH0CeRm8s2+DERgQtZBcDi0PSKlVLuiyaCZfLMvg3F9g2H7Ftz8/fEeM8bVISmlVINpMmgGGQWlxB/NY/rQUIo2bcb3/PMRd20QVinVfmgyaAabnB3fX+xZSOWxY/hO0V7NlFLtiyaDZrApIZMuvh5037cTAL+LNBkopdoXTQZNZIxhU2ImFwwKoXjzJjwGD8Leo4erw1JKqXOiyaCJEjMKySgoY2ofP4q3R+F30RRXh6SUUudMk0ET/eC8XjAxPwlTUaHXC5RS7ZImgybanJhJ/xAfvHZuR7y8tAkKpVS7pMmgCSqqHPx4KIsLB3el6Icf8Jk4ATdPT1eHpZRS50yTQRPEpORSVF7FJQEVlCcn6/UCpVS7pcmgCTYlZCICI9L2A2gTFEqpdkuTQRNsSswkvFcgjuhtuIeF4TFwoKtDUkqpRtFk0EgFpRXEpORy0aAuFP/4o9UEhYirw1JKqUbRZNBIWw9lU+UwTHXLpSo3F98Lznd1SEop1WiaDBppy6EsPNzd6Je8GwAf7e9YKdWOaTJopB8PZTGubxDlW7fiOWQw9m7dXB2SUko1miaDRsgtLmdPej4X9gmgODoan8laRaSUat80GTTC1sPZGAMXlKVhSkvxPV+TgVKqfdNk0AhbDmbhZXej58F4sNnwmTjB1SEppVSTNDoZiMhQEYmp9coXkV+IyFMicrRW+WW1pvmtiCSKyH4RmV2rfI6zLFFEFjV1pVraj4eyGN8vmNJtW/EOD8fm5+fqkJRSqkkanQyMMfuNMRHGmAhgPFAMfOIc/EL1MGPMOgARGQHcBIwE5gCviIhNRGzAy8DPgBHAzc5x26TsonL2HStgSndPSuN3aRWRUqpDaK6OemcAB40xyWd58Ooq4H1jTBlwWEQSgYnOYYnGmEMAIvK+c9w9zRRbs9p6KAuAyQXJ4HDge77eUqqUav+a65rBTcB7tf5/SETiROQ1EQl2lvUCUmqNk+osO1P5aUTkXhGJEpGoEydONFPo52bLoSx8PGx0S9yFeHvjPWaMS+JQSqnm1ORkICIewJXAh86i5cAgIAJIB/7a1GVUM8asMMZEGmMiQ0NDm2u252TLwSwi+3ehdNtWfMaPRzw8XBKHUko1p+Y4M/gZsMMYcxzAGHPcGFNljHEA/+CnqqCjQJ9a0/V2lp2pvM05UVBGQkYhF4e4UZaQiO/kSa4OSSmlmkVzJIObqVVFJCK1e4O/BtjlfL8GuElEPEVkADAE2AZsB4aIyADnWcZNznHbnK2HresFkbkHAfCZpNcLlFIdQ5MuIIuILzATuK9W8Z9FJAIwQFL1MGPMbhH5AOvCcCXwoDGmyjmfh4CvABvwmjFmd1PiainbD2fj42Gj64F4CgMC8Box3NUhKaVUs2hSMjDGFAEhp5TdfpbxFwOL6yhfB6xrSiytYevhbMb1Dabk/a34TJyA2GyuDkkppZqFPoHcQHklFew/XsBUv3IqUlPx1SoipVQHosmggaKTrfaIxuUcAtCLx0qpDkWTQQNtO5yD3SZ0S4zH1rUrHoMHuzokpZRqNpoMGmh7UjajegZQum0rvpMmaReXSqkORZNBA5RWVBGXmst03xKqTmTio1VESqkORpNBA+w8kktFlSEyy3q+wFe7uFRKdTCaDBpge1I2ItD98B7ce/bA3ru3q0NSSqlmpcmgAbYnZTOsmy8V0VH4Tpio1wuUUh2OJoN6VFY52JGcwwzvYqpycvCZpNcLlFIdT3P1Z9Bh7UnPp6i8igm5SQD4TJx49gmUUqod0mRQj22HswHolbQHevXCo3edXS0opVS7ptVE9dielE3fYE8cO6P1rEAp1WFpMjgLYwxRSTnM8i6iKi8Pn0maDJRSHZNWE53FocwisorKmUQSAL56ZqCU6qA0GZxFVJJ1vaDPkX249+mDvWdPF0eklFItQ6uJzmJ7Ug4hPu5I3A58Jk5wdThKKdViNBmcxfakbOZ4F+LIy8dXny9QSnVgmgzOICO/lOSsYi7ITwL0+QKlVMemyeAMtiflANAvZR/2fn2xd+/u4oiUUqrlNDkZiEiSiMSLSIyIRDnLuojIehFJcP4NdpaLiCwTkUQRiRORcbXmM885foKIzGtqXE21PSkbH3ew747Fd6JWESmlOrbmOjO4xBgTYYyJdP6/CNhgjBkCbHD+D/AzYIjzdS+wHKzkATwJTAImAk9WJxBX2Z6UzRyPfBwFBdoekVKqw2upaqKrgDed798Erq5V/pax/AgEiUgPYDaw3hiTbYzJAdYDc1ootnoVlFawNz2fKUXJAHonkVKqw2uOZGCAr0UkWkTudZaFGWPSne+PAWHO972AlFrTpjrLzlTuEjuO5OIwMDB1Hx4DB2Lv1s1VoSilVKtojofOLjLGHBWRbsB6EdlXe6AxxoiIaYbl4Ew29wL07du3OWZZp+ikbOymCs+98fhcdWWLLUcppdqKJp8ZGGOOOv9mAJ9g1fkfd1b/4Pyb4Rz9KNCn1uS9nWVnKj91WSuMMZHGmMjQ0NCmhn5GO1Nyme6WjSku1ucLlFKdQpOSgYj4ioh/9XtgFrALWANU3xE0D/jM+X4NcIfzrqLJQJ6zOukrYJaIBDsvHM9ylrU6YwyxKblMrbleoM8XKKU6vqZWE4UBnzi7gXQH3jXG/FtEtgMfiMhdQDJwg3P8dcBlQCJQDNwJYIzJFpFnge3O8Z4xxmQ3MbZGOZxZRH5pJUPSDuA5ZAjuXbq4IgyllGpVTUoGxphDwJg6yrOAGXWUG+DBM8zrNeC1psTTHGJScnF3VOKfuAef665zdThKKdUq9AnkU8Sk5DKm4CiUlmr/BUqpTkOTwSliU3KZXpYKIvhO0OcLlFKdgyaDWkorqtiTns+ozEN4DhmCLSjI1SEppVSr0GRQy570fKoqKul6ZD8+kZH1T6CUUh2EJoNaYlNyGZx3FLfSUnwix7s6HKWUajWaDGqJScllcpHVKob3eD0zUEp1HpoMaolJyWVC/hHsfftiD9P2iJRSnYcmA6econKOZBbS72gCPuO1ikgp1bloMnCKSc2lT0EG9qJ8vV6glOp0NBk4xRzJZVT2YQC9k0gp1eloMnDamZLLBYUp2EK7Ym/B5rGVUqot0mQAOByGnUdyGHbiID6RkTgb3lNKqU5DkwFw8EQh3tkZ+OZl4aO3lCqlOiFNBsCOIzmMyqy+XqAXj5VSnY8mA2DnkVzG5SXh5u+P55Ahrg5HKaVanSYDrDODsdmH8Bk/HrHZXB2OUkq1uk6fDPJLK8g8kkaXnOP4aJPVSqlOqtMng5gjuYw6cQgAn4maDJRSnVOnTwY7juQwOusg4uuL1/Dhrg5HKaVcQpPBkVzG5ybhM24c4t6kLqGVUqrdanQyEJE+IvKtiOwRkd0istBZ/pSIHBWRGOfrslrT/FZEEkVkv4jMrlU+x1mWKCKLmrZKDedwGA4eSKFHTrpeL1BKdWpNORSuBH5ljNkhIv5AtIisdw57wRjzfO2RRWQEcBMwEugJ/EdEznMOfhmYCaQC20VkjTFmTxNia5BDmYX0P3oAAJ8JzofNSnJh9yeQmwwRt0HXwS0dxpmVFYCjCryDGjZ+eTEci4fuo8DDt0VDU6pZlOaD3Rts9lZYVh7kpkDoMLC1Qi1AZRmIrXWW1QwaHaUxJh1Id74vEJG9QK+zTHIV8L4xpgw4LCKJwETnsERjzCEAEXnfOW7LJIOvn4DsQ9B7AimFfbkoKw487HiXbIUP/wb71kFVGSCw6UUYPtdKCqW5kJMMJTnQfTT0mQghg0EEjAFH5clf6JJc2LkSYldBYC84b471Cuhx5tgKjsP+LyD5v5C2E7IOWuU9x8KgS6DrUCjOhIJjVvmAi6HfBdb76NeteIsywM0OfSZB30nWF7LohPWjC+gJXQZCyCAIGwWBva34a3M44Hg8JG0Gu5c1XrcR4Ol38nh5qVachcfB3ct6leXDsV3W9GUF0HMc9J5gvcJGgoePNa0xkJcCWYng1x2C+oCnv5XM8o9CfhqUZFufYXkhdBlkzcMv9KfpS3KsxHc02vqsbHYIGQJdh1jDjvwIKVut9Rt8KQyeCb3GW8uxe1tJtvCYtR7F2eDmDm428Aq01tnudfrncmIvHNkCaTFgHNb4Nk8rtsGXgm+INa+4VRC/2lpO99HW/IL6gHcX8OliLcPdG9ycJ+aOKigvsmL18Dt5m1RVWp9rZan1AvDtdvr2qE9pPiR8Dd7B0GMM+Ha11ik/1doO+enW96ToBAT2gfNmWd+VujgcUFFsvRexPjubh/Xe4bC2YVbiya/SfJhwN4y+zvrcirNhw9MQ/QYgVjwBvWDgxTDyGugRYa3vkR+t71mXATBsLngF/BRHWaF10JaXan2f8tOs31DhMbD7wICp1quqHLb/E+I+sOK2+0KfCdb3IaAn+IVZ2yr7MGQmWJ/B4Eth+BU/La+qEnKSrM8rP8363ldVOgMxUFVh7Tcqy62YTuyzxndzt76/XYdY34XekdbvwjvImqY035rO5mG97D71J4/Ksp8+72Ykxpimz0SkP7ARGAX8EpgP5ANRWGcPOSLyd+BHY8zbzmn+BXzpnMUcY8zdzvLbgUnGmIfqWM69wL0Affv2HZ+cnHzuwf7nadjzqZUQgEP/DsXm6aDfJVngEwKjroOIm60v5tb/g+3/sI4oqtl9fvohePhZO6aKYsBYX6qQweAbCgnroaIIekVaO+jcI9Y0/j0huD8E97N2CuJmvY5GW198jDVOz7HQM8LaURz6FlKjwFRZ87B5WH+ryq33Hr7WDnDAxTD2djgWZ01zLN764vuGgGeA9YOpvS7eXawvqIefNe/KMkiPseZ1Kp+u1o7Mu4v1Y8g7Uvfn6xdm7fw8fOHoDuvHA9Y6dj0P/HtYcRVnnjyd3df6vM4mqC8YnD/Esp/KgwdYO+fcI9bnB9Zy+k62fpyHv7eSSjWxWeMZR93LcbNbO8xuw6Aoy1qHnGRrp1z9Wdi9rQOA8iKrXNyshHdiv7VdekRYO4KMPT99X05l97XiqD3c5ml9D23uUJIHZXl1T+vhZ41XncTsPjBwmrXD7DXe2lGUFVg74uqDktqfr283a3hlycnztXn+9NmGDIFuw53LcLe+OzmHrc+i9ucP1vrbfazPpDppVccZMsj6bp3YZx1YjPo5/Ljc+p5FLrASQX6a9Zs8ssWaR0AvKMo8eTnuXjBkFrh7QnqsteOm1v5LbODXzXoVZ1vf99rTjr4O+l30028tY/fp3wEPP+tVeMyaZsBUKMywYq+9XnWxeVqxBfS0zj5Ch1rrnZkAmfudB3fOeM/4fRdr/+Hf3Xr5hVl/3T0hYx8c3w2ZB2BhrHWA0QgiEm2MOa3dnSYnAxHxA74HFhtjPhaRMCATa62fBXoYYxY0RzKoLTIy0kRFRTU+8KIsnln6Kte98zahd1xN6EMPWx989dFatbIC68jTv4d1xGTzgKwE66jz2C7riNTube1Aco9YP768FGvHPPl+a6diDGTstY7MTuy3jhxykqwdlMNh7Yi7DLSORIZfaf0AT836pXnWUY9fKHgFWV/M5M1w8FsoSLeOuqrPEqpVVZ5+lFGcbX05j8dbP6hju6ydl7hZP/huw63Y+19k/SiP77Ze+UehOMv6AXsHW8vqd4GV2CrLoKLESgC+XU9eXn6a9eNLj7OSVH6alYB6jbOSQ9EJ63MrzPjp6DCgp7Wj8wqyziYy9kHqNucZgMdPP5DQodZRlk8Xa1kVJdYOxcPPShzVn2FlubWTyTxgfeZlhdawgF7WNvXpYu0UHJXWDih1O6Rss7azX5gVT2Af6wyg72Rrnavn7XBA+k448BUkbYLu4TDudisxgJXMsw9DQZr12ZdkW9+p8iLrBdbZioevNW5JtvU5V1VYn7N3F+vo1N3L+p4ZYyXDwuNWrKbKmq4466cdqWeg8yjVufNy97J2wOPusLb1sXg4vsc6Og0ZbB21Bva2dkIevtZOK2G99X3NP2rN01EJHv7Qpb+1/j61trOjAipKrc9fxNr5hwy2Xv49fjpj2PMJfPNczZk5c1+wvgunfj/3fWEtO7CPleD6nW/9fuJXWwdy1cm6xxirGjewrxW/XzcrMYL1OeUkWQcCVRXW+ld/T2r/PoqzrM+yvNA6qPDvbg1L3W6dSRz61oojbKT1CuprrZN/d2vnX83NVv+RemmedYCUGuX8HQVZB4Q2j5/OLMoKrDP/gmPW77rwuPUbMY5acYyyfu9nq2U4ixZJBiJiB9YCXxljltYxvD+w1hgzSkR+C2CM+aNz2FfAU85RnzLGzHaWnzTemTQ1GeSXVnDffUv5361v0G/lW3oBWbV/JbnWTjx5k5UQq5Pm4EtP3xG6SlWFdUDUbcTpB16qblWVVqJopuuAZ0oGjb5mIFY7z/8C9tZOBCLSw3k9AeAaYJfz/RrgXRFZinUBeQiwDRBgiIgMAI5iXWS+pbFxNVRsSi4jMw9h7B54hYe39OKUanneQRB+vfVqq2x26wYH1XA291a5CN2UJVwI3A7Ei0iMs+x3wM0iEoFVTZQE3AdgjNktIh9gXRiuBB40xqoEF5GHgK8AG/CaMWZ3E+JqkB3JuYRnHcIzPBw3T8/6J1BKqQ6sKXcTbcI6qj/VurNMsxhYXEf5urNN1xJ2Jxzl0ryjBEy6sjUXq5RSbVKnrLRzOAylO3fiZoy2R6SUUnTSZHAos4jB6Qdw2NzxHjPG1eEopZTLdcpksONIDqMzD2EbPgI3b29Xh6OUUi7XKZNBfEI6Q3JTCT5/kqtDUUqpNqFTJoPcqB3YjAPfiRPrH1kppTqBTpcMCkor6JK4C4ebG95jx7o6HKWUahM6XTKITcljVOYhqgYPxeanLXsqpRR0wmQQk3iMoTlH9HqBUkrV0umSQcbWaOyOKoIm6/UCpZSq1umSwfX2ExgRfMaPd3UoSinVZrSPLniaUcCBXVQNH4YtIKD+kZVSqpPodMmg1/N/oTIzs/4RlVKqE+l0ycA9NBT30FBXh6GUUm1Kp7tmoJRS6nSd7sygKYwxHC8+TlZpFjmlOeSX5WNzs2F3s+Nl86JvQF96+vXETTTHKqXaF00GZ1HlqGJX1i62pG0h7kQc8Znx5JblnnUaH3cfBgYOJMQ7BF+7L352PwI9Awn0DCTAI4CRXUcyJGgIUl9/qUop1Yo0GdQhJiOGDw98yKajm8guzUYQBgUN4pI+lzAiZATdfLrRxasLAR4BVJkqKhwVFFcUczj/MIk5iRzMO0hGcQaFFYUUlheSX55PldWpGwDdfbszpdcUZvabyaQek/RMQinlcpoMaok7EccrMa+wOW0z/h7+TOk1hYt7X8yFvS4k0DOw3ukju5/WxzRgVS8VVhSSXZpN1LEoNqZuZO2htXx44EN6+PbgykFXctnAyxgQMEDPGJRSLiHGGFfH0CiRkZEmKiqqyfNxGAc/pP7Ayr0r2Zq+lWDPYO4cdSc3Dr0RH7tPM0Rat9LKUr5N+ZZPEz9lS9oWDIa+/n2Z2nsqlw24jNGho1ts2UqpzktEoo0xpx25dtpkUFRRxKeJn/Lu3nc5UnCEbj7duHX4rdw09KYWTQJ1OVZ0jO9SvuP71O/Zlr6Nckc5F/a8kPvH3E9Et4hWjeVcJOUlkZyfTKhPaE3VmVZ5KdW2tflkICJzgL8BNuCfxpglZxu/sckgpSCF9/a9xycJn1BYUUh413BuH3E7M/rNwO5mb1zwzaiooogP9n/A67teJ6csh3HdxjFnwBwu7XspoT5t4/mI/dn7WRG3gvXJ6zH89P3p4tWFKwZewbVDrmVg0MCa8vKqcjYf3cyXSV+yN2svg4MGM7LrSEaEjKB/QH/CfMKwudlcsSpKdTptOhmIiA04AMwEUoHtwM3GmD1nmqaxyWD+v+cTmxHLzP4zuW34bYSHhjc27BZVXFHMqv2r+CTxEw7nHUYQ+gX0wyau3WlWmSqS8pPwtftyy7BbmNp7KlklWRwvPs62Y9v4PuV7Kk0lff371iTXjOIMCioKCPIMIiI0goN5B0kpSKmZp93NTg/fHm0iGSvVHrw04yX6+Pdp1LRtPRmcDzxljJnt/P+3AMaYP55pmsYmgwM5Bwj0CCTMN6yx4ba6g7kH+Tr5axJyElwdCgBDg4dy07Cb6ryonlmSydqDa4nLjKspC/AIYEbfGUzuOblmh59Xlse+7H2kFKRwpOAI6YXpJ91xpZQ6s8cmPNbofVhbTwbXAXOMMXc7/78dmGSMeeiU8e4F7gXo27fv+OTk5FaPVSml2rMzJYN2dbXPGLPCGBNpjIkM1faFlFKq2bSVZHAUqF0B1ttZppRSqhW0lWSwHRgiIgNExAO4CVjj4piUUqrTaBNPIBtjKkXkIeArrFtLXzPG7HZxWEop1Wm0iWQAYIxZB6xzdRxKKdUZtZVqIqWUUi6kyUAppZQmA6WUUm3kobPGEJETQGOfOusKZDZjOO1FZ1zvzrjO0DnXW9e5YfoZY057UKvdJoOmEJGoup7A6+g643p3xnWGzrneus5No9VESimlNBkopZTqvMlghasDcJHOuN6dcZ2hc663rnMTdMprBkoppU7WWc8MlFJK1aLJQCmlVOdLBiIyR0T2i0iiiCxydTwtQUT6iMi3IrJHRHaLyEJneRcRWS8iCc6/wa6OtbmJiE1EdorIWuf/A0Rkq3N7r3K2ituhiEiQiKwWkX0isldEzu/o21pEHnF+t3eJyHsi4tURt7WIvCYiGSKyq1ZZndtWLMuc6x8nIuPOZVmdKhk4+1p+GfgZMAK4WURGuDaqFlEJ/MoYMwKYDDzoXM9FwAZjzBBgg/P/jmYhsLfW/38CXjDGDAZygLtcElXL+hvwb2PMMGAM1vp32G0tIr2Ah4FIY8worJaOb6Jjbus3gDmnlJ1p2/4MGOJ83QssP5cFdapkAEwEEo0xh4wx5cD7wFUujqnZGWPSjTE7nO8LsHYOvbDW9U3naG8CV7skwBYiIr2By4F/Ov8XYDqw2jlKR1znQGAq8C8AY0y5MSaXDr6tsVpc9hYRd8AHSKcDbmtjzEYg+5TiM23bq4C3jOVHIEhEejR0WZ0tGfQCUmr9n+os67BEpD8wFtgKhBlj0p2DjgGN61G77XoR+A3gcP4fAuQaYyqd/3fE7T0AOAG87qwe+6eI+NKBt7Ux5ijwPHAEKwnkAdF0/G1d7Uzbtkn7t86WDDoVEfEDPgJ+YYzJrz3MWPcUd5j7ikVkLpBhjIl2dSytzB0YByw3xowFijilSqgDbutgrKPgAUBPwJfTq1I6hebctp0tGXSavpZFxI6VCN4xxnzsLD5efdro/JvhqvhawIXAlSKShFX9Nx2rLj3IWZUAHXN7pwKpxpitzv9XYyWHjrytLwUOG2NOGGMqgI+xtn9H39bVzrRtm7R/62zJoFP0teysK/8XsNcYs7TWoDXAPOf7ecBnrR1bSzHG/NYY09sY0x9ru35jjLkV+Ba4zjlah1pnAGPMMSBFRIY6i2YAe+jA2xqremiyiPg4v+vV69yht3UtZ9q2a4A7nHcVTQbyalUn1c8Y06lewGXAAeAg8HtXx9NC63gR1qljHBDjfF2GVYe+AUgA/gN0cXWsLbT+04C1zvcDgW1AIvAh4Onq+FpgfSOAKOf2/hQI7ujbGnga2AfsAlYCnh1xWwPvYV0XqcA6C7zrTNsWEKy7JQ8C8Vh3WzV4WdochVJKqU5XTaSUUqoOmgyUUkppMlBKKaXJQCmlFJoMlFJKoclAqXqJSP/arUbWKv9ORM65M3IReUpEHm2e6JRqHpoMlFJKaTJQqoHcReQdZ38Bq0XEp/ZAEblZROKd7ev/qVb5HBHZISKxIrLh1JmKyD0i8qWIeLfGSih1Ju71j6KUAoYCdxljNovIa8AD1QNEpCdWW/rjsdrR/1pErgY2A/8AphpjDotIl9ozFJGHgJnA1caYstZZDaXqpslAqYZJMcZsdr5/G6tzlWoTgO+MMScAROQdrD4GqoCNxpjDAMaY2u3S34HV3PDVxmpsTSmX0moipRrm1HZbmtqOSzzQH6tlSaVcTpOBUg3TV0TOd76/BdhUa9g24GIR6ersWvVm4HvgR2CqiAwAq+/aWtPsBO4D1jirmZRyKU0GSjXMfqy+pPditQpa07+ssZoJXoTVhHIsEG2M+cxZbXQv8LGIxAKras/QGLMJeBT4QkS6ts5qKFU3bbVUKaWUnhkopZTSZKCUUgpNBkoppdBkoJRSCk0GSiml0GSglFIKTQZKKaWA/w8zOnf315pHyAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df.plot(\"block\", [\"pool_length\", \"users\", \"pool_strat_users\", \"pool_nonstrat_users\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We observe in the chart above the transaction pool length, and indeed confirm that most users in the pool are non-strategic. **Strategic users get ahead by outbidding them**.\n", "\n", "### When basefee settles, strategic behaviour does not help\n", "\n", "We'll now look at the trace more closely. We export simulation data to pandas `DataFrame`s for ease of manipulation, using the `export` methods we defined in our classes." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# Obtain the pool of users (all users spawned by the simulation)\n", "user_pool_df = user_pool.export().rename(columns={ \"pub_key\": \"sender\" })\n", "\n", "# Export the trace of the chain, all transactions included in blocks\n", "chain_df = chain.export()\n", "\n", "# Join the two to associate transactions with their senders\n", "user_txs_df = chain_df.join(user_pool_df.set_index(\"sender\"), on=\"sender\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For now we'll only look at the distribution of strategic vs. non-strategic users in the blocks." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Obtain per user type statistics\n", "txs_per_user_type = user_txs_df.groupby(\n", " [\"block_height\", \"user_type\"]\n", ").agg(\n", " { \"user_type\": len }\n", ").unstack(level=-1).reset_index()\n", "\n", "txs_per_user_type[\"user_type\"] = txs_per_user_type[\"user_type\"].fillna(0)\n", "\n", "txs_per_user_type.columns = [\"block_height\", \"strategic\", \"nonstrategic\"]\n", "\n", "txs_per_user_type[\"total\"] = txs_per_user_type.apply(\n", " lambda row: row.strategic + row.nonstrategic,\n", " axis = 1\n", ")\n", "txs_per_user_type[\"percent_strategic\"] = txs_per_user_type.apply(\n", " lambda row: row.strategic / row.total * 100,\n", " axis = 1\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We first check how many users in each block are strategic/non-strategic." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "txs_per_user_type.plot(\"block_height\", [\"strategic\", \"nonstrategic\", \"total\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From this plot, a few observations stand out:\n", " \n", "1. For the first few blocks, only strategic users are included.\n", "2. This changes before the basefee reaches its apex (at block 26), as more and more non-strategic users are included. By block 20, more non-strategic users are included than strategic.\n", "3. There are weird sawtooths between blocks 25 and 50. I don't believe these have much interpretation, having more to do with discontinuous behaviour of the simulation. When the basefee drops by a small amount, some users in the pool are included, sometimes enough for the basefee to increase again, after which most users cannot get in. This keeps on going until all users left in the pool have a fee cap lower than the stationary basefee level.\n", "4. Once series stabilise, we observe that strategic and non-strategic users get in at equal ratio. Remember that we spawn equal numbers of strategic and non-strategic users each round, so we may conclude here that strategic users lost their overbidding advantage: at this point, the basefee is more determinant to decide who gets in or not.\n", "\n", "This is confirmed by the following plot, which shows the percentage of strategic users in each block." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "txs_per_user_type.plot(\"block_height\", \"percent_strategic\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Piecing parts together\n", "\n", "In the chart above, between blocks 0 and 26, before basefee reaches its apex, strategic users are included in much higher proportions than non-strategic users. Not surprising, since they post higher premiums. More surprising however is that this proportion is decreasing, until it is reversed: by block 20, more non-strategic users are included than strategic.\n", "\n", "This is trickier to explain but we can sketch the following narrative.\n", "\n", "1. Most users, both strategic and non-strategic, have valid transactions (for which the cap is above the basefee) to send. Strategic users get in first and take all the slots.\n", "2. Users start being discriminated by the basefee. Strategic users with valid transactions get in, some non-strategic users get in too.\n", "3. Basefee keeps increasing. _High-valued_ non-strategic users which were languishing in the pool start filling the block, while most new, _low-valued_ strategic users are priced out.\n", "4. Basefee hits highest level. No one gets in.\n", "5. Basefee starts decreasing. Valid leftovers in the pool (almost all of them non-strategic) are included with some of the new users.\n", "6. Basefee stabilises. Only new users are included, no one in the pool is valid anymore.\n", "\n", "It is expected to find this instability during transitionary periods, where the basefee needs to adapt to a changing demand, e.g., a spike in transactions or higher values for transacting. We find however that once the basefee settles, strategic users no longer have the edge over nonstrategic ones: the basefee is the true determinant for inclusion." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Value bidding\n", "\n", "In this section, we change the bidding behaviour once more. Previously, we looked at `OptimisticUser`s who set their gas premium to 1 Gwei, a small, fixed value meant to compensate miner work, or `StrategicUser`s who overbid when blocks are full. With EIP 1559 implemented, it is reasonable to believe most users would follow this simple bidding strategy: look at the gasprice level (the current basefee plus this 1 Gwei premium) and decide sending their transaction or not, sometimes adjusting the premium when congestion spikes.\n", "\n", "We'll relax this assumption however, and look at the case where users **set their premium according to their value for the transaction**: the higher their value, the greater the premium." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "class OptimisticUser(User1559):\n", " def expected_time(self, params):\n", " return 1\n", " \n", " def decide_parameters(self, params):\n", " # Users add a fraction of their value to their premium\n", " # Higher value users thus have higher premiums, all else equal\n", " gas_premium = 1 * (10 ** 9) + self.value // 1000\n", " max_fee = self.value\n", " \n", " return {\n", " \"max_fee\": max_fee,\n", " \"gas_premium\": gas_premium, # in wei\n", " \"start_block\": self.wakeup_block,\n", " }\n", " \n", "class StrategicUser(User1559):\n", " \"\"\"\n", " A strategic affine user sending 1559 transactions.\n", " \n", " - Expects to be included in the next block\n", " - Prefers not to participate if its expected payoff is negative\n", " - Strategic gas_premium\n", " \"\"\"\n", " \n", " epsilon = 0.1 # how much the user overbids by\n", "\n", " def expected_time(self, params):\n", " return 1\n", "\n", " def decide_parameters(self, params):\n", " if params[\"min_premium\"] is None:\n", " min_premium = 1 * (10 ** 9)\n", " else:\n", " min_premium = params[\"min_premium\"]\n", "\n", " gas_premium = min_premium + self.value // 1000 + self.epsilon * (10 ** 9)\n", " max_fee = self.value\n", "\n", " return {\n", " \"max_fee\": max_fee, # in wei\n", " \"gas_premium\": gas_premium, # in wei\n", " \"start_block\": self.wakeup_block,\n", " }\n", "\n", " def export(self):\n", " return {\n", " **super().export(),\n", " \"user_type\": \"strategic_user_1559\",\n", " }\n", "\n", " def __str__(self):\n", " return f\"1559 strategic affine user with value {self.value} and cost {self.cost_per_unit}\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run the simulation again." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "strategic_share = 0.5\n", "shares_scenario = [{\n", " StrategicUser: strategic_share,\n", " OptimisticUser: 1 - strategic_share,\n", "} for i in range(blocks)]\n", "\n", "(df, user_pool, chain) = simulate(demand_scenario, shares_scenario)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Basefee and minimum premiums have similar dynamics." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df.plot(\"block\", [\"basefee\", \"blk_min_premium\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We obtain the average value of included strategic and non-strategic users." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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r5RyOxroXUlr9EopN6SB3pU00Cul3JAGelfSQK/cQHx8PN26dSs13bk/9Or2nVLS9OnT+fjjj8+/YC2ZN28eL79cO30PuQONSq6kOXp1kbr33ntrbNuOm348PKpeLx0/fjzjx493YanqFg30rqQ1euXklfWvEJcS59JtdgrvxKP9S/YGXlp+fj633norGzdupGvXruXWtk+ePMk111zDU089xdVXX11q/rJly3jmmWcIDQ1l27Zt/PGPf6R79+68+eabZGVl8f3339O2bVueffZZAgMD+cc//lFuv/VlmT17NnPnziU1NZWEhAQmTZrEM888Q3x8PKNHj2bAgAHExsayYMEC5syZw5w5c8jJyWHixIk899xzxMfHM2bMGAYOHMjq1avp168fd955J8888wxJSUl89tln9O/fv1gf/HfccUexbo0dfcNX9FjrIk3duJIGeuUmdu/ezZQpU9i1axfBwcG89957pZY5ceIEV199Nc8//3yZQd5hy5YtTJ8+nV27dvHJJ5+wZ88e1q9fz1133VWsAy5njn7r33jjjTIH3nC2fv16vv32W7Zu3crXX39dmF7au3cvU6ZMYceOHezevZu9e/eyfv16Nm/eTGxsLCtWrABg3759/P3vfycuLo64uDg+//xzVq1axbRp0/j3v/9d0besysdaF2hUciUN9MpJRWreNaV169aFHWpNmjSJt956q9j8vLw8RowYwbvvvsuQIUPOua1+/foVdrzVtm3bwv7ju3fvzm+//VbmOmX1W1+eK6+8koYNGxaut2rVKq699lratGlT2Cnb4sWLWbx4Mb179wasfuf37t1LREQEUVFRdO/eHYCuXbsyYsQIRITu3bufd9+uONa6QKOSK+nAI8pNlOxvvuRrLy8v+vbty6JFi84b6J17ovTw8Ch87eHhUW6f9JXpt768sjr3RW+M4fHHH+eee+4ptmx8fHyly+fl5YXNZgOs/t9zc3Ordax1gaZuXEkHHlFu4vDhw6xZswaw+rO5/PLLi80XEWbNmkVcXByvvPJKbRSx0JIlS0hJSSnMg5fVte/o0aOZNWtW4TirCQkJJCWVNQTG+UVGRhIbGwtYrXHy8vKqXvg6QgO9K2nqRrmJjh078u6779K5c2dOnz7NfffdV2oZT09PvvjiC3799dcyc/gXSv/+/bnuuuvo0aMH1113XbExYx1G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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Obtain the pool of users (all users spawned by the simulation)\n", "user_pool_df = user_pool.export().rename(columns={ \"pub_key\": \"sender\" })\n", "\n", "# Export the trace of the chain, all transactions included in blocks\n", "chain_df = chain.export()\n", "\n", "# Join the two to associate transactions with their senders\n", "user_txs_df = chain_df.join(user_pool_df.set_index(\"sender\"), on=\"sender\")\n", "\n", "# Obtain per user type statistics\n", "txs_per_user_type = user_txs_df.groupby(\n", " [\"block_height\", \"user_type\"]\n", ").agg(\n", " { \"value\": np.mean }\n", ").unstack(level=-1).reset_index()\n", "\n", "txs_per_user_type[\"value\"] = txs_per_user_type[\"value\"].fillna(0)\n", "\n", "txs_per_user_type.columns = [\"block_height\", \"avg_strategic_value\", \"avg_nonstrategic_value\"]\n", "txs_per_user_type[\"blk_min_premium\"] = df[\"blk_min_premium\"]\n", "\n", "txs_per_user_type.plot(\"block_height\", [\"avg_strategic_value\", \"avg_nonstrategic_value\", \"blk_min_premium\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We recognise familiar dynamics: for the first 10 blocks or so, non-strategic users are not included, being outbid by strategic users. Once the basefee prices out enough transactions, there is room for strategic users to join. High-value users get in first, since their premium increases with their value. Yet once the basefee stabilises, both groups of included users have equal average value.\n", "\n", "It is useful to obtain a counterfactual, to check what the results would be with all users non-strategic. We set the `strategic_share` to zero and run the simulation again." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "strategic_share = 0\n", "shares_scenario = [{\n", " StrategicUser: strategic_share,\n", " OptimisticUser: 1 - strategic_share,\n", "} for i in range(blocks)]\n", "\n", "(df2, user_pool2, chain2) = simulate(demand_scenario, shares_scenario)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# Obtain the pool of users (all users spawned by the simulation)\n", "user_pool_df2 = user_pool2.export().rename(columns={ \"pub_key\": \"sender\" })\n", "\n", "# Export the trace of the chain, all transactions included in blocks\n", "chain_df2 = chain2.export()\n", "\n", "# Join the two to associate transactions with their senders\n", "user_txs_df2 = chain_df2.join(user_pool_df2.set_index(\"sender\"), on=\"sender\")\n", "\n", "# Compute included users' payoffs\n", "user_txs_df2[\"payoff\"] = user_txs_df2.apply(\n", " lambda row: row.user.payoff({\n", " \"current_block\": row.block_height,\n", " \"gas_price\": row.tx.gas_price({\n", " \"basefee\": row.basefee * (10 ** 9) # we need basefee in wei\n", " })\n", " }) / (10 ** 9), # put payoff is in Gwei\n", " axis = 1\n", ")\n", "\n", "# Obtain per user type statistics\n", "txs_per_user_type2 = user_txs_df2.groupby(\n", " [\"block_height\", \"user_type\"]\n", ").agg(\n", " { \"value\": [\"mean\"] }\n", ").unstack(level=-1).fillna(0).reset_index()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We look at the average value of included users in our original scenario and the counterfactual." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(10.0, 21.0)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "compare = pd.DataFrame({\n", " \"block_height\": txs_per_user_type.iloc[:,0],\n", " \"strat\": txs_per_user_type.iloc[:,1],\n", " \"nonstrat\": txs_per_user_type.iloc[:,2],\n", " \"nonstrat_counterfact\": txs_per_user_type2.iloc[:,1] })\n", "\n", "compare.plot(\"block_height\", [\"strat\", \"nonstrat\", \"nonstrat_counterfact\"]).set_ylim([10, 21])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the counterfactual scenario, where all users are non-strategic, the average value of included users in the first few blocks is around 16 Gwei per gas. Meanwhile, the average value of included users in the original scenario starts from 12 Gwei per gas!\n", "\n", "We see here the impact of various bidding behaviours on **efficiency**. Auctions are typically deemed efficient when high-value users get what what they want, e.g., when the item being auctioned goes to who wants it the most. When users bid as they do in a first-price auction, the fee market is less efficient than when users are non-strategic. Fortunately, **this inefficiency doesn't last**: once the basefee reaches its stationary level, in both the original scenario as well as the counterfactual, similar-valued users are included (namely, the top 475 of them).\n", "\n", "In future notebooks, we'll investigate the efficiency properties of different fee market mechanisms." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "_Acknowledgements_: Fred Lacs for comments and code." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.2" } }, "nbformat": 4, "nbformat_minor": 4 }