Overview
Max Total Supply
10,000,000 BEAST
Holders
699,270 (0.00%)
Market
Price
$0.0226 @ 0.000008 ETH (-2.66%)
Onchain Market Cap
-
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 8 Decimals)
Balance
119.72978887 BEASTValue
$2.71 ( ~0.0009171504036872 ETH) [0.0012%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
MRBEAST
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at basescan.org on 2024-05-22
*/
/*
MrBeast and Coinbase are cooking together this onchain summer...
Join the strongest community of MrBeast fanatics in DeFi!
The most viral sensation of our generation has been tokenized by the people.
$BEAST
Website: https://www.beastcoinbase.com/
TG: https://t.me/mrbeastbase
X: https://x.com/mrbeastcoinbase
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract MRBEAST is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
mapping (address => bool) private isBlacklisted;
mapping(address => uint256) private _holderLastTransferTimestamp;
bool public transferDelayEnabled = false;
address payable private _taxWallet;
uint256 private _initialBuyTax=16;
uint256 private _initialSellTax=25;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=30;
uint256 private _reduceSellTaxAt=30;
uint256 private _preventSwapBefore=30;
uint256 private _buyCount=0;
uint256 private _FinalmaxTxPercent = 2;
uint256 private _FinalmaxWalletPercent = 2;
uint256 private _ManualfinalBuyTax = 0;
uint256 private _ManualfinalSellTax = 0;
uint8 private constant _decimals = 8;
uint256 private constant _tTotal = 10000000 * 10**_decimals;
string private constant _name = unicode"MrBeast";
string private constant _symbol = unicode"BEAST";
uint256 public _maxTxAmount = 200000 * 10**_decimals;
uint256 public _maxWalletSize = 200000 * 10**_decimals;
uint256 public _taxSwapThreshold=100000 * 10**_decimals;
uint256 public _maxTaxSwap=200000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function isAddressBlacklisted(address addr) public view returns (bool) {
return isBlacklisted[addr];
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
require(!isBlacklisted[to] && !isBlacklisted[from], 'Address is blacklisted');
if (transferDelayEnabled) {
if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_buyCount++;
}
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
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 {
if(tokenAmount==0){return;}
if(!tradingOpen){return;}
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 removeLimits() external {
require(_msgSender() == _taxWallet, "Only the deployer can call this function.");
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
transferDelayEnabled=false;
emit MaxTxAmountUpdated(_tTotal);
}
function setFinalMaxWallet() external onlyOwner {
_maxTxAmount = _tTotal.mul(_FinalmaxTxPercent).div(100);
_maxWalletSize = _tTotal.mul(_FinalmaxWalletPercent).div(100);
emit MaxTxAmountUpdated(_maxTxAmount);
}
function setFinalTax() external onlyOwner {
_finalBuyTax = _ManualfinalBuyTax;
_finalSellTax = _ManualfinalSellTax;
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function isBot(address a) public view returns (bool){
return bots[a];
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
function BulkisBot(address[] memory accounts, bool state) external onlyOwner {
for (uint256 i = 0; i < accounts.length; i++) {
isBlacklisted[accounts[i]] = state;
}
}
function reduceFee(uint256 _newFee) external{
require(_buyCount>1);
require(_newFee<=_finalSellTax && _newFee<=_finalBuyTax);
_finalSellTax=_newFee;
_finalBuyTax=_newFee;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"BulkisBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isAddressBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinalMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setFinalTax","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526000600760006101000a81548160ff021916908315150217905550601060085560196009556000600a556000600b55601e600c55601e600d55601e600e556000600f5560026010556002601155600060125560006013556008600a6200006b91906200063d565b62030d406200007b91906200068e565b6014556008600a6200008e91906200063d565b62030d406200009e91906200068e565b6015556008600a620000b191906200063d565b620186a0620000c191906200068e565b6016556008600a620000d491906200063d565b62030d40620000e491906200068e565b6017556000601960156101000a81548160ff0219169083151502179055506000601960166101000a81548160ff0219169083151502179055503480156200012a57600080fd5b5060006200013d6200047260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001eb6200047260201b60201c565b600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a6200023b91906200063d565b629896806200024b91906200068e565b600160006200025f6200047260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002b36200047a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003e66200047260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200044591906200063d565b629896806200045591906200068e565b604051620004649190620006ea565b60405180910390a362000707565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200053157808604811115620005095762000508620004a3565b5b6001851615620005195780820291505b80810290506200052985620004d2565b9450620004e9565b94509492505050565b6000826200054c57600190506200061f565b816200055c57600090506200061f565b81600181146200057557600281146200058057620005b6565b60019150506200061f565b60ff841115620005955762000594620004a3565b5b8360020a915084821115620005af57620005ae620004a3565b5b506200061f565b5060208310610133831016604e8410600b8410161715620005f05782820a905083811115620005ea57620005e9620004a3565b5b6200061f565b620005ff8484846001620004df565b92509050818404811115620006195762000618620004a3565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200064a8262000626565b9150620006578362000630565b9250620006867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200053a565b905092915050565b60006200069b8262000626565b9150620006a88362000626565b9250828202620006b88162000626565b91508282048414831517620006d257620006d1620004a3565b5b5092915050565b620006e48162000626565b82525050565b6000602082019050620007016000830184620006d9565b92915050565b613a1a80620007176000396000f3fe60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bf474bed1161008a578063dd62ed3e11610064578063dd62ed3e14610517578063ec1f3f6314610554578063ec6c12901461057d578063facff4dc1461059457610171565b8063bf474bed146104aa578063c876d0b9146104d5578063c9567bf91461050057610171565b80637d1db4a5146103845780638da5cb5b146103af5780638f9a55c0146103da57806390683e8c1461040557806395d89b4114610442578063a9059cbb1461046d57610171565b80633bbac579116101235780633bbac5791461029c57806351bc3c85146102d9578063567fef5b146102f057806370a0823114610319578063715018a614610356578063751039fc1461036d57610171565b806306fdde0314610176578063095ea7b3146101a15780630faee56f146101de57806318160ddd1461020957806323b872dd14610234578063313ce5671461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105ab565b60405161019891906127f2565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906128bc565b6105e8565b6040516101d59190612917565b60405180910390f35b3480156101ea57600080fd5b506101f3610606565b6040516102009190612941565b60405180910390f35b34801561021557600080fd5b5061021e61060c565b60405161022b9190612941565b60405180910390f35b34801561024057600080fd5b5061025b6004803603810190610256919061295c565b61062f565b6040516102689190612917565b60405180910390f35b34801561027d57600080fd5b50610286610708565b60405161029391906129cb565b60405180910390f35b3480156102a857600080fd5b506102c360048036038101906102be91906129e6565b610711565b6040516102d09190612917565b60405180910390f35b3480156102e557600080fd5b506102ee610767565b005b3480156102fc57600080fd5b5061031760048036038101906103129190612b87565b610804565b005b34801561032557600080fd5b50610340600480360381019061033b91906129e6565b61092e565b60405161034d9190612941565b60405180910390f35b34801561036257600080fd5b5061036b610977565b005b34801561037957600080fd5b50610382610aca565b005b34801561039057600080fd5b50610399610c14565b6040516103a69190612941565b60405180910390f35b3480156103bb57600080fd5b506103c4610c1a565b6040516103d19190612bf2565b60405180910390f35b3480156103e657600080fd5b506103ef610c43565b6040516103fc9190612941565b60405180910390f35b34801561041157600080fd5b5061042c600480360381019061042791906129e6565b610c49565b6040516104399190612917565b60405180910390f35b34801561044e57600080fd5b50610457610c9f565b60405161046491906127f2565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f91906128bc565b610cdc565b6040516104a19190612917565b60405180910390f35b3480156104b657600080fd5b506104bf610cfa565b6040516104cc9190612941565b60405180910390f35b3480156104e157600080fd5b506104ea610d00565b6040516104f79190612917565b60405180910390f35b34801561050c57600080fd5b50610515610d13565b005b34801561052357600080fd5b5061053e60048036038101906105399190612c0d565b61124a565b60405161054b9190612941565b60405180910390f35b34801561056057600080fd5b5061057b60048036038101906105769190612c4d565b6112d1565b005b34801561058957600080fd5b5061059261130e565b005b3480156105a057600080fd5b506105a96113b7565b005b60606040518060400160405280600781526020017f4d72426561737400000000000000000000000000000000000000000000000000815250905090565b60006105fc6105f5611519565b8484611521565b6001905092915050565b60175481565b60006008600a61061c9190612ddc565b6298968061062a9190612e27565b905090565b600061063c8484846116ea565b6106fd84610648611519565b6106f8856040518060600160405280602881526020016139bd60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106ae611519565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122129092919063ffffffff16565b611521565b600190509392505050565b60006008905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107a8611519565b73ffffffffffffffffffffffffffffffffffffffff16146107c857600080fd5b60006107d33061092e565b905060008111156107e8576107e781612276565b5b60004790506000811115610800576107ff8161250e565b5b5050565b61080c611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089090612eb5565b60405180910390fd5b60005b82518110156109295781600560008584815181106108bd576108bc612ed5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061092190612f04565b91505061089c565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61097f611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0390612eb5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0b611519565b73ffffffffffffffffffffffffffffffffffffffff1614610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890612fbe565b60405180910390fd5b6008600a610b6f9190612ddc565b62989680610b7d9190612e27565b6014819055506008600a610b919190612ddc565b62989680610b9f9190612e27565b6015819055506000600760006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610bef9190612ddc565b62989680610bfd9190612e27565b604051610c0a9190612941565b60405180910390a1565b60145481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60155481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60606040518060400160405280600581526020017f4245415354000000000000000000000000000000000000000000000000000000815250905090565b6000610cf0610ce9611519565b84846116ea565b6001905092915050565b60165481565b600760009054906101000a900460ff1681565b610d1b611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90612eb5565b60405180910390fd5b601960149054906101000a900460ff1615610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def9061302a565b60405180910390fd5b734752ba5dbc23f44d87826276bf6fd6b1c372ad24601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9530601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610e829190612ddc565b62989680610e909190612e27565b611521565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f26919061305f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd3919061305f565b6040518363ffffffff1660e01b8152600401610ff092919061308c565b6020604051808303816000875af115801561100f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611033919061305f565b601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110bc3061092e565b6000806110c7610c1a565b426040518863ffffffff1660e01b81526004016110e9969594939291906130fa565b60606040518083038185885af1158015611107573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112c9190613170565b505050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111ce9291906131c3565b6020604051808303816000875af11580156111ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112119190613201565b506001601960166101000a81548160ff0219169083151502179055506001601960146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6001600f54116112e057600080fd5b600b5481111580156112f45750600a548111155b6112fd57600080fd5b80600b8190555080600a8190555050565b611316611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a90612eb5565b60405180910390fd5b601254600a81905550601354600b81905550565b6113bf611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390612eb5565b60405180910390fd5b61148f60646114816010546008600a6114659190612ddc565b629896806114739190612e27565b61257a90919063ffffffff16565b6125f490919063ffffffff16565b6014819055506114d860646114ca6011546008600a6114ae9190612ddc565b629896806114bc9190612e27565b61257a90919063ffffffff16565b6125f490919063ffffffff16565b6015819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60145460405161150f9190612941565b60405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611590576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611587906132a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f690613332565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116dd9190612941565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611759576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611750906133c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bf90613456565b60405180910390fd5b6000811161180b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611802906134e8565b60405180910390fd5b6000611815610c1a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118835750611853610c1a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f5557600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561192c5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61193557600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119d95750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0f90613554565b60405180910390fd5b600760009054906101000a900460ff1615611ba557601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ad95750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ba45743600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b56906135e6565b60405180910390fd5b43600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c505750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ca65750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6157601454821115611cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce790613652565b60405180910390fd5b60155482611cfd8561092e565b611d079190613672565b1115611d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3f906136f2565b60405180910390fd5b600f6000815480929190611d5b90612f04565b91905055505b611d9d6064611d8f600c54600f5411611d7c57600854611d80565b600a545b8561257a90919063ffffffff16565b6125f490919063ffffffff16565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e2857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e6c57611e696064611e5b600d54600f5411611e4857600954611e4c565b600b545b8561257a90919063ffffffff16565b6125f490919063ffffffff16565b90505b6000611e773061092e565b9050601960159054906101000a900460ff16158015611ee35750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611efb5750601960169054906101000a900460ff165b8015611f08575060165481115b8015611f175750600e54600f54115b15611f5357611f39611f3484611f2f8460175461263e565b61263e565b612276565b60004790506000811115611f5157611f504761250e565b5b505b505b600081111561205957611fb081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265790919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120509190612941565b60405180910390a35b6120ab82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061215261210482846126b590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6121f784866126b590919063ffffffff16565b6040516122049190612941565b60405180910390a350505050565b600083831115829061225a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225191906127f2565b60405180910390fd5b50600083856122699190613712565b9050809150509392505050565b6001601960156101000a81548160ff02191690831515021790555060008103156124f057601960149054906101000a900460ff16156124f0576000600267ffffffffffffffff8111156122cc576122cb612a18565b5b6040519080825280602002602001820160405280156122fa5781602001602082028036833780820191505090505b509050308160008151811061231257612311612ed5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123dd919061305f565b816001815181106123f1576123f0612ed5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061245830601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611521565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124bc959493929190613804565b600060405180830381600087803b1580156124d657600080fd5b505af11580156124ea573d6000803e3d6000fd5b50505050505b6000601960156101000a81548160ff02191690831515021790555050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612576573d6000803e3d6000fd5b5050565b600080830361258c57600090506125ee565b6000828461259a9190612e27565b90508284826125a9919061388d565b146125e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e090613930565b60405180910390fd5b809150505b92915050565b600061263683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126ff565b905092915050565b600081831161264d578261264f565b815b905092915050565b60008082846126669190613672565b9050838110156126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a29061399c565b60405180910390fd5b8091505092915050565b60006126f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612212565b905092915050565b60008083118290612746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273d91906127f2565b60405180910390fd5b5060008385612755919061388d565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561279c578082015181840152602081019050612781565b60008484015250505050565b6000601f19601f8301169050919050565b60006127c482612762565b6127ce818561276d565b93506127de81856020860161277e565b6127e7816127a8565b840191505092915050565b6000602082019050818103600083015261280c81846127b9565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061285382612828565b9050919050565b61286381612848565b811461286e57600080fd5b50565b6000813590506128808161285a565b92915050565b6000819050919050565b61289981612886565b81146128a457600080fd5b50565b6000813590506128b681612890565b92915050565b600080604083850312156128d3576128d261281e565b5b60006128e185828601612871565b92505060206128f2858286016128a7565b9150509250929050565b60008115159050919050565b612911816128fc565b82525050565b600060208201905061292c6000830184612908565b92915050565b61293b81612886565b82525050565b60006020820190506129566000830184612932565b92915050565b6000806000606084860312156129755761297461281e565b5b600061298386828701612871565b935050602061299486828701612871565b92505060406129a5868287016128a7565b9150509250925092565b600060ff82169050919050565b6129c5816129af565b82525050565b60006020820190506129e060008301846129bc565b92915050565b6000602082840312156129fc576129fb61281e565b5b6000612a0a84828501612871565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a50826127a8565b810181811067ffffffffffffffff82111715612a6f57612a6e612a18565b5b80604052505050565b6000612a82612814565b9050612a8e8282612a47565b919050565b600067ffffffffffffffff821115612aae57612aad612a18565b5b602082029050602081019050919050565b600080fd5b6000612ad7612ad284612a93565b612a78565b90508083825260208201905060208402830185811115612afa57612af9612abf565b5b835b81811015612b235780612b0f8882612871565b845260208401935050602081019050612afc565b5050509392505050565b600082601f830112612b4257612b41612a13565b5b8135612b52848260208601612ac4565b91505092915050565b612b64816128fc565b8114612b6f57600080fd5b50565b600081359050612b8181612b5b565b92915050565b60008060408385031215612b9e57612b9d61281e565b5b600083013567ffffffffffffffff811115612bbc57612bbb612823565b5b612bc885828601612b2d565b9250506020612bd985828601612b72565b9150509250929050565b612bec81612848565b82525050565b6000602082019050612c076000830184612be3565b92915050565b60008060408385031215612c2457612c2361281e565b5b6000612c3285828601612871565b9250506020612c4385828601612871565b9150509250929050565b600060208284031215612c6357612c6261281e565b5b6000612c71848285016128a7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612d0057808604811115612cdc57612cdb612c7a565b5b6001851615612ceb5780820291505b8081029050612cf985612ca9565b9450612cc0565b94509492505050565b600082612d195760019050612dd5565b81612d275760009050612dd5565b8160018114612d3d5760028114612d4757612d76565b6001915050612dd5565b60ff841115612d5957612d58612c7a565b5b8360020a915084821115612d7057612d6f612c7a565b5b50612dd5565b5060208310610133831016604e8410600b8410161715612dab5782820a905083811115612da657612da5612c7a565b5b612dd5565b612db88484846001612cb6565b92509050818404811115612dcf57612dce612c7a565b5b81810290505b9392505050565b6000612de782612886565b9150612df2836129af565b9250612e1f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d09565b905092915050565b6000612e3282612886565b9150612e3d83612886565b9250828202612e4b81612886565b91508282048414831517612e6257612e61612c7a565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e9f60208361276d565b9150612eaa82612e69565b602082019050919050565b60006020820190508181036000830152612ece81612e92565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612f0f82612886565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f4157612f40612c7a565b5b600182019050919050565b7f4f6e6c7920746865206465706c6f7965722063616e2063616c6c20746869732060008201527f66756e6374696f6e2e0000000000000000000000000000000000000000000000602082015250565b6000612fa860298361276d565b9150612fb382612f4c565b604082019050919050565b60006020820190508181036000830152612fd781612f9b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061301460178361276d565b915061301f82612fde565b602082019050919050565b6000602082019050818103600083015261304381613007565b9050919050565b6000815190506130598161285a565b92915050565b6000602082840312156130755761307461281e565b5b60006130838482850161304a565b91505092915050565b60006040820190506130a16000830185612be3565b6130ae6020830184612be3565b9392505050565b6000819050919050565b6000819050919050565b60006130e46130df6130da846130b5565b6130bf565b612886565b9050919050565b6130f4816130c9565b82525050565b600060c08201905061310f6000830189612be3565b61311c6020830188612932565b61312960408301876130eb565b61313660608301866130eb565b6131436080830185612be3565b61315060a0830184612932565b979650505050505050565b60008151905061316a81612890565b92915050565b6000806000606084860312156131895761318861281e565b5b60006131978682870161315b565b93505060206131a88682870161315b565b92505060406131b98682870161315b565b9150509250925092565b60006040820190506131d86000830185612be3565b6131e56020830184612932565b9392505050565b6000815190506131fb81612b5b565b92915050565b6000602082840312156132175761321661281e565b5b6000613225848285016131ec565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061328a60248361276d565b91506132958261322e565b604082019050919050565b600060208201905081810360008301526132b98161327d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061331c60228361276d565b9150613327826132c0565b604082019050919050565b6000602082019050818103600083015261334b8161330f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133ae60258361276d565b91506133b982613352565b604082019050919050565b600060208201905081810360008301526133dd816133a1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061344060238361276d565b915061344b826133e4565b604082019050919050565b6000602082019050818103600083015261346f81613433565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134d260298361276d565b91506134dd82613476565b604082019050919050565b60006020820190508181036000830152613501816134c5565b9050919050565b7f4164647265737320697320626c61636b6c697374656400000000000000000000600082015250565b600061353e60168361276d565b915061354982613508565b602082019050919050565b6000602082019050818103600083015261356d81613531565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006135d060248361276d565b91506135db82613574565b604082019050919050565b600060208201905081810360008301526135ff816135c3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061363c60198361276d565b915061364782613606565b602082019050919050565b6000602082019050818103600083015261366b8161362f565b9050919050565b600061367d82612886565b915061368883612886565b92508282019050808211156136a05761369f612c7a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006136dc601a8361276d565b91506136e7826136a6565b602082019050919050565b6000602082019050818103600083015261370b816136cf565b9050919050565b600061371d82612886565b915061372883612886565b92508282039050818111156137405761373f612c7a565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61377b81612848565b82525050565b600061378d8383613772565b60208301905092915050565b6000602082019050919050565b60006137b182613746565b6137bb8185613751565b93506137c683613762565b8060005b838110156137f75781516137de8882613781565b97506137e983613799565b9250506001810190506137ca565b5085935050505092915050565b600060a0820190506138196000830188612932565b61382660208301876130eb565b818103604083015261383881866137a6565b90506138476060830185612be3565b6138546080830184612932565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061389882612886565b91506138a383612886565b9250826138b3576138b261385e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061391a60218361276d565b9150613925826138be565b604082019050919050565b600060208201905081810360008301526139498161390d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613986601b8361276d565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206d4f2f95ba422a9a11a0204fb25fbddcb71e773448101652f52512a8ddf107a664736f6c63430008130033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c80637d1db4a5116100d1578063bf474bed1161008a578063dd62ed3e11610064578063dd62ed3e14610517578063ec1f3f6314610554578063ec6c12901461057d578063facff4dc1461059457610171565b8063bf474bed146104aa578063c876d0b9146104d5578063c9567bf91461050057610171565b80637d1db4a5146103845780638da5cb5b146103af5780638f9a55c0146103da57806390683e8c1461040557806395d89b4114610442578063a9059cbb1461046d57610171565b80633bbac579116101235780633bbac5791461029c57806351bc3c85146102d9578063567fef5b146102f057806370a0823114610319578063715018a614610356578063751039fc1461036d57610171565b806306fdde0314610176578063095ea7b3146101a15780630faee56f146101de57806318160ddd1461020957806323b872dd14610234578063313ce5671461027157610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105ab565b60405161019891906127f2565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906128bc565b6105e8565b6040516101d59190612917565b60405180910390f35b3480156101ea57600080fd5b506101f3610606565b6040516102009190612941565b60405180910390f35b34801561021557600080fd5b5061021e61060c565b60405161022b9190612941565b60405180910390f35b34801561024057600080fd5b5061025b6004803603810190610256919061295c565b61062f565b6040516102689190612917565b60405180910390f35b34801561027d57600080fd5b50610286610708565b60405161029391906129cb565b60405180910390f35b3480156102a857600080fd5b506102c360048036038101906102be91906129e6565b610711565b6040516102d09190612917565b60405180910390f35b3480156102e557600080fd5b506102ee610767565b005b3480156102fc57600080fd5b5061031760048036038101906103129190612b87565b610804565b005b34801561032557600080fd5b50610340600480360381019061033b91906129e6565b61092e565b60405161034d9190612941565b60405180910390f35b34801561036257600080fd5b5061036b610977565b005b34801561037957600080fd5b50610382610aca565b005b34801561039057600080fd5b50610399610c14565b6040516103a69190612941565b60405180910390f35b3480156103bb57600080fd5b506103c4610c1a565b6040516103d19190612bf2565b60405180910390f35b3480156103e657600080fd5b506103ef610c43565b6040516103fc9190612941565b60405180910390f35b34801561041157600080fd5b5061042c600480360381019061042791906129e6565b610c49565b6040516104399190612917565b60405180910390f35b34801561044e57600080fd5b50610457610c9f565b60405161046491906127f2565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f91906128bc565b610cdc565b6040516104a19190612917565b60405180910390f35b3480156104b657600080fd5b506104bf610cfa565b6040516104cc9190612941565b60405180910390f35b3480156104e157600080fd5b506104ea610d00565b6040516104f79190612917565b60405180910390f35b34801561050c57600080fd5b50610515610d13565b005b34801561052357600080fd5b5061053e60048036038101906105399190612c0d565b61124a565b60405161054b9190612941565b60405180910390f35b34801561056057600080fd5b5061057b60048036038101906105769190612c4d565b6112d1565b005b34801561058957600080fd5b5061059261130e565b005b3480156105a057600080fd5b506105a96113b7565b005b60606040518060400160405280600781526020017f4d72426561737400000000000000000000000000000000000000000000000000815250905090565b60006105fc6105f5611519565b8484611521565b6001905092915050565b60175481565b60006008600a61061c9190612ddc565b6298968061062a9190612e27565b905090565b600061063c8484846116ea565b6106fd84610648611519565b6106f8856040518060600160405280602881526020016139bd60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106ae611519565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122129092919063ffffffff16565b611521565b600190509392505050565b60006008905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107a8611519565b73ffffffffffffffffffffffffffffffffffffffff16146107c857600080fd5b60006107d33061092e565b905060008111156107e8576107e781612276565b5b60004790506000811115610800576107ff8161250e565b5b5050565b61080c611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089090612eb5565b60405180910390fd5b60005b82518110156109295781600560008584815181106108bd576108bc612ed5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061092190612f04565b91505061089c565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61097f611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0390612eb5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0b611519565b73ffffffffffffffffffffffffffffffffffffffff1614610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890612fbe565b60405180910390fd5b6008600a610b6f9190612ddc565b62989680610b7d9190612e27565b6014819055506008600a610b919190612ddc565b62989680610b9f9190612e27565b6015819055506000600760006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610bef9190612ddc565b62989680610bfd9190612e27565b604051610c0a9190612941565b60405180910390a1565b60145481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60155481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60606040518060400160405280600581526020017f4245415354000000000000000000000000000000000000000000000000000000815250905090565b6000610cf0610ce9611519565b84846116ea565b6001905092915050565b60165481565b600760009054906101000a900460ff1681565b610d1b611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9f90612eb5565b60405180910390fd5b601960149054906101000a900460ff1615610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def9061302a565b60405180910390fd5b734752ba5dbc23f44d87826276bf6fd6b1c372ad24601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9530601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610e829190612ddc565b62989680610e909190612e27565b611521565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f26919061305f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd3919061305f565b6040518363ffffffff1660e01b8152600401610ff092919061308c565b6020604051808303816000875af115801561100f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611033919061305f565b601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110bc3061092e565b6000806110c7610c1a565b426040518863ffffffff1660e01b81526004016110e9969594939291906130fa565b60606040518083038185885af1158015611107573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112c9190613170565b505050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111ce9291906131c3565b6020604051808303816000875af11580156111ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112119190613201565b506001601960166101000a81548160ff0219169083151502179055506001601960146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6001600f54116112e057600080fd5b600b5481111580156112f45750600a548111155b6112fd57600080fd5b80600b8190555080600a8190555050565b611316611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a90612eb5565b60405180910390fd5b601254600a81905550601354600b81905550565b6113bf611519565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390612eb5565b60405180910390fd5b61148f60646114816010546008600a6114659190612ddc565b629896806114739190612e27565b61257a90919063ffffffff16565b6125f490919063ffffffff16565b6014819055506114d860646114ca6011546008600a6114ae9190612ddc565b629896806114bc9190612e27565b61257a90919063ffffffff16565b6125f490919063ffffffff16565b6015819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60145460405161150f9190612941565b60405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611590576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611587906132a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f690613332565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116dd9190612941565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611759576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611750906133c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bf90613456565b60405180910390fd5b6000811161180b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611802906134e8565b60405180910390fd5b6000611815610c1a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118835750611853610c1a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f5557600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561192c5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61193557600080fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119d95750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0f90613554565b60405180910390fd5b600760009054906101000a900460ff1615611ba557601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ad95750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ba45743600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b56906135e6565b60405180910390fd5b43600660003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c505750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ca65750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6157601454821115611cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce790613652565b60405180910390fd5b60155482611cfd8561092e565b611d079190613672565b1115611d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3f906136f2565b60405180910390fd5b600f6000815480929190611d5b90612f04565b91905055505b611d9d6064611d8f600c54600f5411611d7c57600854611d80565b600a545b8561257a90919063ffffffff16565b6125f490919063ffffffff16565b9050601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e2857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e6c57611e696064611e5b600d54600f5411611e4857600954611e4c565b600b545b8561257a90919063ffffffff16565b6125f490919063ffffffff16565b90505b6000611e773061092e565b9050601960159054906101000a900460ff16158015611ee35750601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611efb5750601960169054906101000a900460ff165b8015611f08575060165481115b8015611f175750600e54600f54115b15611f5357611f39611f3484611f2f8460175461263e565b61263e565b612276565b60004790506000811115611f5157611f504761250e565b5b505b505b600081111561205957611fb081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265790919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120509190612941565b60405180910390a35b6120ab82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061215261210482846126b590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6121f784866126b590919063ffffffff16565b6040516122049190612941565b60405180910390a350505050565b600083831115829061225a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225191906127f2565b60405180910390fd5b50600083856122699190613712565b9050809150509392505050565b6001601960156101000a81548160ff02191690831515021790555060008103156124f057601960149054906101000a900460ff16156124f0576000600267ffffffffffffffff8111156122cc576122cb612a18565b5b6040519080825280602002602001820160405280156122fa5781602001602082028036833780820191505090505b509050308160008151811061231257612311612ed5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123dd919061305f565b816001815181106123f1576123f0612ed5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061245830601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611521565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124bc959493929190613804565b600060405180830381600087803b1580156124d657600080fd5b505af11580156124ea573d6000803e3d6000fd5b50505050505b6000601960156101000a81548160ff02191690831515021790555050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612576573d6000803e3d6000fd5b5050565b600080830361258c57600090506125ee565b6000828461259a9190612e27565b90508284826125a9919061388d565b146125e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e090613930565b60405180910390fd5b809150505b92915050565b600061263683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126ff565b905092915050565b600081831161264d578261264f565b815b905092915050565b60008082846126669190613672565b9050838110156126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a29061399c565b60405180910390fd5b8091505092915050565b60006126f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612212565b905092915050565b60008083118290612746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273d91906127f2565b60405180910390fd5b5060008385612755919061388d565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561279c578082015181840152602081019050612781565b60008484015250505050565b6000601f19601f8301169050919050565b60006127c482612762565b6127ce818561276d565b93506127de81856020860161277e565b6127e7816127a8565b840191505092915050565b6000602082019050818103600083015261280c81846127b9565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061285382612828565b9050919050565b61286381612848565b811461286e57600080fd5b50565b6000813590506128808161285a565b92915050565b6000819050919050565b61289981612886565b81146128a457600080fd5b50565b6000813590506128b681612890565b92915050565b600080604083850312156128d3576128d261281e565b5b60006128e185828601612871565b92505060206128f2858286016128a7565b9150509250929050565b60008115159050919050565b612911816128fc565b82525050565b600060208201905061292c6000830184612908565b92915050565b61293b81612886565b82525050565b60006020820190506129566000830184612932565b92915050565b6000806000606084860312156129755761297461281e565b5b600061298386828701612871565b935050602061299486828701612871565b92505060406129a5868287016128a7565b9150509250925092565b600060ff82169050919050565b6129c5816129af565b82525050565b60006020820190506129e060008301846129bc565b92915050565b6000602082840312156129fc576129fb61281e565b5b6000612a0a84828501612871565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a50826127a8565b810181811067ffffffffffffffff82111715612a6f57612a6e612a18565b5b80604052505050565b6000612a82612814565b9050612a8e8282612a47565b919050565b600067ffffffffffffffff821115612aae57612aad612a18565b5b602082029050602081019050919050565b600080fd5b6000612ad7612ad284612a93565b612a78565b90508083825260208201905060208402830185811115612afa57612af9612abf565b5b835b81811015612b235780612b0f8882612871565b845260208401935050602081019050612afc565b5050509392505050565b600082601f830112612b4257612b41612a13565b5b8135612b52848260208601612ac4565b91505092915050565b612b64816128fc565b8114612b6f57600080fd5b50565b600081359050612b8181612b5b565b92915050565b60008060408385031215612b9e57612b9d61281e565b5b600083013567ffffffffffffffff811115612bbc57612bbb612823565b5b612bc885828601612b2d565b9250506020612bd985828601612b72565b9150509250929050565b612bec81612848565b82525050565b6000602082019050612c076000830184612be3565b92915050565b60008060408385031215612c2457612c2361281e565b5b6000612c3285828601612871565b9250506020612c4385828601612871565b9150509250929050565b600060208284031215612c6357612c6261281e565b5b6000612c71848285016128a7565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612d0057808604811115612cdc57612cdb612c7a565b5b6001851615612ceb5780820291505b8081029050612cf985612ca9565b9450612cc0565b94509492505050565b600082612d195760019050612dd5565b81612d275760009050612dd5565b8160018114612d3d5760028114612d4757612d76565b6001915050612dd5565b60ff841115612d5957612d58612c7a565b5b8360020a915084821115612d7057612d6f612c7a565b5b50612dd5565b5060208310610133831016604e8410600b8410161715612dab5782820a905083811115612da657612da5612c7a565b5b612dd5565b612db88484846001612cb6565b92509050818404811115612dcf57612dce612c7a565b5b81810290505b9392505050565b6000612de782612886565b9150612df2836129af565b9250612e1f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d09565b905092915050565b6000612e3282612886565b9150612e3d83612886565b9250828202612e4b81612886565b91508282048414831517612e6257612e61612c7a565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e9f60208361276d565b9150612eaa82612e69565b602082019050919050565b60006020820190508181036000830152612ece81612e92565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612f0f82612886565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f4157612f40612c7a565b5b600182019050919050565b7f4f6e6c7920746865206465706c6f7965722063616e2063616c6c20746869732060008201527f66756e6374696f6e2e0000000000000000000000000000000000000000000000602082015250565b6000612fa860298361276d565b9150612fb382612f4c565b604082019050919050565b60006020820190508181036000830152612fd781612f9b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061301460178361276d565b915061301f82612fde565b602082019050919050565b6000602082019050818103600083015261304381613007565b9050919050565b6000815190506130598161285a565b92915050565b6000602082840312156130755761307461281e565b5b60006130838482850161304a565b91505092915050565b60006040820190506130a16000830185612be3565b6130ae6020830184612be3565b9392505050565b6000819050919050565b6000819050919050565b60006130e46130df6130da846130b5565b6130bf565b612886565b9050919050565b6130f4816130c9565b82525050565b600060c08201905061310f6000830189612be3565b61311c6020830188612932565b61312960408301876130eb565b61313660608301866130eb565b6131436080830185612be3565b61315060a0830184612932565b979650505050505050565b60008151905061316a81612890565b92915050565b6000806000606084860312156131895761318861281e565b5b60006131978682870161315b565b93505060206131a88682870161315b565b92505060406131b98682870161315b565b9150509250925092565b60006040820190506131d86000830185612be3565b6131e56020830184612932565b9392505050565b6000815190506131fb81612b5b565b92915050565b6000602082840312156132175761321661281e565b5b6000613225848285016131ec565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061328a60248361276d565b91506132958261322e565b604082019050919050565b600060208201905081810360008301526132b98161327d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061331c60228361276d565b9150613327826132c0565b604082019050919050565b6000602082019050818103600083015261334b8161330f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133ae60258361276d565b91506133b982613352565b604082019050919050565b600060208201905081810360008301526133dd816133a1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061344060238361276d565b915061344b826133e4565b604082019050919050565b6000602082019050818103600083015261346f81613433565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134d260298361276d565b91506134dd82613476565b604082019050919050565b60006020820190508181036000830152613501816134c5565b9050919050565b7f4164647265737320697320626c61636b6c697374656400000000000000000000600082015250565b600061353e60168361276d565b915061354982613508565b602082019050919050565b6000602082019050818103600083015261356d81613531565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006135d060248361276d565b91506135db82613574565b604082019050919050565b600060208201905081810360008301526135ff816135c3565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061363c60198361276d565b915061364782613606565b602082019050919050565b6000602082019050818103600083015261366b8161362f565b9050919050565b600061367d82612886565b915061368883612886565b92508282019050808211156136a05761369f612c7a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006136dc601a8361276d565b91506136e7826136a6565b602082019050919050565b6000602082019050818103600083015261370b816136cf565b9050919050565b600061371d82612886565b915061372883612886565b92508282039050818111156137405761373f612c7a565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61377b81612848565b82525050565b600061378d8383613772565b60208301905092915050565b6000602082019050919050565b60006137b182613746565b6137bb8185613751565b93506137c683613762565b8060005b838110156137f75781516137de8882613781565b97506137e983613799565b9250506001810190506137ca565b5085935050505092915050565b600060a0820190506138196000830188612932565b61382660208301876130eb565b818103604083015261383881866137a6565b90506138476060830185612be3565b6138546080830184612932565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061389882612886565b91506138a383612886565b9250826138b3576138b261385e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061391a60218361276d565b9150613925826138be565b604082019050919050565b600060208201905081810360008301526139498161390d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613986601b8361276d565b915061399182613950565b602082019050919050565b600060208201905081810360008301526139b581613979565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206d4f2f95ba422a9a11a0204fb25fbddcb71e773448101652f52512a8ddf107a664736f6c63430008130033
Deployed Bytecode Sourcemap
3824:9415:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5996:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6961:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5269:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6276:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7131:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6184:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11653;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12463:348;;;;;;;;;;;;;:::i;:::-;;12820:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6505:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2901:148;;;;;;;;;;;;;:::i;:::-;;10865:278;;;;;;;;;;;;;:::i;:::-;;5085:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2685:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5146:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6380:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6088:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6633:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5207:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4267:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11745:671;;;;;;;;;;;;;:::i;:::-;;6809:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13031:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11403:140;;;;;;;;;;;;;:::i;:::-;;11152:242;;;;;;;;;;;;;:::i;:::-;;5996:83;6033:13;6066:5;;;;;;;;;;;;;;;;;6059:12;;5996:83;:::o;6961:161::-;7036:4;7053:39;7062:12;:10;:12::i;:::-;7076:7;7085:6;7053:8;:39::i;:::-;7110:4;7103:11;;6961:161;;;;:::o;5269:49::-;;;;:::o;6276:95::-;6329:7;4901:1;4955:2;:13;;;;:::i;:::-;4944:8;:24;;;;:::i;:::-;6349:14;;6276:95;:::o;7131:313::-;7229:4;7246:36;7256:6;7264:9;7275:6;7246:9;:36::i;:::-;7293:121;7302:6;7310:12;:10;:12::i;:::-;7324:89;7362:6;7324:89;;;;;;;;;;;;;;;;;:11;:19;7336:6;7324:19;;;;;;;;;;;;;;;:33;7344:12;:10;:12::i;:::-;7324:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7293:8;:121::i;:::-;7432:4;7425:11;;7131:313;;;;;:::o;6184:83::-;6225:5;4901:1;6243:16;;6184:83;:::o;11653:::-;11700:4;11721;:7;11726:1;11721:7;;;;;;;;;;;;;;;;;;;;;;;;;11714:14;;11653:83;;;:::o;12463:348::-;12527:10;;;;;;;;;;;12513:24;;:12;:10;:12::i;:::-;:24;;;12505:33;;;;;;12549:20;12570:24;12588:4;12570:9;:24::i;:::-;12549:45;;12621:1;12608:12;:14;12605:73;;;12636:30;12653:12;12636:16;:30::i;:::-;12605:73;12688:18;12707:21;12688:40;;12753:1;12742:10;:12;12739:65;;;12768:24;12781:10;12768:12;:24::i;:::-;12739:65;12494:317;;12463:348::o;12820:202::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12913:9:::1;12908:107;12932:8;:15;12928:1;:19;12908:107;;;12998:5;12969:13;:26;12983:8;12992:1;12983:11;;;;;;;;:::i;:::-;;;;;;;;12969:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12949:3;;;;;:::i;:::-;;;;12908:107;;;;12820:202:::0;;:::o;6505:119::-;6571:7;6598:9;:18;6608:7;6598:18;;;;;;;;;;;;;;;;6591:25;;6505:119;;;:::o;2901:148::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3008:1:::1;2971:40;;2992:6;::::0;::::1;;;;;;;;2971:40;;;;;;;;;;;;3039:1;3022:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2901:148::o:0;10865:278::-;10933:10;;;;;;;;;;;10917:26;;:12;:10;:12::i;:::-;:26;;;10909:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;4901:1;4955:2;:13;;;;:::i;:::-;4944:8;:24;;;;:::i;:::-;11000:12;:22;;;;4901:1;4955:2;:13;;;;:::i;:::-;4944:8;:24;;;;:::i;:::-;11033:14;:22;;;;11087:5;11066:20;;:26;;;;;;;;;;;;;;;;;;11108:27;4901:1;4955:2;:13;;;;:::i;:::-;4944:8;:24;;;;:::i;:::-;11108:27;;;;;;:::i;:::-;;;;;;;;10865:278::o;5085:54::-;;;;:::o;2685:79::-;2723:7;2750:6;;;;;;;;;;;2743:13;;2685:79;:::o;5146:54::-;;;;:::o;6380:115::-;6445:4;6465:13;:19;6479:4;6465:19;;;;;;;;;;;;;;;;;;;;;;;;;6458:26;;6380:115;;;:::o;6088:87::-;6127:13;6160:7;;;;;;;;;;;;;;;;;6153:14;;6088:87;:::o;6633:167::-;6711:4;6728:42;6738:12;:10;:12::i;:::-;6752:9;6763:6;6728:9;:42::i;:::-;6788:4;6781:11;;6633:167;;;;:::o;5207:55::-;;;;:::o;4267:40::-;;;;;;;;;;;;;:::o;11745:671::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11809:11:::1;;;;;;;;;;;11808:12;11800:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11895:42;11858:15;;:80;;;;;;;;;;;;;;;;;;11949:58;11966:4;11981:15;;;;;;;;;;;4901:1;4955:2;:13;;;;:::i;:::-;4944:8;:24;;;;:::i;:::-;11949:8;:58::i;:::-;12052:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12034:55;;;12098:4;12105:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12034:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12018:13;;:110;;;;;;;;;;;;;;;;;;12139:15;;;;;;;;;;;:31;;;12178:21;12209:4;12215:24;12233:4;12215:9;:24::i;:::-;12240:1;12242::::0;12244:7:::1;:5;:7::i;:::-;12252:15;12139:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12286:13;;;;;;;;;;;12279:29;;;12317:15;;;;;;;;;;;12335:14;12279:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12375:4;12361:11;;:18;;;;;;;;;;;;;;;;;;12404:4;12390:11;;:18;;;;;;;;;;;;;;;;;;11745:671::o:0;6809:143::-;6890:7;6917:11;:18;6929:5;6917:18;;;;;;;;;;;;;;;:27;6936:7;6917:27;;;;;;;;;;;;;;;;6910:34;;6809:143;;;;:::o;13031:205::-;13102:1;13092:9;;:11;13084:20;;;;;;13130:13;;13121:7;:22;;:47;;;;;13156:12;;13147:7;:21;;13121:47;13113:56;;;;;;13192:7;13178:13;:21;;;;13221:7;13208:12;:20;;;;13031:205;:::o;11403:140::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11471:18:::1;;11456:12;:33;;;;11516:19;;11500:13;:35;;;;11403:140::o:0;11152:242::-;2823:12;:10;:12::i;:::-;2813:22;;:6;;;;;;;;;;:22;;;2805:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11226:40:::1;11262:3;11226:31;11238:18;;4901:1;4955:2;:13;;;;:::i;:::-;4944:8;:24;;;;:::i;:::-;11226:11;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;11211:12;:55;;;;11294:44;11334:3;11294:35;11306:22;;4901:1;4955:2;:13;;;;:::i;:::-;4944:8;:24;;;;:::i;:::-;11294:11;;:35;;;;:::i;:::-;:39;;:44;;;;:::i;:::-;11277:14;:61;;;;11354:32;11373:12;;11354:32;;;;;;:::i;:::-;;;;;;;;11152:242::o:0;429:98::-;482:7;509:10;502:17;;429:98;:::o;7453:335::-;7563:1;7546:19;;:5;:19;;;7538:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7644:1;7625:21;;:7;:21;;;7617:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7726:6;7696:11;:18;7708:5;7696:18;;;;;;;;;;;;;;;:27;7715:7;7696:27;;;;;;;;;;;;;;;:36;;;;7764:7;7748:32;;7757:5;7748:32;;;7773:6;7748:32;;;;;;:::i;:::-;;;;;;;;7453:335;;;:::o;7798:2384::-;7902:1;7886:18;;:4;:18;;;7878:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7979:1;7965:16;;:2;:16;;;7957:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8049:1;8040:6;:10;8032:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8107:17;8151:7;:5;:7::i;:::-;8143:15;;:4;:15;;;;:32;;;;;8168:7;:5;:7::i;:::-;8162:13;;:2;:13;;;;8143:32;8139:1686;;;8201:4;:10;8206:4;8201:10;;;;;;;;;;;;;;;;;;;;;;;;;8200:11;:24;;;;;8216:4;:8;8221:2;8216:8;;;;;;;;;;;;;;;;;;;;;;;;;8215:9;8200:24;8192:33;;;;;;8249:13;:17;8263:2;8249:17;;;;;;;;;;;;;;;;;;;;;;;;;8248:18;:42;;;;;8271:13;:19;8285:4;8271:19;;;;;;;;;;;;;;;;;;;;;;;;;8270:20;8248:42;8240:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;8339:20;;;;;;;;;;;8335:346;;;8398:15;;;;;;;;;;;8384:30;;:2;:30;;;;:62;;;;;8432:13;;;;;;;;;;;8418:28;;:2;:28;;;;8384:62;8380:286;;;8519:12;8477:28;:39;8506:9;8477:39;;;;;;;;;;;;;;;;:54;8469:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8634:12;8592:28;:39;8621:9;8592:39;;;;;;;;;;;;;;;:54;;;;8380:286;8335:346;8710:13;;;;;;;;;;;8702:21;;:4;:21;;;:55;;;;;8741:15;;;;;;;;;;;8727:30;;:2;:30;;;;8702:55;:83;;;;;8763:18;:22;8782:2;8763:22;;;;;;;;;;;;;;;;;;;;;;;;;8761:24;8702:83;8698:313;;;8825:12;;8815:6;:22;;8807:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8920:14;;8910:6;8894:13;8904:2;8894:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8886:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8984:9;;:11;;;;;;;;;:::i;:::-;;;;;;8698:313;9043:76;9115:3;9043:67;9065:15;;9055:9;;:25;9054:55;;9095:14;;9054:55;;;9082:12;;9054:55;9043:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;9031:88;;9143:13;;;;;;;;;;;9137:19;;:2;:19;;;:43;;;;;9175:4;9160:20;;:4;:20;;;;9137:43;9134:174;;;9213:79;9288:3;9213:70;9235:16;;9225:9;;:26;9224:58;;9267:15;;9224:58;;;9253:13;;9224:58;9213:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9201:91;;9134:174;9325:28;9356:24;9374:4;9356:9;:24::i;:::-;9325:55;;9400:6;;;;;;;;;;;9399:7;:30;;;;;9416:13;;;;;;;;;;;9410:19;;:2;:19;;;9399:30;:45;;;;;9433:11;;;;;;;;;;;9399:45;:87;;;;;9469:17;;9448:20;:38;9399:87;:119;;;;;9500:18;;9490:9;;:28;9399:119;9395:419;;;9539:67;9556:49;9560:6;9567:37;9571:20;9592:11;;9567:3;:37::i;:::-;9556:3;:49::i;:::-;9539:16;:67::i;:::-;9625:26;9654:21;9625:50;;9718:1;9697:18;:22;9694:105;;;9744:35;9757:21;9744:12;:35::i;:::-;9694:105;9520:294;9395:419;8177:1648;8139:1686;9851:1;9841:9;:11;9838:161;;;9891:39;9920:9;9891;:24;9909:4;9891:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9866:9;:24;9884:4;9866:24;;;;;;;;;;;;;;;:64;;;;9971:4;9948:39;;9957:4;9948:39;;;9977:9;9948:39;;;;;;:::i;:::-;;;;;;;;9838:161;10025:27;10045:6;10025:9;:15;10035:4;10025:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10009:9;:15;10019:4;10009:15;;;;;;;;;;;;;;;:43;;;;10077:40;10095:21;10106:9;10095:6;:10;;:21;;;;:::i;:::-;10077:9;:13;10087:2;10077:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10063:9;:13;10073:2;10063:13;;;;;;;;;;;;;;;:54;;;;10148:2;10133:41;;10142:4;10133:41;;;10152:21;10163:9;10152:6;:10;;:21;;;;:::i;:::-;10133:41;;;;;;:::i;:::-;;;;;;;;7867:2315;7798:2384;;;:::o;1570:190::-;1656:7;1689:1;1684;:6;;1692:12;1676:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1716:9;1732:1;1728;:5;;;;:::i;:::-;1716:17;;1751:1;1744:8;;;1570:190;;;;;:::o;10301:555::-;5611:4;5602:6;;:13;;;;;;;;;;;;;;;;;;10395:1:::1;10382:11;:14:::0;10379:27;10398:7:::1;10379:27;10420:11;;;;;;;;;;;10416:25:::0;10433:7:::1;10416:25;10451:21;10489:1;10475:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10451:40;;10520:4;10502;10507:1;10502:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10546:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10536:4;10541:1;10536:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10579:62;10596:4;10611:15;;;;;;;;;;;10629:11;10579:8;:62::i;:::-;10652:15;;;;;;;;;;;:66;;;10733:11;10759:1;10775:4;10802;10822:15;10652:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10368:488;5626:1;5647:5:::0;5638:6;;:14;;;;;;;;;;;;;;;;;;10301:555;:::o;11552:92::-;11609:10;;;;;;;;;;;:19;;:27;11629:6;11609:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11552:92;:::o;1769:246::-;1827:7;1856:1;1851;:6;1847:47;;1881:1;1874:8;;;;1847:47;1904:9;1920:1;1916;:5;;;;:::i;:::-;1904:17;;1949:1;1944;1940;:5;;;;:::i;:::-;:10;1932:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2006:1;1999:8;;;1769:246;;;;;:::o;2024:132::-;2082:7;2109:39;2113:1;2116;2109:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2102:46;;2024:132;;;;:::o;10194:98::-;10251:7;10278:1;10276;:3;10275:9;;10283:1;10275:9;;;10281:1;10275:9;10268:16;;10194:98;;;;:::o;1237:179::-;1295:7;1315:9;1331:1;1327;:5;;;;:::i;:::-;1315:17;;1356:1;1351;:6;;1343:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1407:1;1400:8;;;1237:179;;;;:::o;1425:136::-;1483:7;1510:43;1514:1;1517;1510:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1503:50;;1425:136;;;;:::o;2165:189::-;2251:7;2283:1;2279;:5;2286:12;2271:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2310:9;2326:1;2322;:5;;;;:::i;:::-;2310:17;;2345:1;2338:8;;;2165: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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652: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:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:117::-;5297:1;5294;5287:12;5311:180;5359:77;5356:1;5349:88;5456:4;5453:1;5446:15;5480:4;5477:1;5470:15;5497:281;5580:27;5602:4;5580:27;:::i;:::-;5572:6;5568:40;5710:6;5698:10;5695:22;5674:18;5662:10;5659:34;5656:62;5653:88;;;5721:18;;:::i;:::-;5653:88;5761:10;5757:2;5750:22;5540:238;5497:281;;:::o;5784:129::-;5818:6;5845:20;;:::i;:::-;5835:30;;5874:33;5902:4;5894:6;5874:33;:::i;:::-;5784:129;;;:::o;5919:311::-;5996:4;6086:18;6078:6;6075:30;6072:56;;;6108:18;;:::i;:::-;6072:56;6158:4;6150:6;6146:17;6138:25;;6218:4;6212;6208:15;6200:23;;5919:311;;;:::o;6236:117::-;6345:1;6342;6335:12;6376:710;6472:5;6497:81;6513:64;6570:6;6513:64;:::i;:::-;6497:81;:::i;:::-;6488:90;;6598:5;6627:6;6620:5;6613:21;6661:4;6654:5;6650:16;6643:23;;6714:4;6706:6;6702:17;6694:6;6690:30;6743:3;6735:6;6732:15;6729:122;;;6762:79;;:::i;:::-;6729:122;6877:6;6860:220;6894:6;6889:3;6886:15;6860:220;;;6969:3;6998:37;7031:3;7019:10;6998:37;:::i;:::-;6993:3;6986:50;7065:4;7060:3;7056:14;7049:21;;6936:144;6920:4;6915:3;6911:14;6904:21;;6860:220;;;6864:21;6478:608;;6376:710;;;;;:::o;7109:370::-;7180:5;7229:3;7222:4;7214:6;7210:17;7206:27;7196:122;;7237:79;;:::i;:::-;7196:122;7354:6;7341:20;7379:94;7469:3;7461:6;7454:4;7446:6;7442:17;7379:94;:::i;:::-;7370:103;;7186:293;7109:370;;;;:::o;7485:116::-;7555:21;7570:5;7555:21;:::i;:::-;7548:5;7545:32;7535:60;;7591:1;7588;7581:12;7535:60;7485:116;:::o;7607:133::-;7650:5;7688:6;7675:20;7666:29;;7704:30;7728:5;7704:30;:::i;:::-;7607:133;;;;:::o;7746:678::-;7836:6;7844;7893:2;7881:9;7872:7;7868:23;7864:32;7861:119;;;7899:79;;:::i;:::-;7861:119;8047:1;8036:9;8032:17;8019:31;8077:18;8069:6;8066:30;8063:117;;;8099:79;;:::i;:::-;8063:117;8204:78;8274:7;8265:6;8254:9;8250:22;8204:78;:::i;:::-;8194:88;;7990:302;8331:2;8357:50;8399:7;8390:6;8379:9;8375:22;8357:50;:::i;:::-;8347:60;;8302:115;7746:678;;;;;:::o;8430:118::-;8517:24;8535:5;8517:24;:::i;:::-;8512:3;8505:37;8430:118;;:::o;8554:222::-;8647:4;8685:2;8674:9;8670:18;8662:26;;8698:71;8766:1;8755:9;8751:17;8742:6;8698:71;:::i;:::-;8554:222;;;;:::o;8782:474::-;8850:6;8858;8907:2;8895:9;8886:7;8882:23;8878:32;8875:119;;;8913:79;;:::i;:::-;8875:119;9033:1;9058:53;9103:7;9094:6;9083:9;9079:22;9058:53;:::i;:::-;9048:63;;9004:117;9160:2;9186:53;9231:7;9222:6;9211:9;9207:22;9186:53;:::i;:::-;9176:63;;9131:118;8782:474;;;;;:::o;9262:329::-;9321:6;9370:2;9358:9;9349:7;9345:23;9341:32;9338:119;;;9376:79;;:::i;:::-;9338:119;9496:1;9521:53;9566:7;9557:6;9546:9;9542:22;9521:53;:::i;:::-;9511:63;;9467:117;9262:329;;;;:::o;9597:180::-;9645:77;9642:1;9635:88;9742:4;9739:1;9732:15;9766:4;9763:1;9756:15;9783:102;9825:8;9872:5;9869:1;9865:13;9844:34;;9783:102;;;:::o;9891:848::-;9952:5;9959:4;9983:6;9974:15;;10007:5;9998:14;;10021:712;10042:1;10032:8;10029:15;10021:712;;;10137:4;10132:3;10128:14;10122:4;10119:24;10116:50;;;10146:18;;:::i;:::-;10116:50;10196:1;10186:8;10182:16;10179:451;;;10611:4;10604:5;10600:16;10591:25;;10179:451;10661:4;10655;10651:15;10643:23;;10691:32;10714:8;10691:32;:::i;:::-;10679:44;;10021:712;;;9891:848;;;;;;;:::o;10745:1073::-;10799:5;10990:8;10980:40;;11011:1;11002:10;;11013:5;;10980:40;11039:4;11029:36;;11056:1;11047:10;;11058:5;;11029:36;11125:4;11173:1;11168:27;;;;11209:1;11204:191;;;;11118:277;;11168:27;11186:1;11177:10;;11188:5;;;11204:191;11249:3;11239:8;11236:17;11233:43;;;11256:18;;:::i;:::-;11233:43;11305:8;11302:1;11298:16;11289:25;;11340:3;11333:5;11330:14;11327:40;;;11347:18;;:::i;:::-;11327:40;11380:5;;;11118:277;;11504:2;11494:8;11491:16;11485:3;11479:4;11476:13;11472:36;11454:2;11444:8;11441:16;11436:2;11430:4;11427:12;11423:35;11407:111;11404:246;;;11560:8;11554:4;11550:19;11541:28;;11595:3;11588:5;11585:14;11582:40;;;11602:18;;:::i;:::-;11582:40;11635:5;;11404:246;11675:42;11713:3;11703:8;11697:4;11694:1;11675:42;:::i;:::-;11660:57;;;;11749:4;11744:3;11740:14;11733:5;11730:25;11727:51;;;11758:18;;:::i;:::-;11727:51;11807:4;11800:5;11796:16;11787:25;;10745:1073;;;;;;:::o;11824:281::-;11882:5;11906:23;11924:4;11906:23;:::i;:::-;11898:31;;11950:25;11966:8;11950:25;:::i;:::-;11938:37;;11994:104;12031:66;12021:8;12015:4;11994:104;:::i;:::-;11985:113;;11824:281;;;;:::o;12111:410::-;12151:7;12174:20;12192:1;12174:20;:::i;:::-;12169:25;;12208:20;12226:1;12208:20;:::i;:::-;12203:25;;12263:1;12260;12256:9;12285:30;12303:11;12285:30;:::i;:::-;12274:41;;12464:1;12455:7;12451:15;12448:1;12445:22;12425:1;12418:9;12398:83;12375:139;;12494:18;;:::i;:::-;12375:139;12159:362;12111:410;;;;:::o;12527:182::-;12667:34;12663:1;12655:6;12651:14;12644:58;12527:182;:::o;12715:366::-;12857:3;12878:67;12942:2;12937:3;12878:67;:::i;:::-;12871:74;;12954:93;13043:3;12954:93;:::i;:::-;13072:2;13067:3;13063:12;13056:19;;12715:366;;;:::o;13087:419::-;13253:4;13291:2;13280:9;13276:18;13268:26;;13340:9;13334:4;13330:20;13326:1;13315:9;13311:17;13304:47;13368:131;13494:4;13368:131;:::i;:::-;13360:139;;13087:419;;;:::o;13512:180::-;13560:77;13557:1;13550:88;13657:4;13654:1;13647:15;13681:4;13678:1;13671:15;13698:233;13737:3;13760:24;13778:5;13760:24;:::i;:::-;13751:33;;13806:66;13799:5;13796:77;13793:103;;13876:18;;:::i;:::-;13793:103;13923:1;13916:5;13912:13;13905:20;;13698:233;;;:::o;13937:228::-;14077:34;14073:1;14065:6;14061:14;14054:58;14146:11;14141:2;14133:6;14129:15;14122:36;13937:228;:::o;14171:366::-;14313:3;14334:67;14398:2;14393:3;14334:67;:::i;:::-;14327:74;;14410:93;14499:3;14410:93;:::i;:::-;14528:2;14523:3;14519:12;14512:19;;14171:366;;;:::o;14543:419::-;14709:4;14747:2;14736:9;14732:18;14724:26;;14796:9;14790:4;14786:20;14782:1;14771:9;14767:17;14760:47;14824:131;14950:4;14824:131;:::i;:::-;14816:139;;14543:419;;;:::o;14968:173::-;15108:25;15104:1;15096:6;15092:14;15085:49;14968:173;:::o;15147:366::-;15289:3;15310:67;15374:2;15369:3;15310:67;:::i;:::-;15303:74;;15386:93;15475:3;15386:93;:::i;:::-;15504:2;15499:3;15495:12;15488:19;;15147:366;;;:::o;15519:419::-;15685:4;15723:2;15712:9;15708:18;15700:26;;15772:9;15766:4;15762:20;15758:1;15747:9;15743:17;15736:47;15800:131;15926:4;15800:131;:::i;:::-;15792:139;;15519:419;;;:::o;15944:143::-;16001:5;16032:6;16026:13;16017:22;;16048:33;16075:5;16048:33;:::i;:::-;15944:143;;;;:::o;16093:351::-;16163:6;16212:2;16200:9;16191:7;16187:23;16183:32;16180:119;;;16218:79;;:::i;:::-;16180:119;16338:1;16363:64;16419:7;16410:6;16399:9;16395:22;16363:64;:::i;:::-;16353:74;;16309:128;16093:351;;;;:::o;16450:332::-;16571:4;16609:2;16598:9;16594:18;16586:26;;16622:71;16690:1;16679:9;16675:17;16666:6;16622:71;:::i;:::-;16703:72;16771:2;16760:9;16756:18;16747:6;16703:72;:::i;:::-;16450:332;;;;;:::o;16788:85::-;16833:7;16862:5;16851:16;;16788:85;;;:::o;16879:60::-;16907:3;16928:5;16921:12;;16879:60;;;:::o;16945:158::-;17003:9;17036:61;17054:42;17063:32;17089:5;17063:32;:::i;:::-;17054:42;:::i;:::-;17036:61;:::i;:::-;17023:74;;16945:158;;;:::o;17109:147::-;17204:45;17243:5;17204:45;:::i;:::-;17199:3;17192:58;17109:147;;:::o;17262:807::-;17511:4;17549:3;17538:9;17534:19;17526:27;;17563:71;17631:1;17620:9;17616:17;17607:6;17563:71;:::i;:::-;17644:72;17712:2;17701:9;17697:18;17688:6;17644:72;:::i;:::-;17726:80;17802:2;17791:9;17787:18;17778:6;17726:80;:::i;:::-;17816;17892:2;17881:9;17877:18;17868:6;17816:80;:::i;:::-;17906:73;17974:3;17963:9;17959:19;17950:6;17906:73;:::i;:::-;17989;18057:3;18046:9;18042:19;18033:6;17989:73;:::i;:::-;17262:807;;;;;;;;;:::o;18075:143::-;18132:5;18163:6;18157:13;18148:22;;18179:33;18206:5;18179:33;:::i;:::-;18075:143;;;;:::o;18224:663::-;18312:6;18320;18328;18377:2;18365:9;18356:7;18352:23;18348:32;18345:119;;;18383:79;;:::i;:::-;18345:119;18503:1;18528:64;18584:7;18575:6;18564:9;18560:22;18528:64;:::i;:::-;18518:74;;18474:128;18641:2;18667:64;18723:7;18714:6;18703:9;18699:22;18667:64;:::i;:::-;18657:74;;18612:129;18780:2;18806:64;18862:7;18853:6;18842:9;18838:22;18806:64;:::i;:::-;18796:74;;18751:129;18224:663;;;;;:::o;18893:332::-;19014:4;19052:2;19041:9;19037:18;19029:26;;19065:71;19133:1;19122:9;19118:17;19109:6;19065:71;:::i;:::-;19146:72;19214:2;19203:9;19199:18;19190:6;19146:72;:::i;:::-;18893:332;;;;;:::o;19231:137::-;19285:5;19316:6;19310:13;19301:22;;19332:30;19356:5;19332:30;:::i;:::-;19231:137;;;;:::o;19374:345::-;19441:6;19490:2;19478:9;19469:7;19465:23;19461:32;19458:119;;;19496:79;;:::i;:::-;19458:119;19616:1;19641:61;19694:7;19685:6;19674:9;19670:22;19641:61;:::i;:::-;19631:71;;19587:125;19374:345;;;;:::o;19725:223::-;19865:34;19861:1;19853:6;19849:14;19842:58;19934:6;19929:2;19921:6;19917:15;19910:31;19725:223;:::o;19954:366::-;20096:3;20117:67;20181:2;20176:3;20117:67;:::i;:::-;20110:74;;20193:93;20282:3;20193:93;:::i;:::-;20311:2;20306:3;20302:12;20295:19;;19954:366;;;:::o;20326:419::-;20492:4;20530:2;20519:9;20515:18;20507:26;;20579:9;20573:4;20569:20;20565:1;20554:9;20550:17;20543:47;20607:131;20733:4;20607:131;:::i;:::-;20599:139;;20326:419;;;:::o;20751:221::-;20891:34;20887:1;20879:6;20875:14;20868:58;20960:4;20955:2;20947:6;20943:15;20936:29;20751:221;:::o;20978:366::-;21120:3;21141:67;21205:2;21200:3;21141:67;:::i;:::-;21134:74;;21217:93;21306:3;21217:93;:::i;:::-;21335:2;21330:3;21326:12;21319:19;;20978:366;;;:::o;21350:419::-;21516:4;21554:2;21543:9;21539:18;21531:26;;21603:9;21597:4;21593:20;21589:1;21578:9;21574:17;21567:47;21631:131;21757:4;21631:131;:::i;:::-;21623:139;;21350:419;;;:::o;21775:224::-;21915:34;21911:1;21903:6;21899:14;21892:58;21984:7;21979:2;21971:6;21967:15;21960:32;21775:224;:::o;22005:366::-;22147:3;22168:67;22232:2;22227:3;22168:67;:::i;:::-;22161:74;;22244:93;22333:3;22244:93;:::i;:::-;22362:2;22357:3;22353:12;22346:19;;22005:366;;;:::o;22377:419::-;22543:4;22581:2;22570:9;22566:18;22558:26;;22630:9;22624:4;22620:20;22616:1;22605:9;22601:17;22594:47;22658:131;22784:4;22658:131;:::i;:::-;22650:139;;22377:419;;;:::o;22802:222::-;22942:34;22938:1;22930:6;22926:14;22919:58;23011:5;23006:2;22998:6;22994:15;22987:30;22802:222;:::o;23030:366::-;23172:3;23193:67;23257:2;23252:3;23193:67;:::i;:::-;23186:74;;23269:93;23358:3;23269:93;:::i;:::-;23387:2;23382:3;23378:12;23371:19;;23030:366;;;:::o;23402:419::-;23568:4;23606:2;23595:9;23591:18;23583:26;;23655:9;23649:4;23645:20;23641:1;23630:9;23626:17;23619:47;23683:131;23809:4;23683:131;:::i;:::-;23675:139;;23402:419;;;:::o;23827:228::-;23967:34;23963:1;23955:6;23951:14;23944:58;24036:11;24031:2;24023:6;24019:15;24012:36;23827:228;:::o;24061:366::-;24203:3;24224:67;24288:2;24283:3;24224:67;:::i;:::-;24217:74;;24300:93;24389:3;24300:93;:::i;:::-;24418:2;24413:3;24409:12;24402:19;;24061:366;;;:::o;24433:419::-;24599:4;24637:2;24626:9;24622:18;24614:26;;24686:9;24680:4;24676:20;24672:1;24661:9;24657:17;24650:47;24714:131;24840:4;24714:131;:::i;:::-;24706:139;;24433:419;;;:::o;24858:172::-;24998:24;24994:1;24986:6;24982:14;24975:48;24858:172;:::o;25036:366::-;25178:3;25199:67;25263:2;25258:3;25199:67;:::i;:::-;25192:74;;25275:93;25364:3;25275:93;:::i;:::-;25393:2;25388:3;25384:12;25377:19;;25036:366;;;:::o;25408:419::-;25574:4;25612:2;25601:9;25597:18;25589:26;;25661:9;25655:4;25651:20;25647:1;25636:9;25632:17;25625:47;25689:131;25815:4;25689:131;:::i;:::-;25681:139;;25408:419;;;:::o;25833:223::-;25973:34;25969:1;25961:6;25957:14;25950:58;26042:6;26037:2;26029:6;26025:15;26018:31;25833:223;:::o;26062:366::-;26204:3;26225:67;26289:2;26284:3;26225:67;:::i;:::-;26218:74;;26301:93;26390:3;26301:93;:::i;:::-;26419:2;26414:3;26410:12;26403:19;;26062:366;;;:::o;26434:419::-;26600:4;26638:2;26627:9;26623:18;26615:26;;26687:9;26681:4;26677:20;26673:1;26662:9;26658:17;26651:47;26715:131;26841:4;26715:131;:::i;:::-;26707:139;;26434:419;;;:::o;26859:175::-;26999:27;26995:1;26987:6;26983:14;26976:51;26859:175;:::o;27040:366::-;27182:3;27203:67;27267:2;27262:3;27203:67;:::i;:::-;27196:74;;27279:93;27368:3;27279:93;:::i;:::-;27397:2;27392:3;27388:12;27381:19;;27040:366;;;:::o;27412:419::-;27578:4;27616:2;27605:9;27601:18;27593:26;;27665:9;27659:4;27655:20;27651:1;27640:9;27636:17;27629:47;27693:131;27819:4;27693:131;:::i;:::-;27685:139;;27412:419;;;:::o;27837:191::-;27877:3;27896:20;27914:1;27896:20;:::i;:::-;27891:25;;27930:20;27948:1;27930:20;:::i;:::-;27925:25;;27973:1;27970;27966:9;27959:16;;27994:3;27991:1;27988:10;27985:36;;;28001:18;;:::i;:::-;27985:36;27837:191;;;;:::o;28034:176::-;28174:28;28170:1;28162:6;28158:14;28151:52;28034:176;:::o;28216:366::-;28358:3;28379:67;28443:2;28438:3;28379:67;:::i;:::-;28372:74;;28455:93;28544:3;28455:93;:::i;:::-;28573:2;28568:3;28564:12;28557:19;;28216:366;;;:::o;28588:419::-;28754:4;28792:2;28781:9;28777:18;28769:26;;28841:9;28835:4;28831:20;28827:1;28816:9;28812:17;28805:47;28869:131;28995:4;28869:131;:::i;:::-;28861:139;;28588:419;;;:::o;29013:194::-;29053:4;29073:20;29091:1;29073:20;:::i;:::-;29068:25;;29107:20;29125:1;29107:20;:::i;:::-;29102:25;;29151:1;29148;29144:9;29136:17;;29175:1;29169:4;29166:11;29163:37;;;29180:18;;:::i;:::-;29163:37;29013:194;;;;:::o;29213:114::-;29280:6;29314:5;29308:12;29298:22;;29213:114;;;:::o;29333:184::-;29432:11;29466:6;29461:3;29454:19;29506:4;29501:3;29497:14;29482:29;;29333:184;;;;:::o;29523:132::-;29590:4;29613:3;29605:11;;29643:4;29638:3;29634:14;29626:22;;29523:132;;;:::o;29661:108::-;29738:24;29756:5;29738:24;:::i;:::-;29733:3;29726:37;29661:108;;:::o;29775:179::-;29844:10;29865:46;29907:3;29899:6;29865:46;:::i;:::-;29943:4;29938:3;29934:14;29920:28;;29775:179;;;;:::o;29960:113::-;30030:4;30062;30057:3;30053:14;30045:22;;29960:113;;;:::o;30109:732::-;30228:3;30257:54;30305:5;30257:54;:::i;:::-;30327:86;30406:6;30401:3;30327:86;:::i;:::-;30320:93;;30437:56;30487:5;30437:56;:::i;:::-;30516:7;30547:1;30532:284;30557:6;30554:1;30551:13;30532:284;;;30633:6;30627:13;30660:63;30719:3;30704:13;30660:63;:::i;:::-;30653:70;;30746:60;30799:6;30746:60;:::i;:::-;30736:70;;30592:224;30579:1;30576;30572:9;30567:14;;30532:284;;;30536:14;30832:3;30825:10;;30233:608;;;30109:732;;;;:::o;30847:831::-;31110:4;31148:3;31137:9;31133:19;31125:27;;31162:71;31230:1;31219:9;31215:17;31206:6;31162:71;:::i;:::-;31243:80;31319:2;31308:9;31304:18;31295:6;31243:80;:::i;:::-;31370:9;31364:4;31360:20;31355:2;31344:9;31340:18;31333:48;31398:108;31501:4;31492:6;31398:108;:::i;:::-;31390:116;;31516:72;31584:2;31573:9;31569:18;31560:6;31516:72;:::i;:::-;31598:73;31666:3;31655:9;31651:19;31642:6;31598:73;:::i;:::-;30847:831;;;;;;;;:::o;31684:180::-;31732:77;31729:1;31722:88;31829:4;31826:1;31819:15;31853:4;31850:1;31843:15;31870:185;31910:1;31927:20;31945:1;31927:20;:::i;:::-;31922:25;;31961:20;31979:1;31961:20;:::i;:::-;31956:25;;32000:1;31990:35;;32005:18;;:::i;:::-;31990:35;32047:1;32044;32040:9;32035:14;;31870:185;;;;:::o;32061:220::-;32201:34;32197:1;32189:6;32185:14;32178:58;32270:3;32265:2;32257:6;32253:15;32246:28;32061:220;:::o;32287:366::-;32429:3;32450:67;32514:2;32509:3;32450:67;:::i;:::-;32443:74;;32526:93;32615:3;32526:93;:::i;:::-;32644:2;32639:3;32635:12;32628:19;;32287:366;;;:::o;32659:419::-;32825:4;32863:2;32852:9;32848:18;32840:26;;32912:9;32906:4;32902:20;32898:1;32887:9;32883:17;32876:47;32940:131;33066:4;32940:131;:::i;:::-;32932:139;;32659:419;;;:::o;33084:177::-;33224:29;33220:1;33212:6;33208:14;33201:53;33084:177;:::o;33267:366::-;33409:3;33430:67;33494:2;33489:3;33430:67;:::i;:::-;33423:74;;33506:93;33595:3;33506:93;:::i;:::-;33624:2;33619:3;33615:12;33608:19;;33267:366;;;:::o;33639:419::-;33805:4;33843:2;33832:9;33828:18;33820:26;;33892:9;33886:4;33882:20;33878:1;33867:9;33863:17;33856:47;33920:131;34046:4;33920:131;:::i;:::-;33912:139;;33639:419;;;:::o
Swarm Source
ipfs://6d4f2f95ba422a9a11a0204fb25fbddcb71e773448101652f52512a8ddf107a6
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)