More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 194 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20527745 | 16 days ago | IN | 0 ETH | 0.00028139 | ||||
Approve | 20495491 | 21 days ago | IN | 0 ETH | 0.00004813 | ||||
Approve | 20492381 | 21 days ago | IN | 0 ETH | 0.00026012 | ||||
Approve | 20434617 | 29 days ago | IN | 0 ETH | 0.00094514 | ||||
Approve | 20424936 | 30 days ago | IN | 0 ETH | 0.00013918 | ||||
Approve | 20404496 | 33 days ago | IN | 0 ETH | 0.00009978 | ||||
Approve | 20398205 | 34 days ago | IN | 0 ETH | 0.00020945 | ||||
Approve | 20362295 | 39 days ago | IN | 0 ETH | 0.00085849 | ||||
Approve | 20353773 | 40 days ago | IN | 0 ETH | 0.00020138 | ||||
Approve | 20347732 | 41 days ago | IN | 0 ETH | 0.0002173 | ||||
Approve | 20343191 | 42 days ago | IN | 0 ETH | 0.00025443 | ||||
Approve | 20340109 | 42 days ago | IN | 0 ETH | 0.00024625 | ||||
Approve | 20339667 | 42 days ago | IN | 0 ETH | 0.00029887 | ||||
Approve | 20333796 | 43 days ago | IN | 0 ETH | 0.00072907 | ||||
Approve | 20333632 | 43 days ago | IN | 0 ETH | 0.00063738 | ||||
Approve | 20333619 | 43 days ago | IN | 0 ETH | 0.00050293 | ||||
Approve | 20333524 | 43 days ago | IN | 0 ETH | 0.00034863 | ||||
Approve | 20331760 | 43 days ago | IN | 0 ETH | 0.00035786 | ||||
Approve | 20331335 | 43 days ago | IN | 0 ETH | 0.0004699 | ||||
Approve | 20330988 | 44 days ago | IN | 0 ETH | 0.00027664 | ||||
Approve | 20330968 | 44 days ago | IN | 0 ETH | 0.00031814 | ||||
Approve | 20330504 | 44 days ago | IN | 0 ETH | 0.00018918 | ||||
Approve | 20329934 | 44 days ago | IN | 0 ETH | 0.00024609 | ||||
Approve | 20329655 | 44 days ago | IN | 0 ETH | 0.00025321 | ||||
Approve | 20329500 | 44 days ago | IN | 0 ETH | 0.00025291 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20327716 | 44 days ago | 0.14208099 ETH | ||||
20327716 | 44 days ago | 0.14208099 ETH | ||||
20327702 | 44 days ago | 0.06091827 ETH | ||||
20327702 | 44 days ago | 0.06091827 ETH | ||||
20327701 | 44 days ago | 0.14171447 ETH | ||||
20327701 | 44 days ago | 0.14171447 ETH | ||||
20327700 | 44 days ago | 0.04464619 ETH | ||||
20327700 | 44 days ago | 0.04464619 ETH | ||||
20327700 | 44 days ago | 0.12107877 ETH | ||||
20327700 | 44 days ago | 0.12107877 ETH | ||||
20327699 | 44 days ago | 0.01845524 ETH | ||||
20327699 | 44 days ago | 0.01845524 ETH | ||||
20327697 | 44 days ago | 0.07448533 ETH | ||||
20327697 | 44 days ago | 0.07448533 ETH | ||||
20327691 | 44 days ago | 0.07753469 ETH | ||||
20327691 | 44 days ago | 0.07753469 ETH | ||||
20327691 | 44 days ago | 0.04692239 ETH | ||||
20327691 | 44 days ago | 0.04692239 ETH | ||||
20327686 | 44 days ago | 0.02226664 ETH | ||||
20327686 | 44 days ago | 0.02226664 ETH | ||||
20327684 | 44 days ago | 0.0572394 ETH | ||||
20327684 | 44 days ago | 0.0572394 ETH | ||||
20327679 | 44 days ago | 0.0342419 ETH | ||||
20327679 | 44 days ago | 0.0342419 ETH | ||||
20327678 | 44 days ago | 0.09612929 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
WANDYCOIN
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-17 */ // SPDX-License-Identifier: MIT /* Welcome to Wandy $WANDY Wandy is the ex of the famous Andy. They broke up a while ago and they share a scandal about Andy ⚠️ Wandy cheated with Brett, because he has a higher marketcap and a stronger position than Andy. Wandy is now a fulfilled woman and is ready to conquer the meme world of crypto, all the biggest memes in the crypto space are whistling at her when she walks by 👀 Be ready, because $WANDY is the hottest chick in town right now! Are you ready to meet her? Wandynomics: 🔼 1.000.000 $WANDY 🔼 0% feminism tax 🔼 Renounced ownership 🔼 Locked liquidity $WANDY socials ✉️ Telegram: https://t.me/wandycoin ❌ Twitter/X: https://x.com/WandyCoin 🌐 Website: https://wandycoin.xyz/ */ pragma solidity 0.8.23; 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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 WANDYCOIN is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private isExile; mapping (address => bool) public marketPair; mapping (uint256 => uint256) private perBuyCount; address payable private _taxWallet; uint256 private firstBlock = 0; uint256 private _initialBuyTax=25; uint256 private _initialSellTax=35; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=40; uint256 private _reduceSellTaxAt=40; uint256 private _preventSwapBefore=30; uint256 private _buyCount=0; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000 * 10**_decimals; string private constant _name = unicode"WANDY"; string private constant _symbol = unicode"WANDY"; uint256 public _maxTxAmount = 10000 * 10**_decimals; uint256 public _maxWalletSize = 20000 * 10**_decimals; uint256 public _taxSwapThreshold= 10000 * 10**_decimals; uint256 public _maxTaxSwap= 10000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; uint256 public caCount = 4; bool private inSwap = false; bool private swapEnabled = false; bool public caSwitch = true; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; isExile[owner()] = true; isExile[address(this)] = true; isExile[address(uniswapV2Pair)] = 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 setMarketPair(address addr) public onlyOwner { marketPair[addr] = true; } 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()) { taxAmount = amount.mul((_buyCount> _reduceBuyTaxAt)? _finalBuyTax: _initialBuyTax).div(100); if(block.number == firstBlock){ require(perBuyCount[block.number] < 500, "Exceeds buys on the first block."); perBuyCount[block.number]++; } if (marketPair[from] && to != address(uniswapV2Router) && ! isExile[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if (!marketPair[to] && ! isExile[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(marketPair[to] && from!= address(this) ){ taxAmount = amount.mul((_buyCount> _reduceSellTaxAt)? _finalSellTax: _initialSellTax).div(100); } if (!marketPair[from] && !marketPair[to] && from!= address(this) ) { taxAmount = 0; } uint256 contractTokenBalance = balanceOf(address(this)); if (caSwitch && !inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < caCount, "CA balance sell"); swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } else if(!inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } 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 setMaxTaxSwap(bool enabled, uint256 amount) external onlyOwner { swapEnabled = enabled; _maxTaxSwap = amount; } function setcaCount(uint256 amount) external onlyOwner { caCount = amount; } function clearSwitch(bool _status) external onlyOwner { caSwitch = _status; } function freeStuckEth() external onlyOwner { payable(_taxWallet).transfer(address(this).balance); } function rescueAnyERC20Tokens(address _tokenAddr, uint _amount) external onlyOwner { IERC20(_tokenAddr).transfer(_taxWallet, _amount); } function setFeeWallet(address newTaxWallet) external onlyOwner { _taxWallet = payable(newTaxWallet); } function exileW_Restriction() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function enableTrading() 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()); marketPair[address(uniswapV2Pair)] = true; isExile[address(uniswapV2Pair)] = true; 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; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","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":"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"},{"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":[],"name":"caCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"caSwitch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"clearSwitch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exileW_Restriction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"freeStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"setFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setcaCount","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f600755601960085560236009555f600a555f600b556028600c556028600d55601e600e555f600f555f6010555f6011556009600a62000045919062000613565b61271062000054919062000663565b6012556009600a62000067919062000613565b614e2062000076919062000663565b6013556009600a62000089919062000613565b61271062000098919062000663565b6014556009600a620000ab919062000613565b612710620000ba919062000663565b60155560046018555f60195f6101000a81548160ff0219169083151502179055505f601960016101000a81548160ff0219169083151502179055506001601960026101000a81548160ff0219169083151502179055503480156200011c575f80fd5b505f6200012e6200045360201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001da6200045360201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000229919062000613565b620f424062000239919062000663565b60015f6200024c6200045360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200029e6200045a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003c86200045360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000426919062000613565b620f424062000436919062000663565b604051620004459190620006be565b60405180910390a3620006d9565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050b57808604811115620004e357620004e262000481565b5b6001851615620004f35780820291505b80810290506200050385620004ae565b9450620004c3565b94509492505050565b5f82620005255760019050620005f7565b8162000534575f9050620005f7565b81600181146200054d576002811462000558576200058e565b6001915050620005f7565b60ff8411156200056d576200056c62000481565b5b8360020a91508482111562000587576200058662000481565b5b50620005f7565b5060208310610133831016604e8410600b8410161715620005c85782820a905083811115620005c257620005c162000481565b5b620005f7565b620005d78484846001620004ba565b92509050818404811115620005f157620005f062000481565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061f82620005fe565b91506200062c8362000607565b92506200065b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000514565b905092915050565b5f6200066f82620005fe565b91506200067c83620005fe565b92508282026200068c81620005fe565b91508282048414831517620006a657620006a562000481565b5b5092915050565b620006b881620005fe565b82525050565b5f602082019050620006d35f830184620006ad565b92915050565b613dd880620006e75f395ff3fe6080604052600436106101c5575f3560e01c80637ab3c762116100f6578063a9059cbb11610094578063e68d0b0511610063578063e68d0b05146105fe578063f2fde38b14610626578063f468b4451461064e578063f5b3c3bf14610664576101cc565b8063a9059cbb14610534578063bf474bed14610570578063dd62ed3e1461059a578063e0c76aaf146105d6576101cc565b80638da5cb5b116100d05780638da5cb5b1461048e5780638f9a55c0146104b857806390d49b9d146104e257806395d89b411461050a576101cc565b80637ab3c762146104245780637d1db4a51461044e5780638a8c523c14610478576101cc565b80634381c3fa1161016357806359b999cb1161013d57806359b999cb1461038257806370a08231146103aa578063715018a6146103e65780637a117553146103fc576101cc565b80634381c3fa1461031a57806349bd5a5e1461033057806353bc13dc1461035a576101cc565b80630faee56f1161019f5780630faee56f1461026057806318160ddd1461028a57806323b872dd146102b4578063313ce567146102f0576101cc565b806306fdde03146101d0578063095ea7b3146101fa5780630e12062d14610236576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e46106a0565b6040516101f19190612cff565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190612db0565b6106dd565b60405161022d9190612e08565b60405180910390f35b348015610241575f80fd5b5061024a6106fa565b6040516102579190612e30565b60405180910390f35b34801561026b575f80fd5b50610274610700565b6040516102819190612e30565b60405180910390f35b348015610295575f80fd5b5061029e610706565b6040516102ab9190612e30565b60405180910390f35b3480156102bf575f80fd5b506102da60048036038101906102d59190612e49565b610728565b6040516102e79190612e08565b60405180910390f35b3480156102fb575f80fd5b506103046107fc565b6040516103119190612eb4565b60405180910390f35b348015610325575f80fd5b5061032e610804565b005b34801561033b575f80fd5b50610344610930565b6040516103519190612edc565b60405180910390f35b348015610365575f80fd5b50610380600480360381019061037b9190612ef5565b610955565b005b34801561038d575f80fd5b506103a860048036038101906103a39190612db0565b610a41565b005b3480156103b5575f80fd5b506103d060048036038101906103cb9190612ef5565b610b76565b6040516103dd9190612e30565b60405180910390f35b3480156103f1575f80fd5b506103fa610bbc565b005b348015610407575f80fd5b50610422600480360381019061041d9190612f4a565b610d0a565b005b34801561042f575f80fd5b50610438610dbb565b6040516104459190612e08565b60405180910390f35b348015610459575f80fd5b50610462610dce565b60405161046f9190612e30565b60405180910390f35b348015610483575f80fd5b5061048c610dd4565b005b348015610499575f80fd5b506104a26113e8565b6040516104af9190612edc565b60405180910390f35b3480156104c3575f80fd5b506104cc61140f565b6040516104d99190612e30565b60405180910390f35b3480156104ed575f80fd5b5061050860048036038101906105039190612ef5565b611415565b005b348015610515575f80fd5b5061051e6114ec565b60405161052b9190612cff565b60405180910390f35b34801561053f575f80fd5b5061055a60048036038101906105559190612db0565b611529565b6040516105679190612e08565b60405180910390f35b34801561057b575f80fd5b50610584611546565b6040516105919190612e30565b60405180910390f35b3480156105a5575f80fd5b506105c060048036038101906105bb9190612f75565b61154c565b6040516105cd9190612e30565b60405180910390f35b3480156105e1575f80fd5b506105fc60048036038101906105f79190612fb3565b6115ce565b005b348015610609575f80fd5b50610624600480360381019061061f9190612fde565b61166c565b005b348015610631575f80fd5b5061064c60048036038101906106479190612ef5565b611725565b005b348015610659575f80fd5b506106626118e2565b005b34801561066f575f80fd5b5061068a60048036038101906106859190612ef5565b6119dd565b6040516106979190612e08565b60405180910390f35b60606040518060400160405280600581526020017f57414e4459000000000000000000000000000000000000000000000000000000815250905090565b5f6106f06106e96119fa565b8484611a01565b6001905092915050565b60185481565b60155481565b5f6009600a6107159190613178565b620f424061072391906131c2565b905090565b5f610734848484611bc4565b6107f1846107406119fa565b6107ec85604051806060016040528060288152602001613d7b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107a36119fa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127639092919063ffffffff16565b611a01565b600190509392505050565b5f6009905090565b61080c6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f9061324d565b60405180910390fd5b6009600a6108a69190613178565b620f42406108b491906131c2565b6012819055506009600a6108c89190613178565b620f42406108d691906131c2565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61090b9190613178565b620f424061091991906131c2565b6040516109269190612e30565b60405180910390a1565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61095d6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e09061324d565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610a496119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc9061324d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610b319291906132c6565b6020604051808303815f875af1158015610b4d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613301565b505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bc46119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c479061324d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d126119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d959061324d565b60405180910390fd5b80601960026101000a81548160ff02191690831515021790555050565b601960029054906101000a900460ff1681565b60125481565b610ddc6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f9061324d565b60405180910390fd5b601760149054906101000a900460ff1615610eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaf90613376565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f533060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f409190613178565b620f4240610f4e91906131c2565b611a01565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe191906133a8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611067573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108b91906133a8565b6040518363ffffffff1660e01b81526004016110a89291906133d3565b6020604051808303815f875af11580156110c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e891906133a8565b60175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061125b30610b76565b5f806112656113e8565b426040518863ffffffff1660e01b815260040161128796959493929190613433565b60606040518083038185885af11580156112a3573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112c891906134a6565b50505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016113689291906134f6565b6020604051808303815f875af1158015611384573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113a89190613301565b506001601960016101000a81548160ff0219169083151502179055506001601760146101000a81548160ff02191690831515021790555043600781905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b61141d6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a09061324d565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600581526020017f57414e4459000000000000000000000000000000000000000000000000000000815250905090565b5f61153c6115356119fa565b8484611bc4565b6001905092915050565b60145481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6115d66119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116599061324d565b60405180910390fd5b8060188190555050565b6116746119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f79061324d565b60405180910390fd5b81601960016101000a81548160ff021916908315150217905550806015819055505050565b61172d6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09061324d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e9061358d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6118ea6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196d9061324d565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156119da573d5f803e3d5ffd5b50565b6004602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a669061361b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad4906136a9565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bb79190612e30565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2990613737565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c97906137c5565b60405180910390fd5b5f8111611ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd990613853565b60405180910390fd5b5f611ceb6113e8565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d595750611d296113e8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156124b357611d9a6064611d8c600c54600f5411611d7957600854611d7d565b600a545b856127c590919063ffffffff16565b61283c90919063ffffffff16565b90506007544303611e21576101f460055f4381526020019081526020015f205410611dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df1906138bb565b60405180910390fd5b60055f4381526020019081526020015f205f815480929190611e1b906138d9565b91905055505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ec4575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f17575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fd157601254821115611f61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f589061396a565b60405180910390fd5b60135482611f6e85610b76565b611f789190613988565b1115611fb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb090613a05565b60405180910390fd5b600f5f815480929190611fcb906138d9565b91905055505b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561206f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120cd576013548261208185610b76565b61208b9190613988565b11156120cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c390613a05565b60405180910390fd5b5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561214f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612193576121906064612182600d54600f541161216f57600954612173565b600b545b856127c590919063ffffffff16565b61283c90919063ffffffff16565b90505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612231575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561226957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612272575f90505b5f61227c30610b76565b9050601960029054906101000a900460ff1680156122a6575060195f9054906101000a900460ff16155b80156122f8575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156123105750601960019054906101000a900460ff165b801561231d575060145481115b801561232c5750600e54600f54115b156123e057601154431115612343575f6010819055505b60185460105410612389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238090613a6d565b60405180910390fd5b6123a66123a18461239c84601554612885565b612885565b61289d565b5f4790505f8111156123bc576123bb47612b06565b5b60105f8154809291906123ce906138d9565b919050555043601181905550506124b1565b60195f9054906101000a900460ff16158015612442575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b801561245a5750601960019054906101000a900460ff165b8015612467575060145481115b80156124765750600e54600f54115b156124b0576124986124938461248e84601554612885565b612885565b61289d565b5f4790505f8111156124ae576124ad47612b06565b5b505b5b505b5f8111156125b25761250b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b6e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125a99190612e30565b60405180910390a35b6126028260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bcb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506126a56126598284612bcb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b6e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6127488486612bcb90919063ffffffff16565b6040516127559190612e30565b60405180910390a350505050565b5f8383111582906127aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a19190612cff565b60405180910390fd5b505f83856127b89190613a8b565b9050809150509392505050565b5f8083036127d5575f9050612836565b5f82846127e291906131c2565b90508284826127f19190613aeb565b14612831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282890613b8b565b60405180910390fd5b809150505b92915050565b5f61287d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c14565b905092915050565b5f8183116128935782612895565b815b905092915050565b600160195f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156128d3576128d2613ba9565b5b6040519080825280602002602001820160405280156129015781602001602082028036833780820191505090505b50905030815f8151811061291857612917613bd6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e091906133a8565b816001815181106129f4576129f3613bd6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a5a3060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a01565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612abc959493929190613cba565b5f604051808303815f87803b158015612ad3575f80fd5b505af1158015612ae5573d5f803e3d5ffd5b50505050505f60195f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612b6a573d5f803e3d5ffd5b5050565b5f808284612b7c9190613988565b905083811015612bc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb890613d5c565b60405180910390fd5b8091505092915050565b5f612c0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612763565b905092915050565b5f8083118290612c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c519190612cff565b60405180910390fd5b505f8385612c689190613aeb565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612cac578082015181840152602081019050612c91565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612cd182612c75565b612cdb8185612c7f565b9350612ceb818560208601612c8f565b612cf481612cb7565b840191505092915050565b5f6020820190508181035f830152612d178184612cc7565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612d4c82612d23565b9050919050565b612d5c81612d42565b8114612d66575f80fd5b50565b5f81359050612d7781612d53565b92915050565b5f819050919050565b612d8f81612d7d565b8114612d99575f80fd5b50565b5f81359050612daa81612d86565b92915050565b5f8060408385031215612dc657612dc5612d1f565b5b5f612dd385828601612d69565b9250506020612de485828601612d9c565b9150509250929050565b5f8115159050919050565b612e0281612dee565b82525050565b5f602082019050612e1b5f830184612df9565b92915050565b612e2a81612d7d565b82525050565b5f602082019050612e435f830184612e21565b92915050565b5f805f60608486031215612e6057612e5f612d1f565b5b5f612e6d86828701612d69565b9350506020612e7e86828701612d69565b9250506040612e8f86828701612d9c565b9150509250925092565b5f60ff82169050919050565b612eae81612e99565b82525050565b5f602082019050612ec75f830184612ea5565b92915050565b612ed681612d42565b82525050565b5f602082019050612eef5f830184612ecd565b92915050565b5f60208284031215612f0a57612f09612d1f565b5b5f612f1784828501612d69565b91505092915050565b612f2981612dee565b8114612f33575f80fd5b50565b5f81359050612f4481612f20565b92915050565b5f60208284031215612f5f57612f5e612d1f565b5b5f612f6c84828501612f36565b91505092915050565b5f8060408385031215612f8b57612f8a612d1f565b5b5f612f9885828601612d69565b9250506020612fa985828601612d69565b9150509250929050565b5f60208284031215612fc857612fc7612d1f565b5b5f612fd584828501612d9c565b91505092915050565b5f8060408385031215612ff457612ff3612d1f565b5b5f61300185828601612f36565b925050602061301285828601612d9c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561309e5780860481111561307a5761307961301c565b5b60018516156130895780820291505b808102905061309785613049565b945061305e565b94509492505050565b5f826130b65760019050613171565b816130c3575f9050613171565b81600181146130d957600281146130e357613112565b6001915050613171565b60ff8411156130f5576130f461301c565b5b8360020a91508482111561310c5761310b61301c565b5b50613171565b5060208310610133831016604e8410600b84101617156131475782820a9050838111156131425761314161301c565b5b613171565b6131548484846001613055565b9250905081840481111561316b5761316a61301c565b5b81810290505b9392505050565b5f61318282612d7d565b915061318d83612e99565b92506131ba7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846130a7565b905092915050565b5f6131cc82612d7d565b91506131d783612d7d565b92508282026131e581612d7d565b915082820484148315176131fc576131fb61301c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613237602083612c7f565b915061324282613203565b602082019050919050565b5f6020820190508181035f8301526132648161322b565b9050919050565b5f819050919050565b5f61328e61328961328484612d23565b61326b565b612d23565b9050919050565b5f61329f82613274565b9050919050565b5f6132b082613295565b9050919050565b6132c0816132a6565b82525050565b5f6040820190506132d95f8301856132b7565b6132e66020830184612e21565b9392505050565b5f815190506132fb81612f20565b92915050565b5f6020828403121561331657613315612d1f565b5b5f613323848285016132ed565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613360601783612c7f565b915061336b8261332c565b602082019050919050565b5f6020820190508181035f83015261338d81613354565b9050919050565b5f815190506133a281612d53565b92915050565b5f602082840312156133bd576133bc612d1f565b5b5f6133ca84828501613394565b91505092915050565b5f6040820190506133e65f830185612ecd565b6133f36020830184612ecd565b9392505050565b5f819050919050565b5f61341d613418613413846133fa565b61326b565b612d7d565b9050919050565b61342d81613403565b82525050565b5f60c0820190506134465f830189612ecd565b6134536020830188612e21565b6134606040830187613424565b61346d6060830186613424565b61347a6080830185612ecd565b61348760a0830184612e21565b979650505050505050565b5f815190506134a081612d86565b92915050565b5f805f606084860312156134bd576134bc612d1f565b5b5f6134ca86828701613492565b93505060206134db86828701613492565b92505060406134ec86828701613492565b9150509250925092565b5f6040820190506135095f830185612ecd565b6135166020830184612e21565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613577602683612c7f565b91506135828261351d565b604082019050919050565b5f6020820190508181035f8301526135a48161356b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613605602483612c7f565b9150613610826135ab565b604082019050919050565b5f6020820190508181035f830152613632816135f9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613693602283612c7f565b915061369e82613639565b604082019050919050565b5f6020820190508181035f8301526136c081613687565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613721602583612c7f565b915061372c826136c7565b604082019050919050565b5f6020820190508181035f83015261374e81613715565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6137af602383612c7f565b91506137ba82613755565b604082019050919050565b5f6020820190508181035f8301526137dc816137a3565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61383d602983612c7f565b9150613848826137e3565b604082019050919050565b5f6020820190508181035f83015261386a81613831565b9050919050565b7f457863656564732062757973206f6e2074686520666972737420626c6f636b2e5f82015250565b5f6138a5602083612c7f565b91506138b082613871565b602082019050919050565b5f6020820190508181035f8301526138d281613899565b9050919050565b5f6138e382612d7d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139155761391461301c565b5b600182019050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613954601983612c7f565b915061395f82613920565b602082019050919050565b5f6020820190508181035f83015261398181613948565b9050919050565b5f61399282612d7d565b915061399d83612d7d565b92508282019050808211156139b5576139b461301c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6139ef601a83612c7f565b91506139fa826139bb565b602082019050919050565b5f6020820190508181035f830152613a1c816139e3565b9050919050565b7f43412062616c616e63652073656c6c00000000000000000000000000000000005f82015250565b5f613a57600f83612c7f565b9150613a6282613a23565b602082019050919050565b5f6020820190508181035f830152613a8481613a4b565b9050919050565b5f613a9582612d7d565b9150613aa083612d7d565b9250828203905081811115613ab857613ab761301c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613af582612d7d565b9150613b0083612d7d565b925082613b1057613b0f613abe565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b75602183612c7f565b9150613b8082613b1b565b604082019050919050565b5f6020820190508181035f830152613ba281613b69565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c3581612d42565b82525050565b5f613c468383613c2c565b60208301905092915050565b5f602082019050919050565b5f613c6882613c03565b613c728185613c0d565b9350613c7d83613c1d565b805f5b83811015613cad578151613c948882613c3b565b9750613c9f83613c52565b925050600181019050613c80565b5085935050505092915050565b5f60a082019050613ccd5f830188612e21565b613cda6020830187613424565b8181036040830152613cec8186613c5e565b9050613cfb6060830185612ecd565b613d086080830184612e21565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613d46601b83612c7f565b9150613d5182613d12565b602082019050919050565b5f6020820190508181035f830152613d7381613d3a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204a3cd2a0f706a6eec301370b0247bbe2180e9797fd38973af1f07ee2eb6899e664736f6c63430008170033
Deployed Bytecode
0x6080604052600436106101c5575f3560e01c80637ab3c762116100f6578063a9059cbb11610094578063e68d0b0511610063578063e68d0b05146105fe578063f2fde38b14610626578063f468b4451461064e578063f5b3c3bf14610664576101cc565b8063a9059cbb14610534578063bf474bed14610570578063dd62ed3e1461059a578063e0c76aaf146105d6576101cc565b80638da5cb5b116100d05780638da5cb5b1461048e5780638f9a55c0146104b857806390d49b9d146104e257806395d89b411461050a576101cc565b80637ab3c762146104245780637d1db4a51461044e5780638a8c523c14610478576101cc565b80634381c3fa1161016357806359b999cb1161013d57806359b999cb1461038257806370a08231146103aa578063715018a6146103e65780637a117553146103fc576101cc565b80634381c3fa1461031a57806349bd5a5e1461033057806353bc13dc1461035a576101cc565b80630faee56f1161019f5780630faee56f1461026057806318160ddd1461028a57806323b872dd146102b4578063313ce567146102f0576101cc565b806306fdde03146101d0578063095ea7b3146101fa5780630e12062d14610236576101cc565b366101cc57005b5f80fd5b3480156101db575f80fd5b506101e46106a0565b6040516101f19190612cff565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190612db0565b6106dd565b60405161022d9190612e08565b60405180910390f35b348015610241575f80fd5b5061024a6106fa565b6040516102579190612e30565b60405180910390f35b34801561026b575f80fd5b50610274610700565b6040516102819190612e30565b60405180910390f35b348015610295575f80fd5b5061029e610706565b6040516102ab9190612e30565b60405180910390f35b3480156102bf575f80fd5b506102da60048036038101906102d59190612e49565b610728565b6040516102e79190612e08565b60405180910390f35b3480156102fb575f80fd5b506103046107fc565b6040516103119190612eb4565b60405180910390f35b348015610325575f80fd5b5061032e610804565b005b34801561033b575f80fd5b50610344610930565b6040516103519190612edc565b60405180910390f35b348015610365575f80fd5b50610380600480360381019061037b9190612ef5565b610955565b005b34801561038d575f80fd5b506103a860048036038101906103a39190612db0565b610a41565b005b3480156103b5575f80fd5b506103d060048036038101906103cb9190612ef5565b610b76565b6040516103dd9190612e30565b60405180910390f35b3480156103f1575f80fd5b506103fa610bbc565b005b348015610407575f80fd5b50610422600480360381019061041d9190612f4a565b610d0a565b005b34801561042f575f80fd5b50610438610dbb565b6040516104459190612e08565b60405180910390f35b348015610459575f80fd5b50610462610dce565b60405161046f9190612e30565b60405180910390f35b348015610483575f80fd5b5061048c610dd4565b005b348015610499575f80fd5b506104a26113e8565b6040516104af9190612edc565b60405180910390f35b3480156104c3575f80fd5b506104cc61140f565b6040516104d99190612e30565b60405180910390f35b3480156104ed575f80fd5b5061050860048036038101906105039190612ef5565b611415565b005b348015610515575f80fd5b5061051e6114ec565b60405161052b9190612cff565b60405180910390f35b34801561053f575f80fd5b5061055a60048036038101906105559190612db0565b611529565b6040516105679190612e08565b60405180910390f35b34801561057b575f80fd5b50610584611546565b6040516105919190612e30565b60405180910390f35b3480156105a5575f80fd5b506105c060048036038101906105bb9190612f75565b61154c565b6040516105cd9190612e30565b60405180910390f35b3480156105e1575f80fd5b506105fc60048036038101906105f79190612fb3565b6115ce565b005b348015610609575f80fd5b50610624600480360381019061061f9190612fde565b61166c565b005b348015610631575f80fd5b5061064c60048036038101906106479190612ef5565b611725565b005b348015610659575f80fd5b506106626118e2565b005b34801561066f575f80fd5b5061068a60048036038101906106859190612ef5565b6119dd565b6040516106979190612e08565b60405180910390f35b60606040518060400160405280600581526020017f57414e4459000000000000000000000000000000000000000000000000000000815250905090565b5f6106f06106e96119fa565b8484611a01565b6001905092915050565b60185481565b60155481565b5f6009600a6107159190613178565b620f424061072391906131c2565b905090565b5f610734848484611bc4565b6107f1846107406119fa565b6107ec85604051806060016040528060288152602001613d7b6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107a36119fa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127639092919063ffffffff16565b611a01565b600190509392505050565b5f6009905090565b61080c6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088f9061324d565b60405180910390fd5b6009600a6108a69190613178565b620f42406108b491906131c2565b6012819055506009600a6108c89190613178565b620f42406108d691906131c2565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61090b9190613178565b620f424061091991906131c2565b6040516109269190612e30565b60405180910390a1565b60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61095d6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e09061324d565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610a496119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc9061324d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610b319291906132c6565b6020604051808303815f875af1158015610b4d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b719190613301565b505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bc46119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c479061324d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d126119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d959061324d565b60405180910390fd5b80601960026101000a81548160ff02191690831515021790555050565b601960029054906101000a900460ff1681565b60125481565b610ddc6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f9061324d565b60405180910390fd5b601760149054906101000a900460ff1615610eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaf90613376565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f533060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f409190613178565b620f4240610f4e91906131c2565b611a01565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe191906133a8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611067573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108b91906133a8565b6040518363ffffffff1660e01b81526004016110a89291906133d3565b6020604051808303815f875af11580156110c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e891906133a8565b60175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061125b30610b76565b5f806112656113e8565b426040518863ffffffff1660e01b815260040161128796959493929190613433565b60606040518083038185885af11580156112a3573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112c891906134a6565b50505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016113689291906134f6565b6020604051808303815f875af1158015611384573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113a89190613301565b506001601960016101000a81548160ff0219169083151502179055506001601760146101000a81548160ff02191690831515021790555043600781905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b61141d6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a09061324d565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606040518060400160405280600581526020017f57414e4459000000000000000000000000000000000000000000000000000000815250905090565b5f61153c6115356119fa565b8484611bc4565b6001905092915050565b60145481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6115d66119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116599061324d565b60405180910390fd5b8060188190555050565b6116746119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f79061324d565b60405180910390fd5b81601960016101000a81548160ff021916908315150217905550806015819055505050565b61172d6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09061324d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e9061358d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6118ea6119fa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196d9061324d565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156119da573d5f803e3d5ffd5b50565b6004602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a669061361b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad4906136a9565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bb79190612e30565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2990613737565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c97906137c5565b60405180910390fd5b5f8111611ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd990613853565b60405180910390fd5b5f611ceb6113e8565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d595750611d296113e8565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156124b357611d9a6064611d8c600c54600f5411611d7957600854611d7d565b600a545b856127c590919063ffffffff16565b61283c90919063ffffffff16565b90506007544303611e21576101f460055f4381526020019081526020015f205410611dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df1906138bb565b60405180910390fd5b60055f4381526020019081526020015f205f815480929190611e1b906138d9565b91905055505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611ec4575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f17575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fd157601254821115611f61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f589061396a565b60405180910390fd5b60135482611f6e85610b76565b611f789190613988565b1115611fb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb090613a05565b60405180910390fd5b600f5f815480929190611fcb906138d9565b91905055505b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561206f575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120cd576013548261208185610b76565b61208b9190613988565b11156120cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c390613a05565b60405180910390fd5b5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561214f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612193576121906064612182600d54600f541161216f57600954612173565b600b545b856127c590919063ffffffff16565b61283c90919063ffffffff16565b90505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612231575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561226957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612272575f90505b5f61227c30610b76565b9050601960029054906101000a900460ff1680156122a6575060195f9054906101000a900460ff16155b80156122f8575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156123105750601960019054906101000a900460ff165b801561231d575060145481115b801561232c5750600e54600f54115b156123e057601154431115612343575f6010819055505b60185460105410612389576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238090613a6d565b60405180910390fd5b6123a66123a18461239c84601554612885565b612885565b61289d565b5f4790505f8111156123bc576123bb47612b06565b5b60105f8154809291906123ce906138d9565b919050555043601181905550506124b1565b60195f9054906101000a900460ff16158015612442575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b801561245a5750601960019054906101000a900460ff165b8015612467575060145481115b80156124765750600e54600f54115b156124b0576124986124938461248e84601554612885565b612885565b61289d565b5f4790505f8111156124ae576124ad47612b06565b5b505b5b505b5f8111156125b25761250b8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b6e90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125a99190612e30565b60405180910390a35b6126028260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bcb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506126a56126598284612bcb90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b6e90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6127488486612bcb90919063ffffffff16565b6040516127559190612e30565b60405180910390a350505050565b5f8383111582906127aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a19190612cff565b60405180910390fd5b505f83856127b89190613a8b565b9050809150509392505050565b5f8083036127d5575f9050612836565b5f82846127e291906131c2565b90508284826127f19190613aeb565b14612831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282890613b8b565b60405180910390fd5b809150505b92915050565b5f61287d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c14565b905092915050565b5f8183116128935782612895565b815b905092915050565b600160195f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156128d3576128d2613ba9565b5b6040519080825280602002602001820160405280156129015781602001602082028036833780820191505090505b50905030815f8151811061291857612917613bd6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129e091906133a8565b816001815181106129f4576129f3613bd6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a5a3060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a01565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612abc959493929190613cba565b5f604051808303815f87803b158015612ad3575f80fd5b505af1158015612ae5573d5f803e3d5ffd5b50505050505f60195f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612b6a573d5f803e3d5ffd5b5050565b5f808284612b7c9190613988565b905083811015612bc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb890613d5c565b60405180910390fd5b8091505092915050565b5f612c0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612763565b905092915050565b5f8083118290612c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c519190612cff565b60405180910390fd5b505f8385612c689190613aeb565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612cac578082015181840152602081019050612c91565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612cd182612c75565b612cdb8185612c7f565b9350612ceb818560208601612c8f565b612cf481612cb7565b840191505092915050565b5f6020820190508181035f830152612d178184612cc7565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612d4c82612d23565b9050919050565b612d5c81612d42565b8114612d66575f80fd5b50565b5f81359050612d7781612d53565b92915050565b5f819050919050565b612d8f81612d7d565b8114612d99575f80fd5b50565b5f81359050612daa81612d86565b92915050565b5f8060408385031215612dc657612dc5612d1f565b5b5f612dd385828601612d69565b9250506020612de485828601612d9c565b9150509250929050565b5f8115159050919050565b612e0281612dee565b82525050565b5f602082019050612e1b5f830184612df9565b92915050565b612e2a81612d7d565b82525050565b5f602082019050612e435f830184612e21565b92915050565b5f805f60608486031215612e6057612e5f612d1f565b5b5f612e6d86828701612d69565b9350506020612e7e86828701612d69565b9250506040612e8f86828701612d9c565b9150509250925092565b5f60ff82169050919050565b612eae81612e99565b82525050565b5f602082019050612ec75f830184612ea5565b92915050565b612ed681612d42565b82525050565b5f602082019050612eef5f830184612ecd565b92915050565b5f60208284031215612f0a57612f09612d1f565b5b5f612f1784828501612d69565b91505092915050565b612f2981612dee565b8114612f33575f80fd5b50565b5f81359050612f4481612f20565b92915050565b5f60208284031215612f5f57612f5e612d1f565b5b5f612f6c84828501612f36565b91505092915050565b5f8060408385031215612f8b57612f8a612d1f565b5b5f612f9885828601612d69565b9250506020612fa985828601612d69565b9150509250929050565b5f60208284031215612fc857612fc7612d1f565b5b5f612fd584828501612d9c565b91505092915050565b5f8060408385031215612ff457612ff3612d1f565b5b5f61300185828601612f36565b925050602061301285828601612d9c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561309e5780860481111561307a5761307961301c565b5b60018516156130895780820291505b808102905061309785613049565b945061305e565b94509492505050565b5f826130b65760019050613171565b816130c3575f9050613171565b81600181146130d957600281146130e357613112565b6001915050613171565b60ff8411156130f5576130f461301c565b5b8360020a91508482111561310c5761310b61301c565b5b50613171565b5060208310610133831016604e8410600b84101617156131475782820a9050838111156131425761314161301c565b5b613171565b6131548484846001613055565b9250905081840481111561316b5761316a61301c565b5b81810290505b9392505050565b5f61318282612d7d565b915061318d83612e99565b92506131ba7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846130a7565b905092915050565b5f6131cc82612d7d565b91506131d783612d7d565b92508282026131e581612d7d565b915082820484148315176131fc576131fb61301c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613237602083612c7f565b915061324282613203565b602082019050919050565b5f6020820190508181035f8301526132648161322b565b9050919050565b5f819050919050565b5f61328e61328961328484612d23565b61326b565b612d23565b9050919050565b5f61329f82613274565b9050919050565b5f6132b082613295565b9050919050565b6132c0816132a6565b82525050565b5f6040820190506132d95f8301856132b7565b6132e66020830184612e21565b9392505050565b5f815190506132fb81612f20565b92915050565b5f6020828403121561331657613315612d1f565b5b5f613323848285016132ed565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613360601783612c7f565b915061336b8261332c565b602082019050919050565b5f6020820190508181035f83015261338d81613354565b9050919050565b5f815190506133a281612d53565b92915050565b5f602082840312156133bd576133bc612d1f565b5b5f6133ca84828501613394565b91505092915050565b5f6040820190506133e65f830185612ecd565b6133f36020830184612ecd565b9392505050565b5f819050919050565b5f61341d613418613413846133fa565b61326b565b612d7d565b9050919050565b61342d81613403565b82525050565b5f60c0820190506134465f830189612ecd565b6134536020830188612e21565b6134606040830187613424565b61346d6060830186613424565b61347a6080830185612ecd565b61348760a0830184612e21565b979650505050505050565b5f815190506134a081612d86565b92915050565b5f805f606084860312156134bd576134bc612d1f565b5b5f6134ca86828701613492565b93505060206134db86828701613492565b92505060406134ec86828701613492565b9150509250925092565b5f6040820190506135095f830185612ecd565b6135166020830184612e21565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613577602683612c7f565b91506135828261351d565b604082019050919050565b5f6020820190508181035f8301526135a48161356b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613605602483612c7f565b9150613610826135ab565b604082019050919050565b5f6020820190508181035f830152613632816135f9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613693602283612c7f565b915061369e82613639565b604082019050919050565b5f6020820190508181035f8301526136c081613687565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613721602583612c7f565b915061372c826136c7565b604082019050919050565b5f6020820190508181035f83015261374e81613715565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6137af602383612c7f565b91506137ba82613755565b604082019050919050565b5f6020820190508181035f8301526137dc816137a3565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61383d602983612c7f565b9150613848826137e3565b604082019050919050565b5f6020820190508181035f83015261386a81613831565b9050919050565b7f457863656564732062757973206f6e2074686520666972737420626c6f636b2e5f82015250565b5f6138a5602083612c7f565b91506138b082613871565b602082019050919050565b5f6020820190508181035f8301526138d281613899565b9050919050565b5f6138e382612d7d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139155761391461301c565b5b600182019050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613954601983612c7f565b915061395f82613920565b602082019050919050565b5f6020820190508181035f83015261398181613948565b9050919050565b5f61399282612d7d565b915061399d83612d7d565b92508282019050808211156139b5576139b461301c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6139ef601a83612c7f565b91506139fa826139bb565b602082019050919050565b5f6020820190508181035f830152613a1c816139e3565b9050919050565b7f43412062616c616e63652073656c6c00000000000000000000000000000000005f82015250565b5f613a57600f83612c7f565b9150613a6282613a23565b602082019050919050565b5f6020820190508181035f830152613a8481613a4b565b9050919050565b5f613a9582612d7d565b9150613aa083612d7d565b9250828203905081811115613ab857613ab761301c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613af582612d7d565b9150613b0083612d7d565b925082613b1057613b0f613abe565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613b75602183612c7f565b9150613b8082613b1b565b604082019050919050565b5f6020820190508181035f830152613ba281613b69565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c3581612d42565b82525050565b5f613c468383613c2c565b60208301905092915050565b5f602082019050919050565b5f613c6882613c03565b613c728185613c0d565b9350613c7d83613c1d565b805f5b83811015613cad578151613c948882613c3b565b9750613c9f83613c52565b925050600181019050613c80565b5085935050505092915050565b5f60a082019050613ccd5f830188612e21565b613cda6020830187613424565b8181036040830152613cec8186613c5e565b9050613cfb6060830185612ecd565b613d086080830184612e21565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613d46601b83612c7f565b9150613d5182613d12565b602082019050919050565b5f6020820190508181035f830152613d7381613d3a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204a3cd2a0f706a6eec301370b0247bbe2180e9797fd38973af1f07ee2eb6899e664736f6c63430008170033
Deployed Bytecode Sourcemap
4481:9318:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7337:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5900:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5727:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6781:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7506:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6690:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12676:165;;;;;;;;;;;;;:::i;:::-;;5834:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8170:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12394:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6884:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3312:148;;;;;;;;;;;;;:::i;:::-;;12174:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6006:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5545:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12949:810;;;;;;;;;;;;;:::i;:::-;;3098:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5605:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12552:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6595:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7011:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5665:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7186:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12076:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11925:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3468:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12273:113;;;;;;;;;;;;;:::i;:::-;;4745:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6504:83;6541:13;6574:5;;;;;;;;;;;;;;;;;6567:12;;6504:83;:::o;7337:161::-;7412:4;7429:39;7438:12;:10;:12::i;:::-;7452:7;7461:6;7429:8;:39::i;:::-;7486:4;7479:11;;7337:161;;;;:::o;5900:26::-;;;;:::o;5727:49::-;;;;:::o;6781:95::-;6834:7;5364:1;5417:2;:13;;;;:::i;:::-;5407:7;:23;;;;:::i;:::-;6854:14;;6781:95;:::o;7506:313::-;7604:4;7621:36;7631:6;7639:9;7650:6;7621:9;:36::i;:::-;7668:121;7677:6;7685:12;:10;:12::i;:::-;7699:89;7737:6;7699:89;;;;;;;;;;;;;;;;;:11;:19;7711:6;7699:19;;;;;;;;;;;;;;;:33;7719:12;:10;:12::i;:::-;7699:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7668:8;:121::i;:::-;7807:4;7800:11;;7506:313;;;;;:::o;6690:83::-;6731:5;5364:1;6749:16;;6690:83;:::o;12676:165::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5364:1:::1;5417:2;:13;;;;:::i;:::-;5407:7;:23;;;;:::i;:::-;12735:12;:22;;;;5364:1;5417:2;:13;;;;:::i;:::-;5407:7;:23;;;;:::i;:::-;12768:14;:22;;;;12806:27;5364:1;5417:2;:13;;;;:::i;:::-;5407:7;:23;;;;:::i;:::-;12806:27;;;;;;:::i;:::-;;;;;;;;12676:165::o:0;5834:28::-;;;;;;;;;;;;;:::o;8170:96::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8254:4:::1;8235:10;:16;8246:4;8235:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;8170:96:::0;:::o;12394:150::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12495:10:::1;12488:27;;;12516:10;;;;;;;;;;;12528:7;12488:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12394:150:::0;;:::o;6884:119::-;6950:7;6977:9;:18;6987:7;6977:18;;;;;;;;;;;;;;;;6970:25;;6884:119;;;:::o;3312:148::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3419:1:::1;3382:40;;3403:6;::::0;::::1;;;;;;;;3382:40;;;;;;;;;;;;3450:1;3433:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3312:148::o:0;12174:91::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12250:7:::1;12239:8;;:18;;;;;;;;;;;;;;;;;;12174:91:::0;:::o;6006:27::-;;;;;;;;;;;;;:::o;5545:53::-;;;;:::o;12949:810::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13015:11:::1;;;;;;;;;;;13014:12;13006:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13101:42;13064:15;;:80;;;;;;;;;;;;;;;;;;13155:58;13172:4;13187:15;;;;;;;;;;;5364:1;5417:2;:13;;;;:::i;:::-;5407:7;:23;;;;:::i;:::-;13155:8;:58::i;:::-;13258:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13240:55;;;13304:4;13311:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13240:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13224:13;;:110;;;;;;;;;;;;;;;;;;13382:4;13345:10;:34;13364:13;;;;;;;;;;;13345:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;13431:4;13397:7;:31;13413:13;;;;;;;;;;;13397:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;13446:15;;;;;;;;;;;:31;;;13485:21;13516:4;13522:24;13540:4;13522:9;:24::i;:::-;13547:1;13549::::0;13551:7:::1;:5;:7::i;:::-;13559:15;13446:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13593:13;;;;;;;;;;;13586:29;;;13624:15;;;;;;;;;;;13642:14;13586:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13682:4;13668:11;;:18;;;;;;;;;;;;;;;;;;13711:4;13697:11;;:18;;;;;;;;;;;;;;;;;;13739:12;13726:10;:25;;;;12949:810::o:0;3098:79::-;3136:7;3163:6;;;;;;;;;;;3156:13;;3098:79;:::o;5605:53::-;;;;:::o;12552:116::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12647:12:::1;12626:10;;:34;;;;;;;;;;;;;;;;;;12552:116:::0;:::o;6595:87::-;6634:13;6667:7;;;;;;;;;;;;;;;;;6660:14;;6595:87;:::o;7011:167::-;7089:4;7106:42;7116:12;:10;:12::i;:::-;7130:9;7141:6;7106:9;:42::i;:::-;7166:4;7159:11;;7011:167;;;;:::o;5665:55::-;;;;:::o;7186:143::-;7267:7;7294:11;:18;7306:5;7294:18;;;;;;;;;;;;;;;:27;7313:7;7294:27;;;;;;;;;;;;;;;;7287:34;;7186:143;;;;:::o;12076:90::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12152:6:::1;12142:7;:16;;;;12076:90:::0;:::o;11925:143::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12022:7:::1;12008:11;;:21;;;;;;;;;;;;;;;;;;12054:6;12040:11;:20;;;;11925:143:::0;;:::o;3468:244::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3577:1:::1;3557:22;;:8;:22;;::::0;3549:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3667:8;3638:38;;3659:6;::::0;::::1;;;;;;;;3638:38;;;;;;;;;;;;3696:8;3687:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3468:244:::0;:::o;12273:113::-;3235:12;:10;:12::i;:::-;3225:22;;:6;;;;;;;;;;:22;;;3217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12335:10:::1;;;;;;;;;;;12327:28;;:51;12356:21;12327:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;12273:113::o:0;4745:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;853:98::-;906:7;933:10;926:17;;853:98;:::o;7827:335::-;7937:1;7920:19;;:5;:19;;;7912:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8018:1;7999:21;;:7;:21;;;7991:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8100:6;8070:11;:18;8082:5;8070:18;;;;;;;;;;;;;;;:27;8089:7;8070:27;;;;;;;;;;;;;;;:36;;;;8138:7;8122:32;;8131:5;8122:32;;;8147:6;8122:32;;;;;;:::i;:::-;;;;;;;;7827:335;;;:::o;8274:3044::-;8378:1;8362:18;;:4;:18;;;8354:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8455:1;8441:16;;:2;:16;;;8433:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8525:1;8516:6;:10;8508:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8583:17;8627:7;:5;:7::i;:::-;8619:15;;:4;:15;;;;:32;;;;;8644:7;:5;:7::i;:::-;8638:13;;:2;:13;;;;8619:32;8615:2347;;;8680:79;8755:3;8680:70;8703:15;;8692:9;;:26;8691:58;;8735:14;;8691:58;;;8721:12;;8691:58;8680:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8668:91;;8795:10;;8779:12;:26;8776:185;;8860:3;8832:11;:25;8844:12;8832:25;;;;;;;;;;;;:31;8824:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;8918:11;:25;8930:12;8918:25;;;;;;;;;;;;:27;;;;;;;;;:::i;:::-;;;;;;8776:185;8981:10;:16;8992:4;8981:16;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;9015:15;;;;;;;;;;;9001:30;;:2;:30;;;;8981:50;:67;;;;;9037:7;:11;9045:2;9037:11;;;;;;;;;;;;;;;;;;;;;;;;;9035:13;8981:67;8977:297;;;9088:12;;9078:6;:22;;9070:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9183:14;;9173:6;9157:13;9167:2;9157:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9149:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9247:9;;:11;;;;;;;;;:::i;:::-;;;;;;8977:297;9295:10;:14;9306:2;9295:14;;;;;;;;;;;;;;;;;;;;;;;;;9294:15;:32;;;;;9315:7;:11;9323:2;9315:11;;;;;;;;;;;;;;;;;;;;;;;;;9313:13;9294:32;9290:152;;;9381:14;;9371:6;9355:13;9365:2;9355:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9347:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9290:152;9461:10;:14;9472:2;9461:14;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;;;9494:4;9479:20;;:4;:20;;;;9461:38;9458:172;;;9532:82;9610:3;9532:73;9555:16;;9544:9;;:27;9543:61;;9589:15;;9543:61;;;9574:13;;9543:61;9532:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;9520:94;;9458:172;9644:10;:16;9655:4;9644:16;;;;;;;;;;;;;;;;;;;;;;;;;9643:17;:36;;;;;9665:10;:14;9676:2;9665:14;;;;;;;;;;;;;;;;;;;;;;;;;9664:15;9643:36;:60;;;;;9698:4;9683:20;;:4;:20;;;;9643:60;9639:115;;;9737:1;9725:13;;9639:115;9770:28;9801:24;9819:4;9801:9;:24::i;:::-;9770:55;;9844:8;;;;;;;;;;;:19;;;;;9857:6;;;;;;;;;;;9856:7;9844:19;:37;;;;;9867:10;:14;9878:2;9867:14;;;;;;;;;;;;;;;;;;;;;;;;;9844:37;:52;;;;;9885:11;;;;;;;;;;;9844:52;:94;;;;;9921:17;;9900:20;:38;9844:94;:126;;;;;9952:18;;9942:9;;:28;9844:126;9840:1111;;;10010:13;;9995:12;:28;9991:90;;;10060:1;10048:9;:13;;;;9991:90;10119:7;;10107:9;;:19;10099:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10165:67;10182:49;10186:6;10193:37;10197:20;10218:11;;10193:3;:37::i;:::-;10182:3;:49::i;:::-;10165:16;:67::i;:::-;10251:26;10280:21;10251:50;;10344:1;10323:18;:22;10320:105;;;10370:35;10383:21;10370:12;:35::i;:::-;10320:105;10443:9;;:11;;;;;;;;;:::i;:::-;;;;;;10489:12;10473:13;:28;;;;9972:545;9840:1111;;;10542:6;;;;;;;;;;;10541:7;:25;;;;;10552:10;:14;10563:2;10552:14;;;;;;;;;;;;;;;;;;;;;;;;;10541:25;:40;;;;;10570:11;;;;;;;;;;;10541:40;:82;;;;;10606:17;;10585:20;:38;10541:82;:114;;;;;10637:18;;10627:9;;:28;10541:114;10538:413;;;10676:67;10693:49;10697:6;10704:37;10708:20;10729:11;;10704:3;:37::i;:::-;10693:3;:49::i;:::-;10676:16;:67::i;:::-;10762:26;10791:21;10762:50;;10855:1;10834:18;:22;10831:105;;;10881:35;10894:21;10881:12;:35::i;:::-;10831:105;10657:294;10538:413;9840:1111;8653:2309;8615:2347;10987:1;10977:9;:11;10974:161;;;11027:39;11056:9;11027;:24;11045:4;11027:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11002:9;:24;11020:4;11002:24;;;;;;;;;;;;;;;:64;;;;11107:4;11084:39;;11093:4;11084:39;;;11113:9;11084:39;;;;;;:::i;:::-;;;;;;;;10974:161;11161:27;11181:6;11161:9;:15;11171:4;11161:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11145:9;:15;11155:4;11145:15;;;;;;;;;;;;;;;:43;;;;11213:40;11231:21;11242:9;11231:6;:10;;:21;;;;:::i;:::-;11213:9;:13;11223:2;11213:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11199:9;:13;11209:2;11199:13;;;;;;;;;;;;;;;:54;;;;11284:2;11269:41;;11278:4;11269:41;;;11288:21;11299:9;11288:6;:10;;:21;;;;:::i;:::-;11269:41;;;;;;:::i;:::-;;;;;;;;8343:2975;8274:3044;;;:::o;1990:190::-;2076:7;2109:1;2104;:6;;2112:12;2096:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2136:9;2152:1;2148;:5;;;;:::i;:::-;2136:17;;2171:1;2164:8;;;1990:190;;;;;:::o;2188:246::-;2246:7;2275:1;2270;:6;2266:47;;2300:1;2293:8;;;;2266:47;2323:9;2339:1;2335;:5;;;;:::i;:::-;2323:17;;2368:1;2363;2359;:5;;;;:::i;:::-;:10;2351:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2425:1;2418:8;;;2188:246;;;;;:::o;2442:132::-;2500:7;2527:39;2531:1;2534;2527:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2520:46;;2442:132;;;;:::o;11328:98::-;11385:7;11412:1;11410;:3;11409:9;;11417:1;11409:9;;;11415:1;11409:9;11402:16;;11328:98;;;;:::o;11434:483::-;6133:4;6124:6;;:13;;;;;;;;;;;;;;;;;;11512:21:::1;11550:1;11536:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11512:40;;11581:4;11563;11568:1;11563:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11607:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11597:4;11602:1;11597:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11640:62;11657:4;11672:15;;;;;;;;;;;11690:11;11640:8;:62::i;:::-;11713:15;;;;;;;;;;;:66;;;11794:11;11820:1;11836:4;11863;11883:15;11713:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11501:416;6169:5:::0;6160:6;;:14;;;;;;;;;;;;;;;;;;11434:483;:::o;12849:92::-;12906:10;;;;;;;;;;;:19;;:27;12926:6;12906:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12849:92;:::o;1659:179::-;1717:7;1737:9;1753:1;1749;:5;;;;:::i;:::-;1737:17;;1778:1;1773;:6;;1765:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1829:1;1822:8;;;1659:179;;;;:::o;1846:136::-;1904:7;1931:43;1935:1;1938;1931:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1924:50;;1846:136;;;;:::o;2582:189::-;2668:7;2700:1;2696;:5;2703:12;2688:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2727:9;2743:1;2739;:5;;;;:::i;:::-;2727:17;;2762:1;2755:8;;;2582:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:116::-;5610:21;5625:5;5610:21;:::i;:::-;5603:5;5600:32;5590:60;;5646:1;5643;5636:12;5590:60;5540:116;:::o;5662:133::-;5705:5;5743:6;5730:20;5721:29;;5759:30;5783:5;5759:30;:::i;:::-;5662:133;;;;:::o;5801:323::-;5857:6;5906:2;5894:9;5885:7;5881:23;5877:32;5874:119;;;5912:79;;:::i;:::-;5874:119;6032:1;6057:50;6099:7;6090:6;6079:9;6075:22;6057:50;:::i;:::-;6047:60;;6003:114;5801:323;;;;:::o;6130:474::-;6198:6;6206;6255:2;6243:9;6234:7;6230:23;6226:32;6223:119;;;6261:79;;:::i;:::-;6223:119;6381:1;6406:53;6451:7;6442:6;6431:9;6427:22;6406:53;:::i;:::-;6396:63;;6352:117;6508:2;6534:53;6579:7;6570:6;6559:9;6555:22;6534:53;:::i;:::-;6524:63;;6479:118;6130:474;;;;;:::o;6610:329::-;6669:6;6718:2;6706:9;6697:7;6693:23;6689:32;6686:119;;;6724:79;;:::i;:::-;6686:119;6844:1;6869:53;6914:7;6905:6;6894:9;6890:22;6869:53;:::i;:::-;6859:63;;6815:117;6610:329;;;;:::o;6945:468::-;7010:6;7018;7067:2;7055:9;7046:7;7042:23;7038:32;7035:119;;;7073:79;;:::i;:::-;7035:119;7193:1;7218:50;7260:7;7251:6;7240:9;7236:22;7218:50;:::i;:::-;7208:60;;7164:114;7317:2;7343:53;7388:7;7379:6;7368:9;7364:22;7343:53;:::i;:::-;7333:63;;7288:118;6945:468;;;;;:::o;7419:180::-;7467:77;7464:1;7457:88;7564:4;7561:1;7554:15;7588:4;7585:1;7578:15;7605:102;7647:8;7694:5;7691:1;7687:13;7666:34;;7605:102;;;:::o;7713:848::-;7774:5;7781:4;7805:6;7796:15;;7829:5;7820:14;;7843:712;7864:1;7854:8;7851:15;7843:712;;;7959:4;7954:3;7950:14;7944:4;7941:24;7938:50;;;7968:18;;:::i;:::-;7938:50;8018:1;8008:8;8004:16;8001:451;;;8433:4;8426:5;8422:16;8413:25;;8001:451;8483:4;8477;8473:15;8465:23;;8513:32;8536:8;8513:32;:::i;:::-;8501:44;;7843:712;;;7713:848;;;;;;;:::o;8567:1073::-;8621:5;8812:8;8802:40;;8833:1;8824:10;;8835:5;;8802:40;8861:4;8851:36;;8878:1;8869:10;;8880:5;;8851:36;8947:4;8995:1;8990:27;;;;9031:1;9026:191;;;;8940:277;;8990:27;9008:1;8999:10;;9010:5;;;9026:191;9071:3;9061:8;9058:17;9055:43;;;9078:18;;:::i;:::-;9055:43;9127:8;9124:1;9120:16;9111:25;;9162:3;9155:5;9152:14;9149:40;;;9169:18;;:::i;:::-;9149:40;9202:5;;;8940:277;;9326:2;9316:8;9313:16;9307:3;9301:4;9298:13;9294:36;9276:2;9266:8;9263:16;9258:2;9252:4;9249:12;9245:35;9229:111;9226:246;;;9382:8;9376:4;9372:19;9363:28;;9417:3;9410:5;9407:14;9404:40;;;9424:18;;:::i;:::-;9404:40;9457:5;;9226:246;9497:42;9535:3;9525:8;9519:4;9516:1;9497:42;:::i;:::-;9482:57;;;;9571:4;9566:3;9562:14;9555:5;9552:25;9549:51;;;9580:18;;:::i;:::-;9549:51;9629:4;9622:5;9618:16;9609:25;;8567:1073;;;;;;:::o;9646:281::-;9704:5;9728:23;9746:4;9728:23;:::i;:::-;9720:31;;9772:25;9788:8;9772:25;:::i;:::-;9760:37;;9816:104;9853:66;9843:8;9837:4;9816:104;:::i;:::-;9807:113;;9646:281;;;;:::o;9933:410::-;9973:7;9996:20;10014:1;9996:20;:::i;:::-;9991:25;;10030:20;10048:1;10030:20;:::i;:::-;10025:25;;10085:1;10082;10078:9;10107:30;10125:11;10107:30;:::i;:::-;10096:41;;10286:1;10277:7;10273:15;10270:1;10267:22;10247:1;10240:9;10220:83;10197:139;;10316:18;;:::i;:::-;10197:139;9981:362;9933:410;;;;:::o;10349:182::-;10489:34;10485:1;10477:6;10473:14;10466:58;10349:182;:::o;10537:366::-;10679:3;10700:67;10764:2;10759:3;10700:67;:::i;:::-;10693:74;;10776:93;10865:3;10776:93;:::i;:::-;10894:2;10889:3;10885:12;10878:19;;10537:366;;;:::o;10909:419::-;11075:4;11113:2;11102:9;11098:18;11090:26;;11162:9;11156:4;11152:20;11148:1;11137:9;11133:17;11126:47;11190:131;11316:4;11190:131;:::i;:::-;11182:139;;10909:419;;;:::o;11334:60::-;11362:3;11383:5;11376:12;;11334:60;;;:::o;11400:142::-;11450:9;11483:53;11501:34;11510:24;11528:5;11510:24;:::i;:::-;11501:34;:::i;:::-;11483:53;:::i;:::-;11470:66;;11400:142;;;:::o;11548:126::-;11598:9;11631:37;11662:5;11631:37;:::i;:::-;11618:50;;11548:126;;;:::o;11680:134::-;11738:9;11771:37;11802:5;11771:37;:::i;:::-;11758:50;;11680:134;;;:::o;11820:147::-;11915:45;11954:5;11915:45;:::i;:::-;11910:3;11903:58;11820:147;;:::o;11973:348::-;12102:4;12140:2;12129:9;12125:18;12117:26;;12153:79;12229:1;12218:9;12214:17;12205:6;12153:79;:::i;:::-;12242:72;12310:2;12299:9;12295:18;12286:6;12242:72;:::i;:::-;11973:348;;;;;:::o;12327:137::-;12381:5;12412:6;12406:13;12397:22;;12428:30;12452:5;12428:30;:::i;:::-;12327:137;;;;:::o;12470:345::-;12537:6;12586:2;12574:9;12565:7;12561:23;12557:32;12554:119;;;12592:79;;:::i;:::-;12554:119;12712:1;12737:61;12790:7;12781:6;12770:9;12766:22;12737:61;:::i;:::-;12727:71;;12683:125;12470:345;;;;:::o;12821:173::-;12961:25;12957:1;12949:6;12945:14;12938:49;12821:173;:::o;13000:366::-;13142:3;13163:67;13227:2;13222:3;13163:67;:::i;:::-;13156:74;;13239:93;13328:3;13239:93;:::i;:::-;13357:2;13352:3;13348:12;13341:19;;13000:366;;;:::o;13372:419::-;13538:4;13576:2;13565:9;13561:18;13553:26;;13625:9;13619:4;13615:20;13611:1;13600:9;13596:17;13589:47;13653:131;13779:4;13653:131;:::i;:::-;13645:139;;13372:419;;;:::o;13797:143::-;13854:5;13885:6;13879:13;13870:22;;13901:33;13928:5;13901:33;:::i;:::-;13797:143;;;;:::o;13946:351::-;14016:6;14065:2;14053:9;14044:7;14040:23;14036:32;14033:119;;;14071:79;;:::i;:::-;14033:119;14191:1;14216:64;14272:7;14263:6;14252:9;14248:22;14216:64;:::i;:::-;14206:74;;14162:128;13946:351;;;;:::o;14303:332::-;14424:4;14462:2;14451:9;14447:18;14439:26;;14475:71;14543:1;14532:9;14528:17;14519:6;14475:71;:::i;:::-;14556:72;14624:2;14613:9;14609:18;14600:6;14556:72;:::i;:::-;14303:332;;;;;:::o;14641:85::-;14686:7;14715:5;14704:16;;14641:85;;;:::o;14732:158::-;14790:9;14823:61;14841:42;14850:32;14876:5;14850:32;:::i;:::-;14841:42;:::i;:::-;14823:61;:::i;:::-;14810:74;;14732:158;;;:::o;14896:147::-;14991:45;15030:5;14991:45;:::i;:::-;14986:3;14979:58;14896:147;;:::o;15049:807::-;15298:4;15336:3;15325:9;15321:19;15313:27;;15350:71;15418:1;15407:9;15403:17;15394:6;15350:71;:::i;:::-;15431:72;15499:2;15488:9;15484:18;15475:6;15431:72;:::i;:::-;15513:80;15589:2;15578:9;15574:18;15565:6;15513:80;:::i;:::-;15603;15679:2;15668:9;15664:18;15655:6;15603:80;:::i;:::-;15693:73;15761:3;15750:9;15746:19;15737:6;15693:73;:::i;:::-;15776;15844:3;15833:9;15829:19;15820:6;15776:73;:::i;:::-;15049:807;;;;;;;;;:::o;15862:143::-;15919:5;15950:6;15944:13;15935:22;;15966:33;15993:5;15966:33;:::i;:::-;15862:143;;;;:::o;16011:663::-;16099:6;16107;16115;16164:2;16152:9;16143:7;16139:23;16135:32;16132:119;;;16170:79;;:::i;:::-;16132:119;16290:1;16315:64;16371:7;16362:6;16351:9;16347:22;16315:64;:::i;:::-;16305:74;;16261:128;16428:2;16454:64;16510:7;16501:6;16490:9;16486:22;16454:64;:::i;:::-;16444:74;;16399:129;16567:2;16593:64;16649:7;16640:6;16629:9;16625:22;16593:64;:::i;:::-;16583:74;;16538:129;16011:663;;;;;:::o;16680:332::-;16801:4;16839:2;16828:9;16824:18;16816:26;;16852:71;16920:1;16909:9;16905:17;16896:6;16852:71;:::i;:::-;16933:72;17001:2;16990:9;16986:18;16977:6;16933:72;:::i;:::-;16680:332;;;;;:::o;17018:225::-;17158:34;17154:1;17146:6;17142:14;17135:58;17227:8;17222:2;17214:6;17210:15;17203:33;17018:225;:::o;17249:366::-;17391:3;17412:67;17476:2;17471:3;17412:67;:::i;:::-;17405:74;;17488:93;17577:3;17488:93;:::i;:::-;17606:2;17601:3;17597:12;17590:19;;17249:366;;;:::o;17621:419::-;17787:4;17825:2;17814:9;17810:18;17802:26;;17874:9;17868:4;17864:20;17860:1;17849:9;17845:17;17838:47;17902:131;18028:4;17902:131;:::i;:::-;17894:139;;17621:419;;;:::o;18046:223::-;18186:34;18182:1;18174:6;18170:14;18163:58;18255:6;18250:2;18242:6;18238:15;18231:31;18046:223;:::o;18275:366::-;18417:3;18438:67;18502:2;18497:3;18438:67;:::i;:::-;18431:74;;18514:93;18603:3;18514:93;:::i;:::-;18632:2;18627:3;18623:12;18616:19;;18275:366;;;:::o;18647:419::-;18813:4;18851:2;18840:9;18836:18;18828:26;;18900:9;18894:4;18890:20;18886:1;18875:9;18871:17;18864:47;18928:131;19054:4;18928:131;:::i;:::-;18920:139;;18647:419;;;:::o;19072:221::-;19212:34;19208:1;19200:6;19196:14;19189:58;19281:4;19276:2;19268:6;19264:15;19257:29;19072:221;:::o;19299:366::-;19441:3;19462:67;19526:2;19521:3;19462:67;:::i;:::-;19455:74;;19538:93;19627:3;19538:93;:::i;:::-;19656:2;19651:3;19647:12;19640:19;;19299:366;;;:::o;19671:419::-;19837:4;19875:2;19864:9;19860:18;19852:26;;19924:9;19918:4;19914:20;19910:1;19899:9;19895:17;19888:47;19952:131;20078:4;19952:131;:::i;:::-;19944:139;;19671:419;;;:::o;20096:224::-;20236:34;20232:1;20224:6;20220:14;20213:58;20305:7;20300:2;20292:6;20288:15;20281:32;20096:224;:::o;20326:366::-;20468:3;20489:67;20553:2;20548:3;20489:67;:::i;:::-;20482:74;;20565:93;20654:3;20565:93;:::i;:::-;20683:2;20678:3;20674:12;20667:19;;20326:366;;;:::o;20698:419::-;20864:4;20902:2;20891:9;20887:18;20879:26;;20951:9;20945:4;20941:20;20937:1;20926:9;20922:17;20915:47;20979:131;21105:4;20979:131;:::i;:::-;20971:139;;20698:419;;;:::o;21123:222::-;21263:34;21259:1;21251:6;21247:14;21240:58;21332:5;21327:2;21319:6;21315:15;21308:30;21123:222;:::o;21351:366::-;21493:3;21514:67;21578:2;21573:3;21514:67;:::i;:::-;21507:74;;21590:93;21679:3;21590:93;:::i;:::-;21708:2;21703:3;21699:12;21692:19;;21351:366;;;:::o;21723:419::-;21889:4;21927:2;21916:9;21912:18;21904:26;;21976:9;21970:4;21966:20;21962:1;21951:9;21947:17;21940:47;22004:131;22130:4;22004:131;:::i;:::-;21996:139;;21723:419;;;:::o;22148:228::-;22288:34;22284:1;22276:6;22272:14;22265:58;22357:11;22352:2;22344:6;22340:15;22333:36;22148:228;:::o;22382:366::-;22524:3;22545:67;22609:2;22604:3;22545:67;:::i;:::-;22538:74;;22621:93;22710:3;22621:93;:::i;:::-;22739:2;22734:3;22730:12;22723:19;;22382:366;;;:::o;22754:419::-;22920:4;22958:2;22947:9;22943:18;22935:26;;23007:9;23001:4;22997:20;22993:1;22982:9;22978:17;22971:47;23035:131;23161:4;23035:131;:::i;:::-;23027:139;;22754:419;;;:::o;23179:182::-;23319:34;23315:1;23307:6;23303:14;23296:58;23179:182;:::o;23367:366::-;23509:3;23530:67;23594:2;23589:3;23530:67;:::i;:::-;23523:74;;23606:93;23695:3;23606:93;:::i;:::-;23724:2;23719:3;23715:12;23708:19;;23367:366;;;:::o;23739:419::-;23905:4;23943:2;23932:9;23928:18;23920:26;;23992:9;23986:4;23982:20;23978:1;23967:9;23963:17;23956:47;24020:131;24146:4;24020:131;:::i;:::-;24012:139;;23739:419;;;:::o;24164:233::-;24203:3;24226:24;24244:5;24226:24;:::i;:::-;24217:33;;24272:66;24265:5;24262:77;24259:103;;24342:18;;:::i;:::-;24259:103;24389:1;24382:5;24378:13;24371:20;;24164:233;;;:::o;24403:175::-;24543:27;24539:1;24531:6;24527:14;24520:51;24403:175;:::o;24584:366::-;24726:3;24747:67;24811:2;24806:3;24747:67;:::i;:::-;24740:74;;24823:93;24912:3;24823:93;:::i;:::-;24941:2;24936:3;24932:12;24925:19;;24584:366;;;:::o;24956:419::-;25122:4;25160:2;25149:9;25145:18;25137:26;;25209:9;25203:4;25199:20;25195:1;25184:9;25180:17;25173:47;25237:131;25363:4;25237:131;:::i;:::-;25229:139;;24956:419;;;:::o;25381:191::-;25421:3;25440:20;25458:1;25440:20;:::i;:::-;25435:25;;25474:20;25492:1;25474:20;:::i;:::-;25469:25;;25517:1;25514;25510:9;25503:16;;25538:3;25535:1;25532:10;25529:36;;;25545:18;;:::i;:::-;25529:36;25381:191;;;;:::o;25578:176::-;25718:28;25714:1;25706:6;25702:14;25695:52;25578:176;:::o;25760:366::-;25902:3;25923:67;25987:2;25982:3;25923:67;:::i;:::-;25916:74;;25999:93;26088:3;25999:93;:::i;:::-;26117:2;26112:3;26108:12;26101:19;;25760:366;;;:::o;26132:419::-;26298:4;26336:2;26325:9;26321:18;26313:26;;26385:9;26379:4;26375:20;26371:1;26360:9;26356:17;26349:47;26413:131;26539:4;26413:131;:::i;:::-;26405:139;;26132:419;;;:::o;26557:165::-;26697:17;26693:1;26685:6;26681:14;26674:41;26557:165;:::o;26728:366::-;26870:3;26891:67;26955:2;26950:3;26891:67;:::i;:::-;26884:74;;26967:93;27056:3;26967:93;:::i;:::-;27085:2;27080:3;27076:12;27069:19;;26728:366;;;:::o;27100:419::-;27266:4;27304:2;27293:9;27289:18;27281:26;;27353:9;27347:4;27343:20;27339:1;27328:9;27324:17;27317:47;27381:131;27507:4;27381:131;:::i;:::-;27373:139;;27100:419;;;:::o;27525:194::-;27565:4;27585:20;27603:1;27585:20;:::i;:::-;27580:25;;27619:20;27637:1;27619:20;:::i;:::-;27614:25;;27663:1;27660;27656:9;27648:17;;27687:1;27681:4;27678:11;27675:37;;;27692:18;;:::i;:::-;27675:37;27525:194;;;;:::o;27725:180::-;27773:77;27770:1;27763:88;27870:4;27867:1;27860:15;27894:4;27891:1;27884:15;27911:185;27951:1;27968:20;27986:1;27968:20;:::i;:::-;27963:25;;28002:20;28020:1;28002:20;:::i;:::-;27997:25;;28041:1;28031:35;;28046:18;;:::i;:::-;28031:35;28088:1;28085;28081:9;28076:14;;27911:185;;;;:::o;28102:220::-;28242:34;28238:1;28230:6;28226:14;28219:58;28311:3;28306:2;28298:6;28294:15;28287:28;28102:220;:::o;28328:366::-;28470:3;28491:67;28555:2;28550:3;28491:67;:::i;:::-;28484:74;;28567:93;28656:3;28567:93;:::i;:::-;28685:2;28680:3;28676:12;28669:19;;28328:366;;;:::o;28700:419::-;28866:4;28904:2;28893:9;28889:18;28881:26;;28953:9;28947:4;28943:20;28939:1;28928:9;28924:17;28917:47;28981:131;29107:4;28981:131;:::i;:::-;28973:139;;28700:419;;;:::o;29125:180::-;29173:77;29170:1;29163:88;29270:4;29267:1;29260:15;29294:4;29291:1;29284:15;29311:180;29359:77;29356:1;29349:88;29456:4;29453:1;29446:15;29480:4;29477:1;29470:15;29497:114;29564:6;29598:5;29592:12;29582:22;;29497:114;;;:::o;29617:184::-;29716:11;29750:6;29745:3;29738:19;29790:4;29785:3;29781:14;29766:29;;29617:184;;;;:::o;29807:132::-;29874:4;29897:3;29889:11;;29927:4;29922:3;29918:14;29910:22;;29807:132;;;:::o;29945:108::-;30022:24;30040:5;30022:24;:::i;:::-;30017:3;30010:37;29945:108;;:::o;30059:179::-;30128:10;30149:46;30191:3;30183:6;30149:46;:::i;:::-;30227:4;30222:3;30218:14;30204:28;;30059:179;;;;:::o;30244:113::-;30314:4;30346;30341:3;30337:14;30329:22;;30244:113;;;:::o;30393:732::-;30512:3;30541:54;30589:5;30541:54;:::i;:::-;30611:86;30690:6;30685:3;30611:86;:::i;:::-;30604:93;;30721:56;30771:5;30721:56;:::i;:::-;30800:7;30831:1;30816:284;30841:6;30838:1;30835:13;30816:284;;;30917:6;30911:13;30944:63;31003:3;30988:13;30944:63;:::i;:::-;30937:70;;31030:60;31083:6;31030:60;:::i;:::-;31020:70;;30876:224;30863:1;30860;30856:9;30851:14;;30816:284;;;30820:14;31116:3;31109:10;;30517:608;;;30393:732;;;;:::o;31131:831::-;31394:4;31432:3;31421:9;31417:19;31409:27;;31446:71;31514:1;31503:9;31499:17;31490:6;31446:71;:::i;:::-;31527:80;31603:2;31592:9;31588:18;31579:6;31527:80;:::i;:::-;31654:9;31648:4;31644:20;31639:2;31628:9;31624:18;31617:48;31682:108;31785:4;31776:6;31682:108;:::i;:::-;31674:116;;31800:72;31868:2;31857:9;31853:18;31844:6;31800:72;:::i;:::-;31882:73;31950:3;31939:9;31935:19;31926:6;31882:73;:::i;:::-;31131:831;;;;;;;;:::o;31968:177::-;32108:29;32104:1;32096:6;32092:14;32085:53;31968:177;:::o;32151:366::-;32293:3;32314:67;32378:2;32373:3;32314:67;:::i;:::-;32307:74;;32390:93;32479:3;32390:93;:::i;:::-;32508:2;32503:3;32499:12;32492:19;;32151:366;;;:::o;32523:419::-;32689:4;32727:2;32716:9;32712:18;32704:26;;32776:9;32770:4;32766:20;32762:1;32751:9;32747:17;32740:47;32804:131;32930:4;32804:131;:::i;:::-;32796:139;;32523:419;;;:::o
Swarm Source
ipfs://4a3cd2a0f706a6eec301370b0247bbe2180e9797fd38973af1f07ee2eb6899e6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.