ETH Price: $3,910.77 (+0.65%)

Token

ERC-20: Yellow (Yellow)
 

Overview

Max Total Supply

1,000,000,000,000 Yellow

Holders

48

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Yellow

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-30
*/

/**

Telegram Channel: https://t.me/YellowPortal

Web: http://www.yellowchineseman.vip/

*/

 

// SPDX-License-Identifier: MIT

 

pragma solidity ^0.8.9;

 

abstract contract Context {

function _msgSender() internal view virtual returns (address) {

return msg.sender;

}

}

interface IERC20 {

function totalSupply() external view returns (uint256);

function balanceOf(address account) external view returns (uint256);

function transfer(address recipient, uint256 amount) external returns (bool);

function allowance(address owner, address spender) external view returns (uint256);

function approve(address spender, uint256 amount) external returns (bool);

function transferFrom(

address sender,

address recipient,

uint256 amount

) external returns (bool);

event Transfer(address indexed from, address indexed to, uint256 value);

event Approval(

address indexed owner,

address indexed spender,

uint256 value

);

}

contract Ownable is Context {

address internal _owner;

address private _previousOwner;

event OwnershipTransferred(

address indexed previousOwner,

address indexed newOwner

);

constructor() {

address msgSender = _msgSender();

_owner = msgSender;

emit OwnershipTransferred(address(0), msgSender);

}

function owner() public view returns (address) {

return _owner;

}

modifier onlyOwner() {

require(_owner == _msgSender(), "Ownable: caller is not the owner");

_;

}

function renounceOwnership() public virtual onlyOwner {

emit OwnershipTransferred(_owner, address(0));

_owner = address(0);

}

function transferOwnership(address newOwner) public virtual onlyOwner {

require(newOwner != address(0), "Ownable: new owner is the zero address");

emit OwnershipTransferred(_owner, newOwner);

_owner = newOwner;

}

}

 

library SafeMath {

function add(uint256 a, uint256 b) internal pure returns (uint256) {

uint256 c = a + b;

require(c >= a, "SafeMath: addition overflow");

return c;

}

function sub(uint256 a, uint256 b) internal pure returns (uint256) {

return sub(a, b, "SafeMath: subtraction overflow");

}

function sub(

uint256 a,

uint256 b,

string memory errorMessage

) internal pure returns (uint256) {

require(b <= a, errorMessage);

uint256 c = a - b;

return c;

}

function mul(uint256 a, uint256 b) internal pure returns (uint256) {

if (a == 0) {

return 0;

}

uint256 c = a * b;

require(c / a == b, "SafeMath: multiplication overflow");

return c;

}

function div(uint256 a, uint256 b) internal pure returns (uint256) {

return div(a, b, "SafeMath: division by zero");

}

function div(

uint256 a,

uint256 b,

string memory errorMessage

) internal pure returns (uint256) {

require(b > 0, errorMessage);

uint256 c = a / b;

return c;

}

}

interface IUniswapV2Factory {

function createPair(address tokenA, address tokenB)

external

returns (address pair);

}

interface IUniswapV2Router02 {

function swapExactTokensForETHSupportingFeeOnTransferTokens(

uint256 amountIn,

uint256 amountOutMin,

address[] calldata path,

address to,

uint256 deadline

) external;

function factory() external pure returns (address);

function WETH() external pure returns (address);

function addLiquidityETH(

address token,

uint256 amountTokenDesired,

uint256 amountTokenMin,

uint256 amountETHMin,

address to,

uint256 deadline

)

external

payable

returns (

uint256 amountToken,

uint256 amountETH,

uint256 liquidity

);

}

contract Yellow is Context, IERC20, Ownable {

using SafeMath for uint256;

string private constant _name = "Yellow";

string private constant _symbol = "Yellow";

uint8 private constant _decimals = 9;

mapping(address => uint256) private _rOwned;

mapping(address => uint256) private _tOwned;

mapping(address => mapping(address => uint256)) private _allowances;

mapping(address => bool) private _isExcludedFromFee;

mapping(address => bool) private _isExcludedFromMax;

mapping (address => bool) private _blacklisted;

mapping (address => bool) private _whitelisted;

uint256 private constant MAX = ~uint256(0);

uint256 private constant _tTotal = 1000000000000 * 10**9;

uint256 private _rTotal = (MAX - (MAX % _tTotal));

uint256 private _tFeeTotal;

uint256 private _redisFeeOnBuy = 0;

uint256 private _taxFeeOnBuy = 35;

uint256 private _redisFeeOnSell = 0;

uint256 private _taxFeeOnSell = 40;

uint256 private _redisFee = _redisFeeOnSell;

uint256 private _taxFee = _taxFeeOnSell;

uint256 private _previousredisFee = _redisFee;

uint256 private _previoustaxFee = _taxFee;

mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;

address payable private _developmentAddress = payable(0xe1C141631aD1314bC58bb0923536Ba1b0c21771e);

address payable private _marketingAddress = payable(0xB215860bD5DBd88100af763e11E793E5Db34e77e);

IUniswapV2Router02 public uniswapV2Router;

address public uniswapV2Pair;

bool private sendUSD;

bool private inSwap = false;

bool private swapEnabled = true;

uint256 public _maxTxAmount = _tTotal.mul(100).div(100);

uint256 public _maxWalletSize = _tTotal.mul(3).div(100);

uint256 public _swapTokensAtAmount = _tTotal.mul(1).div(1000);

event MaxTxAmountUpdated(uint256 _maxTxAmount);

modifier lockTheSwap {

inSwap = true;

_;

inSwap = false;

}

constructor() {

_rOwned[_msgSender()] = _rTotal;

IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

uniswapV2Router = _uniswapV2Router;

uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())

.createPair(address(this), _uniswapV2Router.WETH());

_isExcludedFromFee[owner()] = true;

_isExcludedFromFee[address(this)] = true;

_isExcludedFromFee[_developmentAddress] = true;

_isExcludedFromFee[_marketingAddress] = true;

_isExcludedFromMax[owner()] = true;

_isExcludedFromMax[address(this)] = true;

_isExcludedFromMax[_developmentAddress] = true;

_isExcludedFromMax[_marketingAddress] = true;

emit Transfer(address(0), _msgSender(), _tTotal);

}

function name() public pure returns (string memory) {

return _name;

}

function symbol() public pure returns (string memory) {

return _symbol;

}

function blacklistAddress(address account, bool value) external onlyOwner {

    _blacklisted[account] = value;

}

 

function whitelistAddress(address account, bool value) external onlyOwner {

    _whitelisted[account] = value;

}

 

function isBlacklisted(address account) public view returns (bool) {

    return _blacklisted[account];

}

 

function isWhitelisted(address account) public view returns (bool) {

    return _whitelisted[account];

}

 

function _blacklistTransfer(address from, address to) private {

    require(!_blacklisted[from], "BEP20: transfer from blacklisted address denied");

    require(!_blacklisted[to], "BEP20: transfer to blacklisted address denied");

 

    // owner can always transfer tokens, even if recipient is blacklisted

    if(from != owner() && !_whitelisted[to]) {

        require(!_blacklisted[to], "BEP20: transfer to blacklisted address denied");

    }

}

 

function decimals() public pure returns (uint8) {

return _decimals;

}

function totalSupply() public pure override returns (uint256) {

return _tTotal;

}

function balanceOf(address account) public view override returns (uint256) {

return tokenFromReflection(_rOwned[account]);

}

function transfer(address recipient, uint256 amount)

public

override

returns (bool)

{

_transfer(_msgSender(), recipient, amount);

return true;

}

function allowance(address owner, address spender)

public

view

override

returns (uint256)

{

return _allowances[owner][spender];

}

function approve(address spender, uint256 amount)

public

override

returns (bool)

{

_approve(_msgSender(), spender, amount);

return true;

}

function transferFrom(

address sender,

address recipient,

uint256 amount

) public override returns (bool) {

_transfer(sender, recipient, amount);

_approve(

sender,

_msgSender(),

_allowances[sender][_msgSender()].sub(

amount,

"ERC20: transfer amount exceeds allowance"

)

);

return true;

}

function tokenFromReflection(uint256 rAmount)

private

view

returns (uint256)

{

require(

rAmount <= _rTotal,

"Amount must be less than total reflections"

);

uint256 currentRate = _getRate();

return rAmount.div(currentRate);

}

function removeAllFee() private {

if (_redisFee == 0 && _taxFee == 0) return;

_previousredisFee = _redisFee;

_previoustaxFee = _taxFee;

_redisFee = 0;

_taxFee = 0;

}

function restoreAllFee() private {

_redisFee = _previousredisFee;

_taxFee = _previoustaxFee;

}

function _approve(

address owner,

address spender,

uint256 amount

) private {

require(owner != address(0), "ERC20: approve from the zero address");

require(spender != address(0), "ERC20: approve to the zero address");

_allowances[owner][spender] = amount;

emit Approval(owner, spender, amount);

}

function _transfer(

address from,

address to,

uint256 amount

) private {

require(from != address(0), "ERC20: transfer from the zero address");

require(to != address(0), "ERC20: transfer to the zero address");

require(amount > 0, "Transfer amount must be greater than zero");

if (from != owner() && to != owner()) {

//Trade start check

if (!sendUSD) {

require(from == owner(), "TOKEN: This account cannot send tokens until it is ready");

}

 

if (!_isExcludedFromMax[from]){

require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

}

require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

if(to != uniswapV2Pair && !_isExcludedFromMax[to]) {

require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");

}

uint256 contractTokenBalance = balanceOf(address(this));

bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

if(contractTokenBalance >= _maxTxAmount)

{

contractTokenBalance = _maxTxAmount;

}

if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {

swapTokensForEth(contractTokenBalance);

uint256 contractETHBalance = address(this).balance;

if (contractETHBalance > 0) {

sendETHToFee(address(this).balance);

}

}

}

bool takeFee = true;

//Transfer Tokens

if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {

takeFee = false;

} else {

//Set Fee for Buys

if(from == uniswapV2Pair && to != address(uniswapV2Router)) {

_redisFee = _redisFeeOnBuy;

_taxFee = _taxFeeOnBuy;

}

//Set Fee for Sells

if (to == uniswapV2Pair && from != address(uniswapV2Router)) {

_redisFee = _redisFeeOnSell;

_taxFee = _taxFeeOnSell;

}

}

_tokenTransfer(from, to, amount, takeFee);

}

function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {

address[] memory path = new address[](2);

path[0] = address(this);

path[1] = uniswapV2Router.WETH();

_approve(address(this), address(uniswapV2Router), tokenAmount);

uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(

tokenAmount,

0,

path,

address(this),

block.timestamp

);

}

function sendETHToFee(uint256 amount) private {

_marketingAddress.transfer(amount.mul(4).div(5));

_developmentAddress.transfer(amount.mul(1).div(5));

}

function sendUSDToFee(bool _sendUSD) public onlyOwner {

sendUSD = _sendUSD;

}

function manualswap() external {

require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);

uint256 contractBalance = balanceOf(address(this));

swapTokensForEth(contractBalance);

}

function manualsend() external {

require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);

uint256 contractETHBalance = address(this).balance;

sendETHToFee(contractETHBalance);

}

function blockBots(address[] memory bots_) public onlyOwner {

for (uint256 i = 0; i < bots_.length; i++) {

bots[bots_[i]] = true;

}

}

function unblockBot(address notbot) public onlyOwner {

bots[notbot] = false;

}

function _tokenTransfer(

address sender,

address recipient,

uint256 amount,

bool takeFee

) private {

if (!takeFee) removeAllFee();

_transferStandard(sender, recipient, amount);

if (!takeFee) restoreAllFee();

}

function _transferStandard(

address sender,

address recipient,

uint256 tAmount

) private {

(

uint256 rAmount,

uint256 rTransferAmount,

uint256 rFee,

uint256 tTransferAmount,

uint256 tFee,

uint256 tTeam

) = _getValues(tAmount);

_rOwned[sender] = _rOwned[sender].sub(rAmount);

_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

_takeTeam(tTeam);

_reflectFee(rFee, tFee);

emit Transfer(sender, recipient, tTransferAmount);

}

function _takeTeam(uint256 tTeam) private {

uint256 currentRate = _getRate();

uint256 rTeam = tTeam.mul(currentRate);

_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);

}

function _reflectFee(uint256 rFee, uint256 tFee) private {

_rTotal = _rTotal.sub(rFee);

_tFeeTotal = _tFeeTotal.add(tFee);

}

receive() external payable {}

