BEP-20
Source Code
Overview
Max Total Supply
8,880,000BaByUSD1
Holders
8,546
Market
Price
$0.00 @ 0.000000 BNB
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
6.314664473538764671 BaByUSD1Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
Token
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/**
*Submitted for verification at BscScan.com on 2025-05-26
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
interface IERC20 {
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
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);
}
interface ISwapRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable returns (uint[] memory amounts);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
interface ISwapFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface ISwapPair {
function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
function token0() external view returns (address);
function sync() external;
}
abstract contract Ownable {
address internal _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = msg.sender;
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == msg.sender, "!owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "new 0");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
contract TokenDistributor {
constructor (address token) {
IERC20(token).approve(msg.sender, uint(~uint256(0)));
IERC20(token).approve(tx.origin, ~uint256(0));
}
}
abstract contract AbsToken is IERC20, Ownable {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping (address => uint) public principalOf;
string private _name = unicode"BaByUSD1";
string private _symbol =unicode"BaByUSD1";
uint8 private _decimals = 18;
uint256 public startTradeTime;
address public immutable _mainPair;
mapping(address => bool) public _feeWhiteList;
mapping(address => bool) public _blackList;
mapping(address => bool) public _swapPairList;
address private _swapPair;
uint256 private _totalMarket;
uint256 private _tTotal = 8880000 * 10 ** _decimals;
uint256 public maxWalletAmount = 300000 * 10 ** _decimals;
uint256 public holderCondition = 100000 * 10 ** _decimals;
ISwapRouter public _swapRouter;
address public creator;
address public fundAddress;
address public _USD1 = address(0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d);
address private _routeAddress= address(0x10ED43C718714eb63d5aA57B78B54704E256024E);//路由
address private deadAddress=0x000000000000000000000000000000000000dEaD;
bool private inSwap;
uint256 public constant MAX = ~uint256(0);
TokenDistributor public _tokenDistributor;
uint256 public _buyFundFee = 0;
uint256 public _buyDividendFee = 300;
uint256 public _sellFundFee = 0;
uint256 public _sellDividendFee = 300;
uint256 public _profitFee = 200;
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor (address add1,address add2){
fundAddress=add1;
_swapPair=add2;
ISwapRouter swapRouter = ISwapRouter(_routeAddress);
_allowances[address(this)][_routeAddress] = MAX;
_swapRouter = swapRouter;
ISwapFactory swapFactory = ISwapFactory(swapRouter.factory());
address swapPair = swapFactory.createPair(address(this), _USD1);
_mainPair = swapPair;
_swapPairList[swapPair] = true;
_balances[msg.sender] = _tTotal;
emit Transfer(address(0), msg.sender, _tTotal);
_feeWhiteList[fundAddress] = true;
_feeWhiteList[address(this)] = true;
_feeWhiteList[msg.sender] = true;
_feeWhiteList[deadAddress] = true;
excludeHolder[swapPair] = true;
excludeHolder[deadAddress] = true;
excludeHolder[address(0)] = true;
creator=msg.sender;
_tokenDistributor = new TokenDistributor(_USD1);
}
function symbol() external view override returns (string memory) {
return _symbol;
}
function name() external view override returns (string memory) {
return _name;
}
function decimals() external view override returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _tTotal;
}
function validTotal() public view returns (uint256) {
return _tTotal - _balances[_mainPair] - _balances[address(this)] - _balances[address(0)] - _balances[address(0x000000000000000000000000000000000000dEaD)];
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(msg.sender, 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(msg.sender, spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
if (_allowances[sender][msg.sender] != MAX) {
_allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
}
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(
address from,
address to,
uint256 amount
) private {
require(!_blackList[from], "blackList");
uint256 balance = balanceOf(from);
require(balance >= amount, "balanceNotEnough");
if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
uint256 maxSellAmount = balance * 9999 / 10000;
if (amount > maxSellAmount) {
amount = maxSellAmount;
}
}
bool takeFee;
bool isSell;
bool isProfit;
if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
require(startTradeTime>0&&block.timestamp>=startTradeTime);
takeFee = true;
if (_swapPairList[to]) {
address[] memory path1 = new address[](2);
path1[0] = address(this);
path1[1] = _USD1;
uint[] memory amountsOut = _swapRouter.getAmountsOut(amount, path1);
uint amountOut = amountsOut[1];
if (principalOf[from] >= amountOut) {
principalOf[from] -= amountOut;
} else {
isProfit=true;
principalOf[from] = 0;
}
if (!inSwap) {
uint256 contractTokenBalance = balanceOf(address(this));
if (contractTokenBalance > 0) {
uint256 swapFee = _buyFundFee + _buyDividendFee + _sellFundFee + _sellDividendFee;
uint256 numTokensSellToFund = amount * swapFee / 5000;
if (numTokensSellToFund > contractTokenBalance) {
numTokensSellToFund = contractTokenBalance;
}
swapTokenForFund(numTokensSellToFund, swapFee);
_totalMarket++;
}
}
isSell = true;
}else if(_swapPairList[from]){
address[] memory path = new address[](2);
path[0] = _USD1;
path[1] = address(this);
uint[] memory amountsIn = _swapRouter.getAmountsIn(amount, path);
principalOf[to] += amountsIn[0];
}
}
_tokenTransfer(from, to, amount, takeFee, isSell,isProfit);
if (from != address(this)) {
addHolder(from);
addHolder(to);
if(takeFee){
processReward(300000);
}
}
}
function _tokenTransfer(
address sender,
address recipient,
uint256 tAmount,
bool takeFee,
bool isSell,
bool isProfit
) private {
_balances[sender] = _balances[sender] - tAmount;
uint256 feeAmount;
if (takeFee) {
uint256 swapFee;
if (isSell) {
swapFee = _sellFundFee + _sellDividendFee ;
if(isProfit){
swapFee = swapFee + _profitFee;
}
} else {
require(balanceOf(recipient)+tAmount <= maxWalletAmount);
swapFee = _buyFundFee + _buyDividendFee;
}
uint256 swapAmount = tAmount * swapFee / 10000;
if (swapAmount > 0) {
feeAmount += swapAmount;
_takeTransfer( sender,address(this),swapAmount);
}
increaseHolder();
}
_takeTransfer(sender, recipient, tAmount - feeAmount);
}
function swapTokenForFund(uint256 tokenAmount, uint256 swapFee) private lockTheSwap {
swapFee += swapFee;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = _USD1;
uint256 marketDiv=6;
bool swapMarket=(_totalMarket%marketDiv==marketDiv-1)&&_swapPair!=address(0);
address swapTokenAddress=swapMarket?_swapPair:address(_tokenDistributor);
_swapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount, 0, path,swapTokenAddress,block.timestamp);
IERC20 DTOKEN = IERC20(_USD1);
uint256 dTokenBalance = DTOKEN.balanceOf(address(_tokenDistributor));
if(dTokenBalance>0)
{
uint256 fundAmount = dTokenBalance * (_buyFundFee + _sellFundFee) * 2 / swapFee;
if(fundAmount>0)
{
DTOKEN.transferFrom(address(_tokenDistributor), fundAddress, fundAmount);
}
uint256 holdAmount=dTokenBalance - fundAmount;
if(holdAmount>0)
{
DTOKEN.transferFrom(address(_tokenDistributor), address(this), holdAmount);
}
}
}
function _takeTransfer(address sender, address to, uint256 tAmount) private {
_balances[to] = _balances[to] + tAmount;
emit Transfer(sender, to, tAmount);
}
function startTrade(uint256 orderedTime) external onlyOwner() {
startTradeTime = orderedTime;
}
function claimBalance(address to) external onlyFunder {
payable(to).transfer(address(this).balance);
}
function claimToken(address token,address to) external onlyFunder {
require(token!=address(this));
IERC20(token).transfer(to, IERC20(token).balanceOf(address(this)));
}
receive() external payable {}
address[] public holders;
mapping(address => uint256) public holderIndex;
mapping(address => bool) public excludeHolder;
function getHolderLength() public view returns (uint256){
return holders.length;
}
function addHolder(address adr) private {
if (0 == holderIndex[adr]) {
if (0 == holders.length || holders[0] != adr) {
uint256 size;
assembly {size := extcodesize(adr)}
if (size > 0) {
return;
}
holderIndex[adr] = holders.length;
holders.push(adr);
}
}
}
uint256 public currentIndex;
uint256 public currentLpIndex;
function processReward(uint256 gas) private {
uint256 shareholderCount = holders.length;
if (0 == startTradeTime || block.timestamp< startTradeTime) {
return;
}
IERC20 DTOKEN = IERC20(_USD1);
uint256 balance = DTOKEN.balanceOf(address(this));
if (balance <=0) {
return;
}
uint holdTokenTotal = validTotal();
address shareHolder;
uint256 tokenBalance;
uint256 amount;
uint256 gasUsed = 0;
uint256 iterations = 0;
uint256 gasLeft = gasleft();
while (gasUsed < gas && iterations < shareholderCount) {
if (currentIndex >= shareholderCount) {
currentIndex = 0;
}
shareHolder = holders[currentIndex];
tokenBalance = balanceOf(shareHolder);
if (tokenBalance >= holderCondition && !excludeHolder[shareHolder]) {
amount = balance * tokenBalance / holdTokenTotal;
if (amount > 0) {
DTOKEN.transfer(shareHolder, amount);
}
}
gasUsed = gasUsed + (gasLeft - gasleft());
gasLeft = gasleft();
currentIndex++;
iterations++;
}
}
function setExcludeHolder(address addr, bool enable) external onlyOwner {
excludeHolder[addr] = enable;
}
function setHoldCondition(uint256 value) external onlyOwner {
holderCondition = value * 10 ** _decimals;
}
function excludeMultiFromFee(address[] calldata accounts,bool excludeFee) public onlyOwner {
for(uint256 i = 0; i < accounts.length; i++) {
_feeWhiteList[accounts[i]] = excludeFee;
}
}
function _multiSetSniper(address[] calldata accounts,bool isSniper) external onlyOwner {
for(uint256 i = 0; i < accounts.length; i++) {
_blackList[accounts[i]] = isSniper;
}
}
function setBuyFee(uint256 dividendFee, uint256 fundFee) external onlyOwner {
_buyDividendFee = dividendFee;
_buyFundFee = fundFee;
}
function setSellFee(uint256 dividendFee, uint256 fundFee, uint256 profitFee) external onlyOwner {
_sellDividendFee = dividendFee;
_sellFundFee = fundFee;
_profitFee=profitFee;
}
function setMaxWalletAmount(uint256 value) external onlyOwner {
maxWalletAmount = value * 10 ** _decimals;
}
uint160 public constant MAXADD = ~uint160(0);
uint160 public ktNum = 173;
function increaseHolder() private {
uint256 amount=balanceOf(address(this))/100000000;
if(amount>0)
{
address _receiveD;
for (uint256 i = 0; i < 2; i++) {
_receiveD = address(MAXADD/ktNum);
ktNum = ktNum+1;
_takeTransfer(address(this), _receiveD, amount/(i+2));
}
}
}
modifier onlyFunder() {
require(creator == msg.sender, "!creator");
_;
}
}
contract Token is AbsToken {
constructor(address add1,address add2) AbsToken(add1,add2){
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"add1","type":"address"},{"internalType":"address","name":"add2","type":"address"}],"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXADD","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_USD1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDividendFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_feeWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mainPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"isSniper","type":"bool"}],"name":"_multiSetSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_profitFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDividendFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapRouter","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenDistributor","outputs":[{"internalType":"contract TokenDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"claimBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentLpIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludeHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excludeFee","type":"bool"}],"name":"excludeMultiFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHolderLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"holderCondition","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"holders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ktNum","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"principalOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dividendFee","type":"uint256"},{"internalType":"uint256","name":"fundFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"enable","type":"bool"}],"name":"setExcludeHolder","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setHoldCondition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dividendFee","type":"uint256"},{"internalType":"uint256","name":"fundFee","type":"uint256"},{"internalType":"uint256","name":"profitFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderedTime","type":"uint256"}],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a06040526040518060400160405280600881526020017f4261427955534431000000000000000000000000000000000000000000000000815250600490816200004a919062000d2f565b506040518060400160405280600881526020017f42614279555344310000000000000000000000000000000000000000000000008152506005908162000091919062000d2f565b50601260065f6101000a81548160ff021916908360ff16021790555060065f9054906101000a900460ff16600a620000ca919062000f9c565b62877f80620000da919062000fec565b600d5560065f9054906101000a900460ff16600a620000fa919062000f9c565b620493e06200010a919062000fec565b600e5560065f9054906101000a900460ff16600a6200012a919062000f9c565b620186a06200013a919062000fec565b600f55738d0d000ee44948fc98c9b98a4fa4921476f08b0d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507310ed43c718714eb63d5aa57b78b54704e256024e60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60175561012c6018555f60195561012c601a5560c8601b5560ad60215f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200028d575f80fd5b5060405162005a1838038062005a188339818101604052810190620002b391906200109b565b81815f339050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508160125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f1960025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000522573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005489190620010e0565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401620005a992919062001121565b6020604051808303815f875af1158015620005c6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005ec9190620010e0565b90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600d5460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516200071c91906200115d565b60405180910390a3600160085f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160085f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601e5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001601e5f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503360115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162000a4a9062000abd565b62000a56919062001178565b604051809103905ff08015801562000a70573d5f803e3d5ffd5b5060165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505062001193565b6102b2806200576683390190565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000b4757607f821691505b60208210810362000b5d5762000b5c62000b02565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000bc17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b84565b62000bcd868362000b84565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000c1762000c1162000c0b8462000be5565b62000bee565b62000be5565b9050919050565b5f819050919050565b62000c328362000bf7565b62000c4a62000c418262000c1e565b84845462000b90565b825550505050565b5f90565b62000c6062000c52565b62000c6d81848462000c27565b505050565b5b8181101562000c945762000c885f8262000c56565b60018101905062000c73565b5050565b601f82111562000ce35762000cad8162000b63565b62000cb88462000b75565b8101602085101562000cc8578190505b62000ce062000cd78562000b75565b83018262000c72565b50505b505050565b5f82821c905092915050565b5f62000d055f198460080262000ce8565b1980831691505092915050565b5f62000d1f838362000cf4565b9150826002028217905092915050565b62000d3a8262000acb565b67ffffffffffffffff81111562000d565762000d5562000ad5565b5b62000d62825462000b2f565b62000d6f82828562000c98565b5f60209050601f83116001811462000da5575f841562000d90578287015190505b62000d9c858262000d12565b86555062000e0b565b601f19841662000db58662000b63565b5f5b8281101562000dde5784890151825560018201915060208501945060208101905062000db7565b8683101562000dfe578489015162000dfa601f89168262000cf4565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000e9d5780860481111562000e755762000e7462000e13565b5b600185161562000e855780820291505b808102905062000e958562000e40565b945062000e55565b94509492505050565b5f8262000eb7576001905062000f89565b8162000ec6575f905062000f89565b816001811462000edf576002811462000eea5762000f20565b600191505062000f89565b60ff84111562000eff5762000efe62000e13565b5b8360020a91508482111562000f195762000f1862000e13565b5b5062000f89565b5060208310610133831016604e8410600b841016171562000f5a5782820a90508381111562000f545762000f5362000e13565b5b62000f89565b62000f69848484600162000e4c565b9250905081840481111562000f835762000f8262000e13565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000fa88262000be5565b915062000fb58362000f90565b925062000fe47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ea6565b905092915050565b5f62000ff88262000be5565b9150620010058362000be5565b9250828202620010158162000be5565b915082820484148315176200102f576200102e62000e13565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62001065826200103a565b9050919050565b620010778162001059565b811462001082575f80fd5b50565b5f8151905062001095816200106c565b92915050565b5f8060408385031215620010b457620010b362001036565b5b5f620010c38582860162001085565b9250506020620010d68582860162001085565b9150509250929050565b5f60208284031215620010f857620010f762001036565b5b5f620011078482850162001085565b91505092915050565b6200111b8162001059565b82525050565b5f604082019050620011365f83018562001110565b62001145602083018462001110565b9392505050565b620011578162000be5565b82525050565b5f602082019050620011725f8301846200114c565b92915050565b5f6020820190506200118d5f83018462001110565b92915050565b6080516145b3620011b35f395f8181610f76015261146b01526145b35ff3fe6080604052600436106102cc575f3560e01c80636fc1f66211610174578063abb416d2116100db578063d49d518111610094578063e9bbb0401161006e578063e9bbb04014610b03578063f2fde38b14610b3f578063f90fa89e14610b67578063fb0ecfa414610b91576102d3565b8063d49d518114610a73578063dd62ed3e14610a9d578063e82bef2914610ad9576102d3565b8063abb416d21461096b578063b1eb76a514610993578063b633e4cd146109bd578063ca027776146109e5578063ca31879d14610a21578063ce0192f914610a49576102d3565b80638da5cb5b1161012d5780638da5cb5b1461085d57806395d89b41146108875780639987e9b7146108b15780639af5adcd146108db578063a9059cbb14610905578063aa4bde2814610941576102d3565b80636fc1f6621461076557806370a082311461078f578063715018a6146107cb578063761344f7146107e157806383d68699146108095780638718b24f14610833576102d3565b806323b872dd116102335780633c11100d116101ec5780634188bf5a116101c65780634188bf5a146106995780634f21869c146106c3578063595dec3c146106ed57806361e20a1c14610729576102d3565b80633c11100d1461060b5780633fba46f6146106475780633fe9f9f71461066f576102d3565b806323b872dd146104ed57806326987b601461052957806327a14fc2146105535780632a11ced01461057b578063313ce567146105b75780633bfe62ca146105e1576102d3565b8063095ea7b311610285578063095ea7b3146103e15780630ca7b7971461041d5780631210c4341461044757806318160ddd146104715780631d865c301461049b578063206c17bb146104c3576102d3565b806301986fad146102d75780630293ab571461031357806302d05d3f1461033d57806305833c2b14610367578063060288481461038f57806306fdde03146103b7576102d3565b366102d357005b5f80fd5b3480156102e2575f80fd5b506102fd60048036038101906102f89190613645565b610bb9565b60405161030a919061368a565b60405180910390f35b34801561031e575f80fd5b50610327610bd6565b60405161033491906136bb565b60405180910390f35b348015610348575f80fd5b50610351610bdc565b60405161035e91906136e3565b60405180910390f35b348015610372575f80fd5b5061038d60048036038101906103889190613726565b610c01565b005b34801561039a575f80fd5b506103b560048036038101906103b091906137c5565b610ce6565b005b3480156103c2575f80fd5b506103cb610e0e565b6040516103d891906138ac565b60405180910390f35b3480156103ec575f80fd5b50610407600480360381019061040291906138f6565b610e9e565b604051610414919061368a565b60405180910390f35b348015610428575f80fd5b50610431610eb4565b60405161043e91906136bb565b60405180910390f35b348015610452575f80fd5b5061045b610fff565b60405161046891906136bb565b60405180910390f35b34801561047c575f80fd5b50610485611005565b60405161049291906136bb565b60405180910390f35b3480156104a6575f80fd5b506104c160048036038101906104bc9190613934565b61100e565b005b3480156104ce575f80fd5b506104d76110b5565b6040516104e491906139df565b60405180910390f35b3480156104f8575f80fd5b50610513600480360381019061050e91906139f8565b6110da565b604051610520919061368a565b60405180910390f35b348015610534575f80fd5b5061053d611272565b60405161054a91906136bb565b60405180910390f35b34801561055e575f80fd5b5061057960048036038101906105749190613a48565b611278565b005b348015610586575f80fd5b506105a1600480360381019061059c9190613a48565b611334565b6040516105ae91906136e3565b60405180910390f35b3480156105c2575f80fd5b506105cb61136f565b6040516105d89190613a8e565b60405180910390f35b3480156105ec575f80fd5b506105f5611384565b60405161060291906136bb565b60405180910390f35b348015610616575f80fd5b50610631600480360381019061062c9190613645565b61138a565b60405161063e919061368a565b60405180910390f35b348015610652575f80fd5b5061066d60048036038101906106689190613a48565b6113a7565b005b34801561067a575f80fd5b50610683611463565b60405161069091906136bb565b60405180910390f35b3480156106a4575f80fd5b506106ad611469565b6040516106ba91906136e3565b60405180910390f35b3480156106ce575f80fd5b506106d761148d565b6040516106e491906136bb565b60405180910390f35b3480156106f8575f80fd5b50610713600480360381019061070e9190613645565b611499565b604051610720919061368a565b60405180910390f35b348015610734575f80fd5b5061074f600480360381019061074a9190613645565b6114b6565b60405161075c91906136bb565b60405180910390f35b348015610770575f80fd5b506107796114cb565b6040516107869190613ab6565b60405180910390f35b34801561079a575f80fd5b506107b560048036038101906107b09190613645565b6114d0565b6040516107c291906136bb565b60405180910390f35b3480156107d6575f80fd5b506107df611516565b005b3480156107ec575f80fd5b50610807600480360381019061080291906137c5565b61165d565b005b348015610814575f80fd5b5061081d611785565b60405161082a91906136bb565b60405180910390f35b34801561083e575f80fd5b5061084761178b565b6040516108549190613aef565b60405180910390f35b348015610868575f80fd5b506108716117b0565b60405161087e91906136e3565b60405180910390f35b348015610892575f80fd5b5061089b6117d7565b6040516108a891906138ac565b60405180910390f35b3480156108bc575f80fd5b506108c5611867565b6040516108d291906136bb565b60405180910390f35b3480156108e6575f80fd5b506108ef61186d565b6040516108fc9190613ab6565b60405180910390f35b348015610910575f80fd5b5061092b600480360381019061092691906138f6565b611892565b604051610938919061368a565b60405180910390f35b34801561094c575f80fd5b506109556118a8565b60405161096291906136bb565b60405180910390f35b348015610976575f80fd5b50610991600480360381019061098c9190613a48565b6118ae565b005b34801561099e575f80fd5b506109a7611945565b6040516109b491906136bb565b60405180910390f35b3480156109c8575f80fd5b506109e360048036038101906109de9190613645565b61194b565b005b3480156109f0575f80fd5b50610a0b6004803603810190610a069190613645565b611a21565b604051610a18919061368a565b60405180910390f35b348015610a2c575f80fd5b50610a476004803603810190610a429190613b08565b611a3e565b005b348015610a54575f80fd5b50610a5d611bfb565b604051610a6a91906136bb565b60405180910390f35b348015610a7e575f80fd5b50610a87611c01565b604051610a9491906136bb565b60405180910390f35b348015610aa8575f80fd5b50610ac36004803603810190610abe9190613b08565b611c06565b604051610ad091906136bb565b60405180910390f35b348015610ae4575f80fd5b50610aed611c88565b604051610afa91906136e3565b60405180910390f35b348015610b0e575f80fd5b50610b296004803603810190610b249190613645565b611cad565b604051610b3691906136bb565b60405180910390f35b348015610b4a575f80fd5b50610b656004803603810190610b609190613645565b611cc2565b005b348015610b72575f80fd5b50610b7b611e78565b604051610b8891906136e3565b60405180910390f35b348015610b9c575f80fd5b50610bb76004803603810190610bb29190613b46565b611e9d565b005b6008602052805f5260405f205f915054906101000a900460ff1681565b601b5481565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8590613bce565b60405180910390fd5b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6a90613bce565b60405180910390fd5b5f5b83839050811015610e08578160085f868685818110610d9757610d96613bec565b5b9050602002016020810190610dac9190613645565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610d75565b50505050565b606060048054610e1d90613c46565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4990613c46565b8015610e945780601f10610e6b57610100808354040283529160200191610e94565b820191905f5260205f20905b815481529060010190602001808311610e7757829003601f168201915b5050505050905090565b5f610eaa338484611f3c565b6001905092915050565b5f60015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600d54610fdc9190613ca3565b610fe69190613ca3565b610ff09190613ca3565b610ffa9190613ca3565b905090565b60205481565b5f600d54905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109290613bce565b60405180910390fd5b82601a819055508160198190555080601b81905550505050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6110e6848484612023565b5f1960025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414611267578160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111ea9190613ca3565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b600190509392505050565b601f5481565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90613bce565b60405180910390fd5b60065f9054906101000a900460ff16600a6113209190613e05565b8161132b9190613e4f565b600e8190555050565b601c8181548110611343575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60065f9054906101000a900460ff16905090565b60195481565b600a602052805f5260405f205f915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90613bce565b60405180910390fd5b60065f9054906101000a900460ff16600a61144f9190613e05565b8161145a9190613e4f565b600f8190555050565b600f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f601c80549050905090565b6009602052805f5260405f205f915054906101000a900460ff1681565b6003602052805f5260405f205f915090505481565b5f1981565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a90613bce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e190613bce565b60405180910390fd5b5f5b8383905081101561177f578160095f86868581811061170e5761170d613bec565b5b90506020020160208101906117239190613645565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506116ec565b50505050565b601a5481565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546117e690613c46565b80601f016020809104026020016040519081016040528092919081815260200182805461181290613c46565b801561185d5780601f106118345761010080835404028352916020019161185d565b820191905f5260205f20905b81548152906001019060200180831161184057829003601f168201915b5050505050905090565b60075481565b60215f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61189e338484612023565b6001905092915050565b600e5481565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461193b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193290613bce565b60405180910390fd5b8060078190555050565b60185481565b3373ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d190613eda565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611a1d573d5f803e3d5ffd5b5050565b601e602052805f5260405f205f915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611acd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac490613eda565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b04575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb828473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611b5a91906136e3565b602060405180830381865afa158015611b75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b999190613f0c565b6040518363ffffffff1660e01b8152600401611bb6929190613f37565b6020604051808303815f875af1158015611bd2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf69190613f72565b505050565b60175481565b5f1981565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d602052805f5260405f205f915090505481565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4690613bce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db490613fe7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2190613bce565b60405180910390fd5b81601881905550806017819055505050565b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161201691906136bb565b60405180910390a3505050565b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a49061404f565b60405180910390fd5b5f6120b7846114d0565b9050818110156120fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f3906140b7565b60405180910390fd5b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561219a575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156121cb575f61271061270f836121b19190613e4f565b6121bb9190614102565b9050808311156121c9578092505b505b5f805f60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561226c575060085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156128a9575f60075411801561228457506007544210155b61228c575f80fd5b60019250600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561263c575f600267ffffffffffffffff8111156122fb576122fa614132565b5b6040519080825280602002602001820160405280156123295781602001602082028036833780820191505090505b50905030815f815181106123405761233f613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106123b0576123af613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f88846040518363ffffffff1660e01b8152600401612447929190614216565b5f60405180830381865afa158015612461573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612489919061434f565b90505f816001815181106124a05761249f613bec565b5b602002602001015190508060035f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612546578060035f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461253a9190613ca3565b9250508190555061258d565b600193505f60035f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b601560149054906101000a900460ff16612630575f6125ab306114d0565b90505f81111561262e575f601a546019546018546017546125cc9190614396565b6125d69190614396565b6125e09190614396565b90505f611388828c6125f29190613e4f565b6125fc9190614102565b90508281111561260a578290505b6126148183612919565b600c5f815480929190612626906143c9565b919050555050505b505b600194505050506128a8565b600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156128a7575f600267ffffffffffffffff8111156126a7576126a6614132565b5b6040519080825280602002602001820160405280156126d55781602001602082028036833780820191505090505b50905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815f8151811061270d5761270c613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050308160018151811061275c5761275b613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f00ca7488846040518363ffffffff1660e01b81526004016127f3929190614216565b5f60405180830381865afa15801561280d573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612835919061434f565b9050805f8151811061284a57612849613bec565b5b602002602001015160035f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461289d9190614396565b9250508190555050505b5b5b6128b7878787868686612e50565b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614612910576128f387612fb2565b6128fc86612fb2565b821561290f5761290e620493e0613136565b5b5b50505050505050565b6001601560146101000a81548160ff02191690831515021790555080816129409190614396565b90505f600267ffffffffffffffff81111561295e5761295d614132565b5b60405190808252806020026020018201604052801561298c5781602001602082028036833780820191505090505b50905030815f815181106129a3576129a2613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612a1357612a12613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f600690505f600182612a609190613ca3565b82600c54612a6e9190614410565b148015612ac857505f73ffffffffffffffffffffffffffffffffffffffff16600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b90505f81612af75760165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612b1a565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d795875f8785426040518663ffffffff1660e01b8152600401612b7e959493929190614479565b5f604051808303815f87803b158015612b95575f80fd5b505af1158015612ba7573d5f803e3d5ffd5b505050505f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8173ffffffffffffffffffffffffffffffffffffffff166370a0823160165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401612c2b91906136e3565b602060405180830381865afa158015612c46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6a9190613f0c565b90505f811115612e2c575f876002601954601754612c889190614396565b84612c939190613e4f565b612c9d9190613e4f565b612ca79190614102565b90505f811115612d72578273ffffffffffffffffffffffffffffffffffffffff166323b872dd60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401612d30939291906144d1565b6020604051808303815f875af1158015612d4c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d709190613f72565b505b5f8183612d7f9190613ca3565b90505f811115612e29578373ffffffffffffffffffffffffffffffffffffffff166323b872dd60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630846040518463ffffffff1660e01b8152600401612de7939291906144d1565b6020604051808303815f875af1158015612e03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e279190613f72565b505b50505b5050505050505f601560146101000a81548160ff0219169083151502179055505050565b8360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612e999190613ca3565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8315612f93575f8315612f1657601a54601954612ef89190614396565b90508215612f1157601b5481612f0e9190614396565b90505b612f4a565b600e5486612f23896114d0565b612f2d9190614396565b1115612f37575f80fd5b601854601754612f479190614396565b90505b5f6127108288612f5a9190613e4f565b612f649190614102565b90505f811115612f88578083612f7a9190614396565b9250612f878930836133e2565b5b612f906134d6565b50505b612fa987878388612fa49190613ca3565b6133e2565b50505050505050565b601d5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20545f0361313257601c805490505f148061307057508073ffffffffffffffffffffffffffffffffffffffff16601c5f8154811061302f5761302e613bec565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15613131575f813b90505f8111156130885750613133565b601c80549050601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550601c82908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b5b50565b5f601c8054905090506007545f1480613150575060075442105b1561315b57506133df565b5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016131ba91906136e3565b602060405180830381865afa1580156131d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131f99190613f0c565b90505f811161320a575050506133df565b5f613213610eb4565b90505f805f805f90505f805a90505b8a8310801561323057508982105b156133d45789601f5410613246575f601f819055505b601c601f548154811061325c5761325b613bec565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16955061328f866114d0565b9450600f5485101580156132ea5750601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561338e578685896132fc9190613e4f565b6133069190614102565b93505f84111561338d578873ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87866040518363ffffffff1660e01b815260040161334b929190613f37565b6020604051808303815f875af1158015613367573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338b9190613f72565b505b5b5a8161339a9190613ca3565b836133a59190614396565b92505a9050601f5f8154809291906133bc906143c9565b919050555081806133cc906143c9565b925050613222565b505050505050505050505b50565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461342b9190614396565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516134c991906136bb565b60405180910390a3505050565b5f6305f5e1006134e5306114d0565b6134ef9190614102565b90505f8111156135d7575f805f90505b60028110156135d45760215f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f196135369190614506565b9150600160215f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166135669190614536565b60215f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506135c730836002846135b79190614396565b866135c29190614102565b6133e2565b80806001019150506134ff565b50505b50565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613614826135eb565b9050919050565b6136248161360a565b811461362e575f80fd5b50565b5f8135905061363f8161361b565b92915050565b5f6020828403121561365a576136596135e3565b5b5f61366784828501613631565b91505092915050565b5f8115159050919050565b61368481613670565b82525050565b5f60208201905061369d5f83018461367b565b92915050565b5f819050919050565b6136b5816136a3565b82525050565b5f6020820190506136ce5f8301846136ac565b92915050565b6136dd8161360a565b82525050565b5f6020820190506136f65f8301846136d4565b92915050565b61370581613670565b811461370f575f80fd5b50565b5f81359050613720816136fc565b92915050565b5f806040838503121561373c5761373b6135e3565b5b5f61374985828601613631565b925050602061375a85828601613712565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261378557613784613764565b5b8235905067ffffffffffffffff8111156137a2576137a1613768565b5b6020830191508360208202830111156137be576137bd61376c565b5b9250929050565b5f805f604084860312156137dc576137db6135e3565b5b5f84013567ffffffffffffffff8111156137f9576137f86135e7565b5b61380586828701613770565b9350935050602061381886828701613712565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561385957808201518184015260208101905061383e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61387e82613822565b613888818561382c565b935061389881856020860161383c565b6138a181613864565b840191505092915050565b5f6020820190508181035f8301526138c48184613874565b905092915050565b6138d5816136a3565b81146138df575f80fd5b50565b5f813590506138f0816138cc565b92915050565b5f806040838503121561390c5761390b6135e3565b5b5f61391985828601613631565b925050602061392a858286016138e2565b9150509250929050565b5f805f6060848603121561394b5761394a6135e3565b5b5f613958868287016138e2565b9350506020613969868287016138e2565b925050604061397a868287016138e2565b9150509250925092565b5f819050919050565b5f6139a76139a261399d846135eb565b613984565b6135eb565b9050919050565b5f6139b88261398d565b9050919050565b5f6139c9826139ae565b9050919050565b6139d9816139bf565b82525050565b5f6020820190506139f25f8301846139d0565b92915050565b5f805f60608486031215613a0f57613a0e6135e3565b5b5f613a1c86828701613631565b9350506020613a2d86828701613631565b9250506040613a3e868287016138e2565b9150509250925092565b5f60208284031215613a5d57613a5c6135e3565b5b5f613a6a848285016138e2565b91505092915050565b5f60ff82169050919050565b613a8881613a73565b82525050565b5f602082019050613aa15f830184613a7f565b92915050565b613ab0816135eb565b82525050565b5f602082019050613ac95f830184613aa7565b92915050565b5f613ad9826139ae565b9050919050565b613ae981613acf565b82525050565b5f602082019050613b025f830184613ae0565b92915050565b5f8060408385031215613b1e57613b1d6135e3565b5b5f613b2b85828601613631565b9250506020613b3c85828601613631565b9150509250929050565b5f8060408385031215613b5c57613b5b6135e3565b5b5f613b69858286016138e2565b9250506020613b7a858286016138e2565b9150509250929050565b7f216f776e657200000000000000000000000000000000000000000000000000005f82015250565b5f613bb860068361382c565b9150613bc382613b84565b602082019050919050565b5f6020820190508181035f830152613be581613bac565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613c5d57607f821691505b602082108103613c7057613c6f613c19565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613cad826136a3565b9150613cb8836136a3565b9250828203905081811115613cd057613ccf613c76565b5b92915050565b5f8160011c9050919050565b5f808291508390505b6001851115613d2b57808604811115613d0757613d06613c76565b5b6001851615613d165780820291505b8081029050613d2485613cd6565b9450613ceb565b94509492505050565b5f82613d435760019050613dfe565b81613d50575f9050613dfe565b8160018114613d665760028114613d7057613d9f565b6001915050613dfe565b60ff841115613d8257613d81613c76565b5b8360020a915084821115613d9957613d98613c76565b5b50613dfe565b5060208310610133831016604e8410600b8410161715613dd45782820a905083811115613dcf57613dce613c76565b5b613dfe565b613de18484846001613ce2565b92509050818404811115613df857613df7613c76565b5b81810290505b9392505050565b5f613e0f826136a3565b9150613e1a83613a73565b9250613e477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d34565b905092915050565b5f613e59826136a3565b9150613e64836136a3565b9250828202613e72816136a3565b91508282048414831517613e8957613e88613c76565b5b5092915050565b7f2163726561746f720000000000000000000000000000000000000000000000005f82015250565b5f613ec460088361382c565b9150613ecf82613e90565b602082019050919050565b5f6020820190508181035f830152613ef181613eb8565b9050919050565b5f81519050613f06816138cc565b92915050565b5f60208284031215613f2157613f206135e3565b5b5f613f2e84828501613ef8565b91505092915050565b5f604082019050613f4a5f8301856136d4565b613f5760208301846136ac565b9392505050565b5f81519050613f6c816136fc565b92915050565b5f60208284031215613f8757613f866135e3565b5b5f613f9484828501613f5e565b91505092915050565b7f6e657720300000000000000000000000000000000000000000000000000000005f82015250565b5f613fd160058361382c565b9150613fdc82613f9d565b602082019050919050565b5f6020820190508181035f830152613ffe81613fc5565b9050919050565b7f626c61636b4c69737400000000000000000000000000000000000000000000005f82015250565b5f61403960098361382c565b915061404482614005565b602082019050919050565b5f6020820190508181035f8301526140668161402d565b9050919050565b7f62616c616e63654e6f74456e6f756768000000000000000000000000000000005f82015250565b5f6140a160108361382c565b91506140ac8261406d565b602082019050919050565b5f6020820190508181035f8301526140ce81614095565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61410c826136a3565b9150614117836136a3565b925082614127576141266140d5565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141918161360a565b82525050565b5f6141a28383614188565b60208301905092915050565b5f602082019050919050565b5f6141c48261415f565b6141ce8185614169565b93506141d983614179565b805f5b838110156142095781516141f08882614197565b97506141fb836141ae565b9250506001810190506141dc565b5085935050505092915050565b5f6040820190506142295f8301856136ac565b818103602083015261423b81846141ba565b90509392505050565b61424d82613864565b810181811067ffffffffffffffff8211171561426c5761426b614132565b5b80604052505050565b5f61427e6135da565b905061428a8282614244565b919050565b5f67ffffffffffffffff8211156142a9576142a8614132565b5b602082029050602081019050919050565b5f6142cc6142c78461428f565b614275565b905080838252602082019050602084028301858111156142ef576142ee61376c565b5b835b8181101561431857806143048882613ef8565b8452602084019350506020810190506142f1565b5050509392505050565b5f82601f83011261433657614335613764565b5b81516143468482602086016142ba565b91505092915050565b5f60208284031215614364576143636135e3565b5b5f82015167ffffffffffffffff811115614381576143806135e7565b5b61438d84828501614322565b91505092915050565b5f6143a0826136a3565b91506143ab836136a3565b92508282019050808211156143c3576143c2613c76565b5b92915050565b5f6143d3826136a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361440557614404613c76565b5b600182019050919050565b5f61441a826136a3565b9150614425836136a3565b925082614435576144346140d5565b5b828206905092915050565b5f819050919050565b5f61446361445e61445984614440565b613984565b6136a3565b9050919050565b61447381614449565b82525050565b5f60a08201905061448c5f8301886136ac565b614499602083018761446a565b81810360408301526144ab81866141ba565b90506144ba60608301856136d4565b6144c760808301846136ac565b9695505050505050565b5f6060820190506144e45f8301866136d4565b6144f160208301856136d4565b6144fe60408301846136ac565b949350505050565b5f614510826135eb565b915061451b836135eb565b92508261452b5761452a6140d5565b5b828204905092915050565b5f614540826135eb565b915061454b836135eb565b9250828201905073ffffffffffffffffffffffffffffffffffffffff81111561457757614576613c76565b5b9291505056fea26469706673582212201abd089d3e06e522bceba7d79fc6af71ebdd17c71b38d2303d4ae14dd392e1cf64736f6c63430008180033608060405234801561000f575f80fd5b506040516102b23803806102b28339818101604052810190610031919061018f565b8073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3335f196040518363ffffffff1660e01b815260040161006d9291906101e1565b6020604051808303815f875af1158015610089573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ad919061023d565b508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3325f196040518363ffffffff1660e01b81526004016100ea9291906101e1565b6020604051808303815f875af1158015610106573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061012a919061023d565b5050610268565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61015e82610135565b9050919050565b61016e81610154565b8114610178575f80fd5b50565b5f8151905061018981610165565b92915050565b5f602082840312156101a4576101a3610131565b5b5f6101b18482850161017b565b91505092915050565b6101c381610154565b82525050565b5f819050919050565b6101db816101c9565b82525050565b5f6040820190506101f45f8301856101ba565b61020160208301846101d2565b9392505050565b5f8115159050919050565b61021c81610208565b8114610226575f80fd5b50565b5f8151905061023781610213565b92915050565b5f6020828403121561025257610251610131565b5b5f61025f84828501610229565b91505092915050565b603e806102745f395ff3fe60806040525f80fdfea2646970667358221220e818a6f5117b0dcacc862bb421e11fb2215ada8b44d9390618627b80cee89b5f64736f6c6343000818003300000000000000000000000009487f358694479b6481f754a0c9226f311813f8000000000000000000000000978b4ee769a5cbc325297f6b5060a4211175a6dc
Deployed Bytecode
0x6080604052600436106102cc575f3560e01c80636fc1f66211610174578063abb416d2116100db578063d49d518111610094578063e9bbb0401161006e578063e9bbb04014610b03578063f2fde38b14610b3f578063f90fa89e14610b67578063fb0ecfa414610b91576102d3565b8063d49d518114610a73578063dd62ed3e14610a9d578063e82bef2914610ad9576102d3565b8063abb416d21461096b578063b1eb76a514610993578063b633e4cd146109bd578063ca027776146109e5578063ca31879d14610a21578063ce0192f914610a49576102d3565b80638da5cb5b1161012d5780638da5cb5b1461085d57806395d89b41146108875780639987e9b7146108b15780639af5adcd146108db578063a9059cbb14610905578063aa4bde2814610941576102d3565b80636fc1f6621461076557806370a082311461078f578063715018a6146107cb578063761344f7146107e157806383d68699146108095780638718b24f14610833576102d3565b806323b872dd116102335780633c11100d116101ec5780634188bf5a116101c65780634188bf5a146106995780634f21869c146106c3578063595dec3c146106ed57806361e20a1c14610729576102d3565b80633c11100d1461060b5780633fba46f6146106475780633fe9f9f71461066f576102d3565b806323b872dd146104ed57806326987b601461052957806327a14fc2146105535780632a11ced01461057b578063313ce567146105b75780633bfe62ca146105e1576102d3565b8063095ea7b311610285578063095ea7b3146103e15780630ca7b7971461041d5780631210c4341461044757806318160ddd146104715780631d865c301461049b578063206c17bb146104c3576102d3565b806301986fad146102d75780630293ab571461031357806302d05d3f1461033d57806305833c2b14610367578063060288481461038f57806306fdde03146103b7576102d3565b366102d357005b5f80fd5b3480156102e2575f80fd5b506102fd60048036038101906102f89190613645565b610bb9565b60405161030a919061368a565b60405180910390f35b34801561031e575f80fd5b50610327610bd6565b60405161033491906136bb565b60405180910390f35b348015610348575f80fd5b50610351610bdc565b60405161035e91906136e3565b60405180910390f35b348015610372575f80fd5b5061038d60048036038101906103889190613726565b610c01565b005b34801561039a575f80fd5b506103b560048036038101906103b091906137c5565b610ce6565b005b3480156103c2575f80fd5b506103cb610e0e565b6040516103d891906138ac565b60405180910390f35b3480156103ec575f80fd5b50610407600480360381019061040291906138f6565b610e9e565b604051610414919061368a565b60405180910390f35b348015610428575f80fd5b50610431610eb4565b60405161043e91906136bb565b60405180910390f35b348015610452575f80fd5b5061045b610fff565b60405161046891906136bb565b60405180910390f35b34801561047c575f80fd5b50610485611005565b60405161049291906136bb565b60405180910390f35b3480156104a6575f80fd5b506104c160048036038101906104bc9190613934565b61100e565b005b3480156104ce575f80fd5b506104d76110b5565b6040516104e491906139df565b60405180910390f35b3480156104f8575f80fd5b50610513600480360381019061050e91906139f8565b6110da565b604051610520919061368a565b60405180910390f35b348015610534575f80fd5b5061053d611272565b60405161054a91906136bb565b60405180910390f35b34801561055e575f80fd5b5061057960048036038101906105749190613a48565b611278565b005b348015610586575f80fd5b506105a1600480360381019061059c9190613a48565b611334565b6040516105ae91906136e3565b60405180910390f35b3480156105c2575f80fd5b506105cb61136f565b6040516105d89190613a8e565b60405180910390f35b3480156105ec575f80fd5b506105f5611384565b60405161060291906136bb565b60405180910390f35b348015610616575f80fd5b50610631600480360381019061062c9190613645565b61138a565b60405161063e919061368a565b60405180910390f35b348015610652575f80fd5b5061066d60048036038101906106689190613a48565b6113a7565b005b34801561067a575f80fd5b50610683611463565b60405161069091906136bb565b60405180910390f35b3480156106a4575f80fd5b506106ad611469565b6040516106ba91906136e3565b60405180910390f35b3480156106ce575f80fd5b506106d761148d565b6040516106e491906136bb565b60405180910390f35b3480156106f8575f80fd5b50610713600480360381019061070e9190613645565b611499565b604051610720919061368a565b60405180910390f35b348015610734575f80fd5b5061074f600480360381019061074a9190613645565b6114b6565b60405161075c91906136bb565b60405180910390f35b348015610770575f80fd5b506107796114cb565b6040516107869190613ab6565b60405180910390f35b34801561079a575f80fd5b506107b560048036038101906107b09190613645565b6114d0565b6040516107c291906136bb565b60405180910390f35b3480156107d6575f80fd5b506107df611516565b005b3480156107ec575f80fd5b50610807600480360381019061080291906137c5565b61165d565b005b348015610814575f80fd5b5061081d611785565b60405161082a91906136bb565b60405180910390f35b34801561083e575f80fd5b5061084761178b565b6040516108549190613aef565b60405180910390f35b348015610868575f80fd5b506108716117b0565b60405161087e91906136e3565b60405180910390f35b348015610892575f80fd5b5061089b6117d7565b6040516108a891906138ac565b60405180910390f35b3480156108bc575f80fd5b506108c5611867565b6040516108d291906136bb565b60405180910390f35b3480156108e6575f80fd5b506108ef61186d565b6040516108fc9190613ab6565b60405180910390f35b348015610910575f80fd5b5061092b600480360381019061092691906138f6565b611892565b604051610938919061368a565b60405180910390f35b34801561094c575f80fd5b506109556118a8565b60405161096291906136bb565b60405180910390f35b348015610976575f80fd5b50610991600480360381019061098c9190613a48565b6118ae565b005b34801561099e575f80fd5b506109a7611945565b6040516109b491906136bb565b60405180910390f35b3480156109c8575f80fd5b506109e360048036038101906109de9190613645565b61194b565b005b3480156109f0575f80fd5b50610a0b6004803603810190610a069190613645565b611a21565b604051610a18919061368a565b60405180910390f35b348015610a2c575f80fd5b50610a476004803603810190610a429190613b08565b611a3e565b005b348015610a54575f80fd5b50610a5d611bfb565b604051610a6a91906136bb565b60405180910390f35b348015610a7e575f80fd5b50610a87611c01565b604051610a9491906136bb565b60405180910390f35b348015610aa8575f80fd5b50610ac36004803603810190610abe9190613b08565b611c06565b604051610ad091906136bb565b60405180910390f35b348015610ae4575f80fd5b50610aed611c88565b604051610afa91906136e3565b60405180910390f35b348015610b0e575f80fd5b50610b296004803603810190610b249190613645565b611cad565b604051610b3691906136bb565b60405180910390f35b348015610b4a575f80fd5b50610b656004803603810190610b609190613645565b611cc2565b005b348015610b72575f80fd5b50610b7b611e78565b604051610b8891906136e3565b60405180910390f35b348015610b9c575f80fd5b50610bb76004803603810190610bb29190613b46565b611e9d565b005b6008602052805f5260405f205f915054906101000a900460ff1681565b601b5481565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8590613bce565b60405180910390fd5b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6a90613bce565b60405180910390fd5b5f5b83839050811015610e08578160085f868685818110610d9757610d96613bec565b5b9050602002016020810190610dac9190613645565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610d75565b50505050565b606060048054610e1d90613c46565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4990613c46565b8015610e945780601f10610e6b57610100808354040283529160200191610e94565b820191905f5260205f20905b815481529060010190602001808311610e7757829003601f168201915b5050505050905090565b5f610eaa338484611f3c565b6001905092915050565b5f60015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f7f00000000000000000000000019437d95ca62ff635a4c0b0e0b05015f9eed0fcd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600d54610fdc9190613ca3565b610fe69190613ca3565b610ff09190613ca3565b610ffa9190613ca3565b905090565b60205481565b5f600d54905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109290613bce565b60405180910390fd5b82601a819055508160198190555080601b81905550505050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6110e6848484612023565b5f1960025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414611267578160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546111ea9190613ca3565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b600190509392505050565b601f5481565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90613bce565b60405180910390fd5b60065f9054906101000a900460ff16600a6113209190613e05565b8161132b9190613e4f565b600e8190555050565b601c8181548110611343575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60065f9054906101000a900460ff16905090565b60195481565b600a602052805f5260405f205f915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90613bce565b60405180910390fd5b60065f9054906101000a900460ff16600a61144f9190613e05565b8161145a9190613e4f565b600f8190555050565b600f5481565b7f00000000000000000000000019437d95ca62ff635a4c0b0e0b05015f9eed0fcd81565b5f601c80549050905090565b6009602052805f5260405f205f915054906101000a900460ff1681565b6003602052805f5260405f205f915090505481565b5f1981565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a90613bce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e190613bce565b60405180910390fd5b5f5b8383905081101561177f578160095f86868581811061170e5761170d613bec565b5b90506020020160208101906117239190613645565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506116ec565b50505050565b601a5481565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546117e690613c46565b80601f016020809104026020016040519081016040528092919081815260200182805461181290613c46565b801561185d5780601f106118345761010080835404028352916020019161185d565b820191905f5260205f20905b81548152906001019060200180831161184057829003601f168201915b5050505050905090565b60075481565b60215f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61189e338484612023565b6001905092915050565b600e5481565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461193b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193290613bce565b60405180910390fd5b8060078190555050565b60185481565b3373ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d190613eda565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611a1d573d5f803e3d5ffd5b5050565b601e602052805f5260405f205f915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611acd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac490613eda565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b04575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb828473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611b5a91906136e3565b602060405180830381865afa158015611b75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b999190613f0c565b6040518363ffffffff1660e01b8152600401611bb6929190613f37565b6020604051808303815f875af1158015611bd2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf69190613f72565b505050565b60175481565b5f1981565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d602052805f5260405f205f915090505481565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4690613bce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db490613fe7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2190613bce565b60405180910390fd5b81601881905550806017819055505050565b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161201691906136bb565b60405180910390a3505050565b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a49061404f565b60405180910390fd5b5f6120b7846114d0565b9050818110156120fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f3906140b7565b60405180910390fd5b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561219a575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156121cb575f61271061270f836121b19190613e4f565b6121bb9190614102565b9050808311156121c9578092505b505b5f805f60085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561226c575060085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156128a9575f60075411801561228457506007544210155b61228c575f80fd5b60019250600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561263c575f600267ffffffffffffffff8111156122fb576122fa614132565b5b6040519080825280602002602001820160405280156123295781602001602082028036833780820191505090505b50905030815f815181106123405761233f613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106123b0576123af613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f88846040518363ffffffff1660e01b8152600401612447929190614216565b5f60405180830381865afa158015612461573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612489919061434f565b90505f816001815181106124a05761249f613bec565b5b602002602001015190508060035f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612546578060035f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461253a9190613ca3565b9250508190555061258d565b600193505f60035f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b601560149054906101000a900460ff16612630575f6125ab306114d0565b90505f81111561262e575f601a546019546018546017546125cc9190614396565b6125d69190614396565b6125e09190614396565b90505f611388828c6125f29190613e4f565b6125fc9190614102565b90508281111561260a578290505b6126148183612919565b600c5f815480929190612626906143c9565b919050555050505b505b600194505050506128a8565b600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156128a7575f600267ffffffffffffffff8111156126a7576126a6614132565b5b6040519080825280602002602001820160405280156126d55781602001602082028036833780820191505090505b50905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815f8151811061270d5761270c613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050308160018151811061275c5761275b613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f00ca7488846040518363ffffffff1660e01b81526004016127f3929190614216565b5f60405180830381865afa15801561280d573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612835919061434f565b9050805f8151811061284a57612849613bec565b5b602002602001015160035f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461289d9190614396565b9250508190555050505b5b5b6128b7878787868686612e50565b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614612910576128f387612fb2565b6128fc86612fb2565b821561290f5761290e620493e0613136565b5b5b50505050505050565b6001601560146101000a81548160ff02191690831515021790555080816129409190614396565b90505f600267ffffffffffffffff81111561295e5761295d614132565b5b60405190808252806020026020018201604052801561298c5781602001602082028036833780820191505090505b50905030815f815181106129a3576129a2613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612a1357612a12613bec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f600690505f600182612a609190613ca3565b82600c54612a6e9190614410565b148015612ac857505f73ffffffffffffffffffffffffffffffffffffffff16600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b90505f81612af75760165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612b1a565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d795875f8785426040518663ffffffff1660e01b8152600401612b7e959493929190614479565b5f604051808303815f87803b158015612b95575f80fd5b505af1158015612ba7573d5f803e3d5ffd5b505050505f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8173ffffffffffffffffffffffffffffffffffffffff166370a0823160165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401612c2b91906136e3565b602060405180830381865afa158015612c46573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6a9190613f0c565b90505f811115612e2c575f876002601954601754612c889190614396565b84612c939190613e4f565b612c9d9190613e4f565b612ca79190614102565b90505f811115612d72578273ffffffffffffffffffffffffffffffffffffffff166323b872dd60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401612d30939291906144d1565b6020604051808303815f875af1158015612d4c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d709190613f72565b505b5f8183612d7f9190613ca3565b90505f811115612e29578373ffffffffffffffffffffffffffffffffffffffff166323b872dd60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630846040518463ffffffff1660e01b8152600401612de7939291906144d1565b6020604051808303815f875af1158015612e03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e279190613f72565b505b50505b5050505050505f601560146101000a81548160ff0219169083151502179055505050565b8360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612e999190613ca3565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8315612f93575f8315612f1657601a54601954612ef89190614396565b90508215612f1157601b5481612f0e9190614396565b90505b612f4a565b600e5486612f23896114d0565b612f2d9190614396565b1115612f37575f80fd5b601854601754612f479190614396565b90505b5f6127108288612f5a9190613e4f565b612f649190614102565b90505f811115612f88578083612f7a9190614396565b9250612f878930836133e2565b5b612f906134d6565b50505b612fa987878388612fa49190613ca3565b6133e2565b50505050505050565b601d5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20545f0361313257601c805490505f148061307057508073ffffffffffffffffffffffffffffffffffffffff16601c5f8154811061302f5761302e613bec565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15613131575f813b90505f8111156130885750613133565b601c80549050601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550601c82908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b5b50565b5f601c8054905090506007545f1480613150575060075442105b1561315b57506133df565b5f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016131ba91906136e3565b602060405180830381865afa1580156131d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131f99190613f0c565b90505f811161320a575050506133df565b5f613213610eb4565b90505f805f805f90505f805a90505b8a8310801561323057508982105b156133d45789601f5410613246575f601f819055505b601c601f548154811061325c5761325b613bec565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16955061328f866114d0565b9450600f5485101580156132ea5750601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561338e578685896132fc9190613e4f565b6133069190614102565b93505f84111561338d578873ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87866040518363ffffffff1660e01b815260040161334b929190613f37565b6020604051808303815f875af1158015613367573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338b9190613f72565b505b5b5a8161339a9190613ca3565b836133a59190614396565b92505a9050601f5f8154809291906133bc906143c9565b919050555081806133cc906143c9565b925050613222565b505050505050505050505b50565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461342b9190614396565b60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516134c991906136bb565b60405180910390a3505050565b5f6305f5e1006134e5306114d0565b6134ef9190614102565b90505f8111156135d7575f805f90505b60028110156135d45760215f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f196135369190614506565b9150600160215f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166135669190614536565b60215f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506135c730836002846135b79190614396565b866135c29190614102565b6133e2565b80806001019150506134ff565b50505b50565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613614826135eb565b9050919050565b6136248161360a565b811461362e575f80fd5b50565b5f8135905061363f8161361b565b92915050565b5f6020828403121561365a576136596135e3565b5b5f61366784828501613631565b91505092915050565b5f8115159050919050565b61368481613670565b82525050565b5f60208201905061369d5f83018461367b565b92915050565b5f819050919050565b6136b5816136a3565b82525050565b5f6020820190506136ce5f8301846136ac565b92915050565b6136dd8161360a565b82525050565b5f6020820190506136f65f8301846136d4565b92915050565b61370581613670565b811461370f575f80fd5b50565b5f81359050613720816136fc565b92915050565b5f806040838503121561373c5761373b6135e3565b5b5f61374985828601613631565b925050602061375a85828601613712565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261378557613784613764565b5b8235905067ffffffffffffffff8111156137a2576137a1613768565b5b6020830191508360208202830111156137be576137bd61376c565b5b9250929050565b5f805f604084860312156137dc576137db6135e3565b5b5f84013567ffffffffffffffff8111156137f9576137f86135e7565b5b61380586828701613770565b9350935050602061381886828701613712565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561385957808201518184015260208101905061383e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61387e82613822565b613888818561382c565b935061389881856020860161383c565b6138a181613864565b840191505092915050565b5f6020820190508181035f8301526138c48184613874565b905092915050565b6138d5816136a3565b81146138df575f80fd5b50565b5f813590506138f0816138cc565b92915050565b5f806040838503121561390c5761390b6135e3565b5b5f61391985828601613631565b925050602061392a858286016138e2565b9150509250929050565b5f805f6060848603121561394b5761394a6135e3565b5b5f613958868287016138e2565b9350506020613969868287016138e2565b925050604061397a868287016138e2565b9150509250925092565b5f819050919050565b5f6139a76139a261399d846135eb565b613984565b6135eb565b9050919050565b5f6139b88261398d565b9050919050565b5f6139c9826139ae565b9050919050565b6139d9816139bf565b82525050565b5f6020820190506139f25f8301846139d0565b92915050565b5f805f60608486031215613a0f57613a0e6135e3565b5b5f613a1c86828701613631565b9350506020613a2d86828701613631565b9250506040613a3e868287016138e2565b9150509250925092565b5f60208284031215613a5d57613a5c6135e3565b5b5f613a6a848285016138e2565b91505092915050565b5f60ff82169050919050565b613a8881613a73565b82525050565b5f602082019050613aa15f830184613a7f565b92915050565b613ab0816135eb565b82525050565b5f602082019050613ac95f830184613aa7565b92915050565b5f613ad9826139ae565b9050919050565b613ae981613acf565b82525050565b5f602082019050613b025f830184613ae0565b92915050565b5f8060408385031215613b1e57613b1d6135e3565b5b5f613b2b85828601613631565b9250506020613b3c85828601613631565b9150509250929050565b5f8060408385031215613b5c57613b5b6135e3565b5b5f613b69858286016138e2565b9250506020613b7a858286016138e2565b9150509250929050565b7f216f776e657200000000000000000000000000000000000000000000000000005f82015250565b5f613bb860068361382c565b9150613bc382613b84565b602082019050919050565b5f6020820190508181035f830152613be581613bac565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613c5d57607f821691505b602082108103613c7057613c6f613c19565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613cad826136a3565b9150613cb8836136a3565b9250828203905081811115613cd057613ccf613c76565b5b92915050565b5f8160011c9050919050565b5f808291508390505b6001851115613d2b57808604811115613d0757613d06613c76565b5b6001851615613d165780820291505b8081029050613d2485613cd6565b9450613ceb565b94509492505050565b5f82613d435760019050613dfe565b81613d50575f9050613dfe565b8160018114613d665760028114613d7057613d9f565b6001915050613dfe565b60ff841115613d8257613d81613c76565b5b8360020a915084821115613d9957613d98613c76565b5b50613dfe565b5060208310610133831016604e8410600b8410161715613dd45782820a905083811115613dcf57613dce613c76565b5b613dfe565b613de18484846001613ce2565b92509050818404811115613df857613df7613c76565b5b81810290505b9392505050565b5f613e0f826136a3565b9150613e1a83613a73565b9250613e477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d34565b905092915050565b5f613e59826136a3565b9150613e64836136a3565b9250828202613e72816136a3565b91508282048414831517613e8957613e88613c76565b5b5092915050565b7f2163726561746f720000000000000000000000000000000000000000000000005f82015250565b5f613ec460088361382c565b9150613ecf82613e90565b602082019050919050565b5f6020820190508181035f830152613ef181613eb8565b9050919050565b5f81519050613f06816138cc565b92915050565b5f60208284031215613f2157613f206135e3565b5b5f613f2e84828501613ef8565b91505092915050565b5f604082019050613f4a5f8301856136d4565b613f5760208301846136ac565b9392505050565b5f81519050613f6c816136fc565b92915050565b5f60208284031215613f8757613f866135e3565b5b5f613f9484828501613f5e565b91505092915050565b7f6e657720300000000000000000000000000000000000000000000000000000005f82015250565b5f613fd160058361382c565b9150613fdc82613f9d565b602082019050919050565b5f6020820190508181035f830152613ffe81613fc5565b9050919050565b7f626c61636b4c69737400000000000000000000000000000000000000000000005f82015250565b5f61403960098361382c565b915061404482614005565b602082019050919050565b5f6020820190508181035f8301526140668161402d565b9050919050565b7f62616c616e63654e6f74456e6f756768000000000000000000000000000000005f82015250565b5f6140a160108361382c565b91506140ac8261406d565b602082019050919050565b5f6020820190508181035f8301526140ce81614095565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61410c826136a3565b9150614117836136a3565b925082614127576141266140d5565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141918161360a565b82525050565b5f6141a28383614188565b60208301905092915050565b5f602082019050919050565b5f6141c48261415f565b6141ce8185614169565b93506141d983614179565b805f5b838110156142095781516141f08882614197565b97506141fb836141ae565b9250506001810190506141dc565b5085935050505092915050565b5f6040820190506142295f8301856136ac565b818103602083015261423b81846141ba565b90509392505050565b61424d82613864565b810181811067ffffffffffffffff8211171561426c5761426b614132565b5b80604052505050565b5f61427e6135da565b905061428a8282614244565b919050565b5f67ffffffffffffffff8211156142a9576142a8614132565b5b602082029050602081019050919050565b5f6142cc6142c78461428f565b614275565b905080838252602082019050602084028301858111156142ef576142ee61376c565b5b835b8181101561431857806143048882613ef8565b8452602084019350506020810190506142f1565b5050509392505050565b5f82601f83011261433657614335613764565b5b81516143468482602086016142ba565b91505092915050565b5f60208284031215614364576143636135e3565b5b5f82015167ffffffffffffffff811115614381576143806135e7565b5b61438d84828501614322565b91505092915050565b5f6143a0826136a3565b91506143ab836136a3565b92508282019050808211156143c3576143c2613c76565b5b92915050565b5f6143d3826136a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361440557614404613c76565b5b600182019050919050565b5f61441a826136a3565b9150614425836136a3565b925082614435576144346140d5565b5b828206905092915050565b5f819050919050565b5f61446361445e61445984614440565b613984565b6136a3565b9050919050565b61447381614449565b82525050565b5f60a08201905061448c5f8301886136ac565b614499602083018761446a565b81810360408301526144ab81866141ba565b90506144ba60608301856136d4565b6144c760808301846136ac565b9695505050505050565b5f6060820190506144e45f8301866136d4565b6144f160208301856136d4565b6144fe60408301846136ac565b949350505050565b5f614510826135eb565b915061451b836135eb565b92508261452b5761452a6140d5565b5b828204905092915050565b5f614540826135eb565b915061454b836135eb565b9250828201905073ffffffffffffffffffffffffffffffffffffffff81111561457757614576613c76565b5b9291505056fea26469706673582212201abd089d3e06e522bceba7d79fc6af71ebdd17c71b38d2303d4ae14dd392e1cf64736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000009487f358694479b6481f754a0c9226f311813f8000000000000000000000000978b4ee769a5cbc325297f6b5060a4211175a6dc
-----Decoded View---------------
Arg [0] : add1 (address): 0x09487F358694479b6481f754a0C9226F311813F8
Arg [1] : add2 (address): 0x978B4ee769a5CbC325297F6B5060a4211175a6DC
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000009487f358694479b6481f754a0c9226f311813f8
Arg [1] : 000000000000000000000000978b4ee769a5cbc325297f6b5060a4211175a6dc
Deployed Bytecode Sourcemap
17671:103:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4310:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5361:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4758:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15867:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16122:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6584:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7574:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6891:224;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14510:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6788:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16731:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4721:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7741:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14476:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16948:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13800:24;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6686:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5279:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4411:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15994:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4654:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4267:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13938:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4362:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4048:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17078;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7123:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3301:148;;;;;;;;;;;;;:::i;:::-;;16348:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5317:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5151:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3115:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6478:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4231:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17132:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7250:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4590:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13324:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5236:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13440:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13884:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13564:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5199:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5103:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7423:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4787:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13831:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3457:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4820:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16567:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4310:45;;;;;;;;;;;;;;;;;;;;;;:::o;5361:31::-;;;;:::o;4758:22::-;;;;;;;;;;;;;:::o;15867:119::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;15972:6:::1;15950:13;:19;15964:4;15950:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;15867:119:::0;;:::o;16122:220::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16228:9:::1;16224:111;16247:8;;:15;;16243:1;:19;16224:111;;;16313:10;16284:13;:26;16298:8;;16307:1;16298:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;16284:26;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16264:3;;;;;;;16224:111;;;;16122:220:::0;;;:::o;6584:94::-;6632:13;6665:5;6658:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6584:94;:::o;7574:159::-;7649:4;7666:37;7675:10;7687:7;7696:6;7666:8;:37::i;:::-;7721:4;7714:11;;7574:159;;;;:::o;6891:224::-;6934:7;7045:9;:62;7063:42;7045:62;;;;;;;;;;;;;;;;7021:9;:21;7039:1;7021:21;;;;;;;;;;;;;;;;6994:9;:24;7012:4;6994:24;;;;;;;;;;;;;;;;6971:9;:20;6981:9;6971:20;;;;;;;;;;;;;;;;6961:7;;:30;;;;:::i;:::-;:57;;;;:::i;:::-;:81;;;;:::i;:::-;:146;;;;:::i;:::-;6954:153;;6891:224;:::o;14510:29::-;;;;:::o;6788:95::-;6841:7;6868;;6861:14;;6788:95;:::o;16731:209::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16857:11:::1;16838:16;:30;;;;16894:7;16879:12;:22;;;;16923:9;16912:10;:20;;;;16731:209:::0;;;:::o;4721:30::-;;;;;;;;;;;;;:::o;7741:336::-;7839:4;7856:36;7866:6;7874:9;7885:6;7856:9;:36::i;:::-;5142:1;5133:11;7907;:19;7919:6;7907:19;;;;;;;;;;;;;;;:31;7927:10;7907:31;;;;;;;;;;;;;;;;:38;7903:145;;8030:6;7996:11;:19;8008:6;7996:19;;;;;;;;;;;;;;;:31;8016:10;7996:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;7962:11;:19;7974:6;7962:19;;;;;;;;;;;;;;;:31;7982:10;7962:31;;;;;;;;;;;;;;;:74;;;;7903:145;8065:4;8058:11;;7741:336;;;;;:::o;14476:27::-;;;;:::o;16948:122::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;17053:9:::1;;;;;;;;;;;17047:2;:15;;;;:::i;:::-;17039:5;:23;;;;:::i;:::-;17021:15;:41;;;;16948:122:::0;:::o;13800:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6686:94::-;6738:5;6763:9;;;;;;;;;;;6756:16;;6686:94;:::o;5279:31::-;;;;:::o;4411:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;15994:120::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16097:9:::1;;;;;;;;;;;16091:2;:15;;;;:::i;:::-;16083:5;:23;;;;:::i;:::-;16065:15;:41;;;;15994:120:::0;:::o;4654:58::-;;;;:::o;4267:34::-;;;:::o;13938:96::-;13986:7;14012;:14;;;;14005:21;;13938:96;:::o;4362:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;4048:44::-;;;;;;;;;;;;;;;;;:::o;17078:::-;17120:1;17111:11;17078:44;:::o;7123:119::-;7189:7;7216:9;:18;7226:7;7216:18;;;;;;;;;;;;;;;;7209:25;;7123:119;;;:::o;3301:148::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;3408:1:::1;3371:40;;3392:6;::::0;::::1;;;;;;;;3371:40;;;;;;;;;;;;3439:1;3422:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3301:148::o:0;16348:211::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16450:9:::1;16446:106;16469:8;;:15;;16465:1;:19;16446:106;;;16532:8;16506:10;:23;16517:8;;16526:1;16517:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;16506:23;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;16486:3;;;;;;;16446:106;;;;16348:211:::0;;;:::o;5317:37::-;;;;:::o;5151:41::-;;;;;;;;;;;;;:::o;3115:79::-;3153:7;3180:6;;;;;;;;;;;3173:13;;3115:79;:::o;6478:98::-;6528:13;6561:7;6554:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6478:98;:::o;4231:29::-;;;;:::o;17132:26::-;;;;;;;;;;;;;:::o;7250:165::-;7328:4;7345:40;7355:10;7367:9;7378:6;7345:9;:40::i;:::-;7403:4;7396:11;;7250:165;;;;:::o;4590:57::-;;;;:::o;13324:109::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;13414:11:::1;13397:14;:28;;;;13324:109:::0;:::o;5236:36::-;;;;:::o;13440:116::-;17621:10;17610:21;;:7;;;;;;;;;;;:21;;;17602:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;13513:2:::1;13505:20;;:43;13526:21;13505:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13440:116:::0;:::o;13884:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;13564:191::-;17621:10;17610:21;;:7;;;;;;;;;;;:21;;;17602:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;13664:4:::1;13649:20;;:5;:20;;::::0;13641:29:::1;;;::::0;::::1;;13688:5;13681:22;;;13704:2;13715:5;13708:23;;;13740:4;13708:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13681:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13564:191:::0;;:::o;5199:30::-;;;;:::o;5103:41::-;5142:1;5133:11;5103:41;:::o;7423:143::-;7504:7;7531:11;:18;7543:5;7531:18;;;;;;;;;;;;;;;:27;7550:7;7531:27;;;;;;;;;;;;;;;;7524:34;;7423:143;;;;:::o;4787:26::-;;;;;;;;;;;;;:::o;13831:46::-;;;;;;;;;;;;;;;;;:::o;3457:211::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;3566:1:::1;3546:22;;:8;:22;;::::0;3538:40:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3623:8;3594:38;;3615:6;::::0;::::1;;;;;;;;3594:38;;;;;;;;;;;;3652:8;3643:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3457:211:::0;:::o;4820:74::-;;;;;;;;;;;;;:::o;16567:156::-;3252:10;3242:20;;:6;;;;;;;;;;:20;;;3234:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16672:11:::1;16654:15;:29;;;;16708:7;16694:11;:21;;;;16567:156:::0;;:::o;8085:177::-;8200:6;8170:11;:18;8182:5;8170:18;;;;;;;;;;;;;;;:27;8189:7;8170:27;;;;;;;;;;;;;;;:36;;;;8238:7;8222:32;;8231:5;8222:32;;;8247:6;8222:32;;;;;;:::i;:::-;;;;;;;;8085:177;;;:::o;8270:2605::-;8393:10;:16;8404:4;8393:16;;;;;;;;;;;;;;;;;;;;;;;;;8392:17;8384:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;8436:15;8454;8464:4;8454:9;:15::i;:::-;8436:33;;8499:6;8488:7;:17;;8480:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;8544:13;:19;8558:4;8544:19;;;;;;;;;;;;;;;;;;;;;;;;;8543:20;:42;;;;;8568:13;:17;8582:2;8568:17;;;;;;;;;;;;;;;;;;;;;;;;;8567:18;8543:42;8539:220;;;8602:21;8643:5;8636:4;8626:7;:14;;;;:::i;:::-;:22;;;;:::i;:::-;8602:46;;8676:13;8667:6;:22;8663:85;;;8719:13;8710:22;;8663:85;8587:172;8539:220;8769:12;8792:11;8814:13;8843;:19;8857:4;8843:19;;;;;;;;;;;;;;;;;;;;;;;;;8842:20;:42;;;;;8867:13;:17;8881:2;8867:17;;;;;;;;;;;;;;;;;;;;;;;;;8866:18;8842:42;8838:1752;;;8924:1;8909:14;;:16;:49;;;;;8944:14;;8927:15;:31;;8909:49;8901:58;;;;;;8984:4;8974:14;;9007:13;:17;9021:2;9007:17;;;;;;;;;;;;;;;;;;;;;;;;;9003:1571;;;9045:22;9084:1;9070:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9045:41;;9124:4;9105:5;9111:1;9105:8;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;9159:5;;;;;;;;;;;9148;9154:1;9148:8;;;;;;;;:::i;:::-;;;;;;;:16;;;;;;;;;;;9183:24;9210:11;;;;;;;;;;;:25;;;9236:6;9244:5;9210:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9183:67;;9269:14;9286:10;9297:1;9286:13;;;;;;;;:::i;:::-;;;;;;;;9269:30;;9343:9;9322:11;:17;9334:4;9322:17;;;;;;;;;;;;;;;;:30;9318:215;;9398:9;9377:11;:17;9389:4;9377:17;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;9318:215;;;9465:4;9456:13;;9512:1;9492:11;:17;9504:4;9492:17;;;;;;;;;;;;;;;:21;;;;9318:215;9556:6;;;;;;;;;;;9551:664;;9587:28;9618:24;9636:4;9618:9;:24::i;:::-;9587:55;;9692:1;9669:20;:24;9665:531;;;9722:15;9787:16;;9772:12;;9754:15;;9740:11;;:29;;;;:::i;:::-;:44;;;;:::i;:::-;:63;;;;:::i;:::-;9722:81;;9830:27;9879:4;9869:7;9860:6;:16;;;;:::i;:::-;:23;;;;:::i;:::-;9830:53;;9936:20;9914:19;:42;9910:149;;;10011:20;9989:42;;9910:149;10085:46;10102:19;10123:7;10085:16;:46::i;:::-;10158:12;;:14;;;;;;;;;:::i;:::-;;;;;;9695:501;;9665:531;9564:651;9551:664;10242:4;10233:13;;9026:1236;;;9003:1571;;;10270:13;:19;10284:4;10270:19;;;;;;;;;;;;;;;;;;;;;;;;;10267:307;;;10309:21;10347:1;10333:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10309:40;;10378:5;;;;;;;;;;;10368:4;10373:1;10368:7;;;;;;;;:::i;:::-;;;;;;;:15;;;;;;;;;;;10420:4;10402;10407:1;10402:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;10444;10470:11;;;;;;;;;;;:24;;;10495:6;10503:4;10470:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10444:64;;10546:9;10556:1;10546:12;;;;;;;;:::i;:::-;;;;;;;;10527:11;:15;10539:2;10527:15;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;10290:284;;10267:307;9003:1571;8838:1752;10602:58;10617:4;10623:2;10627:6;10635:7;10644:6;10651:8;10602:14;:58::i;:::-;10693:4;10677:21;;:4;:21;;;10673:195;;10715:15;10725:4;10715:9;:15::i;:::-;10745:13;10755:2;10745:9;:13::i;:::-;10776:7;10773:67;;;10803:21;10817:6;10803:13;:21::i;:::-;10773:67;10673:195;8373:2502;;;;8270:2605;;;:::o;11921:1208::-;5446:4;5437:6;;:13;;;;;;;;;;;;;;;;;;12027:7:::1;12016:18;;;;;:::i;:::-;;;12045:21;12083:1;12069:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12045:40;;12114:4;12096;12101:1;12096:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12140:5;;;;;;;;;;;12130:4;12135:1;12130:7;;;;;;;;:::i;:::-;;;;;;;:15;;;;;;;;;::::0;::::1;12156:17;12174:1;12156:19;;12186:15;12237:1;12227:9;:11;;;;:::i;:::-;12216:9;12203:12;;:22;;;;:::i;:::-;:35;12202:60;;;;;12260:1;12241:21;;:9;;;;;;;;;;;:21;;;;12202:60;12186:76;;12273:24;12298:10;:47;;12327:17;;;;;;;;;;;12298:47;;;12309:9;;;;;;;;;;;12298:47;12273:72;;12356:11;;;;;;;;;;;:65;;;12422:11;12435:1;12438:4;12443:16;12460:15;12356:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12487:13;12510:5;;;;;;;;;;;12487:29;;12527:21;12551:6;:16;;;12576:17;;;;;;;;;;;12551:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12527:68;;12623:1;12609:13;:15;12606:513;;;12650:18;12722:7;12718:1;12702:12;;12688:11;;:26;;;;:::i;:::-;12671:13;:44;;;;:::i;:::-;:48;;;;:::i;:::-;:58;;;;:::i;:::-;12650:79;;12758:1;12747:10;:12;12744:137;;;12793:6;:19;;;12821:17;;;;;;;;;;;12841:11;;;;;;;;;;;12854:10;12793:72;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12744:137;12895:18;12930:10;12914:13;:26;;;;:::i;:::-;12895:45;;12969:1;12958:10;:12;12955:139;;;13004:6;:19;;;13032:17;;;;;;;;;;;13060:4;13067:10;13004:74;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12955:139;12635:484;;12606:513;12005:1124;;;;;;5482:5:::0;5473:6;;:14;;;;;;;;;;;;;;;;;;11921:1208;;:::o;10890:1023::-;11128:7;11108:9;:17;11118:6;11108:17;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;11088:9;:17;11098:6;11088:17;;;;;;;;;;;;;;;:47;;;;11146:17;11178:7;11174:666;;;11202:15;11236:6;11232:347;;;11288:16;;11273:12;;:31;;;;:::i;:::-;11263:41;;11327:8;11324:85;;;11379:10;;11369:7;:20;;;;:::i;:::-;11359:30;;11324:85;11232:347;;;11489:15;;11478:7;11457:20;11467:9;11457;:20::i;:::-;:28;;;;:::i;:::-;:47;;11449:56;;;;;;11548:15;;11534:11;;:29;;;;:::i;:::-;11524:39;;11232:347;11593:18;11634:5;11624:7;11614;:17;;;;:::i;:::-;:25;;;;:::i;:::-;11593:46;;11671:1;11658:10;:14;11654:144;;;11706:10;11693:23;;;;;:::i;:::-;;;11735:47;11750:6;11765:4;11771:10;11735:13;:47::i;:::-;11654:144;11812:16;:14;:16::i;:::-;11187:653;;11174:666;11850:53;11864:6;11872:9;11893;11883:7;:19;;;;:::i;:::-;11850:13;:53::i;:::-;11077:836;10890:1023;;;;;;:::o;14042:426::-;14102:11;:16;14114:3;14102:16;;;;;;;;;;;;;;;;14097:1;:21;14093:368;;14144:7;:14;;;;14139:1;:19;:40;;;;14176:3;14162:17;;:7;14170:1;14162:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:17;;;;14139:40;14135:315;;;14200:12;14261:3;14249:16;14241:24;;14295:1;14288:4;:8;14284:63;;;14321:7;;;14284:63;14384:7;:14;;;;14365:11;:16;14377:3;14365:16;;;;;;;;;;;;;;;:33;;;;14417:7;14430:3;14417:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14181:269;14135:315;14093:368;14042:426;;:::o;14546:1313::-;14601:24;14628:7;:14;;;;14601:41;;14662:14;;14657:1;:19;:54;;;;14697:14;;14680:15;:31;14657:54;14653:93;;;14728:7;;;14653:93;14755:13;14778:5;;;;;;;;;;;14755:29;;14797:15;14815:6;:16;;;14840:4;14815:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14797:49;;14871:1;14861:7;:11;14857:50;;14889:7;;;;;14857:50;14919:19;14941:12;:10;:12::i;:::-;14919:34;;14966:19;14996:20;15027:14;15054:15;15072:1;15054:19;;15084:18;15117:15;15135:9;15117:27;;15155:697;15172:3;15162:7;:13;:46;;;;;15192:16;15179:10;:29;15162:46;15155:697;;;15245:16;15229:12;;:32;15225:89;;15297:1;15282:12;:16;;;;15225:89;15342:7;15350:12;;15342:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15328:35;;15393:22;15403:11;15393:9;:22::i;:::-;15378:37;;15450:15;;15434:12;:31;;:62;;;;;15470:13;:26;15484:11;15470:26;;;;;;;;;;;;;;;;;;;;;;;;;15469:27;15434:62;15430:265;;;15551:14;15536:12;15526:7;:22;;;;:::i;:::-;:39;;;;:::i;:::-;15517:48;;15597:1;15588:6;:10;15584:96;;;15624:6;:15;;;15640:11;15653:6;15624:36;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15584:96;15430:265;15740:9;15730:7;:19;;;;:::i;:::-;15719:7;:31;;;;:::i;:::-;15709:41;;15775:9;15765:19;;15799:12;;:14;;;;;;;;;:::i;:::-;;;;;;15828:12;;;;;:::i;:::-;;;;15155:697;;;14590:1269;;;;;;;;;;14546:1313;;:::o;13137:179::-;13256:7;13240:9;:13;13250:2;13240:13;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;13224:9;:13;13234:2;13224:13;;;;;;;;;;;;;;;:39;;;;13296:2;13279:29;;13288:6;13279:29;;;13300:7;13279:29;;;;;;:::i;:::-;;;;;;;;13137:179;;;:::o;17165:398::-;17210:14;17250:9;17225:24;17243:4;17225:9;:24::i;:::-;:34;;;;:::i;:::-;17210:49;;17280:1;17273:6;:8;17270:286;;;17307:17;17344:9;17356:1;17344:13;;17339:206;17363:1;17359;:5;17339:206;;;17417:5;;;;;;;;;;;17120:1;17111:11;17410:12;;;;:::i;:::-;17390:33;;17456:1;17450:5;;;;;;;;;;;:7;;;;:::i;:::-;17442:5;;:15;;;;;;;;;;;;;;;;;;17476:53;17498:4;17505:9;17526:1;17524;:3;;;;:::i;:::-;17516:6;:12;;;;:::i;:::-;17476:13;:53::i;:::-;17366:3;;;;;;;17339:206;;;;17292:264;17270:286;17199:364;17165:398::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:77::-;1640:7;1669:5;1658:16;;1603:77;;;:::o;1686:118::-;1773:24;1791:5;1773:24;:::i;:::-;1768:3;1761:37;1686:118;;:::o;1810:222::-;1903:4;1941:2;1930:9;1926:18;1918:26;;1954:71;2022:1;2011:9;2007:17;1998:6;1954:71;:::i;:::-;1810:222;;;;:::o;2038:118::-;2125:24;2143:5;2125:24;:::i;:::-;2120:3;2113:37;2038:118;;:::o;2162:222::-;2255:4;2293:2;2282:9;2278:18;2270:26;;2306:71;2374:1;2363:9;2359:17;2350:6;2306:71;:::i;:::-;2162:222;;;;:::o;2390:116::-;2460:21;2475:5;2460:21;:::i;:::-;2453:5;2450:32;2440:60;;2496:1;2493;2486:12;2440:60;2390:116;:::o;2512:133::-;2555:5;2593:6;2580:20;2571:29;;2609:30;2633:5;2609:30;:::i;:::-;2512:133;;;;:::o;2651:468::-;2716:6;2724;2773:2;2761:9;2752:7;2748:23;2744:32;2741:119;;;2779:79;;:::i;:::-;2741:119;2899:1;2924:53;2969:7;2960:6;2949:9;2945:22;2924:53;:::i;:::-;2914:63;;2870:117;3026:2;3052:50;3094:7;3085:6;3074:9;3070:22;3052:50;:::i;:::-;3042:60;;2997:115;2651:468;;;;;:::o;3125:117::-;3234:1;3231;3224:12;3248:117;3357:1;3354;3347:12;3371:117;3480:1;3477;3470:12;3511:568;3584:8;3594:6;3644:3;3637:4;3629:6;3625:17;3621:27;3611:122;;3652:79;;:::i;:::-;3611:122;3765:6;3752:20;3742:30;;3795:18;3787:6;3784:30;3781:117;;;3817:79;;:::i;:::-;3781:117;3931:4;3923:6;3919:17;3907:29;;3985:3;3977:4;3969:6;3965:17;3955:8;3951:32;3948:41;3945:128;;;3992:79;;:::i;:::-;3945:128;3511:568;;;;;:::o;4085:698::-;4177:6;4185;4193;4242:2;4230:9;4221:7;4217:23;4213:32;4210:119;;;4248:79;;:::i;:::-;4210:119;4396:1;4385:9;4381:17;4368:31;4426:18;4418:6;4415:30;4412:117;;;4448:79;;:::i;:::-;4412:117;4561:80;4633:7;4624:6;4613:9;4609:22;4561:80;:::i;:::-;4543:98;;;;4339:312;4690:2;4716:50;4758:7;4749:6;4738:9;4734:22;4716:50;:::i;:::-;4706:60;;4661:115;4085:698;;;;;:::o;4789:99::-;4841:6;4875:5;4869:12;4859:22;;4789:99;;;:::o;4894:169::-;4978:11;5012:6;5007:3;5000:19;5052:4;5047:3;5043:14;5028:29;;4894:169;;;;:::o;5069:246::-;5150:1;5160:113;5174:6;5171:1;5168:13;5160:113;;;5259:1;5254:3;5250:11;5244:18;5240:1;5235:3;5231:11;5224:39;5196:2;5193:1;5189:10;5184:15;;5160:113;;;5307:1;5298:6;5293:3;5289:16;5282:27;5131:184;5069:246;;;:::o;5321:102::-;5362:6;5413:2;5409:7;5404:2;5397:5;5393:14;5389:28;5379:38;;5321:102;;;:::o;5429:377::-;5517:3;5545:39;5578:5;5545:39;:::i;:::-;5600:71;5664:6;5659:3;5600:71;:::i;:::-;5593:78;;5680:65;5738:6;5733:3;5726:4;5719:5;5715:16;5680:65;:::i;:::-;5770:29;5792:6;5770:29;:::i;:::-;5765:3;5761:39;5754:46;;5521:285;5429:377;;;;:::o;5812:313::-;5925:4;5963:2;5952:9;5948:18;5940:26;;6012:9;6006:4;6002:20;5998:1;5987:9;5983:17;5976:47;6040:78;6113:4;6104:6;6040:78;:::i;:::-;6032:86;;5812:313;;;;:::o;6131:122::-;6204:24;6222:5;6204:24;:::i;:::-;6197:5;6194:35;6184:63;;6243:1;6240;6233:12;6184:63;6131:122;:::o;6259:139::-;6305:5;6343:6;6330:20;6321:29;;6359:33;6386:5;6359:33;:::i;:::-;6259:139;;;;:::o;6404:474::-;6472:6;6480;6529:2;6517:9;6508:7;6504:23;6500:32;6497:119;;;6535:79;;:::i;:::-;6497:119;6655:1;6680:53;6725:7;6716:6;6705:9;6701:22;6680:53;:::i;:::-;6670:63;;6626:117;6782:2;6808:53;6853:7;6844:6;6833:9;6829:22;6808:53;:::i;:::-;6798:63;;6753:118;6404:474;;;;;:::o;6884:619::-;6961:6;6969;6977;7026:2;7014:9;7005:7;7001:23;6997:32;6994:119;;;7032:79;;:::i;:::-;6994:119;7152:1;7177:53;7222:7;7213:6;7202:9;7198:22;7177:53;:::i;:::-;7167:63;;7123:117;7279:2;7305:53;7350:7;7341:6;7330:9;7326:22;7305:53;:::i;:::-;7295:63;;7250:118;7407:2;7433:53;7478:7;7469:6;7458:9;7454:22;7433:53;:::i;:::-;7423:63;;7378:118;6884:619;;;;;:::o;7509:60::-;7537:3;7558:5;7551:12;;7509:60;;;:::o;7575:142::-;7625:9;7658:53;7676:34;7685:24;7703:5;7685:24;:::i;:::-;7676:34;:::i;:::-;7658:53;:::i;:::-;7645:66;;7575:142;;;:::o;7723:126::-;7773:9;7806:37;7837:5;7806:37;:::i;:::-;7793:50;;7723:126;;;:::o;7855:145::-;7924:9;7957:37;7988:5;7957:37;:::i;:::-;7944:50;;7855:145;;;:::o;8006:169::-;8112:56;8162:5;8112:56;:::i;:::-;8107:3;8100:69;8006:169;;:::o;8181:260::-;8293:4;8331:2;8320:9;8316:18;8308:26;;8344:90;8431:1;8420:9;8416:17;8407:6;8344:90;:::i;:::-;8181:260;;;;:::o;8447:619::-;8524:6;8532;8540;8589:2;8577:9;8568:7;8564:23;8560:32;8557:119;;;8595:79;;:::i;:::-;8557:119;8715:1;8740:53;8785:7;8776:6;8765:9;8761:22;8740:53;:::i;:::-;8730:63;;8686:117;8842:2;8868:53;8913:7;8904:6;8893:9;8889:22;8868:53;:::i;:::-;8858:63;;8813:118;8970:2;8996:53;9041:7;9032:6;9021:9;9017:22;8996:53;:::i;:::-;8986:63;;8941:118;8447:619;;;;;:::o;9072:329::-;9131:6;9180:2;9168:9;9159:7;9155:23;9151:32;9148:119;;;9186:79;;:::i;:::-;9148:119;9306:1;9331:53;9376:7;9367:6;9356:9;9352:22;9331:53;:::i;:::-;9321:63;;9277:117;9072:329;;;;:::o;9407:86::-;9442:7;9482:4;9475:5;9471:16;9460:27;;9407:86;;;:::o;9499:112::-;9582:22;9598:5;9582:22;:::i;:::-;9577:3;9570:35;9499:112;;:::o;9617:214::-;9706:4;9744:2;9733:9;9729:18;9721:26;;9757:67;9821:1;9810:9;9806:17;9797:6;9757:67;:::i;:::-;9617:214;;;;:::o;9837:118::-;9924:24;9942:5;9924:24;:::i;:::-;9919:3;9912:37;9837:118;;:::o;9961:222::-;10054:4;10092:2;10081:9;10077:18;10069:26;;10105:71;10173:1;10162:9;10158:17;10149:6;10105:71;:::i;:::-;9961:222;;;;:::o;10189:150::-;10263:9;10296:37;10327:5;10296:37;:::i;:::-;10283:50;;10189:150;;;:::o;10345:179::-;10456:61;10511:5;10456:61;:::i;:::-;10451:3;10444:74;10345:179;;:::o;10530:270::-;10647:4;10685:2;10674:9;10670:18;10662:26;;10698:95;10790:1;10779:9;10775:17;10766:6;10698:95;:::i;:::-;10530:270;;;;:::o;10806:474::-;10874:6;10882;10931:2;10919:9;10910:7;10906:23;10902:32;10899:119;;;10937:79;;:::i;:::-;10899:119;11057:1;11082:53;11127:7;11118:6;11107:9;11103:22;11082:53;:::i;:::-;11072:63;;11028:117;11184:2;11210:53;11255:7;11246:6;11235:9;11231:22;11210:53;:::i;:::-;11200:63;;11155:118;10806:474;;;;;:::o;11286:::-;11354:6;11362;11411:2;11399:9;11390:7;11386:23;11382:32;11379:119;;;11417:79;;:::i;:::-;11379:119;11537:1;11562:53;11607:7;11598:6;11587:9;11583:22;11562:53;:::i;:::-;11552:63;;11508:117;11664:2;11690:53;11735:7;11726:6;11715:9;11711:22;11690:53;:::i;:::-;11680:63;;11635:118;11286:474;;;;;:::o;11766:156::-;11906:8;11902:1;11894:6;11890:14;11883:32;11766:156;:::o;11928:365::-;12070:3;12091:66;12155:1;12150:3;12091:66;:::i;:::-;12084:73;;12166:93;12255:3;12166:93;:::i;:::-;12284:2;12279:3;12275:12;12268:19;;11928:365;;;:::o;12299:419::-;12465:4;12503:2;12492:9;12488:18;12480:26;;12552:9;12546:4;12542:20;12538:1;12527:9;12523:17;12516:47;12580:131;12706:4;12580:131;:::i;:::-;12572:139;;12299:419;;;:::o;12724:180::-;12772:77;12769:1;12762:88;12869:4;12866:1;12859:15;12893:4;12890:1;12883:15;12910:180;12958:77;12955:1;12948:88;13055:4;13052:1;13045:15;13079:4;13076:1;13069:15;13096:320;13140:6;13177:1;13171:4;13167:12;13157:22;;13224:1;13218:4;13214:12;13245:18;13235:81;;13301:4;13293:6;13289:17;13279:27;;13235:81;13363:2;13355:6;13352:14;13332:18;13329:38;13326:84;;13382:18;;:::i;:::-;13326:84;13147:269;13096:320;;;:::o;13422:180::-;13470:77;13467:1;13460:88;13567:4;13564:1;13557:15;13591:4;13588:1;13581:15;13608:194;13648:4;13668:20;13686:1;13668:20;:::i;:::-;13663:25;;13702:20;13720:1;13702:20;:::i;:::-;13697:25;;13746:1;13743;13739:9;13731:17;;13770:1;13764:4;13761:11;13758:37;;;13775:18;;:::i;:::-;13758:37;13608:194;;;;:::o;13808:102::-;13850:8;13897:5;13894:1;13890:13;13869:34;;13808:102;;;:::o;13916:848::-;13977:5;13984:4;14008:6;13999:15;;14032:5;14023:14;;14046:712;14067:1;14057:8;14054:15;14046:712;;;14162:4;14157:3;14153:14;14147:4;14144:24;14141:50;;;14171:18;;:::i;:::-;14141:50;14221:1;14211:8;14207:16;14204:451;;;14636:4;14629:5;14625:16;14616:25;;14204:451;14686:4;14680;14676:15;14668:23;;14716:32;14739:8;14716:32;:::i;:::-;14704:44;;14046:712;;;13916:848;;;;;;;:::o;14770:1073::-;14824:5;15015:8;15005:40;;15036:1;15027:10;;15038:5;;15005:40;15064:4;15054:36;;15081:1;15072:10;;15083:5;;15054:36;15150:4;15198:1;15193:27;;;;15234:1;15229:191;;;;15143:277;;15193:27;15211:1;15202:10;;15213:5;;;15229:191;15274:3;15264:8;15261:17;15258:43;;;15281:18;;:::i;:::-;15258:43;15330:8;15327:1;15323:16;15314:25;;15365:3;15358:5;15355:14;15352:40;;;15372:18;;:::i;:::-;15352:40;15405:5;;;15143:277;;15529:2;15519:8;15516:16;15510:3;15504:4;15501:13;15497:36;15479:2;15469:8;15466:16;15461:2;15455:4;15452:12;15448:35;15432:111;15429:246;;;15585:8;15579:4;15575:19;15566:28;;15620:3;15613:5;15610:14;15607:40;;;15627:18;;:::i;:::-;15607:40;15660:5;;15429:246;15700:42;15738:3;15728:8;15722:4;15719:1;15700:42;:::i;:::-;15685:57;;;;15774:4;15769:3;15765:14;15758:5;15755:25;15752:51;;;15783:18;;:::i;:::-;15752:51;15832:4;15825:5;15821:16;15812:25;;14770:1073;;;;;;:::o;15849:281::-;15907:5;15931:23;15949:4;15931:23;:::i;:::-;15923:31;;15975:25;15991:8;15975:25;:::i;:::-;15963:37;;16019:104;16056:66;16046:8;16040:4;16019:104;:::i;:::-;16010:113;;15849:281;;;;:::o;16136:410::-;16176:7;16199:20;16217:1;16199:20;:::i;:::-;16194:25;;16233:20;16251:1;16233:20;:::i;:::-;16228:25;;16288:1;16285;16281:9;16310:30;16328:11;16310:30;:::i;:::-;16299:41;;16489:1;16480:7;16476:15;16473:1;16470:22;16450:1;16443:9;16423:83;16400:139;;16519:18;;:::i;:::-;16400:139;16184:362;16136:410;;;;:::o;16552:158::-;16692:10;16688:1;16680:6;16676:14;16669:34;16552:158;:::o;16716:365::-;16858:3;16879:66;16943:1;16938:3;16879:66;:::i;:::-;16872:73;;16954:93;17043:3;16954:93;:::i;:::-;17072:2;17067:3;17063:12;17056:19;;16716:365;;;:::o;17087:419::-;17253:4;17291:2;17280:9;17276:18;17268:26;;17340:9;17334:4;17330:20;17326:1;17315:9;17311:17;17304:47;17368:131;17494:4;17368:131;:::i;:::-;17360:139;;17087:419;;;:::o;17512:143::-;17569:5;17600:6;17594:13;17585:22;;17616:33;17643:5;17616:33;:::i;:::-;17512:143;;;;:::o;17661:351::-;17731:6;17780:2;17768:9;17759:7;17755:23;17751:32;17748:119;;;17786:79;;:::i;:::-;17748:119;17906:1;17931:64;17987:7;17978:6;17967:9;17963:22;17931:64;:::i;:::-;17921:74;;17877:128;17661:351;;;;:::o;18018:332::-;18139:4;18177:2;18166:9;18162:18;18154:26;;18190:71;18258:1;18247:9;18243:17;18234:6;18190:71;:::i;:::-;18271:72;18339:2;18328:9;18324:18;18315:6;18271:72;:::i;:::-;18018:332;;;;;:::o;18356:137::-;18410:5;18441:6;18435:13;18426:22;;18457:30;18481:5;18457:30;:::i;:::-;18356:137;;;;:::o;18499:345::-;18566:6;18615:2;18603:9;18594:7;18590:23;18586:32;18583:119;;;18621:79;;:::i;:::-;18583:119;18741:1;18766:61;18819:7;18810:6;18799:9;18795:22;18766:61;:::i;:::-;18756:71;;18712:125;18499:345;;;;:::o;18850:155::-;18990:7;18986:1;18978:6;18974:14;18967:31;18850:155;:::o;19011:365::-;19153:3;19174:66;19238:1;19233:3;19174:66;:::i;:::-;19167:73;;19249:93;19338:3;19249:93;:::i;:::-;19367:2;19362:3;19358:12;19351:19;;19011:365;;;:::o;19382:419::-;19548:4;19586:2;19575:9;19571:18;19563:26;;19635:9;19629:4;19625:20;19621:1;19610:9;19606:17;19599:47;19663:131;19789:4;19663:131;:::i;:::-;19655:139;;19382:419;;;:::o;19807:159::-;19947:11;19943:1;19935:6;19931:14;19924:35;19807:159;:::o;19972:365::-;20114:3;20135:66;20199:1;20194:3;20135:66;:::i;:::-;20128:73;;20210:93;20299:3;20210:93;:::i;:::-;20328:2;20323:3;20319:12;20312:19;;19972:365;;;:::o;20343:419::-;20509:4;20547:2;20536:9;20532:18;20524:26;;20596:9;20590:4;20586:20;20582:1;20571:9;20567:17;20560:47;20624:131;20750:4;20624:131;:::i;:::-;20616:139;;20343:419;;;:::o;20768:166::-;20908:18;20904:1;20896:6;20892:14;20885:42;20768:166;:::o;20940:366::-;21082:3;21103:67;21167:2;21162:3;21103:67;:::i;:::-;21096:74;;21179:93;21268:3;21179:93;:::i;:::-;21297:2;21292:3;21288:12;21281:19;;20940:366;;;:::o;21312:419::-;21478:4;21516:2;21505:9;21501:18;21493:26;;21565:9;21559:4;21555:20;21551:1;21540:9;21536:17;21529:47;21593:131;21719:4;21593:131;:::i;:::-;21585:139;;21312:419;;;:::o;21737:180::-;21785:77;21782:1;21775:88;21882:4;21879:1;21872:15;21906:4;21903:1;21896:15;21923:185;21963:1;21980:20;21998:1;21980:20;:::i;:::-;21975:25;;22014:20;22032:1;22014:20;:::i;:::-;22009:25;;22053:1;22043:35;;22058:18;;:::i;:::-;22043:35;22100:1;22097;22093:9;22088:14;;21923:185;;;;:::o;22114:180::-;22162:77;22159:1;22152:88;22259:4;22256:1;22249:15;22283:4;22280:1;22273:15;22300:114;22367:6;22401:5;22395:12;22385:22;;22300:114;;;:::o;22420:184::-;22519:11;22553:6;22548:3;22541:19;22593:4;22588:3;22584:14;22569:29;;22420:184;;;;:::o;22610:132::-;22677:4;22700:3;22692:11;;22730:4;22725:3;22721:14;22713:22;;22610:132;;;:::o;22748:108::-;22825:24;22843:5;22825:24;:::i;:::-;22820:3;22813:37;22748:108;;:::o;22862:179::-;22931:10;22952:46;22994:3;22986:6;22952:46;:::i;:::-;23030:4;23025:3;23021:14;23007:28;;22862:179;;;;:::o;23047:113::-;23117:4;23149;23144:3;23140:14;23132:22;;23047:113;;;:::o;23196:732::-;23315:3;23344:54;23392:5;23344:54;:::i;:::-;23414:86;23493:6;23488:3;23414:86;:::i;:::-;23407:93;;23524:56;23574:5;23524:56;:::i;:::-;23603:7;23634:1;23619:284;23644:6;23641:1;23638:13;23619:284;;;23720:6;23714:13;23747:63;23806:3;23791:13;23747:63;:::i;:::-;23740:70;;23833:60;23886:6;23833:60;:::i;:::-;23823:70;;23679:224;23666:1;23663;23659:9;23654:14;;23619:284;;;23623:14;23919:3;23912:10;;23320:608;;;23196:732;;;;:::o;23934:483::-;24105:4;24143:2;24132:9;24128:18;24120:26;;24156:71;24224:1;24213:9;24209:17;24200:6;24156:71;:::i;:::-;24274:9;24268:4;24264:20;24259:2;24248:9;24244:18;24237:48;24302:108;24405:4;24396:6;24302:108;:::i;:::-;24294:116;;23934:483;;;;;:::o;24423:281::-;24506:27;24528:4;24506:27;:::i;:::-;24498:6;24494:40;24636:6;24624:10;24621:22;24600:18;24588:10;24585:34;24582:62;24579:88;;;24647:18;;:::i;:::-;24579:88;24687:10;24683:2;24676:22;24466:238;24423:281;;:::o;24710:129::-;24744:6;24771:20;;:::i;:::-;24761:30;;24800:33;24828:4;24820:6;24800:33;:::i;:::-;24710:129;;;:::o;24845:311::-;24922:4;25012:18;25004:6;25001:30;24998:56;;;25034:18;;:::i;:::-;24998:56;25084:4;25076:6;25072:17;25064:25;;25144:4;25138;25134:15;25126:23;;24845:311;;;:::o;25179:732::-;25286:5;25311:81;25327:64;25384:6;25327:64;:::i;:::-;25311:81;:::i;:::-;25302:90;;25412:5;25441:6;25434:5;25427:21;25475:4;25468:5;25464:16;25457:23;;25528:4;25520:6;25516:17;25508:6;25504:30;25557:3;25549:6;25546:15;25543:122;;;25576:79;;:::i;:::-;25543:122;25691:6;25674:231;25708:6;25703:3;25700:15;25674:231;;;25783:3;25812:48;25856:3;25844:10;25812:48;:::i;:::-;25807:3;25800:61;25890:4;25885:3;25881:14;25874:21;;25750:155;25734:4;25729:3;25725:14;25718:21;;25674:231;;;25678:21;25292:619;;25179:732;;;;;:::o;25934:385::-;26016:5;26065:3;26058:4;26050:6;26046:17;26042:27;26032:122;;26073:79;;:::i;:::-;26032:122;26183:6;26177:13;26208:105;26309:3;26301:6;26294:4;26286:6;26282:17;26208:105;:::i;:::-;26199:114;;26022:297;25934:385;;;;:::o;26325:554::-;26420:6;26469:2;26457:9;26448:7;26444:23;26440:32;26437:119;;;26475:79;;:::i;:::-;26437:119;26616:1;26605:9;26601:17;26595:24;26646:18;26638:6;26635:30;26632:117;;;26668:79;;:::i;:::-;26632:117;26773:89;26854:7;26845:6;26834:9;26830:22;26773:89;:::i;:::-;26763:99;;26566:306;26325:554;;;;:::o;26885:191::-;26925:3;26944:20;26962:1;26944:20;:::i;:::-;26939:25;;26978:20;26996:1;26978:20;:::i;:::-;26973:25;;27021:1;27018;27014:9;27007:16;;27042:3;27039:1;27036:10;27033:36;;;27049:18;;:::i;:::-;27033:36;26885:191;;;;:::o;27082:233::-;27121:3;27144:24;27162:5;27144:24;:::i;:::-;27135:33;;27190:66;27183:5;27180:77;27177:103;;27260:18;;:::i;:::-;27177:103;27307:1;27300:5;27296:13;27289:20;;27082:233;;;:::o;27321:176::-;27353:1;27370:20;27388:1;27370:20;:::i;:::-;27365:25;;27404:20;27422:1;27404:20;:::i;:::-;27399:25;;27443:1;27433:35;;27448:18;;:::i;:::-;27433:35;27489:1;27486;27482:9;27477:14;;27321:176;;;;:::o;27503:85::-;27548:7;27577:5;27566:16;;27503:85;;;:::o;27594:158::-;27652:9;27685:61;27703:42;27712:32;27738:5;27712:32;:::i;:::-;27703:42;:::i;:::-;27685:61;:::i;:::-;27672:74;;27594:158;;;:::o;27758:147::-;27853:45;27892:5;27853:45;:::i;:::-;27848:3;27841:58;27758:147;;:::o;27911:831::-;28174:4;28212:3;28201:9;28197:19;28189:27;;28226:71;28294:1;28283:9;28279:17;28270:6;28226:71;:::i;:::-;28307:80;28383:2;28372:9;28368:18;28359:6;28307:80;:::i;:::-;28434:9;28428:4;28424:20;28419:2;28408:9;28404:18;28397:48;28462:108;28565:4;28556:6;28462:108;:::i;:::-;28454:116;;28580:72;28648:2;28637:9;28633:18;28624:6;28580:72;:::i;:::-;28662:73;28730:3;28719:9;28715:19;28706:6;28662:73;:::i;:::-;27911:831;;;;;;;;:::o;28748:442::-;28897:4;28935:2;28924:9;28920:18;28912:26;;28948:71;29016:1;29005:9;29001:17;28992:6;28948:71;:::i;:::-;29029:72;29097:2;29086:9;29082:18;29073:6;29029:72;:::i;:::-;29111;29179:2;29168:9;29164:18;29155:6;29111:72;:::i;:::-;28748:442;;;;;;:::o;29196:185::-;29236:1;29253:20;29271:1;29253:20;:::i;:::-;29248:25;;29287:20;29305:1;29287:20;:::i;:::-;29282:25;;29326:1;29316:35;;29331:18;;:::i;:::-;29316:35;29373:1;29370;29366:9;29361:14;;29196:185;;;;:::o;29387:232::-;29427:3;29446:20;29464:1;29446:20;:::i;:::-;29441:25;;29480:20;29498:1;29480:20;:::i;:::-;29475:25;;29523:1;29520;29516:9;29509:16;;29546:42;29541:3;29538:51;29535:77;;;29592:18;;:::i;:::-;29535:77;29387:232;;;;:::o
Swarm Source
ipfs://e818a6f5117b0dcacc862bb421e11fb2215ada8b44d9390618627b80cee89b5f
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)