Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 15 from a total of 15 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw | 21066968 | 490 days ago | IN | 0 ETH | 0.00157065 | ||||
| Withdraw | 21031723 | 495 days ago | IN | 0 ETH | 0.00148104 | ||||
| Withdraw | 21027717 | 496 days ago | IN | 0 ETH | 0.00169733 | ||||
| Withdraw | 21027553 | 496 days ago | IN | 0 ETH | 0.00170911 | ||||
| Withdraw | 21027397 | 496 days ago | IN | 0 ETH | 0.00184093 | ||||
| Deposit | 20729472 | 537 days ago | IN | 5.6 ETH | 0.00115219 | ||||
| Deposit To | 20697842 | 542 days ago | IN | 0.2 ETH | 0.00054076 | ||||
| Deposit | 20623900 | 552 days ago | IN | 0.25 ETH | 0.00027626 | ||||
| Deposit | 20593569 | 556 days ago | IN | 0.1749 ETH | 0.00043663 | ||||
| Deposit | 20538154 | 564 days ago | IN | 0.32 ETH | 0.00017675 | ||||
| Return To Sacrif... | 20533489 | 565 days ago | IN | 0.2 ETH | 0.00085035 | ||||
| Deposit | 20469738 | 574 days ago | IN | 0.46 ETH | 0.00953959 | ||||
| Sacrifice To Tre... | 20469215 | 574 days ago | IN | 0 ETH | 0.00072932 | ||||
| Deposit | 20469192 | 574 days ago | IN | 2 ETH | 0.0114303 | ||||
| Set Sacrificed T... | 20468789 | 574 days ago | IN | 0 ETH | 0.00015784 |
Latest 16 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 21031723 | 495 days ago | 0.96579416 ETH | ||||
| Transfer | 21031723 | 495 days ago | 0.96579416 ETH | ||||
| Transfer | 21027717 | 496 days ago | 0.19957894 ETH | ||||
| Transfer | 21027717 | 496 days ago | 0.19957894 ETH | ||||
| Transfer | 21027553 | 496 days ago | 5.57541432 ETH | ||||
| Transfer | 21027553 | 496 days ago | 5.57541432 ETH | ||||
| Transfer | 21027397 | 496 days ago | 2.07746888 ETH | ||||
| Transfer | 21027397 | 496 days ago | 2.07746888 ETH | ||||
| Transfer* | 20729472 | 537 days ago | 5.6 ETH | ||||
| Transfer* | 20697842 | 542 days ago | 0.2 ETH | ||||
| Transfer* | 20623900 | 552 days ago | 0.25 ETH | ||||
| Transfer* | 20593569 | 556 days ago | 0.1749 ETH | ||||
| Transfer* | 20538154 | 564 days ago | 0.32 ETH | ||||
| Transfer* | 20533489 | 565 days ago | 0.2 ETH | ||||
| Transfer* | 20469738 | 574 days ago | 0.46 ETH | ||||
| Transfer* | 20469192 | 574 days ago | 2 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
AgfiFortuna
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// interface for WETH (wrapped ETH)
interface IWETH {
function withdraw(uint256 wad) external;
function deposit() external payable;
function transfer(address recipient, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
}
// Import the interface for ERC20 tokens
interface ISACRIFICEDTOKEN {
function mint(address to, uint256 value) external returns (bool);
function setSacrificeProfit(address user, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
function lastSacrificeProfit(address account) external view returns (uint256);
}
// Import the interface for ERC20 tokens
interface IPXETH {
function deposit(address receiver,bool shouldCompound) external payable returns (uint256 postFeeAmount, uint256 feeAmount);
}
// Import the interface for ERC20 tokens
interface IPXETHTOKEN {
function transfer(address recipient, uint256 amount) external returns (bool);
}
interface IAPXETH{
function redeem(uint256 shares,address receiver,address owner) external returns (uint256 assets);
function balanceOf(address account) external view returns (uint256);
function convertToAssets(uint256 shares) external view returns (uint256);
function convertToShares(uint256 assets) external view returns (uint256);
}
// Import the interface for the Uniswap V3 Swap
interface ISwap {
function swap(
address recipient,
bool zeroForOne,
int256 amountSpecified,
uint160 sqrtPriceLimitX96,
bytes calldata data
) external returns (int256 amount0);
function slot0() external view returns (
uint160 sqrtPriceX96,
int24 tick,
uint16 observationIndex,
uint16 observationCardinality,
uint16 observationCardinalityNext,
uint8 feeProtocol,
bool unlocked
);
}
contract AgfiFortuna {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
event Deposit(address indexed from, address indexed to, uint256 value);
event Withdraw(address indexed from, address indexed to, uint256 value);
event Sacrifice(address indexed from, uint256 value);
IWETH public weth;
ISwap public swap;
IPXETHTOKEN public pxethToken;
IPXETH public pxeth;
IAPXETH public apxeth;
ISACRIFICEDTOKEN public sacrificedToken;
address payable treasuryAddress;
address public owner;
uint256 public percentageSupply; // total amount of user owned funds representing 100% to scale the percentages of users correctly
uint256 public sacrificedSupply; // total amount of tokens sacrificed to the treasury
mapping(address => uint256) public userPercentageBalance;
mapping(address => mapping(address => uint256)) public allowance;
string public name = "AGFI: Fortuna";
string public symbol = "AGFR";
uint8 public decimals = 18;
uint256 public reflectionTax = 25e15; // Amount paid back to holders
uint256 public totalTreasuryReturns = 0; // tracks the total amount of eth returned from the treasury (Just used for tracking no actual functionality)
uint256 public sacrificersBalance = 0; // amount of unclaimed value belonging to sacrificers
uint256 public sacrificersProfit = 0; // amount of profit per token sacrificed to the treasury
uint256 private constant FULLPERCENT = 1e18;
bool private locked;
modifier noReentrancy() {
require(!locked, "Reentrant call detected");
locked = true;
_;
locked = false;
}
modifier onlyOwner() {
require(msg.sender == owner, "Not the owner");
_;
}
modifier onlySacrificedToken() {
require(msg.sender == address(sacrificedToken), "Not sacrificed token");
_;
}
constructor() {
owner = msg.sender;
weth = IWETH(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2);
swap = ISwap(0x02eDd21F1DB8EB146be60998e9801691e725F119);
treasuryAddress = payable(0x4c3ADd465413A85EfcD24a523A3cEb68B7566F95);
pxethToken = IPXETHTOKEN(0x04C154b66CB340F3Ae24111CC767e0184Ed00Cc6);
pxeth = IPXETH(0xD664b74274DfEB538d9baC494F3a4760828B02b0);
apxeth = IAPXETH(0x9Ba021B0a9b958B5E75cE9f6dff97C7eE52cb3E6);
}
function setReflectionTax(uint256 newReflectionTax) external onlyOwner(){
reflectionTax = newReflectionTax;
}
function setTreasuryAddress(address newTreasuryAddress) external onlyOwner(){
treasuryAddress = payable(newTreasuryAddress);
}
function setSwapAddress(address newSwapAddress) external onlyOwner(){
swap = ISwap(newSwapAddress);
}
function setSacrificedToken(address newSacrificedToken) external onlyOwner(){
sacrificedToken = ISACRIFICEDTOKEN(newSacrificedToken);
}
function depositLogic(address to, uint256 amount) internal {
uint256 reflectionAmount = (amount * reflectionTax)/FULLPERCENT;
uint256 preProfitFactor = profitFactor();
(uint256 postFeeAmount,) = pxeth.deposit{value: amount}(address(this), true);
uint256 percentageBalance = ((postFeeAmount-reflectionAmount) * FULLPERCENT) / preProfitFactor;
userPercentageBalance[to] += percentageBalance;
percentageSupply += percentageBalance;
emit Deposit(msg.sender, to, amount);
}
// deposit ETH in exchange for tokens
function deposit() external payable noReentrancy {
require(msg.value > 0, "Must send ETH to deposit");
depositLogic(msg.sender, msg.value);
}
// deposit ETH in exchange for tokens to a specific address
function depositTo(address to) external payable noReentrancy {
require(msg.value > 0, "Must send ETH to deposit");
depositLogic(to, msg.value);
}
// logic for withdrawing PETH to the user directly without converting it
function withdrawpxethLogic(address to, uint256 amount) internal returns(uint256){
require(balanceOf(msg.sender) >= amount, "Not enough balance");
uint256 initBalanceOf = balanceOf(msg.sender); // this is used to make sure the percentage requested by the user remains consistent
claimSacrificedProfits(msg.sender);
uint256 withdrawPercentage = (userPercentageBalance[msg.sender] * amount)/initBalanceOf;
userPercentageBalance[msg.sender] -= withdrawPercentage;
percentageSupply -= withdrawPercentage;
emit Withdraw(msg.sender, to, amount);
return apxeth.redeem(apxeth.convertToShares(amount), to, address(this));
}
// used for lower amounts. Best to withdraw using pxeth and let user decide what to do with it
function withdrawLogic(address to, uint256 amount) internal {
uint256 returnedAmount = withdrawpxethLogic(address(this), amount);
(uint160 sqrtPriceX96, , , , , , ) = swap.slot0();
uint160 sqrtPriceLimitX96 = sqrtPriceX96 * 9999 / 10000;
bytes memory data = abi.encode(to);
swap.swap(
address(this), // This contract will handle the callback
true,
int256(returnedAmount),
sqrtPriceLimitX96,
data
);
}
function uniswapV3SwapCallback(
int256 amount0Delta,
int256 amount1Delta,
bytes calldata data
) external {
require(msg.sender == address(swap), "Unauthorized");
address to = abi.decode(data, (address));
if (amount0Delta > 0) {
require(pxethToken.transfer(address(swap), uint256(amount0Delta)), "Transfer failed");
weth.withdraw(uint256(-amount1Delta));
payable(to).transfer(uint256(-amount1Delta));
}
if (amount1Delta > 0) {
require(weth.transfer(address(swap), uint256(amount1Delta)), "Transfer failed");
}
}
// converts the underlying assets to ETH before withdrawing (don't call if you are withdrawing a large amount of funds as slippage might cause the withdraw to fail)
function withdraw(uint256 amount) external noReentrancy{
withdrawLogic(msg.sender, amount);
}
// converts the underlying assets to ETH before withdrawing (don't call if you are withdrawing a large amount of funds as slippage might cause the withdraw to fail)
function withdrawTo(address to, uint256 amount) external noReentrancy{
withdrawLogic(to, amount);
}
// Doesn't convert underlying assets before withdrawing
function withdrawDirect(uint256 amount) external noReentrancy{
withdrawpxethLogic(msg.sender, amount);
}
// Doesn't convert underlying assets before withdrawing
function withdrawDirectTo(address to, uint256 amount) external noReentrancy{
withdrawpxethLogic(to, amount);
}
// function to return value from the treasury to the sacrificed balances. Any value added here will only go towards the sacrified balances
function returnToSacrificers() external payable {
require(msg.value > 0, "Must send ETH");
totalTreasuryReturns += msg.value;
(uint256 postFeeAmount, ) = pxeth.deposit{value: msg.value}(address(this), true);
sacrificersProfit += (apxeth.convertToShares(postFeeAmount)*1e18)/sacrificedSupply;
sacrificersBalance += apxeth.convertToShares(postFeeAmount);
}
// this enables users to sacrifice a variable amount to the treasury to scale their investment. Sacrificied funds will earn rewards relative to how well the treasury performs
function sacrificeToTreasury(uint256 amount) external noReentrancy {
withdrawpxethLogic(treasuryAddress, amount);
require(sacrificedToken.mint(msg.sender, amount), "Failed to mint");
sacrificedSupply += amount;
emit Sacrifice(msg.sender, amount);
}
function updateSacrificedProfits(address user) external onlySacrificedToken returns(bool){
claimSacrificedProfits(user);
return true;
}
// function to claim the profits earned from sacrificed balance. This is called automatically internally before any operation
function claimSacrificedProfits(address user) internal {
uint256 returnsToClaim = unclaimedReturns(user);
require(sacrificedToken.setSacrificeProfit(user, sacrificersProfit), "Failed to set profit");
if(returnsToClaim>0){
uint256 percentageToClaim = apxeth.convertToAssets(returnsToClaim);
sacrificersBalance -= returnsToClaim;
userPercentageBalance[user] += percentageToClaim;
percentageSupply += percentageToClaim;
}
}
function approve(address spender, uint256 value) public returns (bool success) {
allowance[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
// logic for executing a transfer. The token balance is derived from the percentage of the value they own so when transfering funds it is actually the percentage that is moved
function transferLogic(address from, address to, uint256 value) internal{
require(balanceOf(from) >= value, "Not enough balance");
uint256 initBalanceOf = balanceOf(msg.sender);
claimSacrificedProfits(msg.sender);
uint256 withdrawPercentage = (userPercentageBalance[from] * value)/initBalanceOf;
userPercentageBalance[from] -= withdrawPercentage;
userPercentageBalance[to] += withdrawPercentage;
emit Transfer(from, to, value);
}
// Function to transfer tokens
function transfer(address to, uint256 value) public returns (bool success) {
transferLogic(msg.sender, to, value);
return true;
}
// Function to transfer tokens from an approved allowance
function transferFrom(address from, address to, uint256 value) public returns (bool success) {
require(value <= allowance[from][msg.sender], "Allowance exceeded");
allowance[from][msg.sender] -= value;
transferLogic(from, to, value);
return true;
}
// calculates the balance of a user accounting for their sacrificed balance as well as their normal balance
function balanceOf(address account) public view virtual returns (uint256) {
uint256 userSupply = 0;
uint256 specialSupply = 0;
if(userPercentageBalance[account] != 0){
userSupply = (apxeth.convertToAssets(usersapxethBalance())*userPercentageBalance[account])/(percentageSupply);
}
if(sacrificedToken.balanceOf(account) != 0){
specialSupply = apxeth.convertToAssets(unclaimedReturns(account));
}
return specialSupply + userSupply;
}
// gets total supply accounting both sacrificed profits and user funds
function totalSupply() public view virtual returns (uint256) {
return apxeth.convertToAssets(apxeth.balanceOf(address(this)));
}
// value is pegged to pxeth which in turn is pegged to eth. This returns the value of the underlying funds to scale the balance correctly
function profitFactor() public view returns(uint256)
{
if(percentageSupply == 0){
return FULLPERCENT;
}
return (apxeth.convertToAssets(usersapxethBalance())*1e18)/percentageSupply;
}
// how much value is owned by the non sacrificed balance
function usersapxethBalance() public view returns (uint256) {
if(sacrificersBalance >= apxeth.balanceOf(address(this))){
return 0;
}
return apxeth.balanceOf(address(this)) - sacrificersBalance;
}
// returns unclaimed value earned by the sacrificed balance
function unclaimedReturns(address account) public view returns (uint256) {
if(sacrificedToken.balanceOf(account) == 0){
return 0;
}
return (sacrificedToken.balanceOf(account)*(sacrificersProfit - sacrificedToken.lastSacrificeProfit(account)))/FULLPERCENT;
}
receive() external payable {}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Sacrifice","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"},{"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":"Withdraw","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"apxeth","outputs":[{"internalType":"contract IAPXETH","name":"","type":"address"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"depositTo","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentageSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"profitFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pxeth","outputs":[{"internalType":"contract IPXETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pxethToken","outputs":[{"internalType":"contract IPXETHTOKEN","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reflectionTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"returnToSacrificers","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sacrificeToTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sacrificedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sacrificedToken","outputs":[{"internalType":"contract ISACRIFICEDTOKEN","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sacrificersBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sacrificersProfit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newReflectionTax","type":"uint256"}],"name":"setReflectionTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newSacrificedToken","type":"address"}],"name":"setSacrificedToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newSwapAddress","type":"address"}],"name":"setSwapAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTreasuryAddress","type":"address"}],"name":"setTreasuryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swap","outputs":[{"internalType":"contract ISwap","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTreasuryReturns","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unclaimedReturns","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int256","name":"amount0Delta","type":"int256"},{"internalType":"int256","name":"amount1Delta","type":"int256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"uniswapV3SwapCallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"updateSacrificedProfits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userPercentageBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usersapxethBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawDirect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawDirectTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526040518060400160405280600d81526020017f414746493a20466f7274756e6100000000000000000000000000000000000000815250600c90816100489190610542565b506040518060400160405280600481526020017f4147465200000000000000000000000000000000000000000000000000000000815250600d908161008d9190610542565b506012600e5f6101000a81548160ff021916908360ff1602179055506658d15e17628000600f555f6010555f6011555f6012553480156100cb575f80fd5b503360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507302edd21f1db8eb146be60998e9801691e725f11960015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734c3add465413a85efcd24a523a3ceb68b7566f9560065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507304c154b66cb340f3ae24111cc767e0184ed00cc660025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d664b74274dfeb538d9bac494f3a4760828b02b060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739ba021b0a9b958b5e75ce9f6dff97c7ee52cb3e660045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610611565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038357607f821691505b6020821081036103965761039561033f565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826103bd565b61040286836103bd565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61044661044161043c8461041a565b610423565b61041a565b9050919050565b5f819050919050565b61045f8361042c565b61047361046b8261044d565b8484546103c9565b825550505050565b5f90565b61048761047b565b610492818484610456565b505050565b5b818110156104b5576104aa5f8261047f565b600181019050610498565b5050565b601f8211156104fa576104cb8161039c565b6104d4846103ae565b810160208510156104e3578190505b6104f76104ef856103ae565b830182610497565b50505b505050565b5f82821c905092915050565b5f61051a5f19846008026104ff565b1980831691505092915050565b5f610532838361050b565b9150826002028217905092915050565b61054b82610308565b67ffffffffffffffff81111561056457610563610312565b5b61056e825461036c565b6105798282856104b9565b5f60209050601f8311600181146105aa575f8415610598578287015190505b6105a28582610527565b865550610609565b601f1984166105b88661039c565b5f5b828110156105df578489015182556001820191506020850194506020810190506105ba565b868310156105fc57848901516105f8601f89168261050b565b8355505b6001600288020188555050505b505050505050565b6140448061061e5f395ff3fe60806040526004361061023e575f3560e01c80638119c0651161012d578063cb9a1065116100aa578063dd62ed3e1161006e578063dd62ed3e14610829578063e168f99d14610865578063e1d0bd291461088d578063e217b5a3146108b7578063fa461e33146108df57610245565b8063cb9a106514610765578063cd8992881461078f578063d0e30db0146107cb578063d453bf52146107d5578063d8b0d849146107ff57610245565b806395d89b41116100f157806395d89b411461068f578063a5bc6d6f146106b9578063a9059cbb146106e3578063b760faf91461071f578063b8a8471e1461073b57610245565b80638119c065146105bd578063823e7651146105e75780638b30c7c8146106115780638cdfe1661461063b5780638da5cb5b1461066557610245565b8063313ce567116101bb578063508662a01161017f578063508662a0146104b95780636605bfda146104f557806370a082311461051d57806374b4b17e146105595780637dc4b9cc1461059557610245565b8063313ce56714610409578063392fc668146104335780633ac11da01461045b5780633ae2f354146104655780633fc8cef31461048f57610245565b806318160ddd1161020257806318160ddd1461032b5780631cfd460c14610355578063205c28781461037d57806323b872dd146103a55780632e1a7d4d146103e157610245565b806306fdde0314610249578063095ea7b3146102735780630cadd9a4146102af57806316486416146102d95780631724ecee1461030157610245565b3661024557005b5f80fd5b348015610254575f80fd5b5061025d610907565b60405161026a919061300d565b60405180910390f35b34801561027e575f80fd5b50610299600480360381019061029491906130c2565b610993565b6040516102a6919061311a565b60405180910390f35b3480156102ba575f80fd5b506102c3610a80565b6040516102d09190613142565b60405180910390f35b3480156102e4575f80fd5b506102ff60048036038101906102fa919061315b565b610bd6565b005b34801561030c575f80fd5b50610315610ca8565b60405161032291906131e1565b60405180910390f35b348015610336575f80fd5b5061033f610ccd565b60405161034c9190613142565b60405180910390f35b348015610360575f80fd5b5061037b600480360381019061037691906131fa565b610e04565b005b348015610388575f80fd5b506103a3600480360381019061039e91906130c2565b610ff6565b005b3480156103b0575f80fd5b506103cb60048036038101906103c69190613225565b611086565b6040516103d8919061311a565b60405180910390f35b3480156103ec575f80fd5b50610407600480360381019061040291906131fa565b6111e6565b005b348015610414575f80fd5b5061041d611275565b60405161042a9190613290565b60405180910390f35b34801561043e575f80fd5b50610459600480360381019061045491906130c2565b611287565b005b610463611318565b005b348015610470575f80fd5b50610479611597565b6040516104869190613142565b60405180910390f35b34801561049a575f80fd5b506104a361159d565b6040516104b091906132c9565b60405180910390f35b3480156104c4575f80fd5b506104df60048036038101906104da919061315b565b6115c0565b6040516104ec919061311a565b60405180910390f35b348015610500575f80fd5b5061051b6004803603810190610516919061315b565b611662565b005b348015610528575f80fd5b50610543600480360381019061053e919061315b565b611734565b6040516105509190613142565b60405180910390f35b348015610564575f80fd5b5061057f600480360381019061057a919061315b565b6119ce565b60405161058c9190613142565b60405180910390f35b3480156105a0575f80fd5b506105bb60048036038101906105b6919061315b565b611bda565b005b3480156105c8575f80fd5b506105d1611cac565b6040516105de9190613302565b60405180910390f35b3480156105f2575f80fd5b506105fb611cd1565b604051610608919061333b565b60405180910390f35b34801561061c575f80fd5b50610625611cf6565b6040516106329190613374565b60405180910390f35b348015610646575f80fd5b5061064f611d1b565b60405161065c9190613142565b60405180910390f35b348015610670575f80fd5b50610679611dfb565b604051610686919061339c565b60405180910390f35b34801561069a575f80fd5b506106a3611e20565b6040516106b0919061300d565b60405180910390f35b3480156106c4575f80fd5b506106cd611eac565b6040516106da9190613142565b60405180910390f35b3480156106ee575f80fd5b50610709600480360381019061070491906130c2565b611eb2565b604051610716919061311a565b60405180910390f35b6107396004803603810190610734919061315b565b611ec8565b005b348015610746575f80fd5b5061074f611f99565b60405161075c9190613142565b60405180910390f35b348015610770575f80fd5b50610779611f9f565b60405161078691906133d5565b60405180910390f35b34801561079a575f80fd5b506107b560048036038101906107b0919061315b565b611fc4565b6040516107c29190613142565b60405180910390f35b6107d3611fd9565b005b3480156107e0575f80fd5b506107e96120a9565b6040516107f69190613142565b60405180910390f35b34801561080a575f80fd5b506108136120af565b6040516108209190613142565b60405180910390f35b348015610834575f80fd5b5061084f600480360381019061084a91906133ee565b6120b5565b60405161085c9190613142565b60405180910390f35b348015610870575f80fd5b5061088b600480360381019061088691906131fa565b6120d5565b005b348015610898575f80fd5b506108a1612165565b6040516108ae9190613142565b60405180910390f35b3480156108c2575f80fd5b506108dd60048036038101906108d891906131fa565b61216b565b005b3480156108ea575f80fd5b50610905600480360381019061090091906134c0565b612204565b005b600c80546109149061355e565b80601f01602080910402602001604051908101604052809291908181526020018280546109409061355e565b801561098b5780601f106109625761010080835404028352916020019161098b565b820191905f5260205f20905b81548152906001019060200180831161096e57829003601f168201915b505050505081565b5f81600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a6e9190613142565b60405180910390a36001905092915050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610adb919061339c565b602060405180830381865afa158015610af6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1a91906135a2565b60115410610b2a575f9050610bd3565b60115460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b87919061339c565b602060405180830381865afa158015610ba2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc691906135a2565b610bd091906135fa565b90505b90565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5c90613677565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d65919061339c565b602060405180830381865afa158015610d80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da491906135a2565b6040518263ffffffff1660e01b8152600401610dc09190613142565b602060405180830381865afa158015610ddb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dff91906135a2565b905090565b60135f9054906101000a900460ff1615610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a906136df565b60405180910390fd5b600160135f6101000a81548160ff021916908315150217905550610e9860065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261258f565b5060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401610ef59291906136fd565b6020604051808303815f875af1158015610f11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f35919061374e565b610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b906137c3565b60405180910390fd5b8060095f828254610f8591906137e1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fff8488d11ac2308131a8d9936ff5d9df537241466d5b70a4d0637191ca0aca5482604051610fd29190613142565b60405180910390a25f60135f6101000a81548160ff02191690831515021790555050565b60135f9054906101000a900460ff1615611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055506110698282612857565b5f60135f6101000a81548160ff0219169083151502179055505050565b5f600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115611142576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111399061385e565b60405180910390fd5b81600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111c991906135fa565b925050819055506111db8484846129e8565b600190509392505050565b60135f9054906101000a900460ff1615611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055506112593382612857565b5f60135f6101000a81548160ff02191690831515021790555050565b600e5f9054906101000a900460ff1681565b60135f9054906101000a900460ff16156112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055506112fa828261258f565b505f60135f6101000a81548160ff0219169083151502179055505050565b5f341161135a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611351906138c6565b60405180910390fd5b3460105f82825461136b91906137e1565b925050819055505f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663adc9740c343060016040518463ffffffff1660e01b81526004016113d19291906138e4565b604080518083038185885af11580156113ec573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611411919061390b565b509050600954670de0b6b3a764000060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6e6f592846040518263ffffffff1660e01b815260040161147a9190613142565b602060405180830381865afa158015611495573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b991906135a2565b6114c39190613949565b6114cd91906139b7565b60125f8282546114dd91906137e1565b9250508190555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6e6f592826040518263ffffffff1660e01b815260040161153e9190613142565b602060405180830381865afa158015611559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d91906135a2565b60115f82825461158d91906137e1565b9250508190555050565b600f5481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164790613a31565b60405180910390fd5b61165982612bb1565b60019050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e890613677565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f805f90505f80600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541461187657600854600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a611804610a80565b6040518263ffffffff1660e01b81526004016118209190613142565b602060405180830381865afa15801561183b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185f91906135a2565b6118699190613949565b61187391906139b7565b91505b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b81526004016118d1919061339c565b602060405180830381865afa1580156118ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191091906135a2565b146119b95760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a61195b866119ce565b6040518263ffffffff1660e01b81526004016119779190613142565b602060405180830381865afa158015611992573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119b691906135a2565b90505b81816119c591906137e1565b92505050919050565b5f8060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401611a2a919061339c565b602060405180830381865afa158015611a45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6991906135a2565b03611a76575f9050611bd5565b670de0b6b3a764000060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e991a2d7846040518263ffffffff1660e01b8152600401611ad9919061339c565b602060405180830381865afa158015611af4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1891906135a2565b601254611b2591906135fa565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401611b7f919061339c565b602060405180830381865afa158015611b9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bbe91906135a2565b611bc89190613949565b611bd291906139b7565b90505b919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6090613677565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8060085403611d3557670de0b6b3a76400009050611df8565b600854670de0b6b3a764000060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a611d86610a80565b6040518263ffffffff1660e01b8152600401611da29190613142565b602060405180830381865afa158015611dbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611de191906135a2565b611deb9190613949565b611df591906139b7565b90505b90565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d8054611e2d9061355e565b80601f0160208091040260200160405190810160405280929190818152602001828054611e599061355e565b8015611ea45780601f10611e7b57610100808354040283529160200191611ea4565b820191905f5260205f20905b815481529060010190602001808311611e8757829003601f168201915b505050505081565b60105481565b5f611ebe3384846129e8565b6001905092915050565b60135f9054906101000a900460ff1615611f17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0e906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055505f3411611f73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6a90613a99565b60405180910390fd5b611f7d8134612dc7565b5f60135f6101000a81548160ff02191690831515021790555050565b60095481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a602052805f5260405f205f915090505481565b60135f9054906101000a900460ff1615612028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201f906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055505f3411612084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207b90613a99565b60405180910390fd5b61208e3334612dc7565b5f60135f6101000a81548160ff021916908315150217905550565b60125481565b60115481565b600b602052815f5260405f20602052805f5260405f205f91509150505481565b60135f9054906101000a900460ff1615612124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211b906136df565b60405180910390fd5b600160135f6101000a81548160ff021916908315150217905550612148338261258f565b505f60135f6101000a81548160ff02191690831515021790555050565b60085481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f190613677565b60405180910390fd5b80600f8190555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228a90613b01565b60405180910390fd5b5f82828101906122a39190613b5a565b90505f8513156124855760025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518363ffffffff1660e01b815260040161232a9291906136fd565b6020604051808303815f875af1158015612346573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236a919061374e565b6123a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a090613bcf565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d856123ee90613bed565b6040518263ffffffff1660e01b815260040161240a9190613142565b5f604051808303815f87803b158015612421575f80fd5b505af1158015612433573d5f803e3d5ffd5b505050508073ffffffffffffffffffffffffffffffffffffffff166108fc8561245b90613bed565b90811502906040515f60405180830381858888f19350505050158015612483573d5f803e3d5ffd5b505b5f841315612588575f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040518363ffffffff1660e01b81526004016125089291906136fd565b6020604051808303815f875af1158015612524573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612548919061374e565b612587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257e90613bcf565b60405180910390fd5b5b5050505050565b5f8161259a33611734565b10156125db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d290613c7d565b60405180910390fd5b5f6125e533611734565b90506125f033612bb1565b5f8184600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461263b9190613949565b61264591906139b7565b905080600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461269391906135fa565b925050819055508060085f8282546126ab91906135fa565b925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb8660405161270f9190613142565b60405180910390a360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ba08765260045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6e6f592876040518263ffffffff1660e01b81526004016127ae9190613142565b602060405180830381865afa1580156127c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ed91906135a2565b87306040518463ffffffff1660e01b815260040161280d93929190613c9b565b6020604051808303815f875af1158015612829573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284d91906135a2565b9250505092915050565b5f612862308361258f565b90505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156128cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f39190613d91565b50505050505090505f61271061270f8361290d9190613e2e565b6129179190613e6f565b90505f8560405160200161292b919061339c565b604051602081830303815290604052905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663128acb083060018786866040518663ffffffff1660e01b815260040161299f959493929190613f0f565b6020604051808303815f875af11580156129bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129df9190613f7b565b50505050505050565b806129f284611734565b1015612a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2a90613c7d565b60405180910390fd5b5f612a3d33611734565b9050612a4833612bb1565b5f8183600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a939190613949565b612a9d91906139b7565b905080600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612aeb91906135fa565b9250508190555080600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612b3e91906137e1565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612ba29190613142565b60405180910390a35050505050565b5f612bbb826119ce565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f140209e836012546040518363ffffffff1660e01b8152600401612c1b9291906136fd565b6020604051808303815f875af1158015612c37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c5b919061374e565b612c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9190613ff0565b60405180910390fd5b5f811115612dc3575f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a836040518263ffffffff1660e01b8152600401612cfd9190613142565b602060405180830381865afa158015612d18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d3c91906135a2565b90508160115f828254612d4f91906135fa565b9250508190555080600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612da291906137e1565b925050819055508060085f828254612dba91906137e1565b92505081905550505b5050565b5f670de0b6b3a7640000600f5483612ddf9190613949565b612de991906139b7565b90505f612df4611d1b565b90505f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663adc9740c853060016040518463ffffffff1660e01b8152600401612e559291906138e4565b604080518083038185885af1158015612e70573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612e95919061390b565b5090505f82670de0b6b3a76400008584612eaf91906135fa565b612eb99190613949565b612ec391906139b7565b905080600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612f1191906137e1565b925050819055508060085f828254612f2991906137e1565b925050819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f6287604051612f8d9190613142565b60405180910390a3505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612fdf82612f9d565b612fe98185612fa7565b9350612ff9818560208601612fb7565b61300281612fc5565b840191505092915050565b5f6020820190508181035f8301526130258184612fd5565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61305e82613035565b9050919050565b61306e81613054565b8114613078575f80fd5b50565b5f8135905061308981613065565b92915050565b5f819050919050565b6130a18161308f565b81146130ab575f80fd5b50565b5f813590506130bc81613098565b92915050565b5f80604083850312156130d8576130d761302d565b5b5f6130e58582860161307b565b92505060206130f6858286016130ae565b9150509250929050565b5f8115159050919050565b61311481613100565b82525050565b5f60208201905061312d5f83018461310b565b92915050565b61313c8161308f565b82525050565b5f6020820190506131555f830184613133565b92915050565b5f602082840312156131705761316f61302d565b5b5f61317d8482850161307b565b91505092915050565b5f819050919050565b5f6131a96131a461319f84613035565b613186565b613035565b9050919050565b5f6131ba8261318f565b9050919050565b5f6131cb826131b0565b9050919050565b6131db816131c1565b82525050565b5f6020820190506131f45f8301846131d2565b92915050565b5f6020828403121561320f5761320e61302d565b5b5f61321c848285016130ae565b91505092915050565b5f805f6060848603121561323c5761323b61302d565b5b5f6132498682870161307b565b935050602061325a8682870161307b565b925050604061326b868287016130ae565b9150509250925092565b5f60ff82169050919050565b61328a81613275565b82525050565b5f6020820190506132a35f830184613281565b92915050565b5f6132b3826131b0565b9050919050565b6132c3816132a9565b82525050565b5f6020820190506132dc5f8301846132ba565b92915050565b5f6132ec826131b0565b9050919050565b6132fc816132e2565b82525050565b5f6020820190506133155f8301846132f3565b92915050565b5f613325826131b0565b9050919050565b6133358161331b565b82525050565b5f60208201905061334e5f83018461332c565b92915050565b5f61335e826131b0565b9050919050565b61336e81613354565b82525050565b5f6020820190506133875f830184613365565b92915050565b61339681613054565b82525050565b5f6020820190506133af5f83018461338d565b92915050565b5f6133bf826131b0565b9050919050565b6133cf816133b5565b82525050565b5f6020820190506133e85f8301846133c6565b92915050565b5f80604083850312156134045761340361302d565b5b5f6134118582860161307b565b92505060206134228582860161307b565b9150509250929050565b5f819050919050565b61343e8161342c565b8114613448575f80fd5b50565b5f8135905061345981613435565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126134805761347f61345f565b5b8235905067ffffffffffffffff81111561349d5761349c613463565b5b6020830191508360018202830111156134b9576134b8613467565b5b9250929050565b5f805f80606085870312156134d8576134d761302d565b5b5f6134e58782880161344b565b94505060206134f68782880161344b565b935050604085013567ffffffffffffffff81111561351757613516613031565b5b6135238782880161346b565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061357557607f821691505b60208210810361358857613587613531565b5b50919050565b5f8151905061359c81613098565b92915050565b5f602082840312156135b7576135b661302d565b5b5f6135c48482850161358e565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6136048261308f565b915061360f8361308f565b9250828203905081811115613627576136266135cd565b5b92915050565b7f4e6f7420746865206f776e6572000000000000000000000000000000000000005f82015250565b5f613661600d83612fa7565b915061366c8261362d565b602082019050919050565b5f6020820190508181035f83015261368e81613655565b9050919050565b7f5265656e7472616e742063616c6c2064657465637465640000000000000000005f82015250565b5f6136c9601783612fa7565b91506136d482613695565b602082019050919050565b5f6020820190508181035f8301526136f6816136bd565b9050919050565b5f6040820190506137105f83018561338d565b61371d6020830184613133565b9392505050565b61372d81613100565b8114613737575f80fd5b50565b5f8151905061374881613724565b92915050565b5f602082840312156137635761376261302d565b5b5f6137708482850161373a565b91505092915050565b7f4661696c656420746f206d696e740000000000000000000000000000000000005f82015250565b5f6137ad600e83612fa7565b91506137b882613779565b602082019050919050565b5f6020820190508181035f8301526137da816137a1565b9050919050565b5f6137eb8261308f565b91506137f68361308f565b925082820190508082111561380e5761380d6135cd565b5b92915050565b7f416c6c6f77616e636520657863656564656400000000000000000000000000005f82015250565b5f613848601283612fa7565b915061385382613814565b602082019050919050565b5f6020820190508181035f8301526138758161383c565b9050919050565b7f4d7573742073656e6420455448000000000000000000000000000000000000005f82015250565b5f6138b0600d83612fa7565b91506138bb8261387c565b602082019050919050565b5f6020820190508181035f8301526138dd816138a4565b9050919050565b5f6040820190506138f75f83018561338d565b613904602083018461310b565b9392505050565b5f80604083850312156139215761392061302d565b5b5f61392e8582860161358e565b925050602061393f8582860161358e565b9150509250929050565b5f6139538261308f565b915061395e8361308f565b925082820261396c8161308f565b91508282048414831517613983576139826135cd565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6139c18261308f565b91506139cc8361308f565b9250826139dc576139db61398a565b5b828204905092915050565b7f4e6f74207361637269666963656420746f6b656e0000000000000000000000005f82015250565b5f613a1b601483612fa7565b9150613a26826139e7565b602082019050919050565b5f6020820190508181035f830152613a4881613a0f565b9050919050565b7f4d7573742073656e642045544820746f206465706f73697400000000000000005f82015250565b5f613a83601883612fa7565b9150613a8e82613a4f565b602082019050919050565b5f6020820190508181035f830152613ab081613a77565b9050919050565b7f556e617574686f72697a656400000000000000000000000000000000000000005f82015250565b5f613aeb600c83612fa7565b9150613af682613ab7565b602082019050919050565b5f6020820190508181035f830152613b1881613adf565b9050919050565b5f613b2982613035565b9050919050565b613b3981613b1f565b8114613b43575f80fd5b50565b5f81359050613b5481613b30565b92915050565b5f60208284031215613b6f57613b6e61302d565b5b5f613b7c84828501613b46565b91505092915050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f613bb9600f83612fa7565b9150613bc482613b85565b602082019050919050565b5f6020820190508181035f830152613be681613bad565b9050919050565b5f613bf78261342c565b91507f80000000000000000000000000000000000000000000000000000000000000008203613c2957613c286135cd565b5b815f039050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f613c67601283612fa7565b9150613c7282613c33565b602082019050919050565b5f6020820190508181035f830152613c9481613c5b565b9050919050565b5f606082019050613cae5f830186613133565b613cbb602083018561338d565b613cc8604083018461338d565b949350505050565b613cd981613035565b8114613ce3575f80fd5b50565b5f81519050613cf481613cd0565b92915050565b5f8160020b9050919050565b613d0f81613cfa565b8114613d19575f80fd5b50565b5f81519050613d2a81613d06565b92915050565b5f61ffff82169050919050565b613d4681613d30565b8114613d50575f80fd5b50565b5f81519050613d6181613d3d565b92915050565b613d7081613275565b8114613d7a575f80fd5b50565b5f81519050613d8b81613d67565b92915050565b5f805f805f805f60e0888a031215613dac57613dab61302d565b5b5f613db98a828b01613ce6565b9750506020613dca8a828b01613d1c565b9650506040613ddb8a828b01613d53565b9550506060613dec8a828b01613d53565b9450506080613dfd8a828b01613d53565b93505060a0613e0e8a828b01613d7d565b92505060c0613e1f8a828b0161373a565b91505092959891949750929550565b5f613e3882613035565b9150613e4383613035565b9250828202613e5181613035565b91508282048414831517613e6857613e676135cd565b5b5092915050565b5f613e7982613035565b9150613e8483613035565b925082613e9457613e9361398a565b5b828204905092915050565b613ea88161342c565b82525050565b613eb781613035565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f613ee182613ebd565b613eeb8185613ec7565b9350613efb818560208601612fb7565b613f0481612fc5565b840191505092915050565b5f60a082019050613f225f83018861338d565b613f2f602083018761310b565b613f3c6040830186613e9f565b613f496060830185613eae565b8181036080830152613f5b8184613ed7565b90509695505050505050565b5f81519050613f7581613435565b92915050565b5f60208284031215613f9057613f8f61302d565b5b5f613f9d84828501613f67565b91505092915050565b7f4661696c656420746f207365742070726f6669740000000000000000000000005f82015250565b5f613fda601483612fa7565b9150613fe582613fa6565b602082019050919050565b5f6020820190508181035f83015261400781613fce565b905091905056fea2646970667358221220df481e02c23b0642c9e2a47f796dff838d2780038f6ef7845e705f12e1b8977964736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061023e575f3560e01c80638119c0651161012d578063cb9a1065116100aa578063dd62ed3e1161006e578063dd62ed3e14610829578063e168f99d14610865578063e1d0bd291461088d578063e217b5a3146108b7578063fa461e33146108df57610245565b8063cb9a106514610765578063cd8992881461078f578063d0e30db0146107cb578063d453bf52146107d5578063d8b0d849146107ff57610245565b806395d89b41116100f157806395d89b411461068f578063a5bc6d6f146106b9578063a9059cbb146106e3578063b760faf91461071f578063b8a8471e1461073b57610245565b80638119c065146105bd578063823e7651146105e75780638b30c7c8146106115780638cdfe1661461063b5780638da5cb5b1461066557610245565b8063313ce567116101bb578063508662a01161017f578063508662a0146104b95780636605bfda146104f557806370a082311461051d57806374b4b17e146105595780637dc4b9cc1461059557610245565b8063313ce56714610409578063392fc668146104335780633ac11da01461045b5780633ae2f354146104655780633fc8cef31461048f57610245565b806318160ddd1161020257806318160ddd1461032b5780631cfd460c14610355578063205c28781461037d57806323b872dd146103a55780632e1a7d4d146103e157610245565b806306fdde0314610249578063095ea7b3146102735780630cadd9a4146102af57806316486416146102d95780631724ecee1461030157610245565b3661024557005b5f80fd5b348015610254575f80fd5b5061025d610907565b60405161026a919061300d565b60405180910390f35b34801561027e575f80fd5b50610299600480360381019061029491906130c2565b610993565b6040516102a6919061311a565b60405180910390f35b3480156102ba575f80fd5b506102c3610a80565b6040516102d09190613142565b60405180910390f35b3480156102e4575f80fd5b506102ff60048036038101906102fa919061315b565b610bd6565b005b34801561030c575f80fd5b50610315610ca8565b60405161032291906131e1565b60405180910390f35b348015610336575f80fd5b5061033f610ccd565b60405161034c9190613142565b60405180910390f35b348015610360575f80fd5b5061037b600480360381019061037691906131fa565b610e04565b005b348015610388575f80fd5b506103a3600480360381019061039e91906130c2565b610ff6565b005b3480156103b0575f80fd5b506103cb60048036038101906103c69190613225565b611086565b6040516103d8919061311a565b60405180910390f35b3480156103ec575f80fd5b50610407600480360381019061040291906131fa565b6111e6565b005b348015610414575f80fd5b5061041d611275565b60405161042a9190613290565b60405180910390f35b34801561043e575f80fd5b50610459600480360381019061045491906130c2565b611287565b005b610463611318565b005b348015610470575f80fd5b50610479611597565b6040516104869190613142565b60405180910390f35b34801561049a575f80fd5b506104a361159d565b6040516104b091906132c9565b60405180910390f35b3480156104c4575f80fd5b506104df60048036038101906104da919061315b565b6115c0565b6040516104ec919061311a565b60405180910390f35b348015610500575f80fd5b5061051b6004803603810190610516919061315b565b611662565b005b348015610528575f80fd5b50610543600480360381019061053e919061315b565b611734565b6040516105509190613142565b60405180910390f35b348015610564575f80fd5b5061057f600480360381019061057a919061315b565b6119ce565b60405161058c9190613142565b60405180910390f35b3480156105a0575f80fd5b506105bb60048036038101906105b6919061315b565b611bda565b005b3480156105c8575f80fd5b506105d1611cac565b6040516105de9190613302565b60405180910390f35b3480156105f2575f80fd5b506105fb611cd1565b604051610608919061333b565b60405180910390f35b34801561061c575f80fd5b50610625611cf6565b6040516106329190613374565b60405180910390f35b348015610646575f80fd5b5061064f611d1b565b60405161065c9190613142565b60405180910390f35b348015610670575f80fd5b50610679611dfb565b604051610686919061339c565b60405180910390f35b34801561069a575f80fd5b506106a3611e20565b6040516106b0919061300d565b60405180910390f35b3480156106c4575f80fd5b506106cd611eac565b6040516106da9190613142565b60405180910390f35b3480156106ee575f80fd5b50610709600480360381019061070491906130c2565b611eb2565b604051610716919061311a565b60405180910390f35b6107396004803603810190610734919061315b565b611ec8565b005b348015610746575f80fd5b5061074f611f99565b60405161075c9190613142565b60405180910390f35b348015610770575f80fd5b50610779611f9f565b60405161078691906133d5565b60405180910390f35b34801561079a575f80fd5b506107b560048036038101906107b0919061315b565b611fc4565b6040516107c29190613142565b60405180910390f35b6107d3611fd9565b005b3480156107e0575f80fd5b506107e96120a9565b6040516107f69190613142565b60405180910390f35b34801561080a575f80fd5b506108136120af565b6040516108209190613142565b60405180910390f35b348015610834575f80fd5b5061084f600480360381019061084a91906133ee565b6120b5565b60405161085c9190613142565b60405180910390f35b348015610870575f80fd5b5061088b600480360381019061088691906131fa565b6120d5565b005b348015610898575f80fd5b506108a1612165565b6040516108ae9190613142565b60405180910390f35b3480156108c2575f80fd5b506108dd60048036038101906108d891906131fa565b61216b565b005b3480156108ea575f80fd5b50610905600480360381019061090091906134c0565b612204565b005b600c80546109149061355e565b80601f01602080910402602001604051908101604052809291908181526020018280546109409061355e565b801561098b5780601f106109625761010080835404028352916020019161098b565b820191905f5260205f20905b81548152906001019060200180831161096e57829003601f168201915b505050505081565b5f81600b5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a6e9190613142565b60405180910390a36001905092915050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610adb919061339c565b602060405180830381865afa158015610af6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1a91906135a2565b60115410610b2a575f9050610bd3565b60115460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b87919061339c565b602060405180830381865afa158015610ba2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc691906135a2565b610bd091906135fa565b90505b90565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5c90613677565b60405180910390fd5b8060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d65919061339c565b602060405180830381865afa158015610d80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da491906135a2565b6040518263ffffffff1660e01b8152600401610dc09190613142565b602060405180830381865afa158015610ddb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dff91906135a2565b905090565b60135f9054906101000a900460ff1615610e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4a906136df565b60405180910390fd5b600160135f6101000a81548160ff021916908315150217905550610e9860065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261258f565b5060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401610ef59291906136fd565b6020604051808303815f875af1158015610f11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f35919061374e565b610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b906137c3565b60405180910390fd5b8060095f828254610f8591906137e1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fff8488d11ac2308131a8d9936ff5d9df537241466d5b70a4d0637191ca0aca5482604051610fd29190613142565b60405180910390a25f60135f6101000a81548160ff02191690831515021790555050565b60135f9054906101000a900460ff1615611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055506110698282612857565b5f60135f6101000a81548160ff0219169083151502179055505050565b5f600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115611142576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111399061385e565b60405180910390fd5b81600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111c991906135fa565b925050819055506111db8484846129e8565b600190509392505050565b60135f9054906101000a900460ff1615611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055506112593382612857565b5f60135f6101000a81548160ff02191690831515021790555050565b600e5f9054906101000a900460ff1681565b60135f9054906101000a900460ff16156112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055506112fa828261258f565b505f60135f6101000a81548160ff0219169083151502179055505050565b5f341161135a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611351906138c6565b60405180910390fd5b3460105f82825461136b91906137e1565b925050819055505f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663adc9740c343060016040518463ffffffff1660e01b81526004016113d19291906138e4565b604080518083038185885af11580156113ec573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611411919061390b565b509050600954670de0b6b3a764000060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6e6f592846040518263ffffffff1660e01b815260040161147a9190613142565b602060405180830381865afa158015611495573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114b991906135a2565b6114c39190613949565b6114cd91906139b7565b60125f8282546114dd91906137e1565b9250508190555060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6e6f592826040518263ffffffff1660e01b815260040161153e9190613142565b602060405180830381865afa158015611559573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157d91906135a2565b60115f82825461158d91906137e1565b9250508190555050565b600f5481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164790613a31565b60405180910390fd5b61165982612bb1565b60019050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e890613677565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f805f90505f80600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541461187657600854600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a611804610a80565b6040518263ffffffff1660e01b81526004016118209190613142565b602060405180830381865afa15801561183b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185f91906135a2565b6118699190613949565b61187391906139b7565b91505b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b81526004016118d1919061339c565b602060405180830381865afa1580156118ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191091906135a2565b146119b95760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a61195b866119ce565b6040518263ffffffff1660e01b81526004016119779190613142565b602060405180830381865afa158015611992573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119b691906135a2565b90505b81816119c591906137e1565b92505050919050565b5f8060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401611a2a919061339c565b602060405180830381865afa158015611a45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a6991906135a2565b03611a76575f9050611bd5565b670de0b6b3a764000060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e991a2d7846040518263ffffffff1660e01b8152600401611ad9919061339c565b602060405180830381865afa158015611af4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1891906135a2565b601254611b2591906135fa565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401611b7f919061339c565b602060405180830381865afa158015611b9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bbe91906135a2565b611bc89190613949565b611bd291906139b7565b90505b919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6090613677565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8060085403611d3557670de0b6b3a76400009050611df8565b600854670de0b6b3a764000060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a611d86610a80565b6040518263ffffffff1660e01b8152600401611da29190613142565b602060405180830381865afa158015611dbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611de191906135a2565b611deb9190613949565b611df591906139b7565b90505b90565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d8054611e2d9061355e565b80601f0160208091040260200160405190810160405280929190818152602001828054611e599061355e565b8015611ea45780601f10611e7b57610100808354040283529160200191611ea4565b820191905f5260205f20905b815481529060010190602001808311611e8757829003601f168201915b505050505081565b60105481565b5f611ebe3384846129e8565b6001905092915050565b60135f9054906101000a900460ff1615611f17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0e906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055505f3411611f73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6a90613a99565b60405180910390fd5b611f7d8134612dc7565b5f60135f6101000a81548160ff02191690831515021790555050565b60095481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a602052805f5260405f205f915090505481565b60135f9054906101000a900460ff1615612028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201f906136df565b60405180910390fd5b600160135f6101000a81548160ff0219169083151502179055505f3411612084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207b90613a99565b60405180910390fd5b61208e3334612dc7565b5f60135f6101000a81548160ff021916908315150217905550565b60125481565b60115481565b600b602052815f5260405f20602052805f5260405f205f91509150505481565b60135f9054906101000a900460ff1615612124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211b906136df565b60405180910390fd5b600160135f6101000a81548160ff021916908315150217905550612148338261258f565b505f60135f6101000a81548160ff02191690831515021790555050565b60085481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f190613677565b60405180910390fd5b80600f8190555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228a90613b01565b60405180910390fd5b5f82828101906122a39190613b5a565b90505f8513156124855760025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518363ffffffff1660e01b815260040161232a9291906136fd565b6020604051808303815f875af1158015612346573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236a919061374e565b6123a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a090613bcf565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d856123ee90613bed565b6040518263ffffffff1660e01b815260040161240a9190613142565b5f604051808303815f87803b158015612421575f80fd5b505af1158015612433573d5f803e3d5ffd5b505050508073ffffffffffffffffffffffffffffffffffffffff166108fc8561245b90613bed565b90811502906040515f60405180830381858888f19350505050158015612483573d5f803e3d5ffd5b505b5f841315612588575f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040518363ffffffff1660e01b81526004016125089291906136fd565b6020604051808303815f875af1158015612524573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612548919061374e565b612587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257e90613bcf565b60405180910390fd5b5b5050505050565b5f8161259a33611734565b10156125db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d290613c7d565b60405180910390fd5b5f6125e533611734565b90506125f033612bb1565b5f8184600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461263b9190613949565b61264591906139b7565b905080600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461269391906135fa565b925050819055508060085f8282546126ab91906135fa565b925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb8660405161270f9190613142565b60405180910390a360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ba08765260045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c6e6f592876040518263ffffffff1660e01b81526004016127ae9190613142565b602060405180830381865afa1580156127c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127ed91906135a2565b87306040518463ffffffff1660e01b815260040161280d93929190613c9b565b6020604051808303815f875af1158015612829573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284d91906135a2565b9250505092915050565b5f612862308361258f565b90505f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156128cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128f39190613d91565b50505050505090505f61271061270f8361290d9190613e2e565b6129179190613e6f565b90505f8560405160200161292b919061339c565b604051602081830303815290604052905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663128acb083060018786866040518663ffffffff1660e01b815260040161299f959493929190613f0f565b6020604051808303815f875af11580156129bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129df9190613f7b565b50505050505050565b806129f284611734565b1015612a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2a90613c7d565b60405180910390fd5b5f612a3d33611734565b9050612a4833612bb1565b5f8183600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612a939190613949565b612a9d91906139b7565b905080600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612aeb91906135fa565b9250508190555080600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612b3e91906137e1565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612ba29190613142565b60405180910390a35050505050565b5f612bbb826119ce565b905060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f140209e836012546040518363ffffffff1660e01b8152600401612c1b9291906136fd565b6020604051808303815f875af1158015612c37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c5b919061374e565b612c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9190613ff0565b60405180910390fd5b5f811115612dc3575f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307a2d13a836040518263ffffffff1660e01b8152600401612cfd9190613142565b602060405180830381865afa158015612d18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d3c91906135a2565b90508160115f828254612d4f91906135fa565b9250508190555080600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612da291906137e1565b925050819055508060085f828254612dba91906137e1565b92505081905550505b5050565b5f670de0b6b3a7640000600f5483612ddf9190613949565b612de991906139b7565b90505f612df4611d1b565b90505f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663adc9740c853060016040518463ffffffff1660e01b8152600401612e559291906138e4565b604080518083038185885af1158015612e70573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612e95919061390b565b5090505f82670de0b6b3a76400008584612eaf91906135fa565b612eb99190613949565b612ec391906139b7565b905080600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612f1191906137e1565b925050819055508060085f828254612f2991906137e1565b925050819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f6287604051612f8d9190613142565b60405180910390a3505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612fdf82612f9d565b612fe98185612fa7565b9350612ff9818560208601612fb7565b61300281612fc5565b840191505092915050565b5f6020820190508181035f8301526130258184612fd5565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61305e82613035565b9050919050565b61306e81613054565b8114613078575f80fd5b50565b5f8135905061308981613065565b92915050565b5f819050919050565b6130a18161308f565b81146130ab575f80fd5b50565b5f813590506130bc81613098565b92915050565b5f80604083850312156130d8576130d761302d565b5b5f6130e58582860161307b565b92505060206130f6858286016130ae565b9150509250929050565b5f8115159050919050565b61311481613100565b82525050565b5f60208201905061312d5f83018461310b565b92915050565b61313c8161308f565b82525050565b5f6020820190506131555f830184613133565b92915050565b5f602082840312156131705761316f61302d565b5b5f61317d8482850161307b565b91505092915050565b5f819050919050565b5f6131a96131a461319f84613035565b613186565b613035565b9050919050565b5f6131ba8261318f565b9050919050565b5f6131cb826131b0565b9050919050565b6131db816131c1565b82525050565b5f6020820190506131f45f8301846131d2565b92915050565b5f6020828403121561320f5761320e61302d565b5b5f61321c848285016130ae565b91505092915050565b5f805f6060848603121561323c5761323b61302d565b5b5f6132498682870161307b565b935050602061325a8682870161307b565b925050604061326b868287016130ae565b9150509250925092565b5f60ff82169050919050565b61328a81613275565b82525050565b5f6020820190506132a35f830184613281565b92915050565b5f6132b3826131b0565b9050919050565b6132c3816132a9565b82525050565b5f6020820190506132dc5f8301846132ba565b92915050565b5f6132ec826131b0565b9050919050565b6132fc816132e2565b82525050565b5f6020820190506133155f8301846132f3565b92915050565b5f613325826131b0565b9050919050565b6133358161331b565b82525050565b5f60208201905061334e5f83018461332c565b92915050565b5f61335e826131b0565b9050919050565b61336e81613354565b82525050565b5f6020820190506133875f830184613365565b92915050565b61339681613054565b82525050565b5f6020820190506133af5f83018461338d565b92915050565b5f6133bf826131b0565b9050919050565b6133cf816133b5565b82525050565b5f6020820190506133e85f8301846133c6565b92915050565b5f80604083850312156134045761340361302d565b5b5f6134118582860161307b565b92505060206134228582860161307b565b9150509250929050565b5f819050919050565b61343e8161342c565b8114613448575f80fd5b50565b5f8135905061345981613435565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126134805761347f61345f565b5b8235905067ffffffffffffffff81111561349d5761349c613463565b5b6020830191508360018202830111156134b9576134b8613467565b5b9250929050565b5f805f80606085870312156134d8576134d761302d565b5b5f6134e58782880161344b565b94505060206134f68782880161344b565b935050604085013567ffffffffffffffff81111561351757613516613031565b5b6135238782880161346b565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061357557607f821691505b60208210810361358857613587613531565b5b50919050565b5f8151905061359c81613098565b92915050565b5f602082840312156135b7576135b661302d565b5b5f6135c48482850161358e565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6136048261308f565b915061360f8361308f565b9250828203905081811115613627576136266135cd565b5b92915050565b7f4e6f7420746865206f776e6572000000000000000000000000000000000000005f82015250565b5f613661600d83612fa7565b915061366c8261362d565b602082019050919050565b5f6020820190508181035f83015261368e81613655565b9050919050565b7f5265656e7472616e742063616c6c2064657465637465640000000000000000005f82015250565b5f6136c9601783612fa7565b91506136d482613695565b602082019050919050565b5f6020820190508181035f8301526136f6816136bd565b9050919050565b5f6040820190506137105f83018561338d565b61371d6020830184613133565b9392505050565b61372d81613100565b8114613737575f80fd5b50565b5f8151905061374881613724565b92915050565b5f602082840312156137635761376261302d565b5b5f6137708482850161373a565b91505092915050565b7f4661696c656420746f206d696e740000000000000000000000000000000000005f82015250565b5f6137ad600e83612fa7565b91506137b882613779565b602082019050919050565b5f6020820190508181035f8301526137da816137a1565b9050919050565b5f6137eb8261308f565b91506137f68361308f565b925082820190508082111561380e5761380d6135cd565b5b92915050565b7f416c6c6f77616e636520657863656564656400000000000000000000000000005f82015250565b5f613848601283612fa7565b915061385382613814565b602082019050919050565b5f6020820190508181035f8301526138758161383c565b9050919050565b7f4d7573742073656e6420455448000000000000000000000000000000000000005f82015250565b5f6138b0600d83612fa7565b91506138bb8261387c565b602082019050919050565b5f6020820190508181035f8301526138dd816138a4565b9050919050565b5f6040820190506138f75f83018561338d565b613904602083018461310b565b9392505050565b5f80604083850312156139215761392061302d565b5b5f61392e8582860161358e565b925050602061393f8582860161358e565b9150509250929050565b5f6139538261308f565b915061395e8361308f565b925082820261396c8161308f565b91508282048414831517613983576139826135cd565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6139c18261308f565b91506139cc8361308f565b9250826139dc576139db61398a565b5b828204905092915050565b7f4e6f74207361637269666963656420746f6b656e0000000000000000000000005f82015250565b5f613a1b601483612fa7565b9150613a26826139e7565b602082019050919050565b5f6020820190508181035f830152613a4881613a0f565b9050919050565b7f4d7573742073656e642045544820746f206465706f73697400000000000000005f82015250565b5f613a83601883612fa7565b9150613a8e82613a4f565b602082019050919050565b5f6020820190508181035f830152613ab081613a77565b9050919050565b7f556e617574686f72697a656400000000000000000000000000000000000000005f82015250565b5f613aeb600c83612fa7565b9150613af682613ab7565b602082019050919050565b5f6020820190508181035f830152613b1881613adf565b9050919050565b5f613b2982613035565b9050919050565b613b3981613b1f565b8114613b43575f80fd5b50565b5f81359050613b5481613b30565b92915050565b5f60208284031215613b6f57613b6e61302d565b5b5f613b7c84828501613b46565b91505092915050565b7f5472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f613bb9600f83612fa7565b9150613bc482613b85565b602082019050919050565b5f6020820190508181035f830152613be681613bad565b9050919050565b5f613bf78261342c565b91507f80000000000000000000000000000000000000000000000000000000000000008203613c2957613c286135cd565b5b815f039050919050565b7f4e6f7420656e6f7567682062616c616e636500000000000000000000000000005f82015250565b5f613c67601283612fa7565b9150613c7282613c33565b602082019050919050565b5f6020820190508181035f830152613c9481613c5b565b9050919050565b5f606082019050613cae5f830186613133565b613cbb602083018561338d565b613cc8604083018461338d565b949350505050565b613cd981613035565b8114613ce3575f80fd5b50565b5f81519050613cf481613cd0565b92915050565b5f8160020b9050919050565b613d0f81613cfa565b8114613d19575f80fd5b50565b5f81519050613d2a81613d06565b92915050565b5f61ffff82169050919050565b613d4681613d30565b8114613d50575f80fd5b50565b5f81519050613d6181613d3d565b92915050565b613d7081613275565b8114613d7a575f80fd5b50565b5f81519050613d8b81613d67565b92915050565b5f805f805f805f60e0888a031215613dac57613dab61302d565b5b5f613db98a828b01613ce6565b9750506020613dca8a828b01613d1c565b9650506040613ddb8a828b01613d53565b9550506060613dec8a828b01613d53565b9450506080613dfd8a828b01613d53565b93505060a0613e0e8a828b01613d7d565b92505060c0613e1f8a828b0161373a565b91505092959891949750929550565b5f613e3882613035565b9150613e4383613035565b9250828202613e5181613035565b91508282048414831517613e6857613e676135cd565b5b5092915050565b5f613e7982613035565b9150613e8483613035565b925082613e9457613e9361398a565b5b828204905092915050565b613ea88161342c565b82525050565b613eb781613035565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f613ee182613ebd565b613eeb8185613ec7565b9350613efb818560208601612fb7565b613f0481612fc5565b840191505092915050565b5f60a082019050613f225f83018861338d565b613f2f602083018761310b565b613f3c6040830186613e9f565b613f496060830185613eae565b8181036080830152613f5b8184613ed7565b90509695505050505050565b5f81519050613f7581613435565b92915050565b5f60208284031215613f9057613f8f61302d565b5b5f613f9d84828501613f67565b91505092915050565b7f4661696c656420746f207365742070726f6669740000000000000000000000005f82015250565b5f613fda601483612fa7565b9150613fe582613fa6565b602082019050919050565b5f6020820190508181035f83015261400781613fce565b905091905056fea2646970667358221220df481e02c23b0642c9e2a47f796dff838d2780038f6ef7845e705f12e1b8977964736f6c634300081a0033
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 ]
[ 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.