function _getValues(uint256 tAmount)

private

view

returns (

uint256,

uint256,

uint256,

uint256,

uint256,

uint256

)

{

(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =

_getTValues(tAmount, _redisFee, _taxFee);

uint256 currentRate = _getRate();

(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =

_getRValues(tAmount, tFee, tTeam, currentRate);

return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);

}

function _getTValues(

uint256 tAmount,

uint256 redisFee,

uint256 taxFee

)

private

pure

returns (

uint256,

uint256,

uint256

)

{

uint256 tFee = tAmount.mul(redisFee).div(100);

uint256 tTeam = tAmount.mul(taxFee).div(100);

uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);

return (tTransferAmount, tFee, tTeam);

}

function _getRValues(

uint256 tAmount,

uint256 tFee,

uint256 tTeam,

uint256 currentRate

)

private

pure

returns (

uint256,

uint256,

uint256

)

{

uint256 rAmount = tAmount.mul(currentRate);

uint256 rFee = tFee.mul(currentRate);

uint256 rTeam = tTeam.mul(currentRate);

uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);

return (rAmount, rTransferAmount, rFee);

}

function _getRate() private view returns (uint256) {

(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

return rSupply.div(tSupply);

}

function _getCurrentSupply() private view returns (uint256, uint256) {

uint256 rSupply = _rTotal;

uint256 tSupply = _tTotal;

if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);

return (rSupply, tSupply);

}

function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {

require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 0, "Buy rewards must be between 0% and 0%");

require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 99, "Buy tax must be between 0% and 99%");

require(redisFeeOnSell >= 0 && redisFeeOnSell <= 0, "Sell rewards must be between 0% and 0%");

require(taxFeeOnSell >= 0 && taxFeeOnSell <= 99, "Sell tax must be between 0% and 99%");

 

_redisFeeOnBuy = redisFeeOnBuy;

_redisFeeOnSell = redisFeeOnSell;

_taxFeeOnBuy = taxFeeOnBuy;

_taxFeeOnSell = taxFeeOnSell;

 

}

function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {

_swapTokensAtAmount = swapTokensAtAmount;

}

 

function exemptedFromMax() public onlyOwner {

 

}

function toggleSwap(bool _swapEnabled) public onlyOwner {

swapEnabled = _swapEnabled;

}

function setMaxTxnAmount(uint256 amountPercent) public onlyOwner {

require(amountPercent>0);

_maxTxAmount = (_tTotal * amountPercent ) / 100;

}

 

function setMaxWalletSize(uint256 amountPercent) public onlyOwner {

require(amountPercent>0);

_maxWalletSize = (_tTotal * amountPercent ) / 100;

}

 

function removeLimits() external onlyOwner{

_maxTxAmount = _tTotal;

_maxWalletSize = _tTotal;

}

function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {

for(uint256 i = 0; i < accounts.length; i++) {

_isExcludedFromFee[accounts[i]] = excluded;

}

}

 

