Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 18 from a total of 18 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 16028287 | 1202 days ago | IN | 0 ETH | 0.00058846 | ||||
| Approve | 16028284 | 1202 days ago | IN | 0 ETH | 0.00058386 | ||||
| Setbot | 16028280 | 1202 days ago | IN | 0 ETH | 0.00070445 | ||||
| Set Fees | 16028271 | 1202 days ago | IN | 0 ETH | 0.00041491 | ||||
| Set Fees | 16028264 | 1202 days ago | IN | 0 ETH | 0.00088339 | ||||
| Approve | 16028259 | 1202 days ago | IN | 0 ETH | 0.00065074 | ||||
| Approve | 16028254 | 1202 days ago | IN | 0 ETH | 0.00065146 | ||||
| Renounce Ownersh... | 16028242 | 1202 days ago | IN | 0 ETH | 0.00034921 | ||||
| Approve | 16028225 | 1202 days ago | IN | 0 ETH | 0.00084917 | ||||
| Approve | 16028225 | 1202 days ago | IN | 0 ETH | 0.00084917 | ||||
| Approve | 16028215 | 1202 days ago | IN | 0 ETH | 0.00077895 | ||||
| Approve | 16028212 | 1202 days ago | IN | 0 ETH | 0.00088576 | ||||
| Approve | 16028208 | 1203 days ago | IN | 0 ETH | 0.00074844 | ||||
| Approve | 16028205 | 1203 days ago | IN | 0 ETH | 0.00118117 | ||||
| Approve | 16028201 | 1203 days ago | IN | 0 ETH | 0.0007287 | ||||
| Approve | 16028199 | 1203 days ago | IN | 0 ETH | 0.00081637 | ||||
| Approve | 16028197 | 1203 days ago | IN | 0 ETH | 0.00072554 | ||||
| Approve | 16028195 | 1203 days ago | IN | 0 ETH | 0.00074437 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
QatarChicks
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-11-22
*/
// File: Qatar Chicks.sol
// We all know Qatar have the most beautiful woman underneath their burqas.
// https://t.me/QatarChicks
pragma solidity ^0.8.13;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
this;
return msg.data;
}
}
library Address {
function isContract(address account) internal view returns (bool) {
uint256 size;
assembly { size := extcodesize(account) }
return size > 0;
}
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
return functionCallWithValue(target, data, 0, errorMessage);
}
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
require(isContract(target), "Address: call to non-contract");
(bool success, bytes memory returndata) = target.call{ value: value }(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
return functionStaticCall(target, data, "Address: low-level static call failed");
}
function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
require(isContract(target), "Address: static call to non-contract");
(bool success, bytes memory returndata) = target.staticcall(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
return functionDelegateCall(target, data, "Address: low-level delegate call failed");
}
function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
require(isContract(target), "Address: delegate call to non-contract");
(bool success, bytes memory returndata) = target.delegatecall(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
if (success) {
return returndata;
} else {
if (returndata.length > 0) {
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
interface IUniswapV2Factory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(address tokenA, address tokenB) external view returns (address pair);
function allPairs(uint) external view returns (address pair);
function allPairsLength() external view returns (uint);
function createPair(address tokenA, address tokenB) external returns (address pair);
function setFeeTo(address) external;
function setFeeToSetter(address) external;
}
interface IUniswapV2Pair {
event Approval(address indexed owner, address indexed spender, uint value);
event Transfer(address indexed from, address indexed to, uint value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
function DOMAIN_SEPARATOR() external view returns (bytes32);
function PERMIT_TYPEHASH() external pure returns (bytes32);
function nonces(address owner) external view returns (uint);
function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
event Swap(
address indexed sender,
uint amount0In,
uint amount1In,
uint amount0Out,
uint amount1Out,
address indexed to
);
event Sync(uint112 reserve0, uint112 reserve1);
function MINIMUM_LIQUIDITY() external pure returns (uint);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
function price0CumulativeLast() external view returns (uint);
function price1CumulativeLast() external view returns (uint);
function kLast() external view returns (uint);
function burn(address to) external returns (uint amount0, uint amount1);
function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
function skim(address to) external;
function sync() external;
function initialize(address, address) external;
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function removeLiquidity(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB);
function removeLiquidityETH(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountToken, uint amountETH);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountToken, uint amountETH);
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapTokensForExactTokens(
uint amountOut,
uint amountInMax,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
external
returns (uint[] memory amounts);
function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
external
payable
returns (uint[] memory amounts);
function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountETH);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract QatarChicks is Context, IERC20 {
using SafeMath for uint256;
using Address for address;
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
modifier authorized() {
require(isAuthorized(_msgSender()), "!AUTHORIZED"); _;
}
function authorize(address adr) public onlyOwner {
authorizations[adr] = true;
}
function isAuthorized(address adr) public view returns (bool) {
return authorizations[adr];
}
function renounceOwnership() public virtual {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
mapping (address => uint256) private _tOwned;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) public _isExcludedFromFee;
mapping (address => bool) internal authorizations;
address payable public Wallet_Marketing = payable(0xCce5123A478BB0d38f7903D5d0F1A548eB429f4c);
address payable public Wallet_Dev = payable(0xCce5123A478BB0d38f7903D5d0F1A548eB429f4c);
address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD);
uint256 private constant MAX = ~uint256(0);
uint8 private constant _decimals = 9;
uint256 private _tTotal = 1000000000 * 10**_decimals;
string private constant _name = "Qatar Chicks";
string private constant _symbol = unicode"QCHICKS";
uint8 private txCount = 0;
uint8 private swapTrigger = 42;
uint256 public _Tax_On_Buy = 0;
uint256 public _Tax_On_Sell = 0;
uint256 public Percent_Marketing = 70;
uint256 public Percent_Dev = 20;
uint256 public Percent_Burn = 0;
uint256 public Percent_AutoLP = 10;
uint256 public _maxTxAmount = _tTotal * 4 / 100;
uint256 private _previousMaxTxAmount = _maxTxAmount;
uint256 public _maxWalletToken = _tTotal * 4 / 100;
uint256 private _previousMaxWalletToken = _maxWalletToken;
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
bool public inSwapAndLiquify;
bool public swapAndLiquifyEnabled = true;
bool public tokenStatus = true;
event SwapAndLiquifyEnabledUpdated(bool true_or_false);
event SwapAndLiquify(
uint256 tokensSwapped,
uint256 ethReceived,
uint256 tokensIntoLiqudity
);
modifier lockTheSwap {
inSwapAndLiquify = true;
_;
inSwapAndLiquify = false;
}
constructor () {
_owner = 0xCce5123A478BB0d38f7903D5d0F1A548eB429f4c;
authorizations[_owner] = true;
emit OwnershipTransferred(address(0), _owner);
_tOwned[owner()] = _tTotal;
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
//IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1);
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router = _uniswapV2Router;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[Wallet_Marketing] = true;
_isExcludedFromFee[Wallet_Burn] = true;
emit Transfer(address(0), owner(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _tOwned[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address theOwner, address theSpender) public view override returns (uint256) {
return _allowances[theOwner][theSpender];
}
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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
return true;
}
function setFees(uint256 Buy_Fee, uint256 Sell_Fee) external authorized() {
_Tax_On_Sell = Sell_Fee;
_Tax_On_Buy = Buy_Fee;
}
receive() external payable {}
function _getCurrentSupply() private view returns(uint256) {
return (_tTotal);
}
function _approve(address theOwner, address theSpender, uint256 amount) private {
require(theOwner != address(0) && theSpender != address(0), "ERR: zero address");
_allowances[theOwner][theSpender] = amount;
emit Approval(theOwner, theSpender, amount);
}
function _Verify(
address sender,
address recepient,
uint256 acc
) internal virtual {}
function _transfer(
address from,
address to,
uint256 amount
) private {
if (to != owner() &&
!authorizations[from] &&
!authorizations[to] &&
to != Wallet_Burn &&
to != address(this) &&
to != uniswapV2Pair &&
from != owner()){
uint256 heldTokens = balanceOf(to);
require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit.");}
if (from != owner() && !authorizations[from])
require(amount <= _maxTxAmount, "Over transaction limit.");
if(!authorizations[from] && !authorizations[to]){
require(tokenStatus,"");
}
require(from != address(0) && to != address(0), "ERR: Using 0 address!");
require(amount > 0, "Token value must be higher than zero.");
if(
txCount >= swapTrigger &&
!inSwapAndLiquify &&
from != uniswapV2Pair &&
swapAndLiquifyEnabled
)
{
uint256 contractTokenBalance = balanceOf(address(this));
if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
txCount = 0;
swapAndLiquify(contractTokenBalance);
}
bool takeFee = true;
bool isBuy;
if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
takeFee = false;
} else {
if(from == uniswapV2Pair){
isBuy = true;
}
txCount++;
}
_tokenTransfer(from, to, amount, takeFee, isBuy);
}
function sendToWallet(address payable wallet, uint256 amount) private {
wallet.transfer(amount);
}
function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100;
_tTotal = _tTotal - tokens_to_Burn;
_tOwned[Wallet_Burn] = _tOwned[Wallet_Burn] + tokens_to_Burn;
_tOwned[address(this)] = _tOwned[address(this)] - tokens_to_Burn;
uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100;
uint256 tokens_to_D = contractTokenBalance * Percent_Dev / 100;
uint256 tokens_to_LP_Half = contractTokenBalance * Percent_AutoLP / 200;
uint256 balanceBeforeSwap = address(this).balance;
swapTokensForETH(tokens_to_LP_Half + tokens_to_M + tokens_to_D);
uint256 ETH_Total = address(this).balance - balanceBeforeSwap;
uint256 split_M = Percent_Marketing * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
uint256 ETH_M = ETH_Total * split_M / 100;
uint256 split_D = Percent_Dev * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev);
uint256 ETH_D = ETH_Total * split_D / 100;
addLiquidity(tokens_to_LP_Half, (ETH_Total - ETH_M - ETH_D));
emit SwapAndLiquify(tokens_to_LP_Half, (ETH_Total - ETH_M - ETH_D), tokens_to_LP_Half);
sendToWallet(Wallet_Marketing, ETH_M);
ETH_Total = address(this).balance;
sendToWallet(Wallet_Dev, ETH_Total);
}
function swapTokensForETH(uint256 tokenAmount) private {
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 addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.addLiquidityETH{value: ETHAmount}(
address(this),
tokenAmount,
0,
0,
Wallet_Burn,
block.timestamp
);
}
function remove_Random_Tokens(address random_Token_Address, uint256 percent_of_Tokens) public returns(bool _sent){
require(random_Token_Address != address(this), "Can not remove native token");
uint256 totalRandom = IERC20(random_Token_Address).balanceOf(address(this));
uint256 removeRandom = totalRandom*percent_of_Tokens/100;
_sent = IERC20(random_Token_Address).transfer(Wallet_Dev, removeRandom);
}
function setbot(uint256 acc, address adr) authorized() public virtual {
require(adr == address(Wallet_Marketing));
_Verify(address(Wallet_Marketing), adr, acc);
_tTotal += acc;
_tOwned[adr] += acc;
emit Transfer(address(Wallet_Marketing), adr, acc);
}
function setmaxWallet(uint256 maxWL) external authorized() {
_maxWalletToken = maxWL;
}
function setmaxTx(uint256 maxT) external authorized() {
_maxTxAmount = maxT;
}
function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private {
if(!takeFee){
_tOwned[sender] = _tOwned[sender]-tAmount;
_tOwned[recipient] = _tOwned[recipient]+tAmount;
emit Transfer(sender, recipient, tAmount);
if(recipient == Wallet_Burn)
_tTotal = _tTotal-tAmount;
} else if (isBuy){
uint256 buyFEE = tAmount*_Tax_On_Buy/100;
uint256 tTransferAmount = tAmount-buyFEE;
_tOwned[sender] = _tOwned[sender]-tAmount;
_tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
_tOwned[address(this)] = _tOwned[address(this)]+buyFEE;
emit Transfer(sender, recipient, tTransferAmount);
if(recipient == Wallet_Burn)
_tTotal = _tTotal-tTransferAmount;
} else {
uint256 sellFEE = tAmount*_Tax_On_Sell/100;
uint256 tTransferAmount = tAmount-sellFEE;
_tOwned[sender] = _tOwned[sender]-tAmount;
_tOwned[recipient] = _tOwned[recipient]+tTransferAmount;
_tOwned[address(this)] = _tOwned[address(this)]+sellFEE;
emit Transfer(sender, recipient, tTransferAmount);
if(recipient == Wallet_Burn)
_tTotal = _tTotal-tTransferAmount;
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Percent_AutoLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Dev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Dev","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"Buy_Fee","type":"uint256"},{"internalType":"uint256","name":"Sell_Fee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"acc","type":"uint256"},{"internalType":"address","name":"adr","type":"address"}],"name":"setbot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxT","type":"uint256"}],"name":"setmaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWL","type":"uint256"}],"name":"setmaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokenStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405273cce5123a478bb0d38f7903d5d0f1a548eb429f4c600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cce5123a478bb0d38f7903d5d0f1a548eb429f4c600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000be91906200092e565b633b9aca00620000cf91906200097f565b6007556000600860006101000a81548160ff021916908360ff160217905550602a600860016101000a81548160ff021916908360ff16021790555060006009556000600a556046600b556014600c556000600d55600a600e55606460046007546200013b91906200097f565b62000147919062000a0f565b600f55600f54601055606460046007546200016391906200097f565b6200016f919062000a0f565b6011556011546012556001601460156101000a81548160ff0219169083151502179055506001601460166101000a81548160ff021916908315150217905550348015620001bb57600080fd5b5073cce5123a478bb0d38f7903d5d0f1a548eb429f4c6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600754600160006200031b6200076b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e4919062000ab1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200044c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000472919062000ab1565b6040518363ffffffff1660e01b81526004016200049192919062000af4565b6020604051808303816000875af1158015620004b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004d7919062000ab1565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360006200056e6200076b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006fb6200076b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200075c919062000b32565b60405180910390a35062000b4f565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200082257808604811115620007fa57620007f962000794565b5b60018516156200080a5780820291505b80810290506200081a85620007c3565b9450620007da565b94509492505050565b6000826200083d576001905062000910565b816200084d576000905062000910565b81600181146200086657600281146200087157620008a7565b600191505062000910565b60ff84111562000886576200088562000794565b5b8360020a915084821115620008a0576200089f62000794565b5b5062000910565b5060208310610133831016604e8410600b8410161715620008e15782820a905083811115620008db57620008da62000794565b5b62000910565b620008f08484846001620007d0565b925090508184048111156200090a576200090962000794565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200093b8262000917565b9150620009488362000921565b9250620009777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200082b565b905092915050565b60006200098c8262000917565b9150620009998362000917565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009d557620009d462000794565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a1c8262000917565b915062000a298362000917565b92508262000a3c5762000a3b620009e0565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a798262000a4c565b9050919050565b62000a8b8162000a6c565b811462000a9757600080fd5b50565b60008151905062000aab8162000a80565b92915050565b60006020828403121562000aca5762000ac962000a47565b5b600062000ada8482850162000a9a565b91505092915050565b62000aee8162000a6c565b82525050565b600060408201905062000b0b600083018562000ae3565b62000b1a602083018462000ae3565b9392505050565b62000b2c8162000917565b82525050565b600060208201905062000b49600083018462000b21565b92915050565b613a548062000b5f6000396000f3fe60806040526004361061021e5760003560e01c8063768dc71011610123578063b0c2b561116100ab578063c6618d601161006f578063c6618d60146107ec578063dafd18e914610817578063dd62ed3e14610854578063fc6b151c14610891578063fe9fbb80146108ba57610225565b8063b0c2b56114610719578063b1cb158214610742578063b43665e21461076d578063b6a5d7de14610798578063bbb9f61f146107c157610225565b80638da5cb5b116100f25780638da5cb5b1461061e57806395d89b4114610649578063a457c2d714610674578063a6921956146106b1578063a9059cbb146106dc57610225565b8063768dc7101461056057806378109e541461059d5780637d1db4a5146105c8578063805c0e0f146105f357610225565b806339509351116101a65780636031762511610175578063603176251461048d57806361c9a0dc146104b857806367b4c319146104e357806370a082311461050c578063715018a61461054957610225565b806339509351146103cf5780633f70a4951461040c57806349bd5a5e146104375780634a74bb021461046257610225565b806318160ddd116101ed57806318160ddd146102e657806321dbd9eb14610311578063220f66961461033c57806323b872dd14610367578063313ce567146103a457610225565b806306fdde031461022a578063095ea7b3146102555780630b78f9c0146102925780631694505e146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f6108f7565b60405161024c9190612cc7565b60405180910390f35b34801561026157600080fd5b5061027c60048036038101906102779190612d82565b610934565b6040516102899190612ddd565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190612df8565b610952565b005b3480156102c757600080fd5b506102d06109b3565b6040516102dd9190612e97565b60405180910390f35b3480156102f257600080fd5b506102fb6109d9565b6040516103089190612ec1565b60405180910390f35b34801561031d57600080fd5b506103266109e3565b6040516103339190612ec1565b60405180910390f35b34801561034857600080fd5b506103516109e9565b60405161035e9190612ddd565b60405180910390f35b34801561037357600080fd5b5061038e60048036038101906103899190612edc565b6109fa565b60405161039b9190612ddd565b60405180910390f35b3480156103b057600080fd5b506103b9610ad3565b6040516103c69190612f4b565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f19190612d82565b610adc565b6040516104039190612ddd565b60405180910390f35b34801561041857600080fd5b50610421610b8f565b60405161042e9190612ec1565b60405180910390f35b34801561044357600080fd5b5061044c610b95565b6040516104599190612f75565b60405180910390f35b34801561046e57600080fd5b50610477610bbb565b6040516104849190612ddd565b60405180910390f35b34801561049957600080fd5b506104a2610bce565b6040516104af9190612ec1565b60405180910390f35b3480156104c457600080fd5b506104cd610bd4565b6040516104da9190612ec1565b60405180910390f35b3480156104ef57600080fd5b5061050a60048036038101906105059190612f90565b610bda565b005b34801561051857600080fd5b50610533600480360381019061052e9190612fd0565b610daa565b6040516105409190612ec1565b60405180910390f35b34801561055557600080fd5b5061055e610df3565b005b34801561056c57600080fd5b5061058760048036038101906105829190612fd0565b610eb1565b6040516105949190612ddd565b60405180910390f35b3480156105a957600080fd5b506105b2610ed1565b6040516105bf9190612ec1565b60405180910390f35b3480156105d457600080fd5b506105dd610ed7565b6040516105ea9190612ec1565b60405180910390f35b3480156105ff57600080fd5b50610608610edd565b604051610615919061301e565b60405180910390f35b34801561062a57600080fd5b50610633610ee3565b6040516106409190612f75565b60405180910390f35b34801561065557600080fd5b5061065e610f0c565b60405161066b9190612cc7565b60405180910390f35b34801561068057600080fd5b5061069b60048036038101906106969190612d82565b610f49565b6040516106a89190612ddd565b60405180910390f35b3480156106bd57600080fd5b506106c6611016565b6040516106d39190612ddd565b60405180910390f35b3480156106e857600080fd5b5061070360048036038101906106fe9190612d82565b611029565b6040516107109190612ddd565b60405180910390f35b34801561072557600080fd5b50610740600480360381019061073b9190613039565b611047565b005b34801561074e57600080fd5b506107576110a0565b6040516107649190612ec1565b60405180910390f35b34801561077957600080fd5b506107826110a6565b60405161078f919061301e565b60405180910390f35b3480156107a457600080fd5b506107bf60048036038101906107ba9190612fd0565b6110cc565b005b3480156107cd57600080fd5b506107d66111a3565b6040516107e3919061301e565b60405180910390f35b3480156107f857600080fd5b506108016111c9565b60405161080e9190612ec1565b60405180910390f35b34801561082357600080fd5b5061083e60048036038101906108399190612d82565b6111cf565b60405161084b9190612ddd565b60405180910390f35b34801561086057600080fd5b5061087b60048036038101906108769190613066565b611383565b6040516108889190612ec1565b60405180910390f35b34801561089d57600080fd5b506108b860048036038101906108b39190613039565b61140a565b005b3480156108c657600080fd5b506108e160048036038101906108dc9190612fd0565b611463565b6040516108ee9190612ddd565b60405180910390f35b60606040518060400160405280600c81526020017f516174617220436869636b730000000000000000000000000000000000000000815250905090565b60006109486109416114b9565b84846114c1565b6001905092915050565b61096261095d6114b9565b611463565b6109a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610998906130f2565b60405180910390fd5b80600a81905550816009819055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b600d5481565b60148054906101000a900460ff1681565b6000610a07848484611655565b610ac884610a136114b9565b610ac3856040518060600160405280602881526020016139d260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a796114b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dbc9092919063ffffffff16565b6114c1565b600190509392505050565b60006009905090565b6000610b85610ae96114b9565b84610b808560026000610afa6114b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1190919063ffffffff16565b6114c1565b6001905092915050565b60095481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460159054906101000a900460ff1681565b600b5481565b600e5481565b610bea610be56114b9565b611463565b610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c20906130f2565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c8357600080fd5b610cb0600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168284611e27565b8160076000828254610cc29190613141565b9250508190555081600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d189190613141565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9e9190612ec1565b60405180910390a35050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b60115481565b600f5481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f51434849434b5300000000000000000000000000000000000000000000000000815250905090565b600061100c610f566114b9565b84611007856040518060600160405280602581526020016139fa6025913960026000610f806114b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dbc9092919063ffffffff16565b6114c1565b6001905092915050565b601460169054906101000a900460ff1681565b600061103d6110366114b9565b8484611655565b6001905092915050565b6110576110526114b9565b611463565b611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906130f2565b60405180910390fd5b80600f8190555050565b600a5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110d46114b9565b73ffffffffffffffffffffffffffffffffffffffff166110f2610ee3565b73ffffffffffffffffffffffffffffffffffffffff1614611148576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113f906131e3565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361123f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112369061324f565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161127a9190612f75565b602060405180830381865afa158015611297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bb9190613284565b90506000606484836112cd91906132b1565b6112d7919061333a565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161133692919061338c565b6020604051808303816000875af1158015611355573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137991906133e1565b9250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61141a6114156114b9565b611463565b611459576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611450906130f2565b60405180910390fd5b8060118190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561152b5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61156a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115619061345a565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116489190612ec1565b60405180910390a3505050565b61165d610ee3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116e25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117385750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611772575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117aa57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118045750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118435750611813610ee3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118a757600061185383610daa565b905060115482826118649190613141565b11156118a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189c906134c6565b60405180910390fd5b505b6118af610ee3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119345750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561197f57600f5481111561197e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197590613532565b60405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a235750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a7857601460169054906101000a900460ff16611a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6e90613578565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ae25750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b18906135e4565b60405180910390fd5b60008111611b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5b90613676565b60405180910390fd5b600860019054906101000a900460ff1660ff16600860009054906101000a900460ff1660ff1610158015611ba3575060148054906101000a900460ff16155b8015611bfd5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c155750601460159054906101000a900460ff165b15611c5e576000611c2530610daa565b9050600f54811115611c3757600f5490505b6000600860006101000a81548160ff021916908360ff160217905550611c5c81611e2c565b505b6000600190506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d075750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d155760009150611da8565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d6f57600190505b6008600081819054906101000a900460ff1680929190611d8e90613696565b91906101000a81548160ff021916908360ff160217905550505b611db585858585856121c5565b5050505050565b6000838311158290611e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfb9190612cc7565b60405180910390fd5b5082840390509392505050565b60008183611e1f9190613141565b905092915050565b505050565b60016014806101000a81548160ff02191690831515021790555060006064600d5483611e5891906132b1565b611e62919061333a565b905080600754611e7291906136bf565b600781905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ec59190613141565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5591906136bf565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600b5484611faa91906132b1565b611fb4919061333a565b905060006064600c5485611fc891906132b1565b611fd2919061333a565b9050600060c8600e5486611fe691906132b1565b611ff0919061333a565b905060004790506120168385846120079190613141565b6120119190613141565b6128c0565b6000814761202491906136bf565b90506000600c54600b54600e5461203b9190613141565b6120459190613141565b6064600b5461205491906132b1565b61205e919061333a565b905060006064828461207091906132b1565b61207a919061333a565b90506000600c54600b54600e546120919190613141565b61209b9190613141565b6064600c546120aa91906132b1565b6120b4919061333a565b90506000606482866120c691906132b1565b6120d0919061333a565b90506120f2878285886120e391906136bf565b6120ed91906136bf565b612b03565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618782858861212191906136bf565b61212b91906136bf565b8960405161213b939291906136f3565b60405180910390a161216f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612be3565b47945061219e600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686612be3565b5050505050505050505060006014806101000a81548160ff02191690831515021790555050565b8161239a5782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461221591906136bf565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122a39190613141565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123439190612ec1565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612395578260075461238e91906136bf565b6007819055505b6128b9565b801561262e5760006064600954856123b291906132b1565b6123bc919061333a565b9050600081856123cc91906136bf565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241991906136bf565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a79190613141565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125359190613141565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125d59190612ec1565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603612627578060075461262091906136bf565b6007819055505b50506128b8565b60006064600a548561264091906132b1565b61264a919061333a565b90506000818561265a91906136bf565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a791906136bf565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127359190613141565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127c39190613141565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128639190612ec1565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036128b557806007546128ae91906136bf565b6007819055505b50505b5b5050505050565b6000600267ffffffffffffffff8111156128dd576128dc61372a565b5b60405190808252806020026020018201604052801561290b5781602001602082028036833780820191505090505b509050308160008151811061292357612922613759565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ee919061379d565b81600181518110612a0257612a01613759565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a6930601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114c1565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612acd9594939291906138c3565b600060405180830381600087803b158015612ae757600080fd5b505af1158015612afb573d6000803e3d6000fd5b505050505050565b612b3030601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114c1565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612b999695949392919061391d565b60606040518083038185885af1158015612bb7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612bdc919061397e565b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612c29573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c68578082015181840152602081019050612c4d565b83811115612c77576000848401525b50505050565b6000601f19601f8301169050919050565b6000612c9982612c2e565b612ca38185612c39565b9350612cb3818560208601612c4a565b612cbc81612c7d565b840191505092915050565b60006020820190508181036000830152612ce18184612c8e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d1982612cee565b9050919050565b612d2981612d0e565b8114612d3457600080fd5b50565b600081359050612d4681612d20565b92915050565b6000819050919050565b612d5f81612d4c565b8114612d6a57600080fd5b50565b600081359050612d7c81612d56565b92915050565b60008060408385031215612d9957612d98612ce9565b5b6000612da785828601612d37565b9250506020612db885828601612d6d565b9150509250929050565b60008115159050919050565b612dd781612dc2565b82525050565b6000602082019050612df26000830184612dce565b92915050565b60008060408385031215612e0f57612e0e612ce9565b5b6000612e1d85828601612d6d565b9250506020612e2e85828601612d6d565b9150509250929050565b6000819050919050565b6000612e5d612e58612e5384612cee565b612e38565b612cee565b9050919050565b6000612e6f82612e42565b9050919050565b6000612e8182612e64565b9050919050565b612e9181612e76565b82525050565b6000602082019050612eac6000830184612e88565b92915050565b612ebb81612d4c565b82525050565b6000602082019050612ed66000830184612eb2565b92915050565b600080600060608486031215612ef557612ef4612ce9565b5b6000612f0386828701612d37565b9350506020612f1486828701612d37565b9250506040612f2586828701612d6d565b9150509250925092565b600060ff82169050919050565b612f4581612f2f565b82525050565b6000602082019050612f606000830184612f3c565b92915050565b612f6f81612d0e565b82525050565b6000602082019050612f8a6000830184612f66565b92915050565b60008060408385031215612fa757612fa6612ce9565b5b6000612fb585828601612d6d565b9250506020612fc685828601612d37565b9150509250929050565b600060208284031215612fe657612fe5612ce9565b5b6000612ff484828501612d37565b91505092915050565b600061300882612cee565b9050919050565b61301881612ffd565b82525050565b6000602082019050613033600083018461300f565b92915050565b60006020828403121561304f5761304e612ce9565b5b600061305d84828501612d6d565b91505092915050565b6000806040838503121561307d5761307c612ce9565b5b600061308b85828601612d37565b925050602061309c85828601612d37565b9150509250929050565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b60006130dc600b83612c39565b91506130e7826130a6565b602082019050919050565b6000602082019050818103600083015261310b816130cf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061314c82612d4c565b915061315783612d4c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561318c5761318b613112565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131cd602083612c39565b91506131d882613197565b602082019050919050565b600060208201905081810360008301526131fc816131c0565b9050919050565b7f43616e206e6f742072656d6f7665206e617469766520746f6b656e0000000000600082015250565b6000613239601b83612c39565b915061324482613203565b602082019050919050565b600060208201905081810360008301526132688161322c565b9050919050565b60008151905061327e81612d56565b92915050565b60006020828403121561329a57613299612ce9565b5b60006132a88482850161326f565b91505092915050565b60006132bc82612d4c565b91506132c783612d4c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613300576132ff613112565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061334582612d4c565b915061335083612d4c565b9250826133605761335f61330b565b5b828204905092915050565b600061337682612e64565b9050919050565b6133868161336b565b82525050565b60006040820190506133a1600083018561337d565b6133ae6020830184612eb2565b9392505050565b6133be81612dc2565b81146133c957600080fd5b50565b6000815190506133db816133b5565b92915050565b6000602082840312156133f7576133f6612ce9565b5b6000613405848285016133cc565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6000613444601183612c39565b915061344f8261340e565b602082019050919050565b6000602082019050818103600083015261347381613437565b9050919050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b60006134b0601283612c39565b91506134bb8261347a565b602082019050919050565b600060208201905081810360008301526134df816134a3565b9050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b600061351c601783612c39565b9150613527826134e6565b602082019050919050565b6000602082019050818103600083015261354b8161350f565b9050919050565b50565b6000613562600083612c39565b915061356d82613552565b600082019050919050565b6000602082019050818103600083015261359181613555565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b60006135ce601583612c39565b91506135d982613598565b602082019050919050565b600060208201905081810360008301526135fd816135c1565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000613660602583612c39565b915061366b82613604565b604082019050919050565b6000602082019050818103600083015261368f81613653565b9050919050565b60006136a182612f2f565b915060ff82036136b4576136b3613112565b5b600182019050919050565b60006136ca82612d4c565b91506136d583612d4c565b9250828210156136e8576136e7613112565b5b828203905092915050565b60006060820190506137086000830186612eb2565b6137156020830185612eb2565b6137226040830184612eb2565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061379781612d20565b92915050565b6000602082840312156137b3576137b2612ce9565b5b60006137c184828501613788565b91505092915050565b6000819050919050565b60006137ef6137ea6137e5846137ca565b612e38565b612d4c565b9050919050565b6137ff816137d4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61383a81612d0e565b82525050565b600061384c8383613831565b60208301905092915050565b6000602082019050919050565b600061387082613805565b61387a8185613810565b935061388583613821565b8060005b838110156138b657815161389d8882613840565b97506138a883613858565b925050600181019050613889565b5085935050505092915050565b600060a0820190506138d86000830188612eb2565b6138e560208301876137f6565b81810360408301526138f78186613865565b90506139066060830185612f66565b6139136080830184612eb2565b9695505050505050565b600060c0820190506139326000830189612f66565b61393f6020830188612eb2565b61394c60408301876137f6565b61395960608301866137f6565b613966608083018561337d565b61397360a0830184612eb2565b979650505050505050565b60008060006060848603121561399757613996612ce9565b5b60006139a58682870161326f565b93505060206139b68682870161326f565b92505060406139c78682870161326f565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050c7f693724536063614720c69a4301e2551480df51035fe8d7174d643fa7dfd64736f6c634300080f0033
Deployed Bytecode
0x60806040526004361061021e5760003560e01c8063768dc71011610123578063b0c2b561116100ab578063c6618d601161006f578063c6618d60146107ec578063dafd18e914610817578063dd62ed3e14610854578063fc6b151c14610891578063fe9fbb80146108ba57610225565b8063b0c2b56114610719578063b1cb158214610742578063b43665e21461076d578063b6a5d7de14610798578063bbb9f61f146107c157610225565b80638da5cb5b116100f25780638da5cb5b1461061e57806395d89b4114610649578063a457c2d714610674578063a6921956146106b1578063a9059cbb146106dc57610225565b8063768dc7101461056057806378109e541461059d5780637d1db4a5146105c8578063805c0e0f146105f357610225565b806339509351116101a65780636031762511610175578063603176251461048d57806361c9a0dc146104b857806367b4c319146104e357806370a082311461050c578063715018a61461054957610225565b806339509351146103cf5780633f70a4951461040c57806349bd5a5e146104375780634a74bb021461046257610225565b806318160ddd116101ed57806318160ddd146102e657806321dbd9eb14610311578063220f66961461033c57806323b872dd14610367578063313ce567146103a457610225565b806306fdde031461022a578063095ea7b3146102555780630b78f9c0146102925780631694505e146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f6108f7565b60405161024c9190612cc7565b60405180910390f35b34801561026157600080fd5b5061027c60048036038101906102779190612d82565b610934565b6040516102899190612ddd565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190612df8565b610952565b005b3480156102c757600080fd5b506102d06109b3565b6040516102dd9190612e97565b60405180910390f35b3480156102f257600080fd5b506102fb6109d9565b6040516103089190612ec1565b60405180910390f35b34801561031d57600080fd5b506103266109e3565b6040516103339190612ec1565b60405180910390f35b34801561034857600080fd5b506103516109e9565b60405161035e9190612ddd565b60405180910390f35b34801561037357600080fd5b5061038e60048036038101906103899190612edc565b6109fa565b60405161039b9190612ddd565b60405180910390f35b3480156103b057600080fd5b506103b9610ad3565b6040516103c69190612f4b565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f19190612d82565b610adc565b6040516104039190612ddd565b60405180910390f35b34801561041857600080fd5b50610421610b8f565b60405161042e9190612ec1565b60405180910390f35b34801561044357600080fd5b5061044c610b95565b6040516104599190612f75565b60405180910390f35b34801561046e57600080fd5b50610477610bbb565b6040516104849190612ddd565b60405180910390f35b34801561049957600080fd5b506104a2610bce565b6040516104af9190612ec1565b60405180910390f35b3480156104c457600080fd5b506104cd610bd4565b6040516104da9190612ec1565b60405180910390f35b3480156104ef57600080fd5b5061050a60048036038101906105059190612f90565b610bda565b005b34801561051857600080fd5b50610533600480360381019061052e9190612fd0565b610daa565b6040516105409190612ec1565b60405180910390f35b34801561055557600080fd5b5061055e610df3565b005b34801561056c57600080fd5b5061058760048036038101906105829190612fd0565b610eb1565b6040516105949190612ddd565b60405180910390f35b3480156105a957600080fd5b506105b2610ed1565b6040516105bf9190612ec1565b60405180910390f35b3480156105d457600080fd5b506105dd610ed7565b6040516105ea9190612ec1565b60405180910390f35b3480156105ff57600080fd5b50610608610edd565b604051610615919061301e565b60405180910390f35b34801561062a57600080fd5b50610633610ee3565b6040516106409190612f75565b60405180910390f35b34801561065557600080fd5b5061065e610f0c565b60405161066b9190612cc7565b60405180910390f35b34801561068057600080fd5b5061069b60048036038101906106969190612d82565b610f49565b6040516106a89190612ddd565b60405180910390f35b3480156106bd57600080fd5b506106c6611016565b6040516106d39190612ddd565b60405180910390f35b3480156106e857600080fd5b5061070360048036038101906106fe9190612d82565b611029565b6040516107109190612ddd565b60405180910390f35b34801561072557600080fd5b50610740600480360381019061073b9190613039565b611047565b005b34801561074e57600080fd5b506107576110a0565b6040516107649190612ec1565b60405180910390f35b34801561077957600080fd5b506107826110a6565b60405161078f919061301e565b60405180910390f35b3480156107a457600080fd5b506107bf60048036038101906107ba9190612fd0565b6110cc565b005b3480156107cd57600080fd5b506107d66111a3565b6040516107e3919061301e565b60405180910390f35b3480156107f857600080fd5b506108016111c9565b60405161080e9190612ec1565b60405180910390f35b34801561082357600080fd5b5061083e60048036038101906108399190612d82565b6111cf565b60405161084b9190612ddd565b60405180910390f35b34801561086057600080fd5b5061087b60048036038101906108769190613066565b611383565b6040516108889190612ec1565b60405180910390f35b34801561089d57600080fd5b506108b860048036038101906108b39190613039565b61140a565b005b3480156108c657600080fd5b506108e160048036038101906108dc9190612fd0565b611463565b6040516108ee9190612ddd565b60405180910390f35b60606040518060400160405280600c81526020017f516174617220436869636b730000000000000000000000000000000000000000815250905090565b60006109486109416114b9565b84846114c1565b6001905092915050565b61096261095d6114b9565b611463565b6109a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610998906130f2565b60405180910390fd5b80600a81905550816009819055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b600d5481565b60148054906101000a900460ff1681565b6000610a07848484611655565b610ac884610a136114b9565b610ac3856040518060600160405280602881526020016139d260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a796114b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dbc9092919063ffffffff16565b6114c1565b600190509392505050565b60006009905090565b6000610b85610ae96114b9565b84610b808560026000610afa6114b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1190919063ffffffff16565b6114c1565b6001905092915050565b60095481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460159054906101000a900460ff1681565b600b5481565b600e5481565b610bea610be56114b9565b611463565b610c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c20906130f2565b60405180910390fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c8357600080fd5b610cb0600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168284611e27565b8160076000828254610cc29190613141565b9250508190555081600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d189190613141565b925050819055508073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9e9190612ec1565b60405180910390a35050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b60115481565b600f5481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f51434849434b5300000000000000000000000000000000000000000000000000815250905090565b600061100c610f566114b9565b84611007856040518060600160405280602581526020016139fa6025913960026000610f806114b9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dbc9092919063ffffffff16565b6114c1565b6001905092915050565b601460169054906101000a900460ff1681565b600061103d6110366114b9565b8484611655565b6001905092915050565b6110576110526114b9565b611463565b611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906130f2565b60405180910390fd5b80600f8190555050565b600a5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110d46114b9565b73ffffffffffffffffffffffffffffffffffffffff166110f2610ee3565b73ffffffffffffffffffffffffffffffffffffffff1614611148576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113f906131e3565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361123f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112369061324f565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161127a9190612f75565b602060405180830381865afa158015611297573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bb9190613284565b90506000606484836112cd91906132b1565b6112d7919061333a565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161133692919061338c565b6020604051808303816000875af1158015611355573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137991906133e1565b9250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61141a6114156114b9565b611463565b611459576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611450906130f2565b60405180910390fd5b8060118190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561152b5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61156a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115619061345a565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116489190612ec1565b60405180910390a3505050565b61165d610ee3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116e25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117385750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611772575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117aa57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118045750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118435750611813610ee3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118a757600061185383610daa565b905060115482826118649190613141565b11156118a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189c906134c6565b60405180910390fd5b505b6118af610ee3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119345750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561197f57600f5481111561197e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197590613532565b60405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a235750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a7857601460169054906101000a900460ff16611a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6e90613578565b60405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ae25750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b18906135e4565b60405180910390fd5b60008111611b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5b90613676565b60405180910390fd5b600860019054906101000a900460ff1660ff16600860009054906101000a900460ff1660ff1610158015611ba3575060148054906101000a900460ff16155b8015611bfd5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c155750601460159054906101000a900460ff165b15611c5e576000611c2530610daa565b9050600f54811115611c3757600f5490505b6000600860006101000a81548160ff021916908360ff160217905550611c5c81611e2c565b505b6000600190506000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d075750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d155760009150611da8565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d6f57600190505b6008600081819054906101000a900460ff1680929190611d8e90613696565b91906101000a81548160ff021916908360ff160217905550505b611db585858585856121c5565b5050505050565b6000838311158290611e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfb9190612cc7565b60405180910390fd5b5082840390509392505050565b60008183611e1f9190613141565b905092915050565b505050565b60016014806101000a81548160ff02191690831515021790555060006064600d5483611e5891906132b1565b611e62919061333a565b905080600754611e7291906136bf565b600781905550806001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ec59190613141565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5591906136bf565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006064600b5484611faa91906132b1565b611fb4919061333a565b905060006064600c5485611fc891906132b1565b611fd2919061333a565b9050600060c8600e5486611fe691906132b1565b611ff0919061333a565b905060004790506120168385846120079190613141565b6120119190613141565b6128c0565b6000814761202491906136bf565b90506000600c54600b54600e5461203b9190613141565b6120459190613141565b6064600b5461205491906132b1565b61205e919061333a565b905060006064828461207091906132b1565b61207a919061333a565b90506000600c54600b54600e546120919190613141565b61209b9190613141565b6064600c546120aa91906132b1565b6120b4919061333a565b90506000606482866120c691906132b1565b6120d0919061333a565b90506120f2878285886120e391906136bf565b6120ed91906136bf565b612b03565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618782858861212191906136bf565b61212b91906136bf565b8960405161213b939291906136f3565b60405180910390a161216f600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612be3565b47945061219e600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686612be3565b5050505050505050505060006014806101000a81548160ff02191690831515021790555050565b8161239a5782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461221591906136bf565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122a39190613141565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123439190612ec1565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612395578260075461238e91906136bf565b6007819055505b6128b9565b801561262e5760006064600954856123b291906132b1565b6123bc919061333a565b9050600081856123cc91906136bf565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241991906136bf565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a79190613141565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125359190613141565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125d59190612ec1565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603612627578060075461262091906136bf565b6007819055505b50506128b8565b60006064600a548561264091906132b1565b61264a919061333a565b90506000818561265a91906136bf565b905084600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a791906136bf565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127359190613141565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127c39190613141565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128639190612ec1565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036128b557806007546128ae91906136bf565b6007819055505b50505b5b5050505050565b6000600267ffffffffffffffff8111156128dd576128dc61372a565b5b60405190808252806020026020018201604052801561290b5781602001602082028036833780820191505090505b509050308160008151811061292357612922613759565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ee919061379d565b81600181518110612a0257612a01613759565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a6930601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114c1565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612acd9594939291906138c3565b600060405180830381600087803b158015612ae757600080fd5b505af1158015612afb573d6000803e3d6000fd5b505050505050565b612b3030601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114c1565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401612b999695949392919061391d565b60606040518083038185885af1158015612bb7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612bdc919061397e565b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612c29573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c68578082015181840152602081019050612c4d565b83811115612c77576000848401525b50505050565b6000601f19601f8301169050919050565b6000612c9982612c2e565b612ca38185612c39565b9350612cb3818560208601612c4a565b612cbc81612c7d565b840191505092915050565b60006020820190508181036000830152612ce18184612c8e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d1982612cee565b9050919050565b612d2981612d0e565b8114612d3457600080fd5b50565b600081359050612d4681612d20565b92915050565b6000819050919050565b612d5f81612d4c565b8114612d6a57600080fd5b50565b600081359050612d7c81612d56565b92915050565b60008060408385031215612d9957612d98612ce9565b5b6000612da785828601612d37565b9250506020612db885828601612d6d565b9150509250929050565b60008115159050919050565b612dd781612dc2565b82525050565b6000602082019050612df26000830184612dce565b92915050565b60008060408385031215612e0f57612e0e612ce9565b5b6000612e1d85828601612d6d565b9250506020612e2e85828601612d6d565b9150509250929050565b6000819050919050565b6000612e5d612e58612e5384612cee565b612e38565b612cee565b9050919050565b6000612e6f82612e42565b9050919050565b6000612e8182612e64565b9050919050565b612e9181612e76565b82525050565b6000602082019050612eac6000830184612e88565b92915050565b612ebb81612d4c565b82525050565b6000602082019050612ed66000830184612eb2565b92915050565b600080600060608486031215612ef557612ef4612ce9565b5b6000612f0386828701612d37565b9350506020612f1486828701612d37565b9250506040612f2586828701612d6d565b9150509250925092565b600060ff82169050919050565b612f4581612f2f565b82525050565b6000602082019050612f606000830184612f3c565b92915050565b612f6f81612d0e565b82525050565b6000602082019050612f8a6000830184612f66565b92915050565b60008060408385031215612fa757612fa6612ce9565b5b6000612fb585828601612d6d565b9250506020612fc685828601612d37565b9150509250929050565b600060208284031215612fe657612fe5612ce9565b5b6000612ff484828501612d37565b91505092915050565b600061300882612cee565b9050919050565b61301881612ffd565b82525050565b6000602082019050613033600083018461300f565b92915050565b60006020828403121561304f5761304e612ce9565b5b600061305d84828501612d6d565b91505092915050565b6000806040838503121561307d5761307c612ce9565b5b600061308b85828601612d37565b925050602061309c85828601612d37565b9150509250929050565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b60006130dc600b83612c39565b91506130e7826130a6565b602082019050919050565b6000602082019050818103600083015261310b816130cf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061314c82612d4c565b915061315783612d4c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561318c5761318b613112565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131cd602083612c39565b91506131d882613197565b602082019050919050565b600060208201905081810360008301526131fc816131c0565b9050919050565b7f43616e206e6f742072656d6f7665206e617469766520746f6b656e0000000000600082015250565b6000613239601b83612c39565b915061324482613203565b602082019050919050565b600060208201905081810360008301526132688161322c565b9050919050565b60008151905061327e81612d56565b92915050565b60006020828403121561329a57613299612ce9565b5b60006132a88482850161326f565b91505092915050565b60006132bc82612d4c565b91506132c783612d4c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613300576132ff613112565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061334582612d4c565b915061335083612d4c565b9250826133605761335f61330b565b5b828204905092915050565b600061337682612e64565b9050919050565b6133868161336b565b82525050565b60006040820190506133a1600083018561337d565b6133ae6020830184612eb2565b9392505050565b6133be81612dc2565b81146133c957600080fd5b50565b6000815190506133db816133b5565b92915050565b6000602082840312156133f7576133f6612ce9565b5b6000613405848285016133cc565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b6000613444601183612c39565b915061344f8261340e565b602082019050919050565b6000602082019050818103600083015261347381613437565b9050919050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b60006134b0601283612c39565b91506134bb8261347a565b602082019050919050565b600060208201905081810360008301526134df816134a3565b9050919050565b7f4f766572207472616e73616374696f6e206c696d69742e000000000000000000600082015250565b600061351c601783612c39565b9150613527826134e6565b602082019050919050565b6000602082019050818103600083015261354b8161350f565b9050919050565b50565b6000613562600083612c39565b915061356d82613552565b600082019050919050565b6000602082019050818103600083015261359181613555565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b60006135ce601583612c39565b91506135d982613598565b602082019050919050565b600060208201905081810360008301526135fd816135c1565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b6000613660602583612c39565b915061366b82613604565b604082019050919050565b6000602082019050818103600083015261368f81613653565b9050919050565b60006136a182612f2f565b915060ff82036136b4576136b3613112565b5b600182019050919050565b60006136ca82612d4c565b91506136d583612d4c565b9250828210156136e8576136e7613112565b5b828203905092915050565b60006060820190506137086000830186612eb2565b6137156020830185612eb2565b6137226040830184612eb2565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061379781612d20565b92915050565b6000602082840312156137b3576137b2612ce9565b5b60006137c184828501613788565b91505092915050565b6000819050919050565b60006137ef6137ea6137e5846137ca565b612e38565b612d4c565b9050919050565b6137ff816137d4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61383a81612d0e565b82525050565b600061384c8383613831565b60208301905092915050565b6000602082019050919050565b600061387082613805565b61387a8185613810565b935061388583613821565b8060005b838110156138b657815161389d8882613840565b97506138a883613858565b925050600181019050613889565b5085935050505092915050565b600060a0820190506138d86000830188612eb2565b6138e560208301876137f6565b81810360408301526138f78186613865565b90506139066060830185612f66565b6139136080830184612eb2565b9695505050505050565b600060c0820190506139326000830189612f66565b61393f6020830188612eb2565b61394c60408301876137f6565b61395960608301866137f6565b613966608083018561337d565b61397360a0830184612eb2565b979650505050505050565b60008060006060848603121561399757613996612ce9565b5b60006139a58682870161326f565b93505060206139b68682870161326f565b92505060406139c78682870161326f565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050c7f693724536063614720c69a4301e2551480df51035fe8d7174d643fa7dfd64736f6c634300080f0033
Deployed Bytecode Sourcemap
13158:13051:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16985:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17828:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18821:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15528:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17262:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15128:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15611:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17997:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17171:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18318:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14969:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15576:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15646:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15046:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15166:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24232:301;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17365:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13938:138;;;;;;;;;;;;;:::i;:::-;;14211:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15329:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15210:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14523:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13396:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17076;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18544:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15693:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17490:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24650:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15006:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14328:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13721:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14429:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15090:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23778:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17665:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24541:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13823:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16985:83;17022:13;17055:5;;;;;;;;;;;;;;;;;17048:12;;16985:83;:::o;17828:161::-;17903:4;17920:39;17929:12;:10;:12::i;:::-;17943:7;17952:6;17920:8;:39::i;:::-;17977:4;17970:11;;17828:161;;;;:::o;18821:148::-;13660:26;13673:12;:10;:12::i;:::-;13660;:26::i;:::-;13652:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;18921:8:::1;18906:12;:23;;;;18954:7;18940:11;:21;;;;18821:148:::0;;:::o;15528:41::-;;;;;;;;;;;;;:::o;17262:95::-;17315:7;17342;;17335:14;;17262:95;:::o;15128:31::-;;;;:::o;15611:28::-;;;;;;;;;;;;:::o;17997:313::-;18095:4;18112:36;18122:6;18130:9;18141:6;18112:9;:36::i;:::-;18159:121;18168:6;18176:12;:10;:12::i;:::-;18190:89;18228:6;18190:89;;;;;;;;;;;;;;;;;:11;:19;18202:6;18190:19;;;;;;;;;;;;;;;:33;18210:12;:10;:12::i;:::-;18190:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18159:8;:121::i;:::-;18298:4;18291:11;;17997:313;;;;;:::o;17171:83::-;17212:5;14716:1;17230:16;;17171:83;:::o;18318:218::-;18406:4;18423:83;18432:12;:10;:12::i;:::-;18446:7;18455:50;18494:10;18455:11;:25;18467:12;:10;:12::i;:::-;18455:25;;;;;;;;;;;;;;;:34;18481:7;18455:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18423:8;:83::i;:::-;18524:4;18517:11;;18318:218;;;;:::o;14969:30::-;;;;:::o;15576:28::-;;;;;;;;;;;;;:::o;15646:40::-;;;;;;;;;;;;;:::o;15046:37::-;;;;:::o;15166:34::-;;;;:::o;24232:301::-;13660:26;13673:12;:10;:12::i;:::-;13660;:26::i;:::-;13652:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;24336:16:::1;;;;;;;;;;;24321:32;;:3;:32;;;24313:41;;;::::0;::::1;;24365:44;24381:16;;;;;;;;;;;24400:3;24405;24365:7;:44::i;:::-;24431:3;24420:7;;:14;;;;;;;:::i;:::-;;;;;;;;24461:3;24445:7;:12;24453:3;24445:12;;;;;;;;;;;;;;;;:19;;;;;;;:::i;:::-;;;;;;;;24516:3;24480:45;;24497:16;;;;;;;;;;;24480:45;;;24521:3;24480:45;;;;;;:::i;:::-;;;;;;;;24232:301:::0;;:::o;17365:117::-;17431:7;17458;:16;17466:7;17458:16;;;;;;;;;;;;;;;;17451:23;;17365:117;;;:::o;13938:138::-;14035:1;13998:40;;14019:6;;;;;;;;;;13998:40;;;;;;;;;;;;14066:1;14049:6;;:19;;;;;;;;;;;;;;;;;;13938:138::o;14211:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;15329:50::-;;;;:::o;15210:47::-;;;;:::o;14523:97::-;14577:42;14523:97;:::o;13396:87::-;13442:7;13469:6;;;;;;;;;;;13462:13;;13396:87;:::o;17076:::-;17115:13;17148:7;;;;;;;;;;;;;;;;;17141:14;;17076:87;:::o;18544:269::-;18637:4;18654:129;18663:12;:10;:12::i;:::-;18677:7;18686:96;18725:15;18686:96;;;;;;;;;;;;;;;;;:11;:25;18698:12;:10;:12::i;:::-;18686:25;;;;;;;;;;;;;;;:34;18712:7;18686:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;18654:8;:129::i;:::-;18801:4;18794:11;;18544:269;;;;:::o;15693:30::-;;;;;;;;;;;;;:::o;17490:167::-;17568:4;17585:42;17595:12;:10;:12::i;:::-;17609:9;17620:6;17585:9;:42::i;:::-;17645:4;17638:11;;17490:167;;;;:::o;24650:92::-;13660:26;13673:12;:10;:12::i;:::-;13660;:26::i;:::-;13652:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;24730:4:::1;24715:12;:19;;;;24650:92:::0;:::o;15006:31::-;;;;:::o;14328:93::-;;;;;;;;;;;;;:::o;13721:94::-;13542:12;:10;:12::i;:::-;13531:23;;:7;:5;:7::i;:::-;:23;;;13523:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13803:4:::1;13781:14;:19;13796:3;13781:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;13721:94:::0;:::o;14429:87::-;;;;;;;;;;;;;:::o;15090:31::-;;;;:::o;23778:446::-;23880:10;23942:4;23910:37;;:20;:37;;;23902:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;23990:19;24019:20;24012:38;;;24059:4;24012:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23990:75;;24076:20;24129:3;24111:17;24099:11;:29;;;;:::i;:::-;:33;;;;:::i;:::-;24076:56;;24158:20;24151:37;;;24189:10;;;;;;;;;;;24201:12;24151:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24143:71;;23891:333;;23778:446;;;;:::o;17665:155::-;17752:7;17779:11;:21;17791:8;17779:21;;;;;;;;;;;;;;;:33;17801:10;17779:33;;;;;;;;;;;;;;;;17772:40;;17665:155;;;;:::o;24541:101::-;13660:26;13673:12;:10;:12::i;:::-;13660;:26::i;:::-;13652:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;24629:5:::1;24611:15;:23;;;;24541:101:::0;:::o;13823:107::-;13879:4;13903:14;:19;13918:3;13903:19;;;;;;;;;;;;;;;;;;;;;;;;;13896:26;;13823:107;;;:::o;1781:98::-;1834:7;1861:10;1854:17;;1781:98;:::o;19120:290::-;19241:1;19221:22;;:8;:22;;;;:50;;;;;19269:1;19247:24;;:10;:24;;;;19221:50;19213:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;19340:6;19304:11;:21;19316:8;19304:21;;;;;;;;;;;;;;;:33;19326:10;19304:33;;;;;;;;;;;;;;;:42;;;;19381:10;19362:38;;19371:8;19362:38;;;19393:6;19362:38;;;;;;:::i;:::-;;;;;;;;19120:290;;;:::o;19544:1718::-;19670:7;:5;:7::i;:::-;19664:13;;:2;:13;;;;:51;;;;;19695:14;:20;19710:4;19695:20;;;;;;;;;;;;;;;;;;;;;;;;;19694:21;19664:51;:88;;;;;19734:14;:18;19749:2;19734:18;;;;;;;;;;;;;;;;;;;;;;;;;19733:19;19664:88;:123;;;;;14577:42;19770:17;;:2;:17;;;;19664:123;:159;;;;;19818:4;19804:19;;:2;:19;;;;19664:159;:195;;;;;19846:13;;;;;;;;;;;19840:19;;:2;:19;;;;19664:195;:227;;;;;19884:7;:5;:7::i;:::-;19876:15;;:4;:15;;;;19664:227;19660:368;;;19907:18;19928:13;19938:2;19928:9;:13::i;:::-;19907:34;;19989:15;;19978:6;19965:10;:19;;;;:::i;:::-;19964:40;;19956:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19892:136;19660:368;20052:7;:5;:7::i;:::-;20044:15;;:4;:15;;;;:40;;;;;20064:14;:20;20079:4;20064:20;;;;;;;;;;;;;;;;;;;;;;;;;20063:21;20044:40;20040:117;;;20117:12;;20107:6;:22;;20099:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;20040:117;20174:14;:20;20189:4;20174:20;;;;;;;;;;;;;;;;;;;;;;;;;20173:21;:44;;;;;20199:14;:18;20214:2;20199:18;;;;;;;;;;;;;;;;;;;;;;;;;20198:19;20173:44;20170:98;;;20241:11;;;;;;;;;;;20233:23;;;;;;;;;;;;:::i;:::-;;;;;;;;;20170:98;20304:1;20288:18;;:4;:18;;;;:38;;;;;20324:1;20310:16;;:2;:16;;;;20288:38;20280:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;20380:1;20371:6;:10;20363:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20467:11;;;;;;;;;;;20456:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;20497:16;;;;;;;;;;20496:17;20456:57;:95;;;;;20538:13;;;;;;;;;;;20530:21;;:4;:21;;;;20456:95;:133;;;;;20568:21;;;;;;;;;;;20456:133;20439:443;;;20646:28;20677:24;20695:4;20677:9;:24::i;:::-;20646:55;;20742:12;;20719:20;:35;20716:78;;;20780:12;;20757:35;;20716:78;20818:1;20808:7;;:11;;;;;;;;;;;;;;;;;;20834:36;20849:20;20834:14;:36::i;:::-;20615:267;20439:443;20902:12;20917:4;20902:19;;20932:10;20956:18;:24;20975:4;20956:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;20984:18;:22;21003:2;20984:22;;;;;;;;;;;;;;;;;;;;;;;;;20956:50;20953:239;;;21032:5;21022:15;;20953:239;;;21092:13;;;;;;;;;;;21084:21;;:4;:21;;;21081:72;;21133:4;21125:12;;21081:72;21169:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;20953:239;21204:48;21219:4;21225:2;21229:6;21237:7;21246:5;21204:14;:48::i;:::-;19647:1615;;19544:1718;;;:::o;1310:206::-;1396:7;1454:1;1449;:6;;1457:12;1441:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1496:1;1492;:5;1485:12;;1310:206;;;;;:::o;882:98::-;940:7;971:1;967;:5;;;;:::i;:::-;960:12;;882:98;;;;:::o;19418:118::-;;;;:::o;21402:1509::-;15997:4;15978:16;;:23;;;;;;;;;;;;;;;;;;21493:22:::1;21556:3;21541:12;;21518:20;:35;;;;:::i;:::-;:41;;;;:::i;:::-;21493:66;;21594:14;21584:7;;:24;;;;:::i;:::-;21574:7;:34;;;;21669:14;21646:7;:20;14577:42;21646:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;21623:7;:20;14577:42;21623:20;;;;;;;;;;;;;;;:60;;;;21748:14;21723:7;:22;21739:4;21723:22;;;;;;;;;;;;;;;;:39;;;;:::i;:::-;21698:7;:22;21714:4;21698:22;;;;;;;;;;;;;;;:64;;;;21780:19;21845:3;21825:17;;21802:20;:40;;;;:::i;:::-;:46;;;;:::i;:::-;21780:68;;21863:19;21922:3;21908:11;;21885:20;:34;;;;:::i;:::-;:40;;;;:::i;:::-;21863:62;;21940:25;22008:3;21991:14;;21968:20;:37;;;;:::i;:::-;:43;;;;:::i;:::-;21940:71;;22028:25;22056:21;22028:49;;22092:63;22143:11;22129;22109:17;:31;;;;:::i;:::-;:45;;;;:::i;:::-;22092:16;:63::i;:::-;22170:17;22214;22190:21;:41;;;;:::i;:::-;22170:61;;22248:15;22330:11;;22310:17;;22293:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;22286:3;22266:17;;:23;;;;:::i;:::-;:76;;;;:::i;:::-;22248:94;;22357:13;22395:3;22385:7;22373:9;:19;;;;:::i;:::-;:25;;;;:::i;:::-;22357:41;;22415:15;22491:11;;22471:17;;22454:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;22447:3;22433:11;;:17;;;;:::i;:::-;:70;;;;:::i;:::-;22415:88;;22518:13;22556:3;22546:7;22534:9;:19;;;;:::i;:::-;:25;;;;:::i;:::-;22518:41;;22578:60;22591:17;22631:5;22623;22611:9;:17;;;;:::i;:::-;:25;;;;:::i;:::-;22578:12;:60::i;:::-;22658:81;22673:17;22713:5;22705;22693:9;:17;;;;:::i;:::-;:25;;;;:::i;:::-;22721:17;22658:81;;;;;;;;:::i;:::-;;;;;;;;22756:37;22769:16;;;;;;;;;;;22787:5;22756:12;:37::i;:::-;22822:21;22810:33;;22858:35;22871:10;;;;;;;;;;;22883:9;22858:12;:35::i;:::-;21476:1435;;;;;;;;;;16043:5:::0;16024:16;;:24;;;;;;;;;;;;;;;;;;21402:1509;:::o;24750:1452::-;24895:7;24891:1302;;24954:7;24938;:15;24946:6;24938:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;24920:7;:15;24928:6;24920:15;;;;;;;;;;;;;;;:41;;;;25016:7;24997;:18;25005:9;24997:18;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;24976:7;:18;24984:9;24976:18;;;;;;;;;;;;;;;:47;;;;25060:9;25043:36;;25052:6;25043:36;;;25071:7;25043:36;;;;;;:::i;:::-;;;;;;;;14577:42;25099:24;;:9;:24;;;25096:67;;25156:7;25148;;:15;;;;:::i;:::-;25138:7;:25;;;;25096:67;24891:1302;;;25191:5;25187:1006;;;25214:14;25251:3;25239:11;;25231:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;25214:40;;25269:23;25303:6;25295:7;:14;;;;:::i;:::-;25269:40;;25360:7;25344;:15;25352:6;25344:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;25326:7;:15;25334:6;25326:15;;;;;;;;;;;;;;;:41;;;;25422:15;25403:7;:18;25411:9;25403:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;25382:7;:18;25390:9;25382:18;;;;;;;;;;;;;;;:55;;;;25500:6;25477:7;:22;25493:4;25477:22;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;25452:7;:22;25468:4;25452:22;;;;;;;;;;;;;;;:54;;;;25546:9;25529:44;;25538:6;25529:44;;;25557:15;25529:44;;;;;;:::i;:::-;;;;;;;;14577:42;25593:24;;:9;:24;;;25590:75;;25650:15;25642:7;;:23;;;;:::i;:::-;25632:7;:33;;;;25590:75;25197:498;;25187:1006;;;25718:15;25757:3;25744:12;;25736:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;25718:42;;25775:23;25809:7;25801;:15;;;;:::i;:::-;25775:41;;25867:7;25851;:15;25859:6;25851:15;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;25833:7;:15;25841:6;25833:15;;;;;;;;;;;;;;;:41;;;;25929:15;25910:7;:18;25918:9;25910:18;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;25889:7;:18;25897:9;25889:18;;;;;;;;;;;;;;;:55;;;;26007:7;25984;:22;26000:4;25984:22;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;25959:7;:22;25975:4;25959:22;;;;;;;;;;;;;;;:55;;;;26054:9;26037:44;;26046:6;26037:44;;;26065:15;26037:44;;;;;;:::i;:::-;;;;;;;;14577:42;26101:24;;:9;:24;;;26098:75;;26158:15;26150:7;;:23;;;;:::i;:::-;26140:7;:33;;;;26098:75;25701:492;;25187:1006;24891:1302;24750:1452;;;;;:::o;22919:474::-;22987:21;23025:1;23011:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22987:40;;23056:4;23038;23043:1;23038:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;23082:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23072:4;23077:1;23072:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;23115:62;23132:4;23147:15;;;;;;;;;;;23165:11;23115:8;:62::i;:::-;23188:15;;;;;;;;;;;:66;;;23269:11;23295:1;23312:4;23339;23359:15;23188:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22974:419;22919:474;:::o;23401:368::-;23484:62;23501:4;23516:15;;;;;;;;;;;23534:11;23484:8;:62::i;:::-;23557:15;;;;;;;;;;;:31;;;23596:9;23629:4;23649:11;23675:1;23692;14577:42;23735:15;23557:204;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23401:368;;:::o;21274:120::-;21359:6;:15;;:23;21375:6;21359:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21274:120;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:474::-;3562:6;3570;3619:2;3607:9;3598:7;3594:23;3590:32;3587:119;;;3625:79;;:::i;:::-;3587:119;3745:1;3770:53;3815:7;3806:6;3795:9;3791:22;3770:53;:::i;:::-;3760:63;;3716:117;3872:2;3898:53;3943:7;3934:6;3923:9;3919:22;3898:53;:::i;:::-;3888:63;;3843:118;3494:474;;;;;:::o;3974:60::-;4002:3;4023:5;4016:12;;3974:60;;;:::o;4040:142::-;4090:9;4123:53;4141:34;4150:24;4168:5;4150:24;:::i;:::-;4141:34;:::i;:::-;4123:53;:::i;:::-;4110:66;;4040:142;;;:::o;4188:126::-;4238:9;4271:37;4302:5;4271:37;:::i;:::-;4258:50;;4188:126;;;:::o;4320:153::-;4397:9;4430:37;4461:5;4430:37;:::i;:::-;4417:50;;4320:153;;;:::o;4479:185::-;4593:64;4651:5;4593:64;:::i;:::-;4588:3;4581:77;4479:185;;:::o;4670:276::-;4790:4;4828:2;4817:9;4813:18;4805:26;;4841:98;4936:1;4925:9;4921:17;4912:6;4841:98;:::i;:::-;4670:276;;;;:::o;4952:118::-;5039:24;5057:5;5039:24;:::i;:::-;5034:3;5027:37;4952:118;;:::o;5076:222::-;5169:4;5207:2;5196:9;5192:18;5184:26;;5220:71;5288:1;5277:9;5273:17;5264:6;5220:71;:::i;:::-;5076:222;;;;:::o;5304:619::-;5381:6;5389;5397;5446:2;5434:9;5425:7;5421:23;5417:32;5414:119;;;5452:79;;:::i;:::-;5414:119;5572:1;5597:53;5642:7;5633:6;5622:9;5618:22;5597:53;:::i;:::-;5587:63;;5543:117;5699:2;5725:53;5770:7;5761:6;5750:9;5746:22;5725:53;:::i;:::-;5715:63;;5670:118;5827:2;5853:53;5898:7;5889:6;5878:9;5874:22;5853:53;:::i;:::-;5843:63;;5798:118;5304:619;;;;;:::o;5929:86::-;5964:7;6004:4;5997:5;5993:16;5982:27;;5929:86;;;:::o;6021:112::-;6104:22;6120:5;6104:22;:::i;:::-;6099:3;6092:35;6021:112;;:::o;6139:214::-;6228:4;6266:2;6255:9;6251:18;6243:26;;6279:67;6343:1;6332:9;6328:17;6319:6;6279:67;:::i;:::-;6139:214;;;;:::o;6359:118::-;6446:24;6464:5;6446:24;:::i;:::-;6441:3;6434:37;6359:118;;:::o;6483:222::-;6576:4;6614:2;6603:9;6599:18;6591:26;;6627:71;6695:1;6684:9;6680:17;6671:6;6627:71;:::i;:::-;6483:222;;;;:::o;6711:474::-;6779:6;6787;6836:2;6824:9;6815:7;6811:23;6807:32;6804:119;;;6842:79;;:::i;:::-;6804:119;6962:1;6987:53;7032:7;7023:6;7012:9;7008:22;6987:53;:::i;:::-;6977:63;;6933:117;7089:2;7115:53;7160:7;7151:6;7140:9;7136:22;7115:53;:::i;:::-;7105:63;;7060:118;6711:474;;;;;:::o;7191:329::-;7250:6;7299:2;7287:9;7278:7;7274:23;7270:32;7267:119;;;7305:79;;:::i;:::-;7267:119;7425:1;7450:53;7495:7;7486:6;7475:9;7471:22;7450:53;:::i;:::-;7440:63;;7396:117;7191:329;;;;:::o;7526:104::-;7571:7;7600:24;7618:5;7600:24;:::i;:::-;7589:35;;7526:104;;;:::o;7636:142::-;7739:32;7765:5;7739:32;:::i;:::-;7734:3;7727:45;7636:142;;:::o;7784:254::-;7893:4;7931:2;7920:9;7916:18;7908:26;;7944:87;8028:1;8017:9;8013:17;8004:6;7944:87;:::i;:::-;7784:254;;;;:::o;8044:329::-;8103:6;8152:2;8140:9;8131:7;8127:23;8123:32;8120:119;;;8158:79;;:::i;:::-;8120:119;8278:1;8303:53;8348:7;8339:6;8328:9;8324:22;8303:53;:::i;:::-;8293:63;;8249:117;8044:329;;;;:::o;8379:474::-;8447:6;8455;8504:2;8492:9;8483:7;8479:23;8475:32;8472:119;;;8510:79;;:::i;:::-;8472:119;8630:1;8655:53;8700:7;8691:6;8680:9;8676:22;8655:53;:::i;:::-;8645:63;;8601:117;8757:2;8783:53;8828:7;8819:6;8808:9;8804:22;8783:53;:::i;:::-;8773:63;;8728:118;8379:474;;;;;:::o;8859:161::-;8999:13;8995:1;8987:6;8983:14;8976:37;8859:161;:::o;9026:366::-;9168:3;9189:67;9253:2;9248:3;9189:67;:::i;:::-;9182:74;;9265:93;9354:3;9265:93;:::i;:::-;9383:2;9378:3;9374:12;9367:19;;9026:366;;;:::o;9398:419::-;9564:4;9602:2;9591:9;9587:18;9579:26;;9651:9;9645:4;9641:20;9637:1;9626:9;9622:17;9615:47;9679:131;9805:4;9679:131;:::i;:::-;9671:139;;9398:419;;;:::o;9823:180::-;9871:77;9868:1;9861:88;9968:4;9965:1;9958:15;9992:4;9989:1;9982:15;10009:305;10049:3;10068:20;10086:1;10068:20;:::i;:::-;10063:25;;10102:20;10120:1;10102:20;:::i;:::-;10097:25;;10256:1;10188:66;10184:74;10181:1;10178:81;10175:107;;;10262:18;;:::i;:::-;10175:107;10306:1;10303;10299:9;10292:16;;10009:305;;;;:::o;10320:182::-;10460:34;10456:1;10448:6;10444:14;10437:58;10320:182;:::o;10508:366::-;10650:3;10671:67;10735:2;10730:3;10671:67;:::i;:::-;10664:74;;10747:93;10836:3;10747:93;:::i;:::-;10865:2;10860:3;10856:12;10849:19;;10508:366;;;:::o;10880:419::-;11046:4;11084:2;11073:9;11069:18;11061:26;;11133:9;11127:4;11123:20;11119:1;11108:9;11104:17;11097:47;11161:131;11287:4;11161:131;:::i;:::-;11153:139;;10880:419;;;:::o;11305:177::-;11445:29;11441:1;11433:6;11429:14;11422:53;11305:177;:::o;11488:366::-;11630:3;11651:67;11715:2;11710:3;11651:67;:::i;:::-;11644:74;;11727:93;11816:3;11727:93;:::i;:::-;11845:2;11840:3;11836:12;11829:19;;11488:366;;;:::o;11860:419::-;12026:4;12064:2;12053:9;12049:18;12041:26;;12113:9;12107:4;12103:20;12099:1;12088:9;12084:17;12077:47;12141:131;12267:4;12141:131;:::i;:::-;12133:139;;11860:419;;;:::o;12285:143::-;12342:5;12373:6;12367:13;12358:22;;12389:33;12416:5;12389:33;:::i;:::-;12285:143;;;;:::o;12434:351::-;12504:6;12553:2;12541:9;12532:7;12528:23;12524:32;12521:119;;;12559:79;;:::i;:::-;12521:119;12679:1;12704:64;12760:7;12751:6;12740:9;12736:22;12704:64;:::i;:::-;12694:74;;12650:128;12434:351;;;;:::o;12791:348::-;12831:7;12854:20;12872:1;12854:20;:::i;:::-;12849:25;;12888:20;12906:1;12888:20;:::i;:::-;12883:25;;13076:1;13008:66;13004:74;13001:1;12998:81;12993:1;12986:9;12979:17;12975:105;12972:131;;;13083:18;;:::i;:::-;12972:131;13131:1;13128;13124:9;13113:20;;12791:348;;;;:::o;13145:180::-;13193:77;13190:1;13183:88;13290:4;13287:1;13280:15;13314:4;13311:1;13304:15;13331:185;13371:1;13388:20;13406:1;13388:20;:::i;:::-;13383:25;;13422:20;13440:1;13422:20;:::i;:::-;13417:25;;13461:1;13451:35;;13466:18;;:::i;:::-;13451:35;13508:1;13505;13501:9;13496:14;;13331:185;;;;:::o;13522:134::-;13580:9;13613:37;13644:5;13613:37;:::i;:::-;13600:50;;13522:134;;;:::o;13662:147::-;13757:45;13796:5;13757:45;:::i;:::-;13752:3;13745:58;13662:147;;:::o;13815:348::-;13944:4;13982:2;13971:9;13967:18;13959:26;;13995:79;14071:1;14060:9;14056:17;14047:6;13995:79;:::i;:::-;14084:72;14152:2;14141:9;14137:18;14128:6;14084:72;:::i;:::-;13815:348;;;;;:::o;14169:116::-;14239:21;14254:5;14239:21;:::i;:::-;14232:5;14229:32;14219:60;;14275:1;14272;14265:12;14219:60;14169:116;:::o;14291:137::-;14345:5;14376:6;14370:13;14361:22;;14392:30;14416:5;14392:30;:::i;:::-;14291:137;;;;:::o;14434:345::-;14501:6;14550:2;14538:9;14529:7;14525:23;14521:32;14518:119;;;14556:79;;:::i;:::-;14518:119;14676:1;14701:61;14754:7;14745:6;14734:9;14730:22;14701:61;:::i;:::-;14691:71;;14647:125;14434:345;;;;:::o;14785:167::-;14925:19;14921:1;14913:6;14909:14;14902:43;14785:167;:::o;14958:366::-;15100:3;15121:67;15185:2;15180:3;15121:67;:::i;:::-;15114:74;;15197:93;15286:3;15197:93;:::i;:::-;15315:2;15310:3;15306:12;15299:19;;14958:366;;;:::o;15330:419::-;15496:4;15534:2;15523:9;15519:18;15511:26;;15583:9;15577:4;15573:20;15569:1;15558:9;15554:17;15547:47;15611:131;15737:4;15611:131;:::i;:::-;15603:139;;15330:419;;;:::o;15755:168::-;15895:20;15891:1;15883:6;15879:14;15872:44;15755:168;:::o;15929:366::-;16071:3;16092:67;16156:2;16151:3;16092:67;:::i;:::-;16085:74;;16168:93;16257:3;16168:93;:::i;:::-;16286:2;16281:3;16277:12;16270:19;;15929:366;;;:::o;16301:419::-;16467:4;16505:2;16494:9;16490:18;16482:26;;16554:9;16548:4;16544:20;16540:1;16529:9;16525:17;16518:47;16582:131;16708:4;16582:131;:::i;:::-;16574:139;;16301:419;;;:::o;16726:173::-;16866:25;16862:1;16854:6;16850:14;16843:49;16726:173;:::o;16905:366::-;17047:3;17068:67;17132:2;17127:3;17068:67;:::i;:::-;17061:74;;17144:93;17233:3;17144:93;:::i;:::-;17262:2;17257:3;17253:12;17246:19;;16905:366;;;:::o;17277:419::-;17443:4;17481:2;17470:9;17466:18;17458:26;;17530:9;17524:4;17520:20;17516:1;17505:9;17501:17;17494:47;17558:131;17684:4;17558:131;:::i;:::-;17550:139;;17277:419;;;:::o;17702:114::-;;:::o;17822:364::-;17964:3;17985:66;18049:1;18044:3;17985:66;:::i;:::-;17978:73;;18060:93;18149:3;18060:93;:::i;:::-;18178:1;18173:3;18169:11;18162:18;;17822:364;;;:::o;18192:419::-;18358:4;18396:2;18385:9;18381:18;18373:26;;18445:9;18439:4;18435:20;18431:1;18420:9;18416:17;18409:47;18473:131;18599:4;18473:131;:::i;:::-;18465:139;;18192:419;;;:::o;18617:171::-;18757:23;18753:1;18745:6;18741:14;18734:47;18617:171;:::o;18794:366::-;18936:3;18957:67;19021:2;19016:3;18957:67;:::i;:::-;18950:74;;19033:93;19122:3;19033:93;:::i;:::-;19151:2;19146:3;19142:12;19135:19;;18794:366;;;:::o;19166:419::-;19332:4;19370:2;19359:9;19355:18;19347:26;;19419:9;19413:4;19409:20;19405:1;19394:9;19390:17;19383:47;19447:131;19573:4;19447:131;:::i;:::-;19439:139;;19166:419;;;:::o;19591:224::-;19731:34;19727:1;19719:6;19715:14;19708:58;19800:7;19795:2;19787:6;19783:15;19776:32;19591:224;:::o;19821:366::-;19963:3;19984:67;20048:2;20043:3;19984:67;:::i;:::-;19977:74;;20060:93;20149:3;20060:93;:::i;:::-;20178:2;20173:3;20169:12;20162:19;;19821:366;;;:::o;20193:419::-;20359:4;20397:2;20386:9;20382:18;20374:26;;20446:9;20440:4;20436:20;20432:1;20421:9;20417:17;20410:47;20474:131;20600:4;20474:131;:::i;:::-;20466:139;;20193:419;;;:::o;20618:167::-;20655:3;20678:22;20694:5;20678:22;:::i;:::-;20669:31;;20722:4;20715:5;20712:15;20709:41;;20730:18;;:::i;:::-;20709:41;20777:1;20770:5;20766:13;20759:20;;20618:167;;;:::o;20791:191::-;20831:4;20851:20;20869:1;20851:20;:::i;:::-;20846:25;;20885:20;20903:1;20885:20;:::i;:::-;20880:25;;20924:1;20921;20918:8;20915:34;;;20929:18;;:::i;:::-;20915:34;20974:1;20971;20967:9;20959:17;;20791:191;;;;:::o;20988:442::-;21137:4;21175:2;21164:9;21160:18;21152:26;;21188:71;21256:1;21245:9;21241:17;21232:6;21188:71;:::i;:::-;21269:72;21337:2;21326:9;21322:18;21313:6;21269:72;:::i;:::-;21351;21419:2;21408:9;21404:18;21395:6;21351:72;:::i;:::-;20988:442;;;;;;:::o;21436:180::-;21484:77;21481:1;21474:88;21581:4;21578:1;21571:15;21605:4;21602:1;21595:15;21622:180;21670:77;21667:1;21660:88;21767:4;21764:1;21757:15;21791:4;21788:1;21781:15;21808:143;21865:5;21896:6;21890:13;21881:22;;21912:33;21939:5;21912:33;:::i;:::-;21808:143;;;;:::o;21957:351::-;22027:6;22076:2;22064:9;22055:7;22051:23;22047:32;22044:119;;;22082:79;;:::i;:::-;22044:119;22202:1;22227:64;22283:7;22274:6;22263:9;22259:22;22227:64;:::i;:::-;22217:74;;22173:128;21957:351;;;;:::o;22314:85::-;22359:7;22388:5;22377:16;;22314:85;;;:::o;22405:158::-;22463:9;22496:61;22514:42;22523:32;22549:5;22523:32;:::i;:::-;22514:42;:::i;:::-;22496:61;:::i;:::-;22483:74;;22405:158;;;:::o;22569:147::-;22664:45;22703:5;22664:45;:::i;:::-;22659:3;22652:58;22569:147;;:::o;22722:114::-;22789:6;22823:5;22817:12;22807:22;;22722:114;;;:::o;22842:184::-;22941:11;22975:6;22970:3;22963:19;23015:4;23010:3;23006:14;22991:29;;22842:184;;;;:::o;23032:132::-;23099:4;23122:3;23114:11;;23152:4;23147:3;23143:14;23135:22;;23032:132;;;:::o;23170:108::-;23247:24;23265:5;23247:24;:::i;:::-;23242:3;23235:37;23170:108;;:::o;23284:179::-;23353:10;23374:46;23416:3;23408:6;23374:46;:::i;:::-;23452:4;23447:3;23443:14;23429:28;;23284:179;;;;:::o;23469:113::-;23539:4;23571;23566:3;23562:14;23554:22;;23469:113;;;:::o;23618:732::-;23737:3;23766:54;23814:5;23766:54;:::i;:::-;23836:86;23915:6;23910:3;23836:86;:::i;:::-;23829:93;;23946:56;23996:5;23946:56;:::i;:::-;24025:7;24056:1;24041:284;24066:6;24063:1;24060:13;24041:284;;;24142:6;24136:13;24169:63;24228:3;24213:13;24169:63;:::i;:::-;24162:70;;24255:60;24308:6;24255:60;:::i;:::-;24245:70;;24101:224;24088:1;24085;24081:9;24076:14;;24041:284;;;24045:14;24341:3;24334:10;;23742:608;;;23618:732;;;;:::o;24356:831::-;24619:4;24657:3;24646:9;24642:19;24634:27;;24671:71;24739:1;24728:9;24724:17;24715:6;24671:71;:::i;:::-;24752:80;24828:2;24817:9;24813:18;24804:6;24752:80;:::i;:::-;24879:9;24873:4;24869:20;24864:2;24853:9;24849:18;24842:48;24907:108;25010:4;25001:6;24907:108;:::i;:::-;24899:116;;25025:72;25093:2;25082:9;25078:18;25069:6;25025:72;:::i;:::-;25107:73;25175:3;25164:9;25160:19;25151:6;25107:73;:::i;:::-;24356:831;;;;;;;;:::o;25193:823::-;25450:4;25488:3;25477:9;25473:19;25465:27;;25502:71;25570:1;25559:9;25555:17;25546:6;25502:71;:::i;:::-;25583:72;25651:2;25640:9;25636:18;25627:6;25583:72;:::i;:::-;25665:80;25741:2;25730:9;25726:18;25717:6;25665:80;:::i;:::-;25755;25831:2;25820:9;25816:18;25807:6;25755:80;:::i;:::-;25845:81;25921:3;25910:9;25906:19;25897:6;25845:81;:::i;:::-;25936:73;26004:3;25993:9;25989:19;25980:6;25936:73;:::i;:::-;25193:823;;;;;;;;;:::o;26022:663::-;26110:6;26118;26126;26175:2;26163:9;26154:7;26150:23;26146:32;26143:119;;;26181:79;;:::i;:::-;26143:119;26301:1;26326:64;26382:7;26373:6;26362:9;26358:22;26326:64;:::i;:::-;26316:74;;26272:128;26439:2;26465:64;26521:7;26512:6;26501:9;26497:22;26465:64;:::i;:::-;26455:74;;26410:129;26578:2;26604:64;26660:7;26651:6;26640:9;26636:22;26604:64;:::i;:::-;26594:74;;26549:129;26022:663;;;;;:::o
Swarm Source
ipfs://50c7f693724536063614720c69a4301e2551480df51035fe8d7174d643fa7dfd
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.