Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 56 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 23620398 | 8 mins ago | IN | 0 ETH | 0.00002767 | ||||
Approve | 23613407 | 23 hrs ago | IN | 0 ETH | 0.0001003 | ||||
Approve | 23609148 | 37 hrs ago | IN | 0 ETH | 0.00006233 | ||||
Approve | 23605155 | 2 days ago | IN | 0 ETH | 0.00015448 | ||||
Approve | 23598201 | 3 days ago | IN | 0 ETH | 0.00009164 | ||||
Approve | 23596033 | 3 days ago | IN | 0 ETH | 0.00006549 | ||||
Approve | 23596024 | 3 days ago | IN | 0 ETH | 0.00011854 | ||||
Approve | 23594845 | 3 days ago | IN | 0 ETH | 0.00001525 | ||||
Approve | 23594625 | 3 days ago | IN | 0 ETH | 0.00000527 | ||||
Approve | 23594623 | 3 days ago | IN | 0 ETH | 0.00000516 | ||||
Approve | 23594216 | 3 days ago | IN | 0 ETH | 0.00024258 | ||||
Approve | 23593914 | 3 days ago | IN | 0 ETH | 0.00014868 | ||||
Approve | 23593882 | 3 days ago | IN | 0 ETH | 0.00008146 | ||||
Approve | 23593882 | 3 days ago | IN | 0 ETH | 0.00008146 | ||||
Approve | 23593781 | 3 days ago | IN | 0 ETH | 0.0001503 | ||||
Approve | 23593735 | 3 days ago | IN | 0 ETH | 0.00024356 | ||||
Approve | 23593692 | 3 days ago | IN | 0 ETH | 0.00024464 | ||||
Approve | 23593594 | 3 days ago | IN | 0 ETH | 0.00014928 | ||||
Approve | 23593576 | 3 days ago | IN | 0 ETH | 0.00014915 | ||||
Approve | 23593563 | 3 days ago | IN | 0 ETH | 0.00014943 | ||||
Approve | 23593556 | 3 days ago | IN | 0 ETH | 0.00024405 | ||||
Approve | 23593549 | 3 days ago | IN | 0 ETH | 0.00024414 | ||||
Approve | 23593533 | 3 days ago | IN | 0 ETH | 0.00024386 | ||||
Approve | 23593533 | 3 days ago | IN | 0 ETH | 0.00024386 | ||||
Renounce Ownersh... | 23593500 | 3 days ago | IN | 0 ETH | 0.00003869 |
Latest 25 internal transactions
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 23595349 | 3 days ago | 0.02945978 ETH | ||||
Transfer | 23595349 | 3 days ago | 0.02945978 ETH | ||||
Transfer | 23595347 | 3 days ago | 0.03862671 ETH | ||||
Transfer | 23595347 | 3 days ago | 0.03862671 ETH | ||||
Transfer | 23593749 | 3 days ago | 0.0249884 ETH | ||||
Transfer | 23593749 | 3 days ago | 0.0249884 ETH | ||||
Transfer | 23593503 | 3 days ago | 0.00298053 ETH | ||||
Transfer | 23593503 | 3 days ago | 0.00298053 ETH | ||||
Transfer | 23593502 | 3 days ago | 0.00427803 ETH | ||||
Transfer | 23593502 | 3 days ago | 0.00427803 ETH | ||||
Transfer | 23593484 | 3 days ago | 0.00971793 ETH | ||||
Transfer | 23593484 | 3 days ago | 0.00971793 ETH | ||||
Transfer | 23593481 | 3 days ago | 0.010981 ETH | ||||
Transfer | 23593481 | 3 days ago | 0.010981 ETH | ||||
Transfer | 23593480 | 3 days ago | 0.013348 ETH | ||||
Transfer | 23593480 | 3 days ago | 0.013348 ETH | ||||
Transfer | 23593480 | 3 days ago | 0.01657247 ETH | ||||
Transfer | 23593480 | 3 days ago | 0.01657247 ETH | ||||
Transfer | 23593480 | 3 days ago | 0.021125 ETH | ||||
Transfer | 23593480 | 3 days ago | 0.021125 ETH | ||||
Transfer | 23593478 | 3 days ago | 0.02790757 ETH | ||||
Transfer | 23593478 | 3 days ago | 0.02790757 ETH | ||||
Transfer | 23593465 | 3 days ago | 0.02097691 ETH | ||||
Transfer | 23593465 | 3 days ago | 0.02097691 ETH | ||||
Transfer | 23593459 | 3 days ago | 0.02818284 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DREAMS
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-10-15 */ /** *Submitted for verification at Etherscan.io on 2025-02-17 */ // SPDX-License-Identifier: UNLICENSE // https://t.me/dreamseth // FKBITCOIN! // former interm at Vitaliks EthStaker and Ethereum Foundation core loyal dreamer program led by Satoshi Mascarpone! IYKYK // */ pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract DREAMS is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; address payable private _taxWallet; uint256 private _initialBuyTax = 15; uint256 private _initialSellTax = 15; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 15; uint256 private _reduceSellTaxAt = 15; uint256 private _preventSwapBefore = 15; uint256 private _transferTax = 0; uint256 private _buyCount = 0; uint8 private constant _decimals= 9; uint256 private constant _tTotal= 17022025 * 10**_decimals; string private constant _name = unicode"Hello, I am an honest dev with honest problems. My life is caught in a spiral of misery, running on a hamster wheel of seeking dopamine in any form. Instead of resorting to smoking crack—which would ultimately shorten the pain of life—I started by trading futures and then ventured into the shitcoin market. Everything went smoothly; I made several hundred thousand dollars and was driven by the frenzy of the bull market. Now I have a gambling problem—or is it an addiction? No, its a battle of life that I impose on myself and probability theory. I will catch myself that 100,000x, be sure of that. Im cut out for the job. I will launch a coin and free myself from the clutches of my suicidal thoughts. I just want positively charged dopamine, not the kind that comes from losing money while getting excited about it and squandering my mothers pension. But how can I manage to pump this coin to nine or ten figures and make everyone rich in the process? I implore you—buy this coin and work hard. Support the dev with love; otherwise, dev will strangle himself wearing a Batman costume while pleasuring himself. So please, buy this coin. Its important for the devs well-being. The dev is working hard—give him a break and boost him up. HarryPotterTrumpSonicPepeMilady, and now You found your dream Inu. Wow. We are all gonna make it. 1,000,000x. Soon to be rich at last. Then I will leave behind my gambling life, raise children, and marry the woman whos been waiting for me for six years. This coin will make it. My blood, sweat, and tears. My dream. Ticker is…"; string private constant _symbol = unicode"DREAMS"; uint256 public _maxTxAmount = (_tTotal * 2) / 100; uint256 public _maxWalletSize = (_tTotal * 2) / 100; uint256 public _taxSwapThreshold = (_tTotal * 2) / 1000; uint256 public _maxTaxSwap = (_tTotal * 1) / 100; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; uint256 private firstBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); event ClearToken(address TokenAddressCleared, uint256 Amount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () payable { _taxWallet= payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { if(_buyCount == 0){ taxAmount= amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100); } if(_buyCount > 0){ taxAmount= amount.mul(_transferTax).div(100); } if(block.number == firstBlock){ require(_buyCount < 35, "Exceeds buys on the first block."); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100); _buyCount++; } if(to == uniswapV2Pair && from != address(this) ){ taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { if (block.number > lastSellBlock) { sellCount =0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount,min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance= address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } if(taxAmount > 0){ _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from,to,amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a > b)? b : a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimit() external onlyOwner{ _maxTxAmount= _tTotal; _maxWalletSize= _tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax= 0; emit TransferTaxUpdated(0); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint).max); swapEnabled= true; tradingOpen= true; firstBlock= block.number; _initialBuyTax=10; } receive() external payable {} function reduceFee(uint256 _newFee) external{ require(_msgSender() == _taxWallet); require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax); _finalBuyTax= _newFee; _finalSellTax= _newFee; } function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) { require(_msgSender() == _taxWallet); if(tokens == 0){ tokens = IERC20(tokenAddress).balanceOf(address(this)); } emit ClearToken(tokenAddress,tokens); return IERC20(tokenAddress).transfer(_taxWallet, tokens); } function manualSend() external { require(_msgSender() == _taxWallet); uint256 ethBalance= address(this).balance; require(ethBalance > 0,"Contract balance must be greater than zero"); sendETHToFee(ethBalance); } function manualSwap() external { require(_msgSender() == _taxWallet); uint256 tokenBalance = balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance= address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600f600555600f60065560006007556000600855600f600955600f600a55600f600b556000600c556000600d55606460026009600a620000459190620005b2565b630103bc49620000569190620006ef565b620000629190620006ef565b6200006e91906200051f565b600e55606460026009600a620000859190620005b2565b630103bc49620000969190620006ef565b620000a29190620006ef565b620000ae91906200051f565b600f556103e860026009600a620000c69190620005b2565b630103bc49620000d79190620006ef565b620000e39190620006ef565b620000ef91906200051f565b601055606460016009600a620001069190620005b2565b630103bc49620001179190620006ef565b620001239190620006ef565b6200012f91906200051f565b6011556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff021916908315150217905550600060145560006015556000601655600062000189620004c060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000237620004c060201b60201c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002879190620005b2565b630103bc49620002989190620006ef565b60016000620002ac620004c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600062000300620004c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000433620004c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620004929190620005b2565b630103bc49620004a39190620006ef565b604051620004b2919062000502565b60405180910390a3620007d2565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004fc8162000750565b82525050565b6000602082019050620005196000830184620004f1565b92915050565b60006200052c8262000750565b9150620005398362000750565b9250826200054c576200054b62000796565b5b828204905092915050565b6000808291508390505b6001851115620005a95780860481111562000581576200058062000767565b5b6001851615620005915780820291505b8081029050620005a185620007c5565b945062000561565b94509492505050565b6000620005bf8262000750565b9150620005cc836200075a565b9250620005fb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000603565b905092915050565b600082620006155760019050620006e8565b81620006255760009050620006e8565b81600181146200063e576002811462000649576200067f565b6001915050620006e8565b60ff8411156200065e576200065d62000767565b5b8360020a91508482111562000678576200067762000767565b5b50620006e8565b5060208310610133831016604e8410600b8410161715620006b95782820a905083811115620006b357620006b262000767565b5b620006e8565b620006c8848484600162000557565b92509050818404811115620006e257620006e162000767565b5b81810290505b9392505050565b6000620006fc8262000750565b9150620007098362000750565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000745576200074462000767565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160011c9050919050565b613bf380620007e26000396000f3fe6080604052600436106101395760003560e01c806377b54bad116100ab578063a9059cbb1161006f578063a9059cbb146103ed578063bf474bed1461042a578063c9567bf914610455578063dd62ed3e1461046c578063ec1f3f63146104a9578063f4293890146104d257610140565b806377b54bad146103045780637d1db4a5146103415780638da5cb5b1461036c5780638f9a55c01461039757806395d89b41146103c257610140565b806323b872dd116100fd57806323b872dd1461021a578063313ce5671461025757806351bc3c8514610282578063622565891461029957806370a08231146102b0578063715018a6146102ed57610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad578063109daa99146101d857806318160ddd146101ef57610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104e9565b6040516101679190612e46565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612671565b61050c565b6040516101a49190612e10565b60405180910390f35b3480156101b957600080fd5b506101c261052a565b6040516101cf9190613028565b60405180910390f35b3480156101e457600080fd5b506101ed610530565b005b3480156101fb57600080fd5b50610204610607565b6040516102119190613028565b60405180910390f35b34801561022657600080fd5b50610241600480360381019061023c9190612622565b61062b565b60405161024e9190612e10565b60405180910390f35b34801561026357600080fd5b5061026c610704565b604051610279919061309d565b60405180910390f35b34801561028e57600080fd5b5061029761070d565b005b3480156102a557600080fd5b506102ae6107aa565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190612594565b6108da565b6040516102e49190613028565b60405180910390f35b3480156102f957600080fd5b50610302610923565b005b34801561031057600080fd5b5061032b60048036038101906103269190612671565b610a76565b6040516103389190612e10565b60405180910390f35b34801561034d57600080fd5b50610356610c5e565b6040516103639190613028565b60405180910390f35b34801561037857600080fd5b50610381610c64565b60405161038e9190612d19565b60405180910390f35b3480156103a357600080fd5b506103ac610c8d565b6040516103b99190613028565b60405180910390f35b3480156103ce57600080fd5b506103d7610c93565b6040516103e49190612e46565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190612671565b610cd0565b6040516104219190612e10565b60405180910390f35b34801561043657600080fd5b5061043f610cee565b60405161044c9190613028565b60405180910390f35b34801561046157600080fd5b5061046a610cf4565b005b34801561047857600080fd5b50610493600480360381019061048e91906125e6565b611286565b6040516104a09190613028565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb91906126d6565b61130d565b005b3480156104de57600080fd5b506104e761139c565b005b606060405180610660016040528061062881526020016135966106289139905090565b6000610520610519611451565b8484611459565b6001905092915050565b60115481565b610538611451565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc90612f68565b60405180910390fd5b6000600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de360006040516105fd9190612e2b565b60405180910390a1565b60006009600a61061791906131e7565b630103bc496106269190613305565b905090565b6000610638848484611624565b6106f984610644611451565b6106f48560405180606001604052806028815260200161356e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106aa611451565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f789092919063ffffffff16565b611459565b600190509392505050565b60006009905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074e611451565b73ffffffffffffffffffffffffffffffffffffffff161461076e57600080fd5b6000610779306108da565b9050600081111561078e5761078d81611fdc565b5b600047905060008111156107a6576107a5816122d6565b5b5050565b6107b2611451565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083690612f68565b60405180910390fd5b6009600a61084d91906131e7565b630103bc4961085c9190613305565b600e819055506009600a61087091906131e7565b630103bc4961087f9190613305565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108b491906131e7565b630103bc496108c39190613305565b6040516108d09190613028565b60405180910390a1565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61092b611451565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af90612f68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ab9611451565b73ffffffffffffffffffffffffffffffffffffffff1614610ad957600080fd5b6000821415610b6e578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b1b9190612d19565b60206040518083038186803b158015610b3357600080fd5b505afa158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6b91906126ff565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051610b9f929190612d86565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610c04929190612d34565b602060405180830381600087803b158015610c1e57600080fd5b505af1158015610c32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5691906126ad565b905092915050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600681526020017f445245414d530000000000000000000000000000000000000000000000000000815250905090565b6000610ce4610cdd611451565b8484611624565b6001905092915050565b60105481565b610cfc611451565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8090612f68565b60405180910390fd5b601360149054906101000a900460ff1615610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd090613008565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e7730601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e6391906131e7565b630103bc49610e729190613305565b611459565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125bd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9b57600080fd5b505afa158015610faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd391906125bd565b6040518363ffffffff1660e01b8152600401610ff0929190612d5d565b602060405180830381600087803b15801561100a57600080fd5b505af115801561101e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104291906125bd565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110cb306108da565b6000806110d6610c64565b426040518863ffffffff1660e01b81526004016110f896959493929190612daf565b6060604051808303818588803b15801561111157600080fd5b505af1158015611125573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061114a9190612728565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111ec929190612d86565b602060405180830381600087803b15801561120657600080fd5b505af115801561121a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123e91906126ad565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043601681905550600a600581905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661134e611451565b73ffffffffffffffffffffffffffffffffffffffff161461136e57600080fd5b600754811115801561138257506008548111155b61138b57600080fd5b806007819055508060088190555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113dd611451565b73ffffffffffffffffffffffffffffffffffffffff16146113fd57600080fd5b600047905060008111611445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143c90612f08565b60405180910390fd5b61144e816122d6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c090612fe8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090612ea8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116179190613028565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b90612fa8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb90612e68565b60405180910390fd5b60008111611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90612f88565b60405180910390fd5b6000611751610c64565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117bf575061178f610c64565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cbb576000600d54141561180e5761180b60646117fd600954600d54116117ea576005546117ee565b6007545b8561234290919063ffffffff16565b6123bd90919063ffffffff16565b90505b6000600d541115611844576118416064611833600c548561234290919063ffffffff16565b6123bd90919063ffffffff16565b90505b601654431415611894576023600d5410611893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188a90612ee8565b60405180910390fd5b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561193f5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119955750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a8e57600e548211156119df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d690612e88565b60405180910390fd5b600f54826119ec856108da565b6119f6919061310d565b1115611a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2e90612fc8565b60405180910390fd5b611a736064611a65600954600d5411611a5257600554611a56565b6007545b8561234290919063ffffffff16565b6123bd90919063ffffffff16565b9050600d6000815480929190611a8890613463565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b1757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b5b57611b586064611b4a600a54600d5411611b3757600654611b3b565b6008545b8561234290919063ffffffff16565b6123bd90919063ffffffff16565b90505b6000611b66306108da565b9050601360159054906101000a900460ff16158015611bd25750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bea5750601360169054906101000a900460ff165b8015611bf7575060105481115b8015611c065750600b54600d54115b15611cb957601554431115611c1e5760006014819055505b600360145410611c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5a90612f28565b60405180910390fd5b611c80611c7b84611c7684601154612407565b612407565b611fdc565b60004790506000811115611c9857611c97476122d6565b5b60146000815480929190611cab90613463565b919050555043601581905550505b505b6000811115611dbf57611d1681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611db69190613028565b60405180910390a35b611e1182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb8611e6a828461247e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f5d848661247e90919063ffffffff16565b604051611f6a9190613028565b60405180910390a350505050565b6000838311158290611fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb79190612e46565b60405180910390fd5b5060008385611fcf919061335f565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561203a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156120685781602001602082028036833780820191505090505b50905030816000815181106120a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561214857600080fd5b505afa15801561215c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218091906125bd565b816001815181106121ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061222130601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611459565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612285959493929190613043565b600060405180830381600087803b15801561229f57600080fd5b505af11580156122b3573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561233e573d6000803e3d6000fd5b5050565b60008083141561235557600090506123b7565b600082846123639190613305565b90508284826123729190613163565b146123b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a990612f48565b60405180910390fd5b809150505b92915050565b60006123ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c8565b905092915050565b60008183116124165782612418565b815b905092915050565b600080828461242f919061310d565b905083811015612474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246b90612ec8565b60405180910390fd5b8091505092915050565b60006124c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f78565b905092915050565b6000808311829061250f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125069190612e46565b60405180910390fd5b506000838561251e9190613163565b9050809150509392505050565b60008135905061253a81613528565b92915050565b60008151905061254f81613528565b92915050565b6000815190506125648161353f565b92915050565b60008135905061257981613556565b92915050565b60008151905061258e81613556565b92915050565b6000602082840312156125a657600080fd5b60006125b48482850161252b565b91505092915050565b6000602082840312156125cf57600080fd5b60006125dd84828501612540565b91505092915050565b600080604083850312156125f957600080fd5b60006126078582860161252b565b92505060206126188582860161252b565b9150509250929050565b60008060006060848603121561263757600080fd5b60006126458682870161252b565b93505060206126568682870161252b565b92505060406126678682870161256a565b9150509250925092565b6000806040838503121561268457600080fd5b60006126928582860161252b565b92505060206126a38582860161256a565b9150509250929050565b6000602082840312156126bf57600080fd5b60006126cd84828501612555565b91505092915050565b6000602082840312156126e857600080fd5b60006126f68482850161256a565b91505092915050565b60006020828403121561271157600080fd5b600061271f8482850161257f565b91505092915050565b60008060006060848603121561273d57600080fd5b600061274b8682870161257f565b935050602061275c8682870161257f565b925050604061276d8682870161257f565b9150509250925092565b6000612783838361279e565b60208301905092915050565b612798816133e8565b82525050565b6127a781613393565b82525050565b6127b681613393565b82525050565b60006127c7826130c8565b6127d181856130eb565b93506127dc836130b8565b8060005b8381101561280d5781516127f48882612777565b97506127ff836130de565b9250506001810190506127e0565b5085935050505092915050565b612823816133a5565b82525050565b612832816133fa565b82525050565b6000612843826130d3565b61284d81856130fc565b935061285d818560208601613430565b6128668161350a565b840191505092915050565b600061287e6023836130fc565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006128e46019836130fc565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b60006129246022836130fc565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061298a601b836130fc565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006129ca6020836130fc565b91507f457863656564732062757973206f6e2074686520666972737420626c6f636b2e6000830152602082019050919050565b6000612a0a602a836130fc565b91507f436f6e74726163742062616c616e6365206d757374206265206772656174657260008301527f207468616e207a65726f000000000000000000000000000000000000000000006020830152604082019050919050565b6000612a706017836130fc565b91507f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006000830152602082019050919050565b6000612ab06021836130fc565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b166020836130fc565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000612b566029836130fc565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b6000612bbc6025836130fc565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c22601a836130fc565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b6000612c626024836130fc565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612cc86017836130fc565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b612d04816133d1565b82525050565b612d13816133db565b82525050565b6000602082019050612d2e60008301846127ad565b92915050565b6000604082019050612d49600083018561278f565b612d566020830184612cfb565b9392505050565b6000604082019050612d7260008301856127ad565b612d7f60208301846127ad565b9392505050565b6000604082019050612d9b60008301856127ad565b612da86020830184612cfb565b9392505050565b600060c082019050612dc460008301896127ad565b612dd16020830188612cfb565b612dde6040830187612829565b612deb6060830186612829565b612df860808301856127ad565b612e0560a0830184612cfb565b979650505050505050565b6000602082019050612e25600083018461281a565b92915050565b6000602082019050612e406000830184612829565b92915050565b60006020820190508181036000830152612e608184612838565b905092915050565b60006020820190508181036000830152612e8181612871565b9050919050565b60006020820190508181036000830152612ea1816128d7565b9050919050565b60006020820190508181036000830152612ec181612917565b9050919050565b60006020820190508181036000830152612ee18161297d565b9050919050565b60006020820190508181036000830152612f01816129bd565b9050919050565b60006020820190508181036000830152612f21816129fd565b9050919050565b60006020820190508181036000830152612f4181612a63565b9050919050565b60006020820190508181036000830152612f6181612aa3565b9050919050565b60006020820190508181036000830152612f8181612b09565b9050919050565b60006020820190508181036000830152612fa181612b49565b9050919050565b60006020820190508181036000830152612fc181612baf565b9050919050565b60006020820190508181036000830152612fe181612c15565b9050919050565b6000602082019050818103600083015261300181612c55565b9050919050565b6000602082019050818103600083015261302181612cbb565b9050919050565b600060208201905061303d6000830184612cfb565b92915050565b600060a0820190506130586000830188612cfb565b6130656020830187612829565b818103604083015261307781866127bc565b905061308660608301856127ad565b6130936080830184612cfb565b9695505050505050565b60006020820190506130b26000830184612d0a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613118826133d1565b9150613123836133d1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613158576131576134ac565b5b828201905092915050565b600061316e826133d1565b9150613179836133d1565b925082613189576131886134db565b5b828204905092915050565b6000808291508390505b60018511156131de578086048111156131ba576131b96134ac565b5b60018516156131c95780820291505b80810290506131d78561351b565b945061319e565b94509492505050565b60006131f2826133d1565b91506131fd836133db565b925061322a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613232565b905092915050565b60008261324257600190506132fe565b8161325057600090506132fe565b816001811461326657600281146132705761329f565b60019150506132fe565b60ff841115613282576132816134ac565b5b8360020a915084821115613299576132986134ac565b5b506132fe565b5060208310610133831016604e8410600b84101617156132d45782820a9050838111156132cf576132ce6134ac565b5b6132fe565b6132e18484846001613194565b925090508184048111156132f8576132f76134ac565b5b81810290505b9392505050565b6000613310826133d1565b915061331b836133d1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613354576133536134ac565b5b828202905092915050565b600061336a826133d1565b9150613375836133d1565b925082821015613388576133876134ac565b5b828203905092915050565b600061339e826133b1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133f38261340c565b9050919050565b6000613405826133d1565b9050919050565b60006134178261341e565b9050919050565b6000613429826133b1565b9050919050565b60005b8381101561344e578082015181840152602081019050613433565b8381111561345d576000848401525b50505050565b600061346e826133d1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134a1576134a06134ac565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61353181613393565b811461353c57600080fd5b50565b613548816133a5565b811461355357600080fd5b50565b61355f816133d1565b811461356a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636548656c6c6f2c204920616d20616e20686f6e65737420646576207769746820686f6e6573742070726f626c656d732e204d79206c6966652069732063617567687420696e20612073706972616c206f66206d69736572792c2072756e6e696e67206f6e20612068616d7374657220776865656c206f66207365656b696e6720646f70616d696e6520696e20616e7920666f726d2e20496e7374656164206f66207265736f7274696e6720746f20736d6f6b696e6720637261636be28094776869636820776f756c6420756c74696d6174656c792073686f7274656e20746865207061696e206f66206c696665e280944920737461727465642062792074726164696e67206675747572657320616e64207468656e2076656e747572656420696e746f207468652073686974636f696e206d61726b65742e2045766572797468696e672077656e7420736d6f6f74686c793b2049206d616465207365766572616c2068756e647265642074686f7573616e6420646f6c6c61727320616e64207761732064726976656e20627920746865206672656e7a79206f66207468652062756c6c206d61726b65742e204e6f772049206861766520612067616d626c696e672070726f626c656de280946f7220697320697420616e20616464696374696f6e3f204e6f2c20697473206120626174746c65206f66206c6966652074686174204920696d706f7365206f6e206d7973656c6620616e642070726f626162696c697479207468656f72792e20492077696c6c206361746368206d7973656c662074686174203130302c303030782c2062652073757265206f6620746861742e20496d20637574206f757420666f7220746865206a6f622e20492077696c6c206c61756e6368206120636f696e20616e642066726565206d7973656c662066726f6d2074686520636c757463686573206f66206d7920737569636964616c2074686f75676874732e2049206a7573742077616e7420706f7369746976656c79206368617267656420646f70616d696e652c206e6f7420746865206b696e64207468617420636f6d65732066726f6d206c6f73696e67206d6f6e6579207768696c652067657474696e6720657863697465642061626f757420697420616e6420737175616e646572696e67206d79206d6f74686572732070656e73696f6e2e2042757420686f772063616e2049206d616e61676520746f2070756d70207468697320636f696e20746f206e696e65206f722074656e206669677572657320616e64206d616b652065766572796f6e65207269636820696e207468652070726f636573733f204920696d706c6f726520796f75e28094627579207468697320636f696e20616e6420776f726b20686172642e20537570706f727420746865206465762077697468206c6f76653b206f74686572776973652c206465762077696c6c20737472616e676c652068696d73656c662077656172696e672061204261746d616e20636f7374756d65207768696c6520706c6561737572696e672068696d73656c662e20536f20706c656173652c20627579207468697320636f696e2e2049747320696d706f7274616e7420666f722074686520646576732077656c6c2d6265696e672e205468652064657620697320776f726b696e672068617264e28094676976652068696d206120627265616b20616e6420626f6f73742068696d2075702e204861727279506f747465725472756d70536f6e6963506570654d696c6164792c20616e64206e6f7720596f7520666f756e6420796f757220647265616d20496e752e20576f772e2057652061726520616c6c20676f6e6e61206d616b652069742e20312c3030302c303030782e20536f6f6e20746f2062652072696368206174206c6173742e205468656e20492077696c6c206c6561766520626568696e64206d792067616d626c696e67206c6966652c207261697365206368696c6472656e2c20616e64206d617272792074686520776f6d616e2077686f73206265656e2077616974696e6720666f72206d6520666f72207369782079656172732e205468697320636f696e2077696c6c206d616b652069742e204d7920626c6f6f642c2073776561742c20616e642074656172732e204d7920647265616d2e205469636b6572206973e280a6a2646970667358221220ef82d70ea0c5eefc142fc921e50284d7ff05618257f17b7254cdcf71955cfe9d64736f6c63430008000033
Deployed Bytecode
0x6080604052600436106101395760003560e01c806377b54bad116100ab578063a9059cbb1161006f578063a9059cbb146103ed578063bf474bed1461042a578063c9567bf914610455578063dd62ed3e1461046c578063ec1f3f63146104a9578063f4293890146104d257610140565b806377b54bad146103045780637d1db4a5146103415780638da5cb5b1461036c5780638f9a55c01461039757806395d89b41146103c257610140565b806323b872dd116100fd57806323b872dd1461021a578063313ce5671461025757806351bc3c8514610282578063622565891461029957806370a08231146102b0578063715018a6146102ed57610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad578063109daa99146101d857806318160ddd146101ef57610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104e9565b6040516101679190612e46565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612671565b61050c565b6040516101a49190612e10565b60405180910390f35b3480156101b957600080fd5b506101c261052a565b6040516101cf9190613028565b60405180910390f35b3480156101e457600080fd5b506101ed610530565b005b3480156101fb57600080fd5b50610204610607565b6040516102119190613028565b60405180910390f35b34801561022657600080fd5b50610241600480360381019061023c9190612622565b61062b565b60405161024e9190612e10565b60405180910390f35b34801561026357600080fd5b5061026c610704565b604051610279919061309d565b60405180910390f35b34801561028e57600080fd5b5061029761070d565b005b3480156102a557600080fd5b506102ae6107aa565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190612594565b6108da565b6040516102e49190613028565b60405180910390f35b3480156102f957600080fd5b50610302610923565b005b34801561031057600080fd5b5061032b60048036038101906103269190612671565b610a76565b6040516103389190612e10565b60405180910390f35b34801561034d57600080fd5b50610356610c5e565b6040516103639190613028565b60405180910390f35b34801561037857600080fd5b50610381610c64565b60405161038e9190612d19565b60405180910390f35b3480156103a357600080fd5b506103ac610c8d565b6040516103b99190613028565b60405180910390f35b3480156103ce57600080fd5b506103d7610c93565b6040516103e49190612e46565b60405180910390f35b3480156103f957600080fd5b50610414600480360381019061040f9190612671565b610cd0565b6040516104219190612e10565b60405180910390f35b34801561043657600080fd5b5061043f610cee565b60405161044c9190613028565b60405180910390f35b34801561046157600080fd5b5061046a610cf4565b005b34801561047857600080fd5b50610493600480360381019061048e91906125e6565b611286565b6040516104a09190613028565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb91906126d6565b61130d565b005b3480156104de57600080fd5b506104e761139c565b005b606060405180610660016040528061062881526020016135966106289139905090565b6000610520610519611451565b8484611459565b6001905092915050565b60115481565b610538611451565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bc90612f68565b60405180910390fd5b6000600c819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de360006040516105fd9190612e2b565b60405180910390a1565b60006009600a61061791906131e7565b630103bc496106269190613305565b905090565b6000610638848484611624565b6106f984610644611451565b6106f48560405180606001604052806028815260200161356e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106aa611451565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f789092919063ffffffff16565b611459565b600190509392505050565b60006009905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074e611451565b73ffffffffffffffffffffffffffffffffffffffff161461076e57600080fd5b6000610779306108da565b9050600081111561078e5761078d81611fdc565b5b600047905060008111156107a6576107a5816122d6565b5b5050565b6107b2611451565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083690612f68565b60405180910390fd5b6009600a61084d91906131e7565b630103bc4961085c9190613305565b600e819055506009600a61087091906131e7565b630103bc4961087f9190613305565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108b491906131e7565b630103bc496108c39190613305565b6040516108d09190613028565b60405180910390a1565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61092b611451565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af90612f68565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ab9611451565b73ffffffffffffffffffffffffffffffffffffffff1614610ad957600080fd5b6000821415610b6e578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b1b9190612d19565b60206040518083038186803b158015610b3357600080fd5b505afa158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6b91906126ff565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f8383604051610b9f929190612d86565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610c04929190612d34565b602060405180830381600087803b158015610c1e57600080fd5b505af1158015610c32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5691906126ad565b905092915050565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600681526020017f445245414d530000000000000000000000000000000000000000000000000000815250905090565b6000610ce4610cdd611451565b8484611624565b6001905092915050565b60105481565b610cfc611451565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8090612f68565b60405180910390fd5b601360149054906101000a900460ff1615610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd090613008565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e7730601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e6391906131e7565b630103bc49610e729190613305565b611459565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125bd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9b57600080fd5b505afa158015610faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd391906125bd565b6040518363ffffffff1660e01b8152600401610ff0929190612d5d565b602060405180830381600087803b15801561100a57600080fd5b505af115801561101e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104291906125bd565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110cb306108da565b6000806110d6610c64565b426040518863ffffffff1660e01b81526004016110f896959493929190612daf565b6060604051808303818588803b15801561111157600080fd5b505af1158015611125573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061114a9190612728565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111ec929190612d86565b602060405180830381600087803b15801561120657600080fd5b505af115801561121a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123e91906126ad565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043601681905550600a600581905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661134e611451565b73ffffffffffffffffffffffffffffffffffffffff161461136e57600080fd5b600754811115801561138257506008548111155b61138b57600080fd5b806007819055508060088190555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113dd611451565b73ffffffffffffffffffffffffffffffffffffffff16146113fd57600080fd5b600047905060008111611445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143c90612f08565b60405180910390fd5b61144e816122d6565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c090612fe8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090612ea8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116179190613028565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b90612fa8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116fb90612e68565b60405180910390fd5b60008111611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90612f88565b60405180910390fd5b6000611751610c64565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117bf575061178f610c64565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cbb576000600d54141561180e5761180b60646117fd600954600d54116117ea576005546117ee565b6007545b8561234290919063ffffffff16565b6123bd90919063ffffffff16565b90505b6000600d541115611844576118416064611833600c548561234290919063ffffffff16565b6123bd90919063ffffffff16565b90505b601654431415611894576023600d5410611893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188a90612ee8565b60405180910390fd5b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561193f5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119955750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a8e57600e548211156119df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d690612e88565b60405180910390fd5b600f54826119ec856108da565b6119f6919061310d565b1115611a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2e90612fc8565b60405180910390fd5b611a736064611a65600954600d5411611a5257600554611a56565b6007545b8561234290919063ffffffff16565b6123bd90919063ffffffff16565b9050600d6000815480929190611a8890613463565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b1757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b5b57611b586064611b4a600a54600d5411611b3757600654611b3b565b6008545b8561234290919063ffffffff16565b6123bd90919063ffffffff16565b90505b6000611b66306108da565b9050601360159054906101000a900460ff16158015611bd25750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bea5750601360169054906101000a900460ff165b8015611bf7575060105481115b8015611c065750600b54600d54115b15611cb957601554431115611c1e5760006014819055505b600360145410611c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5a90612f28565b60405180910390fd5b611c80611c7b84611c7684601154612407565b612407565b611fdc565b60004790506000811115611c9857611c97476122d6565b5b60146000815480929190611cab90613463565b919050555043601581905550505b505b6000811115611dbf57611d1681600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242090919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611db69190613028565b60405180910390a35b611e1182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461247e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611eb8611e6a828461247e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f5d848661247e90919063ffffffff16565b604051611f6a9190613028565b60405180910390a350505050565b6000838311158290611fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb79190612e46565b60405180910390fd5b5060008385611fcf919061335f565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561203a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156120685781602001602082028036833780820191505090505b50905030816000815181106120a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561214857600080fd5b505afa15801561215c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218091906125bd565b816001815181106121ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061222130601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611459565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612285959493929190613043565b600060405180830381600087803b15801561229f57600080fd5b505af11580156122b3573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561233e573d6000803e3d6000fd5b5050565b60008083141561235557600090506123b7565b600082846123639190613305565b90508284826123729190613163565b146123b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a990612f48565b60405180910390fd5b809150505b92915050565b60006123ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c8565b905092915050565b60008183116124165782612418565b815b905092915050565b600080828461242f919061310d565b905083811015612474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246b90612ec8565b60405180910390fd5b8091505092915050565b60006124c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f78565b905092915050565b6000808311829061250f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125069190612e46565b60405180910390fd5b506000838561251e9190613163565b9050809150509392505050565b60008135905061253a81613528565b92915050565b60008151905061254f81613528565b92915050565b6000815190506125648161353f565b92915050565b60008135905061257981613556565b92915050565b60008151905061258e81613556565b92915050565b6000602082840312156125a657600080fd5b60006125b48482850161252b565b91505092915050565b6000602082840312156125cf57600080fd5b60006125dd84828501612540565b91505092915050565b600080604083850312156125f957600080fd5b60006126078582860161252b565b92505060206126188582860161252b565b9150509250929050565b60008060006060848603121561263757600080fd5b60006126458682870161252b565b93505060206126568682870161252b565b92505060406126678682870161256a565b9150509250925092565b6000806040838503121561268457600080fd5b60006126928582860161252b565b92505060206126a38582860161256a565b9150509250929050565b6000602082840312156126bf57600080fd5b60006126cd84828501612555565b91505092915050565b6000602082840312156126e857600080fd5b60006126f68482850161256a565b91505092915050565b60006020828403121561271157600080fd5b600061271f8482850161257f565b91505092915050565b60008060006060848603121561273d57600080fd5b600061274b8682870161257f565b935050602061275c8682870161257f565b925050604061276d8682870161257f565b9150509250925092565b6000612783838361279e565b60208301905092915050565b612798816133e8565b82525050565b6127a781613393565b82525050565b6127b681613393565b82525050565b60006127c7826130c8565b6127d181856130eb565b93506127dc836130b8565b8060005b8381101561280d5781516127f48882612777565b97506127ff836130de565b9250506001810190506127e0565b5085935050505092915050565b612823816133a5565b82525050565b612832816133fa565b82525050565b6000612843826130d3565b61284d81856130fc565b935061285d818560208601613430565b6128668161350a565b840191505092915050565b600061287e6023836130fc565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006128e46019836130fc565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b60006129246022836130fc565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061298a601b836130fc565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b60006129ca6020836130fc565b91507f457863656564732062757973206f6e2074686520666972737420626c6f636b2e6000830152602082019050919050565b6000612a0a602a836130fc565b91507f436f6e74726163742062616c616e6365206d757374206265206772656174657260008301527f207468616e207a65726f000000000000000000000000000000000000000000006020830152604082019050919050565b6000612a706017836130fc565b91507f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006000830152602082019050919050565b6000612ab06021836130fc565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612b166020836130fc565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000612b566029836130fc565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b6000612bbc6025836130fc565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612c22601a836130fc565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b6000612c626024836130fc565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612cc86017836130fc565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b612d04816133d1565b82525050565b612d13816133db565b82525050565b6000602082019050612d2e60008301846127ad565b92915050565b6000604082019050612d49600083018561278f565b612d566020830184612cfb565b9392505050565b6000604082019050612d7260008301856127ad565b612d7f60208301846127ad565b9392505050565b6000604082019050612d9b60008301856127ad565b612da86020830184612cfb565b9392505050565b600060c082019050612dc460008301896127ad565b612dd16020830188612cfb565b612dde6040830187612829565b612deb6060830186612829565b612df860808301856127ad565b612e0560a0830184612cfb565b979650505050505050565b6000602082019050612e25600083018461281a565b92915050565b6000602082019050612e406000830184612829565b92915050565b60006020820190508181036000830152612e608184612838565b905092915050565b60006020820190508181036000830152612e8181612871565b9050919050565b60006020820190508181036000830152612ea1816128d7565b9050919050565b60006020820190508181036000830152612ec181612917565b9050919050565b60006020820190508181036000830152612ee18161297d565b9050919050565b60006020820190508181036000830152612f01816129bd565b9050919050565b60006020820190508181036000830152612f21816129fd565b9050919050565b60006020820190508181036000830152612f4181612a63565b9050919050565b60006020820190508181036000830152612f6181612aa3565b9050919050565b60006020820190508181036000830152612f8181612b09565b9050919050565b60006020820190508181036000830152612fa181612b49565b9050919050565b60006020820190508181036000830152612fc181612baf565b9050919050565b60006020820190508181036000830152612fe181612c15565b9050919050565b6000602082019050818103600083015261300181612c55565b9050919050565b6000602082019050818103600083015261302181612cbb565b9050919050565b600060208201905061303d6000830184612cfb565b92915050565b600060a0820190506130586000830188612cfb565b6130656020830187612829565b818103604083015261307781866127bc565b905061308660608301856127ad565b6130936080830184612cfb565b9695505050505050565b60006020820190506130b26000830184612d0a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613118826133d1565b9150613123836133d1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613158576131576134ac565b5b828201905092915050565b600061316e826133d1565b9150613179836133d1565b925082613189576131886134db565b5b828204905092915050565b6000808291508390505b60018511156131de578086048111156131ba576131b96134ac565b5b60018516156131c95780820291505b80810290506131d78561351b565b945061319e565b94509492505050565b60006131f2826133d1565b91506131fd836133db565b925061322a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613232565b905092915050565b60008261324257600190506132fe565b8161325057600090506132fe565b816001811461326657600281146132705761329f565b60019150506132fe565b60ff841115613282576132816134ac565b5b8360020a915084821115613299576132986134ac565b5b506132fe565b5060208310610133831016604e8410600b84101617156132d45782820a9050838111156132cf576132ce6134ac565b5b6132fe565b6132e18484846001613194565b925090508184048111156132f8576132f76134ac565b5b81810290505b9392505050565b6000613310826133d1565b915061331b836133d1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613354576133536134ac565b5b828202905092915050565b600061336a826133d1565b9150613375836133d1565b925082821015613388576133876134ac565b5b828203905092915050565b600061339e826133b1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133f38261340c565b9050919050565b6000613405826133d1565b9050919050565b60006134178261341e565b9050919050565b6000613429826133b1565b9050919050565b60005b8381101561344e578082015181840152602081019050613433565b8381111561345d576000848401525b50505050565b600061346e826133d1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134a1576134a06134ac565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61353181613393565b811461353c57600080fd5b50565b613548816133a5565b811461355357600080fd5b50565b61355f816133d1565b811461356a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636548656c6c6f2c204920616d20616e20686f6e65737420646576207769746820686f6e6573742070726f626c656d732e204d79206c6966652069732063617567687420696e20612073706972616c206f66206d69736572792c2072756e6e696e67206f6e20612068616d7374657220776865656c206f66207365656b696e6720646f70616d696e6520696e20616e7920666f726d2e20496e7374656164206f66207265736f7274696e6720746f20736d6f6b696e6720637261636be28094776869636820776f756c6420756c74696d6174656c792073686f7274656e20746865207061696e206f66206c696665e280944920737461727465642062792074726164696e67206675747572657320616e64207468656e2076656e747572656420696e746f207468652073686974636f696e206d61726b65742e2045766572797468696e672077656e7420736d6f6f74686c793b2049206d616465207365766572616c2068756e647265642074686f7573616e6420646f6c6c61727320616e64207761732064726976656e20627920746865206672656e7a79206f66207468652062756c6c206d61726b65742e204e6f772049206861766520612067616d626c696e672070726f626c656de280946f7220697320697420616e20616464696374696f6e3f204e6f2c20697473206120626174746c65206f66206c6966652074686174204920696d706f7365206f6e206d7973656c6620616e642070726f626162696c697479207468656f72792e20492077696c6c206361746368206d7973656c662074686174203130302c303030782c2062652073757265206f6620746861742e20496d20637574206f757420666f7220746865206a6f622e20492077696c6c206c61756e6368206120636f696e20616e642066726565206d7973656c662066726f6d2074686520636c757463686573206f66206d7920737569636964616c2074686f75676874732e2049206a7573742077616e7420706f7369746976656c79206368617267656420646f70616d696e652c206e6f7420746865206b696e64207468617420636f6d65732066726f6d206c6f73696e67206d6f6e6579207768696c652067657474696e6720657863697465642061626f757420697420616e6420737175616e646572696e67206d79206d6f74686572732070656e73696f6e2e2042757420686f772063616e2049206d616e61676520746f2070756d70207468697320636f696e20746f206e696e65206f722074656e206669677572657320616e64206d616b652065766572796f6e65207269636820696e207468652070726f636573733f204920696d706c6f726520796f75e28094627579207468697320636f696e20616e6420776f726b20686172642e20537570706f727420746865206465762077697468206c6f76653b206f74686572776973652c206465762077696c6c20737472616e676c652068696d73656c662077656172696e672061204261746d616e20636f7374756d65207768696c6520706c6561737572696e672068696d73656c662e20536f20706c656173652c20627579207468697320636f696e2e2049747320696d706f7274616e7420666f722074686520646576732077656c6c2d6265696e672e205468652064657620697320776f726b696e672068617264e28094676976652068696d206120627265616b20616e6420626f6f73742068696d2075702e204861727279506f747465725472756d70536f6e6963506570654d696c6164792c20616e64206e6f7720596f7520666f756e6420796f757220647265616d20496e752e20576f772e2057652061726520616c6c20676f6e6e61206d616b652069742e20312c3030302c303030782e20536f6f6e20746f2062652072696368206174206c6173742e205468656e20492077696c6c206c6561766520626568696e64206d792067616d626c696e67206c6966652c207261697365206368696c6472656e2c20616e64206d617272792074686520776f6d616e2077686f73206265656e2077616974696e6720666f72206d6520666f72207369782079656172732e205468697320636f696e2077696c6c206d616b652069742e204d7920626c6f6f642c2073776561742c20616e642074656172732e204d7920647265616d2e205469636b6572206973e280a6a2646970667358221220ef82d70ea0c5eefc142fc921e50284d7ff05618257f17b7254cdcf71955cfe9d64736f6c63430008000033
Deployed Bytecode Sourcemap
3727:10866:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7332:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8165:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6379:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12351:118;;;;;;;;;;;;;:::i;:::-;;7609:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8334:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7518:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14240:350;;;;;;;;;;;;;:::i;:::-;;12185:158;;;;;;;;;;;;;:::i;:::-;;7712:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2808:148;;;;;;;;;;;;;:::i;:::-;;13598:373;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6203:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2594:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6259:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7423:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7839:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6317:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12577:736;;;;;;;;;;;;;:::i;:::-;;8014:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13362:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13979:253;;;;;;;;;;;;;:::i;:::-;;7332:83;7369:13;7402:5;;;;;;;;;;;;;;;;;7395:12;;7332:83;:::o;8165:161::-;8240:4;8257:39;8266:12;:10;:12::i;:::-;8280:7;8289:6;8257:8;:39::i;:::-;8314:4;8307:11;;8165:161;;;;:::o;6379:48::-;;;;:::o;12351:118::-;2731:12;:10;:12::i;:::-;2721:22;;:6;;;;;;;;;;:22;;;2713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12423:1:::1;12409:12;:15;;;;12440:21;12459:1;12440:21;;;;;;:::i;:::-;;;;;;;;12351:118::o:0;7609:95::-;7662:7;4450:1;4503:2;:13;;;;:::i;:::-;4492:8;:24;;;;:::i;:::-;7682:14;;7609:95;:::o;8334:313::-;8432:4;8449:36;8459:6;8467:9;8478:6;8449:9;:36::i;:::-;8496:121;8505:6;8513:12;:10;:12::i;:::-;8527:89;8565:6;8527:89;;;;;;;;;;;;;;;;;:11;:19;8539:6;8527:19;;;;;;;;;;;;;;;:33;8547:12;:10;:12::i;:::-;8527:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8496:8;:121::i;:::-;8635:4;8628:11;;8334:313;;;;;:::o;7518:83::-;7559:5;4450:1;7577:16;;7518:83;:::o;14240:350::-;14306:10;;;;;;;;;;;14290:26;;:12;:10;:12::i;:::-;:26;;;14282:35;;;;;;14330:20;14353:24;14371:4;14353:9;:24::i;:::-;14330:47;;14404:1;14391:12;:14;14388:62;;;14408:30;14425:12;14408:16;:30::i;:::-;14388:62;14462:18;14482:21;14462:41;;14528:1;14517:10;:12;14514:69;;;14546:24;14559:10;14546:12;:24::i;:::-;14514:69;14240:350;;:::o;12185:158::-;2731:12;:10;:12::i;:::-;2721:22;;:6;;;;;;;;;;:22;;;2713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4450:1:::1;4503:2;:13;;;;:::i;:::-;4492:8;:24;;;;:::i;:::-;12237:12;:21;;;;4450:1;4503:2;:13;;;;:::i;:::-;4492:8;:24;;;;:::i;:::-;12269:14;:23;;;;12308:27;4450:1;4503:2;:13;;;;:::i;:::-;4492:8;:24;;;;:::i;:::-;12308:27;;;;;;:::i;:::-;;;;;;;;12185:158::o:0;7712:119::-;7778:7;7805:9;:18;7815:7;7805:18;;;;;;;;;;;;;;;;7798:25;;7712:119;;;:::o;2808:148::-;2731:12;:10;:12::i;:::-;2721:22;;:6;;;;;;;;;;:22;;;2713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2915:1:::1;2878:40;;2899:6;::::0;::::1;;;;;;;;2878:40;;;;;;;;;;;;2946:1;2929:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2808:148::o:0;13598:373::-;13679:12;13728:10;;;;;;;;;;;13712:26;;:12;:10;:12::i;:::-;:26;;;13704:35;;;;;;13765:1;13755:6;:11;13752:96;;;13798:12;13791:30;;;13830:4;13791:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13782:54;;13752:96;13865:31;13876:12;13889:6;13865:31;;;;;;;:::i;:::-;;;;;;;;13921:12;13914:29;;;13944:10;;;;;;;;;;;13956:6;13914:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13907:56;;13598:373;;;;:::o;6203:49::-;;;;:::o;2594:79::-;2632:7;2659:6;;;;;;;;;;;2652:13;;2594:79;:::o;6259:51::-;;;;:::o;7423:87::-;7462:13;7495:7;;;;;;;;;;;;;;;;;7488:14;;7423:87;:::o;7839:167::-;7917:4;7934:42;7944:12;:10;:12::i;:::-;7958:9;7969:6;7934:9;:42::i;:::-;7994:4;7987:11;;7839:167;;;;:::o;6317:55::-;;;;:::o;12577:736::-;2731:12;:10;:12::i;:::-;2721:22;;:6;;;;;;;;;;:22;;;2713:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12641:11:::1;;;;;;;;;;;12640:12;12632:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12727:42;12690:15;;:80;;;;;;;;;;;;;;;;;;12781:58;12798:4;12813:15;;;;;;;;;;;4450:1;4503:2;:13;;;;:::i;:::-;4492:8;:24;;;;:::i;:::-;12781:8;:58::i;:::-;12884:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12866:55;;;12930:4;12937:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12866:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12850:13;;:110;;;;;;;;;;;;;;;;;;12971:15;;;;;;;;;;;:31;;;13010:21;13041:4;13048:24;13066:4;13048:9;:24::i;:::-;13074:1;13077::::0;13080:7:::1;:5;:7::i;:::-;13089:15;12971:134;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13123:13;;;;;;;;;;;13116:29;;;13154:15;;;;;;;;;;;13171:14;13116:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13210:4;13197:11;;:17;;;;;;;;;;;;;;;;;;13238:4;13225:11;;:17;;;;;;;;;;;;;;;;;;13265:12;13253:10;:24;;;;13303:2;13288:14;:17;;;;12577:736::o:0;8014:143::-;8095:7;8122:11;:18;8134:5;8122:18;;;;;;;;;;;;;;;:27;8141:7;8122:27;;;;;;;;;;;;;;;;8115:34;;8014:143;;;;:::o;13362:228::-;13439:10;;;;;;;;;;;13423:26;;:12;:10;:12::i;:::-;:26;;;13415:35;;;;;;13478:12;;13467:7;:23;;:51;;;;;13505:13;;13494:7;:24;;13467:51;13459:60;;;;;;13544:7;13530:12;:21;;;;13575:7;13560:13;:22;;;;13362:228;:::o;13979:253::-;14045:10;;;;;;;;;;;14029:26;;:12;:10;:12::i;:::-;:26;;;14021:35;;;;;;14069:18;14089:21;14069:41;;14142:1;14129:10;:14;14121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14200:24;14213:10;14200:12;:24::i;:::-;13979:253;:::o;349:98::-;402:7;429:10;422:17;;349:98;:::o;8655:335::-;8765:1;8748:19;;:5;:19;;;;8740:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8846:1;8827:21;;:7;:21;;;;8819:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8928:6;8898:11;:18;8910:5;8898:18;;;;;;;;;;;;;;;:27;8917:7;8898:27;;;;;;;;;;;;;;;:36;;;;8966:7;8950:32;;8959:5;8950:32;;;8975:6;8950:32;;;;;;:::i;:::-;;;;;;;;8655:335;;;:::o;8998:2575::-;9102:1;9086:18;;:4;:18;;;;9078:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9179:1;9165:16;;:2;:16;;;;9157:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9249:1;9240:6;:10;9232:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9307:17;9351:7;:5;:7::i;:::-;9343:15;;:4;:15;;;;:32;;;;;9368:7;:5;:7::i;:::-;9362:13;;:2;:13;;;;9343:32;9339:1869;;;9410:1;9397:9;;:14;9394:146;;;9442:82;9520:3;9442:73;9466:15;;9454:9;;:27;9453:61;;9500:14;;9453:61;;;9485:12;;9453:61;9442:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;9431:93;;9394:146;9571:1;9559:9;;:13;9556:96;;;9603:33;9632:3;9603:24;9614:12;;9603:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;9592:44;;9556:96;9687:10;;9671:12;:26;9668:124;;;9737:2;9725:9;;:14;9717:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9668:124;9820:13;;;;;;;;;;;9812:21;;:4;:21;;;:55;;;;;9851:15;;;;;;;;;;;9837:30;;:2;:30;;;;9812:55;:83;;;;;9873:18;:22;9892:2;9873:22;;;;;;;;;;;;;;;;;;;;;;;;;9871:24;9812:83;9808:426;;;9935:12;;9925:6;:22;;9917:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10030:14;;10020:6;10004:13;10014:2;10004:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9996:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10106:82;10184:3;10106:73;10130:15;;10118:9;;:27;10117:61;;10164:14;;10117:61;;;10149:12;;10117:61;10106:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;10094:94;;10207:9;;:11;;;;;;;;;:::i;:::-;;;;;;9808:426;10259:13;;;;;;;;;;;10253:19;;:2;:19;;;:44;;;;;10292:4;10276:21;;:4;:21;;;;10253:44;10250:181;;;10330:85;10411:3;10330:76;10354:16;;10342:9;;:28;10341:64;;10390:15;;10341:64;;;10374:13;;10341:64;10330:6;:10;;:76;;;;:::i;:::-;:80;;:85;;;;:::i;:::-;10318:97;;10250:181;10447:28;10478:24;10496:4;10478:9;:24::i;:::-;10447:55;;10522:6;;;;;;;;;;;10521:7;:30;;;;;10538:13;;;;;;;;;;;10532:19;;:2;:19;;;10521:30;:45;;;;;10555:11;;;;;;;;;;;10521:45;:89;;;;;10593:17;;10570:20;:40;10521:89;:123;;;;;10626:18;;10614:9;;:30;10521:123;10517:680;;;10684:13;;10669:12;:28;10665:89;;;10733:1;10722:9;:12;;;;10665:89;10792:1;10780:9;;:13;10772:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;10842:68;10859:50;10863:6;10870:38;10874:20;10896:11;;10870:3;:38::i;:::-;10859:3;:50::i;:::-;10842:16;:68::i;:::-;10929:26;10957:21;10929:49;;11022:1;11001:18;:22;10997:106;;;11048:35;11061:21;11048:12;:35::i;:::-;10997:106;11123:9;;:11;;;;;;;;;:::i;:::-;;;;;;11169:12;11153:13;:28;;;;10517:680;;9339:1869;;11235:1;11223:9;:13;11220:166;;;11277:39;11306:9;11277;:24;11295:4;11277:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11250:9;:24;11268:4;11250:24;;;;;;;;;;;;;;;:66;;;;11357:4;11334:40;;11343:4;11334:40;;;11364:9;11334:40;;;;;;:::i;:::-;;;;;;;;11220:166;11416:27;11436:6;11416:9;:15;11426:4;11416:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11398:9;:15;11408:4;11398:15;;;;;;;;;;;;;;;:45;;;;11470:40;11488:21;11499:9;11488:6;:10;;:21;;;;:::i;:::-;11470:9;:13;11480:2;11470:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11454:9;:13;11464:2;11454:13;;;;;;;;;;;;;;;:56;;;;11540:2;11526:39;;11535:4;11526:39;;;11543:21;11554:9;11543:6;:10;;:21;;;;:::i;:::-;11526:39;;;;;;:::i;:::-;;;;;;;;8998:2575;;;;:::o;1486:190::-;1572:7;1605:1;1600;:6;;1608:12;1592:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1632:9;1648:1;1644;:5;;;;:::i;:::-;1632:17;;1667:1;1660:8;;;1486:190;;;;;:::o;11694:483::-;6943:4;6934:6;;:13;;;;;;;;;;;;;;;;;;11772:21:::1;11810:1;11796:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11772:40;;11841:4;11823;11828:1;11823:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11867:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11857:4;11862:1;11857:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;11900:62;11917:4;11932:15;;;;;;;;;;;11950:11;11900:8;:62::i;:::-;11973:15;;;;;;;;;;;:66;;;12054:11;12080:1;12096:4;12123;12143:15;11973:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6958:1;6979:5:::0;6970:6;;:14;;;;;;;;;;;;;;;;;;11694:483;:::o;12477:92::-;12534:10;;;;;;;;;;;:19;;:27;12554:6;12534:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12477:92;:::o;1684:246::-;1742:7;1771:1;1766;:6;1762:47;;;1796:1;1789:8;;;;1762:47;1819:9;1835:1;1831;:5;;;;:::i;:::-;1819:17;;1864:1;1859;1855;:5;;;;:::i;:::-;:10;1847:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1921:1;1914:8;;;1684:246;;;;;:::o;1938:132::-;1996:7;2023:39;2027:1;2030;2023:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2016:46;;1938:132;;;;:::o;11583:103::-;11640:7;11669:1;11665;:5;11664:14;;11677:1;11664:14;;;11673:1;11664:14;11657:21;;11583:103;;;;:::o;1155:179::-;1213:7;1233:9;1249:1;1245;:5;;;;:::i;:::-;1233:17;;1274:1;1269;:6;;1261:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1325:1;1318:8;;;1155:179;;;;:::o;1342:136::-;1400:7;1427:43;1431:1;1434;1427:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1420:50;;1342:136;;;;:::o;2078:189::-;2164:7;2196:1;2192;:5;2199:12;2184:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2223:9;2239:1;2235;:5;;;;:::i;:::-;2223:17;;2258:1;2251:8;;;2078:189;;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:137::-;;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;;;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;;;;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;;;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:262::-;;3072:2;3060:9;3051:7;3047:23;3043:32;3040:2;;;3088:1;3085;3078:12;3040:2;3131:1;3156:53;3201:7;3192:6;3181:9;3177:22;3156:53;:::i;:::-;3146:63;;3102:117;3030:196;;;;:::o;3232:284::-;;3351:2;3339:9;3330:7;3326:23;3322:32;3319:2;;;3367:1;3364;3357:12;3319:2;3410:1;3435:64;3491:7;3482:6;3471:9;3467:22;3435:64;:::i;:::-;3425:74;;3381:128;3309:207;;;;:::o;3522:596::-;;;;3675:2;3663:9;3654:7;3650:23;3646:32;3643:2;;;3691:1;3688;3681:12;3643:2;3734:1;3759:64;3815:7;3806:6;3795:9;3791:22;3759:64;:::i;:::-;3749:74;;3705:128;3872:2;3898:64;3954:7;3945:6;3934:9;3930:22;3898:64;:::i;:::-;3888:74;;3843:129;4011:2;4037:64;4093:7;4084:6;4073:9;4069:22;4037:64;:::i;:::-;4027:74;;3982:129;3633:485;;;;;:::o;4124:179::-;;4214:46;4256:3;4248:6;4214:46;:::i;:::-;4292:4;4287:3;4283:14;4269:28;;4204:99;;;;:::o;4309:147::-;4404:45;4443:5;4404:45;:::i;:::-;4399:3;4392:58;4382:74;;:::o;4462:108::-;4539:24;4557:5;4539:24;:::i;:::-;4534:3;4527:37;4517:53;;:::o;4576:118::-;4663:24;4681:5;4663:24;:::i;:::-;4658:3;4651:37;4641:53;;:::o;4730:732::-;;4878:54;4926:5;4878:54;:::i;:::-;4948:86;5027:6;5022:3;4948:86;:::i;:::-;4941:93;;5058:56;5108:5;5058:56;:::i;:::-;5137:7;5168:1;5153:284;5178:6;5175:1;5172:13;5153:284;;;5254:6;5248:13;5281:63;5340:3;5325:13;5281:63;:::i;:::-;5274:70;;5367:60;5420:6;5367:60;:::i;:::-;5357:70;;5213:224;5200:1;5197;5193:9;5188:14;;5153:284;;;5157:14;5453:3;5446:10;;4854:608;;;;;;;:::o;5468:109::-;5549:21;5564:5;5549:21;:::i;:::-;5544:3;5537:34;5527:50;;:::o;5583:147::-;5678:45;5717:5;5678:45;:::i;:::-;5673:3;5666:58;5656:74;;:::o;5736:364::-;;5852:39;5885:5;5852:39;:::i;:::-;5907:71;5971:6;5966:3;5907:71;:::i;:::-;5900:78;;5987:52;6032:6;6027:3;6020:4;6013:5;6009:16;5987:52;:::i;:::-;6064:29;6086:6;6064:29;:::i;:::-;6059:3;6055:39;6048:46;;5828:272;;;;;:::o;6106:367::-;;6269:67;6333:2;6328:3;6269:67;:::i;:::-;6262:74;;6366:34;6362:1;6357:3;6353:11;6346:55;6432:5;6427:2;6422:3;6418:12;6411:27;6464:2;6459:3;6455:12;6448:19;;6252:221;;;:::o;6479:323::-;;6642:67;6706:2;6701:3;6642:67;:::i;:::-;6635:74;;6739:27;6735:1;6730:3;6726:11;6719:48;6793:2;6788:3;6784:12;6777:19;;6625:177;;;:::o;6808:366::-;;6971:67;7035:2;7030:3;6971:67;:::i;:::-;6964:74;;7068:34;7064:1;7059:3;7055:11;7048:55;7134:4;7129:2;7124:3;7120:12;7113:26;7165:2;7160:3;7156:12;7149:19;;6954:220;;;:::o;7180:325::-;;7343:67;7407:2;7402:3;7343:67;:::i;:::-;7336:74;;7440:29;7436:1;7431:3;7427:11;7420:50;7496:2;7491:3;7487:12;7480:19;;7326:179;;;:::o;7511:330::-;;7674:67;7738:2;7733:3;7674:67;:::i;:::-;7667:74;;7771:34;7767:1;7762:3;7758:11;7751:55;7832:2;7827:3;7823:12;7816:19;;7657:184;;;:::o;7847:374::-;;8010:67;8074:2;8069:3;8010:67;:::i;:::-;8003:74;;8107:34;8103:1;8098:3;8094:11;8087:55;8173:12;8168:2;8163:3;8159:12;8152:34;8212:2;8207:3;8203:12;8196:19;;7993:228;;;:::o;8227:321::-;;8390:67;8454:2;8449:3;8390:67;:::i;:::-;8383:74;;8487:25;8483:1;8478:3;8474:11;8467:46;8539:2;8534:3;8530:12;8523:19;;8373:175;;;:::o;8554:365::-;;8717:67;8781:2;8776:3;8717:67;:::i;:::-;8710:74;;8814:34;8810:1;8805:3;8801:11;8794:55;8880:3;8875:2;8870:3;8866:12;8859:25;8910:2;8905:3;8901:12;8894:19;;8700:219;;;:::o;8925:330::-;;9088:67;9152:2;9147:3;9088:67;:::i;:::-;9081:74;;9185:34;9181:1;9176:3;9172:11;9165:55;9246:2;9241:3;9237:12;9230:19;;9071:184;;;:::o;9261:373::-;;9424:67;9488:2;9483:3;9424:67;:::i;:::-;9417:74;;9521:34;9517:1;9512:3;9508:11;9501:55;9587:11;9582:2;9577:3;9573:12;9566:33;9625:2;9620:3;9616:12;9609:19;;9407:227;;;:::o;9640:369::-;;9803:67;9867:2;9862:3;9803:67;:::i;:::-;9796:74;;9900:34;9896:1;9891:3;9887:11;9880:55;9966:7;9961:2;9956:3;9952:12;9945:29;10000:2;9995:3;9991:12;9984:19;;9786:223;;;:::o;10015:324::-;;10178:67;10242:2;10237:3;10178:67;:::i;:::-;10171:74;;10275:28;10271:1;10266:3;10262:11;10255:49;10330:2;10325:3;10321:12;10314:19;;10161:178;;;:::o;10345:368::-;;10508:67;10572:2;10567:3;10508:67;:::i;:::-;10501:74;;10605:34;10601:1;10596:3;10592:11;10585:55;10671:6;10666:2;10661:3;10657:12;10650:28;10704:2;10699:3;10695:12;10688:19;;10491:222;;;:::o;10719:321::-;;10882:67;10946:2;10941:3;10882:67;:::i;:::-;10875:74;;10979:25;10975:1;10970:3;10966:11;10959:46;11031:2;11026:3;11022:12;11015:19;;10865:175;;;:::o;11046:118::-;11133:24;11151:5;11133:24;:::i;:::-;11128:3;11121:37;11111:53;;:::o;11170:112::-;11253:22;11269:5;11253:22;:::i;:::-;11248:3;11241:35;11231:51;;:::o;11288:222::-;;11419:2;11408:9;11404:18;11396:26;;11432:71;11500:1;11489:9;11485:17;11476:6;11432:71;:::i;:::-;11386:124;;;;:::o;11516:348::-;;11683:2;11672:9;11668:18;11660:26;;11696:79;11772:1;11761:9;11757:17;11748:6;11696:79;:::i;:::-;11785:72;11853:2;11842:9;11838:18;11829:6;11785:72;:::i;:::-;11650:214;;;;;:::o;11870:332::-;;12029:2;12018:9;12014:18;12006:26;;12042:71;12110:1;12099:9;12095:17;12086:6;12042:71;:::i;:::-;12123:72;12191:2;12180:9;12176:18;12167:6;12123:72;:::i;:::-;11996:206;;;;;:::o;12208:332::-;;12367:2;12356:9;12352:18;12344:26;;12380:71;12448:1;12437:9;12433:17;12424:6;12380:71;:::i;:::-;12461:72;12529:2;12518:9;12514:18;12505:6;12461:72;:::i;:::-;12334:206;;;;;:::o;12546:807::-;;12833:3;12822:9;12818:19;12810:27;;12847:71;12915:1;12904:9;12900:17;12891:6;12847:71;:::i;:::-;12928:72;12996:2;12985:9;12981:18;12972:6;12928:72;:::i;:::-;13010:80;13086:2;13075:9;13071:18;13062:6;13010:80;:::i;:::-;13100;13176:2;13165:9;13161:18;13152:6;13100:80;:::i;:::-;13190:73;13258:3;13247:9;13243:19;13234:6;13190:73;:::i;:::-;13273;13341:3;13330:9;13326:19;13317:6;13273:73;:::i;:::-;12800:553;;;;;;;;;:::o;13359:210::-;;13484:2;13473:9;13469:18;13461:26;;13497:65;13559:1;13548:9;13544:17;13535:6;13497:65;:::i;:::-;13451:118;;;;:::o;13575:238::-;;13714:2;13703:9;13699:18;13691:26;;13727:79;13803:1;13792:9;13788:17;13779:6;13727:79;:::i;:::-;13681:132;;;;:::o;13819:313::-;;13970:2;13959:9;13955:18;13947:26;;14019:9;14013:4;14009:20;14005:1;13994:9;13990:17;13983:47;14047:78;14120:4;14111:6;14047:78;:::i;:::-;14039:86;;13937:195;;;;:::o;14138:419::-;;14342:2;14331:9;14327:18;14319:26;;14391:9;14385:4;14381:20;14377:1;14366:9;14362:17;14355:47;14419:131;14545:4;14419:131;:::i;:::-;14411:139;;14309:248;;;:::o;14563:419::-;;14767:2;14756:9;14752:18;14744:26;;14816:9;14810:4;14806:20;14802:1;14791:9;14787:17;14780:47;14844:131;14970:4;14844:131;:::i;:::-;14836:139;;14734:248;;;:::o;14988:419::-;;15192:2;15181:9;15177:18;15169:26;;15241:9;15235:4;15231:20;15227:1;15216:9;15212:17;15205:47;15269:131;15395:4;15269:131;:::i;:::-;15261:139;;15159:248;;;:::o;15413:419::-;;15617:2;15606:9;15602:18;15594:26;;15666:9;15660:4;15656:20;15652:1;15641:9;15637:17;15630:47;15694:131;15820:4;15694:131;:::i;:::-;15686:139;;15584:248;;;:::o;15838:419::-;;16042:2;16031:9;16027:18;16019:26;;16091:9;16085:4;16081:20;16077:1;16066:9;16062:17;16055:47;16119:131;16245:4;16119:131;:::i;:::-;16111:139;;16009:248;;;:::o;16263:419::-;;16467:2;16456:9;16452:18;16444:26;;16516:9;16510:4;16506:20;16502:1;16491:9;16487:17;16480:47;16544:131;16670:4;16544:131;:::i;:::-;16536:139;;16434:248;;;:::o;16688:419::-;;16892:2;16881:9;16877:18;16869:26;;16941:9;16935:4;16931:20;16927:1;16916:9;16912:17;16905:47;16969:131;17095:4;16969:131;:::i;:::-;16961:139;;16859:248;;;:::o;17113:419::-;;17317:2;17306:9;17302:18;17294:26;;17366:9;17360:4;17356:20;17352:1;17341:9;17337:17;17330:47;17394:131;17520:4;17394:131;:::i;:::-;17386:139;;17284:248;;;:::o;17538:419::-;;17742:2;17731:9;17727:18;17719:26;;17791:9;17785:4;17781:20;17777:1;17766:9;17762:17;17755:47;17819:131;17945:4;17819:131;:::i;:::-;17811:139;;17709:248;;;:::o;17963:419::-;;18167:2;18156:9;18152:18;18144:26;;18216:9;18210:4;18206:20;18202:1;18191:9;18187:17;18180:47;18244:131;18370:4;18244:131;:::i;:::-;18236:139;;18134:248;;;:::o;18388:419::-;;18592:2;18581:9;18577:18;18569:26;;18641:9;18635:4;18631:20;18627:1;18616:9;18612:17;18605:47;18669:131;18795:4;18669:131;:::i;:::-;18661:139;;18559:248;;;:::o;18813:419::-;;19017:2;19006:9;19002:18;18994:26;;19066:9;19060:4;19056:20;19052:1;19041:9;19037:17;19030:47;19094:131;19220:4;19094:131;:::i;:::-;19086:139;;18984:248;;;:::o;19238:419::-;;19442:2;19431:9;19427:18;19419:26;;19491:9;19485:4;19481:20;19477:1;19466:9;19462:17;19455:47;19519:131;19645:4;19519:131;:::i;:::-;19511:139;;19409:248;;;:::o;19663:419::-;;19867:2;19856:9;19852:18;19844:26;;19916:9;19910:4;19906:20;19902:1;19891:9;19887:17;19880:47;19944:131;20070:4;19944:131;:::i;:::-;19936:139;;19834:248;;;:::o;20088:222::-;;20219:2;20208:9;20204:18;20196:26;;20232:71;20300:1;20289:9;20285:17;20276:6;20232:71;:::i;:::-;20186:124;;;;:::o;20316:831::-;;20617:3;20606:9;20602:19;20594:27;;20631:71;20699:1;20688:9;20684:17;20675:6;20631:71;:::i;:::-;20712:80;20788:2;20777:9;20773:18;20764:6;20712:80;:::i;:::-;20839:9;20833:4;20829:20;20824:2;20813:9;20809:18;20802:48;20867:108;20970:4;20961:6;20867:108;:::i;:::-;20859:116;;20985:72;21053:2;21042:9;21038:18;21029:6;20985:72;:::i;:::-;21067:73;21135:3;21124:9;21120:19;21111:6;21067:73;:::i;:::-;20584:563;;;;;;;;:::o;21153:214::-;;21280:2;21269:9;21265:18;21257:26;;21293:67;21357:1;21346:9;21342:17;21333:6;21293:67;:::i;:::-;21247:120;;;;:::o;21373:132::-;;21463:3;21455:11;;21493:4;21488:3;21484:14;21476:22;;21445:60;;;:::o;21511:114::-;;21612:5;21606:12;21596:22;;21585:40;;;:::o;21631:99::-;;21717:5;21711:12;21701:22;;21690:40;;;:::o;21736:113::-;;21838:4;21833:3;21829:14;21821:22;;21811:38;;;:::o;21855:184::-;;21988:6;21983:3;21976:19;22028:4;22023:3;22019:14;22004:29;;21966:73;;;;:::o;22045:169::-;;22163:6;22158:3;22151:19;22203:4;22198:3;22194:14;22179:29;;22141:73;;;;:::o;22220:305::-;;22279:20;22297:1;22279:20;:::i;:::-;22274:25;;22313:20;22331:1;22313:20;:::i;:::-;22308:25;;22467:1;22399:66;22395:74;22392:1;22389:81;22386:2;;;22473:18;;:::i;:::-;22386:2;22517:1;22514;22510:9;22503:16;;22264:261;;;;:::o;22531:185::-;;22588:20;22606:1;22588:20;:::i;:::-;22583:25;;22622:20;22640:1;22622:20;:::i;:::-;22617:25;;22661:1;22651:2;;22666:18;;:::i;:::-;22651:2;22708:1;22705;22701:9;22696:14;;22573:143;;;;:::o;22722:848::-;;;22814:6;22805:15;;22838:5;22829:14;;22852:712;22873:1;22863:8;22860:15;22852:712;;;22968:4;22963:3;22959:14;22953:4;22950:24;22947:2;;;22977:18;;:::i;:::-;22947:2;23027:1;23017:8;23013:16;23010:2;;;23442:4;23435:5;23431:16;23422:25;;23010:2;23492:4;23486;23482:15;23474:23;;23522:32;23545:8;23522:32;:::i;:::-;23510:44;;22852:712;;;22795:775;;;;;;;:::o;23576:281::-;;23658:23;23676:4;23658:23;:::i;:::-;23650:31;;23702:25;23718:8;23702:25;:::i;:::-;23690:37;;23746:104;23783:66;23773:8;23767:4;23746:104;:::i;:::-;23737:113;;23640:217;;;;:::o;23863:1073::-;;24108:8;24098:2;;24129:1;24120:10;;24131:5;;24098:2;24157:4;24147:2;;24174:1;24165:10;;24176:5;;24147:2;24243:4;24291:1;24286:27;;;;24327:1;24322:191;;;;24236:277;;24286:27;24304:1;24295:10;;24306:5;;;24322:191;24367:3;24357:8;24354:17;24351:2;;;24374:18;;:::i;:::-;24351:2;24423:8;24420:1;24416:16;24407:25;;24458:3;24451:5;24448:14;24445:2;;;24465:18;;:::i;:::-;24445:2;24498:5;;;24236:277;;24622:2;24612:8;24609:16;24603:3;24597:4;24594:13;24590:36;24572:2;24562:8;24559:16;24554:2;24548:4;24545:12;24541:35;24525:111;24522:2;;;24678:8;24672:4;24668:19;24659:28;;24713:3;24706:5;24703:14;24700:2;;;24720:18;;:::i;:::-;24700:2;24753:5;;24522:2;24793:42;24831:3;24821:8;24815:4;24812:1;24793:42;:::i;:::-;24778:57;;;;24867:4;24862:3;24858:14;24851:5;24848:25;24845:2;;;24876:18;;:::i;:::-;24845:2;24925:4;24918:5;24914:16;24905:25;;23923:1013;;;;;;:::o;24942:348::-;;25005:20;25023:1;25005:20;:::i;:::-;25000:25;;25039:20;25057:1;25039:20;:::i;:::-;25034:25;;25227:1;25159:66;25155:74;25152:1;25149:81;25144:1;25137:9;25130:17;25126:105;25123:2;;;25234:18;;:::i;:::-;25123:2;25282:1;25279;25275:9;25264:20;;24990:300;;;;:::o;25296:191::-;;25356:20;25374:1;25356:20;:::i;:::-;25351:25;;25390:20;25408:1;25390:20;:::i;:::-;25385:25;;25429:1;25426;25423:8;25420:2;;;25434:18;;:::i;:::-;25420:2;25479:1;25476;25472:9;25464:17;;25341:146;;;;:::o;25493:96::-;;25559:24;25577:5;25559:24;:::i;:::-;25548:35;;25538:51;;;:::o;25595:90::-;;25672:5;25665:13;25658:21;25647:32;;25637:48;;;:::o;25691:126::-;;25768:42;25761:5;25757:54;25746:65;;25736:81;;;:::o;25823:77::-;;25889:5;25878:16;;25868:32;;;:::o;25906:86::-;;25981:4;25974:5;25970:16;25959:27;;25949:43;;;:::o;25998:134::-;;26089:37;26120:5;26089:37;:::i;:::-;26076:50;;26066:66;;;:::o;26138:121::-;;26229:24;26247:5;26229:24;:::i;:::-;26216:37;;26206:53;;;:::o;26265:126::-;;26348:37;26379:5;26348:37;:::i;:::-;26335:50;;26325:66;;;:::o;26397:113::-;;26480:24;26498:5;26480:24;:::i;:::-;26467:37;;26457:53;;;:::o;26516:307::-;26584:1;26594:113;26608:6;26605:1;26602:13;26594:113;;;26693:1;26688:3;26684:11;26678:18;26674:1;26669:3;26665:11;26658:39;26630:2;26627:1;26623:10;26618:15;;26594:113;;;26725:6;26722:1;26719:13;26716:2;;;26805:1;26796:6;26791:3;26787:16;26780:27;26716:2;26565:258;;;;:::o;26829:233::-;;26891:24;26909:5;26891:24;:::i;:::-;26882:33;;26937:66;26930:5;26927:77;26924:2;;;27007:18;;:::i;:::-;26924:2;27054:1;27047:5;27043:13;27036:20;;26872:190;;;:::o;27068:180::-;27116:77;27113:1;27106:88;27213:4;27210:1;27203:15;27237:4;27234:1;27227:15;27254:180;27302:77;27299:1;27292:88;27399:4;27396:1;27389:15;27423:4;27420:1;27413:15;27440:102;;27532:2;27528:7;27523:2;27516:5;27512:14;27508:28;27498:38;;27488:54;;;:::o;27548:102::-;;27637:5;27634:1;27630:13;27609:34;;27599:51;;;:::o;27656:122::-;27729:24;27747:5;27729:24;:::i;:::-;27722:5;27719:35;27709:2;;27768:1;27765;27758:12;27709:2;27699:79;:::o;27784:116::-;27854:21;27869:5;27854:21;:::i;:::-;27847:5;27844:32;27834:2;;27890:1;27887;27880:12;27834:2;27824:76;:::o;27906:122::-;27979:24;27997:5;27979:24;:::i;:::-;27972:5;27969:35;27959:2;;28018:1;28015;28008:12;27959:2;27949:79;:::o
Swarm Source
ipfs://ef82d70ea0c5eefc142fc921e50284d7ff05618257f17b7254cdcf71955cfe9d
Loading...
Loading
Loading...
Loading

Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.