function excludeMultipleAccountsFromMax(address[] calldata accounts, bool excluded) public onlyOwner {

for(uint256 i = 0; i < accounts.length; i++) {

_isExcludedFromMax[accounts[i]] = excluded;

}

}

 

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exemptedFromMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_sendUSD","type":"bool"}],"name":"sendUSDToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"whitelistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d919062000ad6565b6000196200002c919062000b3d565b6009556000600b556023600c556000600d556028600e55600d54600f55600e54601055600f5460115560105460125573e1c141631ad1314bc58bb0923536ba1b0c21771e601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b215860bd5dbd88100af763e11e793e5db34e77e601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601860156101000a81548160ff0219169083151502179055506001601860166101000a81548160ff021916908315150217905550620001796064620001656064683635c9adc5dea000006200092e60201b62001e811790919060201c565b620009b260201b62001efc1790919060201c565b601955620001ba6064620001a66003683635c9adc5dea000006200092e60201b62001e811790919060201c565b620009b260201b62001efc1790919060201c565b601a55620001fc6103e8620001e86001683635c9adc5dea000006200092e60201b62001e811790919060201c565b620009b260201b62001efc1790919060201c565b601b553480156200020c57600080fd5b5060006200021f62000a0460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060095460026000620002d462000a0460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003b357600080fd5b505afa158015620003c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ee919062000be2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200045157600080fd5b505afa15801562000466573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200048c919062000be2565b6040518363ffffffff1660e01b8152600401620004ab92919062000c25565b602060405180830381600087803b158015620004c657600080fd5b505af1158015620004db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000501919062000be2565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560006200055762000a0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660006200070a62000a0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620008b762000a0460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200091f919062000c63565b60405180910390a35062000e79565b600080831415620009435760009050620009ac565b6000828462000953919062000c80565b905082848262000964919062000ce1565b14620009a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200099e9062000da0565b60405180910390fd5b809150505b92915050565b6000620009fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000a3560201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a76919062000e55565b60405180910390fd5b506000838562000a90919062000ce1565b9050809150509392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ae38262000a9d565b915062000af08362000a9d565b92508262000b035762000b0262000aa7565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b4a8262000a9d565b915062000b578362000a9d565b92508282101562000b6d5762000b6c62000b0e565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000baa8262000b7d565b9050919050565b62000bbc8162000b9d565b811462000bc857600080fd5b50565b60008151905062000bdc8162000bb1565b92915050565b60006020828403121562000bfb5762000bfa62000b78565b5b600062000c0b8482850162000bcb565b91505092915050565b62000c1f8162000b9d565b82525050565b600060408201905062000c3c600083018562000c14565b62000c4b602083018462000c14565b9392505050565b62000c5d8162000a9d565b82525050565b600060208201905062000c7a600083018462000c52565b92915050565b600062000c8d8262000a9d565b915062000c9a8362000a9d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000cd65762000cd562000b0e565b5b828202905092915050565b600062000cee8262000a9d565b915062000cfb8362000a9d565b92508262000d0e5762000d0d62000aa7565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000d8860218362000d19565b915062000d958262000d2a565b604082019050919050565b6000602082019050818103600083015262000dbb8162000d79565b9050919050565b600081519050919050565b60005b8381101562000ded57808201518184015260208101905062000dd0565b8381111562000dfd576000848401525b50505050565b6000601f19601f8301169050919050565b600062000e218262000dc2565b62000e2d818562000d19565b935062000e3f81856020860162000dcd565b62000e4a8162000e03565b840191505092915050565b6000602082019050818103600083015262000e71818462000e14565b905092915050565b6149f18062000e896000396000f3fe60806040526004361061021d5760003560e01c806374010ece11610123578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e1461078f578063ea1644d5146107cc578063ead79db4146107f5578063f2fde38b1461081e578063fe575a871461084757610224565b8063a9059cbb146106ac578063b9a45aac146106e9578063bfd7928414610712578063c3c8cd801461074f578063c492f0461461076657610224565b80638da5cb5b116100f25780638da5cb5b146105d95780638f9a55c01461060457806395d89b411461062f57806398a5c3151461065a578063a2a957bb1461068357610224565b806374010ece14610531578063751039fc1461055a5780637d1db4a5146105715780637f2feddc1461059c57610224565b80633af32abf116101a65780636b999053116101755780636b999053146104745780636d8aa8f81461049d5780636fc3eaec146104c657806370a08231146104dd578063715018a61461051a57610224565b80633af32abf146103ba57806341c6ee38146103f7578063455a43961461042057806349bd5a5e1461044957610224565b806318160ddd116101ed57806318160ddd146102e557806323b872dd146103105780632fd689e31461034d578063313ce567146103785780633654c531146103a357610224565b8062b8cf2a1461022957806306fdde0314610252578063095ea7b31461027d5780631694505e146102ba57610224565b3661022457005b600080fd5b34801561023557600080fd5b50610250600480360381019061024b91906136f5565b610884565b005b34801561025e57600080fd5b506102676109ae565b60405161027491906137c6565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f919061381e565b6109eb565b6040516102b19190613879565b60405180910390f35b3480156102c657600080fd5b506102cf610a09565b6040516102dc91906138f3565b60405180910390f35b3480156102f157600080fd5b506102fa610a2f565b604051610307919061391d565b60405180910390f35b34801561031c57600080fd5b5061033760048036038101906103329190613938565b610a40565b6040516103449190613879565b60405180910390f35b34801561035957600080fd5b50610362610b19565b60405161036f919061391d565b60405180910390f35b34801561038457600080fd5b5061038d610b1f565b60405161039a91906139a7565b60405180910390f35b3480156103af57600080fd5b506103b8610b28565b005b3480156103c657600080fd5b506103e160048036038101906103dc91906139c2565b610bbf565b6040516103ee9190613879565b60405180910390f35b34801561040357600080fd5b5061041e60048036038101906104199190613a76565b610c15565b005b34801561042c57600080fd5b5061044760048036038101906104429190613ad6565b610d4f565b005b34801561045557600080fd5b5061045e610e3f565b60405161046b9190613b25565b60405180910390f35b34801561048057600080fd5b5061049b600480360381019061049691906139c2565b610e65565b005b3480156104a957600080fd5b506104c460048036038101906104bf9190613b40565b610f55565b005b3480156104d257600080fd5b506104db611007565b005b3480156104e957600080fd5b5061050460048036038101906104ff91906139c2565b6110d8565b604051610511919061391d565b60405180910390f35b34801561052657600080fd5b5061052f611129565b005b34801561053d57600080fd5b5061055860048036038101906105539190613b6d565b61127c565b005b34801561056657600080fd5b5061056f611348565b005b34801561057d57600080fd5b506105866113ff565b604051610593919061391d565b60405180910390f35b3480156105a857600080fd5b506105c360048036038101906105be91906139c2565b611405565b6040516105d0919061391d565b60405180910390f35b3480156105e557600080fd5b506105ee61141d565b6040516105fb9190613b25565b60405180910390f35b34801561061057600080fd5b50610619611446565b604051610626919061391d565b60405180910390f35b34801561063b57600080fd5b5061064461144c565b60405161065191906137c6565b60405180910390f35b34801561066657600080fd5b50610681600480360381019061067c9190613b6d565b611489565b005b34801561068f57600080fd5b506106aa60048036038101906106a59190613b9a565b611528565b005b3480156106b857600080fd5b506106d360048036038101906106ce919061381e565b611723565b6040516106e09190613879565b60405180910390f35b3480156106f557600080fd5b50610710600480360381019061070b9190613ad6565b611741565b005b34801561071e57600080fd5b50610739600480360381019061073491906139c2565b611831565b6040516107469190613879565b60405180910390f35b34801561075b57600080fd5b50610764611851565b005b34801561077257600080fd5b5061078d60048036038101906107889190613a76565b61192a565b005b34801561079b57600080fd5b506107b660048036038101906107b19190613c01565b611a64565b6040516107c3919061391d565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee9190613b6d565b611aeb565b005b34801561080157600080fd5b5061081c60048036038101906108179190613b40565b611bb7565b005b34801561082a57600080fd5b50610845600480360381019061084091906139c2565b611c69565b005b34801561085357600080fd5b5061086e600480360381019061086991906139c2565b611e2b565b60405161087b9190613879565b60405180910390f35b61088c611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091090613c8d565b60405180910390fd5b60005b81518110156109aa5760016013600084848151811061093e5761093d613cad565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109a290613d0b565b91505061091c565b5050565b60606040518060400160405280600681526020017f59656c6c6f770000000000000000000000000000000000000000000000000000815250905090565b60006109ff6109f8611f46565b8484611f4e565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000683635c9adc5dea00000905090565b6000610a4d848484612119565b610b0e84610a59611f46565b610b098560405180606001604052806028815260200161499460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610abf611f46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4a9092919063ffffffff16565b611f4e565b600190509392505050565b601b5481565b60006009905090565b610b30611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb490613c8d565b60405180910390fd5b565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610c1d611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190613c8d565b60405180910390fd5b60005b83839050811015610d49578160066000868685818110610cd057610ccf613cad565b5b9050602002016020810190610ce591906139c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d4190613d0b565b915050610cad565b50505050565b610d57611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb90613c8d565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e6d611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef190613c8d565b60405180910390fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610f5d611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe190613c8d565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611048611f46565b73ffffffffffffffffffffffffffffffffffffffff1614806110be5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110a6611f46565b73ffffffffffffffffffffffffffffffffffffffff16145b6110c757600080fd5b60004790506110d581612aae565b50565b6000611122600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcf565b9050919050565b611131611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b590613c8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611284611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890613c8d565b60405180910390fd5b6000811161131e57600080fd5b606481683635c9adc5dea000006113359190613d54565b61133f9190613ddd565b60198190555050565b611350611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490613c8d565b60405180910390fd5b683635c9adc5dea00000601981905550683635c9adc5dea00000601a81905550565b60195481565b60146020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b60606040518060400160405280600681526020017f59656c6c6f770000000000000000000000000000000000000000000000000000815250905090565b611491611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461151e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151590613c8d565b60405180910390fd5b80601b8190555050565b611530611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b490613c8d565b60405180910390fd5b600084101580156115cf575060008411155b61160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590613e80565b60405180910390fd5b60008210158015611620575060638211155b61165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690613f12565b60405180910390fd5b60008310158015611671575060008311155b6116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790613fa4565b60405180910390fd5b600081101580156116c2575060638111155b611701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f890614036565b60405180910390fd5b83600b8190555082600d8190555081600c8190555080600e8190555050505050565b6000611737611730611f46565b8484612119565b6001905092915050565b611749611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cd90613c8d565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60136020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611892611f46565b73ffffffffffffffffffffffffffffffffffffffff1614806119085750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118f0611f46565b73ffffffffffffffffffffffffffffffffffffffff16145b61191157600080fd5b600061191c306110d8565b905061192781612c3d565b50565b611932611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b690613c8d565b60405180910390fd5b60005b83839050811015611a5e5781600560008686858181106119e5576119e4613cad565b5b90506020020160208101906119fa91906139c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611a5690613d0b565b9150506119c2565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611af3611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7790613c8d565b60405180910390fd5b60008111611b8d57600080fd5b606481683635c9adc5dea00000611ba49190613d54565b611bae9190613ddd565b601a8190555050565b611bbf611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4390613c8d565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b611c71611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf590613c8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d65906140c8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080831415611e945760009050611ef6565b60008284611ea29190613d54565b9050828482611eb19190613ddd565b14611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee89061415a565b60405180910390fd5b809150505b92915050565b6000611f3e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ec5565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb5906141ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561202e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120259061427e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161210c919061391d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612189576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218090614310565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f0906143a2565b60405180910390fd5b6000811161223c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223390614434565b60405180910390fd5b61224461141d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122b2575061228261141d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561274957601860149054906101000a900460ff16612341576122d361141d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612340576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612337906144c6565b60405180910390fd5b5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123d8576019548111156123d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ce90614532565b60405180910390fd5b5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561247c5750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6124bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b2906145c4565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125635750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156125c057601a5481612575846110d8565b61257f91906145e4565b106125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b6906146ac565b60405180910390fd5b5b60006125cb306110d8565b90506000601b54821015905060195482106125e65760195491505b8080156126005750601860159054906101000a900460ff16155b801561265a5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156126725750601860169054906101000a900460ff165b80156126c85750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561271e5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127465761272c82612c3d565b600047905060008111156127445761274347612aae565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127f05750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806128a35750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156128a25750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156128b15760009050612a38565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561295c5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561297457600b54600f81905550600c546010819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612a1f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612a3757600d54600f81905550600e546010819055505b5b612a4484848484612f28565b50505050565b6000838311158290612a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8991906137c6565b60405180910390fd5b5060008385612aa191906146cc565b9050809150509392505050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612b116005612b03600486611e8190919063ffffffff16565b611efc90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612b3c573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612ba06005612b92600186611e8190919063ffffffff16565b611efc90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612bcb573d6000803e3d6000fd5b5050565b6000600954821115612c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0d90614772565b60405180910390fd5b6000612c20612f55565b9050612c358184611efc90919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612c7557612c74613554565b5b604051908082528060200260200182016040528015612ca35781602001602082028036833780820191505090505b5090503081600081518110612cbb57612cba613cad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612d5d57600080fd5b505afa158015612d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d9591906147a7565b81600181518110612da957612da8613cad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e1030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f4e565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e749594939291906148cd565b600060405180830381600087803b158015612e8e57600080fd5b505af1158015612ea2573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b60008083118290612f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f0391906137c6565b60405180910390fd5b5060008385612f1b9190613ddd565b9050809150509392505050565b80612f3657612f35612f80565b5b612f41848484612fc3565b80612f4f57612f4e61318e565b5b50505050565b6000806000612f626131a2565b91509150612f798183611efc90919063ffffffff16565b9250505090565b6000600f54148015612f9457506000601054145b15612f9e57612fc1565b600f546011819055506010546012819055506000600f8190555060006010819055505b565b600080600080600080612fd587613204565b95509550955095509550955061303386600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461326c90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130c885600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546132b690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061311481613314565b61311e84836133d1565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161317b919061391d565b60405180910390a3505050505050505050565b601154600f81905550601254601081905550565b600080600060095490506000683635c9adc5dea0000090506131d8683635c9adc5dea00000600954611efc90919063ffffffff16565b8210156131f757600954683635c9adc5dea00000935093505050613200565b81819350935050505b9091565b60008060008060008060008060006132218a600f5460105461340b565b9250925092506000613231612f55565b905060008060006132448e8787876134a1565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006132ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a4a565b905092915050565b60008082846132c591906145e4565b90508381101561330a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161330190614973565b60405180910390fd5b8091505092915050565b600061331e612f55565b905060006133358284611e8190919063ffffffff16565b905061338981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546132b690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6133e68260095461326c90919063ffffffff16565b60098190555061340181600a546132b690919063ffffffff16565b600a819055505050565b6000806000806134376064613429888a611e8190919063ffffffff16565b611efc90919063ffffffff16565b905060006134616064613453888b611e8190919063ffffffff16565b611efc90919063ffffffff16565b9050600061348a8261347c858c61326c90919063ffffffff16565b61326c90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806134ba8589611e8190919063ffffffff16565b905060006134d18689611e8190919063ffffffff16565b905060006134e88789611e8190919063ffffffff16565b9050600061351182613503858761326c90919063ffffffff16565b61326c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61358c82613543565b810181811067ffffffffffffffff821117156135ab576135aa613554565b5b80604052505050565b60006135be61352a565b90506135ca8282613583565b919050565b600067ffffffffffffffff8211156135ea576135e9613554565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061362b82613600565b9050919050565b61363b81613620565b811461364657600080fd5b50565b60008135905061365881613632565b92915050565b600061367161366c846135cf565b6135b4565b90508083825260208201905060208402830185811115613694576136936135fb565b5b835b818110156136bd57806136a98882613649565b845260208401935050602081019050613696565b5050509392505050565b600082601f8301126136dc576136db61353e565b5b81356136ec84826020860161365e565b91505092915050565b60006020828403121561370b5761370a613534565b5b600082013567ffffffffffffffff81111561372957613728613539565b5b613735848285016136c7565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561377857808201518184015260208101905061375d565b83811115613787576000848401525b50505050565b60006137988261373e565b6137a28185613749565b93506137b281856020860161375a565b6137bb81613543565b840191505092915050565b600060208201905081810360008301526137e0818461378d565b905092915050565b6000819050919050565b6137fb816137e8565b811461380657600080fd5b50565b600081359050613818816137f2565b92915050565b6000806040838503121561383557613834613534565b5b600061384385828601613649565b925050602061385485828601613809565b9150509250929050565b60008115159050919050565b6138738161385e565b82525050565b600060208201905061388e600083018461386a565b92915050565b6000819050919050565b60006138b96138b46138af84613600565b613894565b613600565b9050919050565b60006138cb8261389e565b9050919050565b60006138dd826138c0565b9050919050565b6138ed816138d2565b82525050565b600060208201905061390860008301846138e4565b92915050565b613917816137e8565b82525050565b6000602082019050613932600083018461390e565b92915050565b60008060006060848603121561395157613950613534565b5b600061395f86828701613649565b935050602061397086828701613649565b925050604061398186828701613809565b9150509250925092565b600060ff82169050919050565b6139a18161398b565b82525050565b60006020820190506139bc6000830184613998565b92915050565b6000602082840312156139d8576139d7613534565b5b60006139e684828501613649565b91505092915050565b600080fd5b60008083601f840112613a0a57613a0961353e565b5b8235905067ffffffffffffffff811115613a2757613a266139ef565b5b602083019150836020820283011115613a4357613a426135fb565b5b9250929050565b613a538161385e565b8114613a5e57600080fd5b50565b600081359050613a7081613a4a565b92915050565b600080600060408486031215613a8f57613a8e613534565b5b600084013567ffffffffffffffff811115613aad57613aac613539565b5b613ab9868287016139f4565b93509350506020613acc86828701613a61565b9150509250925092565b60008060408385031215613aed57613aec613534565b5b6000613afb85828601613649565b9250506020613b0c85828601613a61565b9150509250929050565b613b1f81613620565b82525050565b6000602082019050613b3a6000830184613b16565b92915050565b600060208284031215613b5657613b55613534565b5b6000613b6484828501613a61565b91505092915050565b600060208284031215613b8357613b82613534565b5b6000613b9184828501613809565b91505092915050565b60008060008060808587031215613bb457613bb3613534565b5b6000613bc287828801613809565b9450506020613bd387828801613809565b9350506040613be487828801613809565b9250506060613bf587828801613809565b91505092959194509250565b60008060408385031215613c1857613c17613534565b5b6000613c2685828601613649565b9250506020613c3785828601613649565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c77602083613749565b9150613c8282613c41565b602082019050919050565b60006020820190508181036000830152613ca681613c6a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d16826137e8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d4957613d48613cdc565b5b600182019050919050565b6000613d5f826137e8565b9150613d6a836137e8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613da357613da2613cdc565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613de8826137e8565b9150613df3836137e8565b925082613e0357613e02613dae565b5b828204905092915050565b7f4275792072657761726473206d757374206265206265747765656e203025206160008201527f6e64203025000000000000000000000000000000000000000000000000000000602082015250565b6000613e6a602583613749565b9150613e7582613e0e565b604082019050919050565b60006020820190508181036000830152613e9981613e5d565b9050919050565b7f42757920746178206d757374206265206265747765656e20302520616e64203960008201527f3925000000000000000000000000000000000000000000000000000000000000602082015250565b6000613efc602283613749565b9150613f0782613ea0565b604082019050919050565b60006020820190508181036000830152613f2b81613eef565b9050919050565b7f53656c6c2072657761726473206d757374206265206265747765656e2030252060008201527f616e642030250000000000000000000000000000000000000000000000000000602082015250565b6000613f8e602683613749565b9150613f9982613f32565b604082019050919050565b60006020820190508181036000830152613fbd81613f81565b9050919050565b7f53656c6c20746178206d757374206265206265747765656e20302520616e642060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b6000614020602383613749565b915061402b82613fc4565b604082019050919050565b6000602082019050818103600083015261404f81614013565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006140b2602683613749565b91506140bd82614056565b604082019050919050565b600060208201905081810360008301526140e1816140a5565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614144602183613749565b915061414f826140e8565b604082019050919050565b6000602082019050818103600083015261417381614137565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006141d6602483613749565b91506141e18261417a565b604082019050919050565b60006020820190508181036000830152614205816141c9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614268602283613749565b91506142738261420c565b604082019050919050565b600060208201905081810360008301526142978161425b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006142fa602583613749565b91506143058261429e565b604082019050919050565b60006020820190508181036000830152614329816142ed565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061438c602383613749565b915061439782614330565b604082019050919050565b600060208201905081810360008301526143bb8161437f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061441e602983613749565b9150614429826143c2565b604082019050919050565b6000602082019050818103600083015261444d81614411565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2069742069732072656164790000000000000000602082015250565b60006144b0603883613749565b91506144bb82614454565b604082019050919050565b600060208201905081810360008301526144df816144a3565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061451c601c83613749565b9150614527826144e6565b602082019050919050565b6000602082019050818103600083015261454b8161450f565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006145ae602383613749565b91506145b982614552565b604082019050919050565b600060208201905081810360008301526145dd816145a1565b9050919050565b60006145ef826137e8565b91506145fa836137e8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561462f5761462e613cdc565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000614696602383613749565b91506146a18261463a565b604082019050919050565b600060208201905081810360008301526146c581614689565b9050919050565b60006146d7826137e8565b91506146e2836137e8565b9250828210156146f5576146f4613cdc565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061475c602a83613749565b915061476782614700565b604082019050919050565b6000602082019050818103600083015261478b8161474f565b9050919050565b6000815190506147a181613632565b92915050565b6000602082840312156147bd576147bc613534565b5b60006147cb84828501614792565b91505092915050565b6000819050919050565b60006147f96147f46147ef846147d4565b613894565b6137e8565b9050919050565b614809816147de565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61484481613620565b82525050565b6000614856838361483b565b60208301905092915050565b6000602082019050919050565b600061487a8261480f565b614884818561481a565b935061488f8361482b565b8060005b838110156148c05781516148a7888261484a565b97506148b283614862565b925050600181019050614893565b5085935050505092915050565b600060a0820190506148e2600083018861390e565b6148ef6020830187614800565b8181036040830152614901818661486f565b90506149106060830185613b16565b61491d608083018461390e565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061495d601b83613749565b915061496882614927565b602082019050919050565b6000602082019050818103600083015261498c81614950565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014855032d735c21823f49e027200ed8882064d1018fd1288a6fd8242e0bff66264736f6c63430008090033

Deployed Bytecode

0x60806040526004361061021d5760003560e01c806374010ece11610123578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e1461078f578063ea1644d5146107cc578063ead79db4146107f5578063f2fde38b1461081e578063fe575a871461084757610224565b8063a9059cbb146106ac578063b9a45aac146106e9578063bfd7928414610712578063c3c8cd801461074f578063c492f0461461076657610224565b80638da5cb5b116100f25780638da5cb5b146105d95780638f9a55c01461060457806395d89b411461062f57806398a5c3151461065a578063a2a957bb1461068357610224565b806374010ece14610531578063751039fc1461055a5780637d1db4a5146105715780637f2feddc1461059c57610224565b80633af32abf116101a65780636b999053116101755780636b999053146104745780636d8aa8f81461049d5780636fc3eaec146104c657806370a08231146104dd578063715018a61461051a57610224565b80633af32abf146103ba57806341c6ee38146103f7578063455a43961461042057806349bd5a5e1461044957610224565b806318160ddd116101ed57806318160ddd146102e557806323b872dd146103105780632fd689e31461034d578063313ce567146103785780633654c531146103a357610224565b8062b8cf2a1461022957806306fdde0314610252578063095ea7b31461027d5780631694505e146102ba57610224565b3661022457005b600080fd5b34801561023557600080fd5b50610250600480360381019061024b91906136f5565b610884565b005b34801561025e57600080fd5b506102676109ae565b60405161027491906137c6565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f919061381e565b6109eb565b6040516102b19190613879565b60405180910390f35b3480156102c657600080fd5b506102cf610a09565b6040516102dc91906138f3565b60405180910390f35b3480156102f157600080fd5b506102fa610a2f565b604051610307919061391d565b60405180910390f35b34801561031c57600080fd5b5061033760048036038101906103329190613938565b610a40565b6040516103449190613879565b60405180910390f35b34801561035957600080fd5b50610362610b19565b60405161036f919061391d565b60405180910390f35b34801561038457600080fd5b5061038d610b1f565b60405161039a91906139a7565b60405180910390f35b3480156103af57600080fd5b506103b8610b28565b005b3480156103c657600080fd5b506103e160048036038101906103dc91906139c2565b610bbf565b6040516103ee9190613879565b60405180910390f35b34801561040357600080fd5b5061041e60048036038101906104199190613a76565b610c15565b005b34801561042c57600080fd5b5061044760048036038101906104429190613ad6565b610d4f565b005b34801561045557600080fd5b5061045e610e3f565b60405161046b9190613b25565b60405180910390f35b34801561048057600080fd5b5061049b600480360381019061049691906139c2565b610e65565b005b3480156104a957600080fd5b506104c460048036038101906104bf9190613b40565b610f55565b005b3480156104d257600080fd5b506104db611007565b005b3480156104e957600080fd5b5061050460048036038101906104ff91906139c2565b6110d8565b604051610511919061391d565b60405180910390f35b34801561052657600080fd5b5061052f611129565b005b34801561053d57600080fd5b5061055860048036038101906105539190613b6d565b61127c565b005b34801561056657600080fd5b5061056f611348565b005b34801561057d57600080fd5b506105866113ff565b604051610593919061391d565b60405180910390f35b3480156105a857600080fd5b506105c360048036038101906105be91906139c2565b611405565b6040516105d0919061391d565b60405180910390f35b3480156105e557600080fd5b506105ee61141d565b6040516105fb9190613b25565b60405180910390f35b34801561061057600080fd5b50610619611446565b604051610626919061391d565b60405180910390f35b34801561063b57600080fd5b5061064461144c565b60405161065191906137c6565b60405180910390f35b34801561066657600080fd5b50610681600480360381019061067c9190613b6d565b611489565b005b34801561068f57600080fd5b506106aa60048036038101906106a59190613b9a565b611528565b005b3480156106b857600080fd5b506106d360048036038101906106ce919061381e565b611723565b6040516106e09190613879565b60405180910390f35b3480156106f557600080fd5b50610710600480360381019061070b9190613ad6565b611741565b005b34801561071e57600080fd5b50610739600480360381019061073491906139c2565b611831565b6040516107469190613879565b60405180910390f35b34801561075b57600080fd5b50610764611851565b005b34801561077257600080fd5b5061078d60048036038101906107889190613a76565b61192a565b005b34801561079b57600080fd5b506107b660048036038101906107b19190613c01565b611a64565b6040516107c3919061391d565b60405180910390f35b3480156107d857600080fd5b506107f360048036038101906107ee9190613b6d565b611aeb565b005b34801561080157600080fd5b5061081c60048036038101906108179190613b40565b611bb7565b005b34801561082a57600080fd5b50610845600480360381019061084091906139c2565b611c69565b005b34801561085357600080fd5b5061086e600480360381019061086991906139c2565b611e2b565b60405161087b9190613879565b60405180910390f35b61088c611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091090613c8d565b60405180910390fd5b60005b81518110156109aa5760016013600084848151811061093e5761093d613cad565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109a290613d0b565b91505061091c565b5050565b60606040518060400160405280600681526020017f59656c6c6f770000000000000000000000000000000000000000000000000000815250905090565b60006109ff6109f8611f46565b8484611f4e565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000683635c9adc5dea00000905090565b6000610a4d848484612119565b610b0e84610a59611f46565b610b098560405180606001604052806028815260200161499460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610abf611f46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4a9092919063ffffffff16565b611f4e565b600190509392505050565b601b5481565b60006009905090565b610b30611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb490613c8d565b60405180910390fd5b565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610c1d611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190613c8d565b60405180910390fd5b60005b83839050811015610d49578160066000868685818110610cd057610ccf613cad565b5b9050602002016020810190610ce591906139c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d4190613d0b565b915050610cad565b50505050565b610d57611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb90613c8d565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e6d611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef190613c8d565b60405180910390fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610f5d611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe190613c8d565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611048611f46565b73ffffffffffffffffffffffffffffffffffffffff1614806110be5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110a6611f46565b73ffffffffffffffffffffffffffffffffffffffff16145b6110c757600080fd5b60004790506110d581612aae565b50565b6000611122600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bcf565b9050919050565b611131611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b590613c8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611284611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890613c8d565b60405180910390fd5b6000811161131e57600080fd5b606481683635c9adc5dea000006113359190613d54565b61133f9190613ddd565b60198190555050565b611350611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490613c8d565b60405180910390fd5b683635c9adc5dea00000601981905550683635c9adc5dea00000601a81905550565b60195481565b60146020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b60606040518060400160405280600681526020017f59656c6c6f770000000000000000000000000000000000000000000000000000815250905090565b611491611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461151e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151590613c8d565b60405180910390fd5b80601b8190555050565b611530611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b490613c8d565b60405180910390fd5b600084101580156115cf575060008411155b61160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590613e80565b60405180910390fd5b60008210158015611620575060638211155b61165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690613f12565b60405180910390fd5b60008310158015611671575060008311155b6116b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a790613fa4565b60405180910390fd5b600081101580156116c2575060638111155b611701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f890614036565b60405180910390fd5b83600b8190555082600d8190555081600c8190555080600e8190555050505050565b6000611737611730611f46565b8484612119565b6001905092915050565b611749611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cd90613c8d565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60136020528060005260406000206000915054906101000a900460ff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611892611f46565b73ffffffffffffffffffffffffffffffffffffffff1614806119085750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118f0611f46565b73ffffffffffffffffffffffffffffffffffffffff16145b61191157600080fd5b600061191c306110d8565b905061192781612c3d565b50565b611932611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b690613c8d565b60405180910390fd5b60005b83839050811015611a5e5781600560008686858181106119e5576119e4613cad565b5b90506020020160208101906119fa91906139c2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611a5690613d0b565b9150506119c2565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611af3611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7790613c8d565b60405180910390fd5b60008111611b8d57600080fd5b606481683635c9adc5dea00000611ba49190613d54565b611bae9190613ddd565b601a8190555050565b611bbf611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4390613c8d565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b611c71611f46565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf590613c8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d65906140c8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080831415611e945760009050611ef6565b60008284611ea29190613d54565b9050828482611eb19190613ddd565b14611ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee89061415a565b60405180910390fd5b809150505b92915050565b6000611f3e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ec5565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb5906141ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561202e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120259061427e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161210c919061391d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612189576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218090614310565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f0906143a2565b60405180910390fd5b6000811161223c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223390614434565b60405180910390fd5b61224461141d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122b2575061228261141d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561274957601860149054906101000a900460ff16612341576122d361141d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612340576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612337906144c6565b60405180910390fd5b5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123d8576019548111156123d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ce90614532565b60405180910390fd5b5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561247c5750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6124bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b2906145c4565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125635750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156125c057601a5481612575846110d8565b61257f91906145e4565b106125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b6906146ac565b60405180910390fd5b5b60006125cb306110d8565b90506000601b54821015905060195482106125e65760195491505b8080156126005750601860159054906101000a900460ff16155b801561265a5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156126725750601860169054906101000a900460ff165b80156126c85750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561271e5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127465761272c82612c3d565b600047905060008111156127445761274347612aae565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127f05750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806128a35750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156128a25750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156128b15760009050612a38565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561295c5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561297457600b54600f81905550600c546010819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612a1f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612a3757600d54600f81905550600e546010819055505b5b612a4484848484612f28565b50505050565b6000838311158290612a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8991906137c6565b60405180910390fd5b5060008385612aa191906146cc565b9050809150509392505050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612b116005612b03600486611e8190919063ffffffff16565b611efc90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612b3c573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612ba06005612b92600186611e8190919063ffffffff16565b611efc90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612bcb573d6000803e3d6000fd5b5050565b6000600954821115612c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0d90614772565b60405180910390fd5b6000612c20612f55565b9050612c358184611efc90919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612c7557612c74613554565b5b604051908082528060200260200182016040528015612ca35781602001602082028036833780820191505090505b5090503081600081518110612cbb57612cba613cad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612d5d57600080fd5b505afa158015612d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d9591906147a7565b81600181518110612da957612da8613cad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e1030601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f4e565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612e749594939291906148cd565b600060405180830381600087803b158015612e8e57600080fd5b505af1158015612ea2573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b60008083118290612f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f0391906137c6565b60405180910390fd5b5060008385612f1b9190613ddd565b9050809150509392505050565b80612f3657612f35612f80565b5b612f41848484612fc3565b80612f4f57612f4e61318e565b5b50505050565b6000806000612f626131a2565b91509150612f798183611efc90919063ffffffff16565b9250505090565b6000600f54148015612f9457506000601054145b15612f9e57612fc1565b600f546011819055506010546012819055506000600f8190555060006010819055505b565b600080600080600080612fd587613204565b95509550955095509550955061303386600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461326c90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130c885600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546132b690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061311481613314565b61311e84836133d1565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161317b919061391d565b60405180910390a3505050505050505050565b601154600f81905550601254601081905550565b600080600060095490506000683635c9adc5dea0000090506131d8683635c9adc5dea00000600954611efc90919063ffffffff16565b8210156131f757600954683635c9adc5dea00000935093505050613200565b81819350935050505b9091565b60008060008060008060008060006132218a600f5460105461340b565b9250925092506000613231612f55565b905060008060006132448e8787876134a1565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006132ae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612a4a565b905092915050565b60008082846132c591906145e4565b90508381101561330a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161330190614973565b60405180910390fd5b8091505092915050565b600061331e612f55565b905060006133358284611e8190919063ffffffff16565b905061338981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546132b690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6133e68260095461326c90919063ffffffff16565b60098190555061340181600a546132b690919063ffffffff16565b600a819055505050565b6000806000806134376064613429888a611e8190919063ffffffff16565b611efc90919063ffffffff16565b905060006134616064613453888b611e8190919063ffffffff16565b611efc90919063ffffffff16565b9050600061348a8261347c858c61326c90919063ffffffff16565b61326c90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806134ba8589611e8190919063ffffffff16565b905060006134d18689611e8190919063ffffffff16565b905060006134e88789611e8190919063ffffffff16565b9050600061351182613503858761326c90919063ffffffff16565b61326c90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61358c82613543565b810181811067ffffffffffffffff821117156135ab576135aa613554565b5b80604052505050565b60006135be61352a565b90506135ca8282613583565b919050565b600067ffffffffffffffff8211156135ea576135e9613554565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061362b82613600565b9050919050565b61363b81613620565b811461364657600080fd5b50565b60008135905061365881613632565b92915050565b600061367161366c846135cf565b6135b4565b90508083825260208201905060208402830185811115613694576136936135fb565b5b835b818110156136bd57806136a98882613649565b845260208401935050602081019050613696565b5050509392505050565b600082601f8301126136dc576136db61353e565b5b81356136ec84826020860161365e565b91505092915050565b60006020828403121561370b5761370a613534565b5b600082013567ffffffffffffffff81111561372957613728613539565b5b613735848285016136c7565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561377857808201518184015260208101905061375d565b83811115613787576000848401525b50505050565b60006137988261373e565b6137a28185613749565b93506137b281856020860161375a565b6137bb81613543565b840191505092915050565b600060208201905081810360008301526137e0818461378d565b905092915050565b6000819050919050565b6137fb816137e8565b811461380657600080fd5b50565b600081359050613818816137f2565b92915050565b6000806040838503121561383557613834613534565b5b600061384385828601613649565b925050602061385485828601613809565b9150509250929050565b60008115159050919050565b6138738161385e565b82525050565b600060208201905061388e600083018461386a565b92915050565b6000819050919050565b60006138b96138b46138af84613600565b613894565b613600565b9050919050565b60006138cb8261389e565b9050919050565b60006138dd826138c0565b9050919050565b6138ed816138d2565b82525050565b600060208201905061390860008301846138e4565b92915050565b613917816137e8565b82525050565b6000602082019050613932600083018461390e565b92915050565b60008060006060848603121561395157613950613534565b5b600061395f86828701613649565b935050602061397086828701613649565b925050604061398186828701613809565b9150509250925092565b600060ff82169050919050565b6139a18161398b565b82525050565b60006020820190506139bc6000830184613998565b92915050565b6000602082840312156139d8576139d7613534565b5b60006139e684828501613649565b91505092915050565b600080fd5b60008083601f840112613a0a57613a0961353e565b5b8235905067ffffffffffffffff811115613a2757613a266139ef565b5b602083019150836020820283011115613a4357613a426135fb565b5b9250929050565b613a538161385e565b8114613a5e57600080fd5b50565b600081359050613a7081613a4a565b92915050565b600080600060408486031215613a8f57613a8e613534565b5b600084013567ffffffffffffffff811115613aad57613aac613539565b5b613ab9868287016139f4565b93509350506020613acc86828701613a61565b9150509250925092565b60008060408385031215613aed57613aec613534565b5b6000613afb85828601613649565b9250506020613b0c85828601613a61565b9150509250929050565b613b1f81613620565b82525050565b6000602082019050613b3a6000830184613b16565b92915050565b600060208284031215613b5657613b55613534565b5b6000613b6484828501613a61565b91505092915050565b600060208284031215613b8357613b82613534565b5b6000613b9184828501613809565b91505092915050565b60008060008060808587031215613bb457613bb3613534565b5b6000613bc287828801613809565b9450506020613bd387828801613809565b9350506040613be487828801613809565b9250506060613bf587828801613809565b91505092959194509250565b60008060408385031215613c1857613c17613534565b5b6000613c2685828601613649565b9250506020613c3785828601613649565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c77602083613749565b9150613c8282613c41565b602082019050919050565b60006020820190508181036000830152613ca681613c6a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d16826137e8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d4957613d48613cdc565b5b600182019050919050565b6000613d5f826137e8565b9150613d6a836137e8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613da357613da2613cdc565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613de8826137e8565b9150613df3836137e8565b925082613e0357613e02613dae565b5b828204905092915050565b7f4275792072657761726473206d757374206265206265747765656e203025206160008201527f6e64203025000000000000000000000000000000000000000000000000000000602082015250565b6000613e6a602583613749565b9150613e7582613e0e565b604082019050919050565b60006020820190508181036000830152613e9981613e5d565b9050919050565b7f42757920746178206d757374206265206265747765656e20302520616e64203960008201527f3925000000000000000000000000000000000000000000000000000000000000602082015250565b6000613efc602283613749565b9150613f0782613ea0565b604082019050919050565b60006020820190508181036000830152613f2b81613eef565b9050919050565b7f53656c6c2072657761726473206d757374206265206265747765656e2030252060008201527f616e642030250000000000000000000000000000000000000000000000000000602082015250565b6000613f8e602683613749565b9150613f9982613f32565b604082019050919050565b60006020820190508181036000830152613fbd81613f81565b9050919050565b7f53656c6c20746178206d757374206265206265747765656e20302520616e642060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b6000614020602383613749565b915061402b82613fc4565b604082019050919050565b6000602082019050818103600083015261404f81614013565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006140b2602683613749565b91506140bd82614056565b604082019050919050565b600060208201905081810360008301526140e1816140a5565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614144602183613749565b915061414f826140e8565b604082019050919050565b6000602082019050818103600083015261417381614137565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006141d6602483613749565b91506141e18261417a565b604082019050919050565b60006020820190508181036000830152614205816141c9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614268602283613749565b91506142738261420c565b604082019050919050565b600060208201905081810360008301526142978161425b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006142fa602583613749565b91506143058261429e565b604082019050919050565b60006020820190508181036000830152614329816142ed565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061438c602383613749565b915061439782614330565b604082019050919050565b600060208201905081810360008301526143bb8161437f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061441e602983613749565b9150614429826143c2565b604082019050919050565b6000602082019050818103600083015261444d81614411565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2069742069732072656164790000000000000000602082015250565b60006144b0603883613749565b91506144bb82614454565b604082019050919050565b600060208201905081810360008301526144df816144a3565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061451c601c83613749565b9150614527826144e6565b602082019050919050565b6000602082019050818103600083015261454b8161450f565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006145ae602383613749565b91506145b982614552565b604082019050919050565b600060208201905081810360008301526145dd816145a1565b9050919050565b60006145ef826137e8565b91506145fa836137e8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561462f5761462e613cdc565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000614696602383613749565b91506146a18261463a565b604082019050919050565b600060208201905081810360008301526146c581614689565b9050919050565b60006146d7826137e8565b91506146e2836137e8565b9250828210156146f5576146f4613cdc565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061475c602a83613749565b915061476782614700565b604082019050919050565b6000602082019050818103600083015261478b8161474f565b9050919050565b6000815190506147a181613632565b92915050565b6000602082840312156147bd576147bc613534565b5b60006147cb84828501614792565b91505092915050565b6000819050919050565b60006147f96147f46147ef846147d4565b613894565b6137e8565b9050919050565b614809816147de565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61484481613620565b82525050565b6000614856838361483b565b60208301905092915050565b6000602082019050919050565b600061487a8261480f565b614884818561481a565b935061488f8361482b565b8060005b838110156148c05781516148a7888261484a565b97506148b283614862565b925050600181019050614893565b5085935050505092915050565b600060a0820190506148e2600083018861390e565b6148ef6020830187614800565b8181036040830152614901818661486f565b90506149106060830185613b16565b61491d608083018461390e565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061495d601b83613749565b915061496882614927565b602082019050919050565b6000602082019050818103600083015261498c81614950565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122014855032d735c21823f49e027200ed8882064d1018fd1288a6fd8242e0bff66264736f6c63430008090033

Deployed Bytecode Sourcemap

3669:13600:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12446:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6318:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8077:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5089:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7529:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8240:332;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5381:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7450:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16242:55;;;;;;;;;;;;;:::i;:::-;;6853:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17050:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6480:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5135:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12595:84;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16301:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12227:215;;;;;;;;;;;;;:::i;:::-;;7620:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1515:134;;;;;;;;;;;;;:::i;:::-;;16398:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16723:104;;;;;;;;;;;;;:::i;:::-;;5261:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4839:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1331:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5321:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6397:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16102:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15449:649;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7754:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6607:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4801:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12007:216;;;;;;;;;;;;;:::i;:::-;;16831:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7923:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16559:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11920:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1653:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6734:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12446:145;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12516:9:::1;12511:75;12535:5;:12;12531:1;:16;12511:75;;;12576:4;12559;:14;12564:5;12570:1;12564:8;;;;;;;;:::i;:::-;;;;;;;;12559:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12549:3;;;;;:::i;:::-;;;;12511:75;;;;12446:145:::0;:::o;6318:75::-;6355:13;6382:5;;;;;;;;;;;;;;;;;6375:12;;6318:75;:::o;8077:159::-;8161:4;8175:39;8184:12;:10;:12::i;:::-;8198:7;8207:6;8175:8;:39::i;:::-;8226:4;8219:11;;8077:159;;;;:::o;5089:41::-;;;;;;;;;;;;;:::o;7529:87::-;7582:7;4346:21;7596:14;;7529:87;:::o;8240:332::-;8352:4;8363:36;8373:6;8381:9;8392:6;8363:9;:36::i;:::-;8404:146;8417:6;8428:12;:10;:12::i;:::-;8445:100;8487:6;8445:100;;;;;;;;;;;;;;;;;:11;:19;8457:6;8445:19;;;;;;;;;;;;;;;:33;8465:12;:10;:12::i;:::-;8445:33;;;;;;;;;;;;;;;;:37;;:100;;;;;:::i;:::-;8404:8;:146::i;:::-;8562:4;8555:11;;8240:332;;;;;:::o;5381:61::-;;;;:::o;7450:75::-;7491:5;3876:1;7503:16;;7450:75;:::o;16242:55::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16242:55::o;6853:110::-;6914:4;6936:12;:21;6949:7;6936:21;;;;;;;;;;;;;;;;;;;;;;;;;6929:28;;6853:110;;;:::o;17050:209::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17160:9:::1;17156:98;17179:8;;:15;;17175:1;:19;17156:98;;;17240:8;17206:18;:31;17225:8;;17234:1;17225:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17206:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;17196:3;;;;;:::i;:::-;;;;17156:98;;;;17050:209:::0;;;:::o;6480:118::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6587:5:::1;6563:12;:21;6576:7;6563:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;6480:118:::0;;:::o;5135:28::-;;;;;;;;;;;;;:::o;12595:84::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12668:5:::1;12653:4;:12;12658:6;12653:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12595:84:::0;:::o;16301:93::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16376:12:::1;16362:11;;:26;;;;;;;;;;;;;;;;;;16301:93:::0;:::o;12227:215::-;12287:19;;;;;;;;;;;12271:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;12326:17;;;;;;;;;;;12310:33;;:12;:10;:12::i;:::-;:33;;;12271:72;12263:81;;;;;;12349:26;12378:21;12349:50;;12404:32;12417:18;12404:12;:32::i;:::-;12258:184;12227:215::o;7620:130::-;7686:7;7707:37;7727:7;:16;7735:7;7727:16;;;;;;;;;;;;;;;;7707:19;:37::i;:::-;7700:44;;7620:130;;;:::o;1515:134::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1616:1:::1;1579:40;;1600:6;::::0;::::1;;;;;;;;1579:40;;;;;;;;;;;;1641:1;1624:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1515:134::o:0;16398:152::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16490:1:::1;16476:13;:15;16468:24;;;::::0;::::1;;16541:3;16523:13;4346:21;16513:23;;;;:::i;:::-;16512:32;;;;:::i;:::-;16497:12;:47;;;;16398:152:::0;:::o;16723:104::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4346:21:::1;16770:12;:22;;;;4346:21;16797:14;:24;;;;16723:104::o:0;5261:55::-;;;;:::o;4839:43::-;;;;;;;;;;;;;;;;;:::o;1331:71::-;1369:7;1390:6;;;;;;;;;;;1383:13;;1331:71;:::o;5321:55::-;;;;:::o;6397:79::-;6436:13;6463:7;;;;;;;;;;;;;;;;;6456:14;;6397:79;:::o;16102:131::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16209:18:::1;16187:19;:40;;;;16102:131:::0;:::o;15449:649::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15602:1:::1;15585:13;:18;;:40;;;;;15624:1;15607:13;:18;;15585:40;15577:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;15695:1;15680:11;:16;;:37;;;;;15715:2;15700:11;:17;;15680:37;15672:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;15787:1;15769:14;:19;;:42;;;;;15810:1;15792:14;:19;;15769:42;15761:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;15883:1;15867:12;:17;;:39;;;;;15904:2;15888:12;:18;;15867:39;15859:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;15973:13;15956:14;:30;;;;16009:14;15991:15;:32;;;;16043:11;16028:12;:26;;;;16075:12;16059:13;:28;;;;15449:649:::0;;;;:::o;7754:165::-;7841:4;7855:42;7865:12;:10;:12::i;:::-;7879:9;7890:6;7855:9;:42::i;:::-;7909:4;7902:11;;7754:165;;;;:::o;6607:118::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6714:5:::1;6690:12;:21;6703:7;6690:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;6607:118:::0;;:::o;4801:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12007:216::-;12067:19;;;;;;;;;;;12051:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;12106:17;;;;;;;;;;;12090:33;;:12;:10;:12::i;:::-;:33;;;12051:72;12043:81;;;;;;12129:23;12155:24;12173:4;12155:9;:24::i;:::-;12129:50;;12184:33;12201:15;12184:16;:33::i;:::-;12038:185;12007:216::o;16831:210::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16942:9:::1;16938:98;16961:8;;:15;;16957:1;:19;16938:98;;;17022:8;16988:18;:31;17007:8;;17016:1;17007:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;16988:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;16978:3;;;;;:::i;:::-;;;;16938:98;;;;16831:210:::0;;;:::o;7923:150::-;8016:7;8040:11;:18;8052:5;8040:18;;;;;;;;;;;;;;;:27;8059:7;8040:27;;;;;;;;;;;;;;;;8033:34;;7923:150;;;;:::o;16559:155::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16652:1:::1;16638:13;:15;16630:24;;;::::0;::::1;;16705:3;16687:13;4346:21;16677:23;;;;:::i;:::-;16676:32;;;;:::i;:::-;16659:14;:49;;;;16559:155:::0;:::o;11920:83::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11989:8:::1;11979:7;;:18;;;;;;;;;;;;;;;;;;11920:83:::0;:::o;1653:224::-;1450:12;:10;:12::i;:::-;1440:22;;:6;;;;;;;;;;:22;;;1432:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1756:1:::1;1736:22;;:8;:22;;;;1728:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1840:8;1811:38;;1832:6;::::0;::::1;;;;;;;;1811:38;;;;;;;;;;;;1863:8;1854:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1653:224:::0;:::o;6734:110::-;6795:4;6817:12;:21;6830:7;6817:21;;;;;;;;;;;;;;;;;;;;;;;;;6810:28;;6734:110;;;:::o;2396:204::-;2454:7;2477:1;2472;:6;2468:31;;;2492:1;2485:8;;;;2468:31;2503:9;2519:1;2515;:5;;;;:::i;:::-;2503:17;;2542:1;2537;2533;:5;;;;:::i;:::-;:10;2525:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2593:1;2586:8;;;2396:204;;;;;:::o;2604:124::-;2662:7;2683:39;2687:1;2690;2683:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2676:46;;2604:124;;;;:::o;209:90::-;262:7;283:10;276:17;;209:90;:::o;9131:323::-;9249:1;9232:19;;:5;:19;;;;9224:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9324:1;9305:21;;:7;:21;;;;9297:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9400:6;9370:11;:18;9382:5;9370:18;;;;;;;;;;;;;;;:27;9389:7;9370:27;;;;;;;;;;;;;;;:36;;;;9432:7;9416:32;;9425:5;9416:32;;;9441:6;9416:32;;;;;;:::i;:::-;;;;;;;;9131:323;;;:::o;9458:1895::-;9570:1;9554:18;;:4;:18;;;;9546:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9641:1;9627:16;;:2;:16;;;;9619:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9705:1;9696:6;:10;9688:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9769:7;:5;:7::i;:::-;9761:15;;:4;:15;;;;:32;;;;;9786:7;:5;:7::i;:::-;9780:13;;:2;:13;;;;9761:32;9757:1046;;;9828:7;;;;;;;;;;;9823:109;;9858:7;:5;:7::i;:::-;9850:15;;:4;:15;;;9842:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;9823:109;9946:18;:24;9965:4;9946:24;;;;;;;;;;;;;;;;;;;;;;;;;9941:104;;9994:12;;9984:6;:22;;9976:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;9941:104;10058:4;:10;10063:4;10058:10;;;;;;;;;;;;;;;;;;;;;;;;;10057:11;:24;;;;;10073:4;:8;10078:2;10073:8;;;;;;;;;;;;;;;;;;;;;;;;;10072:9;10057:24;10049:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10135:13;;;;;;;;;;;10129:19;;:2;:19;;;;:46;;;;;10153:18;:22;10172:2;10153:22;;;;;;;;;;;;;;;;;;;;;;;;;10152:23;10129:46;10126:149;;;10215:14;;10206:6;10190:13;10200:2;10190:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10182:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10126:149;10279:28;10310:24;10328:4;10310:9;:24::i;:::-;10279:55;;10339:12;10378:19;;10354:20;:43;;10339:58;;10429:12;;10405:20;:36;10402:90;;10474:12;;10451:35;;10402:90;10500:7;:18;;;;;10512:6;;;;;;;;;;;10511:7;10500:18;:43;;;;;10530:13;;;;;;;;;;;10522:21;;:4;:21;;;;10500:43;:58;;;;;10547:11;;;;;;;;;;;10500:58;:87;;;;;10563:18;:24;10582:4;10563:24;;;;;;;;;;;;;;;;;;;;;;;;;10562:25;10500:87;:114;;;;;10592:18;:22;10611:2;10592:22;;;;;;;;;;;;;;;;;;;;;;;;;10591:23;10500:114;10496:302;;;10621:38;10638:20;10621:16;:38::i;:::-;10664:26;10693:21;10664:50;;10744:1;10723:18;:22;10719:74;;;10752:35;10765:21;10752:12;:35::i;:::-;10719:74;10616:182;10496:302;9795:1008;;9757:1046;10807:12;10822:4;10807:19;;10857:18;:24;10876:4;10857:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10885:18;:22;10904:2;10885:22;;;;;;;;;;;;;;;;;;;;;;;;;10857:50;10856:102;;;;10921:13;;;;;;;;;;;10913:21;;:4;:21;;;;:44;;;;;10944:13;;;;;;;;;;;10938:19;;:2;:19;;;;10913:44;10856:102;10852:450;;;10975:5;10965:15;;10852:450;;;11030:13;;;;;;;;;;;11022:21;;:4;:21;;;:55;;;;;11061:15;;;;;;;;;;;11047:30;;:2;:30;;;;11022:55;11019:124;;;11096:14;;11084:9;:26;;;;11125:12;;11115:7;:22;;;;11019:124;11180:13;;;;;;;;;;;11174:19;;:2;:19;;;:55;;;;;11213:15;;;;;;;;;;;11197:32;;:4;:32;;;;11174:55;11170:127;;;11248:15;;11236:9;:27;;;;11278:13;;11268:7;:23;;;;11170:127;10852:450;11306:41;11321:4;11327:2;11331:6;11339:7;11306:14;:41::i;:::-;9541:1812;9458:1895;;;:::o;2208:184::-;2308:7;2335:1;2330;:6;;2338:12;2322:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2356:9;2372:1;2368;:5;;;;:::i;:::-;2356:17;;2385:1;2378:8;;;2208:184;;;;;:::o;11756:160::-;11807:17;;;;;;;;;;;:26;;:48;11834:20;11852:1;11834:13;11845:1;11834:6;:10;;:13;;;;:::i;:::-;:17;;:20;;;;:::i;:::-;11807:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11860:19;;;;;;;;;;;:28;;:50;11889:20;11907:1;11889:13;11900:1;11889:6;:10;;:13;;;;:::i;:::-;:17;;:20;;;;:::i;:::-;11860:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11756:160;:::o;8576:257::-;8653:7;8693;;8682;:18;;8670:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;8759:19;8781:10;:8;:10::i;:::-;8759:32;;8803:24;8815:11;8803:7;:11;;:24;;;;:::i;:::-;8796:31;;;8576:257;;;:::o;11357:395::-;5533:4;5524:6;;:13;;;;;;;;;;;;;;;;;;11429:21:::1;11467:1;11453:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11429:40;;11492:4;11474;11479:1;11474:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11512:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11502:4;11507:1;11502:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11539:62;11556:4;11571:15;;;;;;;;;;;11589:11;11539:8;:62::i;:::-;11606:15;;;;;;;;;;;:66;;;11677:11;11693:1;11699:4;11716;11726:15;11606:140;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11424:328;5557:5:::0;5548:6;;:14;;;;;;;;;;;;;;;;;;11357:395;:::o;2732:183::-;2832:7;2858:1;2854;:5;2861:12;2846:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2879:9;2895:1;2891;:5;;;;:::i;:::-;2879:17;;2908:1;2901:8;;;2732:183;;;;;:::o;12683:236::-;12807:7;12802:28;;12816:14;:12;:14::i;:::-;12802:28;12835:44;12853:6;12861:9;12872:6;12835:17;:44::i;:::-;12889:7;12884:29;;12898:15;:13;:15::i;:::-;12884:29;12683:236;;;;:::o;15060:150::-;15102:7;15117:15;15134;15153:19;:17;:19::i;:::-;15116:56;;;;15184:20;15196:7;15184;:11;;:20;;;;:::i;:::-;15177:27;;;;15060:150;:::o;8837:183::-;8891:1;8878:9;;:14;:30;;;;;8907:1;8896:7;;:12;8878:30;8874:43;;;8910:7;;8874:43;8941:9;;8921:17;:29;;;;8973:7;;8955:15;:25;;;;8997:1;8985:9;:13;;;;9013:1;9003:7;:11;;;;8837:183;:::o;12923:486::-;13034:15;13054:23;13082:12;13099:23;13127:12;13144:13;13165:19;13176:7;13165:10;:19::i;:::-;13029:155;;;;;;;;;;;;13207:28;13227:7;13207;:15;13215:6;13207:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13189:7;:15;13197:6;13189:15;;;;;;;;;;;;;;;:46;;;;13261:39;13284:15;13261:7;:18;13269:9;13261:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13240:7;:18;13248:9;13240:18;;;;;;;;;;;;;;;:60;;;;13305:16;13315:5;13305:9;:16::i;:::-;13326:23;13338:4;13344;13326:11;:23::i;:::-;13376:9;13359:44;;13368:6;13359:44;;;13387:15;13359:44;;;;;;:::i;:::-;;;;;;;;13024:385;;;;;;12923:486;;;:::o;9024:103::-;9074:17;;9062:9;:29;;;;9106:15;;9096:7;:25;;;;9024:103::o;15214:231::-;15265:7;15274;15288:15;15306:7;;15288:25;;15318:15;4346:21;15318:25;;15362:20;4346:21;15362:7;;:11;;:20;;;;:::i;:::-;15352:7;:30;15348:61;;;15392:7;;4346:21;15384:25;;;;;;;;15348:61;15422:7;15431;15414:25;;;;;;15214:231;;;:::o;13778:483::-;13850:7;13862;13874;13886;13898;13910;13932:23;13957:12;13971:13;13991:40;14003:7;14012:9;;14023:7;;13991:11;:40::i;:::-;13931:100;;;;;;14036:19;14058:10;:8;:10::i;:::-;14036:32;;14074:15;14091:23;14116:12;14135:46;14147:7;14156:4;14162:5;14169:11;14135;:46::i;:::-;14073:108;;;;;;14194:7;14203:15;14220:4;14226:15;14243:4;14249:5;14186:69;;;;;;;;;;;;;;;;;;;13778:483;;;;;;;:::o;2076:128::-;2134:7;2155:43;2159:1;2162;2155:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2148:50;;2076:128;;;;:::o;1913:159::-;1971:7;1985:9;2001:1;1997;:5;;;;:::i;:::-;1985:17;;2020:1;2015;:6;;2007:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2065:1;2058:8;;;1913:159;;;;:::o;13413:191::-;13460:19;13482:10;:8;:10::i;:::-;13460:32;;13497:13;13513:22;13523:11;13513:5;:9;;:22;;;;:::i;:::-;13497:38;;13565:33;13592:5;13565:7;:22;13581:4;13565:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13540:7;:22;13556:4;13540:22;;;;;;;;;;;;;;;:58;;;;13455:149;;13413:191;:::o;13608:133::-;13680:17;13692:4;13680:7;;:11;;:17;;;;:::i;:::-;13670:7;:27;;;;13715:20;13730:4;13715:10;;:14;;:20;;;;:::i;:::-;13702:10;:33;;;;13608:133;;:::o;14265:367::-;14386:7;14398;14410;14431:12;14446:30;14472:3;14446:21;14458:8;14446:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;14431:45;;14481:13;14497:28;14521:3;14497:19;14509:6;14497:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14481:44;;14530:23;14556:28;14578:5;14556:17;14568:4;14556:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14530:54;;14597:15;14614:4;14620:5;14589:37;;;;;;;;;14265:367;;;;;;;:::o;14636:420::-;14776:7;14788;14800;14821:15;14839:24;14851:11;14839:7;:11;;:24;;;;:::i;:::-;14821:42;;14868:12;14883:21;14892:11;14883:4;:8;;:21;;;;:::i;:::-;14868:36;;14909:13;14925:22;14935:11;14925:5;:9;;:22;;;;:::i;:::-;14909:38;;14952:23;14978:28;15000:5;14978:17;14990:4;14978:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14952:54;;15019:7;15028:15;15045:4;15011:39;;;;;;;;;;14636:420;;;;;;;;:::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:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:60::-;6364:3;6385:5;6378:12;;6336:60;;;:::o;6402:142::-;6452:9;6485:53;6503:34;6512:24;6530:5;6512:24;:::i;:::-;6503:34;:::i;:::-;6485:53;:::i;:::-;6472:66;;6402:142;;;:::o;6550:126::-;6600:9;6633:37;6664:5;6633:37;:::i;:::-;6620:50;;6550:126;;;:::o;6682:152::-;6758:9;6791:37;6822:5;6791:37;:::i;:::-;6778:50;;6682:152;;;:::o;6840:183::-;6953:63;7010:5;6953:63;:::i;:::-;6948:3;6941:76;6840:183;;:::o;7029:274::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:97;7293:1;7282:9;7278:17;7269:6;7199:97;:::i;:::-;7029:274;;;;:::o;7309:118::-;7396:24;7414:5;7396:24;:::i;:::-;7391:3;7384:37;7309:118;;:::o;7433:222::-;7526:4;7564:2;7553:9;7549:18;7541:26;;7577:71;7645:1;7634:9;7630:17;7621:6;7577:71;:::i;:::-;7433:222;;;;:::o;7661:619::-;7738:6;7746;7754;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;8056:2;8082:53;8127:7;8118:6;8107:9;8103:22;8082:53;:::i;:::-;8072:63;;8027:118;8184:2;8210:53;8255:7;8246:6;8235:9;8231:22;8210:53;:::i;:::-;8200:63;;8155:118;7661:619;;;;;:::o;8286:86::-;8321:7;8361:4;8354:5;8350:16;8339:27;;8286:86;;;:::o;8378:112::-;8461:22;8477:5;8461:22;:::i;:::-;8456:3;8449:35;8378:112;;:::o;8496:214::-;8585:4;8623:2;8612:9;8608:18;8600:26;;8636:67;8700:1;8689:9;8685:17;8676:6;8636:67;:::i;:::-;8496:214;;;;:::o;8716:329::-;8775:6;8824:2;8812:9;8803:7;8799:23;8795:32;8792:119;;;8830:79;;:::i;:::-;8792:119;8950:1;8975:53;9020:7;9011:6;9000:9;8996:22;8975:53;:::i;:::-;8965:63;;8921:117;8716:329;;;;:::o;9051:117::-;9160:1;9157;9150:12;9191:568;9264:8;9274:6;9324:3;9317:4;9309:6;9305:17;9301:27;9291:122;;9332:79;;:::i;:::-;9291:122;9445:6;9432:20;9422:30;;9475:18;9467:6;9464:30;9461:117;;;9497:79;;:::i;:::-;9461:117;9611:4;9603:6;9599:17;9587:29;;9665:3;9657:4;9649:6;9645:17;9635:8;9631:32;9628:41;9625:128;;;9672:79;;:::i;:::-;9625:128;9191:568;;;;;:::o;9765:116::-;9835:21;9850:5;9835:21;:::i;:::-;9828:5;9825:32;9815:60;;9871:1;9868;9861:12;9815:60;9765:116;:::o;9887:133::-;9930:5;9968:6;9955:20;9946:29;;9984:30;10008:5;9984:30;:::i;:::-;9887:133;;;;:::o;10026:698::-;10118:6;10126;10134;10183:2;10171:9;10162:7;10158:23;10154:32;10151:119;;;10189:79;;:::i;:::-;10151:119;10337:1;10326:9;10322:17;10309:31;10367:18;10359:6;10356:30;10353:117;;;10389:79;;:::i;:::-;10353:117;10502:80;10574:7;10565:6;10554:9;10550:22;10502:80;:::i;:::-;10484:98;;;;10280:312;10631:2;10657:50;10699:7;10690:6;10679:9;10675:22;10657:50;:::i;:::-;10647:60;;10602:115;10026:698;;;;;:::o;10730:468::-;10795:6;10803;10852:2;10840:9;10831:7;10827:23;10823:32;10820:119;;;10858:79;;:::i;:::-;10820:119;10978:1;11003:53;11048:7;11039:6;11028:9;11024:22;11003:53;:::i;:::-;10993:63;;10949:117;11105:2;11131:50;11173:7;11164:6;11153:9;11149:22;11131:50;:::i;:::-;11121:60;;11076:115;10730:468;;;;;:::o;11204:118::-;11291:24;11309:5;11291:24;:::i;:::-;11286:3;11279:37;11204:118;;:::o;11328:222::-;11421:4;11459:2;11448:9;11444:18;11436:26;;11472:71;11540:1;11529:9;11525:17;11516:6;11472:71;:::i;:::-;11328:222;;;;:::o;11556:323::-;11612:6;11661:2;11649:9;11640:7;11636:23;11632:32;11629:119;;;11667:79;;:::i;:::-;11629:119;11787:1;11812:50;11854:7;11845:6;11834:9;11830:22;11812:50;:::i;:::-;11802:60;;11758:114;11556:323;;;;:::o;11885:329::-;11944:6;11993:2;11981:9;11972:7;11968:23;11964:32;11961:119;;;11999:79;;:::i;:::-;11961:119;12119:1;12144:53;12189:7;12180:6;12169:9;12165:22;12144:53;:::i;:::-;12134:63;;12090:117;11885:329;;;;:::o;12220:765::-;12306:6;12314;12322;12330;12379:3;12367:9;12358:7;12354:23;12350:33;12347:120;;;12386:79;;:::i;:::-;12347:120;12506:1;12531:53;12576:7;12567:6;12556:9;12552:22;12531:53;:::i;:::-;12521:63;;12477:117;12633:2;12659:53;12704:7;12695:6;12684:9;12680:22;12659:53;:::i;:::-;12649:63;;12604:118;12761:2;12787:53;12832:7;12823:6;12812:9;12808:22;12787:53;:::i;:::-;12777:63;;12732:118;12889:2;12915:53;12960:7;12951:6;12940:9;12936:22;12915:53;:::i;:::-;12905:63;;12860:118;12220:765;;;;;;;:::o;12991:474::-;13059:6;13067;13116:2;13104:9;13095:7;13091:23;13087:32;13084:119;;;13122:79;;:::i;:::-;13084:119;13242:1;13267:53;13312:7;13303:6;13292:9;13288:22;13267:53;:::i;:::-;13257:63;;13213:117;13369:2;13395:53;13440:7;13431:6;13420:9;13416:22;13395:53;:::i;:::-;13385:63;;13340:118;12991:474;;;;;:::o;13471:182::-;13611:34;13607:1;13599:6;13595:14;13588:58;13471:182;:::o;13659:366::-;13801:3;13822:67;13886:2;13881:3;13822:67;:::i;:::-;13815:74;;13898:93;13987:3;13898:93;:::i;:::-;14016:2;14011:3;14007:12;14000:19;;13659:366;;;:::o;14031:419::-;14197:4;14235:2;14224:9;14220:18;14212:26;;14284:9;14278:4;14274:20;14270:1;14259:9;14255:17;14248:47;14312:131;14438:4;14312:131;:::i;:::-;14304:139;;14031:419;;;:::o;14456:180::-;14504:77;14501:1;14494:88;14601:4;14598:1;14591:15;14625:4;14622:1;14615:15;14642:180;14690:77;14687:1;14680:88;14787:4;14784:1;14777:15;14811:4;14808:1;14801:15;14828:233;14867:3;14890:24;14908:5;14890:24;:::i;:::-;14881:33;;14936:66;14929:5;14926:77;14923:103;;;15006:18;;:::i;:::-;14923:103;15053:1;15046:5;15042:13;15035:20;;14828:233;;;:::o;15067:348::-;15107:7;15130:20;15148:1;15130:20;:::i;:::-;15125:25;;15164:20;15182:1;15164:20;:::i;:::-;15159:25;;15352:1;15284:66;15280:74;15277:1;15274:81;15269:1;15262:9;15255:17;15251:105;15248:131;;;15359:18;;:::i;:::-;15248:131;15407:1;15404;15400:9;15389:20;;15067:348;;;;:::o;15421:180::-;15469:77;15466:1;15459:88;15566:4;15563:1;15556:15;15590:4;15587:1;15580:15;15607:185;15647:1;15664:20;15682:1;15664:20;:::i;:::-;15659:25;;15698:20;15716:1;15698:20;:::i;:::-;15693:25;;15737:1;15727:35;;15742:18;;:::i;:::-;15727:35;15784:1;15781;15777:9;15772:14;;15607:185;;;;:::o;15798:224::-;15938:34;15934:1;15926:6;15922:14;15915:58;16007:7;16002:2;15994:6;15990:15;15983:32;15798:224;:::o;16028:366::-;16170:3;16191:67;16255:2;16250:3;16191:67;:::i;:::-;16184:74;;16267:93;16356:3;16267:93;:::i;:::-;16385:2;16380:3;16376:12;16369:19;;16028:366;;;:::o;16400:419::-;16566:4;16604:2;16593:9;16589:18;16581:26;;16653:9;16647:4;16643:20;16639:1;16628:9;16624:17;16617:47;16681:131;16807:4;16681:131;:::i;:::-;16673:139;;16400:419;;;:::o;16825:221::-;16965:34;16961:1;16953:6;16949:14;16942:58;17034:4;17029:2;17021:6;17017:15;17010:29;16825:221;:::o;17052:366::-;17194:3;17215:67;17279:2;17274:3;17215:67;:::i;:::-;17208:74;;17291:93;17380:3;17291:93;:::i;:::-;17409:2;17404:3;17400:12;17393:19;;17052:366;;;:::o;17424:419::-;17590:4;17628:2;17617:9;17613:18;17605:26;;17677:9;17671:4;17667:20;17663:1;17652:9;17648:17;17641:47;17705:131;17831:4;17705:131;:::i;:::-;17697:139;;17424:419;;;:::o;17849:225::-;17989:34;17985:1;17977:6;17973:14;17966:58;18058:8;18053:2;18045:6;18041:15;18034:33;17849:225;:::o;18080:366::-;18222:3;18243:67;18307:2;18302:3;18243:67;:::i;:::-;18236:74;;18319:93;18408:3;18319:93;:::i;:::-;18437:2;18432:3;18428:12;18421:19;;18080:366;;;:::o;18452:419::-;18618:4;18656:2;18645:9;18641:18;18633:26;;18705:9;18699:4;18695:20;18691:1;18680:9;18676:17;18669:47;18733:131;18859:4;18733:131;:::i;:::-;18725:139;;18452:419;;;:::o;18877:222::-;19017:34;19013:1;19005:6;19001:14;18994:58;19086:5;19081:2;19073:6;19069:15;19062:30;18877:222;:::o;19105:366::-;19247:3;19268:67;19332:2;19327:3;19268:67;:::i;:::-;19261:74;;19344:93;19433:3;19344:93;:::i;:::-;19462:2;19457:3;19453:12;19446:19;;19105:366;;;:::o;19477:419::-;19643:4;19681:2;19670:9;19666:18;19658:26;;19730:9;19724:4;19720:20;19716:1;19705:9;19701:17;19694:47;19758:131;19884:4;19758:131;:::i;:::-;19750:139;;19477:419;;;:::o;19902:225::-;20042:34;20038:1;20030:6;20026:14;20019:58;20111:8;20106:2;20098:6;20094:15;20087:33;19902:225;:::o;20133:366::-;20275:3;20296:67;20360:2;20355:3;20296:67;:::i;:::-;20289:74;;20372:93;20461:3;20372:93;:::i;:::-;20490:2;20485:3;20481:12;20474:19;;20133:366;;;:::o;20505:419::-;20671:4;20709:2;20698:9;20694:18;20686:26;;20758:9;20752:4;20748:20;20744:1;20733:9;20729:17;20722:47;20786:131;20912:4;20786:131;:::i;:::-;20778:139;;20505:419;;;:::o;20930:220::-;21070:34;21066:1;21058:6;21054:14;21047:58;21139:3;21134:2;21126:6;21122:15;21115:28;20930:220;:::o;21156:366::-;21298:3;21319:67;21383:2;21378:3;21319:67;:::i;:::-;21312:74;;21395:93;21484:3;21395:93;:::i;:::-;21513:2;21508:3;21504:12;21497:19;;21156:366;;;:::o;21528:419::-;21694:4;21732:2;21721:9;21717:18;21709:26;;21781:9;21775:4;21771:20;21767:1;21756:9;21752:17;21745:47;21809:131;21935:4;21809:131;:::i;:::-;21801:139;;21528:419;;;:::o;21953:223::-;22093:34;22089:1;22081:6;22077:14;22070:58;22162:6;22157:2;22149:6;22145:15;22138:31;21953:223;:::o;22182:366::-;22324:3;22345:67;22409:2;22404:3;22345:67;:::i;:::-;22338:74;;22421:93;22510:3;22421:93;:::i;:::-;22539:2;22534:3;22530:12;22523:19;;22182:366;;;:::o;22554:419::-;22720:4;22758:2;22747:9;22743:18;22735:26;;22807:9;22801:4;22797:20;22793:1;22782:9;22778:17;22771:47;22835:131;22961:4;22835:131;:::i;:::-;22827:139;;22554:419;;;:::o;22979:221::-;23119:34;23115:1;23107:6;23103:14;23096:58;23188:4;23183:2;23175:6;23171:15;23164:29;22979:221;:::o;23206:366::-;23348:3;23369:67;23433:2;23428:3;23369:67;:::i;:::-;23362:74;;23445:93;23534:3;23445:93;:::i;:::-;23563:2;23558:3;23554:12;23547:19;;23206:366;;;:::o;23578:419::-;23744:4;23782:2;23771:9;23767:18;23759:26;;23831:9;23825:4;23821:20;23817:1;23806:9;23802:17;23795:47;23859:131;23985:4;23859:131;:::i;:::-;23851:139;;23578:419;;;:::o;24003:224::-;24143:34;24139:1;24131:6;24127:14;24120:58;24212:7;24207:2;24199:6;24195:15;24188:32;24003:224;:::o;24233:366::-;24375:3;24396:67;24460:2;24455:3;24396:67;:::i;:::-;24389:74;;24472:93;24561:3;24472:93;:::i;:::-;24590:2;24585:3;24581:12;24574:19;;24233:366;;;:::o;24605:419::-;24771:4;24809:2;24798:9;24794:18;24786:26;;24858:9;24852:4;24848:20;24844:1;24833:9;24829:17;24822:47;24886:131;25012:4;24886:131;:::i;:::-;24878:139;;24605:419;;;:::o;25030:222::-;25170:34;25166:1;25158:6;25154:14;25147:58;25239:5;25234:2;25226:6;25222:15;25215:30;25030:222;:::o;25258:366::-;25400:3;25421:67;25485:2;25480:3;25421:67;:::i;:::-;25414:74;;25497:93;25586:3;25497:93;:::i;:::-;25615:2;25610:3;25606:12;25599:19;;25258:366;;;:::o;25630:419::-;25796:4;25834:2;25823:9;25819:18;25811:26;;25883:9;25877:4;25873:20;25869:1;25858:9;25854:17;25847:47;25911:131;26037:4;25911:131;:::i;:::-;25903:139;;25630:419;;;:::o;26055:228::-;26195:34;26191:1;26183:6;26179:14;26172:58;26264:11;26259:2;26251:6;26247:15;26240:36;26055:228;:::o;26289:366::-;26431:3;26452:67;26516:2;26511:3;26452:67;:::i;:::-;26445:74;;26528:93;26617:3;26528:93;:::i;:::-;26646:2;26641:3;26637:12;26630:19;;26289:366;;;:::o;26661:419::-;26827:4;26865:2;26854:9;26850:18;26842:26;;26914:9;26908:4;26904:20;26900:1;26889:9;26885:17;26878:47;26942:131;27068:4;26942:131;:::i;:::-;26934:139;;26661:419;;;:::o;27086:243::-;27226:34;27222:1;27214:6;27210:14;27203:58;27295:26;27290:2;27282:6;27278:15;27271:51;27086:243;:::o;27335:366::-;27477:3;27498:67;27562:2;27557:3;27498:67;:::i;:::-;27491:74;;27574:93;27663:3;27574:93;:::i;:::-;27692:2;27687:3;27683:12;27676:19;;27335:366;;;:::o;27707:419::-;27873:4;27911:2;27900:9;27896:18;27888:26;;27960:9;27954:4;27950:20;27946:1;27935:9;27931:17;27924:47;27988:131;28114:4;27988:131;:::i;:::-;27980:139;;27707:419;;;:::o;28132:178::-;28272:30;28268:1;28260:6;28256:14;28249:54;28132:178;:::o;28316:366::-;28458:3;28479:67;28543:2;28538:3;28479:67;:::i;:::-;28472:74;;28555:93;28644:3;28555:93;:::i;:::-;28673:2;28668:3;28664:12;28657:19;;28316:366;;;:::o;28688:419::-;28854:4;28892:2;28881:9;28877:18;28869:26;;28941:9;28935:4;28931:20;28927:1;28916:9;28912:17;28905:47;28969:131;29095:4;28969:131;:::i;:::-;28961:139;;28688:419;;;:::o;29113:222::-;29253:34;29249:1;29241:6;29237:14;29230:58;29322:5;29317:2;29309:6;29305:15;29298:30;29113:222;:::o;29341:366::-;29483:3;29504:67;29568:2;29563:3;29504:67;:::i;:::-;29497:74;;29580:93;29669:3;29580:93;:::i;:::-;29698:2;29693:3;29689:12;29682:19;;29341:366;;;:::o;29713:419::-;29879:4;29917:2;29906:9;29902:18;29894:26;;29966:9;29960:4;29956:20;29952:1;29941:9;29937:17;29930:47;29994:131;30120:4;29994:131;:::i;:::-;29986:139;;29713:419;;;:::o;30138:305::-;30178:3;30197:20;30215:1;30197:20;:::i;:::-;30192:25;;30231:20;30249:1;30231:20;:::i;:::-;30226:25;;30385:1;30317:66;30313:74;30310:1;30307:81;30304:107;;;30391:18;;:::i;:::-;30304:107;30435:1;30432;30428:9;30421:16;;30138:305;;;;:::o;30449:222::-;30589:34;30585:1;30577:6;30573:14;30566:58;30658:5;30653:2;30645:6;30641:15;30634:30;30449:222;:::o;30677:366::-;30819:3;30840:67;30904:2;30899:3;30840:67;:::i;:::-;30833:74;;30916:93;31005:3;30916:93;:::i;:::-;31034:2;31029:3;31025:12;31018:19;;30677:366;;;:::o;31049:419::-;31215:4;31253:2;31242:9;31238:18;31230:26;;31302:9;31296:4;31292:20;31288:1;31277:9;31273:17;31266:47;31330:131;31456:4;31330:131;:::i;:::-;31322:139;;31049:419;;;:::o;31474:191::-;31514:4;31534:20;31552:1;31534:20;:::i;:::-;31529:25;;31568:20;31586:1;31568:20;:::i;:::-;31563:25;;31607:1;31604;31601:8;31598:34;;;31612:18;;:::i;:::-;31598:34;31657:1;31654;31650:9;31642:17;;31474:191;;;;:::o;31671:229::-;31811:34;31807:1;31799:6;31795:14;31788:58;31880:12;31875:2;31867:6;31863:15;31856:37;31671:229;:::o;31906:366::-;32048:3;32069:67;32133:2;32128:3;32069:67;:::i;:::-;32062:74;;32145:93;32234:3;32145:93;:::i;:::-;32263:2;32258:3;32254:12;32247:19;;31906:366;;;:::o;32278:419::-;32444:4;32482:2;32471:9;32467:18;32459:26;;32531:9;32525:4;32521:20;32517:1;32506:9;32502:17;32495:47;32559:131;32685:4;32559:131;:::i;:::-;32551:139;;32278:419;;;:::o;32703:143::-;32760:5;32791:6;32785:13;32776:22;;32807:33;32834:5;32807:33;:::i;:::-;32703:143;;;;:::o;32852:351::-;32922:6;32971:2;32959:9;32950:7;32946:23;32942:32;32939:119;;;32977:79;;:::i;:::-;32939:119;33097:1;33122:64;33178:7;33169:6;33158:9;33154:22;33122:64;:::i;:::-;33112:74;;33068:128;32852:351;;;;:::o;33209:85::-;33254:7;33283:5;33272:16;;33209:85;;;:::o;33300:158::-;33358:9;33391:61;33409:42;33418:32;33444:5;33418:32;:::i;:::-;33409:42;:::i;:::-;33391:61;:::i;:::-;33378:74;;33300:158;;;:::o;33464:147::-;33559:45;33598:5;33559:45;:::i;:::-;33554:3;33547:58;33464:147;;:::o;33617:114::-;33684:6;33718:5;33712:12;33702:22;;33617:114;;;:::o;33737:184::-;33836:11;33870:6;33865:3;33858:19;33910:4;33905:3;33901:14;33886:29;;33737:184;;;;:::o;33927:132::-;33994:4;34017:3;34009:11;;34047:4;34042:3;34038:14;34030:22;;33927:132;;;:::o;34065:108::-;34142:24;34160:5;34142:24;:::i;:::-;34137:3;34130:37;34065:108;;:::o;34179:179::-;34248:10;34269:46;34311:3;34303:6;34269:46;:::i;:::-;34347:4;34342:3;34338:14;34324:28;;34179:179;;;;:::o;34364:113::-;34434:4;34466;34461:3;34457:14;34449:22;;34364:113;;;:::o;34513:732::-;34632:3;34661:54;34709:5;34661:54;:::i;:::-;34731:86;34810:6;34805:3;34731:86;:::i;:::-;34724:93;;34841:56;34891:5;34841:56;:::i;:::-;34920:7;34951:1;34936:284;34961:6;34958:1;34955:13;34936:284;;;35037:6;35031:13;35064:63;35123:3;35108:13;35064:63;:::i;:::-;35057:70;;35150:60;35203:6;35150:60;:::i;:::-;35140:70;;34996:224;34983:1;34980;34976:9;34971:14;;34936:284;;;34940:14;35236:3;35229:10;;34637:608;;;34513:732;;;;:::o;35251:831::-;35514:4;35552:3;35541:9;35537:19;35529:27;;35566:71;35634:1;35623:9;35619:17;35610:6;35566:71;:::i;:::-;35647:80;35723:2;35712:9;35708:18;35699:6;35647:80;:::i;:::-;35774:9;35768:4;35764:20;35759:2;35748:9;35744:18;35737:48;35802:108;35905:4;35896:6;35802:108;:::i;:::-;35794:116;;35920:72;35988:2;35977:9;35973:18;35964:6;35920:72;:::i;:::-;36002:73;36070:3;36059:9;36055:19;36046:6;36002:73;:::i;:::-;35251:831;;;;;;;;:::o;36088:177::-;36228:29;36224:1;36216:6;36212:14;36205:53;36088:177;:::o;36271:366::-;36413:3;36434:67;36498:2;36493:3;36434:67;:::i;:::-;36427:74;;36510:93;36599:3;36510:93;:::i;:::-;36628:2;36623:3;36619:12;36612:19;;36271:366;;;:::o;36643:419::-;36809:4;36847:2;36836:9;36832:18;36824:26;;36896:9;36890:4;36886:20;36882:1;36871:9;36867:17;36860:47;36924:131;37050:4;36924:131;:::i;:::-;36916:139;;36643:419;;;:::o

Swarm Source

ipfs://14855032d735c21823f49e027200ed8882064d1018fd1288a6fd8242e0bff662
